<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>朝圣者(梁鹏) &#187; 程序设计</title>
	<atom:link href="http://www.liangpeng.net/ycategory/chengxu_sheji/feed" rel="self" type="application/rss+xml" />
	<link>http://www.liangpeng.net</link>
	<description>寻找一小块属于自己的栖息地</description>
	<lastBuildDate>Fri, 13 Jan 2012 01:33:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>自定义程序员等级</title>
		<link>http://www.liangpeng.net/y2011/m11/custom-level-programmer_1686.html</link>
		<comments>http://www.liangpeng.net/y2011/m11/custom-level-programmer_1686.html#comments</comments>
		<pubDate>Wed, 16 Nov 2011 07:59:53 +0000</pubDate>
		<dc:creator>梁鹏</dc:creator>
				<category><![CDATA[程序设计]]></category>
		<category><![CDATA[计算机应用]]></category>

		<guid isPermaLink="false">http://www.liangpeng.net/?p=1686</guid>
		<description><![CDATA[掌握基本的编码语言，了解基本的SQL语句 了解系统、WEB等基础运转原理 熟练使用某种编码工具，提高编码效率 熟练使用源码管理工具 基本的调试能力 了解基本的设计模式，能够写出有条理的代码，并能够重构自己的代码 能够使用SDK文档，获取到需要的技术实现 编码牛人，能够实现你所想到的所有功能 能够针对一个产品，提出自己的大体实现思路，并能设计产品的各项功能（界面、操作、运行等） 把握科技前沿，能够提出有建设性的发展思路]]></description>
			<content:encoded><![CDATA[<ol>
<li>掌握基本的编码语言，了解基本的SQL语句</li>
<li>了解系统、WEB等基础运转原理</li>
<li>熟练使用某种编码工具，提高编码效率</li>
<li>熟练使用源码管理工具</li>
<li>基本的调试能力</li>
<li>了解基本的设计模式，能够写出有条理的代码，并能够重构自己的代码</li>
<li><span class="Apple-style-span" style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px; white-space: pre;">能够使用SDK文档，获取到需要的技术实现</span></li>
<li><span class="Apple-style-span" style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px; white-space: pre;">编码牛人，能够实现你所想到的所有功能</span></li>
<li><span class="Apple-style-span" style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px; white-space: pre;">能够针对一个产品，提出自己的大体实现思路，并能设计产品的各项功能（界面、操作、运行等）</span></li>
<li><span class="Apple-style-span" style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px; white-space: pre;">把握科技前沿，能够提出有建设性的发展思路</span></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.liangpeng.net/y2011/m11/custom-level-programmer_1686.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>乔布斯确实改变了这个世界</title>
		<link>http://www.liangpeng.net/y2011/m11/steve-jobs-really-changed-the-world_1670.html</link>
		<comments>http://www.liangpeng.net/y2011/m11/steve-jobs-really-changed-the-world_1670.html#comments</comments>
		<pubDate>Fri, 04 Nov 2011 13:14:18 +0000</pubDate>
		<dc:creator>梁鹏</dc:creator>
				<category><![CDATA[心情]]></category>
		<category><![CDATA[程序设计]]></category>

		<guid isPermaLink="false">http://www.liangpeng.net/?p=1670</guid>
		<description><![CDATA[今天给移动推介我们的一个系统，远程健康管理。 对方领导看后说：“太复杂了，内容太多了，太不人性化了，应该简单一点，比如：有两个按钮，一个‘我要看数据’，一个‘我要发数据’就好了” 看来乔布斯的思想已经发扬光大了，开发工作任重而道远呀。]]></description>
			<content:encoded><![CDATA[<p>今天给移动推介我们的一个系统，远程健康管理。</p>
<p>对方领导看后说：“太复杂了，内容太多了，太不人性化了，应该简单一点，比如：有两个按钮，一个‘我要看数据’，一个‘我要发数据’就好了”</p>
<p>看来乔布斯的思想已经发扬光大了，开发工作任重而道远呀。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liangpeng.net/y2011/m11/steve-jobs-really-changed-the-world_1670.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>我们是程序设计师不是打字员</title>
		<link>http://www.liangpeng.net/y2011/m09/we-are-not-programmers-typist_1611.html</link>
		<comments>http://www.liangpeng.net/y2011/m09/we-are-not-programmers-typist_1611.html#comments</comments>
		<pubDate>Thu, 15 Sep 2011 03:06:22 +0000</pubDate>
		<dc:creator>梁鹏</dc:creator>
				<category><![CDATA[Web相关技术]]></category>
		<category><![CDATA[心情]]></category>
		<category><![CDATA[生活]]></category>
		<category><![CDATA[程序设计]]></category>
		<category><![CDATA[思考]]></category>
		<category><![CDATA[打字员]]></category>

		<guid isPermaLink="false">http://www.liangpeng.net/?p=1611</guid>
		<description><![CDATA[好吧，既然很难理解“要用脑子，要思考”这么简单一句话，那么就列几条军规吧。 问我行不行之前，你自己先看看行不行，你自己都认为不行，那就别问我了，改吧 不允许不经修整，直接copy外面代码进入项目 不允许出现大量的项目无关代码 不允许出现相同、相似的功能代码多次出现 通用的功能，尽量想方法作成组件或通用的模板，方便以后项目引用 变量命名、文件命名第一次就应该规范，不要等后面重构再改 不懂就查资料，无法找到资料，就问同事，不要花费巨大时间 编码细节在遵循以上规定的情况下，自己把握 我安排的，并不表示不能改，应按照实际的情况修改方案为最佳状态 宁愿花2倍时间写成完好的可复用的代码，不要用1倍时间，写出以后每次用都要改的代码 好吧，记着“我是一个程序设计师，不是一个打字员，我们实现的应用是要至少百万用户使用的好产品，不是一个应付老板赚取几毛钱工资的垃圾，要成长，能力范围之内必须严格要求自己”。 &#160;]]></description>
			<content:encoded><![CDATA[<p>好吧，既然很难理解“要用脑子，要<span class='wp_keywordlink_affiliate'><a href="http://www.liangpeng.net/ytag/%e6%80%9d%e8%80%83" title="查看 思考 中的全部文章" target="_blank">思考</a></span>”这么简单一句话，那么就列几条军规吧。</p>
<ol>
<li>问我行不行之前，你自己先看看行不行，你自己都认为不行，那就别问我了，改吧</li>
<li>不允许不经修整，直接copy外面代码进入项目</li>
<li>不允许出现大量的项目无关代码</li>
<li>不允许出现相同、相似的功能代码多次出现</li>
<li>通用的功能，尽量想方法作成组件或通用的模板，方便以后项目引用</li>
<li>变量命名、文件命名第一次就应该规范，不要等后面重构再改</li>
<li>不懂就查资料，无法找到资料，就问同事，不要花费巨大时间</li>
<li>编码细节在遵循以上规定的情况下，自己把握</li>
<li>我安排的，并不表示不能改，应按照实际的情况修改方案为最佳状态</li>
<li>宁愿花2倍时间写成完好的可复用的代码，不要用1倍时间，写出以后每次用都要改的代码</li>
<li>好吧，记着“我是一个<span class='wp_keywordlink_affiliate'><a href="http://www.liangpeng.net/ytag/%e7%a8%8b%e5%ba%8f%e8%ae%be%e8%ae%a1" title="查看 程序设计 中的全部文章" target="_blank">程序设计</a></span>师，不是一个<span class='wp_keywordlink_affiliate'><a href="http://www.liangpeng.net/ytag/%e6%89%93%e5%ad%97%e5%91%98" title="查看 打字员 中的全部文章" target="_blank">打字员</a></span>，我们实现的应用是要至少百万用户使用的好产品，不是一个应付老板赚取几毛钱工资的垃圾，要成长，能力范围之内必须严格要求自己”。</li>
</ol>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liangpeng.net/y2011/m09/we-are-not-programmers-typist_1611.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>框架会使程序员变笨吗？《转》</title>
		<link>http://www.liangpeng.net/y2011/m09/architecture-makes-it-drag-on-intelligence-programmer-turn_1607.html</link>
		<comments>http://www.liangpeng.net/y2011/m09/architecture-makes-it-drag-on-intelligence-programmer-turn_1607.html#comments</comments>
		<pubDate>Tue, 06 Sep 2011 01:56:59 +0000</pubDate>
		<dc:creator>梁鹏</dc:creator>
				<category><![CDATA[Web相关技术]]></category>
		<category><![CDATA[程序设计]]></category>

		<guid isPermaLink="false">http://www.liangpeng.net/?p=1607</guid>
		<description><![CDATA[《转载》 上周，我做了几次面试，要招几名有5年工作经验的高级Java开发人员。但当面试结束后，我感觉到，各种框架(frameworks)使开发变得容易，但同时，也使程序员变笨。 每个人都会在他们的简历中罗列出几乎所有的新框架，他们能“熟练的使用Spring，Hibernate，Web Services等”。 下面是面试的过程。 我: 你在你最近的项目中使用了Spring。使用Spring有什么好处？ 应试者: 我们使用XML配置出bean信息，Spring能够帮我们实例化这些bean，供我们使用。 我：如果Spring只是用来创建对象，那我们干嘛要用它？我们可以直接使用“new”来实例化各种依赖关系。为什么我们还要在XML里配置类的名字、要从Spring里取对象？ 应试者：如果改天我们又需要对接口做另外一种实现，我们开发出实现后，更改一下XML配置，就能使用我们的新实现了。我们不需要去修改Java类和重新编译它们。 我：可是既然你写出了新的Java类，你必然要重新编译你的项目。 至于XML里的变化，99%的时间里你的XML都是打包在 war 或 ear 文件里的。 所以，你只需要运行一下ant脚本，把你所有的变更都包在war文件里就行了。你的“如果使用XML就不需要编译”的观点是站不住脚的。 应试者：唔，但依赖注入的设计模式建议采用这种做法。 我：好吧。我们就先聊到这。人力资源部会给你打电话的。 面试另外一个家伙： 我：你能描述一下你最近开发的项目、以及使用到的技术吗？ 应试者： 那是个XYZ系统，我们使用了Spring，Hibernate，REST WebServices。 我：那好。你能解释一下RESTful吗？ 应试者：我们使用@RequestMapping(value=”/url”, method=”POST”)来开发RESTful应用。我们还使用了PUT，DELETE方法。 我：哦，那RESTful个什么概念？ 应试者： 我不是说了吗，如果你使用 @RequestMapping(value=”/url”, method=”POST”)，你就是在开发RESTful应用。 我：哦，你对Hibernate如何？ 应试者：我这两年一直在使用Hibernate。我对Hibernate很熟悉。 我：跟JDBC比起来，Hibernate有什么优势? 应试者：使用Hibernate，我们不需要写任何跟数据库交互的东西，Hibernate会帮我们处理这些。 我：那Hibernate怎么能知道你的项目需要如何的存取？ 应试者：如果我们使用了Hibernate，它会帮我们完成存储，更新，取数据等数据库操作。 我：哦，哦。你在业余时间会读一些技术相关的博客吗？ 应试者：当然，我对Hibernate的深入掌握就是这样学会的。 我：非常好，很高兴见到你。我们的人力资源部会给你打电话的。 面试过程就这样 … 我绝对相信各种框架会提高程序员的工作效率。但程序员也应该努力去了解这些框架是如何工作的。你并不需要理解各种框架的所有内部工作原理。如果你非常的擅长Servlets和JSP，那你就很容易理解诸如Struts，Spring MVC等Java Web框架。如果你不了解这些基础知识，很显然，所有你的回答只能是“框架/标记/XML帮我们做了这些”。 我强烈建议所有刚开始职业生涯的Java程序员都要认真学习Java核心，Servlets，JSP知识。只有这样你才能正确的理解各种框架的工作原理。]]></description>
			<content:encoded><![CDATA[<p>《<a href="http://www.linuxeden.com/html/news/20110906/113649.html">转载</a>》<br />
上周，我做了几次面试，要招几名有5年工作经验的高级Java开发人员。但当面试结束后，我感觉到，各种框架(frameworks)使开发变得容易，但同时，也使程序员变笨。<br />
每个人都会在他们的简历中罗列出几乎所有的新框架，他们能“熟练的使用Spring，Hibernate，Web Services等”。<br />
下面是面试的过程。<br />
我: 你在你最近的项目中使用了Spring。使用Spring有什么好处？<br />
应试者: 我们使用XML配置出bean信息，Spring能够帮我们实例化这些bean，供我们使用。<br />
我：如果Spring只是用来创建对象，那我们干嘛要用它？我们可以直接使用“new”来实例化各种依赖关系。为什么我们还要在XML里配置类的名字、要从Spring里取对象？<br />
应试者：如果改天我们又需要对接口做另外一种实现，我们开发出实现后，更改一下XML配置，就能使用我们的新实现了。我们不需要去修改Java类和重新编译它们。<br />
我：可是既然你写出了新的Java类，你必然要重新编译你的项目。<br />
至于XML里的变化，99%的时间里你的XML都是打包在 war 或 ear 文件里的。<br />
所以，你只需要运行一下ant脚本，把你所有的变更都包在war文件里就行了。你的“如果使用XML就不需要编译”的观点是站不住脚的。<br />
应试者：唔，但依赖注入的设计模式建议采用这种做法。<br />
我：好吧。我们就先聊到这。人力资源部会给你打电话的。<br />
面试另外一个家伙：<br />
我：你能描述一下你最近开发的项目、以及使用到的技术吗？<br />
应试者： 那是个XYZ系统，我们使用了Spring，Hibernate，REST WebServices。<br />
我：那好。你能解释一下RESTful吗？<br />
应试者：我们使用@RequestMapping(value=”/url”, method=”POST”)来开发RESTful应用。我们还使用了PUT，DELETE方法。<br />
我：哦，那RESTful个什么概念？<br />
应试者： 我不是说了吗，如果你使用 @RequestMapping(value=”/url”, method=”POST”)，你就是在开发RESTful应用。<br />
我：哦，你对Hibernate如何？<br />
应试者：我这两年一直在使用Hibernate。我对Hibernate很熟悉。<br />
我：跟JDBC比起来，Hibernate有什么优势?<br />
应试者：使用Hibernate，我们不需要写任何跟数据库交互的东西，Hibernate会帮我们处理这些。<br />
我：那Hibernate怎么能知道你的项目需要如何的存取？<br />
应试者：如果我们使用了Hibernate，它会帮我们完成存储，更新，取数据等数据库操作。<br />
我：哦，哦。你在业余时间会读一些技术相关的博客吗？<br />
应试者：当然，我对Hibernate的深入掌握就是这样学会的。<br />
我：非常好，很高兴见到你。我们的人力资源部会给你打电话的。<br />
面试过程就这样 …<br />
我绝对相信各种框架会提高程序员的工作效率。但程序员也应该努力去了解这些框架是如何工作的。你并不需要理解各种框架的所有内部工作原理。如果你非常的擅长Servlets和JSP，那你就很容易理解诸如Struts，Spring MVC等Java Web框架。如果你不了解这些基础知识，很显然，所有你的回答只能是“框架/标记/XML帮我们做了这些”。<br />
我强烈建议所有刚开始职业生涯的Java程序员都要认真学习Java核心，Servlets，JSP知识。只有这样你才能正确的理解各种框架的工作原理。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liangpeng.net/y2011/m09/architecture-makes-it-drag-on-intelligence-programmer-turn_1607.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MacBook的触摸板及快捷键技巧</title>
		<link>http://www.liangpeng.net/y2011/m05/macbookdechumobanjikuaijiejianjiqiao_1515.html</link>
		<comments>http://www.liangpeng.net/y2011/m05/macbookdechumobanjikuaijiejianjiqiao_1515.html#comments</comments>
		<pubDate>Tue, 24 May 2011 03:14:16 +0000</pubDate>
		<dc:creator>梁鹏</dc:creator>
				<category><![CDATA[生活]]></category>
		<category><![CDATA[程序设计]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[macbook]]></category>
		<category><![CDATA[快捷键]]></category>

		<guid isPermaLink="false">http://www.liangpeng.net/?p=1515</guid>
		<description><![CDATA[MacBook的触摸板技巧： 1，点触功能：打开“系统偏好设置”&#62;“键盘与鼠标”&#62;“触摸板”，勾选“点按”，“拖移”和“使用两个手指”。 2，右键功能：两个手指同时点触触摸板。 3，拖动屏幕：等同于PC鼠标滑轮。两个手指同时按在触摸板上后，再同时上下或左右移动。 4，缩放屏幕／照片或网页：两个手指同时按在触摸板上后，分别往不同方向叉开移动。 5，缩放网页：一个手指（譬如左手）按在触摸板上后，再用另一个手指（譬如右手）一下一下的左右移动。 6，前进、后退（文件夹/网页）：一个手指（譬如左手）按在触摸板上后，再用两个手指（譬如右手）上下或左右移动。 7，拖选文字、文件或文件夹：手指双击触摸板，第二次点按的时候手指不要离开触摸板，就这样黏住触摸板来移动。 MacBook的快捷键技巧： 5，重命名：点按文件或文件夹，再按“回车”。 6，显示桌面：Fn+Shift+F11 7，切换输入法：Command+Space 8，前进/后退：Command+箭头左边/右边方向 9，查看照片时的下一张：Space 10，截图键：Shift+Command+3全屏截图，Shift+Command+4自定义区域截图。截图后，文件自动保存在桌面。 11，最小化当前程序：Command+M 12，彻底退出一个程序：Command+Q]]></description>
			<content:encoded><![CDATA[<p>MacBook的触摸板技巧：<br />
1，点触功能：打开“系统偏好设置”&gt;“键盘与鼠标”&gt;“触摸板”，勾选“点按”，“拖移”和“使用两个手指”。<br />
2，右键功能：两个手指同时点触触摸板。<br />
3，拖动屏幕：等同于PC鼠标滑轮。两个手指同时按在触摸板上后，再同时上下或左右移动。<br />
4，缩放屏幕／照片或网页：两个手指同时按在触摸板上后，分别往不同方向叉开移动。<br />
5，缩放网页：一个手指（譬如左手）按在触摸板上后，再用另一个手指（譬如右手）一下一下的左右移动。<br />
6，前进、后退（文件夹/网页）：一个手指（譬如左手）按在触摸板上后，再用两个手指（譬如右手）上下或左右移动。<br />
7，拖选文字、文件或文件夹：手指双击触摸板，第二次点按的时候手指不要离开触摸板，就这样黏住触摸板来移动。<br />
MacBook的<span class='wp_keywordlink_affiliate'><a href="http://www.liangpeng.net/ytag/%e5%bf%ab%e6%8d%b7%e9%94%ae" title="查看 快捷键 中的全部文章" target="_blank">快捷键</a></span>技巧：<br />
5，重命名：点按文件或文件夹，再按“回车”。<br />
6，显示桌面：Fn+Shift+F11<br />
7，切换输入法：Command+Space<br />
8，前进/后退：Command+箭头左边/右边方向<br />
9，查看照片时的下一张：Space<br />
10，截图键：Shift+Command+3全屏截图，Shift+Command+4自定义区域截图。截图后，文件自动保存在桌面。<br />
11，最小化当前程序：Command+M<br />
12，彻底退出一个程序：Command+Q</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liangpeng.net/y2011/m05/macbookdechumobanjikuaijiejianjiqiao_1515.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>转载《计算机爱好者 VS. 程序员》</title>
		<link>http://www.liangpeng.net/y2011/m05/jisuanjiaihaozhevs-chengxuyuan_1507.html</link>
		<comments>http://www.liangpeng.net/y2011/m05/jisuanjiaihaozhevs-chengxuyuan_1507.html#comments</comments>
		<pubDate>Wed, 11 May 2011 01:34:09 +0000</pubDate>
		<dc:creator>梁鹏</dc:creator>
				<category><![CDATA[程序设计]]></category>

		<guid isPermaLink="false">http://www.liangpeng.net/?p=1507</guid>
		<description><![CDATA[转载一篇不错的文章《计算机爱好者 VS. 程序员》 优秀的计算机爱好者具有一种无价的技能。可作为一名程序员会跟计算机爱好者一样吗？难道程序员跟那些不知道如何编码的计算机爱好者们相比，会在创造性上处于劣势吗？ 下面的这个故事让我看清了他们之间的不同。 我最近被邀请在一个周末创业活动中做指导。周五晚上，我们召集到一起吃匹萨，定创意，建团队以及讨论启动计划。临近结束时，每个人都对这个周末将要做的事情感到非常的满意。 周末早晨我来到现场发现人们都在努力的工作。有些人通宵未回在这赶进度实现他们的想法。这就是创业精神！ 但我吃惊的发现如此多的团队都已经开始编码了！感觉是他们急着让东西能在周日晚上之前开发出来，跑起来，这使大多数的团队一心想着实现他们最初的创意想法，而不再去探索不同的创意、选择一个更好的来实现。 听起来没什么不同吗？ 有一个团队脱颖而出，因为这个团队中没有会编程的。所以他们把时间都花在用PowerPoint制作原型，走访各个房间跟其他团结交流他们的想法， 获得反馈，然后回到他们的桌子边讨论、改进提炼他们的想法。他们是最喧闹的，最有生气的，最热情好善的一组，他们看起来从活动中得到了不少乐趣。最重要的 是，他们向前推进的速度比其他组快很多，因为他们没有迷失在要能清楚如何使用Rails或PHP让什么东西跑起来的细节里。 周日早上，他们灵光一闪，抛弃了以前所有的原型，重新回到绘图板前工作。我看到他们在数小时里做出来一个新原型。因为没有写代码，他们并不担心抛弃 昨天的作品(毕竟，原型就是用来干这个的)。因为他们使用PowerPoint来模型化他们的想法，他们可以快速的让想法具体化。 在周日晚上，他们并没有交出一个可以运行的应用程序，但他们使用依据他们最终创意制作出来的、具有点击效果的原型吸引力所有的观众。他们不仅呈现了最终创意，他们还带着观众遍历了整个创意的变更迭代过程。 结果呢？他们夺得头筹！ 他们并不是赢在创意有多么的好或比其他组包含更多的功能。这个周末产生了很多的创意。但当其他组把有限的时间花在实现细节上时，这个组一直专注于他们的想法的高层面的问题，把更多的时间花在改进它而不是编码上。 他们不是程序员，但他们是计算机爱好者。这个身份最终让他们受益匪浅！ 很多创业者认为自己跟那些会编码的人比起来处于一种劣势。他们认为自己不是计算机爱好者，因为不会编程。而事实却是，他们具有一种创造力上的优势， 因为他们不会急着一头扎进编码工作里。相反，他们会被迫去“修剪”他们的想法，用上层的工具和平台测试它们，会被限制不去关心细节。这将迫使他们关注于解决用户问题，而不是解决实现问题。 做软件不只是编码的技术。它是一种在事情不同的阶段关注每阶段最重要的事情、而不是过早的陷入细节的思维习惯。]]></description>
			<content:encoded><![CDATA[<p>转载一篇不错的文章《<a href="http://www.linuxeden.com/html/news/20110511/109351.html">计算机爱好者 VS. 程序员</a>》<br />
优秀的计算机爱好者具有一种无价的技能。可作为一名程序员会跟计算机爱好者一样吗？难道程序员跟那些不知道如何编码的计算机爱好者们相比，会在创造性上处于劣势吗？<br />
下面的这个故事让我看清了他们之间的不同。<br />
我最近被邀请在一个周末创业活动中做指导。周五晚上，我们召集到一起吃匹萨，定创意，建团队以及讨论启动计划。临近结束时，每个人都对这个周末将要做的事情感到非常的满意。<br />
周末早晨我来到现场发现人们都在努力的工作。有些人通宵未回在这赶进度实现他们的想法。这就是创业精神！<br />
但我吃惊的发现如此多的团队都已经开始编码了！感觉是他们急着让东西能在周日晚上之前开发出来，跑起来，这使大多数的团队一心想着实现他们最初的创意想法，而不再去探索不同的创意、选择一个更好的来实现。<br />
听起来没什么不同吗？<br />
有一个团队脱颖而出，因为这个团队中没有会编程的。所以他们把时间都花在用PowerPoint制作原型，走访各个房间跟其他团结交流他们的想法， 获得反馈，然后回到他们的桌子边讨论、改进提炼他们的想法。他们是最喧闹的，最有生气的，最热情好善的一组，他们看起来从活动中得到了不少乐趣。最重要的 是，他们向前推进的速度比其他组快很多，因为他们没有迷失在要能清楚如何使用Rails或PHP让什么东西跑起来的细节里。<br />
周日早上，他们灵光一闪，抛弃了以前所有的原型，重新回到绘图板前工作。我看到他们在数小时里做出来一个新原型。因为没有写代码，他们并不担心抛弃 昨天的作品(毕竟，原型就是用来干这个的)。因为他们使用PowerPoint来模型化他们的想法，他们可以快速的让想法具体化。</p>
<p>在周日晚上，他们并没有交出一个可以运行的应用程序，但他们使用依据他们最终创意制作出来的、具有点击效果的原型吸引力所有的观众。他们不仅呈现了最终创意，他们还带着观众遍历了整个创意的变更迭代过程。<br />
结果呢？他们夺得头筹！<br />
他们并不是赢在创意有多么的好或比其他组包含更多的功能。这个周末产生了很多的创意。但当其他组把有限的时间花在实现细节上时，这个组一直专注于他们的想法的高层面的问题，把更多的时间花在改进它而不是编码上。<br />
他们不是程序员，但他们是计算机爱好者。这个身份最终让他们受益匪浅！<br />
很多创业者认为自己跟那些会编码的人比起来处于一种劣势。他们认为自己不是计算机爱好者，因为不会编程。而事实却是，他们具有一种创造力上的优势， 因为他们不会急着一头扎进编码工作里。相反，他们会被迫去“修剪”他们的想法，用上层的工具和平台测试它们，会被限制不去关心细节。这将迫使他们关注于解决用户问题，而不是解决实现问题。<br />
做软件不只是编码的技术。它是一种在事情不同的阶段关注每阶段最重要的事情、而不是过早的陷入细节的思维习惯。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liangpeng.net/y2011/m05/jisuanjiaihaozhevs-chengxuyuan_1507.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>asterisk部署终于基本完成了</title>
		<link>http://www.liangpeng.net/y2011/m04/asteriskbushuzhongyujibenwanchengliao_1490.html</link>
		<comments>http://www.liangpeng.net/y2011/m04/asteriskbushuzhongyujibenwanchengliao_1490.html#comments</comments>
		<pubDate>Tue, 19 Apr 2011 02:55:45 +0000</pubDate>
		<dc:creator>梁鹏</dc:creator>
				<category><![CDATA[Linux应用]]></category>
		<category><![CDATA[程序设计]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[呼叫中心]]></category>

		<guid isPermaLink="false">http://www.liangpeng.net/?p=1490</guid>
		<description><![CDATA[总结下： 最大的问题： 1.客户端注册不稳定 ，第一次注册都成功，之后就逐渐掉线，直至全部掉线，我们有120个分机。 解决：是大唐高鸿的驻地网关的问题，软件版本2011-3-1的，有问题，降级解决，这个问题把我搞死了。 2.*8分组代答的问题。 刚开始，为了分组看起来有意义，就使用了字母作为分组：比如：YeWuZu1，不能代答，然后改为6680，跟坐席组号相同，也不行，最终改为1，可以了，真是奇怪呀，这个组又没啥用，为啥要这样弄呢？ 好奇怪的测试结果。。22可以、220 222  88 99都不可以，，33可以。y1不可以。 3.外呼，原来外呼只能一个，不能多路，运行商确认是外呼的时候，主叫号码设置有问题 之后使用 exten =&#62; _NXXXXXXX,1,Macro(user-callerid,) exten =&#62; _NXXXXXXX,n,Set(CALLERID(all)=”6931nnnn” &#60;6931nnnn&#62;) 强制设定，可以了，很奇怪得是按说前面的6931设置后，尖括号内没必要用真实号码了，不清楚为啥驻地网关非要使用后面的号码为显示号码，应该还是大唐的问题，毕竟sip协议写的，前面是显示号码的。 4.拦截呼叫中心号码 这个简单，直接  exten =&#62; _6931nnnn,1,Goto(ext-queues,06800,1)  转到Queue中去就行了。 5.录音分目录存放，使用agi实现自动创建目录，返回路径即可 6.主叫号码，从中继(使用SIP账号登录)过来的呼叫，这边显示的主叫是系统设置的显示主叫，在Queue中更是显示的两个号码相加的号码，可以使用SIP_HEADER(From)获取，SIP的显示号码，通过截取获得真实主叫。 7.驻地网关中的拨号计划，不要短号码覆盖长号码，否则无法呼出长号码。 8.通过网关接入的电话，DTMF获取问题。在驻地网关，不一定都是要选择透传，这次选择rfc2833，估计是要和asterisk的配置一样。 9.A8里面需要设置代理服务器才能呼出，很奇怪的选项，如果没有，则使用注册服务器相同的地址。 10.ringgroup只能获取到1个呼入，跟下面所包含的分机数量无关，再来电话，则直接转到fail。 11.Queue只能在timeout时才能转到fail中去。。很失败。按道理，应该有轮询一遍或者全忙之后失败的选择。 12.T4使用SIP账号注册时，要设置呼出路由，才能呼出。 13.T4有访问控制功能，如果打开，则需要将sip服务器IP加入，否则无法注册成功。 14.单通的问题可能是中继线插错了 15.R32的拨号计划，先匹配短的，如果设置了：01XXX则，所有的长途号码都会被截断，比如：018633334444被截断为01863。拨号计划不分前后行，放在哪里都会被截断。 还有一些其他基本功能，就相对简单点了。 呵呵，终于搞定asterisk的第一个应用了。真是一个强大的系统。。牛逼。。就是源代码太多了，无从下手，有空还是需要学习学习整体框架设计和具体的编码，假如能够看懂，那么内力应该会提升一大段。]]></description>
			<content:encoded><![CDATA[<p>总结下：</p>
<p>最大的问题：<br />
1.客户端注册不稳定 ，第一次注册都成功，之后就逐渐掉线，直至全部掉线，我们有120个分机。<br />
解决：是大唐高鸿的驻地网关的问题，软件版本2011-3-1的，有问题，降级解决，这个问题把我搞死了。</p>
<p>2.*8分组代答的问题。<br />
刚开始，为了分组看起来有意义，就使用了字母作为分组：比如：YeWuZu1，不能代答，然后改为6680，跟坐席组号相同，也不行，最终改为1，可以了，真是奇怪呀，这个组又没啥用，为啥要这样弄呢？<br />
好奇怪的测试结果。。22可以、220 222  88 99都不可以，，33可以。y1不可以。</p>
<p>3.外呼，原来外呼只能一个，不能多路，运行商确认是外呼的时候，主叫号码设置有问题<br />
之后使用<br />
exten =&gt; _NXXXXXXX,1,Macro(user-callerid,)<br />
exten =&gt; _NXXXXXXX,n,Set(CALLERID(all)=”6931nnnn” &lt;6931nnnn&gt;)</p>
<p>强制设定，可以了，很奇怪得是按说前面的6931设置后，尖括号内没必要用真实号码了，不清楚为啥驻地网关非要使用后面的号码为显示号码，应该还是大唐的问题，毕竟sip协议写的，前面是显示号码的。</p>
<p>4.拦截<span class='wp_keywordlink_affiliate'><a href="http://www.liangpeng.net/ytag/%e5%91%bc%e5%8f%ab%e4%b8%ad%e5%bf%83" title="查看 呼叫中心 中的全部文章" target="_blank">呼叫中心</a></span>号码<br />
这个简单，直接  exten =&gt; _6931nnnn,1,Goto(ext-queues,06800,1)  转到Queue中去就行了。</p>
<p>5.录音分目录存放，使用agi实现自动创建目录，返回路径即可</p>
<p>6.主叫号码，从中继(使用SIP账号登录)过来的呼叫，这边显示的主叫是系统设置的显示主叫，在Queue中更是显示的两个号码相加的号码，可以使用SIP_HEADER(From)获取，SIP的显示号码，通过截取获得真实主叫。</p>
<p>7.驻地网关中的拨号计划，不要短号码覆盖长号码，否则无法呼出长号码。</p>
<p>8.通过网关接入的电话，DTMF获取问题。在驻地网关，不一定都是要选择透传，这次选择rfc2833，估计是要和<span class='wp_keywordlink_affiliate'><a href="http://www.liangpeng.net/ytag/asterisk" title="查看 asterisk 中的全部文章" target="_blank">asterisk</a></span>的配置一样。</p>
<p>9.A8里面需要设置代理服务器才能呼出，很奇怪的选项，如果没有，则使用注册服务器相同的地址。</p>
<p>10.ringgroup只能获取到1个呼入，跟下面所包含的分机数量无关，再来电话，则直接转到fail。</p>
<p>11.Queue只能在timeout时才能转到fail中去。。很失败。按道理，应该有轮询一遍或者全忙之后失败的选择。</p>
<p>12.T4使用SIP账号注册时，要设置呼出路由，才能呼出。</p>
<p>13.T4有访问控制功能，如果打开，则需要将sip服务器IP加入，否则无法注册成功。</p>
<p>14.单通的问题可能是中继线插错了</p>
<p>15.R32的拨号计划，先匹配短的，如果设置了：01XXX则，所有的长途号码都会被截断，比如：018633334444被截断为01863。拨号计划不分前后行，放在哪里都会被截断。</p>
<p>还有一些其他基本功能，就相对简单点了。</p>
<p>呵呵，终于搞定<span class='wp_keywordlink_affiliate'><a href="http://www.liangpeng.net/ytag/asterisk" title="查看 asterisk 中的全部文章" target="_blank">asterisk</a></span>的第一个应用了。真是一个强大的系统。。牛逼。。就是源代码太多了，无从下手，有空还是需要学习学习整体框架设计和具体的编码，假如能够看懂，那么内力应该会提升一大段。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liangpeng.net/y2011/m04/asteriskbushuzhongyujibenwanchengliao_1490.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>清楚Win7过多的本地连接</title>
		<link>http://www.liangpeng.net/y2011/m03/qingchuwin7guoduodebendilianjie_1476.html</link>
		<comments>http://www.liangpeng.net/y2011/m03/qingchuwin7guoduodebendilianjie_1476.html#comments</comments>
		<pubDate>Tue, 29 Mar 2011 09:22:40 +0000</pubDate>
		<dc:creator>梁鹏</dc:creator>
				<category><![CDATA[程序设计]]></category>
		<category><![CDATA[win7]]></category>
		<category><![CDATA[本地连接]]></category>

		<guid isPermaLink="false">http://www.liangpeng.net/?p=1476</guid>
		<description><![CDATA[近来发现我的win7的本地连接越来越多，ipconfig都无法看到正确的数据了，终于找到如下的方法，不过还是需要自己在设备管理器中将 6to4的本地连接删除到，悲剧，30、40多个。（点查看、显示隐藏） 如果大家在用笔记本，经常调试网络的话。Windows7会自发建立一条IPV6隧道，通常我们用ipconfig /all就会看到很多条隧道，比如我这边有40多个隧道，想看IPv4信息的话，就会一闪而过，给使用带来不便。这是因为Windows7在IPv6迁移过程中需要使用一种或多种IPv6过渡技术。我们可以通过手动关闭IPv6隧道。 我们只用使用以下3条命令把IPv6的接口关闭即可 netsh interface teredo set state disable netsh interface 6to4 set state disabled netsh interface isatap set state disabled 若想还原IPv6隧道则用以下命令: netsh interface teredo set state default netsh interface 6to4 set state default netsh interface isatap set state default]]></description>
			<content:encoded><![CDATA[<p>近来发现我的<span class='wp_keywordlink_affiliate'><a href="http://www.liangpeng.net/ytag/win7" title="查看 win7 中的全部文章" target="_blank">win7</a></span>的<span class='wp_keywordlink_affiliate'><a href="http://www.liangpeng.net/ytag/%e6%9c%ac%e5%9c%b0%e8%bf%9e%e6%8e%a5" title="查看 本地连接 中的全部文章" target="_blank">本地连接</a></span>越来越多，ipconfig都无法看到正确的数据了，终于找到如下的方法，不过还是需要自己在设备管理器中将 6to4的<span class='wp_keywordlink_affiliate'><a href="http://www.liangpeng.net/ytag/%e6%9c%ac%e5%9c%b0%e8%bf%9e%e6%8e%a5" title="查看 本地连接 中的全部文章" target="_blank">本地连接</a></span>删除到，悲剧，30、40多个。（点查看、显示隐藏）</p>
<p>如果大家在用笔记本，经常调试网络的话。Windows7会自发建立一条IPV6隧道，通常我们用ipconfig /all就会看到很多条隧道，比如我这边有40多个隧道，想看IPv4信息的话，就会一闪而过，给使用带来不便。这是因为Windows7在IPv6迁移过程中需要使用一种或多种IPv6过渡技术。我们可以通过手动关闭IPv6隧道。<br />
我们只用使用以下3条命令把IPv6的接口关闭即可</p>
<p>netsh interface teredo set state disable</p>
<p>netsh interface 6to4 set state disabled</p>
<p>netsh interface isatap set state disabled</p>
<p>若想还原IPv6隧道则用以下命令:</p>
<p>netsh interface teredo set state default</p>
<p>netsh interface 6to4 set state default</p>
<p>netsh interface isatap set state default</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liangpeng.net/y2011/m03/qingchuwin7guoduodebendilianjie_1476.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>终于找到我比较抵触纯粹java程序员的原因了</title>
		<link>http://www.liangpeng.net/y2010/m12/zhongyuzhaodaowobijiaodichuchuncuijavachengxuyuandeyuanyinliao_1400.html</link>
		<comments>http://www.liangpeng.net/y2010/m12/zhongyuzhaodaowobijiaodichuchuncuijavachengxuyuandeyuanyinliao_1400.html#comments</comments>
		<pubDate>Thu, 02 Dec 2010 06:22:02 +0000</pubDate>
		<dc:creator>梁鹏</dc:creator>
				<category><![CDATA[心情]]></category>
		<category><![CDATA[生活]]></category>
		<category><![CDATA[程序设计]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[思考]]></category>

		<guid isPermaLink="false">http://www.liangpeng.net/?p=1400</guid>
		<description><![CDATA[这些纯粹的java程序员，一般都是直接从hibernate、struct、spring学过来的。 不仅不懂得为什么要用这些框架、模式，也不了解框架、模式的底层，同时膜拜java的垃圾回收。 导致他们： 1。基础的编码思路不明，就懂得配置 2。对代码性能不敏感，喜欢东拉西扯，不知道优化结构 3。不喜欢深入思考（本身这些框架确实有些复杂），又不需要优化，所以就不用思考 4。代码堆砌严重，越堆越大越烂，越难以维护 当然，我深信绝对有优秀的java程序员存在，他们的伟大不输于任何其他语言，主要是java的流行，和粗糙的培新，粗糙的项目管理，导致了那么一堆不高级的打字员。 我本人最不喜欢，不思考的人了，结果工作环境中，这些人多如牛毛。就等着指派工作，说东打东，说西打西，不知所谓。 悲剧呀，在这样一个环境中，我都不知道自己该怎么成长，决定，明年换地方，不是好人呆的地方，不过好地方又在哪里呢？]]></description>
			<content:encoded><![CDATA[<p>这些纯粹的<span class='wp_keywordlink_affiliate'><a href="http://www.liangpeng.net/ytag/java" title="查看 java 中的全部文章" target="_blank">java</a></span>程序员，一般都是直接从hibernate、struct、spring学过来的。<br />
不仅不懂得为什么要用这些框架、模式，也不了解框架、模式的底层，同时膜拜<span class='wp_keywordlink_affiliate'><a href="http://www.liangpeng.net/ytag/java" title="查看 java 中的全部文章" target="_blank">java</a></span>的垃圾回收。<br />
导致他们：<br />
1。基础的编码思路不明，就懂得配置<br />
2。对代码性能不敏感，喜欢东拉西扯，不知道优化结构<br />
3。不喜欢深入<span class='wp_keywordlink_affiliate'><a href="http://www.liangpeng.net/ytag/%e6%80%9d%e8%80%83" title="查看 思考 中的全部文章" target="_blank">思考</a></span>（本身这些框架确实有些复杂），又不需要优化，所以就不用<span class='wp_keywordlink_affiliate'><a href="http://www.liangpeng.net/ytag/%e6%80%9d%e8%80%83" title="查看 思考 中的全部文章" target="_blank">思考</a></span><br />
4。代码堆砌严重，越堆越大越烂，越难以维护</p>
<p>当然，我深信绝对有优秀的<span class='wp_keywordlink_affiliate'><a href="http://www.liangpeng.net/ytag/java" title="查看 java 中的全部文章" target="_blank">java</a></span>程序员存在，他们的伟大不输于任何其他语言，主要是java的流行，和粗糙的培新，粗糙的项目管理，导致了那么一堆不高级的打字员。</p>
<p>我本人最不喜欢，不<span class='wp_keywordlink_affiliate'><a href="http://www.liangpeng.net/ytag/%e6%80%9d%e8%80%83" title="查看 思考 中的全部文章" target="_blank">思考</a></span>的人了，结果工作环境中，这些人多如牛毛。就等着指派工作，说东打东，说西打西，不知所谓。<br />
悲剧呀，在这样一个环境中，我都不知道自己该怎么成长，决定，明年换地方，不是好人呆的地方，不过好地方又在哪里呢？</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liangpeng.net/y2010/m12/zhongyuzhaodaowobijiaodichuchuncuijavachengxuyuandeyuanyinliao_1400.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>jconsole监控远程java程序的参数需求</title>
		<link>http://www.liangpeng.net/y2010/m09/jconsolejiankongyuanchengjavachengxudecanshuxuqiu_1341.html</link>
		<comments>http://www.liangpeng.net/y2010/m09/jconsolejiankongyuanchengjavachengxudecanshuxuqiu_1341.html#comments</comments>
		<pubDate>Thu, 16 Sep 2010 11:33:17 +0000</pubDate>
		<dc:creator>梁鹏</dc:creator>
				<category><![CDATA[Linux应用]]></category>
		<category><![CDATA[程序设计]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jconsole]]></category>
		<category><![CDATA[监控]]></category>

		<guid isPermaLink="false">http://www.liangpeng.net/?p=1341</guid>
		<description><![CDATA[-Djava.rmi.server.hostname=192.168.1.69  -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=10900 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false 远程的java程序启动是，要加上上面的参数 其中-Djava.rmi.server.hostname项必须设置，否则远程连接会因为解析到127.0.0.1失败，该项的值就是你在windows客户端连接linux时的ip地址 接下来的端口要设置合适，不要与其他应用冲突 ssl和authenticate先设置为false，如果需要安全，请不要false 在客户端运行下面的即可 jconsole 192.168.1.69:10900]]></description>
			<content:encoded><![CDATA[<div><coolcode>-D<span class='wp_keywordlink_affiliate'><a href="http://www.liangpeng.net/ytag/java" title="查看 java 中的全部文章" target="_blank">java</a></span>.rmi.server.hostname=192.168.1.69  -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=10900<br />
-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false</coolcode></div>
<p><strong>远程的<span class='wp_keywordlink_affiliate'><a href="http://www.liangpeng.net/ytag/java" title="查看 java 中的全部文章" target="_blank">java</a></span>程序启动是，要加上上面的参数</strong><br />
其中-D<span class='wp_keywordlink_affiliate'><a href="http://www.liangpeng.net/ytag/java" title="查看 java 中的全部文章" target="_blank">java</a></span>.rmi.server.hostname项必须设置，否则远程连接会因为解析到127.0.0.1失败，该项的值就是你在windows客户端连接linux时的ip地址<br />
接下来的端口要设置合适，不要与其他应用冲突<br />
ssl和authenticate先设置为false，如果需要安全，请不要false<br />
<strong>在客户端运行下面的即可</strong><br />
<span class='wp_keywordlink_affiliate'><a href="http://www.liangpeng.net/ytag/jconsole" title="查看 jconsole 中的全部文章" target="_blank">jconsole</a></span> 192.168.1.69:10900</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liangpeng.net/y2010/m09/jconsolejiankongyuanchengjavachengxudecanshuxuqiu_1341.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

