程序员的这些福利你都有享受到了吗?

程序员的这些福利你都有享受到了吗?

可遇不可求。

机器学习工程师必知的十大算法

机器学习工程师必知的十大算法

机器学习算法可以分为三大类:监督学习、无监督学习和强化学习。监督学习可用于一个特定的数据集(训练集)具有某一属性(标签),但是其他数据没有标签或者需要预测标签的情况。无监督学习可用于给定的没有标签的数据集(数据不是预分配好的),目的就是要找出数据间的潜在关系。强化学习位于这两者之间,每次预测都有一定形式的反馈,但是没有精确的标签或者错误信息。

200 行代码实现一个简单的区块链

200 行代码实现一个简单的区块链

像流行的比特币和以太坊这样基于区块链的项目就是这样。“区块链”这个术语通常和像交易、智能合约、加密货币这样的概念紧紧联系在一起。这就令理解区块链变得不必要得复杂起来,特别是当你想理解源码的时候。下面我将通过 200 行 JS 实现的超级简单的区块链来帮助大家理解它,我给这段代码起名为 NaiveChain。

培训班出身的程序员为什么遭人嫌弃

培训班出身的程序员为什么遭人嫌弃

有些人因为培训班的身份被拒还很委屈,认为企业对他们有歧视。在此,引用时下热门的句式:“你弱,你还有理了”。

程序员版《人民的名义》,谁才是真正的主角?

程序员版《人民的名义》,谁才是真正的主角?

当程序员们看该剧的时候,通常会将剧中人物联想到自己的上司、领导;现在,让我们一起来看看,当剧中人物走上职场,他们分别担任什么岗位呢?

创业团队技术Leader应该尽量避免的9个错误

创业团队技术Leader应该尽量避免的9个错误

自己闲的时候总是思考一个问题,将来有一天我成为一家创业公司的技术负责人,哪些错误应该是避免犯的呢?人从一种状态到另一种状态的时候,先思考的不应该是如何快速去做,而是如何避免犯一些错误,这就是本文的出发点。

Firefox OS的故事

Firefox OS的故事

我想以自己的视角讲讲Firefox OS。从Boot to Gecko开源软件项目在2011年通过邮件列表中发布的一封邮件,以一个空的GitHub代码库闪亮登场,到后来以Firefox OS移动操作系统的形式商用发布,再到2016年将数百万行代码“转移”给社区,这个故事的跨度很大。

程序员的编程语言迁移路线:Go语言是最大赢家,Java 还在,Perl 灭亡了,Rust 做的相当不错。

程序员的编程语言迁移路线:Go语言是最大赢家,Java 还在,Perl 灭亡了,Rust 做的相当不错。

我看了一篇博客,标题是《为什么我们要从 X 语言转到 Y 语言》,具体是哪种编程语言,我忘了。于是我开始想,是不是可以把这些文章归纳起来,生成一个关于从 X 语言转到 Y 语言的 N*N 的联列表(contingency table)?

AlphaGo之父:关于围棋,人类3000年来犯了一个错

AlphaGo之父:关于围棋,人类3000年来犯了一个错

在这里举个例子,这是第二局里的一个情况,第37步,这一步是我整个比赛中最喜欢的一步。在这里,黑棋代表阿尔法狗,他将棋子落在了图中三角标出的位置。为什么这步这么关键呢?为什么大家都被震惊到了。

一个机器学习在现实工作中应用的小例子:帮用户给物品自动归类

一个机器学习在现实工作中应用的小例子:帮用户给物品自动归类

或许只是我感到有些许惊讶(我还记得当我意识到‘news’是‘new’的复数的时候),我认为这些都十分让人惊讶。它允许像你我这样的普通人(对发展影响的程度较小的人)在机器学习中进行挖掘,可能会促成那些用户很大的改进。

软件开发复杂性的体现:命名的艺术

软件开发复杂性的体现:命名的艺术

写得好是指写出来的东西读起来容易,而不是指写作本身,这一过程会产生大量的共鸣。它是指,退后一步,从读者的角度来理解所写的东西。人们必须以人的思维来理解问题,然后用其它人能够理解的方式表达出来。在我看来,软件属于社会科学的一部分。我们要搞清楚代码写出来是给谁看的,不是给人看的吗?

技术是一把利剑,也是一把双刃剑

技术是一把利剑,也是一把双刃剑

通常我们说程序员需要在某个技术方向上积累到一定的厚度,要能够运用技术有效地解决实际问题。可是当程序员在某一项技术上浸淫时间长了之后,却经常会出现另外的问题,那就是:看待问题时受限于自身的技术积累。

[译]我并不聪明,我只是坐在那儿的时间比你长(I’m not smart, I just sat there for longer than you)

[译]我并不聪明,我只是坐在那儿的时间比你长(I’m not smart, I just sat there for longer than you)

“我并不伟大,我只是坐在这儿做这件事的时间长一些….你也可以做到这一点。”

机器学习最流行的语言是……?

机器学习最流行的语言是……?

应该掌握哪门编程语言,才能获得机器学习或数据科学的工作机会呢?这是一个银弹的问题。许多论坛都在辩论这个问题。我会在本文中提供自己的答案,并解释原因,但是我们要先来查看一些数据。毕竟,机器学习和数据科学的从业者应该记住这一点:没有调查就没有发言权。

Ubuntu 为什么要放弃 Unity?Linux 社区对此怎么看?

Ubuntu 为什么要放弃 Unity?Linux 社区对此怎么看?

创始人 Mark Shuttleworth 日前公开宣布了 GNOME 的回归——明年发布的 Ubuntu 18.04 将搭载 GNOME 而非 Unity。消息一出,Linux 社区颇受震动。于是问题来了:Canonical 为什么要放弃 Unity?

Java 9 尝鲜之交互式编程环境

Java 9 尝鲜之交互式编程环境

Java 9 中引入了交互式编程环境(REPL),这就是JShell,它允许可以执行 Java脚本代码,并且立即返回结果。因此,我们不需要创建什么一个解决方案或工程,就能很容易地编写代码并能很快的看到运行结果。我们不必等待整个项目 build 完去检查多行代码的执行结果。JShell,就像其他 REPL 一样,有利于探索式编程,我们很容易地进行交互式尝试和调试不同的算法和结构。

关于软件开发你真正需要知道的几个事情

关于软件开发你真正需要知道的几个事情

我之所以写这篇文章是因为有一个朋友最近决定跻身软件工程行业。我的这位朋友聪明,精力充沛,品貌兼优,又善于学习:每个人都认为这样的人才必将有一番作为。但是,在踏出第一步时,他依然有很多东西需要学习。

Ubuntu放弃战斗, Linux桌面的悲哀

Ubuntu放弃战斗, Linux桌面的悲哀

这几天看到 Ubuntu 放弃 Unity 和 Mir 开发,转向 Gnome 作为默认桌面环境的新闻,作为一个Linux十几年的老兵和Linux桌面的开发者,内心颇感良多。

攻下隔壁女生路由器后,黑客对这个女生都做了些什么

攻下隔壁女生路由器后,黑客对这个女生都做了些什么

上面这些方法都搜索的到,防御ARP劫持嗅探很简单,电脑上装个杀软基本就差不多,被攻击劫持时候会弹出警告,但是人们却丝毫不当回事儿,出现弹框就把杀软给关掉了,继续上网冲浪。

谷歌是如何抓取并分析页面里的JavaScript的?

谷歌是如何抓取并分析页面里的JavaScript的?

Google 已经在创新方面,以惊人的速度将其它搜索引擎甩在身后。我们希望看到其它搜索引擎能有同样类型的创新。如果他们要保持竞争力,并在 web 新时代取得实质性进展,这意味着它们要更好地支持 HTML5、JavaScript 和 动态网站。

搞笑动图:这些痛,只有程序员懂…

搞笑动图:这些痛,只有程序员懂…

搞笑动图:这些痛,只有程序员懂…

全面总结阿里巴巴Java开发手册

全面总结阿里巴巴Java开发手册

我想阿里巴巴发布的Java开发手册之所以叫做”开发手册”,而不是像Google那样叫做“Style Guide(样式风格)”,是因为它不仅仅局限于style guide这一方面,而是以Java开发者为中心视角,划分为编程规约、异常日志规约、MYSQL规约、工程规约、安全规约五大块,再根据内容特征,细分成若干二级子目录。

Ubuntu为什么如此流行?看国外网友怎么议论

Ubuntu为什么如此流行?看国外网友怎么议论

Ubuntu 这个名字的词源来自非洲土语“ubuntu”一词,原意是指“我为人人,人人为我”。虽然相比诞生于 90 年代初的兄弟系统 Debian 来说,最早发行于 2004 年的 Ubuntu 显得后知后觉。但出人意料的是,Ubuntu 厚积薄发,目前已经超越包括 Debian 在内的众多其他 Linux 发行版,发展成为开源 PC 桌面操作系统中装机率最高

程序员的创业陷阱:接私活

程序员的创业陷阱:接私活

我本身是 Java 工程师出身,写代码至今已超过 15 年,创业也超过 10 年,曾经外包过很多项目给别人,也接过很多外包的项目。身处在创业圈,只要有创业朋友主动问过我的,我都会和他说如果你能不接就不要接 ( 当然我也知道,如果不是为了活下去,谁愿意接 ? ),因为这其中有太多陷阱,我分享如下给大家作个参考:

如何撩到一枚闷骚的程序猿

如何撩到一枚闷骚的程序猿

程序猿,属脊椎动物门哺乳动物纲灵长目猿猴亚目程序猿科,是一种温顺,安静的猿类,因为自身较为内向,不注重仪表,闷骚,工作时间太长导致长期单身,在众多猿类中单身情况较为严重。