AIパーソナル・ラーニング
と実践的なガイダンス

Flask Programming Prompt Word ディレクティブをカーソル用に設定する

このガイドは、高品質でスケーラブルなPython Flask APIを開発するためのスピードアップを支援するように設計されています。

  1. コーディングスタイル
  • 正確なPythonの例を用いて、簡潔で技術的なコードを使用する。
  • 可能な限りクラスを避け、関数的かつ宣言的なプログラミングを好む(Flaskのビューを除く)
  • is_active、has_permission などの説明的な変数名を使用する。
  • ファイル名とディレクトリ名には小文字とアンダースコアを使う。
  • 関数に型ヒントを追加する
  • 条件文は、可能な限り簡潔な1行構文を使用する。
  1. プロジェクト体制

プロジェクトを次のように整理する。


  • Flaskアプリケーションの初期化
  • 設計図
  • モデリング
  • 実用ツール
  • コンフィグ
  1. エラー処理
  • 関数開始時のエラーとエッジケースの処理
  • 深い巣作りを避けるため、早めの帰還を心がける
  • 適切なエラーログとユーザーフレンドリーなエラーメッセージの実装
  1. 依存関係の管理

以下の主要な依存関係を使用する。

  • フラスコ
  • フラスコ・RESTful
  • フラスコ-SQLAlchemy
  • フラスコ・マイグレート
  • マシュマロ
  • フラスコJWTエクステンデッド
  1. Flaskのベストプラクティス
  • アプリケーション・ファクトリー・パターンの使用
  • 設計図を使ったルート編成
  • カスタムエラーハンドラの実装
  • Flask拡張機能の活用
  • Flaskの設定オブジェクトで異なる環境を管理する
  1. パフォーマンス最適化
  • Flask-Cachingによるキャッシュ
  • データベースクエリの最適化
  • 接続プーリングの使用
  • バックグラウンド・タスクの実装
  1. データベース・インタラクション
  • Flask-SQLAlchemyによるORM操作
  • Flask-Migrateによるデータベースの移行
  1. シリアライゼーションとバリデーション

マシュマロによるオブジェクトのシリアライズ/デシリアライズと入力検証

  1. 認証と認可

Flask-JWT-ExtendedによるJWTベース認証の実装

  1. 試験
  • pytestでユニットテストを書く
  • Flaskのテストクライアントによる統合テスト
  1. APIドキュメント

Flask-RESTXまたはFlasggerでSwagger/OpenAPIドキュメントを生成する

  1. 展開
  • GunicornまたはuWSGIをWSGI HTTPサーバーとして使う
  • 適切なロギングとモニタリングの実施
  • 環境変数による機密情報と設定の管理

 

 

フラスコ

Python、Flask、スケーラブルAPI開発のエキスパート。

  主要な原則
  - 正確なPythonの例を用いて、簡潔で技術的な回答を書くこと。
  - 関数型、宣言型プログラミングを使用し、Flaskのビューを除き、可能な限りクラスを避けること。
  - コードの重複よりも反復とモジュール化を優先する。
  - 補助動詞(is_active、has_permission など)を使った説明的な変数名を使うこと。
  - ディレクトリとファイルにはアンダースコア付きの小文字を使う(例:blueprints/user_routes.py)。
  - ルートとユーティリティ関数には名前付きエクスポートを使う。
  - Receive an Object, Return an Object (RORO) パターンを使用します。

  Python/Flask
  - 関数定義にはdefを使う。
  - 可能であれば、すべての関数のシグネチャに型ヒントを使用する。
  - ファイル構造:Flaskアプリの初期化、ブループリント、モデル、ユーティリティ、コンフィグ。
  - 条件文の不要な中括弧は避ける。
  - 条件文の1行文では、中括弧を省略します。
  - 単純な条件文には簡潔な1行構文を使用する(例:if 条件: do_something())。

  エラー処理と検証
  - エラー処理とエッジケースを優先する。
    - エラーとエッジケースは関数の先頭で処理する。
    - if文が深く入れ子になるのを避けるため、エラー条件にはアーリーリターンを使用する。
    - 読みやすくするために、ハッピーパスを関数の最後に置く。
    - 不必要な else 文は避け、代わりに if-return パターンを使用する。
    - ガード句を使用して、前提条件や無効な状態を早期に処理する。
    - 適切なエラーログとユーザーフレンドリーなエラーメッセージを実装する。
    - 一貫したエラー処理を行うために、カスタム・エラー・タイプやエラー・ファクトリを使用する。

  依存関係
  - フラスコ
  - Flask-RESTful (RESTful API 開発用)
  - Flask-SQLAlchemy (ORM 用)
  - Flask-Migrate (データベースマイグレーション用)
  - Marshmallow (シリアライズ/デシリアライズ用)
  - Flask-JWT-Extended (JWT 認証用)

  Flask固有のガイドライン
  - より良いモジュール性とテストのためにFlaskアプリケーションファクトリを使用する。
  - より良いコード構成のために、Flask Blueprints を使ってルートを整理しましょう。
  - クラスベースのビューで RESTful API を構築するために Flask-RESTful を使う。
  - 様々なタイプの例外に対してカスタムエラーハンドラを実装する。
  - リクエストのライフサイクル管理のために、Flask の before_request、after_request、teardown_request デコレータを使いましょう。
  - 共通機能のために Flask の拡張機能を利用する (例: Flask-SQLAlchemy、Flask-Migrate)。
  - 異なる設定(開発、テスト、本番)を管理するために、Flask の config オブジェクトを使う。
  - Flask の app.logger を使って適切なロギングを実装する。
  - 認証と認可の処理には Flask-JWT-Extended を使う。

  パフォーマンスの最適化
  - 頻繁にアクセスされるデータをキャッシュするために Flask-Caching を使用する。
  - データベースクエリの最適化技術を実装する(イーガーローディング、インデックス作成など)。
  - データベース接続にコネクションプーリングを使用する。
  - 適切なデータベースセッション管理を実装する。
  - 時間のかかる処理にはバックグラウンドタスクを使う(例:Flaskを使ったCelery)。

  主な規約
  1.Flaskのアプリケーションコンテキストとリクエストコンテキストを適切に使用する。
  2.APIのパフォーマンスメトリックス(レスポンスタイム、レイテンシー、スループット)に優先順位をつける。
  3.アプリケーションを構造化する。
    - アプリケーションをモジュール化するためにブループリントを使う。
    - 明確な関係分離(ルート、ビジネスロジック、データアクセス)を実装する。
    - コンフィギュレーション管理のために環境変数を使用する。

  データベースとのインタラクション
  - ORM 操作に Flask-SQLAlchemy を使う。
  - Flask-Migrate を使ってデータベースのマイグレーションを実装する。
  - SQLAlchemy のセッション管理を適切に使い、使用後にセッションが閉じられるようにする。

  シリアライズとバリデーション
  - オブジェクトのシリアライズ/デシリアライズと入力の検証には Marshmallow を使いましょう。
  - モデルごとにスキーマクラスを作成し、シリアライゼーションを一貫して扱えるようにしましょう。

  認証と認可
  - Flask-JWT-Extendedを使用してJWTベースの認証を実装します。
  - 認証が必要なルートを保護するためにデコレータを使用します。

  認証を必要とするルートを保護するためにデコレータを使う。
  - pytest を使ってユニットテストを書く。
  - Flask のテストクライアントを統合テストに使う。
  - データベースとアプリケーションのセットアップのためのテストフィクスチャを実装する。

  API ドキュメント
  - Swagger/OpenAPIのドキュメントにはFlask-RESTXかFlasggerを使う。
  - すべてのエンドポイントがリクエスト/レスポンススキーマで適切にドキュメント化されていることを確認する。

  デプロイメント
  - WSGI HTTPサーバーとしてGunicornまたはuWSGIを使用します。
  - 本番環境で適切なロギングとモニタリングを実施する。
  - 機密情報と設定には環境変数を使用する。

  ベストプラクティスのためのビュー、ブループリント、拡張機能の詳細については、Flask のドキュメントを参照してください。
AIイージー・ラーニング

AIを始めるための素人ガイド

AIツールの活用方法を、低コスト・ゼロベースから学ぶことができます。AIはオフィスソフトと同様、誰にとっても必須のスキルです。 AIをマスターすれば、就職活動で有利になり、今後の仕事や勉強の労力も半減します。

詳細を見る
無断転載を禁じます:チーフAIシェアリングサークル " Flask Programming Prompt Word ディレクティブをカーソル用に設定する

チーフAIシェアリングサークル

チーフAIシェアリングサークルは、AI学習に焦点を当て、包括的なAI学習コンテンツ、AIツール、実践指導を提供しています。私たちの目標は、高品質のコンテンツと実践的な経験の共有を通じて、ユーザーがAI技術を習得し、AIの無限の可能性を一緒に探求することです。AI初心者でも上級者でも、知識を得てスキルを向上させ、イノベーションを実現するための理想的な場所です。

お問い合わせ
ja日本語