开源软件的这 12 个文化基因,能得到你的认可吗

开源软件的这 12 个文化基因,能得到你的认可吗

软件意味着什么?当你需要向别人解释时,如何省心又省力地传达开源的价值和精髓?自从开源这个短语在1997年首次提出以来,业界在开源方面已经获得了许多来之不易的经验教训,我们不应该忘记这些经验教训。

Uber是如何基于Go语言构建高QPS服务的?

Uber是如何基于Go语言构建高QPS服务的?

在2015年初,我们构建了一个只做一件事(也的确做的非常好)的微服务——查找地理围栏(geofence lookup)。一年后,这项服务已经成为Uber数百个正在运行的服务中每秒查询次数(QPS)最高的服务。接下来,本文将谈论我们构建这项服务的原因以及我们是如何使用Go语言快速构建和扩展这项服务的。

rm -rf/ 又引发了一个血案

rm -rf/ 又引发了一个血案

Marco Marsala是一家小型主机托管公司的老板,但是他最近遇到了一个天大的麻烦——由于脚本错误,他不慎删光了所有客户的数据。

Linus,一生只为寻找欢笑(完全版)

Linus,一生只为寻找欢笑(完全版)

每 个人桌面上一台电脑,这曾经是无数计算机先驱的梦想,这个梦想很早就实现了,在1997年,乔老师和比老师就说过,「比尔,我们共同控制了100%的桌面 系统市场」,当然乔老师没说的是,比老师控制了97%,乔老师还不到3%。时至今日,乔老师走了,比老师颓了,移动终端把传统的 PC 市场冲击的七零八落。

MongoDB注入:如何攻击MongoDB?

MongoDB注入:如何攻击MongoDB?

不管是商业项目还是个人项目,MongoDB都是一个非常好的数据库引擎,国内很多公司也开始用MongoDB。比起传统的数据库,这款数据库比较新,也有很多安全问题是大家还没有意识到的,而这些问题通常可以打得你措手不及。

程序员,你能真正掌握多少编程技术?

程序员,你能真正掌握多少编程技术?

我总能看到一些公司在招聘广告里这样描述他们的岗位要求:“有丰富的从零开始构建 iOS 及 Android 应用的经验;精通移动及 Web 技术,包括 Java、HTML5、CSS3、JavaScript 和 AJAX。

为什么很多 Google 公司员工离职去 Facebook?

为什么很多 Google 公司员工离职去 Facebook?

为什么很多 Google 公司员工离职去 Facebook?

Go语言编程模式

Go语言编程模式

2016年伦敦举办的QCon大会上,Peter Bourgon做了《六年Go语言设计经验》的报告,重点探讨了在使用Go进行开发时的编程模式和反模式。在这里,我们将他给Go开发者的建议进行了简单的总结。

谈钱太俗!开源软件只能讲道义?

谈钱太俗!开源软件只能讲道义?

自古以来,读书人多以清贫自居,陶渊明不为五斗米折腰更成为千古佳话,而与书香相对立的是铜臭,铜臭一词可参考《后汉书·崔烈传》中崔烈与其子崔钧的对话。

10年后编程还有意义吗?

10年后编程还有意义吗?

这个是 Quora 上提出的一个问题。随着 AI 在近年来成为热门话题,并且在 AlphaGo 自学围棋击败了人类近 10 年最好的围棋选手之后,有人开始提出这个问题。具体来说这个问题有三层意思:

从架构的角度看,如何写好代码?

从架构的角度看,如何写好代码?

软件架构实际上包括:代码架构,以及承载代码运行的硬件部署架构。实际上,硬件部署架构最终还是由代码的架构来决定。

作为一名 Web 开发者,我已经被一个极度简单的 app 卡了

作为一名 Web 开发者,我已经被一个极度简单的 app 卡了

我是一名全职开发者。我大部分工作的内容是网站的全栈开发。偶尔,我也用 Python 或 Ruby 写写后端的服务器,有时写点儿 C# ,我还用 C++ 或 Node.js 开发一些命令行工具;我发现 Clojure 很有意思,我接触 Web 开发是在多年以前,那时用的是 Perl 和 PHP 。而在我首次进入职业开发道路的时候,我写了几年 Java 。

创业维艰,技术人创业如何少走弯路?

创业维艰,技术人创业如何少走弯路?

移动互联网时代,很多技术人也找到了不错的创新点,走上创业之路。但是创业并不是那么轻松的,新公司雨后春笋般出现,真正能茁壮成长的又有几何?能不能找一些很有经验的人,分享一下他们踩过的坑、收获的技能?

一个“码农”自述的血泪史:后悔没转行

一个“码农”自述的血泪史:后悔没转行

在技术上,你并不能改变人们做事情的方式,除非你有那个能力、权力和机会。有了这些条件,并且找到正确的位置来发展,你才有可能摘星揽月。

【程序员篇】友谊的小船说翻就翻……

【程序员篇】友谊的小船说翻就翻……

论如何毁掉和一个程序员的友谊……

我是否应该使用生成器(Generator)?

我是否应该使用生成器(Generator)?

我面临着这样的情况:我要实现一个无限的序列,它不断地来回生成区间 [min, max] 中的整数,所以最初我想的是,“让我弄个生成器(Generator)来搞定它吧”。(我并不是想讨论这个生成器写得好不好,我只想知道在这里我是不是应该使用生成器。)

我为什么选择使用Go语言?

我为什么选择使用Go语言?

在这里我主要想和大家分享一些Go和我个人的成长史。首先聊聊Go,在2009年全部开源出来后,它获得了当年的年度语言,但是直到2011年它才发布正式的稳定版本。Go稳定版发布时,Go Team承诺后续的版本都会兼容之前的版本。这对于我们开发者来说简直太重要了,Go后续的版本也一直在提升内功,从而可以让我们无缝的升级Go版本。

谈谈程序员影响力的经营

谈谈程序员影响力的经营

这是一个首先靠实力,然后才靠传说的江湖。没有真材实料,膜拜的小船说翻就翻。

程序员面试的标准答案并不标准

程序员面试的标准答案并不标准

 Peter Verhas 在技术面试时问了一个看似无关的问题,并得到了一个虽然没错但并不恰当的答案。随后,他宣称,“有时候,我会碰到那些不但不知道答案,还自作聪明地给出错误答案的候选人

史上最内涵的程序员笑话,你能看懂几个?

史上最内涵的程序员笑话,你能看懂几个?

我上大学时候,刚学会上网,于是在网上搜那种片,然后搜出个PHP大全.rmvb。以为是拍那种片大全,谁知道竟然是PHP的视频教程,于是我就学会了PHP

Python导入模块的几种姿势

Python导入模块的几种姿势

作为一名新手Python程序员,你首先需要学习的内容之一就是如何导入模块或包。但是我注意到,那些许多年来不时使用Python的人并不是都知道Python的导入机制其实非常灵活。在本文中,我们将探讨以下话题

技术成长四个阶段需要的架构知识

技术成长四个阶段需要的架构知识

本文是李庆丰在高可用架构后花园群 3.19 北京光华路安妮意大利餐厅下午茶活动的演讲。

JavaScript API 设计原则

JavaScript API 设计原则

什么是好的 API 设计:在自描述的同时,能达到抽象的目标。

写了 35 年代码的老程序员的最大遗憾

写了 35 年代码的老程序员的最大遗憾

大约不到20年前,我处在人生十字路口上。我的第二家公司当时已经花了5年时间为出版行业打造专业图表制作软件,不过在那互联网即将大热的年代,出版商们已经逐渐向互联网领域转移,我们的业务渐渐枯竭。那时候我已经是一个有 13 年编程工作经验,而且同时有 9 年公司运营经验的综合性人才了。

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

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

早在 19 世纪初诞生了世界上第一个“Hello World”的那一刻起,人类就敲开了编程世界的大门。