为什么我从来不无偿加班?你也不应该!

外媒眼中的中国“加班狗”是什么物种?

在外国人眼里,中国的“加班狗”们是过的什么样的生活?BBC发表了一篇特写文章,把目光投向了中国初创公司里那些天天熬夜加班的年轻人。

WK3ErEN

为什么中国IT公司的CTO都不写代码?

医疗社区丁香园的CTO冯大辉离职了,炸出了科技行业里的一个大问题:CTO到底应不应该写代码?

linux_chick_by_bl4ckb0x

外媒评Linux史上25大里程碑事件

。Linux至今已经诞生了25年,无论是从技术还是生态系统角度来看,如今的Linux已经与最初的Linux有很大不同。美国科技媒体ZDNet近日按照年份评选出Linux历史上25大里程碑事件,凸显了其亮点与不足。

前方路

七年编程,几个故事

几年以后你离开,项目的成就属于公司,绩效已是过往云烟,你获得了收入,公司得到了效益。一身行囊离开的时候,除了一些积蓄,就是你的经历,你的态 度,你的身体,还有,你的技术。

一个跨界程序员:不务正业的这几年,我如何让自己的收入翻了十倍 - 1

一个跨界程序员:不务正业的这几年,我如何让自己的收入翻了十倍

我在纵线上花费了 10 年的时间,从 2 万到 20 万。但并不代表你也需要 10 年。这和打游戏是一样的,没有地图,漫无目的的瞎走,会浪费很多时间。

口袋妖怪

一个程序员单枪匹马如何开发出口袋妖怪(Pokemon Go)这样的游戏?

一个独立的游戏开发者能够创造出来口袋妖怪 (Pokémon Go)吗?如果是的话,要怎么才能办到?让我们一起来探讨所有的可能性。

Sandro_Botticelli_075

一个程序员的“十日谈”

从我的故事说起,这些故事我故意打乱了时间顺序,请看到此文的人并且知道这些事的,不要往自己身上映射,纯技术讨论,无关褒贬!

074109_rPsy_1774694

“你不适合做程序员”

我不知道还有什么比这条特质更能体现对程序员的要求了。有的人理性思维不强大,但是感情细胞异常丰富,也许你能成为艺术家、诗人,但是程序员,一个缺乏逻辑的程序员,你能期望他干什么?

已经 25 岁的 Linux,但你知道它的开源却是为了自私目的么?

已经 25 岁的 Linux,但你知道它的开源却是为了自私目的么?

在一次和 BBC 的采访中林纳斯谈及,他所认为的开源真正的特色是让人人能“自私”。

从灌篮高手谈项目团队组成 - 5

不同团队的困惑

这支30人的大团队由老员工和新员工混合组成,年龄结构复合,有男有女,有从二十几岁到四十几岁的程序员,做的视频编解码项目。整个项目组的成员都是视频 编解码领域的能手或专家,最多的有10年的相关经验,也有几项专利,小S觉得这样的人应该很耐得住寂寞,有很深的造诣。

Safari-007

苹果的Safari已成为新的IE

现在 Safari 的状态和当时的 IE 非常相似,几乎也成了 HTML5 标准的公敌。

linux

一天 4600 行代码 —— Linux Kernel 发展现状

Linux Kernel的开发比以往任何时候都要繁荣,每小时有7.8个补丁,每天有4600行代码。

宕机

OSChina 早上 8 点钟容易宕机的原因

最近一段时间,OSChina 网站在早上 8 点出头的时候很容易因为数据库连接池爆满而导致网站宕机。

如何利用社区让自己成为优秀的编程人员

如何利用社区让自己成为优秀的编程人员

在这段时间里,我做了下面这些事: 开发了10个项目 设计了6个CodePen钢笔 建立了4个GitHub repo(还有6个gist !) 获得了454个奖励积分 在Medimu上发表了3篇文章 录制了一个有关学习编程的vlog 花了数周的时间来学习算法脚本单元 参与了2016 New Coder调查 在我居住的地方建立了一个Free Code Camp学习小组 组织了一个咖啡——编程活动 喝了148杯咖啡

如何伪装成一个年薪20万刀以上的码农? - 15

一个不写代码不称职被扒皮的水货CTO的自白书

知乎上突然出现了某码农发的匿名信息。颠倒黑白,极尽贬低挖苦。这位「码农」写作手法一流,陈述的信息让不少即使是一起工作过的同事也真假莫辨。

谷歌 google 办公室

Google云服务故障原因公开,只因为同时做了两项升级

昨天 Google 在其云服务官方日志中公开了故障原因,原来只因为工程师们在例行维护时同时做了两件事。

074109_rPsy_1774694

谷歌用 AI 模拟人脑压缩图片,效果超 JPEG

谷歌正在研发一项新技术,利用神经网络模拟人脑的工作方式去压缩图片。这项技术能在确保图片质量的同时,大大降低图片文件的体积。

谷歌 google 办公室

独家探访谷歌北京新办公室

Google中国于8月1日完成乔迁,新址是位于北京北四环边上的融科资讯中心。这里距离他们的十年旧址只有几分钟路程。

终于开始正式推送 MIUI 8稳定版体验

终于开始正式推送 MIUI 8稳定版体验

MIUI作为小米推出的首款产品,于2010年正式发布,经历了6年的发展,在设计、功能和性能上逐步完善,成长为国内定制系统的翘楚。而根据官方数据,MIUI的用户遍布全球156个国家和地区,已经有超过2亿的激活用户,影响力可见一斑。

耐嚼的牛轧糖:安卓7.0完全上手体验! - 4

安卓7.0正式版“牛轧糖”完全上手体验!

Google昨日起正式开始推送安卓7.0牛轧糖系统,不过只有最新的Google Nexus设备才能收到此推送,也就是Nexus 6、6P、5X、Pixel C以及Nexus 9平板等设备,其他大伙们的手机估计要等一段时间才能获得来自厂商的OTA更新了。

装逼

几种华丽无比的开发方式

不要被我的标题骗了。我可不是来宣扬什么模型驱动开发,或者什么测试驱动开发的,那些都弱爆了。今天我要说的,是几种看起来激动人心、华丽无比,但 是可以让程序员们痛苦不堪的开发方式

Linus Torvalds was the designer of the open-source operating system Linux.

Linux,25 岁生日快乐!

Linux 将在 8 月 25 日迎来 25 岁生日,林纳斯·托瓦兹(Linus Torvalds)在 25 年前的这一天为自己的新操作系统发出了那则 决定性的求助信息 :“我正在做一个 386(486)AT 兼容机的(免费)操作系统(仅仅是出于个人的爱好,不会像 GNU 那样做大做专业)。

界面简化:Apple、Facebook和 Airbnb都在遵循的设计风格

界面简化:Apple、Facebook和 Airbnb都在遵循的设计风格

现在不论你是否支持这种单色调的设计风格,都要承认它是一种进步。

《加班狗是怎样炼成的?》连看三遍有木有! - 7

程序员在加班时间写出的代码质量无法保证

作为一个最底层的程序员,我先记录一些只有底层程序员才会知道的事情。如果多年后,我违背自己进入这个行业的初心,走上管理岗位,也能回想起一些禁忌,避免一些错误。

各种主流 SQLServer 迁移到 MySQL 工具对比 - 1

各种主流 SQLServer 迁移到 MySQL 工具对比

我之所以会写这篇对比文章,是因为公司新产品研发真实经历过这个痛苦过程(传统基于SQL Server开发的C/S产品转为MySQL云产品)。

每个程序员和设计师必做的 10 项运动 - 13

专门针对程序员设计的健身操

程序员和设计师大部分时间都坐在电脑前。有效的锻炼有助于他们更好地工作。

javascript

学习javascript的12张图

现在开始来学习 javascript ,首先来看一下我们该学习 javascript 的一些什么内容。12张图带你走近 javascript 的世界。

界面难看但好用:关于软件“可用性设计”的思考 - 4

界面难看但好用:关于软件“可用性设计”的思考

例如Wikipedia, Reddit, Hacker News, Craigslist。现在已经是2016年了,但是你依然可以找到很多设计难看,但是却非常受人欢迎的网站——好像他们自上世纪90年代以来就一直没有改变过。

步入社会 读书 学习 阅读 知识 经验

“残酷”的事实

首先,一言以蔽之,用两个字来概括,就是“残酷”,但是,好在是加引号的。有的不但残酷,还很无奈;有的则是在残酷的同时,还很有趣。搞工程和学校 里的象牙塔大不相同,这也许老早就知道,但是绝对不是七八年前我想象的模样。

前方路

七年工作,几个故事

从毕业工作到现在,已经有七个年头,年头虽然不久,但是回过头来看看那些经历的好的坏的有趣的扯淡的事情,还是有很多东西可以总结。

2015年编程语言“钱途”盘点 - 6

从公司里的去Oracle数据库的事情说起

公司搞淘汰Oracle数据库的事情已经搞了好久了,这个事情其实和国内淘宝系搞的去 IOE(IBM、Oracle和EMC)是类似的,基本上也是迫不得已,Oracle的维护成本太高,而公司内部基于Oracle数据库的数据仓库,也是 问题频出

7cc829d3gw1f6xwb2pixqj20g40ai3z6

程序员的进步从每一天少写一点代码开始

在某些方面,coding 跟写作有些类似,并不是多就是好,正如马克吐温说的: 我没有时间写一封简短的信,所以我写了一封长的。

tidCszDiNxa75fkpk4QE

为什么说编程是有史以来最好的工作

在过去的16年中,我一直都是一名开发者。不久前,公司的一位实习生问我,做一名开发者,最酷的事情有哪些。以下就是我给出的回答:

7cc829d3gw1f6xwb2pixqj20g40ai3z6

一次心惊肉跳的服务器误删文件的恢复过程

经历了两天不懈努力,终于恢复了一次误操作删除的生产服务器数据。对本次事故过程和解决办法记录在此,警醒自己,也提示别人莫犯此错。也希望遇到问题的朋友能找到一丝灵感解决问题。

传说中的贝叶斯统计到底有什么来头? - 19

传说中的贝叶斯统计到底有什么来头?

贝叶斯统计在机器学习中占有一个什么样的地位,它的原理以及实现过程又是如何的?本文对相关概念以及原理进行了介绍。

谷歌的新操作系统Fuchsia究竟会是什么样子的? - 3

谷歌的新操作系统Fuchsia究竟会是什么样子的?

Fuchsia 的特点:嵌入式、低延迟、高性能、一致性,正是为了这些产品领域而设计。

谷歌真有必要开发融合操作系统Fuchsia吗?google nexus2cee_fuchsia-01-728x400

为什么谷歌会从零开始构建一个全新的操作系统?

Unix 最开始也是一个志愿性项目,并没有贝尔实验室的正式立项,而林纳斯·托瓦兹最初开发 Linux 的时候也只是把它当作业余爱好。也许几十年后,当我们谈到 Fuchsia 的时候,也会说到它在谷歌的诞生有多么不可思议。

乔布斯 技术领袖

乔布斯遗作iBoat曝光 西媒:恐怕永远无法实现

这项发明专利申请是2013年3月提出 的,当时的申请专利名称是“无线移动远程监控设备”。换言之,乔布斯发明了一种用于船舶的iPad。

bug debug 调试程序

我们在各种开源项目中发现的 10000 个 bug

当然,262个项目中找到10000个bug其实并不多,平均每个项目只有38个。但是值得注意的是,这些项目的质量差别也很大,有的项目只发现一个bug,而另外一些则包含上百个bug。

Nn-zru6ztSbsO-o2nlEk

搞懂了这几点,你就学会了Web编程

做了那么多年Web编程,仔细想想, 其实本质上就那点事儿, 你抓住了几个重点问题, 学起来一点都不难。

node.js nodejs

为什么要用 Node.js

对于高并发的长连接,事件驱动模型比线程轻量得多,多个 Node.js 进程配合负载均衡可以方便的进行拓展。因此 Node.js 非常适合为 I/O 密集型应用提供服务。但这种方式的缺陷就是不擅长处理 CPU 密集型任务。

谷歌真有必要开发融合操作系统Fuchsia吗?google nexus2cee_fuchsia-01-728x400

从技术角度看谷歌的新操作系统Fuchsia

Google 开发的操作系统都有个共同点,全都基于 Linux Kernel:Chrome OS, Android 和 Chromecasts。但是 Linux Kernel 并不是在所有的场景中都能起到很好的作用(影响性能或者造成其他影响),特别是嵌入式设备,类似汽车仪表盘和 GPS 单元。

自学编程

酷壳陈皓:这多年来我一直在专研的技术

因为我是看到tinyfool 《那些年我赶过的时髦技术趋势》, 在赞叹的时候,也让我对我有好些回忆,所以想写一篇回忆贴,本来觉得回忆是件挺让人沮喪的事,因为是老了的表现,但我写着写着,就歪楼了,看来,我还不 老

5375ccc8gw1f6xrp2mt6yj21kw16oe81

那些年我赶过的时髦技术趋势

上次有人说,听说tinyfool看到AlphaGo火了,马上去赶时髦学机器学习,把我弄的哭笑不得。我给大家介绍下,我从业10多年是怎么赶时髦的吧。

de3d20f8c5ab486b99d4b1a6dedfd445636069368422535901

用大数据科学的告诉你王宝强离婚事件到底有多热!

8月14日凌晨的微博被王宝强离婚的事件给爆了,那天晚上整个娱乐圈记者和广大夜猫子网友肯定都没睡好觉。这件事经过持续发酵9个小时后,大数据给出了一份结果,可以证明王宝强离婚事件到底有多热

learn-git-in-30-minutes

如何构建你自己的 Git 服务器

现在我们开始学习如何构建一个Git服务器,如何编写自定义的Git钩子(hook)来针对某些事件(比如,通知事件)触发特定的动作以及如何将你的代码发布到网站上。

怎样才算是高级程序员? - 1

怎样才算是高级程序员?

“我真的开始对我在这里做的事情感觉不自信了。如果我们都不知道高级程序员到底是个什么样子,那我又该怎么朝这个目标努力?”

fGF5DKpzF5gSKtZKSO-r

激怒了码农,查你源代码!” ,免费给王宝强马蓉官司取证

“激怒了码农,查你源代码!”这句话总结的太到位了。作为技术人员,应该人人都有这种打破砂锅问到底的精神,而不能不过大脑的接受人云亦云。

7cc829d3gw1f6wm6uvrgoj20dw09t0t2

比尔·盖茨和乔布斯的编程水平如何?

关于盖茨和乔布斯他俩的技术水平如何,类似的问题以前也在网上看到过。最近发现 2013 年已有人在 Quora 上发帖讨论。本文摘译了 6 位国外网友的回复,全文如下。

对中文分词的一些探讨和研究 - 6

对中文分词的一些探讨和研究

中文分词是中文自然语言处理的一个非常重要的组成部分,在学界和工业界都有比较长时间的研究历史,也有一些比较成熟的解决方案。今天和大家一起来回顾一下中文分词的发展,着重谈一谈现在比较流行的一些基于机器学习的分词方法。

看IT大佬们是如何被老婆鞭挞出来的 - 8

看IT大佬们是如何被老婆鞭挞出来的

成功的男人是要靠女人鞭挞出来的!

RU1471319605303

黑客攻防:从入门到入狱

人们印象中躬身趴在电脑前写代码的程序员其实从事的是一项高危职业,他们除了面临脱发、职业病、过劳死和孤独一生的风险,还得小心自己是否半条腿已经跨进了大牢。

程序员 辛苦 加班 熬夜 鼓励师 美女程序员

程序员疯狂加班,为啥我们就停不下来了呢?

程序猿问科比:“科比,你为何如此成功?”科比反问:“你知道洛杉矶每天凌晨4点的样子吗?”程序猿:“知道,那个时候我一般还没下班。你问这个干嘛?”科比:“不干嘛,草!”谈话结束了!

金庸武功 神功 秘诀 秘籍

软件开发防坑术

“谁也无法改变现状,唯有无数程序员血洒大地,才能使项目重建天日。”这一点也不夸张,软件项目做烂了就是个坑,参与者也不过是填坑的。就像是在魔兽世界战场遇到国家队一样,你赢也赢不了,出也出不去。

C++ c++

C++程序员快要被市场淘汰了吗?

编程语言在某种程度上很像朝代,随着时间流逝而一代代更迭,有些编程语言正面临着淘汰,消亡在历史的洪流中。

7cc829d3gw1f6u9gw8ecwj20ci095js9

为什么说你对项目工期的预估都是错的

你有没有试过复原魔方,但始终搞不定?在一次乘坐长途客车的途中,我试了几次,但无一成功,着实深受打击。后来我听说有些孩子可以在很短时间内搞定!这怎么可能!

代码审查

什么才是Code Review的正确姿势?

硅谷稍具规模的公司 code review 的流程都是比较规范的。模式也差不多。一来所有的 PR 都必须有至少一个人 stamp,才能 merge。如果改的东西涉及到多个项目,则需要每个项目都有人 stamp 才行。还有一些特别关键的代码,

4ac3579a27213746d5940e31a70e355f.jpg

程序员别迷茫,通往牛逼的道路有很多

不要完全怀疑自己当初的选择,因为IT这条路很宽,一条路走不通,试试其它的,通往牛逼的道路有很多!

linux

为什么Linux里“一切都是文件”

在 Unix 和它衍生的比如 Linux 系统中,一切都可以看做文件。虽然它仅仅只是一个泛泛的概念,但这是事实。如果有不是文件的,那它一定是正运行的进程。

不拼颜值的编程世界你靠什么上位? - 5

函数式编程中的一些专业术语的详细介绍

至于为什么要使用 JavaScript 演示函数式编程,一方面是因为 JavaScript 的特性在很多方面与函数式编程浑然天成,另一方面是因为 JavaScript 是世界上最 XX 的语言……

谷歌真有必要开发融合操作系统Fuchsia吗?google nexus2cee_fuchsia-01-728x400

谷歌真有必要开发融合操作系统Fuchsia吗?

业内一直盛传的谷歌打算在2017年统一Android(主要应用于手机的移动操作系统)和Chrome OS(主要应用于PC的操作系统),所以多数分析认为Fuchsia的目的就是打通PC和手机,甚至是未来IoT的谷歌的融合操作系统。

6b48e37de8b71d0c097a4994d803767b

写代码的四个境界

在设计和实现的过程中,所有的编程模式要熟悉,却不可能硬搬任何一种模式。只有真正吃透了需求和所有的编程技巧,才有可能做出干净而实用的方案。

8oQ_PqsIUG8ukw3rPg3r.png

聊一聊程序员的生活问题

你 的家人和朋友不会理解你。当你在桌子前座了几个小时,敲了上千行代码,最终解决了问题获得了满足感之后,你的家人和朋友却不能和你感同身受。作为开发者, 寻找工作和生活之间的平衡是一件非常困难的事情。良好的人际关系是一个人获得幸福感的重要指标之一,因此你必须要懂得如何维持健康的人际关系。

f_10736258_1.png

”全栈”工程师和“T”型程序员

那我为什么又想聊 T 型人才呢?是因为我觉得 T 型人才和全栈不一样。在我看来,T 型人才有一门自己擅长和精通的语言,同时又有足够宽的视野,使得他在合作的时候,能够更多地站在对方的立场上考虑问题。

a90f9522b49447ea4d434d2422999e0c

女程序员自述职场生活:彻骨的孤独

美国《赫芬顿邮报》(The Huffington Post)网站刚刚登载了一名女程序员的文章。该文章讲述了她作为女程序员在职场生活中所感受到的孤独,并分析了这种孤独感产生的五大原因。下面是这篇文章的全部内容:

这 14 只猫,谁更爱用 Linux ! - 8

Linux用户是如何炼成的

一些新的 GNU/Linux 用户很清楚 Linux 不是 Windows,但其他人对此则不甚了解,而最好的发行版设计者们则会谨记着这两种人的存在。

cd9dcdb0001d0612a5ebfcc77503353e

不思量自难忘:我的 10 年程序生涯

做为一个非计算机专业出身的程序员,庆幸这么多年做的系统都不是非常关键的系统,犯了一些错误及时弥补,最严重的也就是被领导骂就过去了。(回想起来前年高考芜湖一个考场英语听力故障事件,如果那个系统是我做的,那么严重和无法挽回的后果,我估计想死的心都会有了)

7cc829d3gw1f6tj3imsxmj20m80bo0x0

为什么说你也应该直播编程

这对你有用吗?不知道?那么只有一种方法可以知道(注:就是去直播)…

scrum-story-board 敏捷开发

为什么敏捷开发不招人喜欢?

你有没有遇到过这些言论——大多是抱怨,当涉及到应用敏捷的时候?

程序bug导致了天大的损失,要枪毙程序猿吗? - 9

由软件Bug引发的18次重大事故

无论工程师做了多少枯燥的测试工作,无论他们熬了多少不眠之夜在编程,但最终他们得到的是:会导致软件彻底出问题的 bug。你知道吗,由于软件故障(bug),美国经济每年在浪费生产力、返工和实际毁坏上损失了数十亿美元。

关于系统性能优化的十个建议 - 1

关于系统性能优化的十个建议

Martin Thompson是LMAX的联合创始人,在QCon圣保罗2016上做过关于性能的keynote演讲,演讲中他列出了他在生产环境中见到的十大性能错误,并且还包含了如何避免的建议。

7cc829d3gw1f65ugcjt3lj20ci08a0to

换一个灯泡,要多少个程序员?(IT 技术版)

换一个灯泡,要多少个______?也行你之前听过类似的笑话,但类似笑话的 IT 技术版,你八成没看到过这么全的。不信你往下看。

eading

新浪微博的励志故事

虽然微博已经走出它的低谷,也书写了一个极其励志的故事:被全面看衰之下依然翻盘,但我并没有这个意思说,微博将回到它最鼎盛时期以至于腾讯都有一丝QQ即将受到威胁的状态。事实上,微博对微信的威胁并不大。

155310_iPgI_1774694

前10大编程语言你会几种?

如果你是一名具有前瞻性的开发者或者想成为一名具有前瞻能力的开发者,那么,是时候开始学习编程了,至少在最好的编程语言中选择一个,类似 Python, Swift, JavaScript, C#, C, Ruby, PHP, Haskell, Java, C++ 或者 Rust。

emacs

十大必知的 Emacs 小技巧

下面是我经常使用的Emacs功能以及一些小技巧。

搜狗 CEO 王小川:程序员不要沉溺于技术

搜狗 CEO 王小川:程序员不要沉溺于技术

借此我想告诉大家的便是:不要沉溺在技术的美感里,而是要让技术使得生活变得更加自然。那些划时代的产品,像鼠标、iPhone、iPad,都是做到了这一步。你现在用得习惯了自然没感觉,但假设再退回到只有键盘输入指令、用五维方向键操控手机的时代,你就会发现上述的产品是多么的自然贴切。

自学编程

这样的代码才是好代码

好的代码,就像是好的笑话——无需解释就能让别人明白。如果你的代码能够做到不解自明,在大多数时候,你根本无需为其配备说明文档。

nokia

我曾是诺基亚员工,关于这家公司,我想告诉你

2009 年,N900 的发布曾给 Nokia 带来短暂的希望,虽然这个希望很快就随着 MeeGo 破裂了。Nokia 衰败前的最后时刻是什么样的呢?这篇文章以作者亲身经历反映出大厦将倾之前的芬兰科研界和工业界的状态。

MachineLearning01.png

研究机器学习(Machine Learning)的程序员必知的10大算法

我六月初的时候参加了Udacity的介绍机器学习(Intro to Machine Learning )的在线课程,并在前几天刚刚完成。在这篇文章中,我想分享一些我从课程中学习到的最常见的机器学习算法。

Mark Zuckerberg , Facebook

Facebook 是怎样提高CSS代码质量的

我们会通过Code Review,代码样式规范以及重构这三个方面着手工作来确保不同水平的CSS代码的质量。但是在我们提交代码之前,还是会有很多无意识的错误被我们忽略。

神秘的程序员 漫画

《神秘的程序员们》53: 千万不要在程序员群问代码……

本篇漫画改编自 python 小白菇 MM 的真实故事。原作的画面感超级强,我几乎不需要做什么修改就可能移植成漫画。可见原作是非常可爱、描述能力很强的一个小 MM。

“维基解密成员”讲述如何攻破民主党的邮箱 - 1

“维基解密成员”讲述如何攻破民主党的邮箱

姓名不重要,我是维基解密成员。我们今天聊一聊信息安全。

疑问 问题 思考

你和高级工程师的差距在哪里?

之 前很多人问过我这么个问题,说怎样才能成为一名高级工程师?不 要妄想从初级一步跨越到架构师、CTO 之类的职位,所以高级工程师这个过渡阶段显得就很重要了,那么今天就来给大家说说你们还差在哪里!

《李开复忏悔录》即将上映:高晓松执导 - 3

李开复《世界因你而不同》:我的爱情故事

本文摘自李开复的自传《世界因你而不同》

Java 8 里的4大新技术

我使用Java 8编码已经有些年头,既用于新的应用程序,也用来迁移现有的应用,感觉是时候写一些我发现的非常有用的“最佳实践”。

安全专业人士最爱的19个GitHub开源项目

Github:诞生于Ruby,60%的员工远程工作

Github诞生于2008年,现在已经是全球最大的代码托管平台。然而鲜为人知的是,他们使用的技术栈非常简易,Ruby、Shell和C。并且6成员工远程工作,通过Hubot协作。

9款优秀的GIF优化工具 让你的页面加载速度如飞一般的感觉 - 7

9款优秀的GIF优化工具 让你的页面加载速度如飞一般的感觉

GIF比静态图片更吸引人,但是它相比JPG和PNG图片,所需求的带宽更大。在页面上使用太多的GIF,这意味着页面加载速度的降低,从而破坏用户的浏览体验。

防SQL注入攻略 - 6

防SQL注入攻略

毕业开始从事winfrm到今年转到 web ,在码农届已经足足混了快接近3年了,但是对安全方面的知识依旧薄弱,事实上是没机会接触相关开发……必须的各种借口。这几天把sql注入的相关知识整理了下,希望大家多多提意见。

现代计算机科学的鼻祖

现代计算机科学的鼻祖

我尝试尽我所能的去熟悉电脑科学里的一些领域,然后把这些知识摘要成大家比较容易了解的方式,让没有那么多时间做这种学习的人也能够吸收它们。

将 Web 应用性能提高十倍的10条建议

HTTP的长连接和短连接

HTTP1.1规定了默认保持长连接(HTTP persistent connection ,也有翻译为持久连接),数据传输完成了保持TCP连接不断开(不发RST包、不四次握手),等待在同域名下继续用这个通道传输数据;相反的就是短连接。

网页设计

如何看待近几年网页设计发展与前途?是否网页设计已死成事实?

有很多朋友和我讨论过类似的web前途的问题,大家其实和我一样,在web上短时间或长时间都会有迷茫的时候,有选择的时候,所以整理下自己思路作为分享。文章出自我自己的知乎回答整理。

混日子

程序员混日子能混出前途吗?

在《Rework》一书中,David Heinemeier Hansson和Jason Fried建议我们炒掉那些工作狂员工。而在《从零到一》艺术中,Peter Thiel却认为,最好的工作处境会给企业带来10倍的技术优势,而不是技术优势带来好的工作环境。

敏捷软件测试常见的七个误区 - 2

测试代码时你会犯的11个错误

我遇到的大多数开发人员都不怎么热衷于测试。有些会去做测试,但大多数都不测试,不愿意测试,或者勉而为之。我喜欢测试,并且比起编写新的代码,愉快地花更多的时间在测试中。

mysql

MySQL的常用操作命令整理

缘由: 初次接触命令行操作MySQL数据库,使用还不熟练,故整理之,方便日后查阅。备注: 用户登录MySQL后,对数据库操作的命令基本都以”;” 或 “\g”结尾。

emacs

我是怎样使用Emacs文本编辑器的

一直以来都想写一篇关于我当前 Emacs 配置的文章,来描述我是如何在 Mac 和 Linux 上使用 Emacs 的,即我的 Emacs 工作流。我使用这套配置一年多了,一直以来这套配置都工作的很好,几乎不需要怎么调整。

阮一峰:布尔代数入门 - 1

阮一峰:布尔代数入门

布尔代数是计算机的基础。没有它,就不会有计算机。布尔代数发展到今天,已经非常抽象,但是它的核心思想很简单。本文帮助你理解布尔代数,以及为什么它促成了计算机的诞生。我依据的是《编码的奥妙》的第十章。这是一本好书,强烈推荐。

brain_after.png vim

Vim用户的大脑变化

我还有种奇异的想象,当他独奏的时候, 脑中的核磁共振图和我在使用 VIM 中操控代码的的图像也许不会相差太大吧?

乔布斯 技术领袖

从工程师到管理者:如何成为一名优秀的技术领袖

为了帮助新任技术经理成功从员工转变为领导者,我经常向有经验的技术经理学习管理方法。虽然每个人都有各自的处世态度,但是经验方法是共通的。如下的七条方法对新任技术经理带领团队、实施变革和取得成果有着极大的帮助。

geek

极客们的电脑使用习惯

“极客”是美国俚语“Geek”的音译。随着互联网文化的兴起,这个词含有智力超群和努力的语意,又被用于形容对电脑和网络技术有狂热兴趣并投入大量时间钻研的人,被称为“电脑极客”。

shell bash

Shell脚本编程总结及速查手册

Shell是一种编程语言, 它像其它编程语言如: C, Java, Python等一样也有变量/函数/运算符/if语句/循环控制/… 但在开始之前, 我想先理清Shell语言与Shell之间的关系.

面试中的排序算法总结

4 张 GIF 图帮助你理解二叉树搜索算法

下面 4 张 GIF 动图,是 penjee 官博制作分享。,分享给大家。

mysql

Mysql 压力测试工具 mysqlslap

mysqlslap 是 Mysql 自带的压力测试工具,可以模拟出大量客户端同时操作数据库的情况,通过结果信息来了解数据库的性能状况。mysqlslap 的一个主要工作场景就是对数据库服务器做基准测试

GitHub上那些值得一试的JAVA开源库 - 1

GitHub上那些值得一试的JAVA开源库

在这多达330,000个JAVA开源库中,我收集了下面这些或许也值得你一试的Java开源库。

Bottle-Coin-Bank 瓶子

罗永浩朝钱晨扔水瓶事件引发的思考:老板如何与员工打交道?

关于钱晨离开的原因,知乎上有比较详细的描述:大意就是罗永浩在T3几乎定型的情况下要大改,钱晨不同意,老罗暴脾气一上来,扔了个水瓶出去,不巧的是,水瓶掉在钱晨裤裆上,水流出来裤子湿了一大片,在场的人都愕然,最后钱晨红着眼低着头走回办公室。那晚10点钟钱晨才离开办公室,此后再未回来过。

Eclipse_Wallpaper_by_bartoszf.png

Eclipse高效率开发技巧

工欲善其事,必先利其器。对于程序员来说,Eclipse便是其中的一个“器”。本文会从Eclipse快捷键和实用技巧这两个篇章展开介绍

javascript_words-100159658-primary.idge.jpg

JavaScript6新语法 let 有什么优势?

最近看国外的前端代码时,发现ES6的新特性已经相当普及,尤其是 let,应用非常普遍

虽然 let 的用法与 var 相同,但不管是语法语义上,还是性能上,都提升了很多,下面就从这两方面对比一下

2016年,我们为什么要学习C++?

2016年,我们为什么要学习C++?

学习C++的一大好处在于,它可以帮助我们理解生命周期(Lifetime)和所有权(Ownership)的概念,以及类型的抽象,还可了解到怎样利用类型保持API的使用方式不变。除此之外,为何各种高级语言层出的今天,学习C++仍颇有价值?本文将为你道来。

阮一峰:谷歌的代码管理

阮一峰:谷歌的代码管理

最新一期的《ACM通信》(59卷第7期)有一篇论文《为什么 Google 要把几十亿行代码放在一个库?》,作者是谷歌基础设施小组的工程师,可以看作官方对这个问题的详细解答。我读后感到收获很大,下面就是摘录。

7cc829d3gw1f54ibvilhxj20g40c30tg

身份证号码验证算法

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

算法 复杂度

每个程序员都应该收藏的算法复杂度速查表

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

nosql

当规模到亿级,MySQL是一个更好的NoSQL!

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

程序员应该知道的七个图形工具 - 11

程序员应该知道的七个图形工具

今天让我来分享一下,我常用的一些图形工具,主要有两类: 流程图 数据可视化

linux

fork()函数与Linux中的多线程编程

,线程是最小的调度单位)。在Linux系统中 创建进程有两种方式:一是由操作系统创建,二是由父进程创建进程(通常为子进程)。系统调用函数fork()是创建一个新进程的唯一方式,当然 vfork()也可以创建进程,但是实际上其还是调用了fork()函数。fork()函数是Linux系统中一个比较特殊的函数,其一次调用会有两个返 回值,

04-medical-reasons-youre-t.jpg

编程30年,我是如何避免累觉不爱的?

我读了一些关于程序员的对编程感到倦怠的文章,读完后我开始思考为什么我在工作了这么多年之后(从 1981 年开始),还依然对编程充满兴趣。为什么我依然喜欢写代码?

辞去工作,开发首个 app - 13

传统的 8 小时工作制为什么会效率低下?

理 想的工作-休息比例是 52 分钟的工作之后进行 17 分钟的休息。按照这种时间分配,工作时会格外集中注意力。约 1 小时的时间里,大脑会 100% 专注于将要完成的任务,而不会去刷微博或被邮件分心;1 小时结束大脑开始感到有些疲劳时,完全放下工作,短暂地休息一会,又有助于在接下来的 1 小时重新高效率工作。

程序员,对自己好一点 - 10

怎样才算得上是全能程序员(全栈程序员)?

与其他互联网热词一样,全栈工程师也是英译过来的,英文全文是:Full-Stack Developer,你想啊,中国人民怎么会用客栈的栈、堆栈的栈来形容工程师呢?

编程 程序员 程序猿

两种编程高手

对于团队来说,我们希望程序员具有第一种编程高手的天份,同时写出来的代码要像第二种编程高手那样方便理解。需要注意提升的是第三种编程高手,他们缺乏第一种编程高手的天资,同时还没有掌握第二种编程高手的技能,经常自己被自己写出来的代码搞糊涂。

guido-photo

Python之父谈Python的未来

6月初,Python之父Guido van Rossum在今天的PyCon US大会上作了名为“Python Language”的演讲。近日,他又接受了IT媒体Infoworld的采访,大谈Python的未来。我们一起来看看Guido老爹对Python的 未来是怎么看的吧。

程序员,对自己好一点 - 5

程序员,对自己好一点

昨天在Google图片中输入“程序员”,搜索到的第一张图片是这样的:一位平头兄桌上两台笔记本一台台式机。其中的一台中显示是某个论坛的页面【估计正在回答某个问题】、中间那台正在启动Eclipse【要开始写Java程序了】、平头兄的目光此时盯在台式机的显示器上【应该是正在远程或者是某个虚拟机】,旁边还有一本打开的书…

程序员的烦恼、技术领导的烦恼和管理者的烦恼

程序员的烦恼、技术领导的烦恼和管理者的烦恼

我专业从事软件开发工作已超过 10 年的时间,我热爱这份事业,希望有一天我会被人们称呼为老程序员。但这一路走来,我经历了许多可怕的事情,这些事情让我讨厌我的工作。在职业生涯早期,我曾期望有人能给我一份职场指南,这样当遇到之前未曾遇到的事情时,我就不会感到如此的孤单和沮丧。

编程 程序员 程序猿

编程时避免使用 if 语句的五种模式

大约十年前,我听说了反if的活动,觉得这个概念非常荒谬。如果不用if语句,又怎么能写出有用的程序呢?这简直太荒谬了。但之后你会开始思考:是否还记得上周你拼命想读懂的深度嵌套代码?糟透了对么?要是有办法能简化它该多好。反if活动的网站上没给出多少实用性建议,因此在本文中,作者将会提供一系列模式,也许你会用得上。但首先我们来关注一下if语句到底造成了什么问题。

天才 精英 There-is-no-great-genius-without-some-touch-of-madness.1

编程不需要天份,也不需要热情

从来没有一个技能,曾经被神化到这个程度:「你不但要有天份,还要有热情,才适合写代码。」那些写代码的人,好像「从小就立定志向,决定未来要写代码了」。缺乏其一的话,你要嘛是个假货,要嘛走不远,总之就是不适合。这种深植人心的刻板印象不但大错特错,同时还是有害的。随便找几个程序员都能证明这点。

程序员应该使用什么样的键盘? - 10

程序员应该使用什么样的键盘?

我们每天几乎要用 8 小时的键盘,为什么不试着改善一下它的质量和外观呢?

关于设计原则的思考

面向过程,面向对象,函数式,一个问题的三种思考方式

我之所以对函数式代码感兴趣是因为函数式代码富有表现力,可以使用简短、紧凑的代码完成工作,同时能对特定的问题给出优雅的解决方案。现代的编程语言不约而同的朝着面向对象、函数式、动态、解释执行的方向发展,例如Ruby,Swift。而另一些语言则更加强调函数式编程,如F#,Scala,这种语言有着强大的类型推断系统,编写的代码洁程度则令人叹为观止。

一个32岁入门的70后程序员的传奇故事

一个32岁入门的70后程序员的传奇故事

总有人质问:“我现在学编程晚吗?”,“我 30 岁之后还能继续写程序吗?”,“学编程难吗?”看完这篇文章后,我相信你不会再问了,因为如果你真的是热爱编程,你就应该像我父亲那样,无论现实如何逼迫,初心永远不忘。

5bcb7c695ebabe73279957dc997ae6bd

从PHP到Node,聊一聊淘宝首页背后的技术

从 2014 年双十二结束开始接手淘宝首页,到如今差不多 1 年半时间了,不久前完成了首页相关工作的交接。经历了两次改版和一次从 PHP 到 Node 的迁移,还是颇有感受,下面给大家分享下。

43f56ffaddbf8215137dc94248ff114e

软件开发不能用盖房子来比喻

多年以来,软件行业一直在使用一种类比,即以建筑行业来做参考和比喻。这种比较在软件语言里随处可见,比如架构(architecture)、地基(foundation)、建造者(constructor)、项目(project)、施工规范(building code)等。这些说法是如此之流行,以至于影响到了我们对软件开发的理解。不幸的是,这种比喻从根本上来说是不恰当的,它的缺陷已经把我们引向了一些错误的道路。

swift

王垠:Swift 语言的设计错误

在『编程的智慧』 一文中,我分析和肯定了 Swift 语言的 optional type 设计,但这并不等于 Swift 语言的整体设计是完美没有问题的。其实 Swift 1.0 刚出来的时候,我就发现它的 array 可变性设计存在严重的错误。Swift 2.0 修正了这个问题,然而他们的修正方法却没有击中要害,所以导致了其它的问题。这个错误一直延续到今天。

Bottle-Coin-Bank 瓶子

罗永浩朝钱晨扔水瓶事件引发的思考:老板如何与员工打交道?

关于钱晨离开的原因,知乎上有比较详细的描述:大意就是罗永浩在T3几乎定型的情况下要大改,钱晨不同意,老罗暴脾气一上来,扔了个水瓶出去,不巧的是,水瓶掉在钱晨裤裆上,水流出来裤子湿了一大片,在场的人都愕然,最后钱晨红着眼低着头走回办公室。那晚10点钟钱晨才离开办公室,此后再未回来过。

bug

有人向我反馈了一个bug

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

算法 复杂度

每个程序员都应该收藏的算法复杂度速查表

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

1248902582770.jpg

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

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

guido-photo

Python之父谈Python的未来

6月初,Python之父Guido van Rossum在今天的PyCon US大会上作了名为“Python Language”的演讲。近日,他又接受了IT媒体Infoworld的采访,大谈Python的未来。我们一起来看看Guido老爹对Python的 未来是怎么看的吧。

笑话 幽默

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

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

编程 程序员 程序猿

编程时避免使用 if 语句的五种模式

大约十年前,我听说了反if的活动,觉得这个概念非常荒谬。如果不用if语句,又怎么能写出有用的程序呢?这简直太荒谬了。但之后你会开始思考:是否还记得上周你拼命想读懂的深度嵌套代码?糟透了对么?要是有办法能简化它该多好。反if活动的网站上没给出多少实用性建议,因此在本文中,作者将会提供一系列模式,也许你会用得上。但首先我们来关注一下if语句到底造成了什么问题。

f

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

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

程序员必须掌握的6种软技能

程序员必须掌握的6种软技能

如果你想要开启作为 web 开发人员的职业生涯,那么你需要涉及的不仅仅是知道如何写代码。有一些通用的软技能几乎可用于每个领域——包括技术行业。成为软件开发人员涉及的不仅仅是编写代码。自从我开始我的第一份作为软件开发人员的工作之后,我很快就知道了这一点。如果你想要在这个领域茁壮成长的话,那么你需要学习“特定的技能系列”

武器

如果编程语言是种武器

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

javascript_words-100159658-primary.idge.jpg

看看国外的十三道 JavaScript 题,你能全部做对吗?

以前看过一套 JavaScript 题目,借花献佛拿出来分享一下。附带了自己的理解和答案。有争议的地方,欢迎大家指出和讨论。

giftCenterPresentBow

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

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

programming-languages 编程语言

亚马逊工程师论各种编程语言的优缺点

这是我写的旋风式的编程语言简介 ,我会讲C、C++、Lisp、Java、Perl (我们在亚马逊用到的所有语言)、Ruby (我就是喜欢) 和 Python,把 Python 加进来是因为 —— 好吧,你看了就知道了,现在我可不说。

maxresdefault.jpg

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

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

不想当程序员的总统不是好歌星 - 17

游戏中学会写代码:这些编程学习网站不容错过

下面这些网站是从 200 多个游戏编程网站选出的 12 个网站,你可以通过下面的网站在游戏中学习编程。

the-friendship-algorithm-the-big-bang-theory.jpg

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

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

1342582137-810237896

如何教会非计算机专业的女友写代码

女友14年本科毕业,学的是商科,大学里一点编程都没接触过,毕业后也从事与编程无关的工作,工作了一年多觉得工作不合适自己,想换一份持续学习、有挑战的工作;与此同时在我的耳濡目染下渐渐对写程序产生了兴趣,于是我们就做了大胆的决定,转程序媛吧。

https-tls.png

聊聊HTTPS和SSL/TLS协议

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

正则表达式

知道这20个正则表达式,能让你少写1,000行代码

正则表达式,一个十分古老而又强大的文本处理工具,仅仅用一段非常简短的表达式语句,便能够快速实现一个非常复杂的业务逻辑。熟练地掌握正则表达式的话,能够使你的开发效率得到极大的提升。下面是技匠整理的,在前端开发中经常使用到的20个正则表达式。

瞧不起

程序员的鄙视链

在软件工程师(中国叫做「程序员」或「码农」)的圈子里,文人相轻的现象可是非常严重的,在程序设计的各个领域里都有着错综复杂的「鄙视链」。从程序语言、编辑器、平台到 { 是写在 if 的同一行还是下一行,不同阵营的人都习惯鄙视来鄙视去。