造病毒攻陷3亿网民,中国黑客18年做了什么

造病毒攻陷3亿网民,中国黑客18年做了什么

18 年来,伴随互联网的发展,中国黑客到底经历了什么?

在泰国曼谷做开发是怎样一种体验?

在泰国曼谷做开发是怎样一种体验?

这个“典型”的一天是广义上的一天,在我实际经历中,跟我描述的事件顺序可能会有些出入。如果你想变成一个软件工程师,你可以看看实际中我们的日常生活是怎么样的。

Java 语言的几个缺陷之五: 多返回值问题

Java 语言的几个缺陷之五: 多返回值问题

希望 Java 能支持动态对象(匿名对象) 的特性是源于想要 Java 方法能优雅的返回多个值. 目前如果希望 Java 方法返回多个值的做法有返回一个自定义对象, 数组或列表, 或 Map. 这种需求多发生在私有方法上, 但目前的解决办法有如下弊端:

程序员进步指南:从每一天少写一点code开始

程序员进步指南:从每一天少写一点code开始

KISS,Keep it simple and stupid。代码真的非常深奥,不管任何语言都有它神秘之处。

程序员编程的聪明省力法:Google一次我可以写10行代码

程序员编程的聪明省力法:Google一次我可以写10行代码

在软件开发这个领域中,特别是那些刚入行的小菜鸟,特别喜欢问这种问题:「大大们写程序会 Google 吗?」、「大神们 %%% 打键盘写程序时会上网找资料吗?」Yes,答案是十分肯定的,就算是老司机,Google 也是他们最好的朋友。

50多年前阿波罗11号登月飞船的代码如同5000年前的甲骨文一样让很多程序员看不懂了

50多年前阿波罗11号登月飞船的代码如同5000年前的甲骨文一样让很多程序员看不懂了

上周四,前 NASA 的实习生 Chris Garry 将当时科学家给阿波罗 11 号(Apollo 11)登月所编写的部分原始代码放到了 Github 上。Twitter 上很多人表示看不懂这段 50 多年前编写的代码

Java 语言的几个缺陷之四: 过时的 JavaBean

Java 语言的几个缺陷之四: 过时的 JavaBean

曾几何时在业务分层结构中的 VO 或 DTO 层充斥着无数的标准 JavaBean 类, 那些碍手脚的 getter/setter 方法简值不忍直视. 或许 JavaBean 设定规范的用意是当某些属性为只读时不提供 setter 方法, 而实际使用时, 因 getter/setter 都同时具备, 那么 JavaBean 的所有私有属性又何异于公有属性呢.

10个全世界人都讨厌的坏习惯,你染上了几个?(组图)

10个全世界人都讨厌的坏习惯,你染上了几个?(组图)

科技已深刻影响到了我们生活的方方面面,但不幸的是,当我们无论何时何地都在玩科技产品而忽视家人、朋友、同事时,看起来就像一个彻头彻尾的混蛋。近日,有国外朋友列出了10个科技习惯,不养成这些习惯,这个世界将会是一个非常和谐的地方,如果养成了这些习惯,这个世界不讨厌你都难。

编程老手的哪些特点是值得新手程序员学习的?

编程老手的哪些特点是值得新手程序员学习的?

作为一个经验丰富的程序员,有哪些事情是你希望在一开始编程的时候就知道的?或者换个方式来说,你认为每个新手程序员应该做或者学什么才能让自己的编程水平更好?

13年的Bug调试经验总结

13年的Bug调试经验总结

在《Learning From Your Bugs》一文中,我写了关于我是如何追踪我所遇到的一些最有趣的 bug。最近,我回顾了我所有的 194 个条目(从 13 岁开始),看看有什么经验教训是我可以学习的。下面是我总结的最重要的经验教训,包括编码,测试和调试三个方面。

7 个 JavaScript里令人惊讶的 “特性”

7 个 JavaScript里令人惊讶的 “特性”

在过去的几个月里,我对 JSHint 做了一些改进,主要是,学习 ES6(我最自豪的是重新实现了变量作用域)的过程中我碰到了几个特性,它们让我惊讶,其中大部分是关于 ES6 的特性但也有一部分是 ES3 特性,这些特性我以前从未用过,而现在我将开始使用它们。

Java 语言的几个缺陷之二: 字符串比较

Java 语言的几个缺陷之二: 字符串比较

对于面向对象的语言不知道除了 Java 还有没别的语言会拿怎么比较两个字符串相等频频作为面试题来考. 原本是在编程语言中两个字符串内容是否相等时用 == 比较时却可能是不对的.

自学的程序员通常缺少哪些技能?

自学的程序员通常缺少哪些技能?

自学的程序员通常缺少谦逊的品质。

放下你的无效学习方式

放下你的无效学习方式

以前日本有一档黄金节目,叫做「抢救贫穷大作战」,邀请厉害的达人去救一些濒临倒闭的店。而这些濒临倒闭的店,很多期节目看下来,你会发现绝大多数会失败,这些店会失败是有原因的。

暴雪游戏开发趣闻 (若干则)

暴雪游戏开发趣闻 (若干则)

这是 (Youtube) Blizzcon 2015 Engineering Community Amphitheater Discussion 的部分内容。挑了重点,简单记录了一下。

Java 语言的几个缺陷之一: 无 Here Document

Java 语言的几个缺陷之一: 无 Here Document

Java 没有 Here Document 的支持, Here Document 又称 heredoc, hereis, here-string, here-script, 再通俗点讲就是多行字符串(multiline string). 在 Java 中如果要定义多行字符串, 需要连串的加号及换行符(\n), 如下

相见恨晚的学习 Vim 技巧

相见恨晚的学习 Vim 技巧

从 2009 年开始,我就一直把 Vim 当做我的主要(唯一)文本编辑器。在过去的这些年,我学到了很多好用的 Vim 技巧,它们令我感觉相见恨晚,因为它们极大地提高了我的文本编辑效率。在这篇博文中,我想与你们分享其中的最精华部分。

《神秘的程序员们》漫画50:程序员该如何找合租室友?

《神秘的程序员们》漫画50:程序员该如何找合租室友?

《神秘的程序员们》漫画50:程序员该如何找合租室友?

JavaScript6新语法 let 有什么优势?

JavaScript6新语法 let 有什么优势?

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

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

我学习编程的一些秘诀

我学习编程的一些秘诀

过去一年,莫名其妙成了全职的编程培训师。大概是天注定,唉。最常遇到的新手问题就是,请问如何入门 XXX 技术。当然,对我来说,写 Rails 都快十年了。这这个领域东西还真难不倒我,抄了家伙就干已经是我这几年的风格。

Java 8 里有哪些新东西?

Java 8 里有哪些新东西?

本指南将一步步地通过所有的新的语言特性来引导你认识Java 8。在简短的示例代码的帮助下,你将会学习到如何使用默认的接口方法、lambda表达式、方法引用以及可重复的注解。

测试MM希望你了解关于测试的5件事

测试MM希望你了解关于测试的5件事

质量保证成为了软件开发项目中比较重要的一个环节。随着越来越多的群体转向敏捷软件测试,QA 在程序创建中起到了一个更加重要的作用。不过,这里有几件 QA 管理人员希望利益相关者在软件测试中知道的事情:

Javascript5, Javascript2015 和 TypeScript 的区别

Javascript5, Javascript2015 和 TypeScript 的区别

ES5,ES2015(原名 ES6 )和 TypeScript 之间有什么不同?我们应该学习和使用哪一个?

如何让你的开源项目在Github上火起来

如何让你的开源项目在Github上火起来

目前为止我已经有五个项目登上 Github 的 Trending 页,所以想分享我的一些经验和方法。

10个使用电脑的坏习惯 你中枪了吗?

10个使用电脑的坏习惯 你中枪了吗?

随着社会的发展,电脑已经成为生活中的必须品。尽管大家每天都在使用电脑,但还是对电脑不甚了解,在使用电脑时有很多坏习惯,笔者总结以下10点,不知道你中枪了吗?