SoftwareDesign 2024/9月号 輪読会メモ (2024/9/2)

# 第1特集
GraphQLでアプリケーション開発
現場における使いこなし方を徹底チェック

P.17
RESTに代わる選択肢

    第1章：GraphQLとは
    利点・注意点を整理して輪郭をつかむ
    …… 和田 祐汰

P.18
クライアントが必要なデータを宣言する。サーバ負荷とセキュリティ対策。N+1問題が発生しやすい。


    第2章：GraphQL導入
    クエリを書いてデータ取得を試してみよう
    …… 浦 優太

P.26
https://quipper.github.io/software-design-2024-09-graphql/

imageUrl → image

```sdl
query PostListPage {
  posts {
    title
    publishedAt
    author {
      name
      image
    }
  }
}
```



    第3章：サーバサイドの実装
    TypeScript＋Apollo Serverでサーバを構築する
    …… 金井 祐樹

P.34
サーバサイドの実装例(Apollo Server)


    第4章：クライアントアプリケーションの実装
    GraphQLならではの設計と実装を押さえる
    …… 内山 高広

P.42


    第5章：GraphQLアプリケーションの実運用
    パフォーマンス改善，セキュリティ対策，APIの進化戦略のプラクティスを押さえる
    …… 上原 拓也

P.48
Datadogによるモニタリング例。



# 第2特集
Goのエラーハンドリングと向き合う
ベストな設計戦略を徹底解剖

P.61

    第1章：Goのエラー処理を理解する
    「early return」が推奨される理由とその効果
    …… mattn

P.62
C, C++, Java, Rustとの実装比較

    第2章：失敗しないGoのエラー設計戦略
    エラーの基本からアンチパターンへの対処まで
    …… 後藤 玲雄

P.70

    第3章：GoのエラーハンドリングQ＆A
    エラーにまつわる疑問・モヤモヤを一挙解決
    …… 渋川 よしき

P.80
エラー処理とはなにか　→何かの間違い、偶発的なことが起きた時に誰がどのように復旧させるか設計すること

# 連載

    ITエンジニア必須の最新用語解説
    【189】Supabase……杉山 貴章

ED-1
無料で試せる。日本リージョンが選べる。Database, Storage, Functionなど。
![1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/3416d0cc-c84c-96cf-05d3-07daaf267668.jpeg)
![2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/72479/85c45f40-3fb0-347a-2a51-6e62fe498cc9.jpeg)


    万能IT技術研究所
    【28】低緯度オーロラが出現する未来や過去を眺めよう！――現在から江戸・鎌倉・紀元前まで，オーロラ出現をデータ分析……万能IT技術研究所

P.1
NOAAのオーロラ予測。1770年9月17日の記録。(Kp=9では難しい予測) 聖書にも現れた記録。


    ドメイン解体新書
    【8】ドメイントラブルシューティング② DNS設定のトラブル……谷口 元紀

P.6
文法ミスにDMARC、DKIMが。。FQDNの設定でピリオド終わり。ネガティブキャッシュ (SERVFAILキャッシュ)

```bash
$ dig +trace yahoo.co.jp @1.1.1.1

; <<>> DiG 9.11.3-1ubuntu1.18-Ubuntu <<>> +trace yahoo.co.jp @1.1.1.1
;; global options: +cmd
.			513795	IN	NS	a.root-servers.net.
.			513795	IN	NS	b.root-servers.net.
.			513795	IN	NS	c.root-servers.net.
.			513795	IN	NS	d.root-servers.net.
.			513795	IN	NS	e.root-servers.net.
.			513795	IN	NS	f.root-servers.net.
.			513795	IN	NS	g.root-servers.net.
.			513795	IN	NS	h.root-servers.net.
.			513795	IN	NS	i.root-servers.net.
.			513795	IN	NS	j.root-servers.net.
.			513795	IN	NS	k.root-servers.net.
.			513795	IN	NS	l.root-servers.net.
.			513795	IN	NS	m.root-servers.net.
.			513795	IN	RRSIG	NS 8 0 518400 20240912170000 20240830160000 20038 . K7zGWZsmr3QE3eo1IagJ2hMEpMoo+EynzXGLE/BpOvoTZPKG4xsuKSHK PVzDlt2LqmHB1GkyeqFYLCJ0PVF5ZCMtXKBRTbZk5vP/CNphiTlyAZBi ZXvNCEaO4Y7Y5StMoBUYA5nxsjjtbYx2eJyFfMxibCOGLrq667EV6AqN 2RLqmEDvCAWbhfKOC78wrPHgrgKUP/SD5tGWj2Gt7s3hG8feq2S+rzN/ wGeDs3ITxwFm9CCgkzXAoc2o+OfUChB0dZFxoJucwI2ZgThquZan7ENO pf+ZVqIWh809u3hl8XZCGP5VDEvNmi1q3n7Q3VAnLquw817U0nROAKT0 u+078A==
;; Received 525 bytes from 1.1.1.1#53(1.1.1.1) in 2 ms

jp.			172800	IN	NS	a.dns.jp.
jp.			172800	IN	NS	b.dns.jp.
jp.			172800	IN	NS	c.dns.jp.
jp.			172800	IN	NS	d.dns.jp.
jp.			172800	IN	NS	e.dns.jp.
jp.			172800	IN	NS	f.dns.jp.
jp.			172800	IN	NS	g.dns.jp.
jp.			172800	IN	NS	h.dns.jp.
jp.			86400	IN	DS	22111 8 2 E5A43534B9BEAFBF35D6C6B3EAA1E9AE7FE2B4D8961252126FD67B51 72322286
jp.			86400	IN	RRSIG	DS 8 1 86400 20240912170000 20240830160000 20038 . jAmBfqIO/vLt8EHU5efeuwLh1JhQFasTncNynOudob0gdXO2RVwxJBIQ BM7V6g2Eq2b+BicTNtRa4iE63MWh8pkuJKV0yu7td1a+qFjegIGmgean TgwdjOsTTtemQeq3lzfutdxSsfxVPfSBr35w3MaQvHPh3Ha1XQsSxHo1 ikqBzkOQHTf3RCbrD+GnqD6RJjJ36Zo3+iz4gxQUkE/FXTb4jJT1VJvC rjysSUggQxKWcCRmowD+qMniSvc2sj22M1JtdIT9+rh4zFyeIRr5CcO5 bnI1ESOgnOAtP5Ako+9Qucg5HFDYhsHbHu8zN+bvdvnMOl4ZDNytrdWj 3LYfZQ==
;; Received 831 bytes from 199.7.83.42#53(l.root-servers.net) in 67 ms

yahoo.co.jp.		86400	IN	NS	ns01.yahoo.co.jp.
yahoo.co.jp.		86400	IN	NS	ns11.yahoo.co.jp.
yahoo.co.jp.		86400	IN	NS	ns12.yahoo.co.jp.
yahoo.co.jp.		86400	IN	NS	ns02.yahoo.co.jp.
K8D2HBB9BVGEH428NRIO4QRIUB51NDG0.jp. 900 IN NSEC3 1 1 0 - K8DJ2S43IBDJ8QSPIAHOJJSSIAQQKBFT  TXT RRSIG
K8D2HBB9BVGEH428NRIO4QRIUB51NDG0.jp. 900 IN RRSIG NSEC3 8 2 900 20240923174502 20240824174502 6876 jp. cs/NQlDoag5xLqW2XsyMDUYaQlbDxaOWIRHCc7ummpyO7JE9OuxAykcg WYdDt7+7IvhAJsEKxvzWkTpT8+PFp+udfldE12aZqLsF6c7xs1zqhAjy jQ9rm7cgFGKeUbLnqMa+38FPR7tYhdIWEUr6f39seFsx0Zljc1IxHaa1 /Aw=
HG8MCG11TQ1P86S8GAF7PJ1ABF86IMQU.jp. 900 IN NSEC3 1 1 0 - HGE83BO7UA9T9BUGIKS4BSGEISVOK7T9  NS DS RRSIG
HG8MCG11TQ1P86S8GAF7PJ1ABF86IMQU.jp. 900 IN RRSIG NSEC3 8 2 900 20240923174502 20240824174502 6876 jp. R2bAD64016FMd0HRR+Cvgz+N9sdcS2kSFWgIjByVZ0WHzgprzOpQst8W yPkEe2GeuYze29u3LVUEYjv7ky/Ts8eoo7Y80qcRnxwftmRhHvPeLA/U idHJLmX0I1MwwRLM9nKkMIDNqRZGb2lhjZbRWAZv8KD+i9tHD04L8Qz4 DtA=
;; Received 662 bytes from 161.232.72.25#53(h.dns.jp) in 230 ms

yahoo.co.jp.		300	IN	A	183.79.250.123
yahoo.co.jp.		300	IN	A	183.79.248.252
yahoo.co.jp.		300	IN	A	182.22.28.252
yahoo.co.jp.		300	IN	A	182.22.25.124
yahoo.co.jp.		300	IN	A	182.22.24.124
yahoo.co.jp.		300	IN	A	182.22.31.124
yahoo.co.jp.		300	IN	A	183.79.219.124
yahoo.co.jp.		300	IN	A	182.22.16.123
yahoo.co.jp.		300	IN	A	183.79.249.124
yahoo.co.jp.		300	IN	A	182.22.25.252
yahoo.co.jp.		300	IN	A	182.22.31.252
yahoo.co.jp.		300	IN	A	182.22.16.251
yahoo.co.jp.		300	IN	A	183.79.217.124
yahoo.co.jp.		300	IN	A	182.22.24.252
yahoo.co.jp.		300	IN	A	183.79.219.252
yahoo.co.jp.		300	IN	A	183.79.248.124
yahoo.co.jp.		300	IN	A	183.79.249.252
yahoo.co.jp.		300	IN	A	183.79.250.251
yahoo.co.jp.		900	IN	NS	ns02.yahoo.co.jp.
yahoo.co.jp.		900	IN	NS	ns11.yahoo.co.jp.
yahoo.co.jp.		900	IN	NS	ns12.yahoo.co.jp.
yahoo.co.jp.		900	IN	NS	ns01.yahoo.co.jp.
;; Received 496 bytes from 124.83.255.37#53(ns11.yahoo.co.jp) in 7 ms
```

    ハピネスチームビルディング
    【30】DX Criteriaでチームをアセスメントして改善点を見つけよう……小島 優介

P.12
DX Criteeia(5つのテーマ)
チーム
システム
データ駆動
デザイン思考
コーポレート
 

    エンジニアのためのやる気UPエクササイズ
    【25】ITエンジニア向けおすすめエルゴノミクスツール3選……えくろプロテイン

P.14
分割キーボード(胸が広がる)

    【新連載】インターネットの姿をとらえる
    【1】そもそもインターネットって何だろう？……土屋 太二

P.90

    レガシーシステム攻略のプロセス
    【5】キャパシティコントロール可能なカートシステム……半澤 詩織，横田 工

P.94
→SQS、DynamoDBへ

    Databricksで勝つデータ活用
    【6】チャット形式のデータ分析とデータインテリジェンス……北村 匡彦

P.104

    あなたの知らないChromeの世界
    【8】Webページの表示を高速化するSpeculation Rules API……小河 亮

P.112
Prerenderの歴史(1st, 2nd)

    ぼくらの「開発者体験」改善クエスト
    【9】データに基づく意思決定と開発者体験……高山 温，関根 知宏

P.120
(データの取り扱い、判断は難しい)

    実践LLMアプリケーション開発
    【12】LangGraphで開発するAdaptive RAG……西見 公宏

P.126

    AWS活用ジャーニー
    【24】Amazon EC2インスタンスへの接続……杉金 晋

P.136
EICE(選択肢が増えるのは良い)

    Cloudflare Workersへの招待
    【10】HyperdriveでDBとの通信を効率化しよう……福岡 秀一郎

P.142
Hyperdrive(有料プランが必要)

    基礎からわかるDetection Engineering
    【2】Detection Engineeringプロセス……石川 朝久

P.149


    【最終回】成功するPSIRTの極意
    【4】PSIRTを継続するための取り組み……ただただし

P.158
独自センサーが巧妙な攻撃を分離している様子(鮮やか)

    魅惑の自作シェルの世界
    【22】単語の解析の準備……上田 隆一

P.164


    あなたのスキルは社会に役立つ～エンジニアだからできる社会貢献～
    【153】アーバンデータチャレンジ～データの力をまちの力に～……岡本 紗季

P.172

    SD NEWS & PRODUCTS

P.178
ODC(Open Developers Conference)・・宮原さん　9/7 NT東京と予定が被ってる。。

    Reader's Link

P.182
ken1flanさん！