<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>杂谈 on 庞玉栋个人博客</title><link>https://pangyd.com/tags/%E6%9D%82%E8%B0%88/</link><description>Recent content in 杂谈 on 庞玉栋个人博客</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Mon, 06 May 2019 16:35:07 +0800</lastBuildDate><atom:link href="https://pangyd.com/tags/%E6%9D%82%E8%B0%88/index.xml" rel="self" type="application/rss+xml"/><item><title>如果代码按行付费，会有什么好玩的事情发生？</title><link>https://pangyd.com/post/213/</link><pubDate>Thu, 28 Mar 2019 16:09:54 +0800</pubDate><guid>https://pangyd.com/post/213/</guid><description>&lt;p>&lt;strong>&lt;span>程序员联盟发布了一条消息：&lt;/span>&lt;/strong>&lt;span>以后我们的代码要&lt;span>按行收费&lt;/span>。客户们立即就炸了锅，按代码收费？那你程序员不是想怎么写就怎么写，我们让你们做个项目，你写个空行，写点注释什么的，谁来管?&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;/span>&lt;/p>&lt;p>&lt;img data-type="gif" data-src="https://pangyd.com/uploads/2019/03/74c10f869f038762.gif" class=" __bg_gif" data-ratio="1" data-w="300" _width="100%" src="https://pangyd.com/uploads/2019/03/74c10f869f038762.gif" data-order="1" data-fail="0">&lt;/p>&lt;p>&lt;span>&lt;/span>&lt;br>&lt;/p>&lt;p>&lt;strong>&lt;span>物竞天择。&lt;/span>&lt;/strong>&lt;span>有人有需求就立即有人响应。正当这些客户无所适从的时候，一个职业产生了：代码缩行师。客户在审查项目交付的时候会先去缩行事务所请一位缩行师。缩行师的职责就是，在保证不改变原有系统功能的前提下，将程序最大程度的缩减行数，缩行师按照缩减行数的百分之
 10 收费。&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;strong>&lt;span>缩行师&lt;/span>&lt;/strong>&lt;/span>&lt;span>是程序员最大的天敌。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;img data-type="gif" data-src="https://pangyd.com/uploads/2019/03/74c10f869f038762.gif" class=" __bg_gif" data-ratio="0.564" data-w="500" src="https://pangyd.com/uploads/2019/03/74c10f869f038762.gif" data-order="2" data-fail="0">&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>缩行师也是分等级的，最低级的缩行师只能缩缩空行，挪一挪括号，一般人都能做，大抵是被程序员看不起的，往上一级就要稍微懂一点编程知识了，知道怎么把定义的变量合到一行，怎么去掉可以去掉的括号，他们已经一脚踏入了领域和空间的境界了，他们许多是程序员做不下去为了生计讨口饭吃，倘若搞好客户关系，也能活的很滋润。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>再往上一级，这些人是缩行师界的精英，而且随时可以成为最优秀的程序员，他们把无聊的体力工作交给下边的人去做，自己则和程序员斗智斗勇，“你这个变量没必要定义”，“你这两处的功能重复了，回去重构一下”，“你这个是自己造轮子，去找别人开源写好的”。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>他们有的曾经是最好的程序员，有的是因为忍受不了缩行师的百般挑刺，无奈转行，有的是因为满足内心找茬的欲望。他们有的是从事多年的缩行师，从学徒起一步一步坐起，扎扎实实的走到现在的地位，这个级别的缩行师是各大缩行事务所争抢的对象。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;/span>&lt;/p>&lt;p>&lt;img data-type="gif" data-src="https://pangyd.com/uploads/2019/03/74c10f869f038762.gif" class=" __bg_gif" data-ratio="0.546" data-w="500" src="https://pangyd.com/uploads/2019/03/74c10f869f038762.gif" data-order="3" data-fail="0">&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>每个客户都以邀请到他们为荣，预约的人多了，事务所开始准备&lt;strong>“缩号”&lt;/strong>，客户只有摇到了缩号才能有幸邀请到这些人，有的客户更是为专家缩号大打出手，于是又催生了一种叫&lt;strong>“缩牛”&lt;/strong>的职业，不再赘述。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>他们某种程度上已经达到了缩行师的顶峰，但还有一种传说中的存在，他们是打破规则的存在，如果你侥幸看到他们的杰作，你就会发现上面提到的都是浮云。一行，只需要一行就够了，什么工程，什么项目，只需要一行。jQuery.min.js 就是他们的杰作。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>有一个站在巅峰的男人曾经应拉里
 · 佩奇的邀请将谷歌的所有代码写成了一行，并且能完整的实现了谷歌现有的所有功能，人们甚至发现谷歌搜索快了将近 
30%。后来有华尔街和硅谷的资深从业者看到这行代码后久久不能平静，对这行代码给出了 5600 
亿美元的估值，当然这行代码一般人是看不完的，据说这行代码的长度可以从加州连接到 M31 星系。&lt;/span>&lt;/p>&lt;p>&lt;span>程序员的生活变得越来越艰难，程序员联盟本身的福祉：变成了灾难，尽管随着代码的行数减少，单行的价格在不断的升高，程序员行业的整体质量也在不断的提高，但依旧艰难。程序员联盟又做了一个艰难的决定：最终的代码每行不得多于
 200 字符。对于一般的程序，一行 200 字符足够了，即使一行内容长，也可以分行解决。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;/span>&lt;/p>&lt;p>&lt;img data-type="gif" data-src="https://pangyd.com/uploads/2019/03/74c10f869f038762.gif" class=" __bg_gif" data-ratio="0.75" data-w="800" src="https://pangyd.com/uploads/2019/03/74c10f869f038762.gif" data-order="4" data-fail="0">&lt;/p></description></item><item><title>IT程序员被叫“码农”程序员你怎么看？</title><link>https://pangyd.com/post/205-it/</link><pubDate>Tue, 06 Nov 2018 14:07:36 +0800</pubDate><guid>https://pangyd.com/post/205-it/</guid><description>&lt;p style="text-align: start">在几年之前，”码农“还只是行业内大家互相调侃的称谓，感觉现在几乎所有行业的人都喊IT工程师“码农”。“码农”反而成为了官方称呼了。感觉这不是一个好事，影响学生们对这个行业的看法，感觉好学校的学生都不愿意做技术了。技术大拿们该不该号召大家不要再以码农自称了？&lt;/p>&lt;p style="text-align: start">&lt;br>&lt;/p>&lt;p style="text-align: start">预料之内，这个话题引来众多程序员的讨论，下面摘选了10个比较有代（有）表（意）性（思）的回答：&lt;/p>&lt;p style="text-align: center">&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E" data-size="700|569">&lt;/p>&lt;p style="text-align: justify">&lt;br>&lt;/p>&lt;p style="text-align: justify">&lt;span>程序员一：&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>歧视农名是不对的！&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>程序员二：&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>“码农”比“码畜”好听多了。&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>程序员三：&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>你多给我一倍薪水，叫我孙子都行。&lt;br>&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;br>&lt;/p>&lt;p style="text-align: justify">&lt;span>程序员四：&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>我们好歹还是人，产品和设计已经是狗了。&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;br>&lt;/p>&lt;p style="text-align: justify">&lt;span>程序员五：&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>码农算是好的，硅工是我等打磨芯片的民工的昵称。&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;br>&lt;/p>&lt;p style="text-align: justify">&lt;span>程序员六：&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>一位长者告诉我们“中国有句古话,叫做闷声发大财。”&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>程序员七：&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>这有什么？有些人还巴不得大家都说他是人民公仆呢。&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;br>&lt;/p>&lt;p style="text-align: justify">&lt;span>程序员八：&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>我们公司的美术还管我叫做“打字员”呢，满满的恶意啊&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>程序员九：&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>我们每天研究技术，哪有心思管这些，小屁孩们爱来不来。现在码农工资节节高升，正说明了人还不够。等人太多了，工资就会下跌，到时候我们就知道中国需要多少码农了。&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>程序员十：&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>一年工作经验的java程序员在北京可以拿到8k+以上（保守估计），码农通常智力都不低，少数码农有交际困难，不过多数都没有。这么一群高收入高智力的人群会被人鄙视？别闹了，我们只是自嘲而已，真的有哪个文科生来嘲笑我们，我们绝对会不择手段的在各个方面碾压过去的。trust
 me&lt;/span>&lt;/p></description></item><item><title>程序员的日常</title><link>https://pangyd.com/post/190/</link><pubDate>Tue, 26 Jun 2018 11:31:21 +0800</pubDate><guid>https://pangyd.com/post/190/</guid><description>&lt;p>&lt;span>大神写的代码&lt;/span>&lt;/p>&lt;p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E">&lt;/p>&lt;p>&lt;span>自己写的代码&lt;/span>&lt;/p>&lt;p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E">&lt;/p></description></item><item><title>程序员6大幽默的编程语录，比尔盖茨诠释了什么叫编程进度！</title><link>https://pangyd.com/post/188-6/</link><pubDate>Fri, 01 Dec 2017 21:23:53 +0800</pubDate><guid>https://pangyd.com/post/188-6/</guid><description>&lt;p>在很多人的印象当中，程序员是比较内向、呆板的。&lt;/p>&lt;p>实际上，这是一个很有幽默感的群体。&lt;/p>&lt;p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E">&lt;/p>&lt;p>下面w3cschool就让小伙伴们感受一下程序员们的幽默感，程序员幽默起来很吓人。&lt;/p>&lt;p>0、编程就像性一样:一时犯错,终生维护。——Michael Sinz&lt;/p>&lt;p>改bug是消除BUG的过程，编程就是将bug放进的过程。&lt;/p>&lt;p>你的代码写的有多聪明，你就要用更聪明的方式DEBUG。&lt;/p>&lt;p>正所谓魔高一尺，道高一丈。&lt;/p>&lt;p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E">&lt;/p>&lt;p>1、编程时要保持这种心态：就好象将来要维护你这些代码的人是一位残暴的精神病患者，而且他知道你住在哪。——MartinGolding&lt;/p>&lt;p>并非所有的程序员写的代码是易于维护的，有些程序员代码没有注释的习惯，或者违反了编程惯例，导致了代码难以维护。&lt;/p>&lt;p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E">&lt;/p>&lt;p>2、如果没能一次成功，那就叫它1.0版吧。&lt;/p>&lt;p>3、用代码行数来衡量程序的开发进度，就好比用重量来衡量飞机的制造进度。—— 比尔·盖茨&lt;/p>&lt;p>一直以来，很赞同一个观点：码20万行程序和编20万行工业级质量的代码，体验是完全不同的!&lt;/p>&lt;p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E">&lt;/p>&lt;p>4、有的时候宁愿付钱让你周一在床上待着，也不想让你用这周剩下的时间去调试你在周一所写的代码。 —— 丹·所罗门&lt;/p>&lt;p>5、Talk is cheap, show me the code。——Linus之父&lt;/p>&lt;p>来看看神翻译：“废话少说，放码过来”。&lt;/p></description></item><item><title>请不要自称自己是程序员</title><link>https://pangyd.com/post/183/</link><pubDate>Mon, 27 Nov 2017 19:51:25 +0800</pubDate><guid>https://pangyd.com/post/183/</guid><description>&lt;p>&lt;span>每年都有无数年轻程序员，加入软件行业。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>他们在学校里学过编程，但是对这个行业的现实一无所知。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p style="text-align: center">&lt;img data-src="https://pangyd.com/uploads/2017/11/74c10f869f038762.jpg" class="" data-ratio="0.660377358490566" data-w="636" data-type="jpeg" width="333px" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E" data-fail="0">&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>Patrick McKenzie&amp;nbsp;是美国一家小软件公司的老板，他写了一篇长文，介绍这个行业的一些实际情况。我看了以后很感慨，有些地方很受启发。我选择了一部分，翻译如下。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;h2>&lt;span>&lt;/span>&lt;/h2>&lt;p>&lt;/p>&lt;section class="" data-mpa-template-id="489541" data-mpa-color="#ffffff" data-mpa-category="title">&lt;section label="Copyright Reserved by ipaiban.com." donone="shifuMouseDown('shifu_t_016')" mpa-is-content="t">&lt;span>&lt;span>一、90% 的编程工作来自内部软件&lt;/span>&lt;/span>&lt;/section>&lt;/section>&lt;p>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>计算机专业的学生，可能有一种印象，觉得大部分程序员，都在编写公开出售的软件或者通用软件。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>这种看法是不对的。大部分程序员，实际上编写的是不公开的企业内部软件，比如追踪费用的软件、优化装运成本的软件、帮助记账的软件、设计新部件的软件、计算保单价格的软件、识别恶意订单的软件等等。各种各样的商业公司，开发内部软件，解决它们自己的问题。市场上对程序员的大部分需求来源于此，只有极少数程序员直接编写面向外部顾客的软件。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>内部软件的开发，通常非常乏味，令人厌倦。因为它们的技术复杂性低、技术决策非常保守、预算很少、缺乏长远考虑。但是，世界上大部分编程工作都是这种。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;h2>&lt;span>&lt;/span>&lt;/h2>&lt;p>&lt;/p>&lt;section class="" data-mpa-template-id="489541" data-mpa-color="#ffffff" data-mpa-category="title">&lt;section label="Copyright Reserved by ipaiban.com." donone="shifuMouseDown('shifu_t_016')" mpa-is-content="t">&lt;span>&lt;span>二、别人雇你的目的，是让你创造利润，不是让你编程&lt;/span>&lt;/span>&lt;/section>&lt;/section>&lt;p>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;/span>&lt;/p>&lt;p style="text-align: center">&lt;img data-type="gif" data-src="https://pangyd.com/uploads/2017/11/74c10f869f038762.jpg" data-copyright="0" class=" __bg_gif" data-ratio="0.562" data-w="500" width="382px" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E" data-order="0" data-fail="0">&lt;/p>&lt;p>&lt;span>&lt;/span>&lt;br>&lt;/p>&lt;p>&lt;span>商业公司最关心的（或者说唯一在乎的）事情，就是增加收入、降低成本。因此，它们实际上需要的不是程序员，而是能够帮助它们增加收入、降低成本的人。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>开发优美的软件，解决技术难题，编写没有 bug 的代码，这些都不是商业公司的目的。它们雇佣你，是为了让你帮它们完成某个可以增加收入、降低成本的项目，而不是为了让你追求个人的软件成就。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>你对于公司的唯一价值，就在于能多大程度上为它们增加收入、降低成本。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;h2>&lt;span>&lt;/span>&lt;/h2>&lt;p>&lt;/p>&lt;section class="" data-mpa-template-id="489541" data-mpa-color="#ffffff" data-mpa-category="title">&lt;section label="Copyright Reserved by ipaiban.com." donone="shifuMouseDown('shifu_t_016')" mpa-is-content="t">&lt;span>&lt;span>三、不要自称为程序员&lt;/span>&lt;/span>&lt;/section>&lt;/section>&lt;p>&lt;/p></description></item><item><title>Java 异常处理的误区和经验总结</title><link>https://pangyd.com/post/172-java/</link><pubDate>Sat, 18 Nov 2017 22:29:47 +0800</pubDate><guid>https://pangyd.com/post/172-java/</guid><description>&lt;p>&lt;br>&lt;/p>&lt;div class="content rich" data-reactid=".0.1.0.0.0.1.1.1">&lt;p>&lt;span>本文着重介绍了 Java 异常选择和使用中的一些误区，希望各位读者能够熟练掌握异常处理的一些注意点和原则，注意总结和归纳。只有处理好了异常，才能提升开发人员的基本素养，提高系统的健壮性，提升用户体验，提高产品的价值。&lt;/span>&lt;/p>&lt;h2>&lt;span>误区一、异常的选择&lt;/span>&lt;/h2>&lt;p>&lt;span>图 1. 异常分类&lt;/span>&lt;/p>&lt;p>&lt;img class="" title="img001" data-src="https://pangyd.com/uploads/2017/11/74c10f869f038762.jpg" width="643" height="383" data-ratio="0.5956454121306376" data-w="643" data-type="png" data-backw="643" data-backh="383" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E" data-fail="0" style="text-align: center">&lt;/p>&lt;p>&lt;span>图 1 描述了异常的结构，其实我们都知道异常分检测异常和非检测异常，但是在实际中又混淆了这两种异常的应用。由于非检测异常使用方便，很多开发人员就认为检测异常没什么用处。其实异常的应用情景可以概括为以下：&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>一、调用代码不能继续执行，需要立即终止。出现这种情况的可能性太多太多，例如服务器连接不上、参数不正确等。这些时候都适用非检测异常，不需要调用代码的显式捕捉和处理，而且代码简洁明了。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>二、调用代码需要进一步处理和恢复。假如将 SQLException 定义为非检测异常，这样操作数据时开发人员理所当然的认为 SQLException 不需要调用代码的显式捕捉和处理，进而会导致严重的 Connection 不关闭、Transaction 不回滚、DB 中出现脏数据等情况，正因为 SQLException 定义为检测异常，才会驱使开发人员去显式捕捉，并且在代码产生异常后清理资源。当然清理资源后，可以继续抛出非检测异常，阻止程序的执行。根据观察和理解，检测异常大多可以应用于工具类中。&lt;/span>&lt;/p>&lt;h2>&lt;span>误区二、将异常直接显示在页面或客户端。&lt;/span>&lt;/h2>&lt;p>&lt;span>将异常直接打印在客户端的例子屡见不鲜，以 JSP 为例，一旦代码运行出现异常，默认情况下容器将异常堆栈信息直接打印在页面上。其实从客户角度来说，任何异常都没有实际意义，绝大多数的客户也根本看不懂异常信息，软件开发也要尽量避免将异常直接呈现给用户。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>清单 1&lt;/span>&lt;/p>&lt;pre class="">&amp;nbsp;package&amp;nbsp;com.ibm.dw.sample.exception;/**&lt;br>&amp;nbsp;*&amp;nbsp;自定义&amp;nbsp;RuntimeException&lt;br>&amp;nbsp;*&amp;nbsp;添加错误代码属性&lt;br>&amp;nbsp;*/public&amp;nbsp;class&amp;nbsp;RuntimeException&amp;nbsp;extends&amp;nbsp;java.lang.RuntimeException&amp;nbsp;{&amp;nbsp;&lt;br>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//默认错误代码&amp;nbsp;&lt;br>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;final&amp;nbsp;Integer&amp;nbsp;GENERIC&amp;nbsp;=&amp;nbsp;1000000;&amp;nbsp;&lt;br>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//错误代码&lt;br>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;Integer&amp;nbsp;errorCode;&amp;nbsp;&lt;br>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;RuntimeException(Integer&amp;nbsp;errorCode,&amp;nbsp;Throwable&amp;nbsp;cause)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this(errorCode,&amp;nbsp;null,&amp;nbsp;cause);&lt;br>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;RuntimeException(String&amp;nbsp;message,&amp;nbsp;Throwable&amp;nbsp;cause)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//利用通用错误代码&lt;br>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this(GENERIC,&amp;nbsp;message,&amp;nbsp;cause);&lt;br>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;RuntimeException(Integer&amp;nbsp;errorCode,&amp;nbsp;String&amp;nbsp;message,&amp;nbsp;Throwable&amp;nbsp;cause)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;super(message,&amp;nbsp;cause);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.errorCode&amp;nbsp;=&amp;nbsp;errorCode;&lt;br>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;Integer&amp;nbsp;getErrorCode()&amp;nbsp;{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;errorCode;&lt;br>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;br>}&lt;/pre>&lt;p>&lt;span>正如示例代码所示，在异常中引入错误代码，一旦出现异常，我们只要将异常的错误代码呈现给用户，或者将错误代码转换成更通俗易懂的提示。其实这里的错误代码还包含另外一个功能，开发人员亦可以根据错误代码准确的知道了发生了什么类型异常。&lt;/span>&lt;/p>&lt;h2>&lt;span>误区三、对代码层次结构的污染&lt;/span>&lt;/h2>&lt;p>&lt;span>我们经常将代码分 Service、Business Logic、DAO 等不同的层次结构，DAO 层中会包含抛出异常的方法，如清单 2 所示：&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>清单 2&lt;/span>&lt;/p>&lt;pre class="">public&amp;nbsp;Customer&amp;nbsp;retrieveCustomerById(Long&amp;nbsp;id)&amp;nbsp;throw&amp;nbsp;SQLException&amp;nbsp;{&amp;nbsp;//根据&amp;nbsp;ID&amp;nbsp;查询数据库}&lt;/pre>&lt;p>&lt;span>上面这段代码咋一看没什么问题，但是从设计耦合角度仔细考虑一下，这里的 SQLException 污染到了上层调用代码，调用层需要显式的利用 try-catch 捕捉，或者向更上层次进一步抛出。根据设计隔离原则，我们可以适当修改成：&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>清单 3&lt;/span>&lt;/p>&lt;pre class="">public&amp;nbsp;Customer&amp;nbsp;retrieveCustomerById(Long&amp;nbsp;id)&amp;nbsp;{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//根据&amp;nbsp;ID&amp;nbsp;查询数据库&lt;br>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}catch(SQLException&amp;nbsp;e){&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//利用非检测异常封装检测异常，降低层次耦合&lt;br>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;throw&amp;nbsp;new&amp;nbsp;RuntimeException(SQLErrorCode,&amp;nbsp;e);&lt;br>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}finally{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//关闭连接，清理资源&lt;br>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br>}&lt;/pre>&lt;h2>&lt;span>误区四、忽略异常&lt;/span>&lt;/h2>&lt;p>&lt;span>如下异常处理只是将异常输出到控制台，没有任何意义。而且这里出现了异常并没有中断程序，进而调用代码继续执行，导致更多的异常。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>清单 4&lt;/span>&lt;/p>&lt;pre class="">&amp;nbsp;public&amp;nbsp;void&amp;nbsp;retrieveObjectById(Long&amp;nbsp;id){&amp;nbsp;&amp;nbsp;&amp;nbsp;try{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//..some&amp;nbsp;code&amp;nbsp;that&amp;nbsp;throws&amp;nbsp;SQLException&lt;br>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}catch(SQLException&amp;nbsp;ex){&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**&lt;br>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*了解的人都知道，这里的异常打印毫无意义，仅仅是将错误堆栈输出到控制台。&lt;br>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;而在&amp;nbsp;Production&amp;nbsp;环境中，需要将错误堆栈输出到日志。&lt;br>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;而且这里&amp;nbsp;catch&amp;nbsp;处理之后程序继续执行，会导致进一步的问题*/&lt;br>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ex.printStacktrace();&lt;br>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br>}&lt;/pre>&lt;p>&lt;span>可以重构成：&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>清单 5&lt;/span>&lt;/p></description></item><item><title>程序员到底累不累，其实正真的程序员比谁都轻松，不信你看</title><link>https://pangyd.com/post/168/</link><pubDate>Wed, 15 Nov 2017 19:23:08 +0800</pubDate><guid>https://pangyd.com/post/168/</guid><description>&lt;h2 class="rich_media_title" id="activity-name">&lt;span>说到底，是自己的选择问题。&lt;/span>&lt;/h2>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>三百六十行，哪行容易？&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>但关键是自己的心态，如果工作成了你的负担和困扰，你得有跳出来的勇气和行动力。&lt;/span>&lt;/p>&lt;p>&lt;span>我自己先后就职于虎扑体育、爱奇艺和凯英网络，担任iOS研发经理，有6年工作经验，4年的iOS开发经验，2年的管理经验，1年的服务器端开发经验。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>就职于大公司期间，我的工资已经算是高薪了，前途逐渐明朗。我已经看到了：如果沿着这条路走下去，可能生活是稳定顺畅的。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>可是虽然工资不断攀升，身体和生活也出了一些问题：我发现自己陷入了工作生活不分开的死循环，哪怕周末也是一直在想着工作，完全没有自己的生活。几年下来，各种身体问题开始涌现。大公司里面频繁又无意义的会议让我厌烦，压抑的工作氛围也让我觉得难以忍受。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>有天觉得这样不行，再这样下去身体会废掉，整个人状态也不好。一番犹豫之后，我痛下决心，想离开目前这种温水煮青蛙的生活。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;span>于是我放弃了大公司的高薪，换了一份工作。&lt;/span>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>还是做技术，但这份工作和以往最大的差别就在于：这份工作是远程办公。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>我可以自由的安排自己的工作时间，可以摆脱公司没完没了的会议，更加高效地工作，省去上下班的时间，更多的用来享受生活。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>换工作只是一个开始，不过也引起了一连串生活方式的改变。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>我开始去徒步旅行。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>去过了尼泊尔 Poolhill、江西武功山、浙江七尖、徽杭古道、仙霞古道，假期基本都在路上。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>我开始在上海各个咖啡馆敲代码。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;/span>&lt;/p>&lt;p style="text-align: center">&lt;img data-s="300,640" data-type="jpeg" data-src="https://pangyd.com/uploads/2017/11/74c10f869f038762.jpg" data-copyright="0" class="" data-ratio="0.5636363636363636" data-w="550" data-backw="550" data-backh="310" width="100%" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E" data-fail="0">&lt;/p>&lt;p>&lt;span>&lt;/span>&lt;br>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>这工作环境，秒杀大公司惨白的灯光、压抑的环境好几个档次好嘛！&lt;/span>&lt;/p>&lt;p>&lt;span>我开始健身。人变得挺拔多了，和产品据理力争的时候不用担心挨揍。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>我开始阅读。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;/span>&lt;/p>&lt;p style="text-align: center">&lt;img data-s="300,640" data-type="jpeg" data-src="https://pangyd.com/uploads/2017/11/74c10f869f038762.jpg" class="" data-backw="556" data-backh="370" data-croporisrc="https://mmbiz.qpic.cn/mmbiz_jpg/JfI4bJ7rK0l8ib38obyZ9T2ex1ibOjK6qcyrXDQwMcYCvZLbGg3UWuHccq9e0qzudfv8XCp8ibkAZqOvJ5HHwMQ3w/0?wx_fmt=jpeg" data-cropx1="0" data-cropx2="1000" data-cropy1="0" data-cropy2="631.2949640287769" data-ratio="0.631" data-w="1000" width="556px" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E" data-fail="0">&lt;/p>&lt;p>&lt;span>&lt;/span>&lt;br>&lt;/p>&lt;p>&lt;span>是一种出于兴趣和好奇而进行的更广泛的阅读，通过旅行和阅读发现更大的世界。&lt;/span>&lt;/p></description></item><item><title>看十万程序员总结：优秀的程序员和码农差别在哪？</title><link>https://pangyd.com/post/167/</link><pubDate>Sun, 12 Nov 2017 19:55:45 +0800</pubDate><guid>https://pangyd.com/post/167/</guid><description>&lt;p>程序员的水平必然有高有低，工资更是相差极大，而且有些时候，工作年限少的还会比工作年限多的人工资更高，那么，程序员的水平如何衡量？来看看网友怎么说。&lt;/p>&lt;p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E">&lt;/p>&lt;p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E">&lt;/p>&lt;p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E">&lt;/p>&lt;p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E">&lt;/p>&lt;p>当然，一定会有更加优秀的程序员，可能我们见到的比较少吧。&lt;/p></description></item><item><title>IT程序员被叫“码农”程序员你怎么看？</title><link>https://pangyd.com/post/161-it/</link><pubDate>Wed, 08 Nov 2017 19:29:06 +0800</pubDate><guid>https://pangyd.com/post/161-it/</guid><description>&lt;p style="text-align: start">在几年之前，”码农“还只是行业内大家互相调侃的称谓，感觉现在几乎所有行业的人都喊IT工程师“码农”。“码农”反而成为了官方称呼了。感觉这不是一个好事，影响学生们对这个行业的看法，感觉好学校的学生都不愿意做技术了。技术大拿们该不该号召大家不要再以码农自称了？&lt;/p>&lt;p style="text-align: start">&lt;br>&lt;/p>&lt;p style="text-align: start">预料之内，这个话题引来众多程序员的讨论，下面摘选了10个比较有代（有）表（意）性（思）的回答：&lt;/p>&lt;p style="text-align: center">&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E" data-size="700|569">&lt;/p>&lt;p style="text-align: justify">&lt;br>&lt;/p>&lt;p style="text-align: justify">&lt;span>程序员一：&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>歧视农名是不对的！&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>程序员二：&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>“码农”比“码畜”好听多了。&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>程序员三：&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>你多给我一倍薪水，叫我孙子都行。&lt;br>&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;br>&lt;/p>&lt;p style="text-align: justify">&lt;span>程序员四：&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>我们好歹还是人，产品和设计已经是狗了。&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;br>&lt;/p>&lt;p style="text-align: justify">&lt;span>程序员五：&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>码农算是好的，硅工是我等打磨芯片的民工的昵称。&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;br>&lt;/p>&lt;p style="text-align: justify">&lt;span>程序员六：&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>一位长者告诉我们“中国有句古话,叫做闷声发大财。”&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>程序员七：&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>这有什么？有些人还巴不得大家都说他是人民公仆呢。&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;br>&lt;/p>&lt;p style="text-align: justify">&lt;span>程序员八：&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>我们公司的美术还管我叫做“打字员”呢，满满的恶意啊&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>程序员九：&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>我们每天研究技术，哪有心思管这些，小屁孩们爱来不来。现在码农工资节节高升，正说明了人还不够。等人太多了，工资就会下跌，到时候我们就知道中国需要多少码农了。&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>程序员十：&lt;/span>&lt;/p>&lt;p style="text-align: justify">&lt;span>一年工作经验的java程序员在北京可以拿到8k+以上（保守估计），码农通常智力都不低，少数码农有交际困难，不过多数都没有。这么一群高收入高智力的人群会被人鄙视？别闹了，我们只是自嘲而已，真的有哪个文科生来嘲笑我们，我们绝对会不择手段的在各个方面碾压过去的。trust me&lt;/span>&lt;/p></description></item><item><title>35年编程史沉淀下来的8条宝贵经验</title><link>https://pangyd.com/post/149-358/</link><pubDate>Sun, 29 Oct 2017 19:39:10 +0800</pubDate><guid>https://pangyd.com/post/149-358/</guid><description>&lt;p>1&amp;nbsp;&lt;span>时刻提醒自己：学习&lt;/span>&lt;/p>&lt;p>学习某件事的第一步是承认你不知道。这听起来很正常，但经验丰富的程序员还记得要真正让自己承认这一点需要花多长时间。很多计算机科学专业的学生毕业的时候，都有一种很傲慢的态度，就是“我知道最好的”，但其实这只是一种虚张声势，他们不知道从哪里来的自信，就好像他们什么都知道，并且需要向每一位新同事强烈的证明这一点。换句话说:你所谓的“我知道我在做什么！”这种态度会妨碍你学习新的东西。&lt;/p>&lt;p>2. 不要试图证明自己是正确的&lt;/p>&lt;p>要想成为优秀的人，你必须学会吃一堑长一智。但是千万小心，经验也可能教会我们重复一些不良行为，甚至也教会我们养成一些不好的习惯。我们都遇到过有8年经验的程序员。对于他们来说，同样的经历，重复了8次。为了避免这种综合症，看看你做的每一种事情，然后问自己:“我怎样才能让它变得更好?”&lt;/p>&lt;p>新手(以及很多经验丰富的开发人员)会看着他们自己写的代码，欣赏它的奇妙。他们编写测试来证明他们写的代码是可以运行的，而不是试图让它运行失败。真正优秀的程序员会积极地寻找他们的错误在哪里，因为他们知道最终用户会发现这些遗漏的bug。&lt;/p>&lt;p>&lt;span style="text-align: center">3. “代码可以运行了”这个目标不是终点，而是起点&lt;/span>&lt;/p>&lt;p>是的，你的第一步总是想写出质量很高的代码，而且代码上面都写满了注释。但是一般的程序员在这一点上就退出，然后继续下一件事。&lt;/p>&lt;p>但是一旦“完成”就停止了这种思想就像是拍一张快照，然后期待它是一件艺术品一样。伟大的程序员都知道第一次迭代只是一次迭代。它运行起来了,恭喜你!但你的工作还有很多。现在,使它变的更好。&lt;/p>&lt;p>其实这个过程就是在定义“更好”的含义。让它变得更快能有什么价值吗?可重用更高有什么好处吗?更可靠吗?答案随着每个应用程序的不同而不同，但是过程都是一样的。&lt;/p>&lt;p>4. 写三次代码&lt;/p>&lt;p>好的程序员目标是写出可以运行的软件就可以了。伟大的程序员写出来的软件目标是运行得非常好。通过一次编写这种情况几乎不可能发生。最好的软件通常被写三次:&lt;/p>&lt;p>首先，编写软件以向你自己(或客户)证明解决方案是可行的。其他人可能没有意识到这只是一个概念验证，但你确实这么做了。&lt;/p>&lt;p>第二次可以让它正常地运行。&lt;/p>&lt;p>第三次你能够让它平稳的运行。&lt;/p>&lt;p>当你看到最优秀的开发人员的工作时，这种级别的工作可能并不明显。他们所做的一切看起来都很出色，但你没有看到的是，即使是开发界的大腕儿，也可能在向其他人展示他们的软件之前就已经抛弃了第一个和第二个版本。抛弃之前的代码并开始编写另一个版本是一种强大的方式，可以将“更好地”融入到您的个人工作流程中。&lt;/p>&lt;p>如果没有其他情况，通过“写三次代码”可以告诉你解决问题的方法有多少种。而且它可以防止你陷入停滞不前的状态。&lt;/p>&lt;p>5. 阅读大量的代码&lt;/p>&lt;p>你可能希望我能够引导这个建议，实际上，这也是提高编程技能的最常见和最有价值的建议。阅读他人代码的原因也很重要，只是不是很明显而已。&lt;/p>&lt;p>当阅读其他人的代码时，你会看到其他人是如何解决编程问题的。但不要把它当成是文学作品，而是把它当成一种教训和一种挑战。想要变得更好，问问自己：&lt;/p>&lt;p>那块代码我该怎么写呢?既然你已经看到了别人的解决方案，那你会有什么思路呢?&lt;/p>&lt;p>我学到了什么？我如何将这种技术应用到我过去编写的代码中？（“我从来没有想过可以使用递归下降处理那块的逻辑”）。&lt;/p>&lt;p>我如何改进这段代码?如果这是一个开源项目，你对自己的解决方案更有信心，那就去做吧！&lt;/p>&lt;p>以作者的风格编写代码。练习这个可以帮助你进入作者的思维，这可以提高你的同情心。&lt;/p>&lt;p>不要只是漫不经心地思考这些步骤。写下你自己的答案，无论是在个人日志、博客、审查代码的过程中，还是与其他开发人员交流的论坛中。就像向朋友解释问题可以帮助你解决问题一样，记录和分享你的分析可以帮助你理解为什么你会以一种特定的方式对别人的代码做出反应。这是我之前提到的自省的一部分，帮助你冷静地判断你自己的优点和缺点。&lt;/p>&lt;p>警告:在不需要成为一名优秀程序员的情况下，很容易阅读大量的代码，就像一个想要成为作家的人可以在不提高自己散文的情况下阅读伟大的文学作品一样。很多开发人员都在寻找开源或其他软件来“找到答案”，而且很可能是复制和粘贴代码来解决类似的问题。这样做实际上会让你成为一个更糟糕的程序员，因为你盲目地接受别人的智慧而不去审视它。(另外，它可能比夏季野餐还要麻烦，但因为你没有花时间去理解它，你永远不会意识到你就像是大自然的搬运工一样，只是在做体力劳动。)&lt;/p>&lt;p>&lt;span style="text-align: center">6. 不要把编写代码仅仅看作是任务&lt;/span>&lt;/p>&lt;p>从事个人编程项目有很多优势。首先，它为你提供了一种学习工具以及学习技术的方法，而这些工具和技术在你当前的工作中是用不到的，但是这将使你在下一份工作中更有市场。无论你是为开源项目做贡献，还是为当地社区组织做公益工作，你都能获得技术技能和自信。(此外，你的个人项目向潜在雇主证明，你是一个从不停止学习的人。)&lt;/p>&lt;p>编写代码的另一个好处是它强迫你自己去解决问题。你不能把这些难啃的问题留给别人，所以它会让你过早地寻求帮助。&lt;/p>&lt;p>专业提示:不要只选择那些你永远不会失败的个人项目。你需要失败!但是你可能不想在工作中失败，或者给你限定期限时你也不想失败。&lt;/p>&lt;p>7.尽一切可能做到与其他开发人员面对面的工作&lt;/p>&lt;p>倾听别人的意见是很有帮助的。这可能意味着结对编程，或者参加黑客马拉松，或者加入一个编程用户组(比如Vermont Coders Connection)。当你为一个开源项目做贡献时，要关注一下你从用户和其他开发者得到的反馈意见。你在他们的批评中看到了什么共同点?&lt;/p>&lt;p>这样做你可能会很幸运地认识了一位可以完全信任的导师，无路是编码技术还是职业决策，你都可以完全信任他。所以不要浪费这些机会。&lt;/p>&lt;p>8. 你是在学习技术,而不是在学如何使用工具&lt;/p>&lt;p>编程语言、工具和方法这些都只是一时的。这就是为什么需要你在这么多的语言和框架中尽可能多的获得经验。重点关注编程基础，因为基础永远不会改变;更关注体系结构而不是如何编程。如果你觉得做某件事只有一种正确的方式，那可能是时候进行现实核查了。条条框框的限制会妨碍你学习新事物的能力，也会使你很难适应变化。&lt;/p>&lt;p>我可以继续前进，但自我提升的关键原则是知道何时停止。&lt;/p>&lt;p style="text-align: center">&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E" max-width="600">&lt;/p>&lt;div>&lt;br>&lt;/div></description></item><item><title>有一个程序员男朋友是怎样的体验？</title><link>https://pangyd.com/post/141/</link><pubDate>Sat, 21 Oct 2017 20:53:09 +0800</pubDate><guid>https://pangyd.com/post/141/</guid><description>&lt;p>高中毕业我们两个人在一起，现在他在上班，我在读研。大学时期他学的是计算机科学技术，毕业后顺利成为了一名程序猿。现在网络上对程序员这个职业议论纷纷。&lt;/p>&lt;p>他现在的工作职位是中级前端工程师，我经常吐槽他名字听上去很高大上，但实际还不是一个程序员。&lt;/p>&lt;p>作为资深的程序员女友，来聊聊有一个程序员男友的体验。&lt;/p>&lt;p>生活日常&lt;/p>&lt;p>程序员不是只会修电脑的生物，他们在生活中有很多技能。男朋友是程序员后基本自己的电脑出问题都不用再担心，电脑清灰、重装系统，他可以承包一切电子产品的障碍维修工作。大学的时候我们寝室所有女生电脑出问题，我都第一时间先给男朋友打电话报修，虽然他一再强调自己不是修理工，但是每次都修的自得其乐。&lt;/p>&lt;p>感觉有一个技术大牛陪在身边，简直无所不能。&lt;/p>&lt;p>男朋友高中理科读上来，毕业后也算是标准的工科男。很多人觉得工科男智商高情商低。因为他们不善于交际，每天都只是和一些数字符号代码打交道。&lt;/p>&lt;p>这一点我深有感触。关于情商方面，他好像永远不懂“浪漫”两个字的含义。在一起这么多年从来没有送过花花草草给我！每逢过节日都需要我提前提醒他“嗯纪念日快到了！生日快到了！情人节快到了！”最近开始送我口红，都是我在网上选好款式和色号直接把链接甩给他。有时候抱怨一点都没有惊喜感，他反倒安慰这才是实在的过日子。&lt;/p>&lt;p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E">&lt;/p>&lt;p>有时候聊天给他抱怨为什么不学着别的男生给自己女朋友制造惊喜，比如送送花啥的。然后他竟然去百度！！百度！！搜索男人为什么要送花给女人。我当时也是被他这个点萌到不行，突然间又觉得他很可爱。&lt;/p>&lt;p>再看下面 ️&lt;/p>&lt;p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E">&lt;/p>&lt;p>连求婚这种事都要提前告诉我的吗！我真的是又爱又恨，能不能有点惊喜了。在我看来这种人生大事肯定男生要好好准备，然后制造一个浪漫的求婚计划，而不是直接告诉我，感觉不接受都不行了，有一种被胁迫扯证的感觉。&lt;/p>&lt;p>很多人说程序员的性格就是闷骚，看着内向不爱说话，实际心里可有货了。虽然我男朋友不太懂浪漫，但是在生活上还是给予了我足够的照顾，有时候细心到惊讶我的程度。&lt;/p>&lt;p>都说恋爱中的女人智商为零。&lt;/p>&lt;p>那我们两个人刚好互补呀，他智商高情商低，我情商高智商低。&lt;/p>&lt;p>在生活中他幽默、可爱，偶尔犯二，和他在一起永远不觉得无聊。&lt;/p>&lt;p>优点爆表&lt;/p>&lt;p>生活中我是一个急性子，而且性格多变。但刚好他超级有耐心。可能是因为工作性质原因，经常听到他说“客户改需求了，客户又改需求了噼里啪啦的，换作我早就不干了。每次看他对待客户都是一副客户虐我千百遍，我待客户如初恋的感觉。&lt;/p>&lt;p>对待善变的客户都如此有耐心，所以在他看来，我善变的性格也属于正常范围了。&lt;/p>&lt;p>责任心也是一大特点，对于自己编程过程中出现的bug，一副不改好不睡觉的态度，所以有时候在电脑面前一坐就是凌晨，下班回家只是换个地方加班。他说没有责任心的程序员写出来的代码都是问题。&lt;/p>&lt;p>他们善于学习，上进。只要有空就会专研技术方面的知识、整理笔记。虽然我男朋友在上班了，但是依然坚持每天看书学英语。有时候在他面前我感觉自己这个研究生特别惭愧，英语还没他好呢。他学习能力也是超强，总是能很快自学成功，果然智商高的生物惹不起。&lt;/p>&lt;p>迷恋电子产品，跟他在一起后我的电子产品更新换代的速度加快了，每次看他吐槽一个产品，过段时间就买回来了（真不知道是啥心态）。以前觉得自己买化妆品挺贵，但是了解他的键盘、电竞椅价格后，好像觉得我这点也不算啥了。&lt;/p>&lt;p>程序员这个职业，都不会太穷。（你们懂的）&lt;/p>&lt;p>他们不会有太多的社交去维系，每天下班就是宅。身边除了男生就是男生，这一点是其他职业比不了的。所以当程序员的女朋友可以放宽心，你不用花精力去窥探男朋友身边的人，毕竟十个程序员，七个单身狗，两个搞基友，只有一个有女朋友！&lt;/p>&lt;p>坚实后盾&lt;/p>&lt;p>对于程序员来说虽然加班是家常便饭，虽然有写不完的代码改不完的bug，但是每次只要我需要他，他就会放下手上的事第一时间出现。&lt;/p>&lt;p>所以不是说所有的程序员都木讷、不体贴，至少我身边这位不是。&lt;/p>&lt;p>他知道我不敢一个人在家呆太晚，所以每次都会尽快回家陪我，他知道我喜欢吃的东西，每次帮我买零食回家样样都是我的最爱，他比我还了解自己。&lt;/p>&lt;p>从不和我吵架，有时候我在气头上他自己就去写代码，过一会我自己气消了就像啥也没发生。&lt;/p>&lt;p>他虽然喜欢玩游戏、看直播，但是只要我不想，就会陪我一起追韩剧，看电影，任我在旁边怒吼好帅好帅啊他就冷冷地冒句：你身边这位才最帅。&lt;/p>&lt;p>生活上学习上有任何困难，第一时间找男朋友，好像没有他解决不了的事情，就像我人生导师一样。&lt;/p>&lt;p>程序员之间的冷幽默也是外人理解不了的，他们之间存在的鄙视链就相对简单了：&lt;/p>&lt;p>女朋友漂亮的程序员——女朋友不漂亮的程序员——有女朋友的程序员——单身程序员。&lt;/p>&lt;p>每次我吐槽他职业的时候他就安慰我说：找程序员做老公就对了，因为他们只会找bug，不会找小三。&lt;/p>&lt;p>有时候被他蠢萌的样子给融化，外人都觉得程序员很闷，其实并不都是这样。他们还是冷幽默、体贴、善解人意、聪明。我觉得现在外行对这个职业误会挺深的，并不是所有程序员都是戴个眼镜，穿着格子衬衫，背着书包，只会修电脑打游戏。&lt;/p>&lt;p>你想要的，都会尽力给你。面包和爱情，他们一样也不少。&lt;/p>&lt;p>我很谢谢我这位呆萌的程序员男朋友，这么多年爱我如初。事业上，生活里我们相互扶持包容，风雨兼程。&lt;/p>&lt;p>其实程序员男朋友也没啥特别的，但是对于我来说他就是独一无二的。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>本文链接:https://buluo.qq.com/p/detail.html?bid=11314&amp;amp;pid=8931774-1508579587&amp;amp;from=share_copylink&lt;/p></description></item><item><title>编程语言 10 月排行榜：Java/C/C++ 固守前三，Swift/GO持续下降，惨！</title><link>https://pangyd.com/post/131-10-java-c-c-swift-go/</link><pubDate>Wed, 11 Oct 2017 20:02:20 +0800</pubDate><guid>https://pangyd.com/post/131-10-java-c-c-swift-go/</guid><description>&lt;section class="" powered-by="xiumi.us">&lt;section class="">&lt;section class="">&lt;section class="" powered-by="xiumi.us">&lt;section class="">&lt;section class="">&lt;p>&lt;span>近期，TIOBE公布了2017年10月编程语言指数排行榜：&lt;/span>&lt;/p>&lt;p>&lt;span>Java、C、C++依旧&lt;/span>&lt;span>排名前三，三巨头地位持续15年来一直不变。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;span>排名第四和第五的是&lt;/span>C# 和 Python 。&lt;/span>&lt;/p>&lt;p>&lt;span>而Swift、Objective-C、Visual Basic、Go处于持续下降的趋势。&lt;/span>&lt;/p>&lt;/section>&lt;/section>&lt;/section>&lt;/section>&lt;/section>&lt;/section>&lt;p>&lt;/p>&lt;p>&lt;p>&lt;/p>&lt;/p>&lt;section class="" powered-by="xiumi.us" style="text-align: start">&lt;section class="">&lt;section class="">&lt;p>&lt;br>&lt;/p>&lt;p>&lt;strong>&lt;span>&amp;nbsp;2017 年 10&amp;nbsp;月 Top 20 语言&lt;/span>&lt;/strong>&lt;br>&lt;/p>&lt;p style="text-align: center">&lt;img class="" data-ratio="0.8067940552016986" data-s="300,640" data-src="https://pangyd.com/uploads/2017/10/74c10f869f038762.jpg" data-type="png" data-w="942" width="auto" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E" data-fail="0">&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>看到这个排行榜，不少养码人对于C#的排名表示欣慰。&lt;/p>&lt;p>&lt;strong>&lt;span>养码人A：&lt;/span>&lt;/strong>&lt;br>我大C#必将一统天下&lt;img class="" data-ratio="1" data-src="https://pangyd.com/uploads/2017/10/b7c4a161038a4b1b.png" data-w="20" width="20px" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E" data-fail="0">&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;strong>&lt;span>养码人B：&lt;/span>&lt;/strong>&lt;/p>&lt;p>C#这么靠前，生命力不错啊。&lt;img data-src="https://pangyd.com/uploads/2017/10/74c10f869f038762.jpg" data-type="png" class="" data-ratio="0.5769230769230769" data-w="52" src="https://pangyd.com/uploads/2017/10/74c10f869f038762.jpg" data-fail="0">&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>&lt;strong>养码人C：&lt;/strong>&lt;/span>&lt;/p>&lt;p>貌似目前很多手游都用C#&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p style="text-align: center">&lt;img data-src="https://pangyd.com/uploads/2017/10/74c10f869f038762.jpg" data-type="png" class="" data-ratio="0.825531914893617" data-w="235" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E" data-fail="0">&lt;/p>&lt;p style="text-align: center">&lt;br>&lt;/p>&lt;p style="text-align: center">&lt;br>&lt;/p>&lt;p>再说回Swift和Go。&lt;strong>在今年年初，Swift 语言的 TIOBE 指数最高达到 2.3%，排在&lt;span>第 10 位&lt;/span>。不过 Swift 目前降到&lt;span>第 16 位&lt;/span>，并且其热度每月都在下降。&lt;/strong>&lt;/p></description></item><item><title>删雇主网站源码判刑五年！！</title><link>https://pangyd.com/post/127/</link><pubDate>Sat, 07 Oct 2017 19:13:56 +0800</pubDate><guid>https://pangyd.com/post/127/</guid><description>&lt;p>据新华社报道，软件工程师徐某离职后因公司未能如期结清工资，便利用其在所设计的网站中安插的后门文件将网站源代码全部删除。&lt;/p>&lt;p>公诉机关北京市丰台区人民检察机关指控，2016 年 4 月 27 日 9 时许，徐某利用其预先设置在北京某眼镜公司购物网站中的后门文件，对该网站的源代码执行删除操作，造成该网站无法正常运行。经鉴定，造成直接经济损失 26．5 万元。&lt;/p>&lt;p>庭审现场，徐某当庭认罪并向被害单位道歉。经调解，其家属代为赔偿被害单位经济损失 5 万元，并已实际履行。公司法定代表人张某代表公司对徐某表示谅解，并请求法院对徐某从轻处罚。记者 20 日从北京市丰台区人民法院获悉，最终徐某破坏计算机信息系统罪成立，获刑五年。&lt;/p>&lt;p>&lt;img src="https://pangyd.com/uploads/2017/10/7fa219b8a2dd5efb.jpg" alt="76e2070be9db2669.jpg">&lt;br>&lt;/p>&lt;p>@浮生若梦：不给清工资这事就这么算了？&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>@TTapple：都谅解了，还判五年&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>@码哥：不给人结工资，为什么自己的劳动成果不能删？&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>@永远的雨林：维护自己权益的手段有些极端&lt;/p>&lt;p>￼&lt;/p>&lt;p>来自：程序员头条&lt;/p></description></item><item><title>一张图读懂程序员们的心酸</title><link>https://pangyd.com/post/123/</link><pubDate>Wed, 04 Oct 2017 19:55:38 +0800</pubDate><guid>https://pangyd.com/post/123/</guid><description>&lt;img src="https://pangyd.com/uploads/2017/10/64ba89bfccdfe979.jpg" alt="mmexport1507118095586.jpg"></description></item><item><title>啪啪啪！敲代码时你喜欢听什么音乐？下面这些歌单推荐给你</title><link>https://pangyd.com/post/112/</link><pubDate>Fri, 22 Sep 2017 20:38:02 +0800</pubDate><guid>https://pangyd.com/post/112/</guid><description>&lt;section class="">&lt;section class="">&lt;section class="">&lt;p>凌晨4点的北上广深，是他们最为熟悉的光景，啃着粗糙的盒饭，穿着格子衬衫，依然保持初恋般真。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>他们日日夜夜坚守在成功的背后，扮演默默无闻的幕后英雄。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>他们的名字是，IT人。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;/section>&lt;/section>&lt;/section>&lt;section class="">&lt;section class="">&lt;section class="">&lt;p>更多的时候，不光是电脑和键盘陪着我们度过一天，耳机和音乐也成了IT人生活中必不可少的一部分，上班和下班的路上，心情失落时，失眠时，甚至是工作时都可能会听音乐，让音乐为我们疗伤，让精神得以放松。甚至有&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;/section>&lt;/section>&lt;/section>&lt;section class="">&lt;section class="">&lt;section class="">&lt;p>20年写下1一亿行代码的阿里云神级程序猿为你推荐的歌单&amp;gt;&amp;gt;（https://bbs.aliyun.com/read/288999.html）&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;/section>&lt;/section>&lt;/section>&lt;section class="">&lt;section class="" style="text-align: center">&lt;img class="" data-src="https://pangyd.com/uploads/2017/09/74c10f869f038762.jpg" data-ratio="0.3583333" data-w="600" data-type="jpeg" src="https://pangyd.com/uploads/2017/09/74c10f869f038762.jpg" data-fail="0">&lt;/section>&lt;/section>&lt;section class="">&lt;section class="">&lt;section class="">&lt;p>&lt;br>&lt;/p>&lt;p>其实在工作时要尽量选择那些技能让我们深信愉悦，激发创造力和想象力但又不会使我们分心的音乐。有人说，适合这种情景的音乐有摇摆乐，爵士乐和蓝调音乐。还有轻音乐，比如班得瑞和神秘园的曲子，非常轻缓，沁人心脾。还有一种就是外文歌曲，歌词完全听不懂那种。甚至还有像这样的专门为程序员提供音乐的网站：&lt;/p>&lt;/section>&lt;/section>&lt;/section>&lt;section class="">&lt;section class="">&lt;section class="">&lt;p>&lt;br>&lt;/p>&lt;ul class="list-paddingleft-2">&lt;li>&lt;p>musicforprogramming.net/&lt;/p>&lt;/li>&lt;li>&lt;p>https://www.getworkdonemusic.com/&lt;/p>&lt;/li>&lt;/ul>&lt;p>&lt;br>&lt;/p>&lt;/section>&lt;/section>&lt;/section>&lt;section class="">&lt;section class="" style="text-align: center">&lt;img class="" data-src="https://pangyd.com/uploads/2017/09/74c10f869f038762.jpg" data-ratio="0.7857143" data-w="280" data-type="jpeg" src="https://pangyd.com/uploads/2017/09/74c10f869f038762.jpg" data-fail="0">&lt;/section>&lt;/section>&lt;section class="">&lt;section class="">&lt;section class="">&lt;p>&lt;br>&lt;/p>&lt;p>为了高效的工作要时刻的保持身心的预约，听歌是一个不错的选择，&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>比如：&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>T姐还在的时候，很多歌都不错，&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>例如&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>ghost love score&lt;/p>&lt;p>ever dream&lt;/p>&lt;p>nemo等等&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>后来&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>A姐来了有一些也不错，例如&lt;/p>&lt;p>bye bye beautiful等等&lt;/p>&lt;p>还有贝斯手marco唱的&lt;/p>&lt;p>while your lips are still red&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>等等，还有一些没词的曲子evanescence的也不错&lt;/p>&lt;p>产品改需求时就听powerwolf的&lt;/p>&lt;p>we drink your blood&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;/section>&lt;/section>&lt;/section>&lt;section class="">&lt;section class="" style="text-align: center">&lt;img class="" data-src="https://pangyd.com/uploads/2017/09/74c10f869f038762.jpg" data-ratio="1.11" data-w="400" data-type="jpeg" src="https://pangyd.com/uploads/2017/09/74c10f869f038762.jpg" data-fail="0">&lt;/section>&lt;/section>&lt;section class="">&lt;section class="">&lt;section class="">&lt;p>&lt;br>&lt;/p></description></item><item><title>30 年编码经验浓缩的 10 条最佳实践</title><link>https://pangyd.com/post/106-30-10/</link><pubDate>Mon, 18 Sep 2017 18:19:21 +0800</pubDate><guid>https://pangyd.com/post/106-30-10/</guid><description>&lt;p>&lt;span>&lt;span>是什么使得代码更好?&lt;/span>&lt;/span>&lt;/p>&lt;p>良好的代码更易于阅读、理解、调试和修改，最重要的是它的缺陷也更少。显然，编写良好的代码需要更多的时间，但是从长远来看，它也具有更多的价值，因为这降低了维护的成本，而且具有更好的可重用性。&lt;/p>&lt;p>事实上，我们可以将好的代码等同为可重用的代码，这也是本篇文章罗列的许多技巧背后的驱动原则。作为一个要实现特定功能的开发者，代码可以实现你的短期目标，但如果没有其他人希望重用它(包括未来的自己)，这些代码一定会缺失某些东西。无论它是太复杂，还是太具体，在不同情况下都有很大可能会出错，或者不被其他开发者信任。&lt;/p>&lt;p>我发现，只要尝试坚持将下面的最佳实践应用于你编写的所有代码(包括你的实验和原型)，无论你现在的经验水平如何，都会编写出更好的代码。&lt;/p>&lt;img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='480' height='120'%3E%3Crect width='480' height='120' fill='%230E1012' stroke='%231B1E22'/%3E%3Ctext x='240' y='66' fill='%235C6069' font-family='monospace' font-size='13' text-anchor='middle'%3E%5B%E5%8E%9F%E5%9B%BE%E5%B7%B2%E5%A4%B1%E6%95%88%5D%3C/text%3E%3C/svg%3E" title="30年编程经验浓缩的10条最佳实践" alt="30年编程经验浓缩的10条最佳实践">&lt;br>&lt;p>&lt;span>&lt;span>1&lt;/span>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;span>遵循单一职责原则&lt;/span>&lt;/span>&lt;/p>&lt;p>函数是程序员的工具中最重要的抽象形式。它们能更多地被重复使用，你需要编写的代码就越少，代码也因此变得更可靠。较小的函数遵循单一职责原则更有可能被重复使用。&lt;/p>&lt;p>&lt;span>&lt;span>2&lt;/span>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;span>尽量减少共享状态&lt;/span>&lt;/span>&lt;/p>&lt;p>你应该尽量减少函数之间的隐式共享状态，无论它是文件作用域的变量还是对象的成员字段，这有利于明确要求把值作为参数。当能明确地显示函数需要什么才可以产生所需的结果时，代码会变得更容易理解和重用。&lt;/p>&lt;p>对此的一个推论是，在一个对象中，相对于成员变量，你更应该优先选择静态的无状态变量 (static stateless variables)。&lt;/p>&lt;p>&lt;span>&lt;span>3&lt;/span>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;span>将“副作用”局部化&lt;/span>&lt;/span>&lt;/p>&lt;p>理想的副作用(例如：打印到控制台、日志记录、更改全局状态、文件系统操作等)应该被放置到单独的模块中，而不是散布在整个代码里面。函数中的一些“副作用”功能往往违反了单一职责原则。&lt;/p>&lt;p>&lt;span>&lt;span>4&lt;/span>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;span>优先使用不变的对象&lt;/span>&lt;/span>&lt;/p>&lt;p>如果一个对象的状态在其构造函数中仅被设置一次，并且从不再次更改，则调试会变得更加容易，因为只要构造正确就能保持有效。这也是降低软件项目复杂性的最简单方法之一。&lt;/p>&lt;p>&lt;span>&lt;span>5&lt;/span>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;span>接口高于类&lt;/span>&lt;/span>&lt;/p>&lt;p>接收接口的函数(或 C++ 中的模板参数和概念)比在类上运行的函数更具可重用性。&lt;/p>&lt;p>&lt;span>&lt;span>6&lt;/span>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;span>对模块应用良好的原则&lt;/span>&lt;/span>&lt;/p>&lt;p>寻找机会将软件项目分解成更小的模块(例如库和应用程序)，以促进模块级别的重用。对于模块，应该遵循的一些关键原则是：&lt;/p>&lt;p>尽可能减少依赖&lt;/p>&lt;p>每个项目应该有一个明确的职责&lt;/p>&lt;p>不要重复自身&lt;/p>&lt;p>你应该努力使你的项目保持小巧和明确。&lt;/p>&lt;p>&lt;span>&lt;span>7&lt;/span>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;span>避免继承&lt;/span>&lt;/span>&lt;/p>&lt;p>在面向对象编程中，继承 —— 特别是和虚拟函数结合使用时，在可重用性方面往往是一条死胡同。我很少有成功的使用或编写重载类的库的经历。&lt;/p>&lt;p>&lt;span>&lt;span>8&lt;/span>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;span>将测试作为设计和开发的一部分&lt;/span>&lt;/span>&lt;/p>&lt;p>我不是测试驱动开发的坚定分子，但开始编码时先编写测试代码会使得代码十分自然地遵循许多指导原则。这也有助于尽早发现错误。不过要注意避免编写无用的测试，良好的编码实践意味着更高级别的测试(例如单元测试中的集成测试或特征测试)在揭示缺陷方面更有效。&lt;/p>&lt;p>&lt;span>&lt;span>9&lt;/span>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;span>优先使用标准的库&lt;/span>&lt;/span>&lt;/p>&lt;p>我经常看到更好版本的 std::vector 或 std::string，但这几乎总是浪费时间和精力。一个明显的事实是 —— 你正在为一个新的地方引入 bug，其他开发者也不太可能重用你的代码，因为没有被广泛理解、支持和测试。&lt;/p>&lt;p>&lt;span>&lt;span>10&lt;/span>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;span>避免编写新的代码&lt;/span>&lt;/span>&lt;/p>&lt;p>这是每个程序员都应遵循的最重要的教诲：最好的代码就是还没写的代码。你写的代码越多，你将遇到的问题就越多，查找和修复错误就越困难。&lt;/p>&lt;p>在写一行代码之前先问一问自己，有没有一个工具、函数或者库已经实现了你所需要的功能?你真的需要自己实现这个功能，而不是调用一个已经存在的功能吗?&lt;/p>&lt;p>&lt;span>&lt;span>写在最后的话&lt;/span>&lt;/span>&lt;/p>&lt;p>我发现编程是一门与学习艺术或运动非常相似的技能，你通过刻意的练习和从别人的经验中&lt;a target="_self" href="https://pangyd.com/">学习&lt;/a>会得到更好的结果。不断提升你产出的代码质量有助于你成为更优秀的&lt;a target="_self" href="https://pangyd.com/">程序员&lt;/a>。&lt;/p></description></item><item><title>为什么程序员掌握改变世界的技术，却不能成为改变世界的人？</title><link>https://pangyd.com/post/102/</link><pubDate>Thu, 14 Sep 2017 20:24:17 +0800</pubDate><guid>https://pangyd.com/post/102/</guid><description>&lt;p>在当下的社会，一个高科技产品，必定搭载牛逼的程序才能实现各种功能！就比如我们手机上的APP，都是这些程序员开发出来的。但是问题来了：为什么程序员所掌握的技术那么牛，但是真正成为如马云的IT巨头却很少嗯？&lt;/p>&lt;p>正如我经常听到的程序员的通用别称：码农！就是形容代码搬运工！就如“农民工”，为什么会造房子，但是却造不出能够如“东方明珠”般宏伟的建筑！那么有人会说，造房子是需要用到地皮的，但是程序员写代码做程序是不受任何“客观因素”限制的！为什么他们就没有成功的作品呢？（有，但是少，或者不为人知）&lt;/p>&lt;p>我记得我之前跟一个程序员客户交流过，我问他你之前在大学时有没有帮别人写代码赚外快，他说有，我问他现在还会偶尔接私活赚外快吗？他说不会，为什么？他说：因为在接私活赚外快的时候，客户老是根据自己的喜好随意修改各种前期敲定的设计方案，而且根本听不进去程序员的意见。但是现在在大公司开发产品，公司很少参与设计，只是讲明白功能需求，怎么开发和怎么设计页面都是由自己的团队完成！我就问他：是不是公司这样的方式让你感觉很有成就感和受到了极大的尊重？他说，差不多就是那个意思！&lt;/p>&lt;p>就这个软件工程师反馈的信息来看，其实每个程序员或者每个人都会有这样的想法！每个人都极其需要得到尊重，极其需要自己的价值被提现，但是如果每个人都这样按照自己认为对的方向去努力去操作的话，就会很“自大”！每个技术型人才都会认为自己是专业的，自己的意见是最值得参考的，但是，就是因为有这样的想法，而导致程序员空有改变世界的能力，却连自己都改变不了！&lt;/p>&lt;p>决定一个APP产品的好坏不是看这个app是用了多少代码实现了多少功能，而是要看这个app（软件）实现的各种功能是不是真的满足了用户的诉求，和是不是页面和交换方式和使用体验让客户满意！当这个产品很优秀了以后，还需要完美的推广营销方案，把产品推给广大用户！这同时也说明了一点，会造房子不行，得会造成别人需要的房子！这也就是“产品经理”的作用的重要性！如马云，就是“早期的产品经理”！&lt;/p>&lt;p>程序员常有，而优秀的“产品经理不常有”！&lt;/p>&lt;p>此文没有任何贬低程序员的意思，希望大家不要误会！我尊重每一位在一线默默付出的每一个人，我也是一名基层默默付出的人，我只是感觉每个基层的付出者应该懂得更多！&lt;/p></description></item><item><title>江北腾飞的水城</title><link>https://pangyd.com/post/95/</link><pubDate>Thu, 07 Sep 2017 20:19:12 +0800</pubDate><guid>https://pangyd.com/post/95/</guid><description>&lt;p style="text-align: left">&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 腾飞的江北水城&lt;/p>&lt;p>&amp;nbsp; “人人都说,沂蒙四个好地方。”沂蒙三小调的歌词唱出了临沂人的骄傲和自豪。故称琅琊的临沂,市委领的英名的带领下。从贫穷落后走向了富裕.美丽.和谐。依托丰富的水资源，建成了气势宏大的滨河大道，让临沂从商城变成了让人惊叹的大&lt;a target="_self" href="https://pangyd.com/">美文&lt;/a>明城市。&lt;/p>&lt;p>&amp;nbsp; &amp;nbsp;作为革命老区的临沂，在历史战争中涌现出无数英雄，沂蒙人用清清的沂河水哺育了无数的英雄豪杰，让不屈的沂蒙人变得更加坚强，更加无私，旧有沂蒙六姐妹，用沂蒙精神记载了不朽的历史；今有不甘落后的沂蒙人，向应党的号召，改革开放之路，唱着春天的故事，改革富起来。富起来的沂蒙人发挥自己的聪明才智，充分利用现有的丰富的水资源，建成贯通南北的滨河大道，让名不见经传的地级市变成了全国文明.卫生城市。&lt;/p>&lt;p>&amp;nbsp; &amp;nbsp;在水上大做&lt;a target="_blank" href="https://pangyd.com/">文章&lt;/a>的临沂，建成了与日照沙滩相媲美的阳光沙滩，闲暇的人们在享受着愉快的幸福生活；风景独秀的滨河风景让我们留连忘返，喜欢垂钓的在风景如画的岸边尽显风采；爱好游泳的在碧波荡漾，波光如镜的水中自由的游动，热恋中的青年在忘情的说笑；天真无邪的孩子在岸边的游戏场中尽情的玩耍；打球的，下棋的，散步的……富裕起来的沂蒙人正沿着幸福的生活中，他们在享受着党的温暖，正走在小康的幸福大道上。生长于斯得人民能不热爱这方热土吗？&lt;/p>&lt;p>&amp;nbsp; &amp;nbsp;从2002年到现在,沂蒙老区处处高楼林立，路路畅通。正在崛起的南坊新区，座座高楼拔地而起，街道宽敞，绿化一流，风景秀丽。大美临沂。让世人惊叹。我高声的赞美现代化的临沂，我热爱腾飞的江北水城，我要努力刻苦学习，用知识武装自己的头脑，将要用所学的知识把临沂建设得更富裕，更美丽，更和谐。&lt;/p>&lt;p>&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/p>&lt;p style="text-align: center">作者:李洋&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p style="text-align: right">&lt;b>纯手打不宜 希望能尊重原创&lt;/b>&lt;/p>&lt;p style="text-align: right">&lt;b>如转载请注明以下文字 否为侵权&lt;br>作者博客：&lt;a target="_blank" href="https://pangyd.com/">pangyd.com&lt;/a>&lt;br>作者博客接受文章来稿：详情点击&lt;/b>&lt;/p></description></item><item><title>回望过去 展望未来-----李洋</title><link>https://pangyd.com/post/90/</link><pubDate>Sun, 03 Sep 2017 11:12:25 +0800</pubDate><guid>https://pangyd.com/post/90/</guid><description>&lt;p>经过了一个学年的我，没有太多的收获，只是一步一个脚印跟着老师向前走，没有太多的想法；经过一个暑期的放纵，发现自己落后，跟不上他们的节奏，整个暑假不知道干什么的，顿时迷失了方向，不知道何去何从；新学期伊始，顿时感觉到了压力，是从自己内心发出来的，也萌生了许多的想法。&lt;/p>&lt;p>去年的考试失利，不知道如何去面对，如何去表达；内心一直存在着种种疑惑，是实力问题还是有其他的原因······与本科失之交臂，从此踏上高职的征程。曾经父亲对我说过：“你不论去哪里上学，我都亲自送你”。结果来到了这里，我也没有太多的顾虑，不论高职还是本科，只要好好干，在哪里不一样。来到这里生活已经有一个年头了，按照老师讲授的课程，认认真真的学习，稳扎稳打，一步一个脚印，最终取得了不错的成绩，没有太多的压力。大学就是自我安排，自我控制，自我发展的过程，那时的我就是这样认为。没有自主学习的习惯，没有拓宽自己的知识面，没有阅读大量的书籍······导致了大量的时间白白的浪费，回想起来是真的感到可惜，是一个错误的选择。&lt;/p>&lt;p>新学期，新气象，新打算。俗话说：“世上无难事只怕有心人。”我这次要做好充足的准备，迎接新学期，努力在这一个学年里，有点小突破，有点小成就。大二我也不能松懈，把各个专业学好、学精、学透，为以后的发展打下夯实的基础。“车到山前必有路，柳暗花明又一村”，没有扎实的基础，用人单位怎么用你，给你一个项目，能否胜任？大学生是最廉价的劳动力；可以就业，而我毅然选择读书，只有读书能增长见识，提高自身能力，实现自我价值更近一步。这一年我需要做的事情有以下几点：学好专业知识，提高自身技能；加强词汇量的积累，多做阅读理解；数学深入探究，增强逻辑思维；增加阅读量，涉猎群书；这是我这个周期需要落实的。&lt;/p>&lt;p>1．&lt;span class="Apple-tab-span">	&lt;/span>学会进行时间的管理，对自己的行程合理的规划。&lt;/p>&lt;p>2．&lt;span class="Apple-tab-span">	&lt;/span>情绪的合理的控制，处理好人与人之间的关系。&lt;/p>&lt;p>3．&lt;span class="Apple-tab-span">	&lt;/span>改正自己的缺点，发挥自己的长项。&lt;/p>&lt;p>4．&lt;span class="Apple-tab-span">	&lt;/span>学业方面进行深入的研究和探索。&lt;/p>&lt;p>5．&lt;span class="Apple-tab-span">	&lt;/span>每天给自己充电。&lt;/p>&lt;p>&amp;nbsp; &amp;nbsp;我对我自己的现状不是很满意，要去克服，通过以后的努力，来成就辉煌的明天。&lt;/p>&lt;p style="text-align: right">&lt;b>纯手打不宜 &amp;nbsp; 希望能尊重原创&lt;/b>&lt;/p>&lt;p style="text-align: right">&lt;b>如转载请注明以下文字 否为侵权&lt;/b>&lt;/p>&lt;p style="text-align: right">&lt;b>文章博客：&lt;a target="_self" href="https://pangyd.com/">pangyd.com&lt;/a>&lt;/b>&lt;/p>&lt;p style="text-align: right">&lt;b>联系QQ：2633759084&lt;/b>&lt;/p></description></item><item><title>MMA你听说过吗？</title><link>https://pangyd.com/post/87-mma/</link><pubDate>Sat, 02 Sep 2017 17:43:18 +0800</pubDate><guid>https://pangyd.com/post/87-mma/</guid><description>&lt;p style="text-align: left">&lt;b>&lt;img src="https://pangyd.com/uploads/2017/09/bddbdb1b1b3bf05e.png" alt="0DE392FA28041152B3F1B8C64294CD97.png">&lt;/b>&lt;/p>&lt;p style="text-align: left">MMA？MMA是什么？目前，这三个字母大多数人表示听都没有听过，今天有幸请来了一MMA运动员史祚政，来谈一下MMA是什么？&lt;/p>&lt;p style="text-align: left">史祚政，国家职业资格私人健身教练，散打运动员，2015年任山东大学综合技击散打部部长，MMA综合搏击运动员（职业战绩19战14胜5负），国家级MMA教练员，“中国MMA第一人，中国综合搏击不败之王，林海飞豹”敖海林亲授弟子。目前，其受教人数达几百人以上……&lt;/p>&lt;p style="text-align: left">&amp;nbsp; &amp;nbsp; MMA是Mixed Martial Arts的简称，中文名称综合搏击，是集各种技击运动为一体的综合，包括散打，泰拳，柔术，摔跤，跆拳道等，我觉得形容MMA呢，就是一场有少许规则的街头格斗，既能站立打击也能进入地面，古代的打擂台和这个类型就很像，最初呢，叫做无规则格斗，也叫做无限制格斗，顾名思义，肯定是被认为比较狠的一种运动，这种运动还没发展多少年，更何况搏击是一个小众化的项目，所以没听说过很正常。&lt;/p>&lt;p style="text-align: left">&amp;nbsp; 这项运动对于防身来说效果怎么样？&lt;/p>&lt;p style="text-align: left">我觉得对于防身来说肯定是特别有用的，毕竟这项运动包括的竞技项目有很多，前面说过，我站着可以给你打，摔倒了，即使你把我摔倒了，我也有可能赢了你，因为这项运动有很多可以扭转局面的技术，例如一些关节技。&lt;/p>&lt;p style="text-align: left">&lt;br>&lt;/p>&lt;p style="text-align: left">这项运动的发展肯定会越来越好，目前，中国也培养出来了很多MMA出色的运动冠军，例如敖海林，张铁泉，李景亮，宁广友，杨建平等人，现在李景亮更是成为了一个明星选手，在ufc上（MMA顶级赛事）展现出男神本色。他们也为中国MMA的发展做了很多的贡献&lt;/p>&lt;p style="text-align: left">在此呢，我也希望更多的人来了解这项运动，支持这项运动……&lt;/p>&lt;p style="text-align: left">&lt;br>&lt;/p>&lt;p style="text-align: left">&lt;b>&lt;br>&lt;/b>&lt;/p>&lt;p>&lt;/p></description></item><item><title>每个程序员半小时内必须解决的5个编程问题</title><link>https://pangyd.com/post/85-5/</link><pubDate>Fri, 01 Sep 2017 20:41:03 +0800</pubDate><guid>https://pangyd.com/post/85-5/</guid><description>&lt;p>&lt;span>每次我发布&lt;/span>&lt;span>软件工程师&lt;/span>&lt;span>的岗位工作要求，各种求职申请就会纷至沓来，接踵而至。但每每让我困惑的是，似乎总有那么几位应聘者完全不明白所谓“编程”的意思。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;img class="" title="5-problems-programmer-1-hour" data-src="https://pangyd.com/uploads/2017/09/74c10f869f038762.jpg" width="720" height="475" data-ratio="0.6597222222222222" data-w="720" data-type="jpeg" src="https://pangyd.com/uploads/2017/09/74c10f869f038762.jpg" data-fail="0" style="text-align: center">&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;strong>&lt;span>当然，他们另有想法。&lt;/span>&lt;/strong>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>而我认为，如果你应聘的是“Web前端开发”岗位，那么你只懂jQuery也可以胜任，那么，“软件工程师”是不是就意味着会HTML、JavaScript和CSS这些必备技能就行了呢？&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>（我觉得那些聊起XML、JSON、XSLT、SOAP、HTTP、REST、SSL和200多个首字母缩写词来头头是道，但却不会区分整型和浮点型数据类型的家伙很有意思。呵呵）&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;strong>&lt;span>&lt;br>&lt;/span>&lt;/strong>&lt;/span>&lt;/p>&lt;h2>&lt;span>&lt;strong>&lt;span>你真的会写代码吗？&lt;/span>&lt;/strong>&lt;/span>&lt;/h2>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>对于应聘&lt;/span>&lt;span>程序员&lt;/span>&lt;span>的求职人员，我，作为用人单位，首先希望的是你会写代码。我指的是真正的代码：我给你一个问题，你使用任何你觉得舒适的编程语言给出它的解决方案。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;h2>&lt;span>&lt;strong>&lt;span>你真的能做到这一点吗？&lt;/span>&lt;/strong>&lt;/span>&lt;/h2>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>策略：如果你不能在半小时以内解决以下5个问题，那么你首先要做的是重新审视自己。的确，或许你各方面的工作都干的不错，但是我依然觉得你现在还不配“软件工程师（或程序员，计算机科学专家，甚至是“开发人员”）”这个头衔。不要自欺欺人，先花点时间来调整你的重点吧。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;h2>&lt;span>&lt;strong>&lt;span>5个问题&lt;/span>&lt;/strong>&lt;/span>&lt;/h2>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;strong>&lt;span>问题1&lt;/span>&lt;/strong>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>使用for循环、while循环和递归写出3个函数来计算给定数列的总和。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;strong>&lt;span>问题2&lt;/span>&lt;/strong>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>编写一个交错合并列表元素的函数。例如：给定的两个列表为[a，B，C]和[1，2，3]，函数返回[a，1，B，2，C，3]。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;strong>&lt;span>问题3&lt;/span>&lt;/strong>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>编写一个计算前100位斐波那契数的函数。根据定义，斐波那契序列的前两位数字是0和1，随后的每个数字是前两个数字的和。例如，前10位斐波那契数为：0，1，1，2，3，5，8，13，21，34。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;strong>&lt;span>问题4&lt;/span>&lt;/strong>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>编写一个能将给定非负整数列表中的数字排列成最大数字的函数。例如，给定[50，2，1,9]，最大数字为95021。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>Ps：&lt;/span>&lt;span>点击这里&lt;/span>&lt;span>，阅读我的解决方案。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;strong>&lt;span>问题5&lt;/span>&lt;/strong>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>编写一个在1，2，…，9（顺序不能变）数字之间插入+或-或什么都不插入，使得计算结果总是100的程序，并输出所有的可能性。例如：1 + 2 + 34 – 5 + 67 – 8 + 9 = 100。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>如果你能力超群，上面这些问题对你而言只是小菜一碟，0.5小时之内解决完全绰绰有余的话，请将我的慷慨陈词当作是在放屁。&lt;/span>&lt;/p>&lt;ul class="list-paddingleft-2">&lt;li>&lt;p>&lt;span>来自：码农网&lt;/span>&lt;/p>&lt;/li>&lt;li>&lt;p>&lt;span>链接：www.codeceo.com/article/5-problems-programmer-1-hour.html&lt;/span>&lt;/p>&lt;/li>&lt;li>&lt;p>&lt;span>英文原文：https://blog.svpino.com/2015/05/07/five-programming-problems-every-software-engineer-should-be-able-to-solve-in-less-than-1-hour&lt;/span>&lt;/p>&lt;/li>&lt;li>&lt;p>&lt;span>翻译作者：码农网 – 小峰&lt;/span>&lt;/p>&lt;/li>&lt;/ul></description></item><item><title>那些程序员谈论的新技术我竟从没听说过！</title><link>https://pangyd.com/post/82/</link><pubDate>Tue, 29 Aug 2017 20:57:14 +0800</pubDate><guid>https://pangyd.com/post/82/</guid><description>&lt;p>过去的几个月里发生的几件事情，让给政府做软件开发的人感受到压力的陡增，从奥巴马的医保网站饱受诟病到美国退伍军人事务部官方网站的预约系统从1985年起就没有更新过，这些事情让我回忆起曾经作为政府程序员的经历，以及这段经历如何变成一种一直督促我努力工作的思想动力。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>我曾在某个政府部门维护过一个写于1990年代的老系统。当一个新的系统启动开发来替代部分的老系统功能时，很多的程序员对开发新系统的工作产生的严重的抵制心里。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>起初，我并不知道为什么他们会有这么大的反感。对这个系统维护一段时间之后，我才慢慢明白，有些程序员是专门维护系统，时间长达15年之久。当被邀请开发新系统时，他们对新事物和新技术都感到心里没底。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>￼&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>这让我警醒：这种事情也会很容易发生在我的职业生涯中。我可能会安逸的干着某一种工作，安逸的年年维护着某个系统。当这个系统长岁数时，我对它也变的更有价值，我的角色会最终变成专职维护它。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>我的余生也就整天执行相同的任务，直到退休。而当有一天，当这个系统不再被人需要时，我会发现外面的世界已经日新月异，我需要从头学起。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>这可不是我希望的生活轨迹；我作为程序员喜欢的方式是学习新思路来解决新问题，而不是安于现状。我们程序员很容易迷住某一项技术而将全部精力都放在上面，对于其它的毫不关心。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>虽然这样可以让你在某一个领域成为专家，但你却得不到探索其它领域获得的更多好处。当意识到这种目光狭窄会扼杀我的进取心后，我开始避免让所有鸡蛋都放到一个篮子里，我开始走出自己职业仕途中的安逸环境。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>学习新技术&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>你一直在用PHP编程吗？尝试一下使用Rails或ASP.NET。也许尝试一种新的语言或框架会让你感到受挫和沮丧，但探索的趣味也就在这里。至少，你应该看看同一种功能用其它语言是如何实现的。如何你只会用锤子，那你眼里所有的东西看起来都像钉子。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>￼&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>不惧怕老代码&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>虽然上面我举例的那个老代码的例子有些极致，但我并不认为所有的老代码都应该立刻替换掉、删掉。在如今的软件中，有很多稳固的、良好设计的程序代码，它们对那些只会使用集成开发组件的现代程序员来说是很好的学习教材。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>如果你的公司里有老项目、老代码需要你去维护，研究一&lt;/p>&lt;p>下！你会吃惊于从中学到那么多的编程知识以及公司的业务规则。还会发现一些当前正在研究的问题，其实几年以前就有人已经解决了。&lt;/p>&lt;p>￼&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>了解你的敌人&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>程序员很容易对某种语言或框架产生宗教式的虔诚。如果你发现自己曾经痛恨或鄙视某种技术(参看Jeff Atwood的一篇经典文章)，也许你应该强迫自己去研究一下它们。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>最不济，至少你能证明讨厌它们是有理由的。最好的情况是，你会从它们中学到很多东西。不要让你的偏见阻挡了你的探索道路。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>￼&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>不要太贪心&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>程序员很容易被各种层出不穷的新平台、新语言、新工具、新类库吓倒。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>你很容易产生一种恐惧心理，感觉自己已经落后——那些程序员谈论的技术我怎么从来没有听说过？当你发现一种新技术看起来很有用或很有趣时，做个笔记，几周或几月后在回来看看它，如果人们还在谈论它，那么，你就应该进一步研究它。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>事实上很多热门新技术都是昙花一现，你完全可以忽略它，不要让它们浪费了你的大脑。&lt;/p>&lt;p>￼&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>学无止境&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>程序员都有着一种天生的好奇心，这种好奇心引导着我们的编程生涯。写几行代码，装载到计算机里，让它按照你的思路工作，这是非常有趣的事情。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>但随着开发的东西越来越多，我们变的越来越忙，这种好奇心会慢慢的减退。我们应该时不时的用一些新思路挑战自己，让自己的思想保持锋锐和专注，提醒自己为什么当初选择码农这条道路。&lt;/p></description></item><item><title>在BAT工作和创业公司工作有什么不同的体验？</title><link>https://pangyd.com/post/79-bat/</link><pubDate>Sat, 26 Aug 2017 21:57:37 +0800</pubDate><guid>https://pangyd.com/post/79-bat/</guid><description>&lt;p>这个问题的答案会因为发问人的不同而不同。别人永远无法回答“你应该去哪里”这个问题。更有意义的方法是，分别去看在BAT和创业公司里，你会得到什么、不得不接受什么，在此基础上，做出最符合自己现状且最能实现未来期许的选择。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>如果在BAT级别的公司工作，体验如何？&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>在这样的公司工作，你能收获：&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>1、公司品牌为个人品牌做背书。同时，由此会获得很多资源和人脉。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>2、更大更全面的行业格局和视野。小而美的事情多由创业公司完成。而战略格局之类的事，则是大公司在做。在BAT对于建立行业视野和格局有很大帮助。很多时候，先了解大背景，再切入小事情，效率和方向都会更对。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>3、和很多精英接触并学习。尽管随着人员扩张而精英比例减少，但是，精英仍然很多。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>4、专业的工作方法。尽管互联网整体专业性弱于金融业或外企，但是BAT的专业性在互联网行业基本最强，创业公司没有精力顾及专业这件事。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>5、充足的学习成长空间。这一点是相对创业公司而言的。没有生存压力的BAT有能力招纳新人并给予三个月到半年的学习期。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>6、了解多条业务发展，有更全局的判断和更充分的信息储备。小公司一般就一条业务，但是大公司的业务线很多。观察越多，业务逻辑就越全面、行业知识也越深厚。很多时候，信息的充足度会影响决定的正确性。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>7、BAT的员工量级都在几万人。去观察公司如何凭借统一流程有效管理这么多员工，也是一件很有意思的事情。能够提升个人的管理水平。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>在BAT工作，你不得不接受：&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>1、个体竞争激烈，出头不易。这是对平均水平同学的泛指，对于格外优秀的人才，在哪都发光。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>2、办公室政治。有人的地方就有江湖，越大的公司，政治斗争越激烈。无穷尽的扯皮，开会，斗争，都是再正常不过的。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>3、细到蛋疼的分工。每件事都需要很多很多个团队配合完成，盖因分工细。分工细是社会进步的表现，但是从具体项目而言，却是降低效率的原因。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>4、漫长复杂的流程。没办法，要规模化管理几万人，必须要有安全的流程。同时由于分工细，流程中也要涉及太多不同的角色，所以流程漫长得不得了。这是个正常现象。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>5、没有话语权的弱势地位。除非你特别出色，对公司特别重要，不然，就基本不会有议价的话语权。除非在团队里有资格对自己的老板议价，同时老板在更大的体系里也有和公司议价的能力，不然，只能一边抱怨，一边忍受。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>很多人从BAT出逃，就是因为忍受不了这些“不得不”条款。那么，在一个小的创业公司工作，是不是就天高云阔、万物和谐，恰好能够规避这些？并不尽然。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>先看看在创业公司，你能够收获什么。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>1、更有诱惑力的实现“财务自由”的未来。很多人进创业公司，看中的恰恰是“可能上市”这个结果。一旦成功，可获得的财务收益将是在BAT大公司打工十几、几十年的总和。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>2、更全面的实践机会。不同于大公司，创业公司没有细致分工，也没有严格流程。由于分工模糊，凡是个人能力所及的都可尝试，学习的广度增加;由于没有流程限制，效率高，可快速试错。实践出真知，一个员工在创业公司一年实践所学，将是在BAT的3倍以上。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>3、和精英更近距离的接触。不同于BAT的严格级别限制，在创业公司的扁平化结构中，普通员工也能与创始人们频繁接触。优秀创业公司创始人，在BAT也会是总监及以上。接触精英的机会增加，受益匪浅。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>4、更大的成就感。由于创业公司品牌弱、用户少，日常工作对业务的促进显著可见，个人成就感增加。在BAT，很多时候是无法了解自己的工作到底为业务带来什么样的价值。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>但是，想要快速融入创业公司，并跟着公司一起高速发展，却也要面对很多无法规避的阵痛。记住一句话：在创业公司，为生存而发展大于一切。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>1、工作重，压力大，易焦虑。创业公司通常都面临着巨大的行业竞争压力，跑不快则死。这种公司压力折射到员工身上，就是繁重的工作任务、习以为常的加班时间，和弥漫全公司的焦虑感。因此，在创业公司工作，需要有极强的抗压能力和适应性，管理情绪，做好自我调节。同时，要接受“没有自己的生活”这个状态。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>2、无流程带来的混乱，无管理带来的反弹。在享受无流程的高效率的同时，也要忍受由此引发的混乱;在享受扁平化快速行动的同时，也要忍受公司管理制度不足带来的各种不满。对于创业公司来说，发展大于一切，流程、管理方法、专业的工作方法等，会影响发展效率。同时，在精力有限的情况下，管理层确实也无法顾及这些相对“务虚”的事项。这些混乱和反弹，需要个体自我消化。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>3、只有最基本的福利保障。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>4、干活全靠自己。在BAT还有团队干活?到了创业公司，很长一段时间，你都得习惯自己动手丰衣足食。小到每个错别字，大到每个战略方向，都要赤膊上阵自己来。同时，由于公司小，资源少，行业内话语权弱，谈合作基本靠刷脸。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>只要是选择，就一定会有“好”和“不好”，世上从无完美选择。无论是选择什么样的工作环境，在做决定前，都有以下原则可以遵循：&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>1、尽可能获得足够信息。信息越多，决策风险越低。既可以主动收集线上信息，也可以多做面对面沟通。有时候非正式沟通，更易获得有小细节。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>2、明确自己的长远目标。以目标为导向，倒推实现路径，选择最match实现路径的决定。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>3、了解决策成本，预估决策收益。评估自己是否可以承担成本，多大可能获得收益。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>4、评估选择后的发展空间。使前路更广阔的选择，一般来说优于减少未来可能性的选择。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>5、记住一点，职场上，不要幻想温情。无论是哪个选择，其结果成否都要靠你的实力说话。与感情无关。鲜事，传播TMT大事件&lt;/p>&lt;p>来源：网站分析公会&lt;/p></description></item><item><title>我见过的最糟糕的代码</title><link>https://pangyd.com/post/75/</link><pubDate>Wed, 23 Aug 2017 14:19:01 +0800</pubDate><guid>https://pangyd.com/post/75/</guid><description>&lt;p>&lt;span>多数的客户项目，在任务完成之后都会很快从记忆里消退，但有些你一辈子都不会忘记。今天这篇文章，我要说的就属于后者。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>这事发生在很多年前，在一个相当大的公司里，公司名我就不说了。那个软件有一大堆程序，是一个商业系统的核心模块，由一个、单独的小伙维护着，这个家伙不久前被炒了。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>像这样的事情其实都很正常，一些公司通常会发现他们的一些关键性技术自始至终都保存在一个人的头脑里，当有事情发生时，就像现在这个人，你通常会经历一阵痛苦阶段去阅读他留下的东西，之后生活慢慢趋于正常。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>这次有点不一样。&lt;/span>&lt;/p>&lt;p>&lt;img class="" data-ratio="0.6222910216718266" data-s="300,640" data-src="https://pangyd.com/uploads/2017/08/74c10f869f038762.jpg" data-type="png" data-w="646" _width="auto" src="https://pangyd.com/uploads/2017/08/74c10f869f038762.jpg" data-fail="0">&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>这个程序出了点问题，公司派了一个去修复这个问题，等他回来后发现精神有点反常，不是哭就是笑，嘴里嘟囔着什么“&lt;span>匹萨调用汉堡，并且传入了包子&lt;/span>”。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>程序员的代码里通常体现着自己对幽默的理解，以及对‘工作保密’这个词的认识。我们都听说过一些难以置信的故事，比如说公司辞退了某个搞技术的家伙后，结果被告知如不在 48 小时内向某个海外账户打入多少钱，会计软件将会自动删除所有客户记录。像这种的小伎俩相对而言还好处理 —— 假设这些传说的故事大多数都是真的，我还是很难相信，我从来没有在现实生活中遇到过这种事情。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>这个家伙留下来的软件里没有任何的逻辑炸弹或下流的阴谋，编译很正常，除了有一个 bug 外，一切都工作的很好。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>但是，你需要想像一下：程序中的所有函数、变量名都是以食物命名的。&lt;span>匹萨，西红柿，泡菜，各种味道的奶酪，水果，蔬菜，酒&lt;/span>，等等，一篇一篇，全是这样。里面唯一能让你马上知道意义的地方，只有 ‘main’ 函数名和 C 标准类库的调用。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>就这样，我接手了这个费力不讨好的烂摊子，努力把程序恢复到一个可维护的状态。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>说实话，这是一个极好的加密形式，只有拿到密钥你才能让这些“代码沙拉“变得有意义。一点一点的，我把这些函数名和变量名改成具有意义的命名，开始很麻烦，之后慢慢的变得容易些。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>把已知的函数和源代码进行恢复，要比对未知的代码进行反向解析容易的多，因为首先你要分清代码里哪些是程序，哪些是数据，而放在我前面的这些程序，显然都是明文，所有这活儿并不是不可能完成，或者说是格外的困难，只是这活儿太乏味太无趣了。一旦你发现了某个变量可能应该给个什么样有意义的名字，余下的就是查找和替换。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;/span>&lt;/p>&lt;p>&lt;img class="" data-ratio="0.6424501424501424" data-s="300,640" data-src="https://pangyd.com/uploads/2017/08/74c10f869f038762.jpg" data-type="jpeg" data-w="702" _width="auto" src="https://pangyd.com/uploads/2017/08/74c10f869f038762.jpg" data-fail="0">&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>另外一个问题是，代码写的太烂，事实上，这意大利面条式的代码，比这些毫无意义的符号更让人困惑，等我把函数名和变量名都改回有意义的名称后，我开始把一大堆的代码重写，让它们易于理解、效率更高。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>我始终没有弄明白他是否还有一套没有加密混淆过的代码，他可以使用一些‘混淆’脚本通过替换的方法把原始变量名混淆成这样。我很难相信，一个人会在最初时就把代码写成这样，因为这对他自己也是一个巨大的挑战，这里肯定有一些高超的技术。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>当然，如果你的脑子里还在想：你不能因为我的变量名没有什么意义就把我开除了(或应该招我回来改程序)，那你是在妄想，不管这个家伙的用意是什么，他的做法十分的错误(我很难想象他的前任老板还会推荐他)，不管怎样，这事儿让我乐了好几周。&lt;/span>&lt;/p></description></item><item><title>三十五年经验分享：程序员进阶八法</title><link>https://pangyd.com/post/73/</link><pubDate>Mon, 21 Aug 2017 19:44:14 +0800</pubDate><guid>https://pangyd.com/post/73/</guid><description>&lt;p>&lt;span>这八法十分可靠，可提高你写代码的技能，你可要收藏好了。&lt;/span>&lt;/p>&lt;p>&lt;br data-filtered="filtered">&lt;/p>&lt;p>&lt;span>时间到了，提高你的编程技能，认真+严肃，走起！&lt;/span>&lt;/p>&lt;p>&lt;br data-filtered="filtered">&lt;/p>&lt;p>&lt;span>如果你的目标仅仅是提高自己，那么很容易实现，但是如果你的目标是成为一个伟大的程序员，那么这就不简单了。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>很多人都愿意说，我想变得更好，但是更好是什么却很模糊，而且人们也不知道该怎么样去做。&lt;/span>&lt;/p>&lt;p>&lt;br data-filtered="filtered">&lt;/p>&lt;p>&lt;span>我在这里分享八法来帮助你顺利提高你的编程技能。这些小智慧来自三十年深耕该领域，许多都令你再熟悉不过了，你可能早就认知了它们。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;section class="">&lt;section>&lt;span>&lt;/span>&lt;span>&lt;span>&lt;/span>&lt;span>&lt;/span>&lt;/span>&lt;/section>&lt;section>&lt;section class="">&lt;section>&lt;span>1.要记得，你并非无所不知&lt;/span>&lt;/section>&lt;/section>&lt;/section>&lt;/section>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>在你前进的路上，有一只巨大的拦路虎，它的名字叫做“我无所不知”。那些计算机学科毕业的大学生们以及有经验的程序员都好犯这样的毛病。&lt;/span>&lt;/p>&lt;p>&lt;br data-filtered="filtered">&lt;/p>&lt;p>&lt;span>实际上，这是一个陷阱，掉进去就很难爬上来。但是，你仍然要克服它。只有机器人才愿意认为自己无所不知，但是人类的特点是，能够认识到自己的不足，然后去学习新知。&lt;/span>&lt;/p>&lt;p>&lt;br data-filtered="filtered">&lt;/p>&lt;p>&lt;span>所以，你要明白，想要成为一个更好的程序员，第一步就是意识到自己总有新物要学，保持谦逊的态度，这才是学习的一贯正途。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;section class="">&lt;section>&lt;span>&lt;/span>&lt;span>&lt;span>&lt;/span>&lt;span>&lt;/span>&lt;/span>&lt;/section>&lt;section>&lt;section class="">&lt;section>&lt;span>2.停止去证明你有多正确吧&lt;/span>&lt;/section>&lt;/section>&lt;/section>&lt;/section>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>从经验中学习会令你伟大，而不仅仅是还凑合。但是要注意了，经验也会使我们不断重复错误的行为导致养成不好的习惯。如果你是有8年经验的程序员，你也有可能连着8年都在重复同样的错误。&lt;/span>&lt;/p>&lt;p>&lt;br data-filtered="filtered">&lt;/p>&lt;p>&lt;span>克服这一谬感的方法就是，时刻检视自己，并不断地发问：在这一点上，我是否还能做得更好一些。&lt;/span>&lt;/p>&lt;p>&lt;br data-filtered="filtered">&lt;/p>&lt;p>&lt;span>举个有趣儿的例子，一个经验丰富的软件开发者，他写出了令自己也艳羡不已的代码，于是他觉得这个代码简直太完美了，他不断写文章去证明自己有多么的正确，代码功能多么优秀。&lt;/span>&lt;/p>&lt;p>&lt;br data-filtered="filtered">&lt;/p>&lt;p>&lt;span>氮素呢？人们从来没有见到他去找一切办法来佐证自己的代码是错误的。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>其实呀，真正优秀的程序员，他们都喜欢去证反，就是去证明自己有多么的错误，因为他们知道，长久来看，用户一定会发现软件的问题和失误，而他们希望自己首先发现这些问题，而不是等待别人去发现。&lt;/span>&lt;/p>&lt;p>&lt;br data-filtered="filtered">&lt;/p>&lt;p>&lt;span>呐，你看到优秀和平庸之间的差距了吗？&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;section class="">&lt;section>&lt;span>&lt;/span>&lt;span>&lt;span>&lt;/span>&lt;span>&lt;/span>&lt;/span>&lt;/section>&lt;section>&lt;section class="">&lt;section>&lt;span>3.代码没有死亡，它始终活着&lt;/span>&lt;/section>&lt;/section>&lt;/section>&lt;/section>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>没错，你第一步总是要写出高质量的代码来满足用户的特殊需求，但是优秀和平庸的区别体现在哪里？&lt;/span>&lt;/p>&lt;p>&lt;br data-filtered="filtered">&lt;/p>&lt;p>&lt;span>如果你只是匆匆忙忙地进入下一个任务中，那么你不可避免地成为了穷忙族。一段代码写出来以后，它并没有死亡，它始终活着。&lt;/span>&lt;/p>&lt;p>&lt;br data-filtered="filtered">&lt;/p>&lt;p>&lt;span>这说明什么？你写出代码并不意味着你的工作结束了，相反，一切都才刚刚开始，你不需要火急火燎地赶往下一个站点。&lt;/span>&lt;/p>&lt;p>&lt;br data-filtered="filtered">&lt;/p>&lt;p>&lt;span>停止，仅仅意味着阶段性的展示和赏析，但是伟大的程序员对一件事情心知肚明，那就是万事都可以更好，产品运行了，这很棒，但是你的工作没有结束，要依靠迭代让产品变得好上加好。&lt;/span>&lt;/p>&lt;p>&lt;br data-filtered="filtered">&lt;/p>&lt;p>&lt;span>如何让产品变得更好？我们依据不同的应用，会提出不同的问题，比如，更快是不是对产品价值的增值？更容易记录是不是呢？更容易重复使用呢？更可靠呢？&lt;/span>&lt;/p>&lt;p>&lt;br data-filtered="filtered">&lt;/p>&lt;p>&lt;span>这些问题虽然不同，但是程序猿对产品不懈追求的动机是一致的。你懂了吗？你不断思考如何让产品变得更好，这一点是不变的，但是你的方法是提出一些与众不同的、内容不一的问题。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;section class="">&lt;section>&lt;span>&lt;/span>&lt;span>&lt;span>&lt;/span>&lt;span>&lt;/span>&lt;/span>&lt;/section>&lt;section>&lt;section class="">&lt;section>&lt;span>4.写三次吧&lt;/span>&lt;/section>&lt;/section>&lt;/section>&lt;/section>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>好的程序员认为写出的软件能运行就好了，伟大的程序员认为软件要运行得极其完美。但这很少在第一次就成功，最好的软件通常要写三次。&lt;/span>&lt;/p>&lt;p>&lt;br data-filtered="filtered">&lt;/p>&lt;p>&lt;span>首先，你写软件是为了向自己或者用户证明问题是可以解决的。其他人或许意识不到这是一个概念生成的时期，但是你自己很清楚。&lt;/span>&lt;/p>&lt;p>&lt;br data-filtered="filtered">&lt;/p>&lt;p>&lt;span>然后，你让软件生效。最后，你让它正确地运行。&lt;/span>&lt;/p>&lt;p>&lt;br data-filtered="filtered">&lt;/p></description></item><item><title>那些程序员谈论的新技术我竟从没听说过！</title><link>https://pangyd.com/post/72/</link><pubDate>Mon, 21 Aug 2017 19:41:15 +0800</pubDate><guid>https://pangyd.com/post/72/</guid><description>&lt;p>&lt;span>过去的几个月里发生的几件事情，让给政府做软件开发的人感受到压力的陡增，从奥巴马的医保网站饱受诟病到美国退伍军人事务部官方网站的预约系统从1985年起就没有更新过，这些事情让我回忆起曾经作为政府程序员的经历，以及这段经历如何变成一种一直督促我努力工作的思想动力。&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>我曾在某个政府部门维护过一个写于1990年代的老系统。当一个新的系统启动开发来替代部分的老系统功能时，很多的程序员对开发新系统的工作产生的严重的抵制心里。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>起初，我并不知道为什么他们会有这么大的反感。对这个系统维护一段时间之后，我才慢慢明白，有些程序员是专门维护系统，时间长达15年之久。当被邀请开发新系统时，他们对&lt;span>&lt;strong>新事物和新技术都感到心里没底&lt;/strong>。&lt;/span>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;img class="__bg_gif " data-ratio="0.476" data-src="https://pangyd.com/uploads/2017/08/74c10f869f038762.jpg" data-type="gif" data-w="500" width="100%" _width="670px" src="https://pangyd.com/uploads/2017/08/74c10f869f038762.jpg" data-order="1" data-fail="0">&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>&lt;strong>&lt;span>这让我警醒：&lt;/span>&lt;/strong>&lt;span>这种事情也会很容易发生在我的职业生涯中。我可能会安逸的干着某一种工作，安逸的年年维护着某个系统。当这个系统长岁数时，我对它也变的更有价值，我的角色会最终变成专职维护它。&lt;/span>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>我的余生也就整天执行相同的任务，直到退休。而当有一天，当这个系统不再被人需要时，我会发现外面的世界已经日新月异，我需要从头学起。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>这可不是我希望的生活轨迹；我作为程序员喜欢的方式是学习新思路来解决新问题，而不是安于现状。&lt;/span>&lt;span>我们程序员很容易迷住某一项技术而将全部精力都放在上面，对于其它的毫不关心。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>虽然这样可以让你在某一个领域成为专家，但你却得不到探索其它领域获得的更多好处。当意识到这种目光狭窄会扼杀我的进取心后，我开始避免让所有鸡蛋都放到一个篮子里，我开始走出自己职业仕途中的安逸环境。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;section class="" style="text-align: center">&lt;section>&lt;section>&lt;section>&lt;section>&lt;/section>&lt;section>&lt;/section>&lt;/section>&lt;section class="">&lt;section class="">&lt;section>&lt;strong>&lt;span>学习新技术&lt;/span>&lt;/strong>&lt;/section>&lt;/section>&lt;/section>&lt;/section>&lt;section>&lt;section>&lt;/section>&lt;section>&lt;/section>&lt;/section>&lt;/section>&lt;section>&lt;/section>&lt;/section>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>你一直在用PHP编程吗？尝试一下使用Rails或ASP.NET。也许尝试一种新的语言或框架会让你感到受挫和沮丧，但探索的趣味也就在这里。至少，你应该看看同一种功能用其它语言是如何实现的。如何你只会用锤子，那你眼里所有的东西看起来都像钉子。&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;/span>&lt;/p>&lt;p>&lt;img class="__bg_gif " data-ratio="0.562" data-src="https://pangyd.com/uploads/2017/08/74c10f869f038762.jpg" data-type="gif" data-w="500" width="100%" _width="670px" src="https://pangyd.com/uploads/2017/08/74c10f869f038762.jpg" data-order="2" data-fail="0">&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;section class="" style="text-align: center">&lt;section>&lt;section>&lt;section>&lt;section>&lt;/section>&lt;section>&lt;/section>&lt;/section>&lt;section class="">&lt;section class="">&lt;section>&lt;strong>&lt;span>不惧怕老代码&lt;/span>&lt;/strong>&lt;/section>&lt;/section>&lt;/section>&lt;/section>&lt;section>&lt;section>&lt;/section>&lt;section>&lt;/section>&lt;/section>&lt;/section>&lt;section>&lt;/section>&lt;/section>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>虽然上面我举例的那个老代码的例子有些极致，但我并不认为所有的老代码都应该立刻替换掉、删掉。在如今的软件中，有很多稳固的、良好设计的程序代码，它们对那些只会使用集成开发组件的现代程序员来说是很好的学习教材。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>如果你的公司里有老项目、老代码需要你去维护，研究一&lt;/span>&lt;/p>&lt;p>&lt;span>下！你会吃惊于从中学到那么多的编程知识以及公司的业务规则。还会发现一些当前正在研究的问题，其实几年以前就有人已经解决了。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;/span>&lt;/p>&lt;p>&lt;img class="__bg_gif " data-ratio="0.496" data-src="https://pangyd.com/uploads/2017/08/74c10f869f038762.jpg" data-type="gif" data-w="500" width="100%" _width="670px" src="https://pangyd.com/uploads/2017/08/74c10f869f038762.jpg" data-order="3" data-fail="0">&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;section class="" style="text-align: center">&lt;section>&lt;section>&lt;section>&lt;section>&lt;/section>&lt;section>&lt;/section>&lt;/section>&lt;section class="">&lt;section class="">&lt;section>&lt;strong>&lt;span>了解你的敌人&lt;/span>&lt;/strong>&lt;/section>&lt;/section>&lt;/section>&lt;/section>&lt;section>&lt;section>&lt;/section>&lt;section>&lt;/section>&lt;/section>&lt;/section>&lt;section>&lt;/section>&lt;/section>&lt;p>&lt;br>&lt;/p>&lt;p>&lt;span>程序员很容易对某种语言或框架产生宗教式的虔诚。如果你发现自己曾经痛恨或鄙视某种技术(参看Jeff Atwood的一篇经典文章)，也许你应该强迫自己去研究一下它们。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>最不济，至少你能证明讨厌它们是有理由的。最好的情况是，你会从它们中学到很多东西。不要让你的偏见阻挡了你的探索道路。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;img class="__bg_gif " data-ratio="0.482" data-src="https://pangyd.com/uploads/2017/08/74c10f869f038762.jpg" data-type="gif" data-w="500" _width="auto" src="https://pangyd.com/uploads/2017/08/74c10f869f038762.jpg" data-order="4" data-fail="0">&lt;/p></description></item><item><title>转载自【 Java编程精选】一位程序员工作10年总结了这些忠告</title><link>https://pangyd.com/post/48-java10/</link><pubDate>Thu, 10 Aug 2017 19:46:59 +0800</pubDate><guid>https://pangyd.com/post/48-java10/</guid><description>&lt;p>展望未来，总结过去10年的程序员生涯，给程序员小弟弟小妹妹们的一些总结性忠告。&lt;/p>&lt;p>&lt;strong style="text-align: center">&lt;/strong>&lt;/p>&lt;p>&lt;span>1、自己的户口档案、养老保险、医疗保险、住房公积金一定要保管好。&lt;/span>&lt;/p>&lt;p>由 于程序员行业每年跳槽一次，我不隐瞒大家，我至少换过5个以上的单位，这期间跳来跳去，甚至是城市都换过3个。还好户口没丢掉，其他都已经是乱了，好几个 城市里，都有交过三金，甚至是一个程序的2个区里交的都有，那些东西，10年后，会变得很重要。你买房子若有公积金，可以取出来，贷款利率也会比较低一 些，有孩子了，还需要上学，生病了还需要医疗保险。&lt;/p>&lt;p>&lt;span>2、读&amp;gt;写代码&amp;gt;读&amp;gt;写代码（日复一日）&lt;/span>&lt;/p>&lt;p>关于如何高效学习编程我要给出的第一条建议是在阅读代码和编写代码之间循环往复。阅读代码（书籍，博客文章，开源代码）将帮助你查看解决方案，了解最佳做法，并大致了解语言或系统。但是在你这样做之后，你需要自己实际去写代码。可以是任何东西。可以是小的编码练习或业余项目，但确保你能将之付诸于实践，并用某种方式使用你学到的东西。如果你不这样做，那么你会发现自己面对编辑器会无所适从无从下手。&lt;/p>&lt;p>&lt;span>所有事情所花费的时间总是比你预期的要长&lt;/span>&lt;/p>&lt;p>特别是在编程中，即使一切进展顺利，我们也很难对功能所需的时间做出正确的预算。并且，开发软件时碰到各种意想不到的问题是非常常见的。一个简单的合并操作会导致一系列小bug，一次框架升级意味着一些函数必须改变或者一些API不按照你想象的那样工作。&lt;/p>&lt;blockquote>&lt;p>Hofstadter Law（ 霍夫施塔特定律）其实道出了真谛：做事所花费的时间总是比你预期的要长，即使你在预期中已经考虑了 Hofstadter Law（ 霍夫施塔特定律）。&lt;/p>&lt;/blockquote>&lt;p>&lt;span>先了解现有的代码&lt;/span>&lt;/p>&lt;p>大多数的编码都需要以某种方式改变现有的代码。即使是新功能，也需要适应现有的程序。所以，在你加进去新的内容前，首先需要了解当前的解决方案。否则，你一不小心就很有可能会打破现有的功能。这意味着，阅读代码和编写代码都是必要的技能。这也是为什么看似微小的变化仍可能需要很长时间才能解决的原因之一，因为你首先必须了解上下文。&lt;/p>&lt;p>&lt;span>成为开发者社区的一员&lt;/span>&lt;/p>&lt;p>当我还在大学的时候，我总是懒得参加各种社团和俱乐部活动。当我找到我的第一份开发工作时，最不乐意做的也是和其他开发者闲聊闲逛。&lt;/p>&lt;p>但是我错了。&lt;br>&lt;/p>&lt;p>同行聚会和进入开发群是很有趣的事情，是结识开发者伙伴的好地方。如果你想在这个行业里做到最好，就尽量不要消极被动。与坐在你旁边的人交谈，提供你的帮助，分享你的经验。每个人都喜欢谈论自己的经历，更何况你也许会遇到很多潜在的雇主。&lt;/p>&lt;p>在那里你会碰到许多需要教练的初学者团体，你可以指导新手，给他们提供练手的机会，甚至赞助活动。&lt;/p>&lt;p>当然，要学习别人的开发技巧并且勇于实践，要热情地欢迎不同意见的人讲话，勇敢地听取他们的意见。&lt;/p>&lt;p>&lt;span>编程并不是一件什么神秘的东西&lt;/span>&lt;/p>&lt;p>编程跟其他东西一样，是一门技术。跟语言学习一样，有需要掌握的语法和词汇；跟数学一样，有解决特定类型问题的流程方法；像各种工艺和艺术创作一样，有技术、工具以及人们经年累月发展起来的最佳实践方案，专门解决各种不同类型的任务，你可以自由的使用、修改或弃之不用。&lt;/p>&lt;p>但是编程也不是每个人都可以学好学懂学会的，曾经面试过从培训班出来的新人，一问三不知，最基本的知识点都模糊不清，一问他以前的专业职业，原来是高中没毕业，去了工厂做工人，觉得太辛苦，后来看到培训机构说没基础也可以学习编程，就把挣的钱全送给了培训机构去学习编程。结果呢？很清楚，他选择了不适合他的道路，注定没有出路。&lt;/p>&lt;p>虽然编程不神秘，但是它和美术、音乐、艺术、销售、设计等一样，也分人，也不是每个人都能学会都能干的。&lt;/p>&lt;p>&lt;span>这是一场马拉松，不是百米赛跑&lt;/span>&lt;/p>&lt;p>这三个月对我来说绝对不容易。这三个月，我每周都要辛苦六天用于找工作和学**。不过我还是把自己照顾得很好。&lt;/p>&lt;p>有的时候，我会和朋友一起学。有的时候，我会找个咖啡馆自己一个人学，或者去 Hack Reactor 提供的休息室学。每周我还会和教练报告我的进度。&lt;/p>&lt;p>在这个过程中很容易耗尽热情。那么就吃好，睡好，继续学。&lt;/p>&lt;p>而且会很容易感到孤单。和一群学友们在一起会好一点。&lt;/p>&lt;p>建议：要有长期作战的心理准备，照顾好自己的身体。&lt;/p>&lt;p>&lt;span>开发效率&lt;/span>&lt;/p>&lt;p>开发效率可以用这些方式提升：&lt;/p>&lt;p>1 . 构建公用工具类，方便大家使用&lt;/p>&lt;p>2 . 使用开源的一些包，例如 ORM 思想的数据库等&lt;/p>&lt;p>3 . 可以很快的找到问题。开发中，找 bug 的时间，往往是很多的。我用的方法有3个： 使用 try catch； 拦截所有 crash 到我指定的地方；超多的 Log，Log 有统一的控制开关。&lt;/p>&lt;p>4 . 借力：数据上报用灯塔，崩溃上报用 bugly，公司 KM 上很多经验，拿过来用&lt;/p></description></item><item><title>“努力一暑假开学当学霸” 学生的暑假是怎样被“玩”坏的？</title><link>https://pangyd.com/post/34/</link><pubDate>Sat, 05 Aug 2017 17:11:15 +0800</pubDate><guid>https://pangyd.com/post/34/</guid><description>&lt;p class="" style="text-align: justify">（原标题：“努力一暑假开学当学霸” 学生的暑假是怎样被“玩”坏的？）&lt;/p>&lt;ul class="list-paddingleft-2">&lt;li>&lt;p style="text-align: center">&lt;img data-src="https://pangyd.com/uploads/2017/08/74c10f869f038762.jpg" class="" data-ratio="0.7269230769230769" data-w="260" data-type="jpeg" src="https://pangyd.com/uploads/2017/08/74c10f869f038762.jpg" data-fail="0">&lt;/p>&lt;p style="text-align: center">&lt;br>“游”大于“学”，出境游学成了旅游项目一个昂贵的“变体”。现在旅行团加个“游学”的名头就能售价暴涨，但实际上只是普通旅游。&lt;br>&lt;br>&lt;/p>&lt;/li>&lt;/ul>&lt;p>暑假本应是孩子们“狂欢”的时候，但现在却被各种培训班淹没，甚至有培训班打出“努力一暑假，开学当学霸” 的口号，孩子不能放松，家长也并不轻松，有些培训班要求家长必须陪读以便每天回家能辅导孩子复习。&lt;br>　　与此相对的，有些家长选择把孩子送出国去游学，可游学也并不是一件省心的事儿，日前有媒体爆出，有不少旅行社就打出游学的幌子而只是出国一趟只游不学而已。&lt;br>　　很多家长是报着不能让孩子输在起跑线上的心态将孩子们的暑假安排得满满当当，家长也应换个角度想想，如果是自己小时候的暑假，又可会愿意被这么安排？孩子们的暑假，究竟该怎么过？&lt;/p>&lt;p style="text-align: center">&lt;strong>才上幼儿园 孩子的作业已经做不完&lt;/strong>&lt;/p>&lt;p>嘟嘟今年5岁半，在妈妈嘴里就是“马上就要进入幼小衔接的关键时期”，嘟嘟妈这个暑假给孩子报的班，排满了七八两个月。打开嘟嘟妈的手机，日历上赤橙黄绿青蓝紫一片彩虹色，用不同颜色标记的培训班竟然多达9个。&lt;br>　　看到那张让人眼花缭乱的日程表，有被吓到的感觉，但是嘟嘟妈非常肯定地表示：“我们孩子报得不算多的。”&lt;br>　　据了解，虽然很多培训班是短期的，日程有错开，不过，5岁半的嘟嘟最忙的一天，从上午到晚上排了4个班——早上是美术课，接着钢琴课，下午是一对一游泳课，晚上是英语班。&lt;br>　　这么紧凑的日子，嘟嘟需要两代人接送。白天是爷爷送，晚上等妈妈下班了就妈妈送。但作为医生，嘟嘟妈有时候还会轮到夜班，再加上各种学习和出差，她自己的日程表会叠加一倍的量，“精力顾不过来”。&lt;br>　　才幼儿园的嘟嘟已经要应付一大堆培训班作业了。英语班，暑期是集中训练15天，每天都要上课。英语课的课后作业，是培训机构自己开发的App程序，每周要完成 90个选择题，这些作业还是收费的，一元3个选择题。虽然作业很繁重，但嘟嘟妈承认做作业比单纯听课效果要好。&lt;br>　　但相比花样繁多的培训班，上课的内容还真是有点“水”。&lt;br>　　嘟嘟的妈妈说，一个《渔夫和金鱼》 的故事，被 3个培训班的老师用来教学。&lt;br>　　英语课上，这个故事是用英文讲的，回家以后要在App上做选择题：渔夫的妻子提了什么要求？选项还特别长。&lt;br>　　儿童剧班里，老师也表演了《渔夫和金鱼》的故事。&lt;br>　　到了乐高夏令营里，又是《渔夫和金鱼》。老师讲完故事，让孩子们用乐高玩具搭出故事场景。&lt;br>　　渔夫和金鱼也是够累的。&lt;br>　　可是，即便如此，也没有阻挡这位80后妈妈给孩子报班。说到为什么要给孩子上儿童剧班，嘟妈妈表示，“我自己感觉开会发言、上台做报告的口才很重要，现在已经很流行戏剧课啦。”她说，朋友的孩子报了据说是冯小刚投资的一个全英文戏剧教学，一次课要 300多元，“这么贵的班，照样被抢完。”&lt;br>　　暑假这两个月，这七七八八的培训班，一共花了嘟妈妈 10000多元，但她表示，她给孩子报的班都不是很贵。&lt;/p>&lt;p style="text-align: center">&lt;strong>“努力一暑假 开学当学霸”&lt;/strong>&lt;/p>&lt;p>辰辰该上三年级了。二年级期末考试，他的数学只得了92分，这让陈明敏挺不满意，“班里有两个学生考了满分，半数学生都在95分以上”。她有些自责，怪自己没早点给孩子报数学辅导班，而暑假正是“弯道超车”的最佳时刻。&lt;br>　　她关注了一个很火的数学辅导班，网站上打出令家长们“心潮澎湃”的口号——“努力一暑假 开学当学霸”。每天上两个半小时，连续上20天为一期，中间只有一天休息，同时老师提出一个硬性要求——家长必须陪读，以便每天回家辅导孩子复习。&lt;br>　　陈明敏的工作挺忙，但她还是咬了咬牙点头答应了。她盘算着只有每天午休自己时间稍微宽松些，决定给孩子报个中午班。&lt;br>　　每天上午 11点半，盛夏日头最毒的时候，她就会打仗似的冲出办公楼开车回家接孩子，并赶在12点前准时坐进教室。在班里，她是最认真的“学生”，老师在前面讲，她在下面记录，每次笔记都密密麻麻记好几页，“比自己上学时可认真多了，不能因为我影响儿子学习啊”。&lt;br>　　除了每天两小时数学课，陈明敏还给儿子报了英语课和游泳课。英语课是周二和周五晚上，每次各1个小时；周末下午是游泳课。&lt;br>　　这样一来，辰辰似乎比没放假时更忙了。他的暑期时间安排表排得满满当当：每天上午必须要完成数学和英语作业；中午上数学课；晚上除了上课，就是复习巩固数学和英语的学习情况。&lt;/p>&lt;p style="text-align: center">&lt;strong>出境游学成了旅游项目昂贵的“变体”&lt;/strong>&lt;/p>&lt;p>李元的儿子只是小学五年级学生，但他班上90%的同学都已经去过不少国家游学。之前李元认为孩子岁数小，不放心让他单独出门，这回看起来等不得了。“假期一结束，孩子们就会在一起讨论谁去的国家好玩，没去游学的同学无形之中被隔离在外，不但在同学面前没有谈资，还有可能被同学瞧不起。”李元说，今年一定要给他儿子报个出国游学项目。&lt;br>　　山东济南的公务员韩春去年给女儿报名参加一个海外游学项目。本来全家人对游学充满了期待，想早早做好准备。&lt;br>　　直到出发前 3天，旅行社才告诉韩春一家集合地点和应带物品，相关信息与游学关联性不大，倒是和平时出国旅行没什么两样。“出去后就发现不对劲。不少学习、交流环节都因为这个那个原因取消，反倒增加了一堆购物环节，就在各个大小商店之间游荡。 学 没游成，光去购物了。”这一次，前后报名费就花去 6万多元，几乎相当于他半年的收入。&lt;/p>&lt;p style="text-align: center">&lt;strong>不要用金钱堆砌孩子的暑假&lt;/strong>&lt;/p>&lt;p>城市里的孩子暑假期间在各类培训班、特长班中忙得不亦乐乎，在培训班里被强化着扼杀想象力、创造力。以提高分数为目标的应试训练，让教育成为了一种“烧钱游戏”。&lt;br>　　“烧钱式教育”背后的家长们，在这场游戏中最终都难以获胜，也不会有最后的赢家。教育是一场长跑，起跑线上的竞争决定不了最后的输赢，什么时候做什么事情，必须符合天性，符合教育规律。&lt;/p>&lt;p>起跑线上的竞争违背教育规律，是典型的拔苗助长，对孩子的长远发展而言，可能也是弊大于利。可怕的是，家长不如此，便不心安。家长之间的互相攀比，互相较劲给孩子报了多少培训班、特长班，再加上校外培训机构的刺激、诱导，被裹在这股洪流之中，人们很容易失去理性，如果不节制，别说3万元，30万也可能撑不起一个暑假。&lt;/p>&lt;p>　　其实，在多位中小学教师和教育专家看来，放假期间，家长给孩子更多的亲子陪伴，比上一些课外班要重要得多。在这期间，家长应是孩子的向导和伙伴，比如可以引导孩子做自己的暑假计划，规定每天的作息、学习时间和休息娱乐时间，并要求孩子严格遵守，培养其规划时间的能力和责任心。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p style="text-align: right">据新华社&lt;br>&lt;/p>&lt;p style="text-align: right">(原标题：“努力一暑假开学当学霸” 学生的暑假是怎样被“玩”坏的？)&lt;/p></description></item><item><title>让你的能力，配得上你的愿望</title><link>https://pangyd.com/post/31/</link><pubDate>Fri, 04 Aug 2017 21:16:02 +0800</pubDate><guid>https://pangyd.com/post/31/</guid><description>&lt;p style="text-align: center">&lt;img data-s="300,640" data-type="png" data-src="https://pangyd.com/uploads/2017/08/74c10f869f038762.jpg" class="" data-ratio="0.6636971046770601" data-w="449" src="https://pangyd.com/uploads/2017/08/74c10f869f038762.jpg" data-fail="0">&lt;/p>&lt;p style="text-align: center">&lt;br>&lt;/p>&lt;section data-author="Wxeditor">&lt;article class="" data-author="Wxeditor">&lt;section style="text-align: center">&lt;section>&lt;br>&lt;/section>&lt;section>&lt;p>1&lt;/p>&lt;/section>&lt;/section>&lt;/article>&lt;/section>&lt;p>&lt;span>&lt;strong style="text-align: justify">&lt;span>　　&lt;/span>&lt;/strong>重温《肖申克的救赎》，里面有句话让我铭记于心：“有些鸟注定是不会被关在笼子里的，因为它们的每一片羽毛都闪耀着自由的光辉。”&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;strong style="text-align: justify">&lt;span>　　&lt;/span>&lt;/strong>我从小就特别羡慕有独到见解，能够在众人面前出口成章又侃侃而谈的人。小学时的我是班级中的“大舌头”，于我而言，语言表达就好似一座巍峨的高山，让人望而却步。每每都快要“咬舌自尽”了，平翘舌音也还是会说错。仍记得，我当时的一个习惯动作就是，只要老师说“我找同学朗诵一下这段课文”，我就会迅速弯下腰，将头藏到书本后面，唯恐老师叫我起来读课文。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;strong style="text-align: justify">&lt;span>　　&lt;/span>&lt;/strong>好好的一篇《春天来了》，被我读成了《村天来了》，引得同学们捧腹大笑。我的脸涨得如充满气的皮球，恨不得能够有一种魔法，可以把刚才难堪的场景统统抹掉。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;strong style="text-align: justify">&lt;span>　　&lt;/span>&lt;/strong>我曾在梦中因不会表达而被人误解，委屈得哭醒。我是多么想能够在大家面前侃侃而谈，收获认可与掌声呀。一心寻求改变的我，开始每天做一些简单的语言练习，坚持了很久。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;strong style="text-align: justify">&lt;span>　　&lt;/span>&lt;/strong>因为我的画画得很好，为班级制作黑板报，设计班旗、班徽让我“火”了一把，很多老师和同学来我们班参观。于是，我们的班主任让我站在讲台上讲一讲我的设计创意，在掌声的鼓励下我说出了这些设计的联想。我站在讲台上，看到他们崇拜与喜爱的目光，竟不自觉地讲了许久。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;strong style="text-align: justify">&lt;span>　　&lt;/span>&lt;/strong>&lt;span>&lt;strong>我们每个人身上都有无限的独特的潜能&lt;/strong>&lt;/span>，如某种才华、技艺、让人开心或者投入的本领等等，&lt;span>&lt;strong>它们就好像是生活道路上赐予我们的礼物，等待着我们努力去探寻。&lt;/strong>&lt;/span>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;/span>&lt;/p>&lt;section data-author="Wxeditor">&lt;article class="" data-author="Wxeditor">&lt;section style="text-align: center">&lt;section>&lt;img class="" data-src="https://pangyd.com/uploads/2017/08/74c10f869f038762.jpg" data-ratio="0.5083333333333333" data-w="600" src="https://pangyd.com/uploads/2017/08/44d5041f007d30a9.png">&lt;/section>&lt;section>&lt;p>2&lt;/p>&lt;/section>&lt;/section>&lt;/article>&lt;/section>&lt;p>&lt;span>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;strong style="text-align: justify">&lt;span>　　&lt;/span>&lt;/strong>大学我如愿考入了北京，开学不久就加入了演讲与口才社。说来也巧，正赶上“北京市志远杯高校联合演讲大赛”，怀着对演讲的喜爱，我精心准备了一篇演讲稿，并在初赛200多名选手中，脱颖而出，晋级总决赛。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;strong style="text-align: justify">&lt;span>　　&lt;/span>&lt;/strong>两周后的总决赛上，我人生中第一次面对数百人演讲。我的演讲《用右手撑起一片晴空》，讲述了我自幼失去左臂，却通过努力获得省速滑冠军的故事。当我说到结尾时，现场响起了当天最热烈的掌声。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;strong style="text-align: justify">&lt;span>　　&lt;/span>&lt;/strong>当得知自己获得“2011年北京市志远杯高校联合演讲大赛冠军”时，眼含热泪的我仿佛看到了语言高山后面的大海。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;strong style="text-align: justify">&lt;span>　　&lt;/span>&lt;/strong>那一次的比赛，让我发现原来演讲可以影响很多人，甚至能够改变很多人。&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;br>&lt;/span>&lt;/p>&lt;p>&lt;span>&lt;strong style="text-align: justify">&lt;span>　　&lt;/span>&lt;/strong>为了我小小的&lt;/span>&lt;span>“英雄梦想”，我一有空就在无人的大教室里练习演讲。有一次，一位即将在这个教室上课的理学院的教授听到了我演讲中的一段话，便盛情邀请我在课前为200多位同学即兴演讲，从大家的笑容中我知道效果还算不错。&lt;/span>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p style="text-align: center">&lt;img data-s="300,640" data-type="png" data-src="https://pangyd.com/uploads/2017/08/74c10f869f038762.jpg" class="img_loading" data-ratio="0.580046403712297" data-w="431" src="https://pangyd.com/uploads/2017/08/44d5041f007d30a9.png">&lt;/p></description></item><item><title>刷机教程</title><link>https://pangyd.com/post/29/</link><pubDate>Wed, 02 Aug 2017 19:30:46 +0800</pubDate><guid>https://pangyd.com/post/29/</guid><description>&lt;div>随着手机行业不断发展，越来越多人追求完美，而刷机正好可以弥补——但系很多人对于刷机却一无所知，那就让我来带你装13&lt;br>&lt;br>刷机方法主要有【软刷】【卡刷】【线刷】&lt;br>&lt;br>下面让我一一介绍各种方法&lt;br>&lt;br>&lt;img src="file:///C:\Users\庞玉栋\AppData\Local\Temp\S~LW`Y7C8DV}Q91QC%Q`6HH.png">小白建议【软刷】，因为这个确实安全性最高&lt;br>可以用【刷机精灵】&lt;br>刷机固然有风险有可能变砖,但几率不大，其原因有以下几点：&lt;br>1、电量不足&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;，刷机时要注意的事项之一就是手机电量，那是因为手机刷机过程中就像电脑系统重装突然断电了。&lt;br>&lt;br>2、刷机包没选对&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;，很多时候刷机都是由于刷机的问题引起的，刷机包本身有问题，导致刷机过程中手机直接变砖的可能性很大，所以刷机包要去正规的资源站找，而且还测试过的比较安全。【建议奇兔刷机https://m.rom.7to.cn/】&lt;br>&lt;br>3、刷机前要ROOT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;，有些手机要刷机一些底包等，这些都是特别的一些机型，特别的版本手机刷机需要这个，一般手机不要那么麻烦的。&lt;br>&lt;/div></description></item><item><title>【分享】口才比文采重要，训练口才的16种绝技</title><link>https://pangyd.com/post/23-16/</link><pubDate>Sun, 30 Jul 2017 20:25:46 +0800</pubDate><guid>https://pangyd.com/post/23-16/</guid><description>&lt;p>&lt;b>&lt;i> 1、朗读朗诵。&lt;/i>&lt;/b>&lt;br>自己读书，大声地读出来。每天坚持朗读一些文章，既练习口齿清晰伶俐，又积累一些知识量信息量，更重要的是对身体大有裨益，清喉扩胸，纳天地之气，成浩然之身！大家多读一些积极向上的文章，特别是《世界上最伟大的推销员》，我们强烈建议大家能够读熟背透。每天坚持朗读半小时以上，坚持两年三年，你不是大师也成大师！&lt;br>&lt;p>镇。 &lt;/p>&lt;div>&lt;b>&lt;i> 2、对着镜子训练。&lt;/i>&lt;/b>&lt;br>&lt;p>建议你在自己的起居室中或是办公室某一墙面安装一大镜子，每天在朗读过程中，去对着镜子训练，训练自己的眼神，训练自己的表情，训练自己的肢体语言，这样效果更好。&lt;/p>&lt;div>&lt;b>&lt;i> 3、自我录音摄像。&lt;/i>&lt;/b>&lt;br>&lt;p>如果条件允许，我建议您每隔一周时间，把自己的声音和演讲过程拍摄下来，这样反复观摩，反复研究哪儿我卡壳了，哪儿手势没到位，哪儿表情不自然，天长日久，你的口才自然进步神速。看一次自己的摄像比上台十次二十次效果都好。&lt;/p>&lt;div>&lt;i> &lt;b>4、尝试躺下来朗读。&lt;/b>&lt;/i>&lt;br>&lt;p>如果你想练就一流的运气技巧，一流的共鸣技巧，我教你一个非常简单的方法，就是：躺下来大声读书！当我们躺下来时，必然就是腹式呼吸，而腹式呼吸是最好的练声练气方法。每天睡觉之前，躺在床上大声地朗读十分钟，每天醒来之前，先躺在床上唱一段歌，再起来。坚持一至两个月，你会觉得自己呼吸流畅了，声音洪亮了，音质动听了，更有穿透力了，更有磁性了！&lt;/p>&lt;div>&lt;b>&lt;i> 5、速读训练。&lt;/i>&lt;/b>&lt;br>这种训练目的，是在于锻炼人口齿伶俐，语音准确，吐字清晰。&lt;br>&lt;br>&lt;p>方法：找来一篇演讲辞或一篇文辞优美的散文。先拿来字典、词典把文章中不认识或弄不懂的字、词查出来，搞清楚，弄明白，然后开始朗读。一般开始朗读的时候速度较慢，逐次加快，一次比一次读得快，最后达到你所能达到的最快速度。读的过程中不要有停顿，发音要准确，吐字要清晰，要尽量达到发声完整。因为如果你不把每个字音都完整地发出来，那么，如果速度加快以后，就会让人听不清楚你在说些什么，快也就失去了快的意义。我们的快必须建立在吐字清楚、发音干净利落的基础上。我们都听过体育节目的解说专家宋世雄的解说，他的解说就很有“快”的功夫。宋世雄解说的“快”，是快而不乱，每个字，每个音都发得十分清楚、准确，没有含混不清的地方。我们希望达到的快也就是他的那种快，吐字清晰，发音准确，而不是为了快而快。&lt;/p>&lt;div>&lt;i>&lt;b> 6、即兴朗读。&lt;/b>&lt;/i>&lt;br>&lt;p>平时空闲时，你可以随便拿一张报纸，任意翻到一段，然后尽量一气呵成的读下去。而且，在朗读过程中，能够注意一下，上半句看稿子，下半句离开稿子看前面（假设前面有听众）。长期以往，你发现自己记忆力加强许多，快速理解力和即兴构思能力也在加强。&lt;/p>&lt;p>&lt;i>&lt;b>7、背诵法。&lt;/b>&lt;/i>&lt;/p>&lt;p>背诵，并不仅仅要求你把某篇演讲辞、散文背下来就算完成了任务，我们要求的背诵，一是要“背”，二还要求“诵”。这种训练的目的有两个：一是培养记忆能力，二是培养口头表达能力。尝试去背诵一些文章，一篇一篇地去完成。天长日久，那些文章字句自然就转化为自己的词语了，练到一定时间就能张口就来口出华章。所谓：熟读唐诗三百首，不会吟诗也会吟！&lt;/p>&lt;/div>&lt;/div>&lt;/div>&lt;/div>&lt;/div>&lt;div>&lt;i>&lt;b>8、复述法&lt;/b>&lt;/i>。&lt;br>&lt;p>复述法简单地说，就是把别人的话重复地叙述一遍。可以找一位伙伴一起训练。首先，请对方随便讲一个话题，或是一个故事。自己先注意倾听。然后再向对方复述一遍。这种练习在于锻炼语言的连贯性及现场即兴构思能力，和语言组织能力。如果能面对众人复述就更好了，它还可以锻炼你的胆量，克服紧张心理。 &lt;/p>&lt;div>&lt;i>&lt;b> 9、模仿法。&lt;/b>&lt;/i>&lt;br>&lt;p>我们每个人从小就会模仿，模仿大人做事，模仿大人说话。其实模仿的过程也是一个学习的过程。我们小时候学说话是向爸爸、妈妈及周围的人学习，向周围的人模仿。那么我们练口才也可以利用模仿法，向这方面有专长的人模仿。这样天长日久，我们的口语表达能力就能得到提高。&lt;/p>&lt;div>&lt;i>&lt;b> 10、描述法。&lt;/b>&lt;/i>&lt;br>&lt;p>小的时候我们都学过看图说话，描述法就类似于这种看图说话，只是我们要看的不仅仅是书本上的图，还有生活中的一些景、事、物、人，而且要求也比看图说话高一些。简单地说，描述法也就是把你看到的景、事、物、人用描述性的语言表达出来。描述法可以说是比以上的几种训练法更进一步。这里没有现成的演讲辞、散文、诗歌等做你的练习材料，而要求你自己去组织语言进行描述。所以描述法训练的主要目的就在于训练同学们的语言组织能力和语言的条理性。在描述时，要能够抓住特点进行描述。语言要清楚，明白，要有一定的文采。一定要用描述性的语言，尽量生动些，活泼些。这可以训练我们积累优美词语的应用能力。&lt;/p>&lt;p>&lt;b>&lt;i>11、角色扮演法。&lt;/i>&lt;/b>&lt;/p>&lt;p>在我们的培训过程中，经常让学员进行角色扮演，组织角色语言去演讲，叫“情境模拟训练法”，比如扮演律师，扮演市长答记者问，扮演领导开动员会，扮演新郎新娘即兴发言等等，还可以选择小品中的角色扮演，直接让学员去演小品，去扮演作品中出现的不同的人物，当然这个扮演主要是在语言上的扮演。这种训练的目的，在于培养人的语言的适应性、个性，以及适当的表情、动作。&lt;/p>&lt;div>&lt;b>&lt;i> 12、讲故事法。&lt;/i>&lt;/b>&lt;br>&lt;p>我们的口才培训，要求学员能够讲100个以上的故事，不同时候要能够讲不同的故事，而且现场就能想出符合场合的故事。这就要求我们积累大量的素材。同时还要讲得动听，讲得精彩，熟能生巧，讲多了口才就来了！&lt;/p>&lt;div>&lt;b>&lt;i> 13、积累知识，多翻翻字典、成语词典。&lt;/i>&lt;/b>&lt;br>建议各位办公桌上和家里都放一本《新华字典》和《现代汉语成语词典》，有空就翻翻，不认识的字多看看，认识的字也再看细些，你会发现中国的文字博大精深，坚持下去，你的词汇量会越来越多，你的口才自然越来越棒！&lt;br>&lt;/div>&lt;/div>&lt;div> &lt;b>&lt;i>14、对口才产生兴趣。&lt;/i>&lt;/b>&lt;br>&lt;p>兴趣是最好的老师。当你的焦点在口才训练上时，你必然就会关注平时生活工作中的口才技巧。兴趣在哪里，焦点到哪里；焦点到哪里，学问到哪里！这种方法进步更快。即使看电视，也在注意台词的优美，交际的仪态，幽默的笑眼，必然进步神快！&lt;/p>&lt;p>&lt;b>&lt;i>15、写日记。&lt;/i>&lt;/b>&lt;/p>&lt;p>写日记是最好的自我沟通的方法，每天写上一千来字，既整理自己的思路，反省当日之进步与不足，梳理自己的情绪，释放一些不快，又可以学会遣词造句，天长日久，手能写之，口必能言之。&lt;/p>&lt;/div>&lt;/div>&lt;/div>&lt;/div>&lt;div>&lt;i>&lt;b> 16、多找机会上台。&lt;/b>&lt;/i>&lt;br>很多同学认为生活中缺少锻炼的舞台，没有公众场合发言的机会。其实，这是一种误区，我们平时生活工作中，公众演讲的机会太多了，只是我们没有发现，没有这个意识去参与。&lt;br>&lt;br>&lt;p>如果你想突破口才瓶颈，你一定要多找机会讲话。每次开会，必定坐第一排，必定要举手发表一下自己的观点；有机会就给自己的员工、小组成员开开会；有机会还可以开开家庭会议，把家庭打造在学习口才的舞台；现在每逢节假日，路演比较流行，那一有机会你就上台去参与，不要管那么多，你只是在锻炼自己而已！放下自己，放下一切时，你发现学习口才就这么简单！&lt;/p>&lt;div>&lt;p style="text-align: center">&lt;b> 学习口才最“吊诡”的地方在于：很多人知道、明白、了解、懂得，但是仍然开不了口，无法去表达！&lt;br>&lt;p style="text-align: center">&lt;b>——因为，“知识”不等于能力！能力，一定是训练出来的！&lt;/b>&lt;/p>&lt;p style="text-align: center">&lt;b>&lt;img src="https://pangyd.com/uploads/2017/07/e107e0c578f56a27.jpeg" alt="1501417580706.jpeg">&lt;/b>&lt;/p>&lt;/b>&lt;/p>&lt;/div>&lt;/div>&lt;/p></description></item><item><title>什么叫真正的用户体验</title><link>https://pangyd.com/post/12/</link><pubDate>Sun, 02 Apr 2017 16:22:25 +0800</pubDate><guid>https://pangyd.com/post/12/</guid><description>&lt;p style="text-align: center">&lt;img src="https://pangyd.com/uploads/2017/06/0bcd4237e4bca96c.jpg" alt="f3bb78a307a3ca077ebd0da63816d57d.jpg">&lt;br>&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>什么叫真正的用户体验？很多人把这个词挂在嘴边，却鲜有人真正研究过。对于我们的用户，扪心自问，我们是否真正地站在用户的角度思考过?&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>我们认真思考过用户从接到包裹到使用产品中的每一个环节都会做什么吗？用户的需求是什么？除了满足用户的需求之外还能为用户提供什么？下面来告诉大家什么是真正的用户体验。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>用户体验是一种纯主观的感受，是在用户接触产品或服务的整个过程中形成的综合体验。好的用户体验一定要注重细节，并且贯穿于每一个细节，这种细节一定要一让用户能够感知到，并且这种感知要超出用户的预期，给用户带来惊喜。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>举个简单的例子，我们平时在上网的时候，无论是看微博、刷论坛还是购物等，总免不了来回翻页。于是有人就设计了一种全新的浏览方式—“瀑布流”，网页的页面会随着用户的下拉不断地刷新出新的内容，这样一来，用户就无须频繁地翻页，紧紧滑动鼠标的滚轮就可以不断看到新的内容，这便是网页制作者在用户体验方面的改进，给使用者的感觉就很方便、很舒服。&lt;/p>&lt;p>&lt;br>&lt;/p>&lt;p>所以当打开一个网站时，用户体验度时非常重要的，它直接决定着用户在网站停留时间的长短，停留时间越长，产生交易的可能性就越大。提醒大家在建设网站时，一定要站在用户的角度去做好每一步，做到真正替用户思考！&lt;/p></description></item></channel></rss>