请用面向对象的思想,谈一谈面试的过程
很久没有思考过什么是面向对象这个问题了,就好像很久没有吃过烤红薯一样,那股香味究竟是什么,已经很难准确地形容出来了。脑海中只浮现出这样一幅动图: 有点矛盾,有没有?先不管这么多了,且来看看什么是面向对象吧。 一开始的时候,并没有面向对象,只有面向过程的概念。我们回到秋秋面试的话…
Node.js常用模块Module的加载机制与使用
native模块,在开发中使用的Nodejs的http、buffer、fs等,底层也是调用的内建模块(C/C++)。 在Nodejs中模块加载一般会经历3个步骤,路径分析、文件定位、编译执行。 系统缓存:模块被执行之后会会进行缓存,首先是先进行缓存加载,判断缓存中是否有值。 系…
微服务Consul系列之集群搭建
在上一篇中讲解了Consul的安装、部署、基本的使用,使得大家有一个基本的了解,本节开始重点Consul集群搭建偏实战,官方推荐3~5台Server,因为在异常处理中,如果出现Leader挂了,只要有超过一半的Server还处于活跃状态,consul就会重新选举新的Leader…
2048块GPU再次加速SGD:富士通74.7秒完成ResNet-50 训练
选自arXiv,作者:Masafumi Yamazaki 等,机器之心编译,参与:杜伟、Chita。 这一次,来自富士通的研究人员用上了 2048 块 GPU,以 81,920 的批量大小用 74.7 秒完成了 ResNet-50 训练。 在大规模数据集上训练的深度神经网络(D…
996:只要能活着就好,不管活得多么糟糕
最近,我 这个程序员所在的圈子里发生了一件天大的事。有个“胆大包天”的家伙在 GitHub 上发起了一个名为“996.ICU”(工作 996,生病 ICU)的项目,号召被压榨的程序员们联合起来抵制互联网公司的996工作制。 多说一句,GitHub 虽然是代码托管平台,但这个项目…
在定制硬件上实现DNN近似算法,一文概述其过去、现在与未来
选自arXiv,作者:ERWEI WANG等,机器之心编译,参与:杜伟、淑婷。 来自社交媒体和物联网等多个渠道的可用数字数据(如图像、视频和语音)呈指数级增长,这驱动了对高性能数据分析的需求。与其它机器学习算法相比,深度神经网络(DNN)在过去十年里实现了巨大的准确率提升。它的…
每周分享五个 PyCharm 使用技巧(二)
这是 「PyCharm 技巧分享」系列的第二篇分享。由于上一篇文章得到了大家的一些赞同,所以今天又来给大家推荐一些我平时自己有用的小技巧,大家择需所取即可。 06. 神一样的调试技巧 假如我们在一个爬虫的项目中,会使用到 正则表达式 来匹配我们想要抓取的内容。正则这种东西,有几…
微服务Consul系列之服务部署、搭建、使用
以上只是列举的笔者曾经遇到的几点问题,当然问题还不止于这些,下面介绍的Consul可以有效解决这些问题,当然还有一些其它的优点,让我们一起期待下文的Consul的讲解。 服务发现:可以方便的实现服务注册,通过DNS或者HTTP应用程序可以很容易的找到他所依赖的服务. Ke…
手把手教你将矩阵&概率画成图
选自math3ma,作者:Algebra,机器之心编译,参与:高璇、张倩。 今天我想分享一个简单的 idea,它既不新颖也不花哨。甚至很多人都有过这个想法。但是无论你有没有这么想过,我都希望你能抽出几分钟和我一起重新感受这个想法。 想法非常简单,但非常实用。 首先严谨地概括这个…
《HelloGitHub》第 36 期
分享 GitHub 上有趣、入门级的开源项目。 这是一个面向编程新手、热爱编程、对开源社区感兴趣 人群的月刊,月刊的内容包括:各种编程语言的项目、让生活变得更美好的工具、书籍、学习笔记、教程等,这些开源项目大多都是非常容易上手,而且非常 Cool。主要是希望大家能动手用起来,加…
Python用不好?看官方中文文档啦
以前也是有一些第三方维护的 Python 中文文档,不过可能因为人力等限制,并做不到同步更新与维护。目前也有很多高质量的 Python 中文资源,但大部分都是大牛写的书或教程,官方文档的翻译并得不到保证。 最近很多开发者发现 Python现在已经有官方中文文档了,但直接从 Py…
Java面试官:兄弟,你确定double精度比float低吗?
我有一个朋友,叫老刘,戴着度数比我还高的近视镜,显得格外的“程序员”;穿着也非常“不拘一格”,上半身是衬衣西服,下半身是牛仔裤运动鞋。 我和老刘的感情非常好,每周末我们都要在一起吃顿饭。这周,我们吃的是洛阳有名的吴家刀削面,席间他聊了一件蛮有趣的面试经历;我听得津津有味。 散席…
每周分享五个 PyCharm 使用技巧(一)
PyCharm 是大多数 Python 开发者的首选 IDE,每天我们都在上面敲着熟悉的代码,写出一个又一个奇妙的功能。 一个每天都在使用的工具,如果能掌握一些高效的使用技巧,肯定会给我们的开发效率带来质的提升。今天我就来写一写我在平时开发中一直在用的,可以明显改善开发效率的使…
JDK 12又来了,我学不动了...
添加一个名为 Shenandoah的新垃圾收集 (GC)算法,该算法通过与正在运行的 Java线程并发执行回收工作来减少 GC暂停时间。Shenandoah的暂停时间与堆大小无关,这意味着无论堆大小是 200MB 还是 200GB,都将拥有相同的暂停时间。 在 JDK源代码中添…
Java:并发不易,先学会用
我从事Java编程已经11年了,绝对是个老兵;但对于Java并发编程,我只能算是个新兵蛋子。我说这话估计要遭到某些高手的冷嘲热讽,但我并不感到害怕。 因为我知道,每年都会有很多很多的新人要加入Java编程的大军,他们对“并发”编程中遇到的问题也会有感到无助的时候。而我,非常乐意…
HashMap,难的不在Map,而在Hash
在平常的开发当中,HashMap是 我 最常用的Map类(没有之一),它支持null键和null值,是绝大部分利用键值对存取场景的首选。需要切记的一点是——HashMap不是线程安全的数据结构,所以不要在多线程场景中应用它。 通常情况下,我们使用Map的主要目的是用来放入(pu…
你可能不太会用的10个Git命令
选自towardsdatascience,作者:Jeff Hale,机器之心编译,参与:李诗萌、Chita。 如果你不熟悉基本的 git 命令,在阅读本文前可以先参考我之前写的关于 Git 工作流程的文章。 本文介绍了 10 个常见的命令以及它们的一些参数。每个命令都可以链接到…
“挑三拣四”地学一学Java I/O
古人云:“读书破万卷,下笔如有神”。也就是说,只有大量的阅读,写作的时候才能风生水起——写作意味着输出(我的知识传播给他人),而读书意味着输入(从他人的知识中汲取营养)。 对于Java I/O来说,I意味着Input(输入),O意味着Output(输出)。读书写作并非易事,而创…
Java枚举:小小enum,优雅而干净
《Java编程思想》中有这么一句话:“有时恰恰因为它,你才能够‘优雅而干净’地解决问题”——这句话说的是谁呢?就是本篇的主角——枚举(Enum)——大家鼓掌了。 在之前很长时间一段时间里,我都不怎么用枚举,因为总感觉它没什么用处——这其实就是“自我认知”的短见。当一个人一直蹲在…
Java注解(Annotation):请不要小看我!
网络上对注解的解释过于严肃、刻板,这并不是我喜欢的风格。尽管这样的解释听起来非常的专业。 为了缓解大家对“注解”的陌生感,我来说点有意思的。其实我对“注解”这个词的第一印象并不是Java的注解,而是朱熹的名作《四书章句集注》。为什么我会有这么大的脑洞呢?因为当我试着去翻译Ann…