Closed7

自走プログラマーをよんだ

yumizuyumizu

先輩が未経験エンジニア教育資料候補のおススメしていたので読んでみました。
少し2020年2月発売の本ということで、今となっては少し古いのが気になるが…

あくまで以下の目線で

  • MLエンジニア目線
  • 設計に思考錯誤している初-中級のエンジニア(私)として勉強になったか
  • 教育資料として、どこが大事でどこが不要か
  • Djangoは使ったことない(FastAPIがメイン)

https://jisou-programmer.beproud.jp/

https://www.amazon.co.jp/自走プログラマー-Pythonの先輩が教えるプロジェクト開発のベストプラクティス120-清水川-貴之/dp/4297111977

yumizuyumizu

2章

今回はパス。非常に恥ずかしいのですがDBやSQLあたりの知識が疎く、今の自分にはあまり参考にならなさそうなので。

yumizuyumizu

3章

エラー設計やロギングの話がよかった。基本的で大切なことが書いているので読み直したい。

3.1. エラーハンドリング

  • Typedictの辞書の型アノテーションは良き。試したい
  • 想定外のエラーは臆さずエラーを出してよいは、なるほどとなった。
  • 例外クラスをつくるもよき。

3.2. ロギング

  • ログは5W1H
  • ロギングはloguruとか他にもライブラリがあるが、基本今でもloggingでよいのかな?
  • ここではSentryというツールでログ結果を通知/監視していたが、他によいのある?prefectとかも浮かんだが少し違う気がする
  • これを基本として、今のモダンなログ管理方法を調べておく必要ありそう。

3.3. トラブルシューティング・デバッグ

yumizuyumizu

4章

4.1. プロジェクト構成

  • 情報としてはタメになったが、今実践するかといえば少し古い気がする(仕方ない)
  • 設定ファイル/環境変数まわりは、いつもベストプラクティスがよくわからなかったので参考になった。だがこれがピンときたわけではない(webとMLの違いはあるかも)

4.2. サーバー構成

  • 知識不足のため評価できず

4.3. プロセス設計

  • 知識不足のため評価できず。

4.4. ライブラリ

‐ ライブラリ選定大事。巨人の肩大事。(人によってはオレオレ実装しがち)

4.5. リソース設計

  • 一時ファイルはためになった。使う

4.6. ネットワーク

  • 知識不足のため評価できず
yumizuyumizu

5章

正直この手も内容は他の良い書籍を頼ればよい。MLエンジニアとは少しピンときにくい話かも

yumizuyumizu

全体

よかったところ

  • 1,3章あたりはPythonやプログラミングのお作法的なことが学べてよい。またプルリクや設計の初学者があまり触れない話もあり。リーダブルコードが抽象的でよくわからない人にとって良いかも
  • 「Pythonを今まで何となく書いてきたけど、業務では全然…」というレベル感の人が読むには最適

懸念点

  • amazonレビューにもあったが、Web/Djangoをわかっていないのと読みづらい。web系エンジニア向けの内容なので、MLエンジニアには親和性が低い話も多い
  • 情報が最新ではないので、頭の中で取捨選択が必要かも
  • コードに型アノテーションがついていないことが少し気になる(Pythonのバージョンが低い場合も考慮している?)
このスクラップは2023/06/04にクローズされました