多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 个人篇:影响力 > 影响力,让梦想离你更近。 试想一下,有一天你开发了一个新的语言。它比现有的某某主流软件,运行效率将提高了50%,开发效率提高了100%。接着,你在github上release了0.1,但是由于出现某个开发难题,你需要别人的帮助。而这时,你找不到有效的途径去找到那些真正会用它的人。接着出现了一个新的语言可以达到一样的效果,而这个项目就死于腹中,我记得[mruby](https://github.com/mruby/mruby)刚刚只写了一个`README.md`的时候,就获得了上千个star。 ### 如何提高影响力,为自己代言 ![impact](https://box.kancloud.cn/2015-12-28_5680cacc9bdbc.jpg) impact 每个人都可以是一个品牌,对于一个程序员来说,我们的ID就是我们的品牌。而构成品牌的有多个要素: - 博客 - Github - Weibo(or Twitter) - StackOverflow(or SegmentFault, Zhihu) 等等。 ### 搭建一个跨平台的平台 > 连接各个平台的核心是我们的ID。 第一个平台指的是不同的网站,如我们的博客、Github、知乎等等,第二个平台指的是我们的影响力。 So,在开始的时候我们需要有一个统一的ID,来标识我们的身份:我是谁,你在xx网站上看到的那个xx就是我。刚开始的时候,我在CSDN、Github上的ID(gmszone)和我的博客的域名(Phodal)是不一样的,因为当时的域名(gmszone.com)握在别人的手上,于是我便想办法将两个ID改了过来(ps: github提供迁移)。后来,Phodal就成了我的发声平台: - [http://www.phodal.com/](http://www.phodal.com/) - [http://weibo.com/phodal](http://weibo.com/phodal) - [http://www.zhihu.com/people/phodal](http://www.zhihu.com/people/phodal) - [http://github.com/phodal](http://github.com/phodal) - [http://segmentfault.com/u/phodal](http://segmentfault.com/u/phodal) - [http://www.douban.com/people/phodal/](http://www.douban.com/people/phodal/) - … 于是,这时就可以开始使用跨平台的平台了。 ### 构建平台 > 小博客也会有成长的一天。 对于像我这样一个个默默无闻地人来说,用户可能会有下面几种不同的方法来知道我: ![live example](https://box.kancloud.cn/2015-12-28_5680caccaceea.jpg) live example - 用户 -> 搜索{谷歌,百度,必应} -> 博客 -> {Weibo,Github} - 用户 -> 微博 -> {Github, 博客} - 用户 —> Github -> 博客 - 用户 -> {知乎, SegmentFault} -> {Weibo,Github,博客} ### 博客 刚开始在CSDN上写博客的时候,一开始的访问量很少,慢慢地就多了。有一天发现这样的博客不是自己想要的,于是建了自己的博客,一开始的流量是0。像CSDN这样的网站推荐一些文章到首页,如果能这样便是幸运的。在经历大半年的几乎零流量之后,开始慢慢增长了。到了今天,一共有470篇博客(有一些是出于测试SEO目的写成多篇文章)。一天的PageView大平均有五百左右,主要来源是搜索引擎,百度200左右,谷歌50左右,必应10左右。 #### 用户故事 对于一个程序员来说,必须在某种程度上熟悉怎么搜索自己想要的内容,即**关键字**。如我们想要知道如何在OpenWRT OS上用Python,那么我们会搜索`OpenWRT Python`。于是,这个时候我们博客的标题带有OpenWRT Python,那么我们可能就中奖了。 故事,告诉我们**好的标题很重要**。**重复这个主题**也很重要,会有一个更好的排名。至于,如何更好地排到第一,就是SEO(搜索引擎优化)的话题了。 #### 笔记 一开始要写一个博客是比较难的,没有流量、没有评论。所以,一个好的切入点是: `笔记`。最好是那种网上很少的内容的笔记,虽说很多人不愿意去做这个,但是这是一个很好的方向。 一个技术博客里面的内容应该是两种类型: - 技术 - 理论 技术型可以带来流量,理论型的可以带来评论。理想的话,两者会相辅相成的,但是在我们刚处于学习期的时候。那么那些Note,可以给我们带来一些流量,也带来一些信心。如果,只是想着一开始我就只写一些长篇大论的话,那么只是就是拿了80%的时间做了20%的事。 以用户搜索的过程来说,用户是`有目的的进行搜索`。换句话说,在我们日常工作的时候,我们只关心和我们工作相关的内容。而在受众来,正常情况下,技术型的博文、笔记可以带来流量的主要原因是: `大部分人都是初学者`。 ![70 percent](https://box.kancloud.cn/2015-12-28_5680caccbef68.jpg) 70 percent 理论性的内容,更适合更高级别的开发者,这样的受众较少。 #### 上头条 而在今天有其他的平台,可以借用来推销自己的: - 开发者头条 - 极客头条 - 掘金稀土 - … 网上的IT新闻、博客都是互相Copy,对于一些软文(如本文)来说。这也是期触及率高的原因,通常来说这样可以带来大量的流量。记得在原文中留个原文链接,附张图片(自己博客的图片)来保证:Google把原文指向你的博客,而不是免费为别人打工。 #### 提升 除了是一个很好的展示平台,也是一个很好的测试平台。作为一个Web Developer,测试过 - Nginx Log分析(~600M) - New Relic - SEO - AutoComplete - 重构网站 - … ### Github 将自己尝试的不同技术栈的内容丢到Github上,加上适当地文档、博客,就变成了一个很好的Demo。然而,不止于此,越来越多地人开始在Github寻找人才,因为他们乐于付出,也乐于分离。曾经因为Github上的项目: - 申请WebStorm开源License - Review英文版书籍 - …(有些不方便透露) 而在Github上的项目其实不仅仅只有一些库: - 库和框架: 和`jQuery` - 系统: 如`Linux`、`hhvm`、`docker` - 配置集: 如`dotfiles` - 辅助工具: 如`oh-my-zsh` - 工具: 如`Homewbrew`和`Bower` - 资料收集: 如`free programming books`,`You-Dont-Know-JS`,`Font-Awesome` - 其他:简历如`Resume`,`博客` 所以,可以尝试不同的切入点使用Github。 在某种程度上来说,一个人在Gihub上的粉丝数量会帮助他的项目在初期获取更多的人气。这样就有助于其下一步开展项目,当然也会在某种程度上更好看Blabla。 #### 提升 之前写过一篇[《如何通过github提升自己》](http://www.phodal.com/blog/use-github-grow-self/)中说到了一些细节,大致上还是那些东西,Github与Trello、Travis-CI、Coveralls、SauceLabs、Code Climate,配合得很好。已经可以接近于我们在一些项目上用到的功能,因此拿他们搭建一个好的开发环境完全不是问题。 - Travis CI:支持Node.js、Python、Ruby、PHP等二十几种语言,也支持MySQL、PostgreSQL、MongoDB、Redis等数据库。 - Coveralls:可以用来查看代码的测试覆盖率。 - SauceLabs:可以用来跑Selenium功能测试等等 - Code Climate:查看代码的坏味道。 在我们试着去保证测试覆盖率、代码质量等等的时候,我们就可以学到一些知识,如使用不同语言测试框架的Mock、Stub、FakeServer等等。 ### 扩大影响力 上面的两部分属于打造平台部分,而如Weibo、知乎等则属于扩大影响力。 在某种时候,博客、Github都更像是个人的平台。如Weibo、知乎、SegmentFault、CSDN等等的开发者社区,也可以为自己的博客、Github带来流量,而这一些都是互相促进的。如果我们在其中的一个网站上表现得很好的话,那么在另外一个网站上我们也很容易聚集同样的粉丝。如,我最常用的一个作法是: 将自己写得相对比较好的一些博客复制到CSDN、SegemntFault、图灵社区等等,并适当地推到CSDN首页、开发者头条等等。 由于写作的开发人员是有限的,所以通常在某某头条上的推荐,会成为某博客园上的新闻,接着会有成群接队的小站开始Copy。同时,这些文章又会推到他们的微博上,接着还可能是微信平台。毕竟,对于大部分的网络来说,大部分的流量是流向他们的网站的,所以他们不太会在乎其中的外链等等。故而,通常来说: 不是某某东西突然火了,而是突然没有别的新闻了。通常来说一个好的作法是,试着将你的博客分享到微博上,然后@那些愿意帮你分享的平台。这样,你可以有更多的阅读、更多的粉丝,当然好的内容是前提。 其中还有若干其它的好处: - 更大的曝光率,会带来更多的机会 - 更有机会参与一些未公开互联网产品的试用 - 各种精美小礼物 - 翻译、出版机会 ### TODO 只需要简单地几步就可以开始提高我们的影响力: - 在不同的网站上使用一个ID - 创建一个博客 - 开始创作内容、提交代码、分享 - 持续Impact ### 成为笔杆子 ### 为什么要写博文 写一篇博文意味着要花一定的时间,有时候可能是一个小时,有时候可能会更多,于是人们开始去copy。在这个Ctrl+C越来越盛行的年代,我们还是输了,于是乎在我们的国度里,我们的计算机书算是输给国外的精英了。我们也有优秀的程序员,有优秀的工程师,只是在其中能与大众沟通的又有多少。我们的最终用户可从来不会管你用的是什么技术,他只懂得什么是体验,什么是速度等等。至于你说的东西,他不知道,也不会在乎。 这也就是为什么大师可以成为大师的原因,而菜鸟却还是菜鸟,大师在心里写博文的时候学会了总结,比如,定义算法的集合,将各算法封装,使它们能够交换。利用Strategy模式,算法和利用这些算法的客户程序可以分别独立进行修改而不互相影响。这个就是你需要的方法,于是大师就和你说了,“你需要Strategy模式”。这就是你要的答案,GoF分享了他的东西给了你,我们就有了一本《Head First设计模式》或者是《设计模式解析》。 我们开始走上了成为大师的西天取经,为什么是西天呢,这个领域一直是西方比东方分享得多。《西游记》就这样成为了《西游记》,写下这个过程的到处是吴承恩,还是师徒五人?师徒五人从一个地痞无赖直至成仙成佛。(PS:一直觉得自己写的东西,比较像不是散文的散文,中心似乎一直很明确,只是看懂的仿佛不到。)简单点来说,就是他们写下了自己的那些点点滴滴,我们就知道怎么去“西天”(我的意思不是那个意思,我想你懂的。) 这个过程就是一个个为什么你会看到那么多本优秀的计算机书的原因,大师分享了他们的心得告诉我们如何去成为大师,不过我还不是。只是如果你要成为大师,就要去分享你的过程。至于为什么?简单的说几点: - 技艺的掌握在于重复。技术和游玩的相同之处在于技术玩得越多,也就越熟悉,当你试着去写一篇博文的时候,你也回顾了过程。游玩的回味可以再次欢乐,博文的书写可以再次熟悉。 - 你的过程正是别人所需要的。不要以为你手上的那点点关于编码的小知识不是别人所需要的,有时候人们就需要像《七周七语言 理解多种编程范型》这种书。 - 你的作品有可能因此重构。至于你对于重构是害怕还是享受,我就不得而知的,但是你写出来的时候,也许你会有更好的思路涌现出来。不好的一点是你还需要对这篇文章进行重构,不是么? - 别人的评价。别人的评价有时候是打击,不过我想更多的时候是一种建议,比如Linus在刚写Linux的第一个版本的时候,他也遇到了这样的问题。至于宏内核好还是微内核好,这个问题有点类似于先有鸡还是先有蛋,不过我想后者可能科学家会给出答案。至于前者,不同的领域可能是不同的,Python好还是C好?相同的领域也可能是不同的,Ruby强大,还是Python强大? - 最后一点就是,你想成为大师,不是么?如果你还甘愿……,我就不说了。 ### Copy与盗版 当我开始越来越频繁写博客的时候,同学开始复制,于是有一天他的排名对于我来说,已经遥不可及了,于是远远地排在了CSDN的前面。一步步的前进着,开始懂得怎样去试着推销自己的博客,这时候渐渐有趣了。又去鼓励另外一个同学去写博客,就如他所说的,“就算是你,写一篇博客也要一个小时”吧,或者对于我的打字速度来说,不算什么,半个小时可以达到三千,五笔加上机械键盘好的手感。 我们总会说别人写的说怎么怎么的烂,但是如果一本书上不是Copy过来的,那么他就是不错的,在版权的地位比代课老师还低的天朝。我想你就可以骂这本书烂,因为他是复制的,因为到了最后你没有找到出处。换到博文来说,你搜索到的结果一个个都是一样的,你找不到原版的文章,去问作者一些问题。 一开始的时候我试着去反抗那些复制,你花一个小时写的东西,可能在发布的瞬间就被抓取过去了。有趣的是,渐渐我发现这有利于我们去传播我们的思想。换句话说,这是一个信息时代,你写的东西有可能在一瞬间到了Obama的眼前。至于优缺点嘛,补充一句可以借此SEO。 天朝一直都有天朝特色,无论从哪些方面来说,计算机也是如此,中国特色的免费。至于付费,我想这就是为什么我不会考虑去做收费软件的原因了。 程序员害了程序员,自己害了自己有什么好说的。于是转战到了openSUSE,都挺好的fcitx的五笔很给力,bug也没有原来多,还有WPS For Linux下的此文,因为网络原因。 Copy对于读者来说,看到的都是千篇一律的东西,只会写的人失去兴趣。盗版对于用户来说,看到的都是免费的东西,只会让开发商失去动力。用户便看到了越来越多的广告,读者便只看一个门户的新闻。 ### 如何去写博文 #### 标题——必须重要,类名 对于写博文的人来说,重点的是如何清楚的去表达他们的想法,标题算是其中之一,这个也就是为什么标题党成为了标题党,而《设计模式》成为了经典。刚开始学编程的时候,更吸引你注意力的可能是《72小时学会Javascript》,而不是《Javascript 权威指南》,兴许让你买前者的原因是因为你能看懂前者,而后者不仅看不懂,而且价格更贵。只是一年以后,《72 小时学会Javascript》被你扔到了垃圾箱,而《Javascript 权威指南》却放在了原来放那本书的位置上。你定义的类难道仅仅应该是class class1么? #### 小标题——地图,method 小标题有点类似于sitemap.xml,只是他就是站点地图,一点就到了相应的地方。他应该直接了解的说这是开始菜单,标题栏,菜单栏,而不应该是简简单单的第一章,如果你真是那样写的话,你写的函数想必是 ~~~ def fun1 end ~~~ 如果你写的是get_data那么,我想你的函数名应该和你的文章一样,告诉人们,你要的是get_data。所以不要吝啬你鼠标的一下,它可以承受上百万字的点击。如果因为那样坏了,你可以告诉我,我可以帮你免费换一个欧姆龙的微动,前提是你的鼠标可以换。如果是HTML那么应该是h2 h3,markdown也就是用得比较多的github上的README.md的##或者是### #### 内容——函数体 这里可不是让你用一个让人难以理解的Magic Number,你写得越复杂,别人看的时间就越久,通俗易懂,就是一个很好的开始。你可以把一个个复杂的方法分解出来,或者提炼函数,或者重命名。当你相信你看不懂你的文章,正如你看不懂你写的hello,world我想你是时候去重构你的函数了。 复杂的部分,就用段落来解决,一个函数如同一个段落只应该表达一个思想,太长了就如同这篇文章一样没有多少人会认真去看。你需要给你写的一个精美的代码加一个注释,所以你也需要给你复杂的地方加上个(PS)。 #### 引言——README 我想都会去看的,无论是在破解软件的时候,还是github上面的项目。简单的说说,这篇文章是干什么的,这个程序是干什么的。大家都会,不是么? #### 没有什么好写的 说说你是怎么开始编程吧,然后写在你的博客上,你会发现你会爱不释手的。 #### 小提醒 - 代码,代码有时候会更清晰的表达你思路,太长的代码可能会影响阅读,通常不超过一屏就不算太长 - 图表,耐心的画个UML图,或者程序框图也是不错的,很清晰的表达你的思想。 - 美观,要知道C上是有indent,如果我看到别人让我帮他看的代码是一坨。。。WPS也有段落,如果你没有学好WORD,找本《72小时精通Office》吧,顺便找PPT、EXLS也学了。 - 格式,记得好好用好手上的工具,如果你用的是CSDN用的editor,试着一个个探索,CODE应该要有CODE的格式,LIST应该要有LIST的格式 #### 最后,耐心 在CSDN上的博文的话,可以按长尾理论来分析,这里说的通常是指——你的东西是原创的,写博文有些时间。SEO上,以谷歌为例,谷歌对其抓取是比较及时的,同时谷歌会排除掉部分专业的复制网站——就是拉到重复的搜索结果里。文章刚发表的时候的流量有可能会很低 ,但是有些文章时间一长就显示出来了,比如我写的东西中的《Android上使用GCC》算是一个很好的示例。一开始的时候我们写的东西访问量不会很大,特别是我们刚起步的时候,这时候就要一步步慢慢来。只要你写的东西是别人需要的话,那么就会一步步慢慢来。如果你写的刚好是热门的话题、技术的话,那就是好莱坞大篇《速度与激情1》《指环王2》《黑客帝国3》《纳尼亚传奇4》。。。直到《哈利波特7上》,《哈利波特7下》。于是作为迪斯尼的你,又推出了下一部分电影…… ### 总结 现在的我们更多的技术是直接来源于Google、百度、CSDN或者其他,搜索得来的,我们并不去考虑别人在其中花费的时间和经历,有时候我们要试着去想我们是不是也应该分享给别人。这算是自己开始写博客的原因,受益于开源社区,我们自然而然的也要回顾给这个社区,只有分享才会使未来更美好。 我们都希望看到有一篇博文够清楚的对我们当前所遇到的那个问题进行好好的解析,问题是也许你解决过的那个问题正是别人所需要的,但是你并没有将它分享出来,仿佛是一个循环一样 ~~~ for(;;){ } ~~~ 于是我们又回到了一个起点,人都是自私的。我们都希望自己能更快的学习好一项技术,一门语言,别人也需要你手上的那项技术,那个语言。都你开始意识到别人需要你手上的东西的时候,你算懂得换位思考了。 写篇分享,写篇心得就是一个好的开始,或许我们已经被高中的语文所吓怕了。但是,是时候从新开始。如果你被C的指针吓坏了,被C++的模板吓到了,被Javascript的简陋吓到了,而你又需要拾起它,我想是时候重新开始了。