この記事は2023年7月8日で公開された中国語の記事「Python潮流周刊#10:Twitter 的强敌 Threads 是用 Python 开发的!」の日本語訳です。主に LLM によって翻訳され、手修正で校正されていますが、もし不自然の点が気づいたら、「記事の改善」機能で、編集リクエストをいただけるとありがたいです。
こちらから最新号まで購読できます(英語のみですので、ご了承ください。)
こんにちは、Python エンジニアのネコです。ここでは毎週、参考になる Python や汎用技術に関する情報をまとめています。一部は英語の内容も含まれており、小見出しにその旨を記載しています。(今回のタイトルは共有項目の一つから取ったもので、すべての内容がそのテーマに関するわけではありませんのでご了承ください。)
Telegram チャンネルを開設しました、ぜひご登録ください:https://t.me/pythontrendingweekly
🦄記事&チュートリアル
1、Python と Golang のガベージコレクション徹底比較
代表的なガベージコレクションアルゴリズムとその特徴・メリット・デメリットについて解説します。Python のガベージコレクションの仕組みとメモリリーク対策、そして Golang のガベージコレクションの特徴とメモリリークへの対処法について詳しく説明します。
2、競技プログラマー流のデバッグ術 (英語)
プログラミングコンテストでは、制限時間内に複数の難問を解かなければなりません。この記事では、プログラミングコンテストで活用できる自動化されたデバッグ手法を紹介します。この手法はコンテストでのパフォーマンス向上に役立つだけでなく、実際のソフトウェア開発にも参考になります。
3、Python 3.12 プレビュー版:Linux パフォーマンスプロファイラ対応 (英語)
Python 3.12 の正式版は今年10月にリリース予定で、注目すべき新機能の一つとして Linux perf プロファイラのサポートが追加されます。この記事では、Linux perf プロファイラの基本概念、Python 開発におけるメリット、Python 3.12 での使用方法、パフォーマンスデータの解析手法、データ可視化方法などについて詳しく解説しています。
4、CPython が常勤エンジニアを1名募集 (英語)
Łukasz Langa 氏(Meta の支援による PSF 初の常勤開発者)が最近、新たに「サポート役」のエンジニア(Bloomberg の支援)を募集することを発表しました。ちょうど2週間前には、PSF 公式サイトで初の常勤セキュリティ開発エンジニア (OpenSSF の支援)の募集が発表されたばかりです。このように新たな支援が続々と集まっていることは、寛大な支援者たちの貢献によるものと言えるでしょう。
5、PEP 563 と PEP 649 (英語)
PEP-563 はアノテーションの遅延評価を、PEP-649 はデスクリプタを使用したアノテーションの遅延評価を提案しています。この2021年の記事は PEP-563 の著者である Łukasz Langa 氏によって執筆され、両方の PEP の紹介と比較が行われています。両提案とも Accepted 状態ですが、当初 Python 3.10 での実装が予定されていた PEP-563 は無期限延期が発表されました。この状況から、より多くの注目を集める必要があるかもしれません。(投稿者:Plutonium)
6、Python デザインパターン:クリーンで再利用性の高いコード(オブザーバー編) (英語)
複雑なソフトウェアを開発する際には、デザインパターンを活用することが一般的です。本記事では、オブザーバーパターンの基本概念、適用場面、Python での実装例を解説し、さらにイベント駆動アーキテクチャ(EDA)との比較検討も行っています。
7、__all__ は必須ではありません (英語)
この記事では、Python におけるモジュールの3つのインポート方法と all の使い方を紹介し、all に代わる方法として、init.py ファイルで必要な名前を直接インポートする手法について重点的に解説しています。
8、Python で簡易プログラミング言語を実装する (英語)
Python を使ってプログラミング言語を実装する方法を解説する連載チュートリアルです。第1回では print 文を実行できる基本的なプログラミング言語を実装し、第2回では変数と数式のサポートを追加しました。字句解析、構文解析、コード生成、実行などの技術的な概念についても説明しています。
9、Python の collections.Counter で出現回数をカウントする (英語)
Counter は Python で最も便利なデータ構造の一つです。この記事では、以下のような有用な操作について解説しています:出現頻度の高い上位 N 個の要素を取得する方法、Counter への要素の追加と削除、負の値を持つ要素の除去、Counter を使った算術演算、ジェネレータ式を Counter に渡す方法など。
10、Numba Vectorize で Python コードを高速化 (英語)
Numba は Python のパフォーマンス向上に広く用いられるライブラリです。この記事では、その重要な機能であるベクトル化(Vectorize)について解説しています。内部的な仕組みや、単一命令複数データ(SIMD)操作の強力な機能を最大限に活用する方法を理解することができます。また、5つの具体的な使用例におけるコードサンプルも紹介されています。
11、Paul Graham:偉大な仕事を成し遂げる方法 (中国語訳)
Paul Graham 氏(『ハッカーと画家』の著者)が最近、『How to Do Great Work ?』という記事を発表しました。要点を一言でまとめると、偉大な仕事を成し遂げるためには「好奇心」「努力」「自分に合った仕事の種類」の3つが重要です。この長文記事では、以下の重要なポイントについて深く掘り下げています:偉大な仕事を達成するための鍵とは?自分に適した仕事の種類を見つける方法は?好奇心を持ち続けるにはどうすればよいか?偉大な仕事の基準は何か?なぜ偉大な仕事に取り組む必要があるのか?
訳注:日本語訳はここで見られます。
12、Paul Graham:報われる努力の仕方 (中国語訳)
Paul Graham 氏が2021年に執筆した『How to Work Hard ?』の中国語訳です。前回紹介した「偉大な仕事を成し遂げる方法」と関連する内容となっており、合わせて読むことでより深い理解が得られるでしょう。
訳注:日本語訳はここで見られます。
13、Django 2023 年 6 月:テクニックとディスカッション (英)
これは Django に関する月刊まとめ記事で、Django を学ぶためのテクニック、リソース、記事などを紹介しています。
🎁Pythonトレンド週刊🎁は10号まで無料公開中!下記リンクからすべてのバックナンバーを閲覧できます:https://pythoncat.top/tags/weekly
🐿️プロジェクト&リソース
1、cinder:Meta 社内で開発されたパフォーマンス重視の CPython バージョン (英)
今週の大きなニュース:Meta が Twitter の競合サービス Threads を公開し、わずか2日で登録者数が3,000万人を突破しました。そのバックエンドでは Cinder が使用されており、これは Python 3.10 をベースに構築された高性能バージョンで、バイトコードインラインキャッシュ (bytecode inline caching)、コルーチンの事前評価 (eager evaluation of coroutines)、メソッド単位の JIT (method-at-a-time JIT)、実験的なバイトコードコンパイラなど、多くのパフォーマンス最適化機能を含んでいます。(スター数 2.6K)
2、vlite:NumPy で実装されたシンプルなベクトルデータベース (英)
200行未満のコードで実装された、高速・軽量・シンプルなベクトルデータベースです。
3、gpt-migrate:コードベースをフレームワークや言語間で移行するツール (英)
GPT を使って少量のコードをあるプログラミング言語から別の言語に変換することは、もはや難しくありません。しかし、コードベース全体の言語やフレームワーク移行は、簡単な作業ではないように思えます!このプロジェクトは GPT-4 を使用しており、現在 Python と JavaScript のようなシンプルな言語で良好な結果を出しています。(star 5.4K)
4、FastDepends:FastAPI から分離された DI フレームワーク、同期・非同期両方のモードをサポート (英)
これは FastAPI から HTTP 関連のロジックをすべて除去して作成された依存性注入フレームワークです。
5、Data-Copilot:自律的ワークフローで大量のデータと人間をつなぐシステム
これは大規模言語モデル (LLM) を基盤としたシステムで、中国の金融市場と連携し、中国の株式、投資信託、経済・金融データ、リアルタイムニュースを取得できます。
6、awesome-read-the-docs:厳選されたプロジェクトドキュメントのリスト (英)
Read the Docs はドキュメントの構築と公開のためのオープンソースプラットフォームです(Sphinx や MkDocs で生成されたドキュメントを目にしたことがある方も多いでしょう)。このリポジトリでは、いくつかのオープンソースプロジェクトのドキュメントを収録しており、それらがどのように優れたドキュメント効果を実現しているかを学ぶことができます。
7、DisCo:指示に基づいてリアルな人間のダンスを生成するツール (英)
これは多目的な人間ダンス生成ツールキットで、参照画像と姿勢データをもとに、人間のダンス画像や動画を生成できます。
8、Mark Shannon 博士論文:動的言語向けの高性能仮想マシン構築 (英)
Mark Shannon は「Shannon 計画」によって多くの人々に知られています。ここで紹介するのは、彼が2011年にグラスゴー大学で提出した博士論文(ダウンロード可能なPDF)で、動的言語向けの仮想マシン構築方法について記述し、抽象機械を中心に据えた仮想マシンツールキットの設計方法を説明しています。
9、blind_watermark:画像へのブラインド透かし追加、透かし抽出に元画像は不要
ブラインド透かし (Blind Watermark) はデジタル透かし技術の一種で、元の画像やテキストがなくても透かしをデータに埋め込むことができます。このプロジェクトは周波数領域を利用したデジタルブラインド透かしで、様々な攻撃を受けても確実に抽出できます。(star 3.6K)
10、VisCPM:CPM ベースモデルを基盤とした中英バイリンガルマルチモーダル大規模モデルシリーズ
これはオープンソースのマルチモーダル大規模モデルシリーズで、中英バイリンガルでのマルチモーダル対話機能 (VisCPM-Chat モデル) とテキストから画像への生成機能 (VisCPM-Paint モデル) をサポートしています。100億パラメータ規模の大規模言語モデル CPM-Bee (10B) をベースに学習されており (週刊第7期 で紹介済み)、視覚エンコーダ (Q-Former) と視覚デコーダ (Diffusion-UNet) を統合して視覚情報の入出力をサポートしています。
11、polars-cookbook:Python polars ライブラリのクックブック (英)
polars は Rust で実装された Python ライブラリで、データ分析のためのものです。このリポジトリには全9章の実用チュートリアルが含まれています。
12、ML システム設計:200 の事例研究 (英)
Netflix、Airbnb、Doordash などの企業はどのように機械学習を活用して自社の製品やプロセスを改善しているのでしょうか?このサイトでは 64 社の 200 事例をまとめており、機械学習の実世界でのユースケースを理解し、機械学習システムの設計方法を学ぶことができます。
🥂ディスカッション&トピック
1、Ask HN:技術史のおすすめ書籍は? (英)
Hacker News に投稿された質問で、技術史に関するおすすめ書籍を尋ねる内容です。
2、Ask HN:最も価値のあるコンピュータサイエンス書籍は? (英)
これも Hacker News での質問で、プログラミング言語、記号論理、アルゴリズム、オペレーティングシステムなどのコンピュータサイエンス関連書籍のおすすめを尋ねる内容です。
🐼本週刊について
Python トレンド週刊では、国内外 200 以上の情報源から注目すべき記事、チュートリアル、オープンソースプロジェクト、ソフトウェアツール、ポッドキャスト、動画、話題のトピックなどを厳選してお届けします。本週刊のビジョンは、すべての読者が Python 技術を高めるとともに、本業や副業の収入アップにつなげられるようサポートすることです。
コンテンツの作成には多くの時間と労力がかかっています。もしこの記事が少しでも参考になったと感じたら、気軽にサポート や コーヒーをごちそう などをいただけると嬉しいです!この週刊が気に入った方は、ぜひ必要としている仲間にもシェアして、より多くの方に役立ててもらえたら嬉しいです〜
購読方法:Python猫 (Wechatのグループ参加可)| RSS | メールマガジン | Github | Telegram | Twitter






