2017-09-30 YongHao Hu
DNS
R 语言用的垃圾回收算法是 分代算法, 有一个小优化就是会用 name 字段来实现 copy on write. 当 name 为0时, 没有任何人用它,可以删掉; 当 name 为1时, 正在有表达式在用它,所以复制了一份; 当 name 为2时, 证明有另一个变量指向了它,当修改时要复制一份出来. 继续阅读 »
2017-09-10 YongHao Hu
NAT
关于 NAT,你所不知道的一切 作为程序员,我们都知道,ipv4地址很早就不够用了,然后有一项技术,可以内网用同一个外网 ip——是的,那就是 NAT(Network Address Translation),网络地址交换技术。 它的原理,其实很简单。假如分配给你的内网地址是10.9.8.11, 而公网是169.5.6.1, 内网地址是没办法与外网通信的——因为其他地方也有内网,也会有跟你一样的地址10.9.8.11。 继续阅读 »
2017-06-18 YongHao Hu
工作中必备 git 技能详解 绝大多数人对于 git的认识只停留在git status, git add, git push, git pull, 好一点会知道git merge, 那就是全部了。 不信? 继续阅读 »
2017-05-18 YongHao Hu
###To be or not to be### 我们也许曾经在写注释与不写之间摇晃不已, 不写是因为代码容易变化而注释往往被忽略掉了,这时注释反而有害; 但又因为就算一个有意义的名字 也难以信达雅的传递程序的意义. Elixir 给出了它的答案. But the problem with comments is that they just don’t get maintained. The code changes, the comment gets stale, and it becomes useless. Fortunately, ExUnit has doctest, a tool that extracts 继续阅读 »
2017-05-04 YongHao Hu
go
Google Japan 第二次面试 面试官打来,寒暄了一两句,就说 should we start? 我以为像上次一样,直接一道 leetcode hard 难度拍过来,没想到竟然问基础知识! http://yonghaowu.github.io//2016/10/25/GoogleJapanInterview/ 继续阅读 »
2017-05-02 YongHao Hu
go
多线程的并发处理: 在有限时间内, 同时并发处理 n 个资源 ``` //from https://talks.golang.org/2012/concurrency.slide#47 c := make(chan Result) go func() { c 继续阅读 »
2017-03-09 YongHao Hu
go
``` var maxFileSize int64 = 10 * 1000 * 1000 //limit upload file to 10m if r.ContentLength > maxFileSize { http.Error(w, "request too large", http.StatusExpectationFailed) return } r.Body = http.MaxBytesReader(w, r.Body, maxFileSize) 继续阅读 »
2016-12-10 YongHao Hu
go
apt-get install 的原理是什么?我们知道自己编译安装一个包的过程是./configure, make, make install. 但是, apt-get install 做了什么呢? 分析依赖并且下载相应的包, 以下命令会把相应的包都下载到本地. 继续阅读 »
2016-12-09 YongHao Hu
go
在大一寒假时,正好在知乎看到了谷歌编程之夏(GSoC)的含金量高吗?此问题,心向往之。 在浏览了一些答案后, 看到@larmbr宇 介绍了@洪谦(QianHong) 热心帮助学生参与GSoC,虽自知还是菜鸟一枚,但还是诚惶诚恐的私信了他,希望能够参与GSoC。相信各位在程序员的成长路上,肯定都会有参与开源项目的小目标,先不说5000美金,仅仅是有目标性的参与开源项目就吸引力满满了。 随后@larmbr宇就帮忙联系QianHong,并且给出了鼓励与建议;P 继续阅读 »
2016-12-03 YongHao Hu
go
准备工作: 1.学习java以及安卓开发,我读了JAVA核心技术和第一行代码 2. 利用PackageManager管理器,检索所有的应用程序与数据目.再用ActivityManager与PackagesInfo获取从上得到的所有app名称以及pid,并且使用listview布局展示出来。 3. 我们可以在proc/(pid)/tcp或者udp这些文件夹中得到socket的信息,得到的信息如下: ``` 继续阅读 »