求cf总结者所有CF版本,以及出的东西,有耐心的可以拿分

&img src=&/50/v2-4a9b24debfc783ea49f5b8dda8eb9889_b.jpg& data-rawwidth=&480& data-rawheight=&240& class=&origin_image zh-lightbox-thumb& width=&480& data-original=&/50/v2-4a9b24debfc783ea49f5b8dda8eb9889_r.jpg&&&p&Nginx两大作用:1.轻量web容器 2.反向代理服务器。&/p&&p&在Java领域中,Nginx更多的被用作在前端提供负载均衡的反向代理服务。&/p&&p&所以本文仅简要介绍下反向代理概念和负载均衡的实现。&/p&&p&.&/p&&br&&h2&反向代理&/h2&&p&是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。&/p&&p&随便画了个流程图如下:&br&&/p&&img src=&/v2-5dd5e71abf6f3d25f2cf_b.png& data-rawwidth=&655& data-rawheight=&204& class=&origin_image zh-lightbox-thumb& width=&655& data-original=&/v2-5dd5e71abf6f3d25f2cf_r.png&&&br&&h2&安装Nginx&/h2&&p&网上教程一大堆,略过了......&/p&&p&.&/p&&br&&h2&常用命令&/h2&&p&nginx -s stop
快速关闭Nginx,可能不保存相关信息,并迅速终止web服务。&/p&&p&nginx -s quit
平稳关闭Nginx,保存相关信息,有安排的结束web服务。&/p&&p&nginx -s reload
因改变了Nginx相关配置,需要重新加载配置而重载。&/p&&p&nginx -s reopen
重新打开日志文件。&/p&&p&nginx -c filename
为 Nginx 指定一个配置文件,来代替缺省的。&/p&&p&nginx -t
不运行,而仅仅测试配置文件。nginx 将检查配置文件的语法的正确性,并尝试打开配置文件中所引用到的文件。&/p&&p&nginx -v
显示 nginx 的版本。&/p&&p&nginx -V
显示 nginx 的版本,编译器版本和配置参数。&/p&&p&.&/p&&br&&h2&Demo配置&/h2&&p&先以一个小Demo来了解一下它是怎么实现负载均衡吧。&/p&&p&如上面那个流程图所示,我们想要通过访问Nginx,经过负载均衡,访问到不同Tomcat下的某项目(如&a href=&/?target=http%3A//kkys.online/blog& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&个人博客&i class=&icon-external&&&/i&&/a&)。&/p&&p&配置文件如下:&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&n&&http&/span& &span class=&p&&{&/span&
&span class=&c1&&#设定mime类型,类型由mime.type文件定义&/span&
&span class=&n&&include&/span&
&span class=&o&&/&/span&&span class=&n&&etc&/span&&span class=&o&&/&/span&&span class=&n&&nginx&/span&&span class=&o&&/&/span&&span class=&n&&mime&/span&&span class=&o&&.&/span&&span class=&n&&types&/span&&span class=&p&&;&/span&
&span class=&n&&default_type&/span&
&span class=&n&&application&/span&&span class=&o&&/&/span&&span class=&n&&octet&/span&&span class=&o&&-&/span&&span class=&n&&stream&/span&&span class=&p&&;&/span&
&span class=&c1&&#设定日志格式&/span&
&span class=&n&&access_log&/span&
&span class=&o&&/&/span&&span class=&n&&var&/span&&span class=&o&&/&/span&&span class=&n&&log&/span&&span class=&o&&/&/span&&span class=&n&&nginx&/span&&span class=&o&&/&/span&&span class=&n&&access&/span&&span class=&o&&.&/span&&span class=&n&&log&/span&&span class=&p&&;&/span&
&span class=&c1&&#设定负载均衡的服务器列表&/span&
&span class=&n&&upstream&/span& &span class=&n&&load_balance_server&/span& &span class=&p&&{&/span&
&span class=&c1&&#weigth参数表示权值,权值越高被分配到的几率越大&/span&
&span class=&n&&server&/span& &span class=&mf&&127.0&/span&&span class=&o&&.&/span&&span class=&mf&&0.1&/span&
&span class=&n&&weight&/span&&span class=&o&&=&/span&&span class=&mi&&2&/span&&span class=&p&&;&/span&
&span class=&n&&server&/span& &span class=&mf&&127.0&/span&&span class=&o&&.&/span&&span class=&mf&&0.1&/span&&span class=&p&&:&/span&&span class=&mi&&8081&/span&
&span class=&n&&weight&/span&&span class=&o&&=&/span&&span class=&mi&&1&/span&&span class=&p&&;&/span&
&span class=&p&&}&/span&
&span class=&c1&&#HTTP服务器&/span&
&span class=&n&&server&/span& &span class=&p&&{&/span&
&span class=&c1&&#监听80端口&/span&
&span class=&n&&listen&/span&
&span class=&mi&&8090&/span&&span class=&p&&;&/span&
&span class=&c1&&#以什么IP进行访问&/span&
&span class=&n&&server_name&/span&
&span class=&n&&localhost&/span&&span class=&p&&;&/span&
&span class=&c1&&#对所有请求进行负载均衡请求&/span&
&span class=&n&&location&/span& &span class=&o&&/&/span&&span class=&n&&blog&/span& &span class=&p&&{&/span&
&span class=&c1&&#请求转向load_balance_server 定义的服务器列表&/span&
&span class=&n&&proxy_pass&/span&
&span class=&n&&http&/span&&span class=&p&&:&/span&&span class=&o&&//&/span&&span class=&n&&load_balance_server&/span& &span class=&p&&;&/span&
&span class=&p&&}&/span&
&span class=&p&&}&/span&
&span class=&p&&}&/span&
&/code&&/pre&&/div&&p&配置文件中,我们通过定义了一个upstream来说明负载均衡策略(详情见下文),然后在location中对应。&/p&&p&配置完后执行nginx -s reload命令来重启Nginx.&/p&&p&因为我们的Nginx的端口是8090,,所以我们访问&a href=&/?target=http%3A//kkys.online%3A8090/blog& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&kkys.online:8090/blog&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&时,nginx通过负载均衡,会按权重跳到我们在upstream中设置的地址。&/p&&p&如下图所示:&/p&&img src=&/v2-aba9be668f5465ebe5f2562_b.png& data-rawwidth=&918& data-rawheight=&99& class=&origin_image zh-lightbox-thumb& width=&918& data-original=&/v2-aba9be668f5465ebe5f2562_r.png&&&p&说明测试通过,但因博客中的图片不是全局路径,所以会显示不出来。通过原网址&a href=&/?target=http%3A//kkys.online/blog& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&kkys.online/blog&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&访问没有问题。&/p&&p&.&/p&&h2&Nginx负载均衡调度的方法&/h2&&p&
即上面配置中的upstream可选的四种负载均衡算法&/p&&br&&ul&&li&服务器轮询(默认方式):每个请求访问按照时间顺序逐一分配到不同的服务器端,如果后端某台服务器宕机时,故障系统会被自动的剔除,使用户访问不受影响。Weight(权重)指定轮询的权值,Weight值越大,分配到的访问几率越高,主要用于服务器端性能不均的情况下。&br&&/li&&li&ip_hash:每个请求按照访问的IP的Hash值进行分配,这行来自同一个IP的用户将会固定到后端的一个服务器,固定服务器后可以有效的解决网页存在的session共享的问题。&br&&/li&&li&fair:该算法可以根据页面大小和加载时间长短智能的进行决策负载均衡,即根据后端服务器的响应时间来分配请求,响应时间段的优先分配。Nginx本身未集成fair模块,如果需要该调度算法,必须下载Nginx的upstream_fair模块,然后在config中配置加载。&br&&/li&&li&url_hash:此调度算法是根据访问的url的hash结果来分配请求,使每个url定向到同一个后端服务器,可以进一步的提高后端服务器的效率。Nginx本身未集成该模块,如果使用需安装Nginx的hash包,并编译加载到nginx。&/li&&/ul&&p&.&/p&&h2&Nginx的upstream模块支持的状态参数&/h2&&p&
在http的upstream模块中,可以通过server指令指定后端服务器的IP地址和端口,同时还可以设定每个后端服务器在负载均衡调度中的状态。通常设置的状态参数如下:&/p&&ul&&li&down:表示当前的server暂时不参与负载均衡。&br&&/li&&li&backup:预留的备份服务器。当其他的所有非backup机器出现故障或者忙的时间,才会请求backup服务器,因此这台服务器的压力最轻。&br&&/li&&li&max_fails:允许请求失败的次数,默认为1。当超过最大次数时,返回proxy_next_upstream 模块定义的错误。&br&&/li&&li&fail_timeout:在经历了max_fails次失败后,暂停服务的时间。max_fails可以和fail_timeout一起使用。&/li&&/ul&&p&&strong&注:&/strong&当负载均衡调度算法使用ip_hash时,后端服务器在负载均衡调度中的状态不能是weight和backup。&/p&&p&参考:&a href=&/?target=http%3A//tool.oschina.net/apidocs/apidoc%3Fapi%3Dnginx-zh& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&nginx中文文档&i class=&icon-external&&&/i&&/a&&/p&
Nginx两大作用:1.轻量web容器 2.反向代理服务器。在Java领域中,Nginx更多的被用作在前端提供负载均衡的反向代理服务。所以本文仅简要介绍下反向代理概念和负载均衡的实现。. 反向代理是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网…
&img src=&/50/v2-121ee964ec9c42c93b89dbb94497fd04_b.jpg& data-rawwidth=&429& data-rawheight=&453& class=&origin_image zh-lightbox-thumb& width=&429& data-original=&/50/v2-121ee964ec9c42c93b89dbb94497fd04_r.jpg&&&p&既然有一致性哈希,就肯定还有不一致哈希,为啥平时没人说不一致哈希呢?因为常见的哈希都是不一致的,所以就不修饰了,到了一致性哈希才特殊加个描述词修饰一下。&br&&/p&&p&哈希一般都是将一个大数字取模然后分散到不同的桶里,假设我们只有两个桶,有 2、3、4、5 四个数字,那么模 2 分桶的结果就是:&/p&&img src=&/v2-d1d4eaeddacb_b.jpg& data-rawwidth=&336& data-rawheight=&323& class=&content_image& width=&336&&&br&&p&这时我们嫌桶太少要给哈希表扩容加了一个新桶,这时候所有的数字就需要模 3 来确定分在哪个桶里,结果就变成了:&/p&&img src=&/v2-b7ab0fdfa0c1bbc1ac83_b.jpg& data-rawwidth=&464& data-rawheight=&326& class=&origin_image zh-lightbox-thumb& width=&464& data-original=&/v2-b7ab0fdfa0c1bbc1ac83_r.jpg&&&br&&p&可以看到新加了一个桶后所有数字的分布都变了,这就意味着哈希表的每次扩展和收缩都会导致所有条目分布的重新计算,这个特性在某些场景下是不可接受的。比如分布式的存储系统,每个桶就相当于一个机器,文件分布在哪台机器由哈希算法来决定,这个系统想要加一台机器时就需要停下来等所有文件重新分布一次才能对外提供服务,而当一台机器掉线的时候尽管只掉了一部分数据,但所有数据访问路由都会出问题。这样整个服务就无法平滑的扩缩容,成为了有状态的服务。&/p&&p&要想实现无状态化,就要用到一致性哈希了,一致性哈希中假想我们有很多个桶,先定一个小目标比如 7 个,但一开始真实还是只有两个桶,编号是 3 和 6。哈希算法还是同样的取模,只不过现在分桶分到的很可能是不存在的桶,那么就往下找找到第一个真实存在的桶放进去。这样 2 和 3 都被分到了编号为 3 的桶, 4 和 5 被分到了编号为 6 的桶。&/p&&img src=&/v2-1d658b334ff_b.jpg& data-rawwidth=&940& data-rawheight=&332& class=&origin_image zh-lightbox-thumb& width=&940& data-original=&/v2-1d658b334ff_r.jpg&&&br&&p&这时候再添加一个新的桶,编号是 4,取模方法不变还是模 7:&/p&&img src=&/v2-ed0dfee9358b0_b.jpg& data-rawwidth=&940& data-rawheight=&332& class=&origin_image zh-lightbox-thumb& width=&940& data-original=&/v2-ed0dfee9358b0_r.jpg&&&br&&p&因为 3 号桶里都是取模小于等于 3 的,4 号桶只需要从 6 号桶里拿走属于它的数字就可以了,这种情况下只需要调整一个桶的数字就可分成了重新分布。可以想象下即使有 1 亿个桶,增加减少一个桶也只会影响一个桶的数据分布。&/p&&p&这样增加一个机器只需要和他后面的机器同步一下数据就可以开始工作了,下线一个机器需要先把他的数据同步到后面一台机器再下线。如果突然掉了一台机器也只会影响这台机器上的数据。实现中可以让每台机器同步一份自己前面机器的数据,这样即使掉线也不会影响这一部分的数据服务。&/p&&p&这里还有个小问题要是编号为 6 的机桶下线了,它没有后一个桶了,数据该咋办?为了解决这个问题,实现上通常把哈希空间做成环状,这样 3 就成了 6 的下一桶,数据给 3 就好了:&/p&&img src=&/v2-121ee964ec9c42c93b89dbb94497fd04_b.jpg& data-rawwidth=&429& data-rawheight=&453& class=&origin_image zh-lightbox-thumb& width=&429& data-original=&/v2-121ee964ec9c42c93b89dbb94497fd04_r.jpg&&&br&&p&用一致性哈希还能实现部分的分布式系统无锁化,每个任务有自己的编号,由于哈希算法的确定性,分到哪个桶也是确定的就不存在争抢,也就不需要分布式锁了。&/p&&p&既然一致性哈希有这么多好的特性,那为啥主流的哈希都是非一致的呢?主要一个原因在于查找效率上,普通的哈希查询一次哈希计算就可以找到对应的桶了,算法时间复杂度是 O(1),而一致性哈希需要将排好序的桶组成一个链表,然后一路找下去,k 个桶查询时间复杂度是 O(k),所以通常情况下的哈希还是用不一致的实现。&/p&&p&当然 O(k) 的时间复杂度对于哈希来说还是不能忍的,想一下都是O(k) 这个量级了用哈希的意义在哪里?既然是在排好序的桶里查询,很自然的想法就是二分了,能把时间复杂度降到 O(logk),然而桶的组合需要不断的增减,所以是个链表的实现,二分肯定就不行了,还好可以用跳转表进行一个快速的跳转也能实现 O(logk) 的时间复杂度。&/p&&img src=&/v2-71d4117de67cdd5ad1925fa0adde4102_b.jpg& data-rawwidth=&1292& data-rawheight=&704& class=&origin_image zh-lightbox-thumb& width=&1292& data-original=&/v2-71d4117de67cdd5ad1925fa0adde4102_r.jpg&&&br&&p&在这个跳转表中,每个桶记录距离自己 1,2,4 距离的数字所存的桶,这样不管查询落在哪个节点上,对整个哈希环上任意的查询一次都可以至少跳过一半的查询空间,这样递归下去很快就可以定位到数据是存在哪个桶上。&/p&&p&当然这写都只是一致性哈希实现方式中的一种,还有很多实现上的变体。比如选择数字放在哪个桶,上面的介绍里是选择顺着数字下去出现的第一个桶,其实也可以选择距离这个数字最近的桶,这样实现和后面的跳转表规则也会有变化。同样跳转表也有多种不同的算法实现,感兴趣的可以去看一下 CAN,Chord,Tapestry,Pastry 这四种 DHT 的实现,有意思的是它们都是 2001 年发出来的 paper,所以 2001 年大概是 P2P 下载的元年吧。&/p&
既然有一致性哈希,就肯定还有不一致哈希,为啥平时没人说不一致哈希呢?因为常见的哈希都是不一致的,所以就不修饰了,到了一致性哈希才特殊加个描述词修饰一下。 哈希一般都是将一个大数字取模然后分散到不同的桶里,假设我们只有两个桶,有 2、3、4、5 …
深度开源 (&a href=&///?target=http%3A//www.& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&)
深度开源 ()
&p& 本文来自于&a href=&/?target=https%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&腾讯bugly开发者社区&i class=&icon-external&&&/i&&/a&,未经作者同意,请勿转载,原文地址:&a href=&/?target=http%3A///topic/dfbd& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Dev Club 分享第十三期】腾讯验证码的十二年&i class=&icon-external&&&/i&&/a&&/p&&p& Dev Club 是一个交流移动开发技术,结交朋友,扩展人脉的社群,成员都是经过审核的移动开发工程师。每周都会举行嘉宾分享,话题讨论等活动。&/p&&p&&strong&本期,我们邀请了 腾讯 TEG 安全平台部的张彦玲、陈秋滢、华珊珊三位嘉宾,为大家分享《腾讯验证码的十二年》。&/strong&&/p&&p&&strong&内容简介:&/strong&&br& 验证码的诞生就是用来对抗自动机,但随着OCR技术的发展,腾讯验证码怎么发展让它能够有效持续对抗自动机。&/p&&p&&strong&以下为本期分享实录:&/strong&&/p&&p& 大家好,我是张彦玲,来自腾讯TEG安全平台部,现在负责验证码研发工作。今天还有我们两位同事:陈秋滢和华珊珊,大家有什么验证码产品和未来的问题也可以和两位同学一起探讨。&/p&&p& 现在先由珊珊给大家分享腾讯验证码的十二年。&/p&&h2&一、腾讯验证码的诞生&/h2&&p& 当然,鹅厂也经历过没有验证码的时代。这就得从十二年前那股疯狂的“挂太阳”热潮说起。如果是QQ老用户,那你一定记得那些年我们挂过的星星、月亮和太阳。伴随着这股热潮,网络上开始出现一种特殊服务——代挂QQ,也就是代挂团伙为有需要的用户长时间登录QQ以提升等级,这就需要用户把帐号密码给到他们。&/p&&p& 然而,这种黑产服务导致大量密码遭到泄漏,坏人手里掌握的密码资源哗啦啦多了起来,开始不断尝试盗号以获利。因此,QQ帐号开始频繁遭到坏人自动化程序的暴力破解。&/p&&p& 面对来势汹汹的敌人,鹅厂急需新的对抗手法来拦住坏人疯狂进攻的步伐!于是,正如大家所见,QQ登录场景中的验证码应运而生,并有效打断了坏人自动机暴破的疯狂节奏。从那时起,验证码正式登上我们的历史舞台。&/p&&h2&二、免验证码时代&/h2&&p& 同学们应该还记得,在2008年之前,凡是在网页上登录QQ都得输入验证码。没错,当时的策略是“一视同仁”,给全员下发验证码。经过一段时间的摸索,团队开始意识到一个问题:验证码只是一种手段,不是目的。设立验证码这道防线的初衷,是为了拦住“坏人”,而不是拦住“所有人”。&/p&&p& 举个例子,你在一处别墅开了个盛大的公众派对。为了防止不怀好意的人趁机混进来,你请了保安在门口进行安检。可是,有没有必要对所有来客都进行安检呢?如果是认识多年的好友,或是常来你家串门的邻居呢?如果你全都同等对待,友谊的小船肯定说翻就翻。&/p&&p& 因此,安全平台部联合即通登录团队,开始尝试对那些明显是正常用户的行为免去下发验证码。也就是通过安全大数据的能力,自动区分机器与正常用户,向机器下发验证码拦截,对好人则免验证码直接登录,以此提升用户体验。在腾讯,我们把这项平衡安全和体验的策略工作称之为“免验”。&/p&&img src=&/v2-fab91d5cb50b42cd2d2e3_b.jpg& data-rawwidth=&326& data-rawheight=&253& class=&content_image& width=&326&&&br&&p&&strong&如图,对可疑行为下发验证码。&/strong&&/p&&p& 在下发“免验”策略初期,只能免掉10%的验证码。随着数据积累和能力的提高,时至今日免验比例已达到90%以上,大大免去了正常用户辨别验证码的苦恼。直到现在,免验策略还在持续优化。&/p&&h2&三、策略为王&/h2&&h4&1、大魔术师&/h4&&p& 当大部分的好人都不会遇到验证码时,另一头,给坏人下发验证码的战场还在继续。进入2010年后,随着微博和团购的横空出世和快速发展,黑产从业者的可图之利增多,互联网黑产市场不断扩张。作为绝大多数互联网业务的第一道安全防线,验证码的战场正式进入了一段破解与抗破解的持久博弈。&/p&&img src=&/v2-7c1d4c89d886a20c3f9cc_b.jpg& data-rawwidth=&462& data-rawheight=&285& class=&origin_image zh-lightbox-thumb& width=&462& data-original=&/v2-7c1d4c89d886a20c3f9cc_r.jpg&&&br&&p&&strong&如图,这是早期的密码暴力破解软件。&/strong&&/p&&p& 在很长一段时间内,为了避免被坏人的自动化程序识别,业界普遍把验证码设计得越来越复杂。长久下来,就形成了机器人和用户都看不懂的尴尬局面。&/p&&p& 显然,把验证码“复杂化”这条道路走不通,那怎么办?在长期研究坏人的作恶模式及利益链条后,我们发现坏人在破解验证码时存在一大死穴——时间。从一套新的验证码出现,到坏人成功破解,再集成到自动化软件流入黑市,整个过程需要一个周期。那么,如果我们更新验证码的速度快于坏人的工作周期,问题不就迎刃而解了?&/p&&p& 做个假设,第一天,网站上了验证码A,这套验证码简单朴实、清晰可辨,简直就是那么多反人类验证码中的一股清流!坏人一瞅,这不是在藐视我的智商吗?于是废寝忘食连日研究,很快在第三天时就研究出了破解方案。正当坏人得意洋洋准备投入使用时,殊不知在第二天时网站已换上了验证码B。这里面的制胜点就一个字,快!&/p&&p& 基于这种对抗理念,在2011年7月,“魔术师”验证码诞生了。如同魔术师快得让人看不清的手法,魔术师验证码采用了高频的切换策略,使对抗形成了“敌方未破我先变”的局面。果然,敌人自动机大军的步伐被成功遏制,铩羽而归。&/p&&img src=&/v2-1c396dd008eff_b.jpg& data-rawwidth=&464& data-rawheight=&113& class=&origin_image zh-lightbox-thumb& width=&464& data-original=&/v2-1c396dd008eff_r.jpg&&&br&&p&&strong&如图,原有验证码 vs 魔术师验证码&/strong&&/p&&h4&2、猜你喜欢&/h4&&p& 如同超级英雄电影里一波又一波打不尽的反派一样,为了巨大的潜在利润,敌人永远不会消停。在“魔术师”换来了近一年的风平浪静后,我们遭遇了有史以来最为疯狂的一波进攻。&/p&&p& 由于魔术师的字体库在现网已跑了一年,再加上图像识别技术的发展,坏人几乎已遍历研究。以前,只要验证码的字体一切换,破解率立马就会刷刷地往下掉。而现在,破解率仅小掉一下马上又反弹了。换字体策略已失效!曾经立下无数汗马功劳的魔术师验证码,如今成了一道马其诺防线。&/p&&p& 敌人已经兵临城下,怎么办?经过研究我们发现,任何一种自动机,对验证码的识别率都不可能达到100%,有验证成功的图片,肯定也有验证失败的图片。做个假设,某种自动机的破解率是10%,也就是指在100张图片里,有90张无法识别。那么我们把这90张图片收集起来,每次都给它下发这些图片,10%的破解率会瞬间掉到0%。因为此时,自动机已陷入了绕不开的死结。&/p&&p& 根据这个思路,2013年元旦前,“猜你喜欢”验证码诞生了。“猜你喜欢”通过分析自动机行为特征,自动寻找、收集自动机的弱点,反复攻敌之弱。这可以说是对自动化破解的“致命一击”。&/p&&img src=&/v2-cbb9d243c_b.jpg& data-rawwidth=&395& data-rawheight=&179& class=&content_image& width=&395&&&br&&p&&strong&如图,原有验证码 vs 猜你喜欢验证码&/strong&&/p&&p& 在体验上,“猜你喜欢”摆脱了对图片复杂性的依赖,做到了“高清无码”,正常用户的识别率提高到了90%以上。在安全性上,防破解效果立竿见影,据团队监测,气急败坏的敌人连最后的IM登录验证码都不来尝试破解了。“猜你喜欢”验证码以其强大的杀伤力,终于又换来了暂时的息战。&/p&&h2&四、验证码的挑战&/h2&&p& 前面我们介绍的都是对抗自动机,然而随着验证码对抗战场越发激烈,黑产也推出验证码的杀手锏—打码平台,利用廉价的人工智能, 从设计原理上突破验证码。验证码(CAPTCHA)的英文全称就是全自动区分计算机和人类的图灵测试,对方是人,验证码就失效了。&/p&&img src=&/v2-c7b7086d8e6fee02e9b6_b.jpg& data-rawwidth=&654& data-rawheight=&375& class=&origin_image zh-lightbox-thumb& width=&654& data-original=&/v2-c7b7086d8e6fee02e9b6_r.jpg&&&br&&p&&strong&如图,打码平台的原理。&/strong&&/p&&p& 而让这个情况更糟糕的是打码和深度学习结合,打码平台和使用打码平台的开发者给自动机破解程序提供样本,通过神经网络学习,破解程序可以很快做到非常高的破解率。&/p&&p& 正如外国学者Elie Bursztein等人所编著的论文(The End is Nigh: Generic Solving of Text-based CAPTCHAs),字符验证码终结将至。&/p&&h2&五、新验证码时代&/h2&&p& 字符输入是我们最熟悉最常遇到的验证码,然而在打码平台和深度学习的结合下,字符验证码最终将会退出舞台。&/p&&img src=&/v2-1cbc4e1fe16b7ec48d560d_b.jpg& data-rawwidth=&595& data-rawheight=&383& class=&origin_image zh-lightbox-thumb& width=&595& data-original=&/v2-1cbc4e1fe16b7ec48d560d_r.jpg&&&br&&p&&strong&如图,12306识图验证码 vs 知乎倒立验证码&/strong&&/p&&img src=&/v2-5bbc1a93de58ce2b4a681_b.jpg& data-rawwidth=&782& data-rawheight=&366& class=&origin_image zh-lightbox-thumb& width=&782& data-original=&/v2-5bbc1a93de58ce2b4a681_r.jpg&&&br&&p&&strong&如上图,Google的nocaptcha vs 极验、阿里滑动验证码&/strong&&/p&&p& 鹅厂从2013年开始尝试新型验证码,2013年的识图验证码。和12306验证码很像,当时的图片是设计师画的,最终因为图片资源难以满足自动机对抗要求的海量数量需求而暂时没推广。还有2014年第一版拼图验证码尝试。&/p&&img src=&/v2-3ee21a608c31e_b.jpg& data-rawwidth=&599& data-rawheight=&338& class=&origin_image zh-lightbox-thumb& width=&599& data-original=&/v2-3ee21a608c31e_r.jpg&&&br&&p& 新时代验证码需要更大的舞台和更快的反应:摒弃了过去多年对字符的依赖,它可以快速支持和推广新型交互验证码。另外,用户在完成操作同时,前端会收集用户行为数据,通过机器学习,为线上策略输出更准确有效的策略。&/p&&img src=&/v2-4a1df7bfaee_b.jpg& data-rawwidth=&761& data-rawheight=&272& class=&origin_image zh-lightbox-thumb& width=&761& data-original=&/v2-4a1df7bfaee_r.jpg&&&br&&p&&strong&如图,几种新型验证码。&/strong&&/p&&h2&六、最后的话&/h2&&p& 在上世纪五十年代,人工智能之父阿兰o图灵设计出了图灵测试。在约半个世纪后,图灵测试的理念被做成最简单粗暴的形式——验证码,渗透到人们互联网生活的方方面面。然而,验证码是一个时代的产物,是一种治标不治本的速效手段。战术和战略的改变,才是终极解决方法。&/p&&p& 可以预想,终有一天验证码会退出互联网的历史舞台。但现阶段,由于巨额潜在利润的驱动,不法之徒必定不会放弃对验证码的虎视眈眈。无论是过去、现在,亦或是不远的将来,这都注定是一场没有硝烟的血战。未来,我们拭目以待。&/p&&p& 好的,今天的分享就到这里。非常谢谢大家。也欢迎同学们一起来探讨。&/p&&p&&strong&最后打个广告:新一代验证码依赖前端收集数据,我们非常需要前端大牛加入我们团队,有意向的同学可以请发简历到我邮箱:。&/strong&&/p&&h2&互动问答&/h2&&p&&strong&Q1:字符验证码为什么不好,不适应时代了?听了你们这么说,我也在想字符验证码是不是要换&/strong&&/p&&blockquote&&p&随着OCR的发展,字符验证码对抗非常艰难。字符验证码的舞台太小,继续发展下去,会出现自动机容易破解而人很难通过的状况。不过腾讯有很多业务还在用字符验证码,字符验证码完全退出舞台还需要一段时间,我们也在向业务推广新型验证码。&/p&&/blockquote&&p&&strong&Q2:不明白那个滑动验证码有什么不一样的地方,感觉自动化破解应该很容易,不像其他的,需要语意识别&/strong&&/p&&blockquote&&p&从字符验证码到多样化验证码的转变,最主要的变化,其实是验证码不再单纯的依赖图像去对抗,而是加入了更多元化更全面的元素,比如用户行为识别、后台策略对抗等,只依赖图像原因不够,但图像加上大数据和AI的强力支撑是可以对抗坏人的。也是因为这样,用户反而能用上体验更好的验证码&/p&&/blockquote&&p&&strong&Q3:拼图验证码的拼图块是怎么生成的?又是怎么校验的呢?&/strong&&/p&&blockquote&&p&从图库拉取一张图片,随机在图片抠取一张小拼图块。服务器生成时会记录小接图块的位置。用户在将小拼图块拖动到目标位置时,提交座标给服务器进行答案校验。&/p&&/blockquote&&p&&strong&Q4:就上面提到的各种验证码来讲,现在哪种验证码的效果最好呢?&/strong&&/p&&blockquote&&p&不同产品面临的战场不一样,比较难下定论说哪一种验证码效果最好。各大公司的安全团队在验证码方面也下了很多功夫,但从目前坏人的手段和技术来看,大家拼的更多的是后台策略,而不是单纯的验证码本身了。适合自己的才是最好的。&/p&&/blockquote&&p&&strong&Q5:模拟用户操作为什么打码平台无法破解呢?本质上应该也是识别图片信息并上传相应的数据吧?&/strong&&/p&&blockquote&&p&首先,新验证码也有打码,比如像下图这种打码软件,所以只靠图像没办法对抗码工。这种软件提交的答案也有其特征,座标答案由码工标注,恶意程序合成行为数据,新验证码对这种情况是可以区分的。&br&&img src=&/v2-a87aee9c9c550a31a4d9a_b.jpg& data-rawwidth=&362& data-rawheight=&332& class=&content_image& width=&362&&&br&&/p&&/blockquote&&p&&strong&Q6:现在日益的发展下.指纹验证的频率也越来越高.有没有对这方面的考虑?&/strong&&/p&&blockquote&&p&指纹验证本质是身份验证,验证码是对抗自动机,不过随着移动设备指纹的普及,用指纹做身份验证,免去验证码是有可能的。&/p&&/blockquote&&p&&strong&Q7:现在经常Q群里喊着坐家就能赚钱的那种软件,好像就是把验证码下发出去,让社会闲散人员帮你识别,这种怎么破?&/strong&&/p&&blockquote&&p&对于人工打码,5的问题有提到一些解决思路。但还是基于现在打码平台,如果打码平台升级,确实这里的识别非常困难,大家有什么好的思路也可以发邮箱给我:&/p&&/blockquote&&p&&strong&Q8:是不是可以根据用户职业和身份来给用户出些相关专业的常识作为验证码?或者是有哪些用户认识的QQ好友让他选择也行啊?&/strong&&/p&&blockquote&&p&这个方法是可行的,实际上facebook也有采用这个方式来对用户进行验证。这个手段来对抗码工是一种比较好的方式,但他的局限性也很明显,使用门槛比较高,一来是有可能泄漏用户隐私信息,二来他使用场景很有限,在注册、活动、拉新等没有用户信息的场景无法派上用场&/p&&/blockquote&&p&&strong&Q9:用户要记住使用密码和要识别验证码,感觉都属于反人类设计,验证码未来什么情况下可能退出历史?&/strong&&/p&&blockquote&&p&验证码的用户体验需要不断地优化完善,但其实验证码的设立很大程度上是为了对抗高频的暴力破解,阻挡坏人的自动机进攻的步伐。所以在现阶段还是非常必要的。验证码彻底退出历史舞台,预计还需要比较长的一段时间。&/p&&/blockquote&&p&&strong&Q10:将来有没有可能用到语音验证?&/strong&&/p&&blockquote&&p&关于语音验证码,大家用微信也知道,语音识别技术很成熟,识别率已经很高了,因此用来做验证码效果也不见得会好&/p&&/blockquote&&p&&strong&Q11:手机端app验证码大多都比较简单,为什么pc端的特别复杂?&/strong&&/p&&blockquote&&p&这个其实有历史原因在里头。在前些年,4G没普及,上网速度慢,验证码的图片不可能做得太大,会影响页面打开速度;而且那个时候也没很多大屏手机,屏幕小,留给验证码发挥的地方也小。从那个时候就延续下来了。但现在其实很多手机验证码都和PC一致了&/p&&/blockquote&&p&&strong&Q12:大量用户去请求验证码,怎么确定每个人验证码对应的就是相应的用户?&/strong&&/p&&blockquote&&p&验证码的架构设计之初,已经是按照亿万级访问的场景来设计的,能支撑起大量用户访问的&/p&&/blockquote&&p&&strong&Q13:前端会收集用户行为数据,通过机器学习,为线上策略输出更准确有效的策略。 同样的道理,可以通过机器学习模拟用户的行为轨迹从而来破解滑动拼图验证码. 这个怎么破?&/strong&&/p&&blockquote&&p&这个问题问得十分漂亮。目前验证码主要的战场和矛盾点也是这个,随着机器学习的不断发展,我们遇到的挑战也越来越多,但即使这样,我们还是会不断朝这个方向努力,不断尝试和跟坏人斗智斗勇。&/p&&/blockquote&&p&&strong&Q14:怎么评价阿里云的这种验证码,基于当前登录账号的历史数据提问,微信好像也有采用这种形式,比如选择好友。&/strong&&br&&img src=&/v2-7a4b82c150a19bb20bbee7ef58f57093_b.jpg& data-rawwidth=&300& data-rawheight=&400& class=&content_image& width=&300&&&/p&&blockquote&&p&基于当前登录帐号的历史数据提问,跟上面的一个问题类似的,这种更多是身份验证,用在登录场景比较合适,但其他场景,比如注册,就无法发挥用途。另外,用户个人信息是有限的,经过多次尝试不断比对和过滤,也能获得正确答案。在无登录态下暴露用户信息也是很一个很大的隐患,因此鹅厂在这类验证码上的应用比较慎重,并没有大规模的用&/p&&/blockquote&&p& 更多精彩内容欢迎关注&a href=&/?target=https%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&bugly&i class=&icon-external&&&/i&&/a&的微信公众账号: &/p&&img src=&/3f2c1b1ff77fcedf3fb54616_b.jpg& class=&content_image&&&p&&a href=&/?target=https%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&腾讯 Bugly&i class=&icon-external&&&/i&&/a&是一款专为移动开发者打造的质量监控工具,帮助开发者快速,便捷的定位线上应用崩溃的情况以及解决方案。智能合并功能帮助开发同学把每天上报的数千条 &a href=&/?target=https%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Crash&i class=&icon-external&&&/i&&/a& 根据根因合并分类,每日日报会列出影响用户数最多的崩溃,精准定位功能帮助开发同学定位到出问题的代码行,实时上报可以在发布后快速的了解应用的质量情况,适配最新的 iOS, Android 官方操作系统,鹅厂的工程师都在使用,快来加入我们吧!&/p&&br&
本文来自于,未经作者同意,请勿转载,原文地址: Dev Club 是一个交流移动开发技术,结交朋友,扩展人脉的社群,成员都是经过审核的移动开发工程师。每周都会举行嘉宾分享,话题讨论等活动。…
&p&对大部分人而言,换公司不是换工作,&b&许多时候,我们是考虑离职去一家竞争对手公司。&/b&那么,很多问题就有点敏感了。这次的回答主要和大家分享一下&b&换公司过程中如何处理商业机密、心态和人际交往。&/b&&/p&&br&&p&比如说:&/p&&p&&b&要不要告诉老板我的新去向?&/b&&/p&&p&&b&没有签保密协议的商业信息,能不能透露给新雇主?&/b&&/p&&p&&b&在新的工作场合,如果和曾经的上司碰面,怎么处理这种略感尴尬的关系?&/b&&/p&&br&&p&这些都考验着公司人的职场情商。处理得不妥当的话,轻则影响新旧老板对你的看法、重则损害个人品牌。通过采访有类似跳槽经验的公司人以及接触过丰富案例的猎头顾问,《第一财经周刊》帮你梳理出从面试开始到正式转职去竞争对手公司的过程中,应对敏感问题的“套路”。 &/p&&br&&p&&strong&&u&1. 换工作时,弄清楚新公司更看重你的什么&/u&&/strong&&/p&&br&&p&到竞争对手公司求职,首先要辨别对方是否有真实的人才需求。猎头顾问张岚说:&b&要警惕&/b&&b&一些创业公司可能通过面试核心岗位来做市场调查。&/b&&/p&&p&求职者可以问HR几个问题以此检验岗位真实性:&/p&&br&&p&&b&a. 如果未来3个月这个岗位一直空缺,会对你们的业务造成哪些影响?&/b&&/p&&p&&b&b. 这个岗位具体的KPI考核是怎样的?&/b&&/p&&p&&b&c. 汇报给哪一位分管领导?&/b&&/p&&br&&p&如果岗位真实,而新公司又确实需要知道你过往的具体工作经历,&b&求职者应该在体现自己能力的同时,保护旧公司的核心机密。&/b&这确实是一个技术活,要透露哪些信息,不透露哪些信息,其实没有绝对界限。&b&通常来讲,涉及核心技术、未来产品走向等可能影响一个公司成败的信息,就要绝对保密。&/b&&/p&&br&&p&再者,要搞清楚新公司更看重你的是什么。&/p&&p&&b&如果它看重你手上的客户、技术或团队资源,而你又签过竞业禁止协议,就要特别小心。张岚表示,“这个不讲清楚,未来会承担很大的法律风险。”&/b&正确做法是给对方一个相对合理的解释,例如“&b&因为竞业禁止协议,我确实不能动用我过去的资源,但我认为自己有拓展新渠道、新客户以此带动公司利润增长的能力,这比直接把客户带过来更有价值&/b&。”&/p&&p&如果新公司不接受,那这个公司也不值得跳。&/p&&br&&p&&strong&&u&2. 用一个月的时间为当前工作做好善后&/u&&/strong&&/p&&br&&p&拿到竞争对手公司的offer,多数人都会困惑:&b&“我到底要不要跟现在的老板说清楚我的新去向?”&/b&&/p&&p&任仕达中国区市场和公共事务总监孙海宁认为,说与不说,没有绝对法则,跟你和老板的磨合程度有关。你可以有选择性地说,&b&但最好不要撒谎,不然会损害到你的个人品牌。&/b&毕竟,每个人都不能保证,之后完全不会和旧公司产生任何交集。&/p&&br&&p&姚倩在赴任新公司之后,曾经接到前任老板的一个电话,“你能感受到那不是一次愉快的谈话,很紧张。”姚倩说,前任老板想知道她的跳槽思路,她就用了一些相对客观的理由,比如不想继续在那个城市生活等去解释,没有说离职是因为觉得那份工作没前途等。&b&在张岚看来,这是较为理性的应对方式—避免激化矛盾和冲突,“即便你是觉得钱少、和领导合不来,都不要直接说出来,那一定是伤感情的。”&/b&&/p&&br&&p&其实,姚倩对此也提前做了准备。&b&在离职被挽留时,她曾经给出两个条件,第一是换工作地点,第二是更多的出差机会。她预感公司不会允诺这些条件,这从另外一个角度让她的离职显得更情有可原。&/b&&/p&&br&&p&最棘手的状况是处理与竞业禁止条款相关的事情。&/p&&br&&p&&b&如果你在职时就拿到了新公司的offer,很快就要加入新公司,那么最好不要在早期就接触太实质性的工作。姚倩给了自己一段空窗期,在入职后的第二个月才开始“冒泡”,也是为了给彼此一个缓冲。&/b&&/p&&br&&p&从面试新公司开始,&b&姚倩就回避参与旧东家一些涉及核心商业机密的会议&/b&,为此,她当时饱受压力,“老板觉得你怎么突然一下子不干活了?”姚倩说。虽然没有规定要求一定要这么做,但她觉得,从良心上来说这样做更为妥当。&/p&&br&&p&也有一些比较极端的情况是,&b&一旦提出离职,公司会要求你即刻就不能干活了,连电脑也不能碰,“这也很正常,在这个问题上,公司或HR才掌握着主动权。”张岚说,她建议公司人对此不必过于介意。&/b&&/p&&br&&p&如果公司留给你一个月的交接期,这是很正常的流程,你可以表现得更为友善一些。比如,&b&帮助培养新人来接替你的工作,跟以往对接的外部合作伙伴打一声招呼、介绍一下新人等。这么做都可以为你建立更成熟的职业形象。&/b&&/p&&br&&p&&b&如果你已经是一定级别的研发、销售管理层&/b&,跳槽时,要首先自查是否有违反竞业协议的行为;其次,孙海宁认为“&b&最好还是让两边的老板能事先通个气,以免之后的麻烦&/b&。”&/p&&br&&p&&strong&&u&3. 赴任新公司之后,不透露核心商业机密&/u&&/strong&&/p&&br&&p&即便签过保密协议,旧东家未必有精力或能力深入追责,所以一些公司人跳槽到新公司后,就把自己知道的旧公司的商业策略全部透露出来。&/p&&br&&p&“短期看,你可能帮新公司赢了不菲的商业利益,&b&但新老板也很清楚,如果你轻易就能出卖旧公司,再跳槽时你势必也会这么做,后果就是失掉每一任老板对你的信任。&/b&”姚倩说。&/p&&br&&p&不透露旧公司的信息,不等于你在新公司无法开展工作,一个可以参考的做法是,&b&不要轻易谈及你过去工作中接触到的事实和数据,而是用自己的看法、判断来支撑决策。需要借用旧公司资源时,则要审视你的行为是否会触及旧公司的利益。&/b&&/p&&br&&p&&b&人际交往方面,孙海宁建议跳槽去竞争对手公司后尽量低调。因为只要跳槽者不在朋友圈等社交媒体上过度炫耀,旧公司通常不会主动找麻烦。&/b&&/p&&br&&p&姚倩很注意这一点:“&b&朋友圈分组是一定要的。换位思考,以前的同事也未必想要成天看到你现在公司的事情&/b&。”&/p&&br&&p&因为工作性质主要是对外沟通,姚倩经常在很多场合遇到旧东家或前老板,最初她也会觉得有点不自然,不知道如何相处,但她发现前老板倒不是那么介意,还主动和她打招呼、聊天。&b&由此,她得出的经验是,坦然、大方地相处,才不会在双方碰面时尴尬。&/b&&/p&&br&&p&&b&离开上一家公司,你可能会开始听到它的负面消息,对这些话题有意识地向后退一步是比较好的做法—不论是批评前公司,还是为前公司辩解,都可能产生负面效果。&/b&&/p&&br&&p&另外, &a data-hash=&48ab934ba89ace69f7dcaa& href=&///people/48ab934ba89ace69f7dcaa& class=&member_mention& data-editable=&true& data-title=&@于洁茹& data-hovercard=&p$b$48ab934ba89ace69f7dcaa&&@于洁茹&/a&的回答中关于保险的细节很好,与本答案互为补充,也请一并参照。:)&br&&/p&&br&&p&&b&文/张鑫 回答时有所改动&/b&&/p&
对大部分人而言,换公司不是换工作,许多时候,我们是考虑离职去一家竞争对手公司。那么,很多问题就有点敏感了。这次的回答主要和大家分享一下换公司过程中如何处理商业机密、心态和人际交往。 比如说:要不要告诉老板我的新去向?没有签保密协议的商业信…
&b&多图预警,长文预警。&/b&&br&&br&&b&恭喜我,终于让你们看到了这篇文章!本文里所总结的方法将极大降低会计的入门门槛,将极大减轻千万会计学子的学习负担,也将进一步促进会计思维的普及&/b&&b&。为造福更多人,本文允许原文链接分享,允许学生组织和学生个人的非盈利公众号免费规范转载,有需要的加我微信联系,我会给你们提供word原文,并在维权骑士中备案。&/b&&br&----------------------------------------&br&&b&《分录,我看见你了!》&/b&&br&&br&文/ACCAspace刘校长&br&&br&会计入门难吗?很多人说会计入门很难,因为有很多分录要去背,要定借贷方向,要定数字,要把分录编平,要努力从一个一个会计分录中发现规律。初学者都非常讨厌会计分录,因为我们常常无法理解分录为什么是这样的,于是只好采用背书和刷题的笨办法来学习。当你好不容易把典型分录记下来后,题目稍微变一下,就又不知道怎么做了。&br&&br&从记账的角度讲,会计分录是非常伟大的发明,但从会计教学的角度讲,会计分录却是一场巨大的灾难。用大量的分录来教会计和学会计是种本末倒置,“形式重于实质”的行为,这严重破坏会计本身直观的美感,让学生无法集中精神体会每笔商业交易的本质。&br&&br&&b&本文要做的就是提供一个简单的工具,一套系统的方法来解决这个问题,让你不必再死背会计分录,让你能做平每一笔会计分录,让你能直观分析每一笔交易的本质,让你能够从容地自学会计。这套方法里的基本原理是每个老会计和会计讲师们都知道的原理,即便我不说,你不学,只要会计做到一定程度也迟早知道。但是,只有我,愿意把这套原理具体化,系统化,通俗化,工具化,大众化,并毫无保留地在会计入门阶段便免费分享给所有人。为此我有牺牲很多,有付出,但我坚信这是很有意义的事情。只要你们都能学会并教授给他人,让更多人了解会计,热爱会计,就是对我最大的报答!&/b&&br&&br&我们先来看看,常见的会计做题思路是什么样的呢?&br&&img src=&/v2-fa9e07789aeddf479ecc6c57a7b74145_b.jpg& data-rawwidth=&781& data-rawheight=&132& class=&origin_image zh-lightbox-thumb& width=&781& data-original=&/v2-fa9e07789aeddf479ecc6c57a7b74145_r.jpg&&拿到题目就想着分录该怎么写,在纸上写出一个大大的“借”,然后就不知道怎么继续下去了,生怕写多了写少了写错了而对不上,生怕写反了又要重写。&br&&br&这是非常愚蠢的做法,可是百分之九十的老师都在照本宣科地按这个愚蠢的办法教书。好一点老师还愿意教你个什么“左右手”定则,再懒一点的索性就叫你死背分录了。并不是因为这些人没有更好的方法,只是他们懒得总结,或是怕教会了徒弟,饿死了师傅。&br&&br&那正确的思路是怎么样的?&br&&br&&img src=&/v2-b6abd510ddb5d2aada23a0d3_b.jpg& data-rawwidth=&777& data-rawheight=&118& class=&origin_image zh-lightbox-thumb& width=&777& data-original=&/v2-b6abd510ddb5d2aada23a0d3_r.jpg&&&br&记住,拿到题目,碰到问题,最关键也是最难的事情,是分析出交易的商业实质!所谓搞清楚商业实质,就是要搞清楚到底在交易中发生了什么,卖出去了什么,买进来了什么,花了什么,投了什么,融了什么,实现了什么,合并了什么?而把这个商业实质用分录写出来,只是一个机械的记录过程而已。&br&&br&&b&学会如何把题目中的商业实质提炼出来,应该占到我们会计学习内容的99.99%,你只用花0.01%的精力学习如何写出分录。&/b&这就好比做数学应用题,最关键的绝不是学习怎么写数学式子,而是学习怎么抽象出应用题里的数学模型。&br&&br&&b&为了把从题目到实质,从实质到分录的思维过程系统化,流程化,直观化,这里我将介绍一个由我自己精心设计,反复操练过的神奇武器——T字图。所谓T字图,其实就是三根线而已。但可别小瞧这三个线,我相信,这三根线将彻底颠覆现在主流的会计学习方式。&/b&&br&&br&我们这就开始。拿出一张纸,在上面画出这样三根线,如下图所示:&br&&img src=&/v2-d05b61fba3cacae97cb7b186_b.jpg& data-rawwidth=&861& data-rawheight=&609& class=&origin_image zh-lightbox-thumb& width=&861& data-original=&/v2-d05b61fba3cacae97cb7b186_r.jpg&&其实就是一个T字加一杠。可以看到, 这个T字图把一块矩形区域分成了三个部分,左边整块区域的面积正好等于右边两块区域面积之和。这图的具体内涵咱先不说,先用上。&br&&br&假设,刘校长我向银行贷款了100万元,期限五年。那么,显而易见的是,刘校长多了两样东西,一是手里的银行存款多了100万,一是负债多了100万。&br&&br&在T字图上,刘校长要把这笔交易画出来,怎么画呢?左边画一个向上箭头,然后写上银行存款100万,右上方的区域也画一个等长的向上箭头,写上长期借款100万。&br&&img src=&/v2-13cf0fcd775cc_b.jpg& data-rawwidth=&861& data-rawheight=&610& class=&origin_image zh-lightbox-thumb& width=&861& data-original=&/v2-13cf0fcd775cc_r.jpg&&之所以这样子画,是因为我们T字图的左边,代表的是资产的增减,T字图的右上角,代表的是负债的增减。&br&&br&再假设,股东向知乎投资了1亿。这里知乎的银行存款也一样增加了1亿,但还能像上面这样认为负债增加了1亿吗?显然是不能的,因为我们都知道,股东给知乎的钱知乎是没(ken)有(ding)义(bu)务(hui)还的,放进负债显然不合理。那么,就放进右下角的这个区域里,写上实收资本1亿。&br&&img src=&/v2-efedcfec0a51dfb9019618_b.jpg& data-rawwidth=&865& data-rawheight=&615& class=&origin_image zh-lightbox-thumb& width=&865& data-original=&/v2-efedcfec0a51dfb9019618_r.jpg&&&br&根据上面这两笔业务,我们可以做一个初步的总结,那就是:&br&&br&&b&T字图的左边,记载资产类项目的变动,T字图的右上角,记载负债类项目的变动,T字图的右下角,记载所有非资产非负债的其他项目的变动。&/b&&br&&br&&b&会计上,我们一般认为,只要是我们控制着的,有价值的东西,即便不是我们自己的,也都是我们的资产,&/b&比如银行贷给我们的钱,未付款但已入库的原料,统统都是资产。但会计也很清楚,这么反映未免有些流氓,新闻里不就有人借钱提亲被丈母娘打了吗?所以,反映一下资产的来源是很有必要的,不然将来报告上出了偏差,等于会计是要负责任的。&b&会计把资产的来源分成两类,一类是借来的,一类是不是借来的,你会神奇的发现:借来的加不是借来的就是所有的,这真是句无比正确的废话啊!而这句永远正确的废话,便是整个会计学的基石!&br&&/b&&br&为了让你们不觉得这很废话,会计们给这个“不是借来的”东西起了一个听上去非常晦涩的名字——所有者权益。&br&&br&不要觉得我以上的解释不专业,你可以看看所有者权益的专业定义:&br&&br&所有者权益是指企业资产扣除负债后由所有者享有的剩余权益。&br&
——布什.杰莱德&br&&br&&b&所以我们有了会计恒等式:资产=负债+所有者权益(非负债)&/b&&br&&br&等式左边表示企业控制的资产内容,右边表示企业控制资产的来源,你会发现这和T字图的左边右边是一样。&br&&img src=&/v2-8dcac5fb5b0_b.jpg& data-rawwidth=&861& data-rawheight=&611& class=&origin_image zh-lightbox-thumb& width=&861& data-original=&/v2-8dcac5fb5b0_r.jpg&&&br&经过以上陈述,你应该隐约感觉到了T字图有很多的优势:&br&第一,它的结构完全符合会计恒等式,它是符合逻辑的,是科学的。&br&第二,它能非常直观地把所有的会计交易画出来,便于思考和复查。&br&第三,它便于书写,画三道杠远比写借贷二字要方便多了。&br&第四,它可以和分录进行双向转换,而且方法非常简单,这个过程我将在文章最后概括。&br&第五,正因为可以跟分录做双向转换,所以你在做题时不用考虑借贷的问题,你可以把思考的重心放到理解交易的商业本质上来,并自然而然地画出图,有了图就一定有分录。&br&&br&用T字图做账的步骤总结起来便是:&br&&ol&&li&画出三道杠&br&&/li&&li&理解交易的商业本质,确定所涉及的三要素增减变动情况(要素、科目、增减、金额)&br&&/li&&li&在图上画出增减变动情况&br&&/li&&li&将图像翻译成分录&/li&&/ol&&br&为了验证这个工具的实用性,下面,我就用T字图把《会计基础》中最主要的部分“权益法下主要经济业务的账务处理”中涉及的交易全部做一遍,看看是不是真像我说得那样,有了T字图,你就不需要刷题,不需要背分录了。&br&&br&《会计基础》涉及的主要经济业务主要有以下七类:&br&&ol&&li&资金筹集业务的账务处理&br&&/li&&li&固定资产业务的账务处理&br&&/li&&li&材料采购业务的账务处理&br&&/li&&li&生产业务的账务处理&br&&/li&&li&销售业务的账务处理&br&&/li&&li&期间费用的账务处理&br&&/li&&li&利润形成与分配业务的账务处理&/li&&/ol&&br&我们一个一个来看。&br&&ol&&li&资金筹集业务的账务处理&br&&/li&&/ol&资金筹集业务,就是融资的业务,融资有两种途径,一是股权融资,二是债权融资。股权融资,就是发股票,出售股份,获得不需要还的资源。债权融资,就是发债券,借钱,获得是需要还的资源。&br&&br&而不管股权融资还是债权融资,相同的地方就是会导致公司的资产增加。那么在T字图上,我们就要左边区域记出这样一个向上的箭头,表示资产的增加。而在右边,根据融资类型的不同,我们将在右上区域或右下区域也画一个相同长度的向上箭头。&br&&br&&img src=&/v2-a39ffa1aa4096e_b.jpg& data-rawwidth=&860& data-rawheight=&382& class=&origin_image zh-lightbox-thumb& width=&860& data-original=&/v2-a39ffa1aa4096e_r.jpg&&箭头的方向,体现的是三要素(资产、负债、所有者权益)的增减方向,箭头的长度,体现的三要素增减的大小。这样是不是很直观?&br&&br&画好了箭头,下一步是确定科目名称。记住,一定要先确定三要素层面的变动,一定要先画出正确的箭头,再想科目名称。切莫先想科目名称,再想要素层面的变动。为什么呢?&b&因为三要素的层次是最宏观的层次,做分析要从宏观到微观地做。&/b&&br&&br&那么下面,就是确定具体会计科目了。会计科目是什么,没学过会计的同学可能不懂。会计科目的定义是:&br&为了连续、系统、全面地核算和监督经济活动所引起的各项会计要素的增减变化,就有必要对会计要素的具体内容按照其不同的特点和经济管理要求进行科学的分类,并事先确定分类核算的项目名称,规定其核算内容。这种对会计要素的具体内容进行分类核算的项目,称为会计科目。&br&&br&简单的说,会计科目就是对会计要素的进一步细分,为的是提供更详细的信息。比如资产,可以分成银行存款、库存现金、存货、固定资产等。负债可以分为长期借款、短期借款等。所有者权益可以分为实收资本、盈余公积等。&br&&img src=&/v2-af4ae2c39a60c5d348c156e09ad660dd_b.jpg& data-rawwidth=&854& data-rawheight=&610& class=&origin_image zh-lightbox-thumb& width=&854& data-original=&/v2-af4ae2c39a60c5d348c156e09ad660dd_r.jpg&&&br&上表列出了《会计基础》教材里涉及到的主要科目名称。不要害怕,并不需要大家现在死记硬背下来,这全部都要在对商业实质的分析中逐步掌握。除了这些主要科目外,还有些“亲戚科目”也将在后面的讲述中一个个掌握。&br&&br&股权融资中涉及到的科目有哪些呢?我们已经知道了,股权融资会导致资产的增加,那么至于是什么资产增加,就完全看投入资产的性质了,基本上法律允许的都可以。如果是现金,那就增加银行存款,如果投入的是存货,那就增加存货,如果投入的是类似固定资产这样的长期资产,那就增加固定资产或其他资产。&br&&br&在计算投入资产的入账价值时,有一句话,学会计的同学应该都听说过:&br&投资者投入的资产,应按投资合同或协议&b&约定价值&/b&确定成本,但合同或协议约定价值不公允的,应按资产的&b&公允价值确定。 &/b&&br&&br&&br&这句话投资者投入的资产应当以公允价值入账。那么,什么是公允价值,公允价值简单地说就是市价,是关于时间的函数,股票市场上不断变动的股票价格,就是股票的公允价值。用公允价值衡量投入资产的入账价值,就是把资产统一换算成货币计量,这合情合理。&br&&br&因为是股权融资,所以所有者权益增加,而增加的金额代表的是公司股东持有的股份,因此,我们所用的科目叫做实收资本(非上市公司,有限责任公司)或股本(上市公司,股份有限公司)。&br&&br&值得一提的是,由于股东投入资本往往涉及到溢价,意思是本来1块钱面值的股票想买得花不止1块钱,所以,投入资产的公允价值往往比实收资本或股本的金额要大,这个差额,就得记进另外一个所有者权益中的科目,否则就不平了,这个科目便是“资本公积——资本溢价或股本溢价”&br&&br&我们来看一道真题:&br&例一:甲公司(有限责任公司)收到A公司投资350000元,款项已存入银行。按照双方的约定,其中的300000元,记入实收资本。&br&&br&这个我们用T字图来表现一下便是:&br&&img src=&/v2-68d14caa74d55dd6dc6e52_b.jpg& data-rawwidth=&855& data-rawheight=&613& class=&origin_image zh-lightbox-thumb& width=&855& data-original=&/v2-68d14caa74d55dd6dc6e52_r.jpg&&如果是固定资产投入呢?&br&再来看一道例题:乙公司收到甲公司作为投资投入的设备一台,该设备所确认的价值为6000元,价值公允,确认的溢价为2000元。&br&&img src=&/v2-795d6fd9a53697e2ffee98593a16ccfa_b.jpg& data-rawwidth=&860& data-rawheight=&625& class=&origin_image zh-lightbox-thumb& width=&860& data-original=&/v2-795d6fd9a53697e2ffee98593a16ccfa_r.jpg&&除了投入资产入股,还有一种特殊的股权融资形式,承担债务入股。这个怎么理解呢?有人愿意为你承担债务,就是愿意帮你还钱,这意味着你的负债减少了,所有者权益增加了。就假设上面这题改成了股东承担长期负债6000万,那么在T字图上画出来:&br&&img src=&/v2-5caa64cc6cc7dfb3149bfe5_b.jpg& data-rawwidth=&873& data-rawheight=&620& class=&origin_image zh-lightbox-thumb& width=&873& data-original=&/v2-5caa64cc6cc7dfb3149bfe5_r.jpg&&怎么样,虽然资产没有变动,但右边一增一减,两边还是平衡的。&br&&br&债权融资就更好理解了,负债增加,资产增加,图自己画出来就行了。&br&&br&还有一种交易,是股东撤资的情况,意思是股东把他原来投入的资产拿走,然后相应的减少所有者权益。这里稍微得分细一点,有两种情况,一是有限责任公司股东撤资,一种是股份有限公司回购股东的股票,本质都是一样的,回购股东股票也是把钱还给股东,把股票拿回来。&br&&br&对于有限责任公司股东撤资,直接做反方向交易,图自然也是反的:&br&&img src=&/v2-8e2b4cfc6cba76b72dd3ca_b.jpg& data-rawwidth=&850& data-rawheight=&611& class=&origin_image zh-lightbox-thumb& width=&850& data-original=&/v2-8e2b4cfc6cba76b72dd3ca_r.jpg&&股份有限公司回购股票,分两步走,第一步,买回股份,那么银行存款减少,&b&同时增加一个叫库存股的所有者权益备抵账户。&/b&&br&&img src=&/v2-2c87baa014e9325896aaad0feb1e42ec_b.jpg& data-rawwidth=&867& data-rawheight=&617& class=&origin_image zh-lightbox-thumb& width=&867& data-original=&/v2-2c87baa014e9325896aaad0feb1e42ec_r.jpg&&&br&如果你是会计入门者,这里你肯定会有大大的疑问:&br&第一,你说的是所有者权益增加吧,为什么写的却是向下的箭头。&br&第二,什么是备抵账户。&br&&br&关于第一个问题,想清楚了你就会明白,为什么前面我反复强调,一定要先确定三要素层面的变动,再确定用哪个科目。所有者权益真的是增加的吗?这是回购股票,是股东撤资,所有者权益不会增加,而是减少的,箭头一定是向下。管他备抵不备抵,只管三要素层面变动。&br&&br&&br&&b&这里T字图的优势就显现了,在用分录记账时,确认借贷你还得想想这个科目是不是备抵账户,这里就完全不用管它是不是备抵账户,一门心思先确认箭头再说。&/b&&br&&br&&br&但我还是得解释解释什么是备抵账户,备抵账户。记住一句话XXX的备抵账户增加等同于XXX减少。&b&备抵账户是其主账户的抵减项,他们是三要素里面的反动派。&/b&&br&&br&&br&库存股是所有者权益里面的反动派,它的增加就是所有者权益的减少。备抵账户还有很多我们后面都会一一了解到。&br&&br&那么,既然是反动派,统统都要打倒,所以公司得在合适的时候注销库存股,假如他不打算后面卖的话。&br&&br&注销库存股,不是交易,它只是公司内部的一种处理,所以不会影响到负债、资产和所有者权益的数额,只是所有者权益内部科目发生了一个此增彼减的调整。库存股变少,股本和资本公积变少。&br&&img src=&/v2-3fede8c0aeb9f4d5876cb2_b.jpg& data-rawwidth=&856& data-rawheight=&611& class=&origin_image zh-lightbox-thumb& width=&856& data-original=&/v2-3fede8c0aeb9f4d5876cb2_r.jpg&&&br&我们来把两笔交易合并在一起看一下:&br&&img src=&/v2-ea31deb1f4a10f_b.jpg& data-rawwidth=&1370& data-rawheight=&492& class=&origin_image zh-lightbox-thumb& width=&1370& data-original=&/v2-ea31deb1f4a10f_r.jpg&&是不是可以清晰地发现,并在一起后,库存股就没有了。这两笔交易,本质上就是用库存股作为桥梁,把有限责任公司股东撤资的行为分成了两步来做。所以,不管是股份有限公司还是有限责任公司,股东撤资的本质都是一样的。&br&&br&那为什么股份有限公司的就要分成两步来做呢?因为股份有限公式股东撤资是被动发生的,是通过公司主动从二级市场上回购股票来实现的,股票能回购,就也能卖出,所以说,为了方便区分买了在卖和重新发新股的区别,股份有限公司回购股票的行为得走库存股转一道。&br&&br&到这里,融资基本就讲完了,还有一个小小的问题,是债权融资中利息的处理。我们知道借钱都会有利息的。这个利息怎么处理呢?&br&&br&利息一般是一年一付的,在应该付利息却没付的时候,其实我们的负债是增加了的,但是,由于还没付,手里控制的资产不多不少,所以,负债增加了,所有者权益必须减少才能平衡。这么一思考,我们便能清楚地在三要素层面分析出利息该记未付时应该怎么画箭头了。&br&&img src=&/v2-196f2afda43f42a6d58c4_b.jpg& data-rawwidth=&866& data-rawheight=&614& class=&origin_image zh-lightbox-thumb& width=&866& data-original=&/v2-196f2afda43f42a6d58c4_r.jpg&&现在的问题是,应该怎么确定科目。查一查上面那张我整理过的表,负债里面有一项应付利息,很显然,负债这边就是记它了。那所有者权益这边怎么办,所有者权益减少是可以确定的,但所用的科目,并不在上面的表里,因为,这里要开始介绍三个新的要素,收入与费用和利润。收入、费用还有利润和所有者权益有非常密切的关系。&br&&img src=&/v2-9aa74c38f5c8fa789b3f_b.jpg& data-rawwidth=&782& data-rawheight=&634& class=&origin_image zh-lightbox-thumb& width=&782& data-original=&/v2-9aa74c38f5c8fa789b3f_r.jpg&&&br&这种关系,可以用上面这张图表示。收入-费用=利润,然后本年的利润会被归集进所有者权益中的利润分配科目里,造成所有者权益的增加。可以这么说,收入、费用和利润是用来详细解释所有者权益是“怎么”变动而产生的科目。&b&收入、费用和利润三要素反映的是过程,资产、负债和所有者权益反映的是状态。&/b&为了将所有者权益变动的过程详细具体地反映出来,会计里产生了很多收入、费用类的科目,这些科目主要有:&br&&img src=&/v2-33e82edf23d9a88e9d964b3c371d79ca_b.jpg& data-rawwidth=&523& data-rawheight=&377& class=&origin_image zh-lightbox-thumb& width=&523& data-original=&/v2-33e82edf23d9a88e9d964b3c371d79ca_r.jpg&& 和前面一样,这些科目我们都将在讲授过程中逐个学习,大家不用死记。回到计提利息上来,有了费用类科目后,我们就可以找到这么一个非常切题的科目来当做所有者权益变动数的记载项了——财务费用。&br&&img src=&/v2-85ddabe1f84c95df7e70ef_b.jpg& data-rawwidth=&850& data-rawheight=&616& class=&origin_image zh-lightbox-thumb& width=&850& data-original=&/v2-85ddabe1f84c95df7e70ef_r.jpg&&&b&再重申那句话——箭头表示的是三要素的变动!&/b&尽管引入了备抵账户、费用类和收入类科目,但这个根本原则是始终不变的。尽管你们看到了财务费用的增加,也不要纠结,财务费用的增加还是所有者权益的减少,盯紧三要素画箭头,这是原则!&br&&br&第一个融资业务我就啰嗦了这么多,看上去是没有必要的。但实际上,目前已经解决了会计基础原理里60%以上的内容。后面的业务再繁杂,也绝对跳不出到目前为止所讲的这些道理。&br&&br&来看第二节:&br&2.
固定资产业务的处理&br&有了前面的讲解,后面的思考就非常快了。主要任务只是认识些新科目,了解些新流程而已。&br&&br&先来看固定资产的购入,这里就是个买东西的过程,买东西就是钱出去东西进来。钱出去是银行存款的减少,东西进来就是固定资产的增加。&br&&img src=&/v2-6daf518d178cbbbb932f83c0ffabd794_b.jpg& data-rawwidth=&880& data-rawheight=&622& class=&origin_image zh-lightbox-thumb& width=&880& data-original=&/v2-6daf518d178cbbbb932f83c0ffabd794_r.jpg&&&br&这多简单,根本体现不了T图法的优越性。搞复杂一点的,请看例题:&br&某企业2014年12月购入不需要安装的生产设备一台,价款10000元,支付的增值税为1700(符合增值税抵扣条件),运费增值税专用发票上著名运输费500元,增值税额55元,包装费300元,设备安装完成后的员工培训费用为1000元。款项以银行存款支付。&br&&br&对于这种略微复杂的交易,不要被阵势所吓住,这里讲一套处理原则:&br&原则一:老规矩,先确定三要素变动。&br&原则二:敲定数字的顺序是从资产到负债再到所有者权益。&br&原则三:有银行存款的先敲定银行存款。&br&原则四:发现写出的数字对不上时,先找所有者权益的问题再找负债的问题再找资产的问题,前提是原则二已经认真贯彻执行。&br&&br&这里哪些要素有变化,资产变动了,而且既有加,也有减。负债减少了,产生了可抵扣应交税费的增值税进项税额。所有者权益减少了,因为培训费用不允许计入固定资产成本,要费用化。箭头画出来再说:&br&&img src=&/v2-d5a83dce7d2ab232cca8918_b.jpg& data-rawwidth=&857& data-rawheight=&634& class=&origin_image zh-lightbox-thumb& width=&857& data-original=&/v2-d5a83dce7d2ab232cca8918_r.jpg&&&br&先敲定资产,而且从银行存款开始。为什么呢?因为不管别的,做一笔交易付了多少钱你还能不清楚吗?这是显而易见的。&br&银行存款减少了+55+300+500+元&br&那么固定资产入账价值呢?&br&买价加上可以资本化的成本:0=10800元&br&接着处理负债,因为我们买东西取得了可抵扣增值税发票,这个东西可以让我们少交税,所以应交税费——应交增值税减少了5元&br&最后处理所有者权益,这里唯一不可以资本化的便是培训费,这个是费用,且导致所有者权益减少,记入管理费用1000元。&br&&img src=&/v2-022e4fd08dea03f1e4ae_b.jpg& data-rawwidth=&848& data-rawheight=&621& class=&origin_image zh-lightbox-thumb& width=&848& data-original=&/v2-022e4fd08dea03f1e4ae_r.jpg&&最后检查下对不对,左边净减少2755元,右边合计减少2755元,正好相等。所以这里你就看到了,在处理涉及多科目的交易时,T字图能把问题分解得很清楚,也特别方便复查和修改,不像分录搞成一团浆糊,不知道该先处理哪个。&br&&br&再来看看折旧。折旧是会计上一个非常重要的概念,就是把资产的账面价值按一定的系统化的方法分期费用化。可以从两个角度理解,一是资产会越用越旧,为了体现这个事实,咱们记折旧。另一个角度是为了提高会计信息的质量。想象一下,某总资产6000万的公司买了台5000万元的大型设备,可以用二十年,如果不记折旧,那么前些年,股东们拿到的报表上,每年都漂漂亮亮地放着个5000万元的设备,看似公司实力雄厚。然后,第二十年底,设备报废了,公司的资产刷地一下少了5000万,你说惊不惊悚。为了不这么惊悚,所以我们把这5000万慢慢费用化。&br&&br&所以,折旧导致的是固定资产的减少,所有者权益的减少(费用的增加)。为了核算多年累积的固定资产减少金额,会计上就创了一个固定资产备抵账户——累积折旧。&br&&br&折旧的方法有以下几种:&br&&ol&&li&年限平均法&br&&/li&&li&工作量法&br&&/li&&li&双倍余额递减法&br&&/li&&li&年数总和法&br&&/li&&/ol&&br&具体方法这里不赘述,可以自行百度“折旧方法”&br&&br&折旧的处理在T字图上展示出来便是&br&&img src=&/v2-15cefe3ca9bafc405040_b.jpg& data-rawwidth=&862& data-rawheight=&616& class=&origin_image zh-lightbox-thumb& width=&862& data-original=&/v2-15cefe3ca9bafc405040_r.jpg&&一般每一个会计期间末,企业都会做一次这个调整。多年累积起来的折旧都会放在累积折旧这个账户里面。有公式:固定资产账面价值=固定资产初始成本-累积折旧-固定资产减值准备。在最终的资产负债表,我们看到的固定资产的数额都是固定资产的净值,也就是账面价值。(固定资产减值准备是固定资产的另一个备抵账户,减值的问题《会计基础》不涉及,暂不赘述)&br&&br&讲完了固定资产的购置,固定资产的折旧,接下来就是固定资产的处置了。&br&&br&固定资产处置,一般有两种情况,一种是固定资产报废,一种是固定资产转让出售。另外,还有可能是因为一些意外事故而毁损。&br&&br&固定资产一旦处置,就意味着固定资产要从账上划走了,彻底没有了,所以,与固定资产有关的所有账户都应该清零,比如,固定资产主账户,固定资产累计折旧账户,固定资产减值准备账户,不能没了身子,还留着尾巴。&br&&br&来看一道题目:&br&乙公司现有一台设备由于性能等原因提前报废,原价为500000元,已计提折旧450000元,未计提减值准备。报废时的残值变价收入为20000元,报废清理过程中发生清理费用3500元。有关收入、支出均通过银行办理结算,不考虑相关税金。怎么画图呢?&br&&br&先得介绍一个特殊的账户,叫固定资产清理,这是个资产类的过渡账户,主要是把那些正在处理流程中的固定资产丢进去,因为固定资产处置不是一个说处置就能处置的,他们往往很大,而且涉及的乱七八糟的科目很多,所以,统一在里面做归集。先把固定资产和其相关科目的余额丢进去:&br&&img src=&/v2-d228b3a4d4b0e8f74c34_b.jpg& data-rawwidth=&883& data-rawheight=&632& class=&origin_image zh-lightbox-thumb& width=&883& data-original=&/v2-d228b3a4d4b0e8f74c34_r.jpg&&&br&固定资产减少这里是按照初始成本写的,为500000元。累计折旧这里箭头向上,意味着累计折旧减少了450000,两项相抵,相当于固定资产的净值50000元被划进固定资产清理了。这里好好体会下箭头的方向以及净额和初始成本的区别。&br&&br&下面,我们把这部分清理的固定资产卖了20000元,同时为了做这笔交易,额外支出了3500元的清理费。把这个过程如下画出来:&br&&img src=&/v2-16ecc1a7091_b.jpg& data-rawwidth=&1427& data-rawheight=&539& class=&origin_image zh-lightbox-thumb& width=&1427& data-original=&/v2-16ecc1a7091_r.jpg&&最后一笔,把剩下的固定资产清理33500全部作为清理带来的损失处理掉,作为营业外支出,调减所有者权益:&br&&img src=&/v2-e82bb996c4fd9d33f32fe9_b.jpg& data-rawwidth=&927& data-rawheight=&661& class=&origin_image zh-lightbox-thumb& width=&927& data-original=&/v2-e82bb996c4fd9d33f32fe9_r.jpg&&到这里,你们可能有些云里雾里了,怎么一个处置固定资产要搞这么多图,烦不烦。别急,要是看分录你绝对会更晕,咱把四张图放在一起一重叠,你就能立马看出到底是怎么回事了,这就是直观的好处!&br&&img src=&/v2-c78a967bf4d08cc4808b2_b.jpg& data-rawwidth=&983& data-rawheight=&740& class=&origin_image zh-lightbox-thumb& width=&983& data-original=&/v2-c78a967bf4d08cc4808b2_r.jpg&&并起来:&br&&img src=&/v2-4ccdbc970d1_b.jpg& data-rawwidth=&1081& data-rawheight=&758& class=&origin_image zh-lightbox-thumb& width=&1081& data-original=&/v2-4ccdbc970d1_r.jpg&&&br&现在,你会发现,我们把固定资产清理的加加减减放在一起后,是全部可以消掉的,而固定资产和累计折旧是可以相互抵减的(备抵账户和主账户原值相抵减会得到净值),营业外支出拆开,拆成30000元和3500元。最后你看到的是:&br&&img src=&/v2-d11dd0d624_b.jpg& data-rawwidth=&1073& data-rawheight=&760& class=&origin_image zh-lightbox-thumb& width=&1073& data-original=&/v2-d11dd0d624_r.jpg&&到底发生什么现在是不是很清楚了?一个账面净值为50000元的固定资产被卖了20000元,卖亏了30000元,同时,为了卖这个固定资产,咱付了3500元的清理费用。&br&&br&这就是直观的好处,你就明白了,为什么固定资产清理只是一个资产类过渡账户,它是链接买卖两头的桥梁,它的存在只是暂时的。&b&有了T字图,交易的实质真的就是一目了然!&/b&&br&&br&&br&这是固定资产处置损失的情况(卖价低于账面价值),如果是卖赚呢?无非就是把右下角的营业外支出改成营业外收入罢了,所以你只要能看到交易的实质,不管题目怎么变,都是不要紧的。&br&&br&3. 材料采购和发出业务&br&这一块里,我被问到最多的问题有三个,一个是,为什么存货要在卖出时才确认成本,二是材料成本差异是个什么东西,三是增值税的进项销项是什么回事。有了T字图,这些都很好理解。&br&&br&采购原材料和采购固定资产是一样的,钱出去,物进来,那图该怎么画,我就不说了。但是,存货相比固定资产来讲,还有个特殊性:第一,存货的价格往往是波动的,受到市场、进货量等多种因素的影响。第二,存货的购入是频繁的。那么,每一笔存货的购置如果都按照实际的进价来处理,就会带来较大的管理负担,为此,企业采取一种比较聪明的做法——计划成本法。&br&&br&所谓计划成本法,就是根据长期以来的历史采购价格,或是预算上确定的价格,对存货做一个价格上的认定。举个例子,某公司长期进购苹果,价格在一斤4块钱左右波动,那么不管每一批次实际价格多少,都按照4块钱的计划价格记账,那这样子,就会有实际与计划的差额,这个差额,我们归集到一个叫“材料成本差异”的账户里,然后在期末一次性地做集中处理。由于差额可正可负,所以累计出的材料成本差异,也是可正可负的。&br&&br&来看一道真题举个例子:&br&一般纳税人A公司购入甲材料一批,货款200000元,增值税34000元,发票账单已收到,计划成本为220000元,材料已验收入库,款项已用银行存款支付。&br&&br&第一步,我们先按实际价格对材料购置进行记录:&br&&img src=&/v2-e51fbef00c507fdc8eced877_b.jpg& data-rawwidth=&1089& data-rawheight=&722& class=&origin_image zh-lightbox-thumb& width=&1089& data-original=&/v2-e51fbef00c507fdc8eced877_r.jpg&&&br&关于增值税,这里是买东西,所以是进项,进项抵减应交增值税,因此负债这边是减少的。材料采购这个账户放着的是实际的采购成本。&br&&br&现在,把实际的转成计划的:&br&&img src=&/v2-fcffb7cc9e81e_b.jpg& data-rawwidth=&1090& data-rawheight=&763& class=&origin_image zh-lightbox-thumb& width=&1090& data-original=&/v2-fcffb7cc9e81e_r.jpg&&&br&因为实际的小于计划的,所以材料成本差异这里应该是用来抵多的,所以是向下箭头。其实两个图可以合在一起,材料采购就不存在了,材料采购这里也只是暂记的作用。&br&&br&后来,A公司又开出商业承兑汇票购入甲材料一批,货款230000元,增值税39100元,计划成本还是220000元。这里咱就不用材料采购账户转一道了,直接并起来:&br&&img src=&/v2-0cc165a90da4f0aecb5e2e35a7776b7c_b.jpg& data-rawwidth=&1134& data-rawheight=&760& class=&origin_image zh-lightbox-thumb& width=&1134& data-original=&/v2-0cc165a90da4f0aecb5e2e35a7776b7c_r.jpg&&因为还没付钱,只开了票,所以银行存款不减少,应付票据(负债)要增加,等兑付时,再减少银行存款,减少应付票据。&br&&br&两笔比较一下,第一笔导致材料成本差异负20000元,第二笔导致正10000元。假设这家公司继续这么采购下去,一年下来,材料成本差异就加加减减,留下了这么个余额,这个余额就是这一年里实际采购成本比计划采购成本多或少的金额。这个金额有什么用,业绩评估上就很有用,如果材料成本差异的金额是正数,而且很大,那说明采购部买东西买贵了,超出了预算,这是成本控制没做好的表现。那如果是负数,采购部就有奖金可以拿了。&br&&br&接下来是原材料的发出,原材料发出不是卖掉原材料的意思,是把原材料投入生产的意思。&br&&br&原材料发出的计价方法也有两大类,一类也是实际成本法,一类也是计划成本法。并且和购入的是对应的,就是说,买入按实际计量,发出也按实际计量,购入按计划计量,发出也按计划计量。&br&&br&发出的实际成本法又分为四类,分别是:&br&1. 个别计价法,顾名思义,就是识别出每一个存货的购入价格,从原材料转入生产成本,一般适用于飞机大炮坦克这种大大的东西。&br&2. 先进先出法,意思就是名义上默认先买的被先发出了,咱进了几批苹果,混在一起,发出是也分不清楚哪个是哪个,但默认先进库的被先发出了。&br&3. 月末一次加权平均法,就是按一个月里进的原材料的总买价除以一个月里进的原材料的总量,计算出加权平均单价,然后再按发出的量乘以加权平均单价,计发出存货的成本。比如第一批100个,每个3.5,第二批300个,每个3.6,第三批200个,每个3.4,那这600个平均单价3.52,这个月若发出了250个,那发出成本就是880元。&br&4. 移动加权平均法,也是加权平均,但和上面不一样,这个是每次进货都重新把账上的和新增的合在一起加权平均一次,得到新的原材料单价,操作上略微麻烦,往往是信息化程度高的企业用计算机自动算的。&br&&br&那计划成本法呢?&br&我们知道,计划成本法下有一部分原材料成本被放在材料成本差异里面了,所以要在发出时一并把归属于发出原材料的那部分材料成本差异一并给带走,放进生产成本或者是费用。&br&&br&来道真题:&br&某企业月初结存材料的计划成本为50000元,成本差异为超值差1500元,本月入库材料的计划成本为150000元,成本差异为节约差异5000元,根据本月“发料凭证汇总表”,该企业当月生产车间领用材料15000元,行政部门领用材料500元。&br&&br&我们先把购货的情况画出来。&br&&img src=&/v2-3b3f2dee43fd1ca0c302629_b.jpg& data-rawwidth=&1104& data-rawheight=&755& class=&origin_image zh-lightbox-thumb& width=&1104& data-original=&/v2-3b3f2dee43fd1ca0c302629_r.jpg&&&br&这个图上面的小横线代表的是账户上的期初留存的余额,是存量,不增不减。&br&&br&那么现在发出了一部分原材料,一部分用于生产,一部分用于行政管理。用于生产记为生产成本,用于行政管理的记为管理费用。&br&&br&先把原材料发出额敲定:&br&&img src=&/v2-fe18a50be7d7da0cbd3c3cb29e7ca0e8_b.jpg& data-rawwidth=&1086& data-rawheight=&762& class=&origin_image zh-lightbox-thumb& width=&1086& data-original=&/v2-fe18a50be7d7da0cbd3c3cb29e7ca0e8_r.jpg&&这里说一句,生产成本这个账户属于成本类账户,本应画在右下角,标向下标志。但我为什么放在资产里面呢?首先,你会看到,这样做是不影响两边平衡的。至于为什么要这么做,是因为生产成本会在下一个部分(生产业务账务处理)里面经过生产流程和直接人工费用一起,变成库存商品(产成品)成本的一部分,库存商品是资产,而在库存商品被卖掉之前,这笔成本并不会流出企业,说是成本,实际还是资产。&br&&br&原材料处理完了,下一步是处理材料成本差异,这个原理其实很简单:合理分摊出单位原材料的成本差异,再按发出量算出发出部分应该该分摊的成本差异。发出原材料时,原材料的金额是00=200000元,成本差异是-3500元(),那就是每一块钱原材料该分摊-0.0175元。所以,生产车间该分摊的部分是15000X(-0.0175)=-262.5元,行政部门领用应该分摊的部分是500X(-0.0175)=-8.75元。&br&&br&那么,现在就可以把这部分搞定了:&br&&img src=&/v2-20beb205a96f7a0b6b76b3a48eba97fa_b.jpg& data-rawwidth=&1087& data-rawheight=&723& class=&origin_image zh-lightbox-thumb& width=&1087& data-original=&/v2-20beb205a96f7a0b6b76b3a48eba97fa_r.jpg&&这里怎么理解,有了T字图就比较好看懂。材料成本差异里本来是负数,意思是节约差,就是采购部特别能吃苦,特别能砍价,导致原材料实际成本比计划成本少了3500元。那这部分节约的,因为原材料发出被转出了271.25元。节约的部分被转出了,就是资产变多了271.25元,箭头向上。这个节约的部分,算两个东西头上去,一是生产成本,节约了262.5元,二是管理费用节约了8.75元。不要问我为什么管理费用节约了8.75元箭头是向上的,我说了,箭头表示的三要素层面的变动,管理费用节约,就是所有者权益变多。&br&&br&到此, 材料采购和发出业务也搞定了。&br&&br&4. 生产业务的账务处理&br&生产业务的原理非常简单,就是把各种人力物力财力的成本归集到我们的最终产生品上。财力是银行存款,物力分生产成本和制造费用,人力就是应付职工薪酬(负债)。&br&&br&基本的T字图便是:&br&&img src=&/v2-c92c42ee60a_b.jpg& data-rawwidth=&1089& data-rawheight=&765& class=&origin_image zh-lightbox-thumb& width=&1089& data-original=&/v2-c92c42ee60a_r.jpg&&&br&这里制造费用啰嗦几句,它和生产成本一样,是个管理会计用的账户,所以财务会计报表上是看不到这个东西的,它说是成本类科目,其实是个半资产。生产成本我刚才说过,生产库存商品所投入的原材料就丢进去,制造费用里放什么,放那些要在多个商品间系统分摊的成本,比如A仓库同时生产甲乙丙丁几种商品,那么产生的水电煤气费也搞不清楚是谁的,就统一丢进制造费用里,再用一定系统方法在甲乙丙丁间分摊,计入库存商品,资本化。分摊方法有生产工时比例法、生产工人工资比例法、机器工时比例法、耗用原材料的数量或成本比例法、产成品产量比例法、年度计划分配率法,都是按不同基准分配,原理是一样的,在此不赘述了。&br&&br&另外,在核算时,制造费用不一定直接丢进库存商品的成本里,可能先分摊进生产成本,再从生产成本丢进库存商品。总之,企业所有资产的归属,要么是成为了另外一项资产,要么就是成为了一笔费用消失在了空气中,除此之外,还有分红给了股东。会计的工作就是记录这个纷繁复杂的转换过程。&br&&br&5.销售业务的账务处理&br&产品生产出来了,下一步就是卖掉了。还记得固定资产处置是怎么做的吗,把处置时固定资产账面净额和收到的钱款之间的差计入营业外收入(卖赚)或营业外支出(卖亏)。&br&&img src=&/v2-bc5dade1ca1_b.jpg& data-rawwidth=&1091& data-rawheight=&753& class=&origin_image zh-lightbox-thumb& width=&1091& data-original=&/v2-bc5dade1ca1_r.jpg&&&br&卖库存商品,原理是相同的,但有一点点细微的差别。差别就是,在做固定资产处置时,我们是把盈亏的差额净值计入收入或费用,而在卖库存商品时,我们则是做双向记录。什么意思,你们看了就知道了:&br&第一向,钱进来。&br&&img src=&/v2-0c183b646d2d0a6cfbef9_b.jpg& data-rawwidth=&1085& data-rawheight=&755& class=&origin_image zh-lightbox-thumb& width=&1085& data-original=&/v2-0c183b646d2d0a6cfbef9_r.jpg&&第二向,物出去。&br&&img src=&/v2-fba48736abebb3e2cc8e2af_b.jpg& data-rawwidth=&1085& data-rawheight=&751& class=&origin_image zh-lightbox-thumb& width=&1085& data-original=&/v2-fba48736abebb3e2cc8e2af_r.jpg&&就是说,一进一出,要分别表示,为的是提供更详细的会计信息。其他业务收入,其他业务成本也是一样。&br&&br&另外,在销售商品时,因为增值税而多收到的钱财,是要交给国家的,所以,不要忘了在左边多画一笔银行存款,在右边多画一笔应交

我要回帖

更多关于 求cf高手 的文章

 

随机推荐