记录我过去一周看到的值得分享的东西,每周四发布。
随笔
观本站流量有感
从第零期到现在,已经有接近十个月了。在这十个月间,我的博客日访问量一直是个位数。还有我的技术博客,这么久过去了毫无起色,除了认识的同学偶尔会过来评论捧场(一般还是被我强迫的)之外,没有一个来自其他人的回复。
虽然我一直认为只有做好内容,才有被别人发现的价值。但逛各种论坛时,看到很多人把自己的博客挂出来求访问量,点进去一看内容惨不忍睹,底下还一群人互相吹捧,我的心里……
每日热榜
V 站老哥写的每日热榜,集合了多个平台的热榜。这里是一位学长写的美化版(我还提交了个 PR)。适合摸鱼使用。
新闻
github-do-not-ban-us
上周, GitHub 在没有提前通知的情况下封禁了伊朗开发者的账户,理由是根据美国法律,美国公司 GitHub 不能为被美国制裁的国家提供服务。
GitHub 之后发布公告声明:被限制的只有企业功能与私有库等功能,开源的项目将不受影响。
交通要道可能会沦为未来停车场?
几年前,自动驾驶的概念刚刚开始起来的时候,我就在想一个问题:如果没有停车位,或者停车费高于油费,那么车主将会选择让车辆自己在路上行驶。这篇文章想的更多一点,已经在考虑征收行驶费来规避这种情况了。
但是我的思路与他不同,我认为自动驾驶将会颠覆底层的规则。自动驾驶的汽车更容易被共享,而如果人们更多的使用共享汽车而非私家车,那么停车位紧缺或者堵车等问题都会迎刃而解,也就不存在之后的问题了。
62 岁程序员的骚操作:1 个漏洞赚 3 年,事发后被判 10年…
别说我没告诉你们赚钱的门路。
技术杂谈
bot.sannysoft.com
一个用于检测你的爬虫伪装的程度的网站,从多个纬度分析流量是否来自真实用户。
不过有矛就有盾,这里就是一个能够绕过大部分检测的方法。
常见的 Git 错误与解决方案
涵盖了常见的 Git 错误与解决方案,这里是它的中文翻译版。
http.cat
一个用猫图来表示各种 HTTP 状态码的网站。

Django 3.0 将支持异步功能
因为内置 GIL 锁的限制, CPython 的多线程同时间只能有一个线程运行,对于 CPU 密集的程序来说,多线程几乎毫无意义,只能使用多进程,但是多进程之间的同步与资源共享比多线程要麻烦的多。
本来社区对于取消 GIL 锁有一定的呼声,之前也曾经有一版实现,但由于性能影响太大而没有被采用。与之相对的是, Python 中异步的支持非常完善。自从 Python3.6 及之后的版本原生支持异步的关键字 async 和 await 之后,写一个异步的程序变得十分简单起来。
本来多线程和异步(协程)属于不同的模型,异步的强大并不能掩盖多线程孱弱的缺点。比起 Java 等语言来说, Python 的多线程就是个玩具,但是 Web 等平台给了 Python 弯道超车的机会。
异步协程针对的主要是 IO 等操作,能够将 IO 的时间利用起来。这是多线程做不到的,多线程虽然能同时进行多个 IO 操作,但每个线程还是要完成完整的 IO 过程。
在 IO (网络通信也是 IO ,称为网络 IO )占大量甚至绝大部分运行时间的 Web 平台上,异步的效率要远远高于多线程。如果一个 Java Web 程序开了 30 个线程,也不过将效率提高了 30 倍。而一个异步的 Python 程序可以轻易将效率提高百倍以上,代价不过是对单个请求来说多了协程切换的开销(因为足够轻量,这个开销一般也没有线程切换大)。
传统的 Web 服务器霸主 Apache 被 Nginx 挑落马下已经有几年了, Nginx 比起 Apache 来说,解决了 C10K (一万个连接)问题,同等的服务器配置,这个数字令 Apache 望尘莫及。
Apache 已经被干下去了, Java 衰落还会远吗?现在新兴的 Go 语言已经蚕食了 Java 很多的份额。我相信, Django 支持异步之后,也会更加昌盛,大家一起把 Java 干掉( Flask 就不要想了,它基于上下文的开发思想就决定了它不能支持上下文切换的异步……)。
表情包
没有,最近(尤其是上周)活太多了,我连上周的分享都鸽了,表情包就只能等下期了。

话说有个老哥 fork 了我的项目给我改了 README 里面一些东西,加了翻译等。然后我注意到了这个很久之前的项目,修了 README 的 BUG ,我在想,老哥之后提 PR 的时候看着不知道哪来的冲突会不会一脸懵逼……