|
| 1 | +--- |
| 2 | +layout: post |
| 3 | +title: "Python 周报 #3 | 2020-05-17" |
| 4 | +permalink: /3 |
| 5 | +--- |
| 6 | + |
| 7 | +Python 周报,提供有价值的 Python 及行业相关信息。 |
| 8 | + |
| 9 | +如果你发现了有价值的信息、文章和工具等,可以到 [Issues](https://github.com/qiwihui/PythonWeekly/issues) 里提给我,记得写上推荐的理由。也欢迎提出意见和建议。 |
| 10 | + |
| 11 | +## :newspaper_roll: 新闻 |
| 12 | + |
| 13 | +### [呼吁志愿者!Python GitHub 迁移工作组](https://pyfound.blogspot.com/2020/05/call-for-volunteers-python-github.html) |
| 14 | + |
| 15 | +工作组正在寻找志愿者参与 Python 从 bugs.python.org 到 GitHub 的迁移。工作组要确保迁移的方向能够代表社区的需求! |
| 16 | + |
| 17 | +### [Rust 语言5岁了](https://blog.rust-lang.org/2020/05/15/five-years-of-rust.html) |
| 18 | + |
| 19 | +Rust 是一种通用的编程语言,使每个人都可以构建可靠且高效的软件。Rust 可以构建在堆栈中的任何位置运行,无论是作为操作系统的内核还是Web应用程序。它完全由一个开放的,多元化的个体社区组成,主要是志愿者,他们慷慨捐赠自己的时间和专业知识来帮助 Rust 成为现实。从2015年 Rust 发布1.0至今已经五年了!在过去的五年中,Rust发生了很大的变化,因此,Rust核心开发者回顾了自语言稳定以来所有贡献者的工作。 |
| 20 | + |
| 21 | +## :pencil: 文章和教程 |
| 22 | + |
| 23 | +### [MIT 实用工具课程](https://missing.csail.mit.edu/) |
| 24 | + |
| 25 | +从操作系统到机器学习,所有课程都可以教你计算机科学方面的高级主题,但是其中一门关键主题却很少涉及,而是让你自己弄清楚:对工具的熟练程度。MIT 推出的这门极为“实用”的课程,介绍了比如如何使用一些好用(能大大提高生产力)的工具,如命令行、编辑器、版本控制、tmux、profiler、数据处理工具(如awk、sed、grep、perl)等等。 |
| 26 | + |
| 27 | +### [Python 工匠:写好面向对象代码的原则](https://github.com/piglei/one-python-craftsman) |
| 28 | + |
| 29 | +- [上篇](https://www.zlovezl.cn/articles/write-solid-python-codes-part-1/) |
| 30 | +- [中篇](https://www.zlovezl.cn/articles/write-solid-python-codes-part-2/) |
| 31 | +- [下篇](https://www.zlovezl.cn/articles/write-solid-python-codes-part-3/) |
| 32 | + |
| 33 | +《Python 工匠》是 [@piglei](https://github.com/piglei) 的编程经验分享,内容涵盖编码技巧、最佳实践与思维模式等方面。“写好面向对象代码的原则”这个系列的文章中,作者用一个真实的 Python 代码样例向读者介绍了 SOLID 设计原则。可以说,在编写 OOP 代码时,如果遵循这 5 条设计原则,就更可能写出可扩展、易于修改的代码。相反,如果不断违反其中的一条或多条原则,那么很快你的代码就会变得不可扩展、难以维护。这 5 条设计原则分别是: |
| 34 | + |
| 35 | +- S:单一职责原则 |
| 36 | +- O:开放-关闭原则 |
| 37 | +- I:接口隔离原则 |
| 38 | +- L:里氏替换原则 |
| 39 | +- D:依赖倒置原则 |
| 40 | + |
| 41 | +### [通过在开源项目里中反编译 Python 字节码来发现秘密](https://blog.jse.li/posts/pyc/) |
| 42 | + |
| 43 | +缓存控制着我周围的一切。`pyc` 文件可以包含机密信息,不应将其检入源代码管理。使用标准的 Python [.gitignore](https://github.com/github/gitignore/blob/master/Python.gitignore) 文件。 |
| 44 | + |
| 45 | +### [重新映射 Python 操作码](https://medium.com/tenable-techblog/remapping-python-opcodes-67d79586bfd5) |
| 46 | + |
| 47 | +通过重新映射(remap)Python 操作码,作者反编译了一份混淆过的 Python 字节码,从而复原了源码。 |
| 48 | + |
| 49 | +推荐阅读:“保护 Python 代码库”系列文章: |
| 50 | + |
| 51 | +- [第一篇](https://bits.theorem.co/protecting-a-python-codebase/) |
| 52 | +- [第二篇](https://bits.theorem.co/protecting-a-python-codebase-part-2/) |
| 53 | +- [第三篇](https://bits.theorem.co/protecting-a-python-codebase-part-3/) |
| 54 | + |
| 55 | +### [讨论中:Python的性能](https://www.welcometothejungle.com/en/articles/btc-performance-python) |
| 56 | + |
| 57 | +在本文中,作者采访了 Python 核心开发人员 Victor Stinner(VS)和经验丰富的 Python 开发人员 Julien Danjou(JD)。对于在Python社区中已有一段时间的人来说,他们的名字应该很熟悉。与其他一些文章讨论Python为何运行缓慢的技术原因不同,本文重点介绍了为提高Python性能而付出的努力和遇到的困难。 |
| 58 | + |
| 59 | +── 引自 [@laike9m](https://laike9m.com/) 的文章:[我对“讨论中:Python 的性能”的反应](https://laike9m.com/blog/my-reaction-to-under-discussion-the-performance-of-python,137/) |
| 60 | + |
| 61 | +### [使用 Python `concurrent.futures` 轻松实现并发](https://rednafi.github.io/digressions/python/2020/04/21/python-concurrent-futures.html) |
| 62 | + |
| 63 | +使用 Python `concurrent.futures` 包实现简单任务的并发。 |
| 64 | + |
| 65 | +### [Python 风格的要素](https://github.com/amontalenti/elements-of-python-style/blob/master/zh-cn/README.md) |
| 66 | + |
| 67 | +这篇文章基于 PEP8,覆盖语法、模块布局、范式和架构等多个方面,介绍了一些个人认为比较好的 python 编写风格。 |
| 68 | + |
| 69 | +### [如何将Django模型移动到另一个应用程序](https://realpython.com/move-django-model/) |
| 70 | + |
| 71 | +在这个分步指南中,我们将学习如何使用 Django migration 将 Django 模型从一个应用程序迁移到另一个应用程序。你将探索三种不同的技术,并学习一些有用的指南,以根据自己的情况和需求选择最佳方法。 |
| 72 | + |
| 73 | +### [在计算机视觉和深度学习中的伦理应用──通过自动年龄和军事疲劳检测识别儿童兵](https://www.pyimagesearch.com/2020/05/11/an-ethical-application-of-computer-vision-and-deep-learning-identifying-child-soldiers-through-automatic-age-and-military-fatigue-detection/) |
| 74 | + |
| 75 | +在本教程中,我们将学习如何应用计算机视觉,深度学习和 OpenCV 通过自动年龄检测和军事疲劳识别来识别潜在的儿童兵。 |
| 76 | + |
| 77 | +### [并非每个容器内部都有一个操作系统](https://iximiuz.com/en/posts/not-every-container-has-an-operating-system-inside/) |
| 78 | + |
| 79 | +但是每一个都需要你的 Linux 内核。这篇文章解释了容器化技术的一些底层原理,对于了解容器很有帮助。 |
| 80 | + |
| 81 | +## :office: 项目,软件包和代码 |
| 82 | + |
| 83 | +[pywasm](https://github.com/mohanson/pywasm):用纯 Python 编写的 WebAssembly 解释器 |
| 84 | + |
| 85 | +[MicroscoPy](https://github.com/IBM/MicroscoPy):使用乐高积木,Arduino,树莓派和3D打印构建的开源,电动模块化显微镜。 |
| 86 | + |
| 87 | +<!-- ## :books: 书籍 |
| 88 | +
|
| 89 | +不错的书的推荐。 --> |
| 90 | + |
| 91 | +## :tv: 音视频 |
| 92 | + |
| 93 | +### Podcase.\_\_init\_\_ ── [第262期:在远程工作时代管理分布式团队](https://www.pythonpodcast.com/sourcegraph-remote-work-episode-262/) |
| 94 | + |
| 95 | +我们中有更多的人比以往任何时候都在远程工作,许多人以前没有使用远程工作环境的经验。在本集中,Quinn Slack 讨论了他经营 Sourcegraph 作为一家完全分布式公司的想法和经验。他介绍了从部分迁移到完全远程所学到的经验教训,在管理分布式劳动力方面行之有效的实践,以及他在此过程中面临的挑战。如果你在远程工作中挣扎,那么本次对话提供了一些有用的技巧和参考,可供你进一步阅读,以帮助你在当前的环境中取得成功。 |
| 96 | + |
| 97 | +### [回形针:二维码的秘密](https://www.youtube.com/watch?v=XW8sgT_D0To&feature=share) |
| 98 | + |
| 99 | +- [B站视频地址](https://www.bilibili.com/video/BV1Y54y1D7cT) |
| 100 | +- [文字版](https://mp.weixin.qq.com/s/joGhClbA4obS8KTGLhZv3w) |
| 101 | + |
| 102 | +你扫描二维码的一瞬间究竟发生了什么?为什么二维码被破坏了也能扫出来?在这集视频中,回形针团队用形象的方式向我们介绍了二维码的生产过程以及背后的原理。 |
| 103 | + |
| 104 | +## :coffee: 关注我们 |
| 105 | + |
| 106 | +RSS 订阅:[PythonWeekly RSS](https://pyweekly.qiwihui.com/feed.xml) |
0 commit comments