
阿里面试回来,想和Java程序员谈一谈
其实本来真的没打算写这篇文章,主要是我得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来。我自己当初面试完以后,除了记住一些聊过的知识点以外,具体的内容基本上忘得一干二净,所以写这篇文章其实是很有难度的。

将你的C语言代码编译成.NET
我在和我的朋友,OrangeC / C ++ 编译器的创造者,David 交流的时候,我给他出了个主意,那就是为你的编译器创建一个新的后端来生成 CLR 代码,这样一来,就没有生成 CLR 代码的C语言开源编译器了。

聊聊硬盘新型GPT分区表和UEFI BIOS的知识
从Intel 6系列主板之后,就开始提供UEFI BIOS支持,正式支持GPT硬盘分区表,一举取代了此前的MBR分区表格式,不过为了保持对老平台的兼容,微软即使最新的Windows 10系统也继续提供了对MBR分区表格式的支持。

利用Linux系统生成随机密码的10种方法
通常情况下大家生成密码都好困惑,一来复杂程度不够会不安全,复杂程度够了又不能手动随便敲击键盘打出一同字符(但通常情况下这些字符是有规律 的),使用1password 或者 keepass 这种软件生成也可以,不过貌似1password 要收费,既然这样我们就玩一下好玩的用 linux 来生成随机密码玩玩吧;

为什么Java中1000==1000为false而100==100为true?
这就是它有趣的地方了。如果你看去看 Integer.Java 类,你会发现有一个内部私有类,IntegerCache.java,它缓存了从-128到127之间的所有的整数对象。

如何让你的JavaScript代码更加语义化
W3C Group 工作组在 web 规范上持续贡献,他们的目标也是期望整个互联网的发展态势稳定统一起来。不扯远了,回到本文需要阐述的重点:如何语义化 JavaScript 代码?

C语言代码评审小结
在实际的软件开发项目中,代码评审是一个必不可少的流程。代码评审,也称之为代码复查,是指通过阅读开发人员所写的代码来检查源代码与编码规范的符合性以及代码质量的活动。总的说来,代码评审的好处有以下几点

面试你必须懂的bash shell之25问
面试你必须懂的bash shell之25问

前端是 ? 而 JavaScript 是 ?
现代前端技术饱受争议,但是我们只顾争吵,似乎忘记了我们所得到的回报。我们,web 王国的劳动人民、web 设计师、前 Wordpress 工程师和吟唱代码的诗人,将要统治数字世界,能够建造各种神迹。谁会想到这一切都是我们的老朋友 JavaScript 所带来的。

为什么好多公司的开发语言从C#变成了JAVA?
有 同学批评我对于.net的观察还停留在5年前,确实最近两年很少写.net了,但是这个5年确实也不影响,node出来也就5年吧,objectC也是最 近5年比较火,包括hadoop,docker最近两年才火起来的,我也用react,angular这些前端框架,我会追新技术的,新事物的诞生是为了 解决老事物的问题而来

阮一峰:中文技术文档的写作规范
英语世界里,文档非常受重视,许多公司和组织都有自己的文档规范,清楚地规定写作要求,比如微软、MailChimp、Apple、Yahoo、docker、Struts 等等(维基百科有一份完整的清单)。中文的也有不少,但都不令人满意,要么太简单,要么不太适用。我就动手,参考上面的规范,也结合自己的实践,总结了一份简单的《中文技术文档的写作规范》。

只会敲代码的程序猿不是好CTO!
人们常常对首席技术官存在误解,以为编程能力最强,就能成为首席技术官。但是编程对其来说,反而是最不重要的。在这之外,你需要做的还有很多。比如了解企业和客户的需求,比如赋予你的团队思想和灵魂,为你的团队扫除障碍,创造舒适的环境等。首席技术官,不仅与技术相关,更与管理和商业相关。

代码的艺术:如何写出小而清晰的函数
本文以 JavaScript 为例,介绍了该如何优化函数,使函数清晰易读,且更加高效稳定。

女工程师到底有没有受到不公平待遇?
我只能尽我所知说说自己的看法。但请仅仅把我的观点当成一个参考。很多女性同行经历过的、见闻过的,我可能并没有了解。所以,如果我有失偏颇,也欢迎大家在评论去留下您的看法。

用中文编程能给我们带来什么?
为什么汉语编程这个话题总能引吸一些人的眼球呢?我们就开动脑筋,来想一想汉语编程能带来的好处。

HTTP 推送,显著提升加载性能
上周我在斯达哥尔摩住了几天,出席了 HTTP 研讨会,参与了不少吸引人的讨论。其中一次是关于 HTTP 推送及其优缺点、早期实验结果的。

谷歌的Allo是如何帮你自动回复消息的
在智能回复系统中,Google 利用了一种叫做长段时记忆网络(LSTM)的技术来分析邮件,它能够被置入本地系统中,也就是说用户的邮件信息不会被发送给 Google。LSTM 的工作是用半监督方法理解和分析收到的邮件的内容,然后用一个前馈神经网络系统给出可能的回复建议,例如针对同一封询问时间的邮件,

系统故障 → 程序错误 → 修正bug
系统出了故障,我们又一次掉进了坑里,好不容易爬出了坑,拍拍尘土继续前行,却忘了回头看看这个坑当初为啥我们就没看见。每一次入坑出坑的过程都有或大或小的代价,值得我们回头看看。

计算机更新这么快,怎么编程语言还是二十多年前的?
但是按这种逻辑,编程语言也会越来越接近自然语言,学习门槛越来越低,但是运行性能也越来越低。可是目前流行的编程语言都是很早以前发明的,都是设计给那时候的计算机运行的,为什么它们没有被现在发明的语言所淘汰?

为什么越来越多的开发者选择使用Spring Boot
Spring Boot可以说是至少近5年来Spring乃至整个Java社区最有影响力的项目之一,也被人看作是:Java EE开发的颠覆者(但是不是有点too young,too simple的感觉!)。

安装Linux让你的电脑变成双系统的七个理由
计算机当中最重要的组件之一就是操作系统。事实上,强大的操作系统应当具备软件兼容性,并能够顺畅实现硬件与软件之间的交互。对于大多数用户而言,Linux加Windows或者Linux加Mac OS往往是最理想的组合。

5招教你如何用动画增强用户体验
动画集美观与实用于一身,用途非常广泛。它可以影响用户行为,可以呈现数据的状态,也可以吸引用户的注意,还可以帮助用户看到他们操作的结果。下面这5招可以帮助大家通过动画来增强用户体验,每一招都配有示例进行说明,希望可以帮助大家改进自己的设计。

我对代码命名的一点思考和理解
由于我们总是对每个概念的名称要求非常苛刻,我们会思考这个名称所表达的概念 是否正确,该名称是否正确表达了事物的本质或正确反映了某个行为的逻辑。所以,这种对命名的良好思考习惯,可以反过来帮助我们纠正之前的一些错误设计和代 码实现

编程开发中最浪费时间和资源的7个错误
我在当地几家公司担任过项目经理,项目主要关于一些用PHP制作的中小型网页。在那段历程中,我见识了很多公司常常会犯这样或那样的错误,既浪费时间又浪费资源。下面我具体谈谈在这些错误中最不可饶恕的7个:

在一个千万级的数据库查寻中,如何提高查询效率?
如果在 where 子句中使用参数,也会导致全表扫描。因为SQL只有在运行时才会解析局部变量,但优化程序不能将访问计划的选择推迟到运行时;它必须在编译时进行选择。然 而,如果在编译时建立访问计划,变量的值还是未知的,因而无法作为索引选择的输入项。如下面语句将进行全表扫描: