ダッシュで奪取

ゲーム、読書、人生

『Software Design 2023年7月号』を読んだ

第1特集 gRPCで始めるWebAPI開発

  • RPCとは
    • Remote Procedure Call(遠隔手続呼び出し)
    • クライアントがサーバ側の処理の呼び出し方だけを知っていて、実装の詳細は知らなくても使うことができる
    • マイクロサービス間・バックエンドとモバイルアプリの通信
    • gRPC → Google が開発した、RPC
  • サービス
    • RPC メソッドの集合
    • リクエスト、レスポンスの形式を指定する
  • gRPC は HTTP/2 プロトコルで通信を行う
    • HTTP/2 通信だと何が嬉しいのか
      • 従来の HTTP/1.1 だと、1コネクション1リクエスト1レスポンス
      • HTTP/2では、1つのコネクションで複数のリクエストとレスポンスを処理できる
        • 接続のたびに発生するヘッダーなどを省略できて、通信効率が上がるなど
  • gRPC はテキストではなくバイナリデータでやり取りする
    • 転送するファイルサイズが小さくなる
  • スキーマ
    • APIの設計書のようなもの
    • データ構造や型、リクエストとレスポンスの仕様が書かれる
  • Protocol Buffers
  • gRPCでは、API の実装より先に Protocol Buffers を定義する
    • スキーマ駆動開発
    • Protocol Buffers に基づいて、コードが自動生成される
  • ハンズオンをやってみようと思ったが、うまく動かなかった
    • ローカルのサーバーが起動できなかった
    • エラーも出ず、ただただ反応がない なんだろう……?

第2特集_はじめようSvelte

  • すべると
  • 特徴
    • 仮想 DOM を持たない
    • 状態管理不要
    • コード量を減らすことに重きが置かれている
      • template タグとか不要
    • 単一ファイルコンポーネント
      • 自分はこれが好きで Vue を気に入っているところがあるので、うれしい
  • ハンズオンやってみた
    • scss を使おうとすると、Colon is expected が出る なんだろう……?(2回目)

COLUMN

ハピネスチームビルディング(16)みんなで楽しく成長するペアプロ/モブプロのやり方(後編)
  • 「わからない」と発言するのは意外と勇気が必要
    • しょうもないことをまず人でなく ChatGPT くんに聞けるようになったのは、ちょっと心の負担が減ったかもしれない
      • 最近だと Perl のパーセントって何ですか?とか聞いた %pokemon ← こういうの
      • ブログ記事は目的の記述に辿り着くまでが長かったりするので、簡潔に答えだけを提示してくれるのはたすかる
      • 違うこと言っているのは結構ある

エンジニアのためのやる気UPエクササイズ(11)エンジニアにこそやってほしいマインドフルネス瞑想

  • GoogleAppleでも瞑想が取り入れられている
  • 集中力や意思決定力に効果があった・睡眠の質が向上したなどとの研究結果もある
  • 通っていたスクールでやらされていたのを思い出した
    • よくわからないままやらされていた記憶がある(自分が聞いていなかっただけの可能性もある)ので、こんな企業でも取り入れられているよ!こんな効果があるよ!をもっとちゃんと先に知りたかったかも

おわりに

  • 最近仕事で gRPC をちょっとだけ読む機会があったので、タイムリーな特集だった
    • なんとかRequest とかなんとか Response の定義が見つからないよ〜と思っていたけど、.proto を見ればよかったのか…