この記事は2023年6月3日で公開された中国語の記事「Python潮流周刊#6:Python 3.12 有我贡献的代码!」の日本語訳です。主に LLM によって翻訳され、手修正で校正されていますが、もし不自然の点が気づいたら、「記事の改善」機能で、編集リクエストをいただけるとありがたいです。
こちらから最新号まで購読できます(英語のみですので、ご了承ください。)
こんにちは、Python エンジニアのネコです。ここでは毎週、参考になる Python や汎用技術に関する情報をまとめています。一部は英語の内容も含まれており、小見出しにその旨を記載しています。(今回のタイトルは共有項目の一つから取ったもので、すべての内容がそのテーマに関するわけではありませんのでご了承ください。)
🦄記事&チュートリアル
1、CPython 貢献日記:Python 3.12 の注目すべき変更点(中国語)
この記事は、週刊の読者の孫孟越さんによるもので、Python 3.12 において彼が深く関与した主要なアップデートが紹介されています。例えば、f-文字列の構文を明確にする PEP-701、Python のバッファプロトコルに Python インターフェースを公開する PEP-688、型パラメータの構文に関する PEP-695 などが挙げられています。また、彼は前回の記事「CPython 貢献日記」で、PR の提出や Issue の解決や、オープンソースコミュニティへの貢献に関する役立つヒントについても解説しています。(Python へのコード貢献に興味がある方は、Python Developer’s Guide をご参照ください。)
2、注目のAIツール67選:包括的なガイド(中国語)
この記事では、現在人気の67つのAIツールを紹介しています。LLM、検索エンジン、ビジネス、コンテンツ生成、メンタルヘルス、プロンプト学習といった多岐にわたる分野を網羅しており、以下のようなマインドマップも掲載されています。
3、豆瓣(Douban)で9.6点評価の Python 書籍を購入したら、5ページごとに誤りを発見した件?!(中国語)
この記事では、ある Python 入門書から代表的な誤りを30点選び出し、「ありえない度合い」で評価しています。著者がその書籍を批判的に読んだのと同様に、読者の皆さんもこの記事を批判的に読むべきでしょう。なぜなら、この記事に書かれている内容もすべてが正しいとは限らないからです。(投稿者:@TheFry)
訳注:豆瓣(Douban)は、中国で絶大な影響力を持ち、書籍、映画、音楽、ゲームなどのエンターテインメント作品の評価・レビューを行う巨大なコミュニティです。日本では「Filmarks」や「読書メーター」といったレビューサービスが複合したような存在です。
4、Sketch of a Post-ORM(英語)
この記事では、データベース操作の一般的な方法である純粋な SQL と ORM フレームワークを比較し、それぞれの欠点を指摘した上で、新しい技術的なアプローチを提案しています。著者は、マイグレーション優先、宣言的マイグレーション、クロス言語移植性、より良い SQL など、8つの観点から自身のアイデアを詳しく解説しています。さらに、実際のワークフローと Python のコード例も紹介されています。
5、Python でシェルコマンドを実行する最適な方法 (英語)
この記事では、Python でOSと連携するためによく使われるライブラリ、例えば pathlib、tempfile、shutil、os、subprocess などが紹介されています。そして最後に、著者が最も推奨する sh ライブラリの使い方について解説しています。このライブラリの機能は、シェルコマンドに詳しい方にとって非常に直感的で使いやすいでしょう。
6、Flask アプリケーションを async 化してアップグレードする方法(英語)
この記事では、負荷テストツール Locust を利用し、同期処理の Flask アプリケーションを非同期処理に改修した際のパフォーマンスの変化を具体的に示しています。
7、Python への構造体構文追加の提案(英語)
Python のコアデベロッパーである Brett Cannon 氏のブログ記事では、彼が検討しているデータクラスをより便利に作成するための新しい struct
キーワードの追加について紹介しています。これは C、Rust、Go といった言語の構造体構文に似たものです。記事では、この提案の目標と実装の仕組みが解説されており、現在は意見収集の段階ですが、将来的には PEP として正式に提案される可能性も高いでしょう。
8、クラス属性とインスタンス属性の関係とは?(中国語)
この記事は『1から無限へ Python を極める』シリーズの一部で、すでに17本の投稿が公開されています。著者は『Python ソースコード解剖』で採用されている分析手法と結論を参考にし、Python インタプリタのソースコードをもとに、Python の主要な特性がどのように実装されているのかを深く解説しています。
訳注:『Python ソースコード解剖』(中国語:《Python 源码剖析》)は2008年で中国で出版された本です、現時点、日本語訳はまだありません。
9、2023年に注目すべき39の主要Pythonフレームワーク (英語)
この記事では、開発やテストに役立つ39の Python フレームワークを網羅的に紹介しています。情報量が多く、幅広い分野をカバーしているのが特徴です。
10、事情により、この記事は削除されました。
11、Kivy を使って GUI を作ろう (英語)
本チュートリアルは、Kivy を使った GUI 開発の入門編です。Kivy は、デスクトップ向けのクロスプラットフォーム開発だけでなく、モバイル向けのマルチタッチ対応アプリの作成にも対応しています。
12、CPUの理解が Numba と NumPy コードの高速化に役立つ (英語)
NumPy の処理を高速化したり、メモリ使用量を削減したいときには、JIT コンパイラの Numba を使うのが一般的です。この記事では、現代の CPU の仕組みを活かしてコードを最適化する手法を解説しており、画像のノイズを除去する処理を 48 ms から 2 ms にまで高速化しています。
13、バイトコードにも穴があったとは:誰が Python ファイルのコンパイル済みコードの中身を確認しているのか? (英語)
ReversingLabs の研究チームは、PyPI を狙った新たな攻撃手法を発見しました。この攻撃はコンパイル済みの Python コードを利用して検出を回避しており、PYC ファイルを直接実行する攻撃としては初めてのケースと考えられています。
14、GPT はどう動くのか:200 行の Python コードで作るミニマルな GPT(中国語)
この記事は OpenAI 創設メンバーの Andrej Karpathy 氏による原文の中国語訳で、PyTorch を使ってミニマルな GPT を実装し、その内部の仕組みを直感的に理解できるよう解説しています。
15、600行のPythonコードで作る2つのTransformer(テキスト分類+テキスト生成)(中国語)
この記事も中国語の翻訳版で、原著者はアムステルダム自由大学の准教授です。2019年に執筆された当時は、LLM は現在ほど注目されていませんでした。記事の最後では、著者が Transformer の高い汎用性を活かして、さらなる応用分野への展開を期待しています。
🐿️プロジェクト&リソース
NeoDB は、Django で開発されたオープンソースプロジェクトで、フェデバースに対応した、書籍、映画、音楽、ゲームの記録・評価プラットフォームです。簡単に言えば、Web3 のオープンソースで検閲フリーな豆瓣 (Douban) と理解できますが、記録できるコンテンツは豆瓣よりもはるかに多岐にわたります。(このプロジェクトは、@laike9m 氏のブログで見つけました。そして、彼が Twitter で本週刊を推薦してくださったことに、心より感謝いたします!)
2、JupyterLab 4.0 がリリースされました (英語)
JupyterLab 4.0 の主な新機能は、パフォーマンスの向上、機能強化されたテキストエディタ、新しい拡張機能マネージャー、UI の改善などです。
3、pystack (英語)
pstack
は Linux システムで一般的に使用されるコマンドラインツールで、プロセスの関数呼び出しスタックを表示し、プロセスがフリーズやデッドロックを起こした際の診断、またパフォーマンスのボトルネック分析に利用されます。pystack
は、この pstack
のような機能を持つライブラリで、Python で書かれています。特筆すべき点として、スレッドが GILを保持しているか、待機中か、あるいは解放中であるかを表示できる機能もあります。
4、GPYTHON:あなたの専用 Python 学習アシスタント
これは ChatGPT ベースの Python オンライン学習プラットフォームであり、AI アシスタントとオンラインコード実行モジュールが組み込まれています。サンプルコードをいつでも修正し、ワンクリックで実行・エラーチェックが可能です。(投稿者:Stanaaa)
5、M3E モデル
M3E は、2200万超えの中国語の文ペアデータセット(数千万規模)でトレーニングされた、中国語に特化したオープンソースの埋め込みモデルです。テキスト分類とテキスト検索の両方のタスクで、openai-ada-002
モデルを上回る結果を出しています。(投稿者:王宇昕)
6、reactpy:Python の React (英語)
ReactPy は、JavaScript を使用せずに Python だけで UI を構築するためのライブラリです。そのインターフェースは ReactJS のコンポーネントに似ており、Web 開発の経験がない人でも簡単に利用できます。
7、domain-admin: ドメイン・SSL 証明書モニタリングプラットフォーム
Python + Vue3.js の技術スタックを採用して構築された、ドメインと SSL 証明書のモニタリングプラットフォームです。コア機能は、期限切れを自動でメール通知する機能です。
ビジュアルクローラーソフトウェアであり、ウェブページ上で取得したいコンテンツを選択し、表示されるガイドに従って操作するだけで、クローラーの設計と実行が完了します。コマンドラインからの実行もサポートしており、他のシステムへの組み込みも容易です。このプロジェクトは原作者の浙江大学の修士論文をベースにしており、国家発明特許も取得しています。関連資料はリポジトリで確認可能です。
9、text-to-video-synthesis-colab:テキストからビデオを生成するモデル (英語)
オープンソースの Text-to-Video モデルです。全体のモデルパラメータは約 17 億で、入力には英語を使用します。公開されているデモビデオは非常に驚くべき品質です。
10、segment-geospatial:SAM を使用した地理空間データのセグメンテーション (英語)
SAM は「Segment Anything Model」の略で、任意の物体をセグメント化するモデルを意味します。コンピュータビジョンの分野で非常に有用かつ先進的なモデルであり、あらゆる物体を正確に識別・セグメント化する必要があるアプリケーションで用いられます。このプロジェクトは、その SAM を使用して地理空間データのセグメンテーションを行います。
11、traceback_with_variables:Python トレースバック(エラーメッセージ)に変数を表示 (英語)
このプロジェクトは、Python のトレースバック情報に変数を追加できます。ログの記録やカラー表示された変数のコンテキスト情報を通じて、例外の原因をデバッグするのに役立ち、スタックトレースの各フレームにおける変数値を表示します。
🐢ポッドキャスト&動画
1、Python 3.12を使っているあなたは、もしかすると私の書いたコードを実行しているかも!(中国語)
この動画は Bilibili で活動する@高天さんによるものです。彼は、3月から20以上のプルリクエストが Python 3.12にマージされました。この動画では、彼が行ったいくつかの貢献について詳しく解説しており、主に pdb ドキュメントの改善、いくつかのバグ修正、コンビニエンス変数機能の導入などが含まれています。(うp主は最初のプルリクエストがマージされた後、「私は Python のバグを修正しました!今日から、Python開発者と言えるでしょうか?」という動画も公開しています。)
2、PyCon US 2023 - YouTube (英語)
今年の PyCon US の動画が公開されました。合計142本の動画が公開されています!PyCon は世界最大級のPython 開発者カンファレンスの一つで、PSF が主催しており、通常、PyCon 開催期間中には「 Python 言語サミット」も開催されます。今年のサミットの議題の詳細については「Python トレンド週刊第4号:Python 言語サミット 2023」をご覧ください。
3、PyCascades - 2023 视频 (英語)
2023年の PyCascades の動画が先月公開され、20本以上のビデオが利用可能です。PyCascades は Python プログラミング言語に特化したカンファレンスで、通常は北米地域で年に1回開催されます。PyCon に似ていますが、独立した運営チームとボランティアによって自主的に運営されており、小規模のイベントです。
🐱スポンサー&サポート
コンテンツの作成には多くの時間と労力がかかっています。もしこの記事が少しでも参考になったと感じたら、気軽にサポート や コーヒーをごちそう などをいただけると嬉しいです!この週刊が気に入った方は、ぜひ必要としている仲間にもシェアして、より多くの方に役立ててもらえたら嬉しいです〜
また、スポンサーも募集中です。興味のある方はぜひ DM にてご連絡ください。
🐼本週刊について
Python トレンド週刊では、国内外200以上の情報源から注目すべき記事、チュートリアル、オープンソースプロジェクト、ソフトウェアツール、ポッドキャスト、動画、話題のトピックなどを厳選してお届けします。本週刊のビジョンは、すべての読者が Python 技術を高めるとともに、本業や副業の収入アップにつなげられるようサポートすることです。
購読方法:Python猫 (Wechatのグループ参加可)| RSS | メールマガジン | Github | Telegram | Twitter