技術記事

主にPython, Django, Nuxt, Flutter, GCPに関する技術的な内容を不定期で投稿

python / Starlette
作成日:2020/2/21 更新日:2020/3/2
軽量かつ非同期で実装できるおすすめのフレームワーク、Starlette👍
標準的なWebシステムを作る場合はDjangoがおすすめですが、軽量で非同期なAPIを作りたいこともよくあります。そんな場合に最近よくつかっているのがStarletteというasgiに対応したフレームワークです。
python / Starlette
作成日:2020/2/28 更新日:2020/3/2
速くて軽量なAPI、Starletteを使ってGCPにデプロイする Part1
前に紹介したPythonの軽量APIフレームワークStarletteのGCP(CloudRun)で、開発からリリースまで対応したGitリポジトリを作成しているので、トピックごとに詳細と開発の仕方について紹介しています。
python / Starlette
作成日:2020/3/1 更新日:2020/3/3
速くて軽量なAPI、Starletteを使ってGCPにデプロイする Part2
前回、起動の確認まで行いましたので、今回はPythonで実装するAPIとバックグラウンドタスクの処理を実装します。また、開発をスムーズに行うための便利なツールなどを紹介しています。
python / Starlette
作成日:2020/3/2 更新日:2020/3/3
速くて軽量なAPI、Starletteを使ってGCPにデプロイする Part3
今回は実装したAPIにバックグラウンドで実行する非同期処理を実装します。 APIで受けとったリクエストにレスポンスを返した後、async/awaitを使って、非同期で処理を実行します。
python / Starlette
作成日:2020/3/2 更新日:2020/3/4
速くて軽量なAPI、Starletteを使ってGCPにデプロイする Part4
今回はPythonの便利なテストライブラリpytestを使ったテストを作成します。Starletteにテスト用のクライアントは実装されているのでそれを使って、前回追加した機能のテストを行い、テストが無事に通ったらGCPのCloudBuildを使ってCI/CDを行い、CloudRunへデプロイするまでを解説しています。
python / Django
作成日:2020/3/3 更新日:2020/3/5
Djangoで迅速な開発を行うための構造とCI/CD [ 3.x対応 ]
Django3.x系に対応したプロジェクトの構造、テストの仕方、CI/CDの設定について、8年ほど使ってきた経験から良いと思うGCPを活用した実装方法を解説しています。最も優先していることはモジュール化を図り、将来、同じ機能を反復して開発しないようにすることで、そのための設計の一例として読んで頂けると幸いです。
python / Django
作成日:2020/3/5 更新日:2020/3/6
DjangoでGCPを活用した実践的な開発 Part1 [ 3.x対応 ]
Djangpの経験が8年ほどになる筆者が、Djangoを使った実践的な開発について、筆者が用意したGoogle Cloud Platformに最適化したDjangoのGitコードを使いながら、ユースケースを挙げて解説しています。
python / Django
作成日:2020/3/6 更新日:2020/3/7
DjangoでGCPを活用した実践的な開発 Part2 [ 3.x対応 ]
Djangoを使った実践的な開発について、今回はモデルとビューの実装を継続的に開発する上で無駄なく、再利用しやすいように実装する方法について、筆者が用意したGoogle Cloud Platformに最適化したDjangoのGitコードを使いながら、ユースケースを挙げて解説しています。
python / Django
作成日:2020/3/6 更新日:2020/3/9
DjangoでGCPを活用した実践的な開発 Part3 [ 3.x対応 ]
前回はDjangoのモデルについて、実践的な実装について説明しました。 今回はView側の処理を無駄なくコーディングする方法について解説します。 汎用性のあるクラスベースのView、デコレーターによるロジックや、認証によるビューへのアクセス権限について、実例を挙げて説明していきます。
python / Django
作成日:2020/3/10 更新日:2020/3/16
DjangoでGCPを活用した実践的な開発 Part4 [ 3.x対応 ]
Djangoのテストについて、pytestやfactory_boyを使ってユニットテスト、クライアントテストを行います。
python / Django
作成日:2020/3/13 更新日:2020/3/23
DjangoでGCPを活用した実践的な開発 Part5 [ 3.x対応 ]
GCPのCloudBuildでCI/CDを実現する方法について解説しています。CloudBuildで実行する場合、ビルドを実行する環境にプロダクションと同じミドルウェアの依存関係を再現することで、プログラムのミスではなく、ミドルウェアの相性、潜在的な互換性のバグを見つけることが可能になります。