<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

    <channel>
        <title>Mobilogy</title>
        
        <link>http://gnap-an.appspot.com/</link>
        <description>This is a micro blog.</description>
        <lastBuildDate>Sun, 12 Jun 2011 08:20:45 +0000</lastBuildDate>
        <language>zh-cn</language>
        <sy:updatePeriod>daily</sy:updatePeriod>
        <sy:updateFrequency>1</sy:updateFrequency>
        <generator>Mibilogy</generator>
        <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/gnap" /><feedburner:info uri="gnap" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
            
            <title>这样做Social能做好么？</title>
            
            <link>http://feedproxy.google.com/~r/gnap/~3/3Trj6fWV0aE/220003</link>
            <comments>
                http://gnap-an.appspot.com/post/220003#comments
            </comments>
            <pubDate>Sun, 12 Jun 2011 08:20:45 +0000</pubDate>
            <dc:creator>admin</dc:creator>
            

            <guid isPermaLink="false">
                http://gnap-an.appspot.com/?p=220003
            </guid>
            <description>&lt;p&gt;Google的&lt;a href="http://code.google.com/apis/contacts/docs/poco/1.0/developers_guide.html"&gt;Portable Contact API文档&lt;/a&gt;
讲了整篇也没讲OAuth/AuthSub的Authentication Scope是什么。后来从&lt;a href="http://googlecodesamples.com/oauth_playground/"&gt;OAuth Playgroud&lt;/a&gt;查了一下才知道是：&lt;a href="https://www-opensocial.googleusercontent.com/api/people/"&gt;https://www-opensocial.googleusercontent.com/api/people/&lt;/a&gt;。&lt;/p&gt;
                &lt;p&gt;Source:
                    &lt;a href="http://gnap-an.appspot.com/post/220003"&gt;
                        http://gnap-an.appspot.com/post/220003
                    &lt;/a&gt;
                &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/gnap/~4/3Trj6fWV0aE" height="1" width="1"/&gt;</description>
            <wfw:commentRss>http://feeds.feedburner.com/gnap/comments</wfw:commentRss>
            <slash:comments />
        <feedburner:origLink>http://gnap-an.appspot.com/post/220003</feedburner:origLink></item><item>
            
            <title>[问答]TextMate 这个编辑器好在哪里？</title>
            
            <link>http://feedproxy.google.com/~r/gnap/~3/m313PCrIYQQ/220002</link>
            <comments>
                http://gnap-an.appspot.com/post/220002#comments
            </comments>
            <pubDate>Sun, 12 Jun 2011 08:20:45 +0000</pubDate>
            <dc:creator>admin</dc:creator>
            

            <guid isPermaLink="false">
                http://gnap-an.appspot.com/?p=220002
            </guid>
            <description>&lt;p&gt;原文来自知乎上的&lt;a href="http://www.zhihu.com/question/19655422"&gt;这个问题&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;TextMate是极具创新性的编辑器，可惜现在很多特性已经被其他编辑器或多或少的模仿了。我对其他编辑器了解不多，很多特性是我在TextMate第一次见到，因此如果说得不对大伙指正：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;首创Snippets代码自动生成功能。相信很多人用TextMate是为了这个功能，它真的非常好用。当时几乎所有的IDE都是让你填写一大堆对话画框，然后自动生成一个文件或者代码，繁琐而灵活性不佳。而在TM仅仅考一系列Snippets，就可以将预设好的缩写词扩展成类、函数和分支循环结构，并且可以考tab逐次的修改自定义的部位；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;首创Plugin bundle的分发和管理机制，并且形成了一定规模的社区。TextMate的插件安装非常简单，而且随装随用，随时删除。当时很多软件的插件都要自己拷贝so文件到制定目录，vim需要在.vim/目录下去解压插件包或者手工复制vim。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;定义了lexical scope，使得所有Snippets,命令和宏的域都不是针对整个文件/项目的。这个设计使得不同类型的文件、甚至文件中不同的位置都可以共享相同的快捷键，行为却是完全不同的。这一设计使得需要记住的快捷键命令大大减少，但是威力确依然不减；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;自动化编辑器里Discoverbility做得最好的。TextMate常常被用来和Vim、eMacs相比，具备不输后两者键盘操作，相差不远的可扩展性。但是她的学习曲线却惊人的平滑。这得意于她所有的快捷键都可以找到对应的菜单操作。新手翻几次菜单后，就可以记住常规的快捷键，而因为第3点的缘故，用户可以用这些快捷键在不同的文件类型中去尝试，可以获得不太超出预料的结果；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;善用脚本。可能因为TextMate的作者之前是eMacs用户，因此对于调用脚本的支持完善得很好，事实上，大部分TextMate命令都会调用外部脚本来实现某些功能。而且脚本可以是python, ruby, shell, perl等任何unix下能运行的脚本。此外TextMate还不强迫用户学会这些脚本语言，你可以作为bundle用户，可以写脚本开发bundle。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;当然，TextMate也有很多不足，加上作者在酝酿TM2，而不是快速迭代这一版本，导致演化过慢，很多功能都被其他编辑器模仿过去了。我觉得TM有一下几点不足或者不再有优势的地方：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;宽字符支持太烂，永远的痛！&lt;/li&gt;
&lt;li&gt;Snippets已经被Vim、eMacs、NotePad++等一大堆编辑器所吸收；&lt;/li&gt;
&lt;li&gt;bundle连vim都可以通过pathogen模仿；&lt;/li&gt;
&lt;li&gt;补全功能太弱；&lt;/li&gt;
&lt;li&gt;临时性的管道输入输出，需要经过一个对话框，远不如vim方便；&lt;/li&gt;
&lt;li&gt;tab标签式多文件，文件一多导航不佳，不支持屏幕分割；尤其是文件切换避免不了鼠标操作，无法和Vim/eMacs的存键盘操作媲美；&lt;/li&gt;
&lt;li&gt;文本查找对话框，现在连浏览器都不用了，也不如vim下的/方便。查找到的多个结果依赖鼠标访问，不像vim有quickfix和快捷键；&lt;/li&gt;
&lt;li&gt;远程编辑文件太弱了。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;所以，大约用了1年左右的TextMate之后，我还是用回了Vim。Vim通过强大的可扩展性和社区的支持，Snippets、bundle的划分都逐渐成熟。而且个人已经过Vim学习曲线陡的阶段，TextMate对我来说，优势已经不是太多了。&lt;/p&gt;
                &lt;p&gt;Source:
                    &lt;a href="http://gnap-an.appspot.com/post/220002"&gt;
                        http://gnap-an.appspot.com/post/220002
                    &lt;/a&gt;
                &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/gnap/~4/m313PCrIYQQ" height="1" width="1"/&gt;</description>
            <wfw:commentRss>http://feeds.feedburner.com/gnap/comments</wfw:commentRss>
            <slash:comments />
        <feedburner:origLink>http://gnap-an.appspot.com/post/220002</feedburner:origLink></item><item>
            
            <title>[版本系统]3-way merge</title>
            
            <link>http://feedproxy.google.com/~r/gnap/~3/cWWABvCxnHE/220001</link>
            <comments>
                http://gnap-an.appspot.com/post/220001#comments
            </comments>
            <pubDate>Sun, 12 Jun 2011 08:20:45 +0000</pubDate>
            <dc:creator>admin</dc:creator>
            

            <guid isPermaLink="false">
                http://gnap-an.appspot.com/?p=220001
            </guid>
            <description>&lt;p&gt;通常我们所用diff, patch，处理的是两个文件的差异。比较源文件和目标文件之间的差异，将这个差异用一定的规则定义出来(无非是插入删除修改)，就形成了diff或者patch。diff或patch可以是正向或者逆向的，取决于你像把源文件和目标文件中的哪一个修改成另一个。这就是所谓的2-way merge。&lt;/p&gt;
&lt;p&gt;在多人协作编辑同一文件的系统中。有时会出现两个人同时对同一文件做出了不同修改的行为。当两个人将各自的工作拿到一起时，就需要将两个人的修改进行merge。这时候可以采用2-way merge。显示出两个人各自文件的不同，然后逐一校对保留所需的内容。这样做理论上是okay的，但是如果两人各自对文件中的修改很多的话，统一文件就会产生很多差异，导致校对的工作异常繁琐，而且容易出错。而且两个人分别编辑同一个文件，修改的位置可能完全不同，能不能有办法识别出两个人共同修改的地方，只对这些地方进行校对解决冲突呢？&lt;/p&gt;
&lt;p&gt;我们知道两个人的共同编辑一份文件，在历史上必然会有一个完全相同的版本，也就是两人各自版本的共同祖先。两人的修改，其实都是基于这一个共同的祖先进行的。那么，我们可以在校对的过程中，先看一个人对祖先的哪些地方做了修改，再看两一个人对祖先哪些地方修改，如果修改的地方都是不一样的，那么肯定所有人的修改都可以保留，如果修改的地方有重合，那么只有这些重合的地方，才会需要解决冲突。&lt;/p&gt;
&lt;p&gt;这就是所谓的&lt;a href="http://en.wikipedia.org/wiki/Merge_(revision_control)#Three-way_merge"&gt;3-way merge&lt;/a&gt;。引入了共同祖先的信息后，不再比较两个文件之间的差异，而是比较两个文件对祖先进行了哪些修改的差异。有效的解决了合并过程的工作量。&lt;/p&gt;
&lt;p&gt;3-way merge是很直接的算法。它的难点在于编辑块的识别，也就是‘哪些修改’的标记。所幸的是这类算法已经有很多工具和算法做得很好了，大部分文件比较工具，也都支持3方比较/合并操作。因此，现代的版本控制系统的conflict resolution，也都是使用3-way merge。&lt;/p&gt;
&lt;p&gt;要自己做版本系统的同学，可以参考&lt;a href="http://www.guiffy.com/SureMergeWP.html"&gt;这篇文章&lt;/a&gt;。&lt;/p&gt;
                &lt;p&gt;Source:
                    &lt;a href="http://gnap-an.appspot.com/post/220001"&gt;
                        http://gnap-an.appspot.com/post/220001
                    &lt;/a&gt;
                &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/gnap/~4/cWWABvCxnHE" height="1" width="1"/&gt;</description>
            <wfw:commentRss>http://feeds.feedburner.com/gnap/comments</wfw:commentRss>
            <slash:comments />
        <feedburner:origLink>http://gnap-an.appspot.com/post/220001</feedburner:origLink></item><item>
            
            <title>[招聘]知乎技术团队招人</title>
            
            <link>http://feedproxy.google.com/~r/gnap/~3/Dmw1lZElVv0/219001</link>
            <comments>
                http://gnap-an.appspot.com/post/219001#comments
            </comments>
            <pubDate>Sun, 12 Jun 2011 08:20:45 +0000</pubDate>
            <dc:creator>admin</dc:creator>
            

            <guid isPermaLink="false">
                http://gnap-an.appspot.com/?p=219001
            </guid>
            <description>&lt;p&gt;&lt;a href="http://blog.zhihu.com/category/%E6%8B%9B%E8%81%98%E4%BF%A1%E6%81%AF/"&gt;招聘链接&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;这是一个非常酷的团队：&lt;/p&gt;
&lt;p&gt;1.整个团队没有一人用Windows，所有人都翻墙;&lt;/p&gt;
&lt;p&gt;2.我们用Python；&lt;/p&gt;
&lt;p&gt;3.我们平时交流，项目的管理，从邮件到IM、再到源代码版本，都是用互联网上最高效，最酷的软件/服务；&lt;/p&gt;
&lt;p&gt;4.我们不限时上班，同事们却有任何时间任何地点解决问题的推动力；&lt;/p&gt;
&lt;p&gt;5.我们平时以兄弟姐妹相称，加班熬夜从不忘互相激励问候；&lt;/p&gt;
&lt;p&gt;6.我们以求知为乐，每个人都在因做这款产品而收益。在知乎上回答问题，是我们平时最大的乐趣；&lt;/p&gt;
&lt;p&gt;7.我们相信自己在做一件伟大的事情，并且期待和你并肩作战！&lt;/p&gt;
                &lt;p&gt;Source:
                    &lt;a href="http://gnap-an.appspot.com/post/219001"&gt;
                        http://gnap-an.appspot.com/post/219001
                    &lt;/a&gt;
                &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/gnap/~4/Dmw1lZElVv0" height="1" width="1"/&gt;</description>
            <wfw:commentRss>http://feeds.feedburner.com/gnap/comments</wfw:commentRss>
            <slash:comments />
        <feedburner:origLink>http://gnap-an.appspot.com/post/219001</feedburner:origLink></item><item>
            
            <title>7.3的vim加了一个特性：

:set clipboard=unnamed

可以和操作系...</title>
            
            <link>http://feedproxy.google.com/~r/gnap/~3/Avn-YfnVSm8/218001</link>
            <comments>
                http://gnap-an.appspot.com/post/218001#comments
            </comments>
            <pubDate>Sun, 12 Jun 2011 08:20:45 +0000</pubDate>
            <dc:creator>admin</dc:creator>
            

            <guid isPermaLink="false">
                http://gnap-an.appspot.com/?p=218001
            </guid>
            <description>&lt;p&gt;7.3的vim加了一个特性：&lt;/p&gt;
&lt;p&gt;:set clipboard=unnamed&lt;/p&gt;
&lt;p&gt;可以和操作系统共享剪贴板，以后就不用鼓捣寄存器之类的了。尽情yy吧！&lt;/p&gt;
                &lt;p&gt;Source:
                    &lt;a href="http://gnap-an.appspot.com/post/218001"&gt;
                        http://gnap-an.appspot.com/post/218001
                    &lt;/a&gt;
                &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/gnap/~4/Avn-YfnVSm8" height="1" width="1"/&gt;</description>
            <wfw:commentRss>http://feeds.feedburner.com/gnap/comments</wfw:commentRss>
            <slash:comments />
        <feedburner:origLink>http://gnap-an.appspot.com/post/218001</feedburner:origLink></item><item>
            
            <title>原来Path的照片链接在css里，防君子不防小人啊！</title>
            
            <link>http://feedproxy.google.com/~r/gnap/~3/BsSVXhG-UFs/217001</link>
            <comments>
                http://gnap-an.appspot.com/post/217001#comments
            </comments>
            <pubDate>Sun, 12 Jun 2011 08:20:45 +0000</pubDate>
            <dc:creator>admin</dc:creator>
            

            <guid isPermaLink="false">
                http://gnap-an.appspot.com/?p=217001
            </guid>
            <description>&lt;p&gt;原来Path的照片链接在css里，防君子不防小人啊！&lt;/p&gt;
                &lt;p&gt;Source:
                    &lt;a href="http://gnap-an.appspot.com/post/217001"&gt;
                        http://gnap-an.appspot.com/post/217001
                    &lt;/a&gt;
                &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/gnap/~4/BsSVXhG-UFs" height="1" width="1"/&gt;</description>
            <wfw:commentRss>http://feeds.feedburner.com/gnap/comments</wfw:commentRss>
            <slash:comments />
        <feedburner:origLink>http://gnap-an.appspot.com/post/217001</feedburner:origLink></item><item>
            
            <title>[杂念]纯技术和纯需求</title>
            
            <link>http://feedproxy.google.com/~r/gnap/~3/cxeSkOvOQg0/216001</link>
            <comments>
                http://gnap-an.appspot.com/post/216001#comments
            </comments>
            <pubDate>Sun, 12 Jun 2011 08:20:45 +0000</pubDate>
            <dc:creator>admin</dc:creator>
            

            <guid isPermaLink="false">
                http://gnap-an.appspot.com/?p=216001
            </guid>
            <description>&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;Source:
                    &lt;a href="http://gnap-an.appspot.com/post/216001"&gt;
                        http://gnap-an.appspot.com/post/216001
                    &lt;/a&gt;
                &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/gnap/~4/cxeSkOvOQg0" height="1" width="1"/&gt;</description>
            <wfw:commentRss>http://feeds.feedburner.com/gnap/comments</wfw:commentRss>
            <slash:comments />
        <feedburner:origLink>http://gnap-an.appspot.com/post/216001</feedburner:origLink></item><item>
            
            <title>[算法][Python]改进版inner_join()</title>
            
            <link>http://feedproxy.google.com/~r/gnap/~3/NHbMe9gPEWI/215001</link>
            <comments>
                http://gnap-an.appspot.com/post/215001#comments
            </comments>
            <pubDate>Sun, 12 Jun 2011 08:20:45 +0000</pubDate>
            <dc:creator>admin</dc:creator>
            

            <guid isPermaLink="false">
                http://gnap-an.appspot.com/?p=215001
            </guid>
            <description>&lt;p&gt;之前贴过一个版本，性能不高。所以优化了一下。由原来得嵌套循环改成了sorted merge。&lt;/p&gt;
&lt;pre class="brush:python"&gt;
def inner_join(list1, list2, key = None, key1 = None, key2 = None, post_join = lambda x, y: (x, y)):
    """
    Function as SQL inner join, return a new list with
    &gt;&gt;&gt; list_join([(2, 3), (4, 5,)], [(4, 1), (2, 7)], key=itemgetter(0)))
       [(2, 3), (2, 7)), ((4, 5), (4, 1))]
    """
    if not key: key = lambda x: x

if not key1: key1 = key

if not key2: key2 = key

if not post_join: post_join = lambda x, y: (x, y)

sorted_list1 = sorted(list1, key=key1)
    sorted_list2 = sorted(list2, key=key2)

new_list = []

i, j = 0, 0
    while i &lt; len(sorted_list1) and j &lt; len(sorted_list2):
            #print i, j, key1(sorted_list1[i]), key2(sorted_list2[j])
            if key1(sorted_list1[i]) == key2(sorted_list2[j]):
                new_list.append( post_join(sorted_list1[i], sorted_list2[j]) )
                i += 1
                #j += 1
            elif key1(sorted_list1[i]) &lt; key2(sorted_list2[j]):
                i += 1
            elif key1(sorted_list1[i]) &gt; key2(sorted_list2[j]):
                j += 1

return new_list
&lt;/pre&gt;

&lt;p&gt;迫不及待想看知乎变快了吗？&lt;/p&gt;
                &lt;p&gt;Source:
                    &lt;a href="http://gnap-an.appspot.com/post/215001"&gt;
                        http://gnap-an.appspot.com/post/215001
                    &lt;/a&gt;
                &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/gnap/~4/NHbMe9gPEWI" height="1" width="1"/&gt;</description>
            <wfw:commentRss>http://feeds.feedburner.com/gnap/comments</wfw:commentRss>
            <slash:comments />
        <feedburner:origLink>http://gnap-an.appspot.com/post/215001</feedburner:origLink></item><item>
            
            <title>知名的early adapter - 坂本龙马</title>
            
            <link>http://feedproxy.google.com/~r/gnap/~3/3JjtBeime04/214001</link>
            <comments>
                http://gnap-an.appspot.com/post/214001#comments
            </comments>
            <pubDate>Sun, 12 Jun 2011 08:20:45 +0000</pubDate>
            <dc:creator>admin</dc:creator>
            

            <guid isPermaLink="false">
                http://gnap-an.appspot.com/?p=214001
            </guid>
            <description>&lt;p&gt;想起作为明治维新时期知名的理念的early　adapter,坂本龙马有个故事：&lt;/p&gt;
&lt;p&gt;在武士时代，坂本龙马就提出，未来的维新运动，会有很多室内的战斗，因此小太刀比长刀要好用，所以开始佩戴小太刀；&lt;/p&gt;
&lt;p&gt;几年后，果然小太刀的作用体现出来。坂本的一个朋友也开始佩戴小太刀去见坂本龙马。这时候，坂本拿出一把手枪，说手枪是更好的杀敌利器；&lt;/p&gt;
&lt;p&gt;在过几年，这个朋友也弄了一把手枪去见龙马。谁知这时候龙马拿出了一本《万国公法》，说手枪只能杀几个敌人，研究万国公法可以救日本。&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;研究技术供求职的想法过时了，应该研究技术供做产品。&lt;/p&gt;
                &lt;p&gt;Source:
                    &lt;a href="http://gnap-an.appspot.com/post/214001"&gt;
                        http://gnap-an.appspot.com/post/214001
                    &lt;/a&gt;
                &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/gnap/~4/3JjtBeime04" height="1" width="1"/&gt;</description>
            <wfw:commentRss>http://feeds.feedburner.com/gnap/comments</wfw:commentRss>
            <slash:comments />
        <feedburner:origLink>http://gnap-an.appspot.com/post/214001</feedburner:origLink></item><item>
            
            <title>最近的一些感悟</title>
            
            <link>http://feedproxy.google.com/~r/gnap/~3/r97cmpoP6JA/213001</link>
            <comments>
                http://gnap-an.appspot.com/post/213001#comments
            </comments>
            <pubDate>Sun, 12 Jun 2011 08:20:45 +0000</pubDate>
            <dc:creator>admin</dc:creator>
            

            <guid isPermaLink="false">
                http://gnap-an.appspot.com/?p=213001
            </guid>
            <description>&lt;p&gt;1）推动事情的欲望很重要，并且行动要坚持下去&lt;/p&gt;
&lt;p&gt;其实自己是不缺乏推动欲望的，包括在前公司就做过很多推动性的工作。不同的是在前公司总觉得推得过火，在现在的团队则没有顾忌。但以结果看，还是缺乏坚持。前些天周源提醒：想要推动一件事情，就要坚持到底。是啊，真正好的团队，只怕你不会放手去干！&lt;/p&gt;
&lt;p&gt;2) 以什么状态去做一件事，完全取决于你对这件事是怎么看的&lt;/p&gt;
&lt;p&gt;前阵关于‘做产品像做爱’的恶搞，在团队内部还是在知乎上都挺火的。周源还发到了自己的新浪微博上。其实写这个恶搞的初衷，还是在给自己打气。有时熬夜coding，有时还是挺枯燥的，如果不时刻提醒自己在做一件很酷的事情，是无论如何和保证不了状态的。所幸这条恶搞非常成功。:)&lt;/p&gt;
&lt;p&gt;3) 经验就是犯过更多的错误，知道如何取舍&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;5) 职业生涯&lt;/p&gt;
&lt;p&gt;这次和周源、申申、继新他们谈职业规划。我毫不犹豫的我要做有产品感觉的工程师，保证从idea到产品最快的执行力。&lt;/p&gt;
&lt;p&gt;其实这是冒着很大风险的，因为这不是以职业角色驱动的，而是以做事驱动的。目前没有多少工作机会会从这样的定位招人。和杨松讨论后他还是建议走专精一门技术的路线。但是我觉得冒险试试是值得的。有两个原因：&lt;/p&gt;
&lt;p&gt;首先，我做东西的欲望比钻研技术的欲望要强烈。从在学校烂尾的P2P项目起，这个欲望就没有减退过。&lt;/p&gt;
&lt;p&gt;２年前我和同事吃饭时，就非常看好iPod Touch作为掌机的潜力。当时同事以NDS Lite上现有的游戏举例，认为不可能竞争得过NDSL, 即使该有的传感器都有了。１年后iPod Touch成为了全球第一掌机，iOS开发成了最赚钱的职业+SOHO创业选择。而我在前公司做了１年的舆情监测系统研发，产品一份都没有卖出过。所以我发誓不再错过自己看好的行业，看好什么样的产品一定要具备能做出来的能力。&lt;/p&gt;
&lt;p&gt;6) 机遇和Ready&lt;/p&gt;
&lt;p&gt;我是经过第二次求职，经过两个熬夜月的恶补Web开发才以试用的身份加入这个团队的。如果我当初不做这些事情，就和现在的团队失之交臂。所以每次越回想越觉得幸运中带有一些机遇和准备之间的必然。&lt;/p&gt;
                &lt;p&gt;Source:
                    &lt;a href="http://gnap-an.appspot.com/post/213001"&gt;
                        http://gnap-an.appspot.com/post/213001
                    &lt;/a&gt;
                &lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/gnap/~4/r97cmpoP6JA" height="1" width="1"/&gt;</description>
            <wfw:commentRss>http://feeds.feedburner.com/gnap/comments</wfw:commentRss>
            <slash:comments />
        <feedburner:origLink>http://gnap-an.appspot.com/post/213001</feedburner:origLink></item>
    </channel>
</rss>

