月度归档: 2018 年 1 月

如何写出一个让(坑)人(王)很(之)难(王)发现的bug

如何写出一个让(坑)人(王)很(之)难(王)发现的bug

序员的日常三件事:写bug、改bug、背锅。连程序员都自我调侃道,为什么每天都在加班?因为我的眼里常含bug。那么如何写出一个让(坑)人(王)很(之)难(王)发现的bug呢?

高盛区块链79页完整报告:从理论到实践!【中文版】

高盛区块链79页完整报告:从理论到实践!【中文版】

我们阐明区块链的特性最适应现有的哪些商业问题,并量化其如何改变产业现状。我们突出展示那些将探索或赋能这一进程的私有和上市企业——并分析区块链可以创造哪些新的利润池,或是破坏哪些旧的利润池。

左耳朵耗子的时间管理法则

左耳朵耗子的时间管理法则

我一直说,时间是人生中最宝贵的财富,今天我就来跟你聊聊时间管理方面的话题。

研究bug让我成长进步

研究bug让我成长进步

十月初的时候我在贝洛奥里藏特的巴西 Python 大会上做了主题演讲。这是稍加改动过的演讲文稿。你可以在这里观看演讲视频。

招商银行:如何基于区块链改进跨境清算

招商银行:如何基于区块链改进跨境清算

进行区块链的探索不能只停留在纸面,要真正做一些事情就一定要有一个达到要求的平台。为此,招商银行建立了一个区块链应用的系统,它是一个基于区块链的跨境清算系统,已经开发完毕且马上将在生产系统中正式投产,真正解决招商银行跨境清算的问题

我的Go语言推荐

我的Go语言推荐

随着越来越多的开发人员使用Go,他们会发现,能够将整个语言(以及一些关键的库)保持在您的头脑中会导致一种微妙的生产力形式。而这一特点,正是其他越来越庞大、越来越复杂的语言所缺乏的

35年老程序员个人谈:C语言时代行将落幕

35年老程序员个人谈:C语言时代行将落幕

现在我们可以对后 C 时代的未来窥见一斑,即上述这类领域的代码都可以使用那些具有强大内存安全特性的 C 语言的替代者实现。Go 、Rust 或者 Cx ,无论是哪个,都可能使 C 的存在被弱化。比如,如果我现在再来重新实现一遍 NTP ,我可能就会毫不犹豫的使用 Go 语言去完成。

Docker“生死”记,这条船还能开出去多远?

Docker“生死”记,这条船还能开出去多远?

月初,一篇题为《Docker公司已死》的文章,预言了Docker公司将在2018年的某个时候不复存在。随后就这一观点,出现了一篇《Docker公司不会死》的文章进行了反驳。

如何继承Date对象?由一道题彻底弄懂JS继承

如何继承Date对象?由一道题彻底弄懂JS继承

实例对象不一定就是由它的原型上的构造函数构造的,有可能构造函数内部有着寄生等逻辑,偷偷的用另一个函数来构造了下, 当然,简单情况下,我们直接说实例对象由对应构造函数构造也没错

手把手教你重现WebLogic WLS组件漏洞

手把手教你重现WebLogic WLS组件漏洞

漏洞描述:WebLogic WLS组件中存在CVE-2017-10271远程代码执行漏洞,可以构造请求对运行WebLogic中间件的主机进行攻击,近期发现此漏洞的利用方式为传播挖矿程序。

CSS BEM 命名规范

CSS BEM 命名规范

Debug CSS 是一种很耗时的操作,如果有良好的命名规范可以节约很多的 Debug 时间。

如何搭建一个假的星巴克热点并劫持用户电脑进行挖矿(内附完整代码和教程)

如何搭建一个假的星巴克热点并劫持用户电脑进行挖矿(内附完整代码和教程)

正如本文所介绍的那样,攻击者可以轻松地对一个WiFi网络进行自动化攻击,并且还可以通过WiFi网络来让受害者的计算设备帮助自己进行挖矿。在真实的攻击场景中,如果配合高功率WiFi天线的话,攻击的覆盖范围可能还会更大。

10种常见的软件架构模式

10种常见的软件架构模式

架构模式是一个通用的、可重用的解决方案,用于在给定上下文中的软件体系结构中经常出现的问题。架构模式与软件设计模式类似,但具有更广泛的范围。在本文中,将简要地解释以下10种常见的体系架构模式,以及它们的用法、优缺点。

深入浅出谈人脸识别技术

深入浅出谈人脸识别技术

本文中笔者试图用通俗的语言探讨人脸识别技术,首先概述人脸识别技术,接着探讨深度学习有效的原因以及梯度下降为什么可以训练出合适的权重参数,最后描述基于CNN卷积神经网络的人脸识别。

代码重构技巧

代码重构技巧

本文整理于《重构改善既有代码的设计》,这本书是用java写的,整理的目的是为了自己能写出更健壮、更具扩展性的代码,为以后的编码做参考。

关于自我注解的CSS代码的思考

关于自我注解的CSS代码的思考

Martin在文中详细讨论了代码注释,我不会完全重复他的话。简而言之,他的意思就是,这些注释是注定会过时的。程序执行时会忽视注释,所以无法保证这些说明注释会准确的描述代码作用。所以最好的方式是让代码自说明,如此,按照代码逻辑,程序员和程序获取到的信息是一致的。

有人不喜欢花括号,于是他发明了 Python:简洁而又准确的编程语言简史

有人不喜欢花括号,于是他发明了 Python:简洁而又准确的编程语言简史

编程语言有上千种,但是流行的不过10来种,那些我们经常使用的编程语言都是谁在什么时候创造出来的呢?Casper Beyer为我们进行了整理。

如何在Linux中轻松隐藏文件和文件夹

如何在Linux中轻松隐藏文件和文件夹

你有没有想要隐藏你的Linux文件系统上的文件或文件夹,但不知道该怎么做? 别担心,这不像听起来那么复杂,而且可以快速而有效地完成。 在本指南中,我们将介绍在Linux中可以有效隐藏文件和文件夹的简单方法。

IT界的一些朗朗上口的名言

IT界的一些朗朗上口的名言

中国有很多古代警世名言,朗朗上口,凝聚了很多故事与哲理。硅谷的互联网公司里头也有一些这样的名言,凝聚了很多公司价值观和做事的方法,对于很多程序员来说,其影响潜移默化。

程序员段子集:产品经理有个好创意

程序员段子集:产品经理有个好创意

百度研发的无人驾驶汽车,你会发现有些地方你是去不了的。腾讯研发的无人驾驶汽车,你会发现很多地方你要去是要黄钻会员的。当然,谷歌研发的无人驾驶汽车,你会发现查无此车。

春秋战国(Git)与大秦王朝(Svn)的爱恨情仇

春秋战国(Git)与大秦王朝(Svn)的爱恨情仇

关于Git的概念相信很多人都有所了解,但又不太了解。单从技术的角度去分析对于理解能力不太强的同学显得苍白无力。于是乎我试着用举例子的方式去还原繁杂的技术概念。

开发者需要知道的有关软件架构的五件事

开发者需要知道的有关软件架构的五件事

8年过去了,软件行业也在发展,但开发团队仍然面临着类似的问题,特别是与软件架构有关的问题。这些问题比以往任何时候都要来得突出,因为我们现在构建的系统越来越趋于分布式化,开发团队也越来越分布式化。为了解开这些迷思,开发者需要了解以下五个与软件架构有关的事实。

Google Fuchsia OS更多界面图

Google Fuchsia OS更多界面图

虽然目前 Fuchsia OS 上的应用还十分的简陋,但是我们却能从中获得更多关于 UI 的细节:进入应用后,右下角会有显示电量的图标,而底部中央的白色小点则可通过点按返回到主界面。

华为手机将默认启用Android Messages

华为手机将默认启用Android Messages

谷歌平台与生态系统高级副总裁 Hiroshi Lockheimer 坚信,此举有望推动 RCS 消息服务的发展:“我们很高兴与华为合作,通过 RCS 和 Android Messages 为全球数亿用户带来更好的原生消息传递体验”。

谷歌开源项目风格指南之 Python 风格指南

谷歌开源项目风格指南之 Python 风格指南

Python 是 Google主要的脚本语言。这本风格指南主要包含的是针对python的编程准则。为帮助读者能够将代码准确格式化,我们提供了针对 Vim的配置文件 。对于Emacs用户,保持默认设置即可。