在上篇文章如何编写一个BT种子爬虫(二)里,我们了解了通过info-hash(magnet:?xt=urn:btih:<info-hash>,也就是磁力链),得到种子metadata(元数据)的底层协议。本来打算基于libtorrent来编写代码,但是libtorrent是 C++ 编写的,我不太熟悉 C++(╯‵□′)╯︵┴─┴。官方也提供了其他语言的binding,pytho...
Docker要解决什么问题这段代码在我的机器上没问题啊φ( ̄∇ ̄o),相信大部分程序员都遇到过这种场景,运营反馈了生产环境的bug给我们,我们在自己的电脑运行了代码,然后对运营说出了开头的那句话。开发过程中一个常见的问题就是环境不一致。由于开发环境、测试环境、生产环境不一致,导致有些bug并未在开发过程被发现。环境的配置也是一件麻烦事,开发环境、测试环境、生产环境都要配置一遍,开发环境多是在...
我现在已经离不开科学上网了,基本上每天都要上。Google,Youtube和Twitter。Google用来搜索,Google在搜索的匹配度方面,大大超过百度几条街,拯救了大批像我这样面向搜索引擎编程的程序员😃。Youtube用来娱乐,Youtube可以看作是海外的b站,除了看一些娱乐消遣的视频,还可以用来学习,很多美国大学的公开课都会放到YouTube,各方面的学习教程应有尽有,美职篮巨星...
在上一篇文章里,我们已经了解了种子文件里的info包含了资源的元数据(metadata)。元数据包括资源的文件名,文件大小,文件块的sha1值等等。我们之前通过DHT协议收集到的info-hash,其实是元数据的经过sha1算法计算后的值。sha1算法是不可逆的算法,是没有办法从info-hash逆向得到元数据。你肯定会问,那收集这些info-hash有什么用,看着其中的某一串BCQQ5HY...
记录一些Linux下,常用的网络命令。ping使用ping命令,可以测试本机到目标主机的网络连通性。ping命令,向目标主机发送icmp echo请求包,然后等待目标主机的icmp reply响应包。ping命令的输出,包含每次请求的往返时间,最后显示统计信息,丢包率,最大/最小/平均的往返时间。root@localhost:~# ping -c 5 www.baidu.com PING w...