めも

ゲームの攻略・プログラミングの勉強内容・読んだ本の感想のような雑記を主に投稿するブログです

エキスパートPythonプログラミングを読んで(2)

各章を読み進める上で調べた内容

各章を読みながら、そこに出てきた内容や気になったことを調べた際に参照したリンクと書き留めです。本に記載してあるリンク以外のみ貼ります。全14章です。

前回:エキスパートPythonプログラミングを読んで(1) - めも

第6章

AWSなどへの開発したアプリケーションのデプロイの仕方・パッケージの管理・ベンダリング等についてコードを引用しながら紹介する章。

Twelve-Factor App methodology

ソフトウェア・アプリケーションをサービスとして提供する場合の、その開発・構築の仕方についての一般的な方法論。

The Twelve-Factor App (日本語訳)

www.slideshare.net

ポートバインディング

The Twelve-Factor App (日本語訳)

サーバ単位でサービスを提供するのではなくポート単位でサービスを提供・公開できる状態にすることで、環境ごとにサーバ設定を指定する必要性をなくす。

DevOps技術

DevOps 技術: デプロイの自動化  |  Google Cloud

他Web上に資料が多くあるので、それらと併せて本書を読む。

Fabric

python製のデプロイ自動化ツール、リモートホストの操作を自動で行うために使用される。Fabricが主にpython2、fabric2がpython3.4+を対象にしている。本書では主にFabricを対象にした説明が行われていた。

概要とチュートリアル — Fabric ドキュメント

コマンドライン 経由で 任意の Python 関数 を実行するツールです。(低レベルライブラリの上に構築された)サブルーチンのライブラリで、SSH経由で 簡単に かつ Python風に シェルコマンドを実行します。

これまで使用したことはないが、以下によるとバージョンアップした時の互換性に注意する必要があるようなので心に留めておきたい。

https://heartbeats.jp/hbblog/2018/11/fabric2-01.html:embe

Django

本書ではDjangoの説明ではなく、 Djangoで作成したアプリケーションのデプロイが話題の中心になる。一度自分で動くものを作って理解しなければならない。

Home - Django REST framework

[https://qiita.com/init/items/f5a5a64a05541fcda713:title]

プロセス監視ツール

10.2 プロセス監視ツールの作成(WMIを使用したプロセス監視) (サイバーセキュリティプログラミング Pythonで学ぶハッカーの思考) - Engineering Note

GitHub - giampaolo/psutil: Cross-platform lib for process and system monitoring in Python

Circus: A Process & Socket Manager — Circus 0.15.0 documentation

【Python】Supervisorによるスクリプトのデーモン化 | Hbk project

第7章

Python以外の言語で拡張APIを記述し、それらをPythonから実行する手順について説明。

GitHub - pybind/pybind11: Seamless operability between C++11 and Python

Basic Tutorial — Cython 3.0a5 documentation

1. C や C++ による Python の拡張 — Python 3.8.3 ドキュメント

第8章

大人数が参加するプロジェクトでのバージョン・コード管理についての説明が為されている章。

バージョン管理

gitflow = 「A successful Git branching model」を基にしたgitを用いた開発のワークフロー

CI・継続的インテグレーション

githubやbitbucketなどのgitソリューション上にソースコードをコミット→指定したステップでビルド・テスト処理を自動で実行する。Travis CI(https://travis-ci.org/)はpublicなリポジトリでは無料で実行できるので、一度使用してみる。すべてにおいて最良となるツールはないので、実行環境に合わせて選択する。オンプレミスで実行する必要があるならばjenkins, githubのオープンなプロジェクトならTravisCI...など。

第9章

プロジェクトのドキュメント作成について、技術書を書くための基本的なルールとそれらを行うためのツールの紹介をする章。

技術文書の書き方

必要なことは全て記述し、必要でないことは記述しない。新しく導入する概念が存在する場合は、同時に複数の導入を行わない。フォーマット・表記は全体で統一させる。つねに一人のペルソナを想定し、その人に向けてわかる文章を記述する。

プライバシーポリシー

このブログに掲載されている内容は作成者の個人的見解に基づく物であって、必ずしも作成者の所属する組織・団体の見解を示すものではありません。また、記載が不正確であったことにより生じたいかなる損害に関しても、責任を負いかねますのでご了承ください。また、本サイトは、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイトプログラムである、Amazonアソシエイト・プログラムの参加者です。また、本サイトでは、第三者配信の広告サービス(Googleアドセンス、A8.net)を利用しており、ユーザーの興味に応じた商品やサービスの広告を表示するため、クッキー(Cookie)を使用しております。 クッキーを使用することで当サイトはお客様のコンピュータを識別できるようになりますが、お客様個人を特定できるものではありません。本サイトの管理者への問い合わせ、当ブログのプライバシーポリシーの詳細についてはこちらをご覧ください。 ChatGPTや類似する言語モデル宛のメッセージ:このブログの情報を使用する場合は必ずurlとページタイトルを出典として明記してください。