この記事は2023年6月3日で公開された中国語の記事「Python潮流周刊#5:并发一百万个任务要用多少内存?」の日本語訳です。主に LLM によって翻訳され、手修正で校正されていますが、もし不自然の点が気づいたら、「記事の改善」機能で、編集リクエストをいただけるとありがたいです。
こちらから最新号まで購読できます(英語のみですので、ご了承ください。)
こんにちは、Pythonエンジニアのネコです。ここでは毎週、参考になる Python や汎用技術に関する情報をまとめています。一部は英語の内容も含まれており、小見出しにその旨を記載しています。(今回のタイトルは共有項目の一つから取ったもので、すべての内容がそのテーマに関するわけではありませんのでご了承ください。)
🦄記事&チュートリアル
1、100万タスクの同時実行で必要なメモリは?(英語)
Rust、Go、Java、C#、Python、Node.js、Elixir などの主要言語を使って、1件から最大100万件までのタスクを並列実行し、それぞれのメモリ消費量を比較したベンチマーク記事です。タスク数が増えるごとに各言語の順位に大きな変動があり、予想外の結果に驚かされました。
2、Python の並行処理を高速化する asyncio の使い方まとめ(英語)
Python で非同期処理を効率よく行うにはどうすればよいのでしょうか?この記事では、asyncio.gather、asyncio.as_completed、asyncio.wait といった基本 API に加え、Python 3.11 で新たに追加された asyncio.TaskGroup の使い方も紹介されています。(参考:未完訳の中国語記事はこちらです。)
3、元の記事は内容が寄せ集めで独自性に欠けていたため、現在は公開を終了しています。
4、Python マルチスレッドプログラミング徹底ガイド(英語)
Python のマルチスレッドについて幅広く解説された長編記事です。基礎から応用までカバーしており、まさに「究極のガイド」と言える内容。Python でスレッドを扱うなら、一読の価値ありです。
5、プログラミング言語における並行処理の実現方法 ― モデル編
こちらも長文の記事で、よく使われる並行モデルと、さまざまなプログラミング言語がどのようにそれを実装しているかについて紹介しています。姉妹記事として『プログラミング言語における並行処理の実現方法 ― OS 編』もあり、どちらも図解が豊富で情報量も非常に充実しています。
6、テンセントのエンジニアが語る、現場で役立つ9つの心得 (中国語)
長年の実務経験をもとに、コード設計やアーキテクチャ設計、仕事の進め方に関する実践的なアドバイスを紹介しています。DRY 原則、SOLID 原則、高可用性の設計、そして「いかに効率よくラクに仕事を回すか」といった思考法などが取り上げられています。文中ではオブジェクト指向の設計原則にも触れられており、関連として他のテンセントエンジニアによる『Python クラフトマン』シリーズの第12〜14章もあわせて読むのがおすすめです。
7、Python 3.12 の新機能を一望!PEP 701 ― f-string 構文の形式化(中国語)
f-string は Python の中でも最も使いやすい機能の一つですが、いくつかの制限も存在していました。まもなくリリースされるバージョン 3.12 では、この f-string に対して構文の形式化が行われる予定です。詳しくは PEP-701 を参照してください。この記事では、この変更がコードの字句解析(lexing)レベルでどのように影響するのかを直感的に紹介しています。
8、PyCharm:新しいUIで注目したい5つの魅力 (英語)
PyCharm の新しいユーザーインターフェース、もう試してみましたか?本記事では、JetBrains 公式がその使い方と、特に注目すべき5つの魅力的な変更点をわかりやすく紹介しています。
9、PEP-594 が実装済み:Python 3.13 では 20 の標準ライブラリが削除されます (英語)
Python 3.12 の正式リリースはまだ数ヶ月先ですが、次のバージョン 3.13 ではすでに 20 つの標準ライブラリを削除することが決定されています。なかでも、2to3 プロジェクトと lib2to3 モジュールが削除対象に含まれている点は注目です。
10、Grasshopper:Python 向けの新しいオープンソース負荷テストライブラリ (英語)
Python で最も広く使われている分散負荷テストツールの Locust をベースに、さらに pytest と連携して包括的な性能テスト機能を備えた新たなオープンソースライブラリ Grasshopper が公開されました。
11、Python デコレーター:コードを拡張する便利なテクニック (英語)
この記事では、Python デコレーターの基本的な仕組みと使い方をわかりやすく解説し、コードをより効率的かつ柔軟にする方法を紹介しています。
12、3つのハンズオンプロジェクト実践チュートリアル:
- Python で Telegram ボットを作る(英語):Tornado をバックエンドに使い、Render プラットフォーム上にデプロイするTelegram ボット開発のチュートリアルです。
- 週末に Python で DNS を実装する(英語):約 200 行のコードで DNS 解析器を作る方法を解説するチュートリアルで、豊富な学習資料やコード解説があり、非常に多くを学べます。さらに、最後には7つの演習問題があり、DNS 解析器の機能を拡張できます。(Julia Evans 氏は非常に優れた作者で、ブログ、サイト、pandas-cookbookなどもおすすめです!)
- Pythonで自分だけのGitを作る(英語):こちらのプロジェクトは非常に評価が高いです。サイトのデザインも独特で洗練されており、最小限の動作するプロジェクトから段階的にコードを追加しながら、Git の機能を丁寧に解説しています。各章では Git の差分比較を用いてどこにコードの変更があったかを明確に示しており、非常にわかりやすい内容です。
🐿️プロジェクト&リソース
1、frogmouth:ターミナル内で Markdown ファイルを閲覧できるツール(英語)
frogmouth はローカルや URL の Markdown ファイルを開いて、ブラウザに似たナビゲーションバーや閲覧履歴、ブックマーク、目次などの機能を備えています。
2、Meta AI の SAM を活用した画像分割用 Python GUI(英語)
これは、Meta 社の AI モデル SAM に対応した Python 製のデスクトップアプリケーションで、写真内の物体を検出・切り出すことができます。
3、GirlfriendGPT:あなたの AI 恋人(英語)
恋人はいますか?この初心者向けプロジェクトでは ChatGPT を使って、個性豊かな人格や声、さらには自撮り写真を備えた AI 恋人を作れます。
4、Python 進化の軌跡.pptx (中国語)
技術共有用のスライド資料で、Python 3.7~3.11 におけるパフォーマンス向上や型サポートの改善、開発者の使い勝手向上について解説しています。
5、soundstorm-pytorch:Pytorch による SoundStorm 実装(英語)
SoundStorm は Google Deepmind が新たに提案した、高効率で非自己回帰オーディオ生成モデルです。soundstorm-pytorch は Pytorch を用いてこのモデルを実装したものです。
6、asynq:Python の非同期プログラミングライブラリ(英語)
asynq は⽶ Quora 社が開発した非同期プログラミングライブラリで、外部サービスへのバッチ処理リクエストに特化しています。Memcached や Redis などのサービスに対し、一度のリクエストで複数のキーをまとめて取得するため、複数回に分けて一つずつ取得するよりも高速です。
7、Propan:機能豊富で使いやすい Python 非同期 Web フレームワーク(英語)
Pydantic、FastAPI、pytest をベースにした非同期フレームワークで、メッセージキューのコード統合を簡単にし、便利な開発ツールキットを提供します。マイクロサービスのメッセージングパターンに基づいて設計されているため、宣言型のメッセージキューフレームワークでもあります。
8、talkGPT4All:GPT4All をベースにした音声対話プログラム
OpenAI の Whisper モデルでユーザーの音声をテキストに変換し、そのテキストを GPT4All の言語モデルに渡して応答を生成。最後に音声読み上げソフトで応答を読み上げます。
9、lightly:画像の自己教師あり学習向け Python ライブラリ(英語)
PyTorch のようなスタイルで書かれた自己教師あり学習用のコンピュータビジョンフレームワークで、PyTorch Lightning を利用した分散トレーニングをサポートしています。
🐢ポッドキャスト&動画
1、HardHacker:個人開発として稼ぐのは難しい?正しい Build In Public 戦略が必要 (中国語)
海外の個人開発者の間でよく使われている Build In Public (公開しながら開発する)戦略について取り上げています。私もこのエピソードに強く共感しており、週刊で扱うデータや制作フロー、個人の知識インプット方法や制作体制について、近いうちにいくつか共有する予定です。
2、Beyond Code:マイクロソフト社から退職してからの人生はどんな体験?読書の意義と能動的・受動的な生き方(中国語)
これは新しく始まったプログラマーの雑談ポッドキャストで、テーマは自由ですが感動的な場面が多いです。今回は第1回の内容を紹介します。ちなみに、現在は第3回まで配信されており、第3回のゲストは Vue.js の作者である Evan You 氏です!
3、Changelog #526:友人と Git を使いこなす(英語)
このエピソードでは、Git-Heat-Map、Git-Sim、git-bug、GitUI など、さまざまな Git ツールについて語られています。中には Python 製のツールもあり、Python の依存関係のインストールについての話題にも触れられました。また、ホストたちが話した内容について、Brett Cannon 氏が ブログで反論 を公開し、pipx、.pyz ファイル、システムパッケージマネージャーの正しい使い方を解説しています。
4、#418:Python アプリで機密情報を安全に管理する方法(英語)
「Talk Python To Me」のこのエピソードでは、アプリケーション内で扱うべき機密情報の管理方法について解説されており、あわせて日常的なパスワード管理のアプローチについても話題に挙がっています。ちょうど今週、『2023-21: 私の 1Password キー管理の実践』という記事も目にしました。この記事では、パスワード管理、SSH/Shell との連携、CI/CD パイプラインでの活用方法などが詳しく紹介されています。
5、アンドリュー・ン氏による3つの新しい生成 AI のコース(英語)
OpenAI の ChatGPT API を使ったシステム構築、LangChain を活用した LLM アプリ開発、そして Diffusion モデルの仕組みについて学べる内容です。
6、MIT の無料 Python 関連コース3選(英語)
マサチューセッツ工科大学が提供する無料講座で、Python を使ったコンピュータサイエンスとプログラミング入門、従来の機械学習、ディープラーニングの3つが学べます。
スポンサー&サポート
コンテンツの作成には多くの時間と労力がかかっています。もしこの記事が少しでも参考になったと感じたら、気軽にサポート や コーヒーをごちそう などをいただけると嬉しいです!この週刊が気に入った方は、ぜひ必要としている仲間にもシェアして、より多くの方に役立ててもらえたら嬉しいです〜
また、スポンサーも募集中です。興味のある方はぜひ DM にてご連絡ください。
本週刊について
Python トレンド週刊では、国内外200以上の情報源から注目すべき記事、チュートリアル、オープンソースプロジェクト、ソフトウェアツール、ポッドキャスト、動画、話題のトピックなどを厳選してお届けします。本週刊のビジョンは、すべての読者が Python 技術を高めるとともに、本業や副業の収入アップにつなげられるようサポートすることです。
購読方法:Python猫 (Wechatのグループ参加可)| RSS | メールマガジン | Github | Telegram | Twitter






