量产型炮灰程序员

当然也不少人质疑说,光骂培训班,那受过高等教育毕业的学生技术就一定好了吗?当然也不是这样的,事实上我国大多数高等学府的计算机教育也是无用的,甚至是有害的。中国大学在多次扩招后,除了少数几个学校,专业教育的大部分也不靠谱。许多学校安排了四年的课程,确实涉及了不少基础知识,但结果却本末倒置,觉得学生听不懂课上得简单,学生也没有好好学好。

这不是笑话:Stack Overflow 教会了一百万开发者如何退出Vim

今天早上,Stack Overflow上的一个提问迎来了里程碑:被浏览次数超过了100万次。这个问题就是“如何退出Vim编辑器”。五年来,这个问题已经被超过100万的开发者问过,他们都卡在了Vim里,在没有人帮助的情况下不知道如何退出。退出Vim编辑器甚至成为了开发者之间的一个笑话。

Linux kernel 的设计是否已经过时?

Linux 多年来取得的成绩毋庸多言。但最近,redditor 上有人发起了一个话题,想知道 Linux 的内核设计是否已经过时,并得到了一些有趣的答案。

[外文翻译]为什么你不用更好的编程语言重写它

有一些工具可以自动从一种语言转换为另一种语言。 他们可以帮助解决一些问题,但只能停留在第一步。 第二步和第三步的问题仍然存在,并且可能需要比手动转换代码带来更多的工作,因为通常手动转换会写出更多的人性化的代码。 令人遗憾的是图灵完备向我们揭示了不能有十全十美的事情。

为什么我反对追求测试覆盖率

我们已经有了一个极端的经验:开发有0个单元测试的项目,我们知道这样做所带来的痛苦。通常我们缺乏的是另一个极端的经验:开发100%代码覆盖率和一切都是TDD的项目。单元测试(特别是第一种方法)是一个非常好的做法,但我们应该分辨哪些测试是有用的,哪些是适得其反的。

程序员所积累的编程知识在十年后将有多少变得没用?

翻翻历史,以前学过现在没用的技术实在是一大把,我承认技术是有 “道” 和 “术” 的区别,我写了十多年代码的时候以为 “术” 容易淘汰,而只有 “道” 就能长存,一旦掌握了恒久不变的道,就可以以不变应万变;而又写了十多年代码以后发现从更长的尺度上来看,并没有一成不变的东西。

章回体小说:真正的程序员

今天我呆坐在这里,回顾我的整个编程生涯,我想弄清:成为解决真正问题的程序员,还是一切都这是完成工作。这两者是完全不同的。不管怎么样,小printf认为他不需要成为一个真正的程序员。我现在,也是这样认为的!

导致烂代码的35个恶习,看看你染上了几个?

《人月神话》出版以来,IT行业的科技公司们一直苦苦追寻传说中以一当十的超级程序员,最新的研究表明确实存在这样一小撮效率奇高的“程序金刚”,但是一位普通程序猿如何能够蜕变成代码金刚呢?

电影中的黑客都是用的什么编程语言?

本期科考派将替大家考证一下电影中出现的那些代码。它们有的是黑客脚本,有的是机密文件,有的就是纯粹耍酷看起来很厉害,甚至还有的是非人类代码。当然本文一如既往阅读起来有门槛,请非程序员读者速速退散,毕竟你也看不明白;请程序员读者细细研究,搞不好能够功力大涨。

程序员眼中的同行

很多人说在咱身边有一系列歧视链存在,行业之间因为薪资和工种相互歧视,地域之间因为标志性事件和历史相互歧视,比如说最近的美团的招聘歧视事件。不过歧视也并非全都是不愉快的,程序员之间也普遍存在一些有趣的歧视现象,今天就给大家分享一下!

项目经理如何避免被程序员殴打

好吧,虽然上图是P的,但至少可以说明一件事——产品经理们早被程序员在心中揍了百遍。
本指南采用案例演绎法,还原产品经理最容易被揍的Top 5 场景,并予以点评和建议,力保从业人员的人身安全。
产品经理,以下简称为(产品)狗。程序员,以下简称为(程序)猿。

【外文翻译】Node.js程序员必须掌握的10个JavaScript概念

但JavaScript是把双刃剑,JavaScript的多重性质意味着几乎一切都是可变的。因此,在编写Node.js代码时,程序员无法清除对象和范围突变的概率。因为JavaScript缺少尾调用优化(允许递归函数重用堆栈帧进行递归调用),所以使用递归进行大量迭代是很危险的。除了这些陷阱之外,Node.js是单线程的,因此开发人员必须编写异步代码。

Kotlin 编程三分钟入门

以上仅是对使用频率较高的语法总结,学会基本可以阅读Kotlin代码,遇到点问题Google速查一下,至于智能转换、类型推导之类的不用说使用后喜欢自然就会了。当然这只是kotlin的基本语法,方便Java快速熟悉kotlin,深入学习还请阅读相关资料。

Python速度虽然慢,但它工作效率高啊!不服?

让我们来讨论一个我最近一直在思考的问题:Python 的性能。顺便说一下,我是 Python 的忠实拥趸,我在各种情况下都会积极尝试使用 Python 来解决问题。大家对 Python 最大的抱怨就是它的速度慢。有些人甚至因为 Python 的速度不如某个语言而拒绝使用它。本文中我将阐述,即便 Python 这么慢,为什么还值得你对它进行尝试。

[外文翻译]JavaScript终于跻身于一流编程语言行列

也就是说,我认为质疑JavaScript是否是一种“真正的”编程语言的时代已经过去,它的旅程远没有结束,但是其应用率和改进速度使我对其前进道路充满信心。

Kotlin相对于Java的优势比较

Google I/O 2017 首日 Keynote 刚刚落幕,其中 Google 宣布 Android 系统将对 Kotlin 提供 first-class 的支持算是一个非常重磅的新闻。对于大众来说,Kotlin 编程语言可能是相对陌生的,它究竟有何过人之处呢?不如让我们听听开发者是怎么说的。

四款​linux​操作系统总有一款适合你

所有上述所提供给你的是一种通过模仿“其他”操作系统的方式,在观感上所体现出来的熟悉而统一的体验。但是请不要忘记,Linux最伟大的地方之一就是:你具有挑选你所喜欢的某些元素的能力(当然Icaros除外),以及能够构建出属于自己的“弗兰肯斯坦”(拼凑出的科学怪人)桌面!

程序员搞笑集:网址是什么

今天不给大家讲解专业知识了,我发现网上有不少关于程序员的笑话挺有意思的,这里转给大家,希望能给大家带来欢乐。

一个程序猿的奇妙之旅……

静等面试电话。人事约我第二天上午10点准时参加面试。开始了我的面试之旅……为了给面试官留下准时的好印象。我站在和拼车司机约好的十字路口。公交车突然熄火。看见远处马路边停着一辆红色的小三轮车。准时已经不可能了。看见两个维修工人正在电梯口检查电梯。

聊聊一个架构师的第一次架构经历

炸出的问题有:我们这个系统的边界是什么?我们系统有哪几部分组成?各模块之间怎么通讯?选择什么样的基础技术?为什么要这样选择?技术方案未来会遭遇那些坑?从技术角度这个应用将来如何持续扩展功能?等等一系列的问题追随而来的确像是核弹引爆后的地狱一般让人感觉一切多完蛋了。

关于编程,我要矫情两句

除开程序员,一些老爸老妈级的网民和政府机关现在还在用IE6,也是因为经验主义,觉得IE6一直用,很舒服,不喜欢换。
或者特定的软件必须用IE6,这款软件几万年没有更新了,除了IE6没有其他可兼容的浏览器能运行,也间接影响了各种机关办事效率。可能走办一个业务,走一个程序要等很久,很久。我是真心希望这些机构能更新一下软件和硬件,毕竟我们国家的税收不低。

离开腾讯是一种怎样的体验

据说在BAT里面,腾讯提供了最好的班车服务,这是让很多小伙伴羡慕的福利。试想每天坐着公司的上下班,这是幅多么美好的画面。不过实际的情况是,除了刚到腾讯那几个月,为了能准时上班坐了几天班车后,基本就跟班车无缘了。之前有个小伙伴跟说,离开腾讯的那一刻,最大的感受就是:再也不能刷卡上公司的班车了。听起来有点心酸的感觉。

为什么Arch Linux不适合作为服务器操作系统

我前面好几篇文章都有关Arch Linux,我本人也是虔诚的Arch邪教教徒,但是有人经常会问:为什么Linux服务器几乎从不采用Arch Linux?我们见得多的Linux服务器系统一般都是什么Ubuntu Server啊,什么Cent OS啊,什么Fedora啊,或者企业采用的Red Hat啊,为什么几乎没有Arch Linux呢?下面我将从若干个方面指出Arch Linux在服务方面的劣势。

25年Linux内核开发经历总结出来的九条经验

自2005年以来,来自1300多家公司的约14000名个人开发人员对内核做出了贡献。因此,Linux内核在很多互相之间有激烈竞争关系的公司的努力下,发展成为一个规模庞大的公共资源。

程序猿经典段子集:不要吸大麻不要赌博

大学本科毕业了,去跟房东退房清押金,房东老太太说年轻人本科毕业后千万不要写代码不要读博,真是真理啊!后来才弄明白原来老太太说的是:不要吸大麻不要赌博。

你知道为什么程序中的缺陷叫bug吗?这里其实有一段有趣的历史

简评:别幻想了,就算看完这篇文章,Bug 依旧不会少,就算没有了 Bug,还会有 Aug,Cug。。。

所有计算机编程语言的一句话概括

Simula :被认为是最早的面向对象程序设计语言,它引入了所有后来面向对象程序设计语言所遵循的基础概念:对象、类、继承。

代码只是事业的 5%,程序员创业注意事项

代码只是程序员技术创业中的 5%,还要做长远考虑,要有耐心,产品设计要简单易用,勇于做减法,删除某些已经花了时间做了但不奏效的功能。下面来自技术创业者 Ian Landsman 的经验分享。

我眼中的各种编程语言

所有的编程语言我都讨厌。曾经我想自创一门语言,但我没搞明白到底需要一门什么语言,所以也从未开始过。 许多时候,你没法选择使用哪种语言。不管我在用哪种语言,我都尝试去接受它的优点和缺点。

搞笑漫画:问题不在电脑里,而在椅子上

你知道PICNIC是什么意思吗?不是你想的那样,我们并不是在谈论一次带着食物的露天野餐,享受阳光灿烂的田野。我们所说的是一个缩写词汇,PICNIC代表着“Problem In Chair, Not In Computer(问题不在电脑上,而是坐在椅子上的人)”。如果这句话你听起来很熟悉,那么你很有可能是IT界的人士

25岁就死了,75才埋,程序员们的中年危机:有点懵

去年是他做保险销售的第一年,业绩很好,进入了MDRT(Million Dollars Round Table,百万圆桌会议)。他承认这跟过去的人脉积累有关,但他更相信专业态度的帮助,“过去一个逗号错了,整个程序就无法运转。我就是用这种专业精神去研究现在的产品。”

程序员笑话集:bug跟蚊子的相似之处

两个程序员,一个技术精湛,思维严谨,认真负责,Bug极少,至今单身; 一个技术一般,吊儿郎当,Bug一堆,经常被测试MM叫到她旁边,接受批评; 后来成了她男朋友……

编程领域内为什么要有那么多的语言?

但是以后移动互联+的影响会越来越深入和广大,PHP的方向是一个很不错的方向…一个人不能做两个甚至多个行业的事情,否则如果你不是够聪明,很可能什么都不精通!慎选。

JCP执行委员会的成员IBM和Red Hat宣称会对Java新模块系统(Jigsaw)投反对票

如果考虑到其他厂商和社区的观点,Oracle对Java 9的交付时间点似乎会出现冲突。到底Oracle会改变方向(这样的话,有可能会造成Java 9的再次延期)还是坚持自己的观点(即便主要的厂商和社区参与者有反对意见),尚有待继续观察。

谷歌新操作系统Fuchsia试用:不完善,但方向是对的

看到有新的操作系统出现,并且还需要很多开发工作才能逐渐完善,并投入使用总是颇有趣味。Fuchsia还不完善,但目前看来发展的方向是正确的。由于谷歌在这个项目中投入了许多资源,目前针对Magenta以及其它Fuchsia组件的开发都非常活跃。对大众来说,所有承诺的功能都是能够实现的。

改25行代码,贵公司要动用多少人?

当产品经理得到发布通知的时候,通知了下客户版本更新的内容已经包括了他要的内容。客户这时心理想,我这已经在测试另外一个平台了。但是出于礼节说,那上线试试吧。结果上线运行,由于前端没什么内容,只是用户新拿到了几个兑换码,然而这已经与自己提出这件事后过去了4个月。

Java 9 中的 9 个新特性

Java 8 发布三年多之后,即将快到2017年7月下一个版本发布的日期了。 你可能已经听说过 Java 9 的模块系统,但是这个新版本还有许多其它的更新。 这里有九个令人兴奋的新功能将与 Java 9 一起发布。

35 个让你的代码变得糟糕的不良习惯

作为一个程序员,我看到很多不好的做法,不仅仅与代码相关,还包括团队合作能力。我自己曾经就有不少这些坏习惯。这里是我认为最糟糕的 35 个坏习惯,它们涵盖了四大类:组织代码、团队合作、编写代码以及测试和维护。

应聘IT项目经理,你必须要知道这些套路!

在互联网高速发展的今天,我们不难发现这么一个现象:IT技术人员在职场上从技术层转变为管理层的时候,他们的身份更多的是项目经理。这一方面是因为他们在做技术时,或多或少接触、负责过项目,另一方面是因为他们懂技术,在管理项目的过程中能做到心中有数。

阮一峰:Fish shell 入门教程

Shell 有好几种,目前最常用是 Bash 和 zsh。但是,在我看来,它们都不如 Fish Shell 好用。五年前,我第一次尝试 Fish,感到很惊艳,一直用到现在。本文介绍 Fish 的主要特点,希望你也来尝试它。

四五十岁之后,还在编程的程序员都有谁?个个大师级

软件开发对于过了40岁的人来说,是不是就意味着终结?本文罗列了10位年龄超过40岁的老程序员们的故事,他们都是顶级的软件开发者,拒绝从事管理岗位,仍然活跃在开发一线,将编程作为生活收入的主要来源。

六种编程范型将改变你对编程的认识

对于下面的大多数语言我拥有的经验很少:我只是发现它们背后的思想十分有魅力,但对于它们我没有任何专业知识,所以有任何更正和错误请指出。另外,如果你发现这里存在没有提到的任何新的范型和想法,欢迎把它们分享出来。

我得到了一个黑客的遗嘱,走上了不归路!

很好,你现在安全了!至少在你的电脑上…在我们开始之前,你需要获取一些工具,只使用这个是无法侵入你将来发现的大部分电脑的,至少入侵不了那些你感兴趣的东西,你应该从调查我朋友的服务器开始,他自称 “ 毒蛇 ”,听起来很可怕是吧?老实说他干这行水平不怎么样

编程中那些有趣的递归缩写命名

学习NodeJS的时候,一定会用到其包管理器npm。npm的字面意思是node package manager,实际的含义也是这样,但是npm真正的英文名却是“npm is not an acronym”,意思是“npm不是一个缩写”,所以如果要问npm是什么单词的缩写,那么回答就是“‘npm是不是一个缩写’的缩写”。

中国程序员和外国程序员

中国程序员和外国程序员并没什么区别,大概外国程序员唯一的优势就是天生会用英语,如果还有第二个优势的话就是Google没被墙。不过,仅此两项,给了中国程序员不小的麻烦,我们需要付出更多的努力,让Chinese Programmer成为世界上最好的Programmer。这也是我的梦想。

程序猿们,在编写和调试程序的时候,你们是不是这样的?

各位程序猿大大们,你们写代码是不是也是这个状态呢?是不是经常遇到明明奇妙的问题呢?是不是在解决一个问题以后,欢呼雀跃呢?

我开发了一个怪物 —— “消沉的程序员”漫画赏析

看至此处,各位朋友是不是感觉少了系列的第 8 和第 9 篇?起初,译者也这么想,后来问了作者 Daniel Stori 之后,才恍然,原来序号采用了八进制,按照作者说的,一个隐式的玩笑。明白了吗,朋友们?

如何评价一段代码

初学者评价代码是不是简单的最朴素的方法就是看代码规模,他们总是觉得代码行数越少的程序就越简单。经常有人在中问为什么我给出的解法要写二十几行代码,而网上的解法却只有十几行。于是就让我讲一下那个十几行的代码。我只能说,那个十几行的代码来自《算法导论》,我需要用4~5个篇幅来讲,还不保证能讲透彻。

它们养活了一票国产软件!你知道这些开源软件吗?

闭源的商业软件搭造起了软件世界琳琅满目的繁华,但开源软件也未曾离开过栋梁的位置。诚然,国产软件的很多功能都相当容易上手,但在使用这些商业软件的时候,大家也应该记住背后默默奉献的开源项目,信息时代少了它们,也会失去很多光彩!

成人网站PornHub爬虫分享(一天可爬取500万以上的视频)

10个线程同时请求,可达到如上速度。若个人网络环境更好,可启动更多线程来请求,具体配置方法见 [启动前配置]

IT项目经理要不要懂技术?

作为一个有着10年工作经验的项目经理,在我身边有懂技术的项目经理,也有不懂技术的,可以说各有优劣。

王垠:自动编程是不可能的 我为什么不在乎人工智能

 有人甚至把名字都给我想好了,叫“深度程序员”(DeepCoder = Deep Learning + Coder)。口号是:“有了 DeepCoder,不用 Top Coder!” 还有人给我指出了这方向最新的,吹得神乎其神的研究,比如微软的 Robust Fill……  我谢谢这些人的关心,然而其实我并不在乎,也不看好人工智能。现在我简单的讲一下我的看法。

如何爱上结对编程

你观察一下结对比较默契的同事,他们会一起喝水,一起上厕所,一起抽烟。只有保持一致的节奏,才能最大化地提高效率。不然,一个去厕所了,另一个人在那写,回来可能就跟不上了。刚跟上,之前那位又要出去抽根烟…

我必须得告诉大家的MySQL优化原理

说起MySQL的查询优化,相信大家收藏了一堆奇淫技巧:不能使用SELECT *、不使用NULL字段、合理创建索引、为字段选择合适的数据类型….. 你是否真的理解这些优化技巧?是否理解其背后的工作原理?在实际场景下性能真有提升吗?我想未必。因而理解这些优化建议背后的原理就尤为重要,希望本文能让你重新审视这些优化建议,并在实际业务场景下合理的运用。

一个猫奴的技术逆袭

1991年年中,林纳斯·托瓦兹(Linus Torvalds)在自己房间里敲着键盘。他全神贯注地盯着14寸的黑色屏幕,都没感觉到自己宠爱的小猫Randi在扒自己的裤腿。

LinkedIn面试实录:一场感觉身体被掏空的前端面试

我的运气比较好,遇到的这位前端工程师是密大的校友。在美国,校友资源是社会人际关系里的一条重要纽带。校友见校友,两眼泪汪汪。可能是和这位校友聊的很投缘,当然题目也基本都做对了,两天之后我便收到了onsite的通知,邀请我在今年的二月去LinkedIn在加州硅谷的总部面试。终于,我也可以体验一次「美帝面试三宝」了。

程序员的计划和变化

这是一个程序员丰富而美好的一天,程序员的计划于现实……

烂代码的各种表象以及产生烂代码的原因

你可以说:之前改一个模块要3天,重构之后1天就可以了。但是怎么应对“不就是做个数据库操作吗为什么要3天”这类问题?烂代码“烂”的因素有不确定性、开发效率也因人而异,想要证明这个东西“确实”会增加两天开发时间,往往反而会变成“我看了3天才看懂这个函数是做什么的”或者“我做这么简单的修改要花3天”这种神经病才会去证明的命题。

【外文翻译】Python 是慢,但我无所谓

让我从关于 Python 中的 asyncio 这个标准库的讨论中休息一会,谈谈我最近正在思考的一些东西:Python 的速度。对不了解我的人说明一下,我是一个 Python 的粉丝,而且我在我能想到的所有地方都积极地使用 Python。人们对 Python 最大的抱怨之一就是它的速度比较慢,有些人甚至拒绝尝试使用 Python,因为它比其他语言速度慢。这里说说为什么我认为应该尝试使用 Python,尽管它是有点慢。

千万别做程序员?

知乎中看到一条收获2000+赞的言论,他是这样说滴:作为一个已经逼近35的CnotS工作者,强烈建议,年轻人,如果有选择的话,不要进入CS。

是什么导致优秀的程序员写出如此垃圾的代码?

我惊奇地发现原作者实际上是一群拥有很高技术水平的资深工程师。是什么导致一群有能力的开发者产出并交付这样一堆垃圾呢?我能想到的原因有很多。这些是我认为连资深的团队都可能会沾染的坏习惯,这些坏习惯会严重地影响你的终端产品,甚至连源码检查或者开发方法论都无法拯救。

程序员应该常问常思考

永远不要在你是最聪明的地方工作。挑选拥有可以启发你、激励你做得更好的同事的工作和公司。没必要和编程有关系,在文本编辑器和命令行之外还有一个世界。从其他领域学习,并应用到你的工作中。不管怎么样,保持竞争力更好!

一个十二年老程序猿的碎碎念

我们的身边充斥着写java的看不上写.net的,写c的看不上一切,node异军突起,python批评ruby垃圾性能,高富帅swift从天而降,PHP是最强语言等等。。。十二年前,我刚工作的时候,写医疗软件,用VB写界面,用VC写功能封装dll,当时觉得VB,VC太强了,结果现在它们基本都死了。

搞笑动图:据说程序员一天又百分之70时间是在做这些

搞笑动图:据说程序员一天又百分之70时间是在做这些

谷歌新操作系统Fuchsia的安装与尝试

引言: 谷歌开发的新开源OS Fuchsia引发了很大的关注,但此前由于信息不足,我们只能对这个系统的具体用途、背景信息以及架构做些猜测。本文对这个系统进行了较为详细的介绍,并给出了可安装的平台和安装方式,有兴趣的开发者可以按部就班进行尝试。本文翻译已获得原文作者Nur Hussein和英文网站的授权。

王垠回国了,也许他会更加失望

最近看到王垠说要回国了,不知道他日后打算做什么。但是作为一个在国内混了快4年的互联网搬砖工,我深知,王垠所吐槽的IT界的一些现象,在国内也是存在的,而且更加严重。

升级 PHP 7 带来的变化

最近女主在QCon2017的会议上听到一句话:“在决定做一件事情之前,先不要考虑它的困难有多难,要先想想收益明显不明显,如果明显那就克服一切困难把它搞定”。多么激励人心有木有~ 在是否升级PHP7的问题上,花椒技术团队和addops团队也是进行了一番“苦战”,最后终于在2016年11月完成升级。今天就为大家分享一篇PHP7的升级历程,希望能够帮助有同样升级想法的GG们。

300行代码实现手写汉字识别

主要思路:
提取每个汉字的笔画特征,保存成一个字库;
通过手写板或者触摸板获取用户的手写轨迹坐标;
坐标预处理;
通过 KNN 算法,与字库中的每个汉字进行比较;
根据比较距离的大小进行排序,输出结果。

那些年我们写过的代码注释,没被打死真是奇迹!

曾经年少轻狂,写了三两行简简单单的逻辑代码,却总要在前头署上自己的大名,然后等到生产版本宕机那天,已经换了三四家的公司的你还是被无情夺命连环 Call 。曾经对面坐着的是个花一般的测试,然后代码的注释里,总是会多出好几排空格。曾经,我们在写代码时,还会有心情写注释。曾经,写注释时,身边还有你。望能博君一笑。

男默女泪,黑客最不想听到的一句话是什么?

,程序员并不是黑客,要是黑客,尤其是挖掘漏洞的黑客发现了程序员的重大代码 bug,应该要开心得飞上天。事实上,上面这个“段子”其实并不是“段子”,以编辑的亲身经历看,真有程序员因为对方说了一句“你的程序有 bug ”而撕破脸。

追忆计算机之父艾伦图灵:在一个时刻两次改变历史的人

一个人几乎独自的把我们带离了历史中最艰难的时期之一,并进入了最繁荣的时代之一。艾伦图灵对结束二战有很大帮助并且发明了计算机。他机器的齿轮第一次在正确的位置点击进入这个地方的时刻是二者的起源。这是当看到那台在博物馆玻璃后面的小机器时,我所回忆起的内容。并且我认为这是人类最棒的时刻之一,你认为呢?

程序员的技术图腾

有没有发现这个名单中有一个特点,就是这些名人都是老板,虽然有些人是做技术出身,但他的技术肯定没有达到科学家级别,甚至连研究员级别都没达到。那为什么这些人比那些科学家更加有名得多?

漫画:程序猿最头痛的问题:这个多久能开发完成?

程序猿又接到了新的任务:项目经理要求评估时间,呵呵,总有SX新手要乱说

十款最佳开源/免费项目管理工具

很多企业在项目开发过程中都会遇到时间、预算、人员配比等各种问题,如果你是项目经理或近期打算接手一些小项目的程序员,这十大免费/开源的项目管理软件,你一定用得到。

哪种编程语言最受程序员欢迎?其实还得看时段

对程序员来讲,Stack Overflow是个十分重要的社区,当你有编程方面的困惑时,这个社区总会给出你需要的答案。最近,Stack Overflow的数据科学家观察到一种有趣的趋势,事实证明,哪种编程语言最流行,其实取决于在什么时段。

带你看25年前的电脑系统,35年前的游戏,40年前的电脑,全是回忆!

本着深入研究邻国文化的态度,差评君决定看看里面到底是什么,结果发现自己电脑没配光驱。。。在办公室问了一圈之后发现大家的笔记本因为超薄都没光驱,台式机也都压根没配,没有能读光盘的地方。突然想起现在是个 U盘网盘满天飞的年代,想光盘、软驱这类的东西都被取代了,没人知道这些东西在以前有多辉煌。。。

给进阶中的程序员朋友的40条真言

40条真言,希望对进阶中的程序朋友有所帮助。

讲 IntelliJ IDEA 的好,带更多人入坑

劝别人换 IDE 就像劝一个已婚已久的人士出轨,自己得不到任何好处,别人还可能怪你多管闲事,所以你们都别做,这种痛我来承受就行了。

linux下的彩蛋和各种有趣的命令

好玩的命令总结得差不多了,如果有要补充的欢迎联系我继续添加

当你们羡慕IT程序员月薪两三万时,请看深圳这些科技公司的夜晚

在深圳有这样一群人,住着十几平方的城中村农民房,二十七八岁没有女朋友,每天早出晚归,月薪两三万,当别人看到他们衣着整洁时却不知道他们8背后的艰辛,IT在在深圳是非常常见的职业,也有很多人羡慕这个职业,这个职业工资确实不低,但是幸苦却是不去体验不会知道的。

机器学习工程师必知的十大算法

机器学习算法可以分为三大类:监督学习、无监督学习和强化学习。监督学习可用于一个特定的数据集(训练集)具有某一属性(标签),但是其他数据没有标签或者需要预测标签的情况。无监督学习可用于给定的没有标签的数据集(数据不是预分配好的),目的就是要找出数据间的潜在关系。强化学习位于这两者之间,每次预测都有一定形式的反馈,但是没有精确的标签或者错误信息。

200 行代码实现一个简单的区块链

像流行的比特币和以太坊这样基于区块链的项目就是这样。“区块链”这个术语通常和像交易、智能合约、加密货币这样的概念紧紧联系在一起。这就令理解区块链变得不必要得复杂起来,特别是当你想理解源码的时候。下面我将通过 200 行 JS 实现的超级简单的区块链来帮助大家理解它,我给这段代码起名为 NaiveChain。

培训班出身的程序员为什么遭人嫌弃

有些人因为培训班的身份被拒还很委屈,认为企业对他们有歧视。在此,引用时下热门的句式:“你弱,你还有理了”。

程序员版《人民的名义》,谁才是真正的主角?

当程序员们看该剧的时候,通常会将剧中人物联想到自己的上司、领导;现在,让我们一起来看看,当剧中人物走上职场,他们分别担任什么岗位呢?

创业团队技术Leader应该尽量避免的9个错误

自己闲的时候总是思考一个问题,将来有一天我成为一家创业公司的技术负责人,哪些错误应该是避免犯的呢?人从一种状态到另一种状态的时候,先思考的不应该是如何快速去做,而是如何避免犯一些错误,这就是本文的出发点。

Firefox OS的故事

我想以自己的视角讲讲Firefox OS。从Boot to Gecko开源软件项目在2011年通过邮件列表中发布的一封邮件,以一个空的GitHub代码库闪亮登场,到后来以Firefox OS移动操作系统的形式商用发布,再到2016年将数百万行代码“转移”给社区,这个故事的跨度很大。

程序员的编程语言迁移路线:Go语言是最大赢家,Java 还在,Perl 灭亡了,Rust 做的相当不错。

我看了一篇博客,标题是《为什么我们要从 X 语言转到 Y 语言》,具体是哪种编程语言,我忘了。于是我开始想,是不是可以把这些文章归纳起来,生成一个关于从 X 语言转到 Y 语言的 N*N 的联列表(contingency table)?

AlphaGo之父:关于围棋,人类3000年来犯了一个错

在这里举个例子,这是第二局里的一个情况,第37步,这一步是我整个比赛中最喜欢的一步。在这里,黑棋代表阿尔法狗,他将棋子落在了图中三角标出的位置。为什么这步这么关键呢?为什么大家都被震惊到了。

一个机器学习在现实工作中应用的小例子:帮用户给物品自动归类

或许只是我感到有些许惊讶(我还记得当我意识到‘news’是‘new’的复数的时候),我认为这些都十分让人惊讶。它允许像你我这样的普通人(对发展影响的程度较小的人)在机器学习中进行挖掘,可能会促成那些用户很大的改进。

软件开发复杂性的体现:命名的艺术

写得好是指写出来的东西读起来容易,而不是指写作本身,这一过程会产生大量的共鸣。它是指,退后一步,从读者的角度来理解所写的东西。人们必须以人的思维来理解问题,然后用其它人能够理解的方式表达出来。在我看来,软件属于社会科学的一部分。我们要搞清楚代码写出来是给谁看的,不是给人看的吗?

技术是一把利剑,也是一把双刃剑

通常我们说程序员需要在某个技术方向上积累到一定的厚度,要能够运用技术有效地解决实际问题。可是当程序员在某一项技术上浸淫时间长了之后,却经常会出现另外的问题,那就是:看待问题时受限于自身的技术积累。

[译]我并不聪明,我只是坐在那儿的时间比你长(I’m not smart, I just sat there for longer than you)

“我并不伟大,我只是坐在这儿做这件事的时间长一些….你也可以做到这一点。”

机器学习最流行的语言是……?

应该掌握哪门编程语言,才能获得机器学习或数据科学的工作机会呢?这是一个银弹的问题。许多论坛都在辩论这个问题。我会在本文中提供自己的答案,并解释原因,但是我们要先来查看一些数据。毕竟,机器学习和数据科学的从业者应该记住这一点:没有调查就没有发言权。

Ubuntu 为什么要放弃 Unity?Linux 社区对此怎么看?

创始人 Mark Shuttleworth 日前公开宣布了 GNOME 的回归——明年发布的 Ubuntu 18.04 将搭载 GNOME 而非 Unity。消息一出,Linux 社区颇受震动。于是问题来了:Canonical 为什么要放弃 Unity?

Java 9 尝鲜之交互式编程环境

Java 9 中引入了交互式编程环境(REPL),这就是JShell,它允许可以执行 Java脚本代码,并且立即返回结果。因此,我们不需要创建什么一个解决方案或工程,就能很容易地编写代码并能很快的看到运行结果。我们不必等待整个项目 build 完去检查多行代码的执行结果。JShell,就像其他 REPL 一样,有利于探索式编程,我们很容易地进行交互式尝试和调试不同的算法和结构。

关于软件开发你真正需要知道的几个事情

我之所以写这篇文章是因为有一个朋友最近决定跻身软件工程行业。我的这位朋友聪明,精力充沛,品貌兼优,又善于学习:每个人都认为这样的人才必将有一番作为。但是,在踏出第一步时,他依然有很多东西需要学习。

程序员眼中的同行

很多人说在咱身边有一系列歧视链存在,行业之间因为薪资和工种相互歧视,地域之间因为标志性事件和历史相互歧视,比如说最近的美团的招聘歧视事件。不过歧视也并非全都是不愉快的,程序员之间也普遍存在一些有趣的歧视现象,今天就给大家分享一下!

项目经理如何避免被程序员殴打

好吧,虽然上图是P的,但至少可以说明一件事——产品经理们早被程序员在心中揍了百遍。
本指南采用案例演绎法,还原产品经理最容易被揍的Top 5 场景,并予以点评和建议,力保从业人员的人身安全。
产品经理,以下简称为(产品)狗。程序员,以下简称为(程序)猿。

Kotlin 编程三分钟入门

以上仅是对使用频率较高的语法总结,学会基本可以阅读Kotlin代码,遇到点问题Google速查一下,至于智能转换、类型推导之类的不用说使用后喜欢自然就会了。当然这只是kotlin的基本语法,方便Java快速熟悉kotlin,深入学习还请阅读相关资料。

Kotlin相对于Java的优势比较

Google I/O 2017 首日 Keynote 刚刚落幕,其中 Google 宣布 Android 系统将对 Kotlin 提供 first-class 的支持算是一个非常重磅的新闻。对于大众来说,Kotlin 编程语言可能是相对陌生的,它究竟有何过人之处呢?不如让我们听听开发者是怎么说的。

聊聊一个架构师的第一次架构经历

炸出的问题有:我们这个系统的边界是什么?我们系统有哪几部分组成?各模块之间怎么通讯?选择什么样的基础技术?为什么要这样选择?技术方案未来会遭遇那些坑?从技术角度这个应用将来如何持续扩展功能?等等一系列的问题追随而来的确像是核弹引爆后的地狱一般让人感觉一切多完蛋了。

程序猿经典段子集:不要吸大麻不要赌博

大学本科毕业了,去跟房东退房清押金,房东老太太说年轻人本科毕业后千万不要写代码不要读博,真是真理啊!后来才弄明白原来老太太说的是:不要吸大麻不要赌博。

Java 9 中的 9 个新特性

Java 8 发布三年多之后,即将快到2017年7月下一个版本发布的日期了。 你可能已经听说过 Java 9 的模块系统,但是这个新版本还有许多其它的更新。 这里有九个令人兴奋的新功能将与 Java 9 一起发布。

王垠:自动编程是不可能的 我为什么不在乎人工智能

 有人甚至把名字都给我想好了,叫“深度程序员”(DeepCoder = Deep Learning + Coder)。口号是:“有了 DeepCoder,不用 Top Coder!” 还有人给我指出了这方向最新的,吹得神乎其神的研究,比如微软的 Robust Fill……  我谢谢这些人的关心,然而其实我并不在乎,也不看好人工智能。现在我简单的讲一下我的看法。

LinkedIn面试实录:一场感觉身体被掏空的前端面试

我的运气比较好,遇到的这位前端工程师是密大的校友。在美国,校友资源是社会人际关系里的一条重要纽带。校友见校友,两眼泪汪汪。可能是和这位校友聊的很投缘,当然题目也基本都做对了,两天之后我便收到了onsite的通知,邀请我在今年的二月去LinkedIn在加州硅谷的总部面试。终于,我也可以体验一次「美帝面试三宝」了。

一个十二年老程序猿的碎碎念

我们的身边充斥着写java的看不上写.net的,写c的看不上一切,node异军突起,python批评ruby垃圾性能,高富帅swift从天而降,PHP是最强语言等等。。。十二年前,我刚工作的时候,写医疗软件,用VB写界面,用VC写功能封装dll,当时觉得VB,VC太强了,结果现在它们基本都死了。

王垠回国了,也许他会更加失望

最近看到王垠说要回国了,不知道他日后打算做什么。但是作为一个在国内混了快4年的互联网搬砖工,我深知,王垠所吐槽的IT界的一些现象,在国内也是存在的,而且更加严重。

当你们羡慕IT程序员月薪两三万时,请看深圳这些科技公司的夜晚

在深圳有这样一群人,住着十几平方的城中村农民房,二十七八岁没有女朋友,每天早出晚归,月薪两三万,当别人看到他们衣着整洁时却不知道他们8背后的艰辛,IT在在深圳是非常常见的职业,也有很多人羡慕这个职业,这个职业工资确实不低,但是幸苦却是不去体验不会知道的。

200 行代码实现一个简单的区块链

像流行的比特币和以太坊这样基于区块链的项目就是这样。“区块链”这个术语通常和像交易、智能合约、加密货币这样的概念紧紧联系在一起。这就令理解区块链变得不必要得复杂起来,特别是当你想理解源码的时候。下面我将通过 200 行 JS 实现的超级简单的区块链来帮助大家理解它,我给这段代码起名为 NaiveChain。

AlphaGo之父:关于围棋,人类3000年来犯了一个错

在这里举个例子,这是第二局里的一个情况,第37步,这一步是我整个比赛中最喜欢的一步。在这里,黑棋代表阿尔法狗,他将棋子落在了图中三角标出的位置。为什么这步这么关键呢?为什么大家都被震惊到了。

攻下隔壁女生路由器后,黑客对这个女生都做了些什么

上面这些方法都搜索的到,防御ARP劫持嗅探很简单,电脑上装个杀软基本就差不多,被攻击劫持时候会弹出警告,但是人们却丝毫不当回事儿,出现弹框就把杀软给关掉了,继续上网冲浪。

酷壳陈皓:如何重构“箭头型”代码

本文主要起因是,一次在微博上和朋友关于嵌套好几层的if-else语句的代码重构的讨论(微博原文),在微博上大家有各式各样的问题和想法。按道理来说这些都是编程的基本功,似乎不太值得写一篇文章,不过我觉得很多东西可以从一个简单的东西出发,到达本质,

为什么要学习 R 语言

1992年,肉丝(Ross Ihaka)和萝卜特(Robert Gentleman)两个人在S语言(贝尔实验室开发的一种统计用编程语言)的基础上开始构思一种新的用于统计学分析的开源语言,直到1995年第一个版本正式发布(和各位年龄相仿)。因为他们名字的第一个字母都是R,所以这门语言就被叫做R。

最优秀的 8 款开源思维导图工具

思维导图,除了帮助概括提炼、归纳总结、理清楚思维逻辑之外,还是一种非常有效的学习方式,能激发联想力,再衍生出更多的想法。本文精选了 8 款优秀的开源思维导图工具,希望能让大家有所收获。请记住,思维导图只是工具,思考才是使用它的最终目的。

作为一名程序员,你有必要了解这些黑客工具!

我们曾对黑客的世界充满着无限的幻想和畏惧,但随着技术的崛起和安全领域的进步,黑客技术已经变得越来越普遍。事实上,很多黑客工具被用于网络安全的工具可以用来进行渗透测试和安全测试,所以作为一名程序员,很有必要了解甚至尝试一下这些开源的黑客工具。但是请不要将它们用在非法用途。

如何把文件压缩变成一张图片?

执行输出之后,得到这个文件,表面上跟普通的图片没啥区别。

程序员在2017年要面对的7种改变

  2017 年对开发者而言将是有趣的一年,因为这个行业将会发生一些重大的变化。从创建较新的应用程序到添加功能到现有的应用程序,以扩展应用程序跨越其当前的限制,编程将在 2017 年见证复兴。

Windows10内置Linux子系统初体验

前段时间,机子上的win10又偷偷摸摸升级到了一周年正式版,比较无奈。不过之前听闻这个版本已经支持内置的linux子系统,于是就怀着好奇心试玩了一把。虽然期间遇到了很多问题,但总体来说这个子系统体验还不错,在这里就分享一些关键步骤和遇到的问题,剩下的大家自己折腾吧。。

Oracle迁移到MySQL性能下降的注意点

在我的记忆里面最初从Oracle迁移到MySQL期间也遇到了很多SQL的性能问题,记忆最为深刻的子查询,当初的版本是MySQL5.1,这个版本对子查询的优化较差,导致了很多从Oracle迁移到MySQL的系统出现过性能问题,所以后面的开发规范中规定前台交易系统不要有复杂的表join。

Linux里10个最危险的命令

今天给大家带来的是个命令请千万记住不要再服务器或者其他设备上随意尝试~如果你想测试它们,请在虚拟机上运行,不然文件丢失或者系统奔溃就不好了。

中国新闻周刊采访华为内部员工揭秘34岁以上老员工被清退事件

“我觉得34岁从华为离职也没那么可怕。华为薪水那么高,工作十来年积累几百万不会有问题,不会像国企一样下岗没着落,主要还是再择业的问题。但是在华为的管理体制下,大部分人即使技术上有所欠缺,但综合素养上还是能被认可的,不会像网上说的那么惨,只是拿不到在华为时那么多钱了。”

WebAssembly能否代替JavaScript,成为程序员的新宠?

除了Firefox,Google也在其Chrome浏览器和Chromium项目中拥抱了WebAssembly,所以作为一个程序员,你应该对WebAssembly引起足够的重视,未来快速加载Web应用程序的需求肯定会增加。

如何写出整洁的函数

我们大部分的代码就是函数,整洁的函数优雅、高效,让人赏心悦目!它能够很容易的被修改、应该讲述事实,不引人猜测。为了写出整洁的函数,码农们一直在努力着、探索着、实践着,在这篇文章中,笔者结合自己多年的工作经验和其他大牛的一些文章,总结出了一些原则、模式,供大家参考与实践!

四五十岁之后,还在编程的程序员都有谁?个个大师级

软件开发对于过了40岁的人来说,是不是就意味着终结?本文罗列了10位年龄超过40岁的老程序员们的故事,他们都是顶级的软件开发者,拒绝从事管理岗位,仍然活跃在开发一线,将编程作为生活收入的主要来源。

有人向我反馈了一个bug

有人向你反馈了一个bug。 “26楼会议室的灯亮着。它需要被熄灭。”bug的备注里写道“你应该能在5分钟内搞定,只要按一下开关就好了。“ 你去了26楼的会议室。灯的确亮着,但房间里没有灯的开关。

成人网站PornHub爬虫分享(一天可爬取500万以上的视频)

10个线程同时请求,可达到如上速度。若个人网络环境更好,可启动更多线程来请求,具体配置方法见 [启动前配置]

做程序猿的老婆应该注意的一些事情

经过初步了解,配电脑、修电脑、装系统等都可以找程序猿来干。而且程序猿不会油嘴滑舌的。很多妹子也都这么想的,于是大学四年,程序猿钻了不少次各种妹子宿舍,一去就一下午,他说装系统太慢,我暂且就信了吧。

千万别做程序员?

知乎中看到一条收获2000+赞的言论,他是这样说滴:作为一个已经逼近35的CnotS工作者,强烈建议,年轻人,如果有选择的话,不要进入CS。

笑话 幽默

要嫁就嫁程序猿——钱多话少死的早

我是一个苦b的程序员,今晚加班到快通宵了,困得快睁不开眼了,女上司很关心,问我要不要吃宵夜。我没好气地说,宵夜就算了,能让我睡一觉就行了。女上司红着脸说了句讨厌

培训班出身的程序员为什么遭人嫌弃

有些人因为培训班的身份被拒还很委屈,认为企业对他们有歧视。在此,引用时下热门的句式:“你弱,你还有理了”。

为什么有些大公司技术弱爆了?

今年年初,到一家互联网公司实习,该公司是国内行业龙头。
不过技术和管理方面,却弱爆了。

程序员的编程语言迁移路线:Go语言是最大赢家,Java 还在,Perl 灭亡了,Rust 做的相当不错。

我看了一篇博客,标题是《为什么我们要从 X 语言转到 Y 语言》,具体是哪种编程语言,我忘了。于是我开始想,是不是可以把这些文章归纳起来,生成一个关于从 X 语言转到 Y 语言的 N*N 的联列表(contingency table)?

武器

如果编程语言是种武器

对程序员来说,编程语言就是武器,但有的武器好用,有的武器不好用,有的武器甚至会杀了自己

全面总结阿里巴巴Java开发手册

我想阿里巴巴发布的Java开发手册之所以叫做”开发手册”,而不是像Google那样叫做“Style Guide(样式风格)”,是因为它不仅仅局限于style guide这一方面,而是以Java开发者为中心视角,划分为编程规约、异常日志规约、MYSQL规约、工程规约、安全规约五大块,再根据内容特征,细分成若干二级子目录。

周鸿祎:很多程序员一看就知道不会创业

关于程序员创业,我之所以愿意谈我的观点,是因为我是程序员出身,也是从小公司做起来的,我自认为对待很多程序员个人包括共享软件作者和一些小网站还是很好的。我希望分享一些经验和体会。

一个程序员的爱情故事

突然有一天,公司来了一名女程序员。在他看来她一点没有程序员的样貌,长发飘飘,一副大边框的眼镜里藏着一双美丽的大眼睛,连走路时身边带过来的风都夹着淡淡的清香。

能让程序员心花怒放的七种礼物

以开发软件为职业的程序员是偏理性的人群的代表,不是一般的难伺候。你可以说他们木纳、死脑筋、不懂人情世故。很难打动他们。

中美程序员差距到底在哪里?

4、遇到问题。

中国程序员:打开VPN,Google一下,翻译。

美国程序员:Google一下。

十大编程算法助程序员走上高手之路

编程算法,是完成程序逻辑的主要途径。本文推荐十大编程算法,有利于程序员的编程逻辑。

程序员的成长和代码行数的关系

我的朋友Clift Norris发现了一个基本常数,我称之为Norris常数,一个未经培训的程序员在他或她遇到瓶颈之前能写出的平均代码量。Clift估计这个值是1500行。超过这个数以后,代码会变得如此混乱,以至于本人都无法轻而易举的进行调试和修改。

示例带你提前了解 Java 9 中的新特性

Java 作为 Android 的基础编程语言,每一次迭代也是备受安卓开发人员的关注。这不,Oracle 公司在今年即将发布 Java 9 正式版,一些新的特性和改进很是值得期待。周末时间,拜读了国外的一个 Java 大牛写的有关 Java SE 9 的新功能介绍,简明扼要,示例得当。于是,一时兴起,以拙劣的英语水平磕磕绊绊翻译至此,供大家了解一番。

聊聊HTTPS和SSL/TLS协议

要说清楚 HTTPS 协议的实现原理,至少需要如下几个背景知识。1. 大致了解几个基本术语(HTTPS、SSL、TLS)的含义2. 大致了解 HTTP 和 TCP 的关系(尤其是“短连接”VS“长连接”)3. 大致了解加密算法的概念(尤其是“对称加密与非对称加密”的区别)4. 大致了解 CA 证书的用途

漫画趣解 Linux 内核构造

今天,我来为大家解读一幅来自 TurnOff.us 的漫画 “InSide The Linux Kernel[1]” 。作者Daniel Stori 画了一些非常有趣的关于编程语言、Web、云计算、Linux 相关的漫画。今天解读的便是其中的一篇。