2017
01-16
01-16
如何成为一名开源程序员
首先要明白,开源是开放的。这听起来似乎是句废话,但现实中有很多人恰恰就忘记它只是一个文化现象的描述,而不是一家500强公司的名字。不需要去面试或完成注册表或注册表单才能成为开源程序员。只需要做好程序,然后共享代码。在理想情况下保证代码能保持开放,不管它被如何使用。就是这样,你就是一名开源程序员!那现在目标已经有了,过程要怎么样呢?第一步:找到和选择自己的Skilltrees(技能树)...
继续阅读 >
最近在知乎Live上进行了一场关于求职与跳槽的分享,一共12个法则,希望能帮助到你进行该不该入行、怎样晋升、该不该跳槽的思考。白驹过隙,时光荏苒,2017年悄然而至,不知道你的总结写好了吗?计划订好了吗?骚动的跳槽季,是否有行动计划了?年底的奖金能拿到多少?明年可有晋升机会?好多好多的问题,好多好多的焦虑,很多宝宝陷入了自我认知型焦虑,感觉自己现有的工作做不好,也找不到更好的工作了。我对行业一无所知,...
许多文章讲述API的开发,如REST,SOAP,Json等。本篇以实践为中心,理论和实践相结合,与各位开发者讨论在API开发前的设计思维。让你可以在开发之前,将这些事想清楚,相信会事半功倍。概述各位朋友,何谓API?想必你一定知道APP,APP我们手机端的软件应用,它是Application的简写。本文中心思想主要讲述API的设计。API是个甚?API是英文是ApplicationProgrammingInterface的简写,中文是应...
有时我会陷入读着编程书但编不了程的陷阱。我不能总是找到一个可工作的有趣项目,即使我知道有大量的机会。如果你有相同的问题,这里的一些提示可能会有所帮助。1.与其他程序员聊天这是最好的灵感来源,因为,他们会有一些你想不到的点子。即使是一些程序员朋友、一个编程小组或甚至是一个会议都行。将所有这些想法混合起来肯定会给你一个新的视角。2.和非程序员一起聊天首先,在那些让你觉得快乐或挑战...
软件开发是一个挺不错的工作,不过同时也像任何其他工作一样有着不好的一面。这里列出了大部分程序员对于写代码无法忍受的10件事。对于非程序员来说,他们的工作看起来非常幸福。需求很高、待遇很好,公司提供各种各样的补贴福利等等。然而实话实说,虽然以上所说都不为虚,这份工作就像其他任何工作一样充满了让程序员们抓狂地扯下仅存的几根头发的烦恼。一天当中可以有好几件事能把一个普通程序员逼迫到处于崩溃的边缘...
最近dashiOS开源,infoQ推送了一篇翻译:从DashiOS开源说起,不要过于追求完美代码。我读完的心情就是干死他,一本正经的胡说八道。每段都是先提出一个正确的概念,然后就展开表达混入害人的概念,这种写作手法让人不齿。追求代码质量是一个优秀程序员对自己的要求许多程序员文化是建立在完美代码的理想上:代码不仅能够运行,而且也必须是干净、优雅的。我们以巧妙地构建解决难题的对策为傲。然而这种完美主...
做软件开发十数年,见识了形形色色的开发者,和各种各样的奇葩软件开发模式。本文跟你侃侃这些软件开发模式及其特点。IDD(IDE-DrivenDevelopment)大巧在所不为,大智在所不虑。--荀子天论IDD,也就是IDE驱动开发,几乎是初学者步入软件开发殿堂的必经之路。IDE为开发者屏蔽了很多细节,并且几乎不用配置(相对于vim/emacs/sublime)就可以使用代码自动补全,代码跳转,搜索...
在软件开发领域,很多问题都是由一些不好的编程习惯导致的,消灭掉这些坏习惯,让你的开发更容易,也更高效。1.代码中有拼写错误不要惊讶,这是非常常见的问题,最令你抓狂的是这和你的编程能力没有任何关系。尽管如此,一个拼错了的变量名字或函数名字都会带来灾难性的后果,而且它们还不易被察觉。那么如何解决呢?你应该使用一个好的集成开发环境(IDE)或一个编程专用的代码编辑器,它们都可以极大程度地帮助你减少拼写错...
听过行百里者半九十吧。这句话在程序员的工作中同样适用,到底是为何呢?Matija用一个精巧的比喻揭示了个中道理。其实这就好比在高峰期从郊外开车回市中心。前80%的路程很顺,高速嘛,可能两小时就走完了,但是到了城里,就走不动了,红绿灯,人行道,各种环线和菜鸟司机,可能两个小时还不够用的。编程也是如此。最开始你要设计框架,给整个项目打基础,然后开始开发,几周或者几月之后,你完成了整个项目80%的工作,各种...
众所周知,全球IT技术人才近年来一直都比较紧缺,进入2014年,这种态势可能仍将继续下去,预计IT技术人才,尤其是高端的IT管理人才将会非常吃香。猎头公司RobertHalf的调查显示,有16%的企业CIO计划在2014年上半年扩充自己的团队,其中软件工程师、手机开发人员和IT经理将会成为2014年比较热门的职位。(1)软件工程师软件工程师主要负责计算机软件和系统的设计、开发、维护和评估工作。根据企业需求的不同,软件工程师的工作...