<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_诺贝尔</title><subtitle type="text">2011年，目标是生个孩子，开发一个汉语编程语言，最后靠编程技术赚钱。</subtitle><id>http://feed.cnblogs.com/blog/u/65532/rss</id><updated>2012-03-08T15:31:48Z</updated><author><name>诺贝尔</name><uri>http://www.cnblogs.com/Nobel/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Nobel/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/65532/rss"/><entry><id>http://www.cnblogs.com/Nobel/archive/2012/03/08/2385106.html</id><title type="text">程序员为何不爱设计？</title><summary type="text">大多数程序员，都是喜爱编码多过设计。遇到什么问题，首先就是想着上机“试一试",直到碰壁之后，才思考哪里出了问题。为何程序员不爱预先设计？我认为是缺乏设计工具造成的。虽然知道设计很重要，但是却缺乏行之有效的设计工具，只能见步行步。因此，我们不需要一而再再而三的强调设计的重要性，而需要总结一套行之有效的设计工具，以满足设计流程的需求。面向对象设计是一套工具，但是这套工具和编码环节很接近，属于比较后期的设计工具。在前期的设计工具就是收集资料，和分析整理资料，甚至是定下我们产品目标，这些内容很重要，而且应该在流程的初期去完成。你不可能说我用面向对象设计软件出来后，才去分析产品的定位。但是程序</summary><published>2012-03-08T05:32:00Z</published><updated>2012-03-08T05:32:00Z</updated><author><name>诺贝尔</name><uri>http://www.cnblogs.com/Nobel/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Nobel/archive/2012/03/08/2385106.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Nobel/archive/2012/03/08/2385106.html"/><content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;大多数程序员，都是喜爱编码多过设计。遇到什么问题，首先就是想着上机&amp;ldquo;试一试",直到碰壁之后，才思考哪里出了问题。&lt;/p&gt;&lt;p&gt;为何程序员不爱预先设计？&lt;/p&gt;&lt;p&gt;我认为是缺乏设计工具造成的。虽然知道设计很重要，但是却缺乏行之有效的设计工具，只能见步行步。&lt;/p&gt;&lt;p&gt;因此，我们不需要一而再再而三的强调设计的重要性，而需要总结一套行之有效的设计工具，以满足设计流程的需求。&lt;/p&gt;&lt;p&gt;面向对象设计是一套工具，但是这套工具和编码环节很接近，属于比较后期的设计工具。&lt;/p&gt;&lt;p&gt;在前期的设计工具就是收集资料，和分析整理资料，甚至是定下我们产品目标，这些内容很重要，而且应该在流程的初期去完成。你不可能说我用面向对象设计软件出来后，才去分析产品的定位。&lt;/p&gt;&lt;p&gt;但是程序员的知识面相对比较狭窄，专业，而对于产品层次的东西往往缺少相应的知识和能动性，但实际上做软件并不是编码为目的，而是以产品为目的，这就要求我们要不就具备相应的产品开发知识，要不就要有相关的专业人员去负责。&lt;/p&gt;&lt;p&gt;&amp;nbsp;如果作为一个独立软件的程序员，应该从整个产品研发流程出发去设计软件。&amp;nbsp;&lt;/p&gt;&lt;p&gt;可以的选择是：&amp;nbsp;&lt;/p&gt;&lt;p&gt;一、模仿他人&lt;/p&gt;&lt;p&gt;二、重新定位&lt;/p&gt;&lt;p&gt;&amp;nbsp;模仿永远是最有效的方法，但是如果对方的条件和你相差太大，模仿是低成效的。&lt;/p&gt;&lt;p&gt;&amp;nbsp;重新定位就要了解行业状况，知道当前产品的吸引力和不足在哪里，然后结合自身条件，才能从中找到切入点。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;strong&gt;考虑未来：&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;产品从研发到生产，需要一段时间，这个时间差可能对产品的定位有很大的影响，需要将时间差考虑进去，为将来开发恰当的产品。&lt;/p&gt;&lt;p&gt;产品的下一代研发也需要相应的时间，这段时间内就是现有产品必须要维持竞争力，因此也需要将这个因素考虑进去来进行产品定位。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;提高生产效率，降低成本：&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;一个相同定位的产品，如果能够提高效率，降低成本，这就能获得更高的利润。在建立定位后，真正可做的不是擅改定位，把一些超酷的功能加进去；，而是保持目标的前提下，不断压缩成本，这是很多程序员不注意的地方，永远想着用最新最酷的工具去开发，而不在乎投入时间和精力，这是有害的。&lt;/p&gt;&lt;p&gt;有些时候甚至不妨降低定位，以获得更低的成本。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;strong&gt;建立流程和设计工具：&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;工具可以是学习得来的，也可以是经验得到的，如果生产者不注重工具和方法，不断以最原始的状态去摸索，必然是低成效的。很多设计工具并不是十分有效。无效的工具会让你大脑一片空白，踌躇不前，失去目标，而有效的工具会让你保持工作状态，不需要反反复复尝试新的方案和路线。&amp;nbsp;&lt;/p&gt;&lt;p&gt;工具不是越多越好，也不是越强大越好，而是需要高的生产效率，低的维护和学习成本。一把小刀的事情不要借助电锯。把刀磨利，把流程总结起来，用可以预见的方式去尽心产品开发。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Nobel/aggbug/2385106.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Nobel/archive/2012/03/08/2385106.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Nobel/archive/2012/02/25/2367650.html</id><title type="text">排列组合学习要点</title><summary type="text">一、语言习惯的问题排列和组合的差别是，排列的元素与位置有关，而组合的元素对位置无要求。我们的日常问题绝对不会出现这样的问法：某组元素的排列数是什么？不管是排列还是组合，日常用语都会用“组合”这个词，因此我们要分析一个问题是排列还是组合，要基于问题的前提，分析元素的位置是不是问题需要考虑的因素，如果元素位置不是问题所关心的，那么这个就是组合，否则就是排列。为了顾及语言上的误导性，一般专业的数学题都不会在涉及排列的时候出现“组合”二字，因为“排列”或者“组合”都是经过数学严格定义的术语。这造成学生只能针对数学问题做解答，而对于没有用语暗示的现实问题，往往就缺乏分析能力。二、 排列的两种方法分类法：</summary><published>2012-02-25T04:11:00Z</published><updated>2012-02-25T04:11:00Z</updated><author><name>诺贝尔</name><uri>http://www.cnblogs.com/Nobel/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Nobel/archive/2012/02/25/2367650.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Nobel/archive/2012/02/25/2367650.html"/><content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;一、语言习惯的问题&lt;/p&gt;&lt;p&gt;排列和组合的差别是，排列的元素与位置有关，而组合的元素对位置无要求。我们的日常问题绝对不会出现这样的问法：某组元素的排列数是什么？&lt;/p&gt;&lt;p&gt;不管是排列还是组合，日常用语都会用&amp;ldquo;组合&amp;rdquo;这个词，因此我们要分析一个问题是排列还是组合，要基于问题的前提，分析元素的位置是不是问题需要考虑的因素，如果元素位置不是问题所关心的，那么这个就是组合，否则就是排列。&lt;/p&gt;&lt;p&gt;为了顾及语言上的误导性，一般专业的数学题都不会在涉及排列的时候出现&amp;ldquo;组合&amp;rdquo;二字，因为&amp;ldquo;排列&amp;rdquo;或者&amp;ldquo;组合&amp;rdquo;都是经过数学严格定义的术语。这造成学生只能针对数学问题做解答，而对于没有用语暗示的现实问题，往往就缺乏分析能力。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;二、 排列的两种方法&lt;/p&gt;&lt;p&gt;分类法：根据不同情况分析每一种情况的种类个数，然后累加所有情况，自然就是问题的解。每一种情况必须是独立的，不相互涵盖的，所有分类的总和必须是问题的全部情况。&lt;/p&gt;&lt;p&gt;分步法：分步法基于分类法的思想，分析每一种情况，但是每一种情况由几个独立部分相继组成。&lt;/p&gt;&lt;p&gt;假设一种情况有两步，第一步有三种选择，第二步有两种选择，那么总共的可能路线就有3*2种。第二种情况有一步，第一步有五种选择，那么就是五种路线。结合一起就是3*2+5=11种。分类法是一个步骤的分步法，是特殊情况。分步法的每一步都是分类法，是分类问题多次组合。&lt;/p&gt;&lt;p&gt;分类法是研究一个分步种的分类情况，也就是一步中的所有情况都应该相互独立，并且总的分类应该是所有可能的情况。 简而言之的要求是独立而全面。&lt;/p&gt;&lt;p&gt;而分步法是研究一个完整的路线所需要的步骤，步骤之间应该独立，连续有次序，并是解决问题的一个情况的完整路线。简而言之就是要求连续而完整。&lt;/p&gt;&lt;p&gt;如果把一个问题的解集表述成一个表格，分类研究的是每一列的情况，而分步研究的是每一行的情况。当然，每一步的分类个数未必是相同的，每一分类的步骤数也未必是相同的。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;三、元素&lt;/p&gt;&lt;p&gt;问题经常会罗列元素，但是会添加一定的条件约束。&lt;/p&gt;&lt;p&gt;元素的一般含义就是分类，即每一种类，每一情况。而条件约束实际上是要求你重新划分种类。 因此不能光被问题所罗列的元素迷惑了，根据条件约束用分类法重新定义元素的个数。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;四、位置&lt;/p&gt;&lt;p&gt;问题经常会让你把元素按照位置排列，每一个位置其实就是一个步骤。每个步骤需要考虑的元素总数一般是不相同的。&lt;/p&gt;&lt;p&gt;位置比元素更有迷惑性，因为位置可能是隐含的，不会直接告诉你总共有几个位置，需要你自己分析出来。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;五、局部和整体&lt;/p&gt;&lt;p&gt;分类的局部是累加为整体。&lt;/p&gt;&lt;p&gt;分步的局部是类乘为整体。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;六、理解排列数和组合数&lt;/p&gt;&lt;p&gt;（一）基础&lt;/p&gt;&lt;p&gt;n个元素取m个元素&lt;/p&gt;&lt;p&gt;排列数：第一步取一个，可以有n个可选；第二步取一个，可以有n-1个可选（因为上一步取走了一个）；总共有m步，那么就是A(m,n) = n(n-1)(n-2)(n-3)...= n!/(n-m)!&amp;nbsp; 。 m是取的个数, n-m就是要去除的个数（用除法去除），如果m=n,那就是全排列。&lt;/p&gt;&lt;p&gt;组合数：在排列数的基础上，去除顺序相同的部分。顺序相同的部分怎么知道？ A(m,n) 的结果就是取m组元素（每组个数不一样），然后进行全排列，也就是m!，那么我们想知道没有排列之前的情况，也就是无重复的组合数就是C(m,n) = A(m,n)/m! = n!/( (n-m)!*m! ).&lt;/p&gt;&lt;p&gt;排列数转化为组合数只需要除以m! ,反之组合数要转换为排列数就是乘以m!，可见m!就是排序因子，可以帮助我们随意转换。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;（二）平均分堆问题：&lt;/p&gt;&lt;p&gt;n个元素，平均分m堆，每堆k个&lt;/p&gt;&lt;p&gt;每一堆为一步，而每一堆的每一个位置又是一小步。&lt;/p&gt;&lt;p&gt;从元素列表中取k个元素的m堆，也就是 A(m, X)，其中X 未知，解法是：&lt;/p&gt;&lt;p&gt;首先第一堆是 A(k,n)，而第二堆问题是 A(k,n-k) ,第二个问题可以选择的元素就要少k了，因此第m堆等于A(k,n-(m-1)k).&lt;/p&gt;&lt;p&gt;A(k,n)A(k,n-k)A(k,n-2k)...A(k,n-(m-1)k) 就是所有的排列数。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;而平均分堆需要知道的是组合数，那么就是C(m,x) = A(m,x) /m!:&lt;/p&gt;&lt;p&gt;然后每一堆都要求得它对应的组合数。&lt;/p&gt;&lt;p&gt;第一堆的组合是C(k,n) = A(k,n)/k! ,第二堆 C(k,n-k) = A(k,n-k)/k!...C(K,n-(m-1)k) = A(k,n-(m-1)k)/k!&lt;/p&gt;&lt;p&gt;累乘之后就是C(k,n)...C(k,n-(m-1)k) 对应公式A(m,x) 部分；&lt;/p&gt;&lt;p&gt;最后套最终公式就是c(m,x) = A(m,x) /m! = ( C(k,n)...C(k,n-(m-1)k) ) / m! .&lt;/p&gt;&lt;p&gt;每一堆自身需要求对应的组合数，而所有堆的结果也要除以m! 取得对应的组合数。&lt;/p&gt;&lt;p&gt;组合数的公式都是基于排列数得到的，而排列数的公式是有逻辑基础，易于掌握的（也就是从n个元素取m个数的机械操作），因此应该首先找出对应的排列数，再根据公式推导得到对应的组合数。&lt;/p&gt;&lt;p&gt;有时候不知道元素个数也无所谓的，只需要知道取数个数，就能转换组合数和排列数。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;有些问题需要得到平均分堆组合数后，又提出新的要求，那就是按顺序分配。这个等价于：组合数为元素个数n，取位置数m的排列数问题。&lt;/p&gt;&lt;p&gt;非平均分堆问题，而是按特定比例分配，如：2：2：3：3：5 这个比例分配，m! 的值应该如何取？&lt;/p&gt;&lt;p&gt;这个需要结合分类法，因为比例不同的分组总是不同的组合，而比例相等的组合有不同的排列（相同比例的元素可以相互替换，得到组成结构不变但是内部顺序变化的新排列）。&lt;/p&gt;&lt;p&gt;把元素组合分为3类，一类是2，一类是3，一类是5。其中类2的数目是2，也就是m1 = 2；以此类推，m2= 2，m3 = 1。&lt;/p&gt;&lt;p&gt;问题可以转化为，先求类2的情况：c (2,x)&amp;nbsp; /m1, 然后求类3：c(3,x)/m2, 类5 ： c(5,x)/m3.&lt;/p&gt;&lt;p&gt;综合： m! = m1! * m2! * m3!&lt;/p&gt;&lt;p&gt;（三）插空法：&lt;/p&gt;&lt;p&gt;插空法是首先建立一般队列，然后插入特殊元素的方法。首先是需要建立一个合理的分类，将一般和特殊元素进行分组。&lt;/p&gt;&lt;p&gt;如7个元素，5个无约束，2个不允许相邻。&lt;/p&gt;&lt;p&gt;5个元素可以自由排列，但是2个应该分开，第一步建立好任意排列的5个元素后，再插入2个元素，5个元素的队列可以选择插入6个位置，并且第一个插入和第二个插入的位置是相互独立的，相当于6个元素放在两个位置上，也就是A(2,6)。&lt;/p&gt;&lt;p&gt;总结： A(5,5) * A(2,6).&lt;/p&gt;&lt;p&gt;分组元素需要考虑完整性，把7个元素分成5个和2个两组，但是问题是求7个元素的排列，那么这两组的关系应该是&amp;ldquo;分步法&amp;rdquo;。第二是需要考虑元素的一般性，不要用特殊情况去分析一般性的元素排列，5个一般元素的组成的某一个特殊排列，都能代表这5个元素的一般性排列，因为两个特殊元素考虑的是双方的关系，和5个一般元素无关。如果把其中一个特殊元素并入5个一般元素去考虑，那么就无法插入第7个元素，因为任意一个位置上的数都可能就是特殊元素。通过建立合理的模型，就可以将两类元素进行正确的分步法。这也是独立性思想的一个例子，分类分组都必须要考虑到元素的独立性，建立一个不相互干涉的分类和分步。&lt;/p&gt;&lt;p&gt;（四）捆绑法&lt;/p&gt;&lt;p&gt;捆绑法是将特殊元素捆绑成一个独立元素，和一般元素进行排列。&lt;/p&gt;&lt;p&gt;如7个元素，5个无约束，2个必须相邻。&lt;/p&gt;&lt;p&gt;首先分成两组，5个无约束一组，2个特殊一组，第二组可以作为一个整体插入到五个元素的任意位置，也就是可以类似插空法那样 A(2,2)*A(1,6)*A(5,5) ；也可以把2个元素形成一个一般元素后，组成6个一般元素的解，A(2,2)*A(6*6) 。&lt;/p&gt;&lt;p&gt;（五）消序法&lt;/p&gt;&lt;p&gt;消序法一般是去除一部分的有序，因此先求的总体的排列数，然后除以局部的排列数，就可以得到最后要的结果。如果是整体消序就是排列数和组合数之间的转换。&lt;/p&gt;&lt;p&gt;如7个元素，5个无约束，剩下两个的甲必须在乙左边。&lt;/p&gt;&lt;p&gt;消序法是A(7,7) / A(2,2).&lt;/p&gt;&lt;p&gt;消序法的方式很简单，但是难以理解，需要结合组合数的基础知识。&lt;/p&gt;&lt;p&gt;消序法和分堆的思想有共通的地方，可以把需要消序的和不需要消序的分成两堆，然后得到C(2,7)*A(5*5).&lt;/p&gt;&lt;p&gt;（六）剪截法&lt;/p&gt;&lt;p&gt;如7个元素，任意分成3组，每组至少一个，有几种组合？&lt;/p&gt;&lt;p&gt;相当于7个元素的队列的间隔内（6个中间间隔），任意截断2次，即C(2,6) = 21.&lt;/p&gt;&lt;p&gt;这种问题本质上也是基础问题，只是需要做思维转换。&lt;/p&gt;&lt;p&gt;（七）&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Nobel/aggbug/2367650.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Nobel/archive/2012/02/25/2367650.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Nobel/archive/2012/02/20/2360389.html</id><title type="text">财务软件的设计</title><summary type="text">其实财务软件有什么用？我觉得是给人一个快捷的印象，有这个印象帮助人们怎么利用现有的财富，怎么去分配，设计新的理财方案。 一般来说，我们不需要太过复杂的理财工具，只有大件的物品才需要我们动用这个数学工具。比如去买房，或者计算所得税的时候，我们可能需要借助比较专业的工具。那么平时理财软件有什么用？第一个是记账，记账是无趣的，因为人们需要知道的是财务状况。当然如果不记账，怎么能得到财务状况呢，这是一个...</summary><published>2012-02-20T11:54:00Z</published><updated>2012-02-20T11:54:00Z</updated><author><name>诺贝尔</name><uri>http://www.cnblogs.com/Nobel/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Nobel/archive/2012/02/20/2360389.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Nobel/archive/2012/02/20/2360389.html"/><content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;其实财务软件有什么用？我觉得是给人一个快捷的印象，有这个印象帮助人们怎么利用现有的财富，怎么去分配，设计新的理财方案。&lt;/p&gt; &lt;p&gt;一般来说，我们不需要太过复杂的理财工具，只有大件的物品才需要我们动用这个数学工具。比如去买房，或者计算所得税的时候，我们可能需要借助比较专业的工具。那么平时理财软件有什么用？第一个是记账，记账是无趣的，因为人们需要知道的是财务状况。当然如果不记账，怎么能得到财务状况呢，这是一个不可调和的矛盾。为此，我们需要灵活的设计记账的录入工作，让它更加简易和人性化。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;财务状况好的人，体现在什么地方，一个是固定的收入要多，第二个这个人需要有充足的个人时间，因为有个人时间就可以分精力去创造新的财富。然后是支出要少。不过一个人，有钱不代表幸福，有钱需要花掉，用来购买改善生活的物品，这才是幸福，因此评价一个人的财务状况，绝对不是越少支出就越好，其实只要不是超支，他能够用赚来的钱去改善生活，这个是无可厚非，也是值得提倡的行为。关键是购买的东西应该具备性价比，这样才能防止乱花钱。性价比比如这个物品的使用频率，还有使用时间，如果一个东西经常使用，那么性价比当然就更高。当然，有些东西可能是一次性的，但是也是不可避免的。一句话，该花的也必须要花。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;财务状况好，更体现在资产上，就算现金不多，如果有一大笔固定资产，那么也是很容易转化为现金的，那么就和拥有现金差不多了。而且资产往往还会随着时间而升值，现金都会越来越贬值。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;因此，我觉得一个理想的财务软件，第一个是要考虑现金流，第二个是考虑购物管理，让消费对用户发挥最大的价值，第三个是指导用户购置资产，防止现金贬值。有时候，我们还需要相关的备注资料，比如联系人，维护人员的电话之类的，如果同时整合起来，这个软件就更有价值了。财务软件最重要是提供一个财务报告，没有人愿意自己去分析财务状况的，因此自动生成财务报告就是一个卖点。用户最想看到的财务报告，一个是现金流的情况，消费用途，消费趋势，消费预警（结合用户预算），用户心理有个消费方案，并不是被动的接受消费现状，他首先有一个消费预算，希望每个月花费在某个方面多少钱，根据这个预算，我们就能提醒用户有哪些地方超支，有哪些地方应该多消费。购置物品的管理，是很多财务软件所忽视的，因为大多数财务软件只管花销，不管花销的价值，我认为这并不符合用户的期望，用户希望你这个软件可以帮他省钱，帮他把钱花在实处，而不是单纯的管财务管财务这种思维。对物品的管理主要从性质上去规划，比如一次性消费，多次消费，这个对用户就是有意义，用户想知道相关的比例。第二个物品所产生的附加价值，比如物品可以借给别人用，获得一定的收益，这个物品就比没有收益的要好得多，用户这个消费就消费的划算。或者这个物品老是需要维护，这个就能用户察觉到，并不是一次性消费那么简单，这个物品的维护代价也是很高的。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;所谓资产，一般来说都是比较大件的东西，这个时候需要配套一套专业的预测工具，帮助用户了解多年后的资产升值情况，并且做好资产出售的规划。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;一般用户都是靠工资生活，除此之外可能有一些零碎的奖金，工资一般有周期性的，通过计算，可以预测到未来的资产状况（当然是没有消费的情况），这个可以帮助用户提前准备购物计划。&lt;/p&gt; &lt;p&gt; 以上是个人财务管理的范畴。如果希望这个工具应用到门店，比如做一个小卖铺，就要设计更多的商品购买，和定价等操作。销售的数据也是很重要的。还有就是员工的开支，培训开支，水电开支等等。如果多个门店，还要设计货物的相互调配，人员的编排变更等。&lt;/p&gt; &lt;p&gt; ---------------------------------------------------------------&lt;/p&gt; &lt;p&gt;财务天使 1.0.0&lt;/p&gt; &lt;p&gt;版本：第一个是大版本，第二个是小版本，第三个是修订版。大版本制定核心部件，小版本制定配件，修订版本修补漏洞。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;一、记账 &lt;/p&gt; &lt;p&gt;一次性消费：比如乘车，吃饭，买零食等（这个只需要简单管理）&lt;/p&gt; &lt;p&gt;置物消费：就是购买一个物品，可以持续用的，这个物品有使用时效。（这个物品应该作为一个资产去管理，毕竟还能通过二手市场去卖掉赚钱）。&lt;/p&gt; &lt;p&gt;人情消费：理论上人情消费也是一次性的，因为买的东西都是送给别人的，但是用户可能希望知道自己花了多少钱在对方身上，好评估对方是否一个知恩图报的人。&lt;/p&gt; &lt;p&gt;收入：比如工资收入，奖金收入，或者家长给的钱，朋友请客等。收入比支出要淡定一些，比较少见，所以可以不用那么高效的录入，不需要分得那么细。&lt;/p&gt; &lt;p&gt;借贷：可以是用户借给别人，也可以是别人借给用户，也可以是借贷还款还息，不管怎么说，这个都要好好记录的。&lt;/p&gt; &lt;p&gt;二、资产管理&lt;/p&gt; &lt;p&gt;通过置物消费，或者通过“收入”里面得到的馈赠物品等，应该进行管理。&lt;/p&gt; &lt;p&gt;劳务资产：比如工资，奖金，用户的血汗钱&lt;/p&gt; &lt;p&gt;实物资产：比如购买的电脑&lt;/p&gt; &lt;p&gt;债务资产：比如借钱给别人&lt;/p&gt; &lt;p&gt;劳务资产的特点是需要用户花费时间去上班，通过出卖劳力赚钱。并且，劳务资产不能变卖，转让，万一被老板炒掉，最多就赔偿你一两个月的工资。因此，劳务资产是高风险型的。&lt;/p&gt; &lt;p&gt;实物资产有几类，一种是用户购买来获得使用价值的。这种资产一般不准备变卖。但是也有一定的转让余地。实物资产有使用期限，过期就要自动报废。另外一种是一般而言的投资资产，比如房地产，买了就是等它升值。但是投资资产需要你持续的支出维护费用，比如月供和管理费。&lt;/p&gt; &lt;p&gt;债务资产：一方面用户把钱借给别人，有可能得到一笔利息。最常见的是存钱进银行。债务资产的特点是无形的，是金融性的，不会因为时间而发生损耗。&lt;/p&gt; &lt;p&gt;每个资产都有一个预算，可以计算未来的资产价值，但是预算和实际又往往有所出入，这就需要修正预算。&lt;/p&gt; &lt;p&gt;任何资产都会有风险性，用户可能有兴趣知道自己持有的资产的风险评估。&lt;/p&gt; &lt;p&gt;资产可以通过出售来获得现金，出售估价又是用户希望知道的。&lt;/p&gt; &lt;p&gt;资产还需要和现金贬值产生协调关系，如果资产增值还不如现金贬值的速度，那么这个资产实际上是在贬值的。当然也比持有现金要好点。&lt;/p&gt; &lt;p&gt;三、购物预算&lt;/p&gt; &lt;p&gt;钱的目的就是为了改善生活，如何发挥钱的最大作用，这是财务软件的最终目的。&lt;/p&gt; &lt;p&gt;不同年龄阶段，会有不同的理财需要。年轻时候，大部分钱财都是用在读书上（不过是老爸付款）。而出来工作后，就需要花钱泡妞，买礼物，人际交往。到了谈婚论嫁，就需要购买房子，添置家具，装修房屋。到了生儿育女，就要买奶粉，供书教学，购买保险保障家庭的主心骨。到退休之后还要保证养老基金。&lt;/p&gt; &lt;p&gt;当然，不变的是，投资资产谋求增值。&lt;/p&gt; &lt;p&gt;投资自己： 比如购买书籍充电，还有什么保健品增强体质之类的。&lt;/p&gt; &lt;p&gt;投资关系： 人缘好在社会上很有作用。如果把交际应酬当作是投资，就能更加积极地去投入资金在这方面。&lt;/p&gt; &lt;p&gt;投资亲情： 当然，亲情不是给钱就行，还有付出时间，充分的展现诚意，为对方着想。&lt;/p&gt; &lt;p&gt;投资保险： 购买保险日渐为人们所认同。&lt;/p&gt; &lt;p&gt;投资梦想： 每个人都有一个闷骚的梦，但是很少人愿意为此支付现金。&lt;/p&gt; &lt;p&gt;投资增值： 想让钱赚钱，就要投资一些理财产品。平时人们花销在使用效用上，很少有人特意去投资增值产品，这就是没有很好的利用多余现金，赚一分钱花一分钱，将所有的财物重担寄托在劳务工作上。&lt;/p&gt; &lt;p&gt;相关的程序随后奉上。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Nobel/aggbug/2360389.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Nobel/archive/2012/02/20/2360389.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Nobel/archive/2012/02/19/2358462.html</id><title type="text">有限责任公司章程</title><summary type="text">XXX有限公司章程 第一章 总则 第一条 根据《中华人民共和国公司法》和有关法律、行政法规制定本章程。 第二条 根据相关法律法规实行登记，以登记内容为为准。公司注册、经营、清算等过程中遵守相关法律法规。公司管理者应保证股东利益。 第二章 组织 第三条 股东组成以行政部门的登记注册为准。股东是公司的最高权力机构。 第四条 公司获利分红的受益人和分红比例由全体股东商议一致决定，股东不再享受公司红利。 ...</summary><published>2012-02-19T11:14:00Z</published><updated>2012-02-19T11:14:00Z</updated><author><name>诺贝尔</name><uri>http://www.cnblogs.com/Nobel/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Nobel/archive/2012/02/19/2358462.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Nobel/archive/2012/02/19/2358462.html"/><content type="html">&lt;p&gt;XXX有限公司章程&lt;/p&gt; &lt;p&gt;第一章 总则&lt;/p&gt; &lt;p&gt;第一条 根据《中华人民共和国公司法》和有关法律、行政法规制定本章程。&lt;/p&gt; &lt;p&gt;第二条 根据相关法律法规实行登记，以登记内容为为准。公司注册、经营、清算等过程中遵守相关法律法规。公司管理者应保证股东利益。&lt;/p&gt; &lt;p&gt;第二章 组织&lt;/p&gt; &lt;p&gt;第三条 股东组成以行政部门的登记注册为准。股东是公司的最高权力机构。&lt;/p&gt; &lt;p&gt;第四条 公司获利分红的受益人和分红比例由全体股东商议一致决定，股东不再享受公司红利。&lt;/p&gt; &lt;p&gt;第五条 红利受益人和收益比例由本章程规定。公司红利按股份平均分成2000股，股份分配如下：&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xxx&amp;nbsp; 身份证&amp;nbsp; 股份1000&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xxx&amp;nbsp; 身份证 股份1000&lt;/p&gt; &lt;p&gt;第六条 红利受益人不需要参与公司经营活动，并可自由转让股份。转让股份需修改章程明示红利分成。股东不得阻止红利受益人转让股份。&lt;/p&gt; &lt;p&gt;第七条 红利受益人可通过合法手续申请成为股东。现任股东不得阻止。&lt;/p&gt; &lt;p&gt;第八条 增加新股东需要全体股东一致同意。&lt;/p&gt; &lt;p&gt;第九条 公司不设董事会，设执行董事一名，处理股东日常事务。执行董事如下：&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xxx&amp;nbsp; 身份证&lt;/p&gt; &lt;p&gt;第十条 公司不设监事会，设监事一名，监察公司运营。监事如下：&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xxx 身份证&lt;/p&gt; &lt;p&gt;第三章 财务&lt;/p&gt; &lt;p&gt;第十一条 公司财务审计委任xxx会计事务所负责。&lt;/p&gt; &lt;p&gt;第四章 附则&lt;/p&gt; &lt;p&gt;第十二条 本章程涉及的重大事项变更，应修改章程。&lt;/p&gt; &lt;p&gt;第十三条 修改章程需要全体股东通过。修改章程需向行政部门备案。&lt;/p&gt; &lt;p&gt;第十四条 本章程最终解释权归公司股东，本章程于行政机关核准后生效。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;股东盖章及签字：&lt;/p&gt; &lt;p&gt;&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;&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;&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; xxxx年xx月xx日&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Nobel/aggbug/2358462.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Nobel/archive/2012/02/19/2358462.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Nobel/archive/2012/02/19/2358049.html</id><title type="text">技术之狂热 Start Me Up</title><summary type="text">80年代出生的，刚好赶上人们对科技狂热的最后浪潮。微软推出的windows 95宣传上，使用了滚石的start me up （http://en.wikipedia.org/wiki/Start_Me_Up） 。大家不妨感受一下，当年大家对技术的狂热。那个时代，我们关心航天，登月，对科幻无比热衷，近乎信仰。那是一个有炽热的大众梦想的时代。而现在，我们只关心什么房价，物价，什么社会不公，一肚子怨气。唯独没有的就是梦想。</summary><published>2012-02-19T03:32:00Z</published><updated>2012-02-19T03:32:00Z</updated><author><name>诺贝尔</name><uri>http://www.cnblogs.com/Nobel/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Nobel/archive/2012/02/19/2358049.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Nobel/archive/2012/02/19/2358049.html"/><content type="html">&lt;p&gt;80年代出生的，刚好赶上人们对科技狂热的最后浪潮。&lt;/p&gt;&lt;p&gt;微软推出的windows 95宣传上，使用了滚石的start me up （http://en.wikipedia.org/wiki/Start_Me_Up） 。大家不妨感受一下，当年大家对技术的狂热。&lt;/p&gt;&lt;p&gt;那个时代，我们关心航天，登月，对科幻无比热衷，近乎信仰。&lt;/p&gt;&lt;p&gt;那是一个有炽热的大众梦想的时代。&lt;/p&gt;&lt;p&gt;而现在，我们只关心什么房价，物价，什么社会不公，一肚子怨气。&lt;/p&gt;&lt;p&gt;唯独没有的就是梦想。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Nobel/aggbug/2358049.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Nobel/archive/2012/02/19/2358049.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Nobel/archive/2012/02/18/2357585.html</id><title type="text">阴谋论 共济会 洪门 孙中山 转基因</title><summary type="text">最近网上搜索着玩的，发现网上有很多这类情节曲折离奇的，胜于小说的阴谋论。阴谋论大多让人感觉很真实，很恐怖，不过阴谋论也有个破绽，就是前言不搭后语，捕风捉影，缺乏严谨的论证关系，有点一厢情愿。既然能成为阴谋论，当然不是那么容易就让你看出破绽。下面是我自己分析后的结果，纯碎个人意见，不是新的阴谋论。共济会的成因我认为是一些行业商会，因为在西方长期被教会统治，统治氛围浓重，而商人为了自己的利益，组成了商会来对抗教会的影响，当然商会的目的不是成为新的教会，而是自保性质的。可见，这些行业商会虽然很神秘，但是政治动机并不明显，其目的不是谋求推翻政府。当然很多商会最终会成为政治力量的一种助理，但是不能把商会</summary><published>2012-02-18T12:35:00Z</published><updated>2012-02-18T12:35:00Z</updated><author><name>诺贝尔</name><uri>http://www.cnblogs.com/Nobel/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Nobel/archive/2012/02/18/2357585.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Nobel/archive/2012/02/18/2357585.html"/><content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;最近网上搜索着玩的，发现网上有很多这类情节曲折离奇的，胜于小说的阴谋论。阴谋论大多让人感觉很真实，很恐怖，不过阴谋论也有个破绽，就是前言不搭后语，捕风捉影，缺乏严谨的论证关系，有点一厢情愿。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;既然能成为阴谋论，当然不是那么容易就让你看出破绽。下面是我自己分析后的结果，纯碎个人意见，不是新的阴谋论。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;共济会的成因我认为是一些行业商会，因为在西方长期被教会统治，统治氛围浓重，而商人为了自己的利益，组成了商会来对抗教会的影响，当然商会的目的不是成为新的教会，而是自保性质的。&lt;/p&gt;&lt;p&gt;可见，这些行业商会虽然很神秘，但是政治动机并不明显，其目的不是谋求推翻政府。当然很多商会最终会成为政治力量的一种助理，但是不能把商会的助力看作政治的主体。政治力量是主体，商业只是寻求政治的庇护而已，说到底还是一种自保行为。&lt;/p&gt;&lt;p&gt;共济会发展壮大，最辉煌的时期甚至可以干预一国的政治。但是商人的目的还是很简单，就是赚钱，他怎么闹，都不会愿意成为政治力量本身。用一句老话，就是拿算盘的永远不如拿枪杆子的。事实上，很多商人就是在政治动荡的时候成为各个军阀的自动提款机。&lt;/p&gt;&lt;p&gt;共济会作为一个大商团，代表了资本主义的垄断财团，这种大财团某种层度上影响了国家的政治体系。马克思说经济决定政治，就是这个道理。这种大财团的政治诉求是什么？就是无政府主义，或者直接控制政府。说到底，财团是反政府的，是反国家的，是希望全球一体化，没有任何人干预通商的。&lt;/p&gt;&lt;p&gt;财团希望控制社会财富的分配，所以他要反对一个有能力的政府，政府代表的是全体人民的利益，是社会底层的一种代理人关系，政府或多或少都要代表人们的利益。这是财团深恶痛绝的。资本家唯一喜欢的就是利润。他希望制定一个商业规则控制社会，而非政府的代理人方式去控制社会。因此，对财团来说，一个理想的政府，应该是资本说话的，或者说是无效率的，只要这两点其一都可以。&lt;/p&gt;&lt;p&gt;美国政府就完全符合这个定义。美国选举需要花费巨额宣传费，谁出？财团。 不管谁做领导人，都是经过选举出来的，差异就是谁的表演能力更高，谁的娱乐大众的能耐更高。不变的都是财团出钱。因此选举文化，表面上就是政治娱乐化，实质上是资本说话。&lt;/p&gt;&lt;p&gt;第二点，美国政府的权利分成三块，每一块相互制衡。有人说这样才是安全的，也许吧，但是这样也是低效的。&amp;nbsp;政府的权利被层层削弱，然后每一层渗透控制的财团进入，结果不管什么政策出来，实际上都是符合财团的利益的。&lt;/p&gt;&lt;p&gt;当然财团之间也会有斗争，所以美国政坛就显得热闹非凡。而实际上，美国底层人民的利益却缺乏代理人，这个政府已经不是所谓的民主政府，而是财团政府。&lt;/p&gt;&lt;p&gt;&amp;nbsp;这就是共济会的秘密。&lt;/p&gt;&lt;p&gt;共济会是跨国家的，跨民族的，共济会也曾经渗透进中国的革命历史中。在中国，类似共济会的组织是洪门，洪门以现在的观点说就是黑社会。洪门，也叫天地会，实际上也是一种商会组织，最出名的政治诉求是反清复明， 原因就不考证了。孙中山也是洪门的一分子，借助洪门的势力开展革命运动。这也是典型的革命力量结合财团力量。 现在洪门在中国的门面叫中国致公党，是八个参政党之一。&lt;/p&gt;&lt;p&gt;另外朱德元帅也是青帮的一份子。&lt;/p&gt;&lt;p&gt;可见，这些革命家，政治家，用现在的标准就是黑社会。&amp;nbsp;&lt;/p&gt;&lt;p&gt;可见所谓的政治定性就是统治者说了算，现在威风八面的共@产@党，不也曾经被国民党唤作赤匪吗。因为政治定性而去否定一个人的历史价值，只是一种狭隘的历史观。从长远的历史看，政治定性不过是四个字：成王败寇。&lt;/p&gt;&lt;p&gt;说完商会，也说说转基因。转基因就是财团推销的一个新产品，现状是富国人不领情，找穷国推销。可是很多专家就开始说转基因很有用，大家赶紧上马啊，不要迟，迟了就被富国占领啦。&lt;/p&gt;&lt;p&gt;这完全是无视事实。穷国什么时候能得到富国的让路？那就是看你死的时候。&lt;/p&gt;&lt;p&gt;我的意见是，敌不动我不动，干嘛要超英赶美。&lt;/p&gt;&lt;p&gt;从这里可以看出所谓的专家，其实就是&amp;ldquo;推销员&amp;rdquo;，老板想卖这个产品，专家就拼命说这个产品好。什么时候专家能够独立自主，不用为五斗米折腰后，那种专家或者还有点能耐。&lt;/p&gt;&lt;p&gt;&amp;nbsp;难啊，这个世界上，不是为了钱，就是为了权，除非自己当老大，否则谁愿意得罪统治者。真是有政治无专家啊。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Nobel/aggbug/2357585.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Nobel/archive/2012/02/18/2357585.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Nobel/archive/2012/02/16/2354766.html</id><title type="text">该如何抽象</title><summary type="text">学面向对象最常听到的词就是“抽象”。抽象是什么，我觉得有两种定义：一、从具体的东西抽离非关键因素得到的简化实体。二、参数化。我们认识事物，都是从实体开始的，然后抽离部分细节，得到抽象简化后，归类对比等等得到认知。比如你认识一个陌生人，首先要了解他得社会身份地位，然后把他对比你其他认识的人，得出你要对他采取哪种态度。这种也叫标签化，脸谱化。作为文学家，经常要克服这种认知惯性，把细节填充进脸谱化的人物中，让人物与众不同。不过程序员不需要做到这一步。参数化从技术角度去论述这个问题。所谓参数化是指一个行为可以通过函数去描述。函数有自变量和输出值，而将行为的模式定义为参数化的函数，就把静态关系转化为动态</summary><published>2012-02-16T11:06:00Z</published><updated>2012-02-16T11:06:00Z</updated><author><name>诺贝尔</name><uri>http://www.cnblogs.com/Nobel/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Nobel/archive/2012/02/16/2354766.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Nobel/archive/2012/02/16/2354766.html"/><content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;学面向对象最常听到的词就是&amp;ldquo;抽象&amp;rdquo;。抽象是什么，我觉得有两种定义：一、从具体的东西抽离非关键因素得到的简化实体。二、参数化。&lt;/p&gt;&lt;p&gt;我们认识事物，都是从实体开始的，然后抽离部分细节，得到抽象简化后，归类对比等等得到认知。&lt;/p&gt;&lt;p&gt;比如你认识一个陌生人，首先要了解他得社会身份地位，然后把他对比你其他认识的人，得出你要对他采取哪种态度。这种也叫标签化，脸谱化。作为文学家，经常要克服这种认知惯性，把细节填充进脸谱化的人物中，让人物与众不同。不过程序员不需要做到这一步。&lt;/p&gt;&lt;p&gt;参数化从技术角度去论述这个问题。所谓参数化是指一个行为可以通过函数去描述。函数有自变量和输出值，而将行为的模式定义为参数化的函数，就把静态关系转化为动态关系。这相当于由点及面，由个体问题提升为群体问题，提升了原问题的外延，让解决方案适用更广泛的范畴。&lt;/p&gt;&lt;p&gt;因此，学习抽象应该分两面，一方面要精简信息，第二方面要动态化关系。&lt;/p&gt;&lt;p&gt;步骤如下：&lt;/p&gt;&lt;p&gt;一、具体问题具体分析。&lt;/p&gt;&lt;p&gt;二、具体问题提取关键属性和关键关系。&lt;/p&gt;&lt;p&gt;三、关系的动态化。&lt;/p&gt;&lt;p&gt;细则：&lt;/p&gt;&lt;p&gt;步骤一，将问题域（工作域）的相关信息进行整理，包括活动对象，约束条件，通信格式，通信渠道等等。&lt;/p&gt;&lt;p&gt;步骤二、筛选信息，得出问题所需的关键信息。&lt;/p&gt;&lt;p&gt;步骤三、通过参数化手段把紧密联系的静态关系改为对象无关的动态关系。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;有一些人，喜欢通过抽象去认识问题，我认为是错误的，应该从具体逐渐形成抽象，抽象是产物。&lt;/p&gt;&lt;p&gt;没有从具体问题出发的抽象，只是凭空想象。&lt;/p&gt;&lt;p&gt;因此首先要强调的步骤就是信息的搜集阶段，也叫调查阶段，需求分析阶段。有怎样的实体，才有怎样的抽象。&lt;/p&gt;&lt;p&gt;筛选信息是关键一步，为何现实问题很复杂，难以理解，这在于无用信息过多，影响了人们的判断。提取信息后，一方面可以减少无用信息，一方面可以将表面差异很大的事物归结为同一类，用类比的方法去解决问题。&lt;/p&gt;&lt;p&gt;参数化的手法有很多，未必就是特指用函数去实现，而是指类似函数性质的方式。比如代数式就是用符号代替具体的数量，而形成一个适用范围很广的公式。在编程语言中，变量，函数，以及对象，接口等高级特性都是参数化的手段。如果说第一步的目的是为了解决当前问题，这一步就是为了解决类似当前问题的所有问题而设。当然，我们编程未必需要做到这一步，但是如果此类问题有很多，那么为了提高复用性，就需要我们多花点时间去做好这一步的抽象。&lt;/p&gt;&lt;p&gt;面向对象编程，人们往往喜欢什么都归结为对象，再编程。但是对象和抽象是两码事，对象是工具，而抽象才是方法。对象这个工具用不用，在乎我们具体问题是怎样的。因此不能把对象当做编程的第一步。有时候我们只需要一个变量，一个数组就解决问题，为何要去用对象这种庞大的武器呢。这里面需要强调的就是一个优先次序的问题，解决问题是从低级方案慢慢转化到高级方案，只有低级方案不适用的时候，才需要提升到高级方案，而不是说我一定要用最高级最灵活的方案才是去解决问题。务实不等于不学无术。&lt;/p&gt;&lt;p&gt;我在网上搜了一个经典的数学题来做案例：&lt;/p&gt;&lt;p&gt;-----------------------------------&lt;/p&gt;&lt;p&gt;我老婆去市场买菜，她8块钱买了一只鸡。 &lt;br /&gt;回来的路上，她同事想买她的鸡。于是我老婆9块钱把鸡卖给了同事。 &lt;br /&gt;后来她想中午我想吃鸡，又找到同事，10块钱买了回来。 &lt;br /&gt;到了家门口，邻居来了客人，少了菜，一定要我老婆把鸡卖给他，我老婆又11块钱卖给了邻居。 &lt;br /&gt;问：我老婆赚了多少钱？&lt;/p&gt;&lt;p&gt;-----------------------------------&lt;/p&gt;&lt;p&gt;第一步就是收集信息，&amp;ldquo;老婆，市场，鸡，路上，同事，钱，中午，家门口，邻居&amp;rdquo;，问题是老婆赚了多少钱。&lt;/p&gt;&lt;p&gt;第一步的结果会出现很多我们不知道它有没有用的信息，这需要第二步去筛选。其中老婆，市场，同事，邻居是关键的对象，鸡和钱是个通信信息，路上，中午，家门口是无用信息。关系是：老婆和市场，同事和老婆，老婆和同事，邻居和老婆的购买关系。&lt;/p&gt;&lt;p&gt;到这一步，只要按照顺序写程序的步骤就能得到具体问题的答案。&lt;/p&gt;&lt;p&gt;第三步，老婆，市场，同事，邻居其实是一类东西，除了名字不同（标识不同或对象不同），他们都是懂得买和卖两种操作的类型。因此可以把四个关系参数化为一个关系：交易（买家，卖家）。然后只需要定义4个对象便可：&lt;/p&gt;&lt;p&gt;交易类型 老婆，市场，同事，邻居。&lt;/p&gt;&lt;p&gt;交易（老婆，市场）；&lt;/p&gt;&lt;p&gt;交易（同事，老婆）；&lt;/p&gt;&lt;p&gt;交易（老婆，同事）；&lt;/p&gt;&lt;p&gt;交易（邻居，老婆）；&lt;/p&gt;&lt;p&gt;输出（老婆）；&lt;/p&gt;&lt;p&gt;第一步，老婆-8;&lt;/p&gt;&lt;p&gt;第二步，老婆+9;&lt;/p&gt;&lt;p&gt;第三步，老婆-10;&lt;/p&gt;&lt;p&gt;第四步，老婆+11；&lt;/p&gt;&lt;p&gt;结果是赚了2块。&lt;/p&gt;&lt;p&gt;如果还想输出其他对象赚了多少，也可以援用老婆的输出函数。这就是我们用了对象方法去参数化的好处。如果没有这一步，就需要分别写4个交易的具体代码。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Nobel/aggbug/2354766.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Nobel/archive/2012/02/16/2354766.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Nobel/archive/2012/02/15/2353306.html</id><title type="text">win8 也是很有吸引力的</title><summary type="text">用过win8技术预览版的人，都会发觉win8功能上改进并不多。win8是一个更好的win7，但是不见得有什么杀手应用出现。尤其在桌面用户上，新的metro桌面一点用都没有。屏幕被大大的方块占据了一大片，还是简单的图标放得多一些。而且两个桌面切换来切换去，会增加很多操作上的难度，理解上也是个问题。用户会问，我现在在哪个桌面上？很多windows用户不习惯全屏操作，只有游戏才是全屏的，甚至游戏都是窗口化的。但是metro界面要求你什么都全屏。这样会让你很不适应。说了那么多坏话，其实我不是黑win8.win8的吸引力在哪里？我认为win8对桌面用户最大的吸引力在于通信分享系统。因为win8是第一次系</summary><published>2012-02-15T14:08:00Z</published><updated>2012-02-15T14:08:00Z</updated><author><name>诺贝尔</name><uri>http://www.cnblogs.com/Nobel/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Nobel/archive/2012/02/15/2353306.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Nobel/archive/2012/02/15/2353306.html"/><content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;用过win8技术预览版的人，都会发觉win8功能上改进并不多。&lt;/p&gt;&lt;p&gt;win8是一个更好的win7，但是不见得有什么杀手应用出现。尤其在桌面用户上，新的metro桌面一点用都没有。屏幕被大大的方块占据了一大片，还是简单的图标放得多一些。而且两个桌面切换来切换去，会增加很多操作上的难度，理解上也是个问题。用户会问，我现在在哪个桌面上？&lt;/p&gt;&lt;p&gt;很多windows用户不习惯全屏操作，只有游戏才是全屏的，甚至游戏都是窗口化的。但是metro界面要求你什么都全屏。这样会让你很不适应。&lt;/p&gt;&lt;p&gt;说了那么多坏话，其实我不是黑win8.&lt;/p&gt;&lt;p&gt;win8的吸引力在哪里？我认为win8对桌面用户最大的吸引力在于通信分享系统。因为win8是第一次系统的整合整个通信架构，让所有软件都在在一个相同的界面上处理通信跟新问题。你会发现，你发一条信息，结果所有网站都会出现更新。任意网站有新内容，都会通过同一个窗口提供给你。&lt;/p&gt;&lt;p&gt;其二，win8的吸引力在于整合了应用市场。windows以往的用户，都需要请求高端用户来查找应用，而现在，你只需要在应用市场就能做到。&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Nobel/aggbug/2353306.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Nobel/archive/2012/02/15/2353306.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Nobel/archive/2012/02/15/2353154.html</id><title type="text">为何pc阵营无法推出ipad</title><summary type="text">pc阵营拥有95%以上的资源，却无法产生ipad，小小的苹果公司，却独立开发出一个廉价的平板，而且还能赚钱，这太不可思议了。苹果的技术，其他公司也同样具备，为何却迟迟不会出现ipad？一个开放的市场，却输给了一个封闭的公司，这些种种奇异现象引起了我的注意。我想，这就是开放市场的局限性，开放市场在形成一个清晰的结构时，在很长一段时间都是高效率的，但是面对一个全新的不同的架构，就会不适应。传统pc市场，硬件和软件分工合作，貌似得到了资源的最有效的优化，每个公司都能得到应有的利润，同时竞争也很激烈，创新源源不断。但是效率在一个架构上最优化后，在另一个架构就显得不合时宜。苹果能够将一套硬件和一套软件组</summary><published>2012-02-15T12:42:00Z</published><updated>2012-02-15T12:42:00Z</updated><author><name>诺贝尔</name><uri>http://www.cnblogs.com/Nobel/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Nobel/archive/2012/02/15/2353154.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Nobel/archive/2012/02/15/2353154.html"/><content type="html">&lt;p&gt;pc阵营拥有95%以上的资源，却无法产生ipad，小小的苹果公司，却独立开发出一个廉价的平板，而且还能赚钱，这太不可思议了。&lt;/p&gt;&lt;p&gt;苹果的技术，其他公司也同样具备，为何却迟迟不会出现ipad？&lt;/p&gt;&lt;p&gt;一个开放的市场，却输给了一个封闭的公司，这些种种奇异现象引起了我的注意。&lt;/p&gt;&lt;p&gt;我想，这就是开放市场的局限性，开放市场在形成一个清晰的结构时，在很长一段时间都是高效率的，但是面对一个全新的不同的架构，就会不适应。传统pc市场，硬件和软件分工合作，貌似得到了资源的最有效的优化，每个公司都能得到应有的利润，同时竞争也很激烈，创新源源不断。&lt;/p&gt;&lt;p&gt;但是效率在一个架构上最优化后，在另一个架构就显得不合时宜。苹果能够将一套硬件和一套软件组成一个3000多块的ipad，还能纯赚2000，这个是pc架构所不敢想象的。因为pc这个阵营有太多大佬，他们固守自己的一片天地，不愿意改革。pc市场能赚3000块，为何要制作一个ipad这类产品呢？这类产品会冲击自己的单位盈利能力。&lt;/p&gt;&lt;p&gt;ipad的启示：消费者永远是对的，一个公司如果单纯从财务上去做产品，而不是从消费者角度出发去考虑产品，只会让市场得不到扩大，市场甚至会萎缩至死。&lt;/p&gt;&lt;p&gt;当然，一个创新创造一个新兴市场的同时，往往会导致一个固有市场出现萎缩，&amp;nbsp;柯达这个传统相片公司发明了数码相机，但是它知道数码相机会让自己占据的市场萎缩，所以不愿意去开发这个新兴市场。最后的结果就是悲惨的消亡。&lt;/p&gt;&lt;p&gt;柯达的启示：消费者还是对的，不管你愿不愿意接受。&amp;nbsp;&lt;/p&gt;&lt;p&gt;一个市场开启后，永远没有说未老先衰的，只有盛极而衰，把市场的潜力充分开发后才会消亡，因此想通过回避，打压新市场是没有作为的。既然你阻止不了，就做品尝市场壮大果实的人吧。&lt;/p&gt;&lt;p&gt;微软是个后知后觉者，有很多创新，微软可以看到，但是做不到。为何做不到，在于微软是一个盈利为目的的组织，而不是一个公益组织，当在一个市场享受果实的时候，你很难让他下田劳作。微软有长远的目光，甚至还有危机感，不过以营利为核心价值的公司，很难对未知的事情投入过多。&lt;/p&gt;&lt;p&gt;只有清晰化后，微软才会发力，迎头赶上，3000的windows平板指日可待。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Nobel/aggbug/2353154.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Nobel/archive/2012/02/15/2353154.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Nobel/archive/2012/02/07/2341848.html</id><title type="text">光阴不会虚度</title><summary type="text">有人说，别人学习的时候，自己在玩游戏，这么多年一点一滴的时间都浪费在玩乐之上，是虚度光阴。人总是习惯于羡慕别人，别人的老婆总是最好的。 我认为，光阴会不会虚度，重点并不是你把光阴用来学习还是用来玩乐，而是你怎么去“度”光阴，这个“度”法是关键。 不管你是学习还是玩乐，甚至是做一些貌似很无趣的事情，这些内容本身是很难评价潜在价值的。在你求职的时候，你会后悔当初读书读得少，文凭不好；当你带小孩的时候，...</summary><published>2012-02-07T11:18:00Z</published><updated>2012-02-07T11:18:00Z</updated><author><name>诺贝尔</name><uri>http://www.cnblogs.com/Nobel/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Nobel/archive/2012/02/07/2341848.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Nobel/archive/2012/02/07/2341848.html"/><content type="html">&lt;p&gt;有人说，别人学习的时候，自己在玩游戏，这么多年一点一滴的时间都浪费在玩乐之上，是虚度光阴。人总是习惯于羡慕别人，别人的老婆总是最好的。&lt;/p&gt; &lt;p&gt;我认为，光阴会不会虚度，重点并不是你把光阴用来学习还是用来玩乐，而是你怎么去“度”光阴，这个“度”法是关键。&lt;/p&gt; &lt;p&gt;不管你是学习还是玩乐，甚至是做一些貌似很无趣的事情，这些内容本身是很难评价潜在价值的。在你求职的时候，你会后悔当初读书读得少，文凭不好；当你带小孩的时候，你会郁闷自己没有表演天分，当初为何不多陪朋友玩乐；当你追女朋友的时候，你会发现自己不懂的说话，当初为何要当书呆子那么笨。&lt;/p&gt; &lt;p&gt;因此，做什么并不是重点。&lt;/p&gt; &lt;p&gt;重点是你是不是真的用心去度你生命中的每一秒。那属于你的一秒，你有没有享受过，有没有把你看在眼里，听在耳内的一切放进你心里面。鲜花不是从来都如此美艳，而是当你认真去看它的时候，它才美丽，至少它才是属于你的美。&lt;/p&gt; &lt;p&gt;你有没有感伤，人越成长，时间过得越快，仿佛一转眼就一年，但是回顾起来又空空无物。正是生活久了，我们失去对生活的敏感度，失去了新鲜感。时间如烟，稍微不注意就无影无踪。不过这是人之常情，难以避免的，正如当初大人们惊讶我们成长之变化，而我们却深感时间之漫长。&lt;/p&gt; &lt;p&gt;能做的，只有尽量怀着敬意去对待我们的生活，每一分每一秒，都以最真的我去处之。正如佛家所云，最难的是赤子之心。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Nobel/aggbug/2341848.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Nobel/archive/2012/02/07/2341848.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
