ダッシュで奪取

ゲーム、読書、人生

【読書】『Software Design 2022年8月号』を読んだ

特集1 設計・開発のイメージが湧く!Web API の作り方

  • REST って何だ

  • OpenAPI

    • Web API の仕様記述フォーマット
    • プログラムから読み込めるので、これに則った書き方をすることで、API ドキュメントの自動生成などができたりしてうれしい
    • JSONYAML で書く
  • OpenAPI 関連のツールで気になったもの

    • FastAPI
    • rspec-openapi
    • Prism
    • Dredd
      • FastAPI はなんか聞いたことある気がする
  • REST 4つの設計原則

  • ペイロード

    • リクエスト・レスポンスのメッセージボディ部分
    • JSON とか XML とか
  • URI がリソース、HTTP メソッドはリソースに対する操作

  • レートリミット

    • API に対する、時間あたりのアクセス制限
    • つい先日耳にしていて、なるほど、レートをリミットするんだな……?(あほ)ぐらいの認識でいた
    • レートをリミットするでだいたい合ってた

特集2 Web エンジニアのための DNS 速習講座

  • リソースレコード

    • 資源に関するデータ
      • ホスト名、IP アドレスなど
  • 名前解決の流れ

    • まず hosts ファイルを探す
    • 見つかったら、その IP アドレスを返す
    • なかったら、DNS サーバに問い合わせる
      • レンタルサーバーの設定するとき、正直よく分かっていないままマニュアル通りに「○○を A レコードにコピペ」とかやっていた
      • A レコードってこれか!!!となった

その他

  • ハピネスチームビルディング 第5回 分報で各自の作業を可視化してみんなで協力し合う

  • Python でネットワーク自由自在 第2回 subprocess コマンドを使用してネットワークコマンドを実行してみよう

    • import の書き方
      • import は「標準ライブラリ、外部ライブラリ、ローカルライブラリ」でグループ分けする
      • 各グループの間は1行空白
        • 今まで使う順に上から書いたり、アルファベット順に書いたりしていた
      • はじめに — pep8-ja 1.0 ドキュメント
        • Python のコーディング規約
        • 存在を知らなかった
  • サーバエンジニア・運用エンジニアのプロテクニック 第3回 Ansible と Terraform で自動化の勧め

    • Ansible と Terraform がそれぞれできること、得意としていること
      • それぞれ得意なことが違うので、用途に応じて選定する
      • 合わせ技として両方使うのもあり