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
380
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 CDK ExpressモードとCI/CDの組み合わせ
satoshi256kbyte
1
37
AWS CDK ExpressモードとCI/CDの組み合わせ
satoshi256kbyte
0
16
AWS re:Invent 2025の少し振り返り + DevOps AgentとBacklogを連携させてみた
satoshi256kbyte
3
220
Amazon_Cognito_で構築する_スケーラブルな_Web_アプリケーション__シングルページ_Web_アプリケーションに認証を組み込む
satoshi256kbyte
0
43
人間とAI、どちらが書いたコードもCI/CDでチェックしてみよう
satoshi256kbyte
0
44
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎 おもクラ #6版
satoshi256kbyte
1
290
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎
satoshi256kbyte
1
63
人間とAI、どちらが書いたコードもCICDでチェックしてみよう
satoshi256kbyte
1
91
はじめてのカスタムエージェント【GitHub Copilot Agent Mode編】
satoshi256kbyte
0
660
Other Decks in Programming
See All in Programming
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
1.5k
使用 Meilisearch 建立新聞搜尋工具
johnroyer
0
160
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
530
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
130
광주소프트웨어마이스터고등학교 DevFest 특강 - 바이브 코딩 시대에서 주니어 개발자로 살아남는 방법
utilforever
1
150
ランチタイムLT会3周年!ランチタイムLT会を3年間続けられたお話
y0hgi
1
150
Built Our Own Background Agent at LayerX #aidevex_findy
layerx
PRO
7
2.7k
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
4
1.1k
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
2
600
Apache Hive: Toward a Cloud Native Lakehouse
okumin
0
150
吝嗇家のためのAI活用 / AI development for miser - ChatGPT + Issue Driven Development
tooppoo
0
190
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
2.9k
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Building the Perfect Custom Keyboard
takai
2
820
Designing for Performance
lara
611
70k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
620
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
220
Code Review Best Practice
trishagee
74
20k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Ruling the World: When Life Gets Gamed
codingconduct
0
290
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Evolving SEO for Evolving Search Engines
ryanjones
0
240
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