0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Python トレンド週刊第58号:プロトタイプ実行速度が最速の言語

Posted at

この記事は2024年6月29日で公開された中国語の記事「Python 潮流周刊#58:最快运行原型的语言」の日本語訳です。主に LLM によって翻訳され、手修正で校正されていりますが、もし不自然の点が気づいたら、「記事の改善」機能で、編集リクエストをいただけるとありがたいです。

こちらから最新号まで購読できます(英語のみですので、ご了承ください。)

こんにちは、Python エンジニアのネコです。毎週、英語を中心とした高品質な Python、AI、そして一般的な技術に関する情報をお届けしています。また、Telegram のチャンネルでは、より幅広いニュースや情報も補足的に発信していますので、ぜひフォローしてみてください。

今週は、12本の記事と12のオープンソースプロジェクトを紹介しました。全文は2100文字です。

🦄記事&チュートリアル

1、プロトタイプ実行速度が最速の言語

決済システムは当初 COBOL 言語で開発され、1990年代に Java や C++ への移行が始まりましたが、現在はよりモダンな言語、すなわち Python へと移行しています。著者はこの現象について独自の見解を示し、4つの観点からその理由を説明しています。最も重要な点は、Python がプロトタイプを最速で実行可能にし、「早いが勝ち」と言われる現代において、主導権を握る地位を獲得できるということです。

2、PEP-2026 提案: Python がカレンダーバージョンを採用

前回号ですでに、Python がカレンダーバージョンを採用する提案についてお伝えしましたが、これが対応する PEP 提案です。形式は 3.YY.micro で、YY はそのバージョンがリリースされた年を示します。例えば 3.26 は 2026 年のリリースを意味します。

3、Python のルーティングとスケジューリングを最適化:新しい OSS のソルバー Timefold

Timefold のメリットと使用方法を紹介し、車両経路問題、従業員シフトスケジューリング、タスク割り当て、保守スケジューリング、その他の組合せ最適化問題の最適化に利用できます。

4、Python の集合データ構造を深く知る

CPython インタプリタのソースコード詳細解析シリーズから、集合型がどのように実装されているか、そのデータモデル、主要メソッドの実装 (挿入、検索、削除、pop) について解説しています。

5、weakref で学ぶ Python の弱参照

weakrefモジュールを使ったことがない方もいるかもしれませんが、これは多くのライブラリやフレームワーク、さらには Python 自体の基盤となっています。この記事では、弱参照とは何か、その用途、そして実際のコードでの使用方法について解説しています。

6、現代のソフトウェア開発はこうなっている

生成 AI はプログラマーの開発作業をより迅速かつ効率的に支援しています。著者は自身の経験をもとに、多数の漫画の中から目的の一枚を探し出す際に、AI がどのように段階的に支援するかを実演しています。問題やプロジェクトのアイデアを提示し、AI に繰り返し挑戦させることで、その可能性の限界を探ってみましょう。日常業務を改善するヒントが見つかるかもしれません。

7、コマンドラインから LLM を使う

著者がコマンドラインから LLM にアクセスする方法について講演を行い、この記事はその講演ビデオの解説付き文字起こし/補足版となっています。記事内には多数の参考資料が含まれています。

8、Python パッケージを PyPI に公開する方法

自作のパッケージを PyPI に公開するにはどんな手順が必要でしょうか? 公開要件を満たす Python パッケージの作り方はなんだろう? 利用できるパッケージビルドツールは? 設定ファイルの各項目の意味はなんです? パッケージの公開方法は? その他の注意点はあるんでしょうか?

9、Python プロジェクトの基本的なセットアップ

プロジェクトを新しい環境にクローンして実行する必要に迫られたことは? セットアップ時の仮想環境作成や依存パッケージのインストールなどの作業は、スクリプトで自動化できます。記事では非常に基本的な実装例を紹介しています。

10、Make で Python 開発者エクスペリエンスを向上させる

生産性の高い Python 開発者は、どのようにツールを活用して開発環境の課題を解決しているのでしょうか? 筆者が長年の開発経験をもとに、Make と Makefile を活用して様々な問題を解決し、開発効率を向上させる方法を紹介しています。

11、Notebooks はコードの中のマクドナルド

著者は Notebook の流行が必ずしも良いことではないと考えています。記事では、個人での利用とチーム開発の両方の観点から、それぞれNotebookの問題点を4つずつ挙げています。バージョン管理の欠如、IDEのようにコードが読みやすく整理されていない、共同作業に向かない、移植性とテストの困難さなどが挙げられています。

12、6ヶ月かけて LiveAPI プロキシを開発して得た10の教訓

実際のプロジェクト開発では、筆者と同じような状況に直面することがあるかもしれません:問題Aを解決するために、数々の困難を乗り越えてソリューションBを実装したものの、その後、特定の条件下では機能しないことが判明し、最終的には新たなソリューションCを採用せざるを得なかった、といったケースです。この問題解決の過程で、貴重な教訓が得られました。

🐿️プロジェクト&リソース

1、Your-Journey-To-Fluent-Python:Fluent Python への道

これはオープンソースの Python 電子書籍で、全30章構成となっています。Python の基礎から応用までの一連の内容を網羅しており、オンライン閲覧可能で、PDF版もダウンロードできます。

2、llm:コマンドラインで大規模言語モデルを利用

CLI ライブラリで、ローカル環境の大規模言語モデルと連携したり、クラウド上の大規模言語モデルを呼び出せます。コマンドラインでプロンプトを実行して、結果を SQLite に保存して、埋め込みを生成するなどの機能を提供します。(スター数 3.4K)

3、lmdocs:LLM で Python プロジェクトのドキュメントを生成する

プロジェクト開発が完了したら、大規模言語モデル (LLM) が直接すべてのドキュメントを生成してくれます!

4、make-python-devex:Make、Homebrew、pyenv、poetry などのツールを使った実例

Python 開発環境構築時の、環境管理、バージョン選択、依存関係管理などの課題に対する設定例です。

5、vulture:未使用の Python コードを検出する

このライブラリの名前「vulture」は「ハゲワシ」意味で、その用途を的確に表しています:コード内のデッドコードを検出して除去します。静的コード解析を使用しているため、高速に動作します。(スター数 3.2K)

6、CleanMyWechat: PC 版 WeChat のキャッシュファイルを自動削除

PC 版 WeChat 向けのクリーナーツールで、すべてのチャットで自動的にダウンロードされた大量のファイル、動画、画像などのデータを自動削除し、ストレージ容量を解放します。(スター数 4.2K)

7、wxauto:Windows 版 WeChat の自動化、メッセージの送受信が可能なシンプルな WeChat ボット

Windows 版 WeChat 向けの自動化ツールで、メッセージの送受信やチャット画像の保存が可能です。(スター数 1.8K)

8、youdaonote-pull:クリックで Youdao ノートの全ノートをエクスポート/バックアップ

中国のノートアプリである Youdao ノートの全ノートを元のフォーマットでダウンロードし、Markdown に変換できます。デフォルトでは Youdao ノートの画像をローカルにダウンロードし、SM.MS へのアップロードも指定可能です。(スター数 1.2K)

9、reladiff:クロスデータベースでの大規模データセット高速比較

異なるデータベース間でのデータ比較を、データベース内で差分計算を行い、データ転送を最小限に抑えることで高性能を実現します。ハッシュマッチングベースの分割統治アルゴリズムを採用し、10以上のデータベースに対応しています。

10、hrms:オープンソースの人事・給与管理システム

完全な人事管理システムで、13の異なるモジュールで構成されています。フロントエンドには Vue フレームワークを採用しています。

11、burr:意思決定が可能なアプリケーション(チャットボット、エージェント、シミュレーションなど)を構築

LLMを利用するあらゆるプロジェクトに対応し、リアルタイムの追跡・監視システムインターフェースを提供します。

12、thread:AI搭載の Jupyter Notebook

おなじみの Jupyter Notebook 環境で、ローカル環境の AI を活用してコードセルの生成・編集、エラーの自動修正、データとのチャット機能を利用できます。

🐧 バックナンバー

Python トレンド週刊#8:Python 3.13 ではインタープリターの 50% 高速化を計画しています!(2023.06.24)日本語訳

🐱購読はこちら

技術ニュースレターは、情報過多の時代において質の高い知識を見極めるためのスマートな手段です。このプラットフォームは日本の Python 開発者向けに特化しており、シェアする価値のある記事、チュートリアル、オープンソースプロジェクト、ソフトウェアツール、ポッドキャスト、動画、話題のトピックなど、豊富なコンテンツを厳選してご紹介します。今すぐ購読すると、毎週1本の記事が配信され、少しずつスキルアップできます。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?