「実践SQLAlchemy 2」シリーズの締めくくりとして、この記事ではすべての演習問題の解答を掲載しています。著者の活動を支援したい方は、公式ストアまたはAmazonで本書を購入することをお勧めします。
miguelgrinberg-com
miguelgrinberg-com から 15 件
本書の最終章では、PythonウェブアプリケーションにおけるSQLAlchemyの活用方法を解説。従来のウェブアプリやAPIの開発において、SQLAlchemyがデータベース連携に最適な選択肢であることを示す。FlaskとFastAPIという二大Pythonウェブフレームワークとの具体的な統合例を紹介し、他のフレームワークを使用する場合にも応用可能な実践的な知見を提供する。
本書「SQLAlchemy 2 in Practice」の第7章です。SQLAlchemyはバージョン1.4以降、CoreとORMの両方でasyncioパッケージによる非同期プログラミングをサポートしています。この改良により、FastAPIなどの最新フレームワークで構築されたモダンなアプリケーションでもSQLAlchemyのパワーを活用できるようになりました。
大手ハイテク企業への依存を減らすため、パスワードマネージャーをセルフホストする方法を模索した筆者が、Bitwardenのオープンソースクローン「Vaultwarden」における秘密情報の暗号化・復号の仕組みを詳しく解説。公式CLIクライアントがサプライチェーン攻撃を受けた事件にも触れ、自作のクライアントで秘密情報を管理する意義を説く。動作するPythonコードも公開。
本書『SQLAlchemy 2 実践ガイド』の第6章では、これまでに学んだ概念を活用してWebトラフィック分析ソリューションを構築します。前章で解説したテクニックの理解を深めるとともに、より複雑で現実的なデータベース設計の実例を示します。
Bashでの日付演算
1.0多くのプログラミング言語の日付・時刻管理ライブラリは悪名高いほど扱いにくい。PythonのdatetimeモジュールやJavaScriptのDateクラスがその例だが、bashスクリプトでの日付計算はさらに悪夢的だ。この記事では、bashスクリプトでの日付・時刻演算の方法を紹介する。
有料コースをホストしているサイトを新しいプラットフォーム(https://learn.miguelgrinberg.com)に移行することを発表します。直接コースや電子書籍を購入した方は、アカウントを新しいサイトに移行する方法について説明します。
GitHubでclaudeユーザーをブロックすると、そのユーザーがコミットしたリポジトリに警告バナーが表示されるという手法が広まっています。これにより、コーディングエージェント(特にClaude Code)に依存するプロジェクトを簡単に特定できます。驚くべきことに、世界で最も人気のあるオープンソースプロジェクトの一つであるCPythonも、claudeからの貢献を受けていることが明らかになりました。
著者はBig Techへの依存を避けるため、独自のメールサーバーを構築しました。この記事では、主要なメールサービスに受け入れられるメールを送信できるようになるまでの手順を解説します。送信を中心に、受信と返信のシンプルな解決策もカバーします。
2023年に執筆された「SQLAlchemy 2 In Practice」の序文を紹介。Pythonで最も人気のあるデータベースライブラリであるSQLAlchemyバージョン2について、今後数週間で全8章を順次公開予定。電子版または紙版の書籍も購入可能。
この章では、Pythonアプリケーションでリレーショナルデータベースを効果的に扱うための実践的な旅が始まります。最初の章では、すべての例と演習を実行できるように、システムにデータベースをセットアップする方法を詳しく説明します。
この章では、SQLAlchemyライブラリを使用してデータベーステーブルを作成、更新、クエリする基本的な使い方を概説します。SQLAlchemy 2の実践的なアプローチを学ぶための書籍の第2章です。
この章では、SQLAlchemy 2における一対多リレーションシップの実装方法について解説します。前章では製品テーブルに対する様々なクエリを学びましたが、製造業者情報の取得には重複排除が必要でした。リレーションシップを適切に定義することで、より効率的なデータアクセスが可能になります。
SQLAlchemy 2における多対多リレーションシップの実践的な解説。どちらかの側を「一」として特定できない場合に使用される関係性について、具体的な実装方法と使用例を紹介します。
リレーショナルデータベースの基本的な設計ブロックを学んだ後、特定の目的を達成するためにそれらを「調整」する必要がある場合があります。この章では、多対多リレーションシップの非常に有用なバリエーションについて探求します。