月度归档: 2016 年 4 月
论程序媛的自我修养
身为一名程序媛,总结混迹于技术圈多年的经验可以概括成三要三不要。(本文纯属娱乐,你非要太当真,就不是我的错了。)
Twitter工程师聊JavaScript
本文是Twitter软件工程师Bonnie Eisenman对JS现状的看法和对开发者的一点建议
从一行代码里面学点JavaScript
从一行代码里面学点JavaScript,现如今,JavaScript无处不在,因此关于JavaScript的新知识也是层出不穷。JavaScript的特点在于,要学习它的语法入门简简单,但是要精通使用它的方式却是一件不容易的事。
所有顶级互联网公司都在研究的 “Bot” 究竟是什么?
一觉醒来世界还是原来的样子,变坏的人工智能和终结者并没有诞生,更别提控制人类……可是就在一夜间,几乎所有知名的互联网科技公司都重新捡起了一项已经“过时很久”的技术:“Bot”。
Android开发中,那些让你相见恨晚的方法、类或接口
本文类容来自我在知乎上对Android开发中,有哪些让你觉得相见恨晚的方法、类或接口?
PHP 代码规范简洁之道
放在 PHP 里面,还有一些附加的地方,比如关键字大小写,语法糖的使用(array() 与 [] 等)的问题。之前整理过 PSR 的标准,也找过 php-cs-fixer 这样的工具。这些都是规范代码的重要手段。有统一的标准,配合上工具的检查,形成统一的编码约束不是什么难题。
Swift 中 10 个震惊小伙伴的单行代码
我们永远无法得知有多少人在社交聚会中对这些单行代码留下了深刻的印象,但根据我的猜测,越复杂的例子越能激励我们学习更多函数式编程的知识,至少对外行人来说是这样。
一个最不可思议的 MySQL 死锁分析
做MySQL代码的深入分析也有些年头了,再加上自己10年左右的数据库内核研发经验,自认为对于MySQL/InnoDB的加锁实现了如指掌,正因如此,前段时间,还专门写了一篇洋洋洒洒的文章,专门分析MySQL的加锁实现细节:《MySQL加锁处理分析》。
开源软件的这 12 个文化基因,能得到你的认可吗
软件意味着什么?当你需要向别人解释时,如何省心又省力地传达开源的价值和精髓?自从开源这个短语在1997年首次提出以来,业界在开源方面已经获得了许多来之不易的经验教训,我们不应该忘记这些经验教训。
Uber是如何基于Go语言构建高QPS服务的?
在2015年初,我们构建了一个只做一件事(也的确做的非常好)的微服务——查找地理围栏(geofence lookup)。一年后,这项服务已经成为Uber数百个正在运行的服务中每秒查询次数(QPS)最高的服务。接下来,本文将谈论我们构建这项服务的原因以及我们是如何使用Go语言快速构建和扩展这项服务的。
rm -rf/ 又引发了一个血案
Marco Marsala是一家小型主机托管公司的老板,但是他最近遇到了一个天大的麻烦——由于脚本错误,他不慎删光了所有客户的数据。
Linus,一生只为寻找欢笑(完全版)
每 个人桌面上一台电脑,这曾经是无数计算机先驱的梦想,这个梦想很早就实现了,在1997年,乔老师和比老师就说过,「比尔,我们共同控制了100%的桌面 系统市场」,当然乔老师没说的是,比老师控制了97%,乔老师还不到3%。时至今日,乔老师走了,比老师颓了,移动终端把传统的 PC 市场冲击的七零八落。
MongoDB注入:如何攻击MongoDB?
不管是商业项目还是个人项目,MongoDB都是一个非常好的数据库引擎,国内很多公司也开始用MongoDB。比起传统的数据库,这款数据库比较新,也有很多安全问题是大家还没有意识到的,而这些问题通常可以打得你措手不及。
程序员,你能真正掌握多少编程技术?
我总能看到一些公司在招聘广告里这样描述他们的岗位要求:“有丰富的从零开始构建 iOS 及 Android 应用的经验;精通移动及 Web 技术,包括 Java、HTML5、CSS3、JavaScript 和 AJAX。
为什么很多 Google 公司员工离职去 Facebook?
为什么很多 Google 公司员工离职去 Facebook?
Go语言编程模式
2016年伦敦举办的QCon大会上,Peter Bourgon做了《六年Go语言设计经验》的报告,重点探讨了在使用Go进行开发时的编程模式和反模式。在这里,我们将他给Go开发者的建议进行了简单的总结。
谈钱太俗!开源软件只能讲道义?
自古以来,读书人多以清贫自居,陶渊明不为五斗米折腰更成为千古佳话,而与书香相对立的是铜臭,铜臭一词可参考《后汉书·崔烈传》中崔烈与其子崔钧的对话。
10年后编程还有意义吗?
这个是 Quora 上提出的一个问题。随着 AI 在近年来成为热门话题,并且在 AlphaGo 自学围棋击败了人类近 10 年最好的围棋选手之后,有人开始提出这个问题。具体来说这个问题有三层意思:
从架构的角度看,如何写好代码?
软件架构实际上包括:代码架构,以及承载代码运行的硬件部署架构。实际上,硬件部署架构最终还是由代码的架构来决定。
作为一名 Web 开发者,我已经被一个极度简单的 app 卡了
我是一名全职开发者。我大部分工作的内容是网站的全栈开发。偶尔,我也用 Python 或 Ruby 写写后端的服务器,有时写点儿 C# ,我还用 C++ 或 Node.js 开发一些命令行工具;我发现 Clojure 很有意思,我接触 Web 开发是在多年以前,那时用的是 Perl 和 PHP 。而在我首次进入职业开发道路的时候,我写了几年 Java 。
创业维艰,技术人创业如何少走弯路?
移动互联网时代,很多技术人也找到了不错的创新点,走上创业之路。但是创业并不是那么轻松的,新公司雨后春笋般出现,真正能茁壮成长的又有几何?能不能找一些很有经验的人,分享一下他们踩过的坑、收获的技能?
一个“码农”自述的血泪史:后悔没转行
在技术上,你并不能改变人们做事情的方式,除非你有那个能力、权力和机会。有了这些条件,并且找到正确的位置来发展,你才有可能摘星揽月。
【程序员篇】友谊的小船说翻就翻……
论如何毁掉和一个程序员的友谊……
我是否应该使用生成器(Generator)?
我面临着这样的情况:我要实现一个无限的序列,它不断地来回生成区间 [min, max] 中的整数,所以最初我想的是,“让我弄个生成器(Generator)来搞定它吧”。(我并不是想讨论这个生成器写得好不好,我只想知道在这里我是不是应该使用生成器。)
我为什么选择使用Go语言?
在这里我主要想和大家分享一些Go和我个人的成长史。首先聊聊Go,在2009年全部开源出来后,它获得了当年的年度语言,但是直到2011年它才发布正式的稳定版本。Go稳定版发布时,Go Team承诺后续的版本都会兼容之前的版本。这对于我们开发者来说简直太重要了,Go后续的版本也一直在提升内功,从而可以让我们无缝的升级Go版本。
