Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
密集、ドキュメントのコロケーション with AWS Lambda
Search
Satoshi Kaneyasu
February 07, 2025
Programming
390
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
密集、ドキュメントのコロケーション with AWS Lambda
Satoshi Kaneyasu
February 07, 2025
More Decks by Satoshi Kaneyasu
See All by Satoshi Kaneyasu
AWS Transform Customによる Spring Boot 2.xから4.xへのVerUp
satoshi256kbyte
2
97
運用ダッシュボードの設計を誰も教えてくれないのだけどみなさんどうしてるんですか? - チームに監視するという文化を根付かせるための第一歩を踏みたい -
satoshi256kbyte
1
140
AWS CDK ExpressモードとCI/CDの組み合わせ
satoshi256kbyte
1
47
AWS CDK ExpressモードとCI/CDの組み合わせ
satoshi256kbyte
0
31
AWS re:Invent 2025の少し振り返り + DevOps AgentとBacklogを連携させてみた
satoshi256kbyte
3
230
Amazon_Cognito_で構築する_スケーラブルな_Web_アプリケーション__シングルページ_Web_アプリケーションに認証を組み込む
satoshi256kbyte
0
51
人間とAI、どちらが書いたコードもCI/CDでチェックしてみよう
satoshi256kbyte
0
56
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎 おもクラ #6版
satoshi256kbyte
1
300
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎
satoshi256kbyte
1
72
Other Decks in Programming
See All in Programming
生成AIで帳票OCRが「簡単に」作れる時代になった?
kon_shou
0
1.1k
今さら聞けない .NET CLI
htkym
0
210
リアルな遅延を測る仕様
kota_yata
1
120
レビュー履歴をAIに食わせて、 Compose移行を加速するs
shihochan
0
170
Go 1.27 における memory allocation の高速化
andpad
0
290
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
1
1.9k
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.6k
自動化したのに回らない テスト運用の壁―AI時代の品質責任と生産性
mfunaki
0
360
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
2
350
Hono + Inertia + React で LP を構築した話
oukayuka
2
120
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
270
まずはプロンプトガイドを読もう、話はそれからだ
kiakiraki
1
180
Featured
See All Featured
The Curse of the Amulet
leimatthew05
2
14k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.9k
The Cost Of JavaScript in 2023
addyosmani
55
10k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
sira's awesome portfolio website redesign presentation
elsirapls
0
340
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
680
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
260
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.1k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
180
Transcript
密集、ドキュメントのコロケーション with AWS Lambda 2025.02.15 SATOSHI KANEYASU
2 自己紹介 氏名:兼安 聡 所属:株式会社サーバーワークス アプリケーションサービス部 在住:広島(フルリモート) 担当:DevOps、PM、SM、プリせ、トレーナー 2024 Japan
AWS Top Engineers (Database) 2024 Japan AWS All Certifications Engineers Certified ScrumMaster PMP X:@satoshi256kbyte
3 コロケーションとは ➢ コロケーションとは、関連するリソースを近くに置くことを指します。 ➢ コロケーションは、Next.jsの公式ページが参考になります。 ➢ コロケーション自体は設計書だけに焦点をあてたものではないのですが、私のチームではこれをバックエンドプログラ ムの設計書に適用してみました。
4 やってみたコロケーションのイメージ ➢AWS LambdaとPythonによるバックエンドのプログラムでやってみました / ├── app │ ├── function_a
│ │ ├── handler.py │ │ └── README.md │ ├── function_b │ │ ├── handler.py │ │ └── README.md │ └── function_c │ ├── handler.py │ └── README.md ├── docs │ ├── database.md │ └── system_diagram.drawio └── README.md 業務ごと(=AWS Lambda関数ごと)でディレクトリを分けている これが設計書、いわゆるプログラム設計書に相当 プログラム テーブル定義、構成図など機能・業務を跨ぐものはここ
5 このような構成にした理由 ➢ 設計書はシンプルにしたい(スクラムで回してるので余計そう思う) ➢ 設計書もプルリクエストを回したい ➢ 何がどこにあるか見通しをよくしたい ➢ 後から来る人にもわかりやすくしたい
6 現在の構成に至るまでに考えた他の構成候補 / ├── app │ └─── functions │ ├──
function_a.py │ ├── function_b.py │ └── function_c.py ├── docs │ ├── database.md │ ├── function_a.md │ ├── function_b.md │ ├── function_c.md │ └── system_diagram.drawio └── README.md / ├── app │ └─── functions │ ├── function_a.md │ ├── function_a.py │ ├── function_b.md │ ├── function_b.py │ ├── function_c.md │ └── function_c.py ├── docs │ ├── system_diagram.drawio │ └── database.md └── README.md 実案件ではもっと関数が多い 場所が遠くで探しづらい functions配下が煩雑 実際には関数の名前はもっと不規則 なのでかなり見づらい
7 この構成における設計書で書くもの ➢ Markdownで書く ➢ 機能の概要 ➢ 何をする機能か ➢ 大まかな処理の流れ
➢ 入出力内容 ➢ パラメータ ➢ 出力するファイル・データのフォーマットなど ➢ 使用方法/テスト方法 ➢ フローチャートやシーケンス図は開発者からの需要がなく、メンテ負荷になったのでカット ➢ Marmaidも不採用、AWSを使用してるのでアイコンが揃ってるdraw.io/Cacooで書いた方が良いとなった
8 メリットとデメリット メリット デメリット ➢ 目論見通り、見やすい ➢ プルリクエストで設計書がレビューできる ➢ 設計だけできてるのか?実装まで済んでるの
いか?がツリーに表れる ➢ 設計書の配置に関してはやり切った感があり、 最近設計書の配置に関する無駄な議論がない ➢ ディレクトリ構造そのものに工夫を入れてい るので、他のPJにも展開できると言い切れな い(AWS Lambdaを使用してるからできてる とも感じる) ➢ レビュアーがGitに入らないといけない
9 その他の悩み ➢ 設計書を非常にシンプルにしているが故に、なぜその機能がそうなっているのか?というのは語りきれていない ➢ これを補うために「意思決定の経緯」を文書として残っている(=ADR) ➢ 故に、実は設計書よりBacklogの方が情報量が多い・・・ ➢ BacklogでPBI/SBIを管理
➢ ソースコードと設計書はGit ➢ ADRはBacklogのWiki
10 まとめ ➢ 導入にはディレクトリ構成レベルでの工夫が必要になりますが、ドキュメントをコロケーションすると快適だと思います ➢ もし試されたら意見交換しましょう
None