
在软件开发团队里如何打口水仗
开发软件是一个非常情绪化的工作,团队中的每一个人都希望这个软件可以获得成功,而有的时候这种情绪会在团队中制造紧张气氛。软件团队中流行着这样一句话:“你必须要挑选你自己的战斗。”那么问题来了,如何做这样的决定?你要跟谁干仗?

如何给变量取个简短且无歧义的名字
湾区日报上分享的一篇文章,文章的作者在Google设计Dart语言,就变量命名方面给了4点建议,文中也列出了好变量名、坏变量名的对比。不管作者的看法与你实际中的命名习惯是否一致,看完这篇文章,相信可以在变量命名方面有一些新的思考。

黑客是如何玩死微信聊天机器人的
微信作为时下最in最热的移动端即时通讯App,把我们的工作和生活紧密联系到了一起。一个脑洞大开的程序猿写了用开源程序改了一个微信聊天机器人,并且在不断调试中给它赋予了n多好玩的功能譬如防撤回信息之类。然后好死不死他在号称白帽黑客欢喜地的 “i春秋-信息安全魔法学院”微信群中做机器人的调试,于是分分钟被凶残的坏蛋们玩坏,这个小程序猿也被微信封号处理,结果顽强不息的程序员为了突破微信封锁又做了很多逗逼尝试……

职人介绍所:年薪不过百万就不是好程序员?
好多人一直在问我们,你们什么时候访谈程序员什么时候访谈程序员什么时候访谈程序员?程序员这就来了。这期《职人介绍所》中,我们请到了不论是技术水平还是名气(也许包括薪水)都在业界名列前茅的@winter 和@赵劼。

女程序员在互联网界到底有没有被歧视?
翻开科技界的历史,我们惊奇地发现女性在其中的地位和能力从来不亚于男性,然而随着时代的发展,不知从何时起,我们越来越少地听到女性在科技圈中的发声,却越来越多听到对她们的负面评价:代码水平不高、抗压能力差、很难独当一面等。有些企业在招聘技术人才时甚至暗文规定:不招女程序员,或者给她们开出更低的薪资。

为什么Go是一种设计糟糕的编程语言
好吧,我承认这个标题有点放肆。我多告诉你一点:我爱肆意妄言的标题,它能够吸引注意力。不管怎样,在这篇博文中我会试图证明 Go 是一个设计得很糟糕的语言(剧透:事实上它是)。

关于如何学习的二八法则
苏伽特·米特拉是一位杰出的教育领袖,但是他搞错了一件事情。他认为我们无需劳神记住那些事实性知识,因为当我们需要时,我们可以利用 Google。实际上,背记事实性知识特别关键。保存在你记忆中的事实性知识可以帮助你解决问题

程序员的生存技巧——搜索技巧
人人都可以接触到海量的信息,那么衡量信息财富多寡就只剩下技巧这惟一的标准了:善用搜索引擎的都是信息时代的富翁,不懂搜索引擎的都是信息时代的负翁。

为什么程序员都喜欢上StackOverflow?
作为一名程序员,如果没有听过 Stackoverflow,那么你最好去面壁思过一下。程序员最需要阅读的一本编程书籍(其实编程书留下这本就够了!):

程序员的生存环境和代码的生存环境
微观代码环境 这个是最直接的,每天都在做各种业务的支持,写各种代码亦或是抄各种代码。你有没有在不经意间思考这么个问题,你所产生的代码如果能思考,它会怎么看那些 跟他在同一个文件中的其他代码?另外一个问题是这个模块中有那么多代码,为什么你改掉了别人之前写的代码,而放下你的代码?你的代码可能会在什么样的场景 下被别人修改?

那些零基础转行做程序员的人是如何拿高薪的
除非天赋异禀骨骼惊奇,不然不要指望入行就有 20 K 月薪!或许在大公司,顶级学校,和突出的个人技术水平会有这样的待遇。但对于转行者来说,达到这个水平至少也要 3 – 5 年的时间。

为什么结对编程并不那么受欢迎?
是什么原因导致他们不采用结对编程呢?在我个人的经验当中,采用结对编程和协作仍有许多障碍。许多团队合作(cooperate)的很好,但实际上并不是协作(collaborate)。因为协作基于信任,它是结对编程的关键环节之一。

一位编程老手13年来处理棘手bug的18个心得
我在《从你的bug总结经验教训》一文中写道,我一直在如何跟踪遇到的最有意思的bug。我最近回顾了全部194个bug(时间跨度达13年),看看从中学到了什么经验教训。下面是最重要的几个经验教训,分为编码、测试和调试这三大类:

如何不用那么担心成为一个坏程序员
我无意中发现了“冒充者综合征”的另一种表现形式,总是质疑“我是一个真正的开发者吗,或只是一个善于网络搜索的代码搬运工?”我看到的答案忽略了要点,因此我打算接下这个烂摊子,好好解说一下,因为太多人都有着这种担忧。

程序员编程的 7 + 1 条小贴士
这篇文章我已经构思了几个星期了,现在决定发表出来。请享用!

HBO热播剧《硅谷》里的人物原型是哪些大咖?
美国HBO电视网的热播剧《硅谷》 (Silicon Valley)让我们领略了真实科技从业者的成功和失败以及他们的放荡生活。这部热播剧非常真实,以至于“阅后即焚”照片分享应用Snapchat的 CEO伊万?斯皮格尔(Evan Spiegel)曾惊呼,它“基本上是一部纪录片”。本月初,《硅谷》超级粉丝和科技顾问雷克斯?索格茨(Rex Sorgatz)将《硅谷》中的人物与真实科技行业中的人物一一对应了起来。我们结合索格茨的研究、我们自己的观察以及网络评论整理出了下面的对应关系。

《神秘的程序员们》漫画48~49: 那些年你面试过的奇葩
《神秘的程序员们》漫画48~49: 那些年你面试过的奇葩

开源正在毁掉 Android 吗?
长久以来流传着一些观点譬如 Android 不是真正的开源,开源在毁掉 Android 等等,ZDnet 最新文章又再一次挑起这个话题,你的想法是什么?欢迎在文章末尾投票或者留言表达你的观点。

Tomcat 架构探索
花了一个礼拜的时间阅读了 how tomcat works,本文基于此书,整理了一下Tomcat 5的基本架构,其实也没什么多复杂的东西,无非是解析Http请求,然后调用相应的Servlet。另推荐看CSAPP的网络编程那一章,顺便问问有无需要暑假实习的?坐标杭州,Java后台方向

身份证号码验证算法
做项目的时候需要对拿到的数据进行“清洗”,比如剔除一些不可能存在的身份证号码。查阅了网上的身份证号码验证算法,自己也总结一下。

每个程序员都应该收藏的算法复杂度速查表
这篇文章覆盖了计算机科学里面常见算法的时间和空间的大 O 复杂度。我之前在参加面试前,经常需要花费很多时间从互联网上查找各种搜索和排序算法的优劣,以便我在面试时不会被问住。最近这几年,我面试了几家硅谷的初创企业和一些更大一些的公司,如 Yahoo、eBay、LinkedIn 和 Google,每次我都需要准备这个,我就在问自己,“为什么没有人创建一个漂亮的大 O 速查表呢?”所以,为了节省大家的时间,我就创建了这个,希望你喜欢!

当规模到亿级,MySQL是一个更好的NoSQL!
MySQL是一个更好的NoSQL数据库。当考虑到NoSQL的使用案例,比如对Key/Value键值存储来讲,MySQL在性能、易用性和稳定性方面更有意义。MySQL毕竟是一款成熟稳定的产品,在互联网上有大量的在线教程,范围从操作到失败案例,从主从复制到其它不同模式的应用,不一而足。基于这个原因,MySQL相比其他新兴并没有经过多年洗礼的NoSQL来讲,确实有一定的优势。

五个重要的应用程序发展趋势 开发者必须知道
在最近几个月,相继召开了三次大型开发者会议。对于应用程序在未来可能会起到的作用,我们听到了各种不同的想法。

程序员应该知道的七个图形工具
今天让我来分享一下,我常用的一些图形工具,主要有两类: 流程图 数据可视化

JavaScript 被忽视的细节
《JavaScript 权威指南》这本书从第四版开始,一直到第六版,每个版本我都逐字逐句读过几遍,然而每一遍下来的感受却完全不一样。上上周的周一,再次翻开了这本犀牛书, 这一次我是带着批判精神和研究精神过来的,所以看的时候也写下了一些感受和笔记,都是些容易被忽略的点,部分内容犀牛书上不一定有提到。