太优秀了,让人在想以后如果考虑回去社招是不是也得先恶补半圈这各种开源组件的领域知识……我对国内面记忆还停留在校招时代的基础知识三千问里
https://aleiwu.com/post/interview-experience/
其实除了库作者确实也不用太关注这些有点偏的语言特性,基本上不是给上层写应用的程序员用的。后几个PEP也是在这个基础上处理一些库作者实践里遇到的问题,在现在Python社区强推async await这套asyncio的现状下,yield这套只能说是早期协程实现的遗迹,语法和名字上都挺误导人,设计也不防呆的很容易用错。
今天跟朋友聊了下Python的yield才发现generator确实是个协程实现,我之前一直当作特殊语法的iterator来看所以没怎么仔细研究。
这个yield语法最早是在PEP 255里提出的,确实是作为一个有限协程实现,能为producer-consumer模式提供一个方便的语言支持,在使用上其实和迭代器差不多除了语法不同。
但是四年后的PEP 342加入了对generator的send方法和用yield在generator内部读取send传值的用法,这个允许了generator和外界的双向通信,同时给generator一些异常支持(但是其实在这一步generator这个名字就已经很误导了,留着这个名字真的只是历史遗迹)
Internet是自由的,起码在千禧的前十年它顺着整个世界自由化的倾向在文化上非常激进的放松了约束,匿名性也是其中之一。互联网肯定是要比大众观点自由的多的,它也创造了很多它存在以后才成为可能的问题:
1. 跨国界导致实际上的无政府
2. 匿名性带来的更难追踪互联网犯罪
3. 多国间法律规范不同导致的比烂效应(比如说porn的避风港)
4. 跨地域的恶性信息的快速扩散和极端团体的跨区域成型(terrrorism,边缘性团体)
其中1和3也能在全球化里看到,小政府的管制能力在一个日益复杂的全球化网络里显得越加局限……自身生在一个互联网快速发展的时代所以很多时候都拥抱了这种早期的乐观主义,但是仔细看上去这些问题都是确实存在的而且在随着互联网建设的深入在不断恶化,所以最近这些年对互联网自由的push back也是很正常的。
縁がある限り会ようぞ。