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
新人研修でサーバレスな蔵書管理システムを作った話
Search
Misso
July 14, 2016
Technology
0
3.6k
新人研修でサーバレスな蔵書管理システムを作った話
JAWS-UG アーキテクチャ専門支部 クラウドネイティブ分科会 CDP議論会 #10 LT発表資料
Misso
July 14, 2016
Tweet
Share
Other Decks in Technology
See All in Technology
スクラムを一度諦めたチームにアジャイルコーチが入ってどう変化したか / A Team's Second Try at Scrum with an Agile Coach
kaonavi
0
210
Scrum Guide Expansion Pack が示す現代プロダクト開発への補完的視点
sonjin
0
600
プロンプトエンジニアリングを超えて:自由と統制のあいだでつくる Platform × Context Engineering
yuriemori
0
410
「リリースファースト」の実感を届けるには 〜停滞するチームに変化を起こすアプローチ〜 #RSGT2026
kintotechdev
0
850
たかがボタン、されどボタン ~button要素から深ぼるボタンUIの定義について~ / BuriKaigi 2026
yamanoku
1
240
[PR] はじめてのデジタルアイデンティティという本を書きました
ritou
1
800
re:Invent2025 セッションレポ ~Spec-driven development with Kiro~
nrinetcom
PRO
2
170
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
次世代AIコーディング:OpenAI Codex の最新動向 進行スライド/nikkei-tech-talk-40
nikkei_engineer_recruiting
0
140
製造業から学んだ「本質を守り現場に合わせるアジャイル実践」
kamitokusari
0
590
2025年の医用画像AI/AI×medical_imaging_in_2025_generated_by_AI
tdys13
0
330
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
4
21k
Featured
See All Featured
The browser strikes back
jonoalderson
0
300
How to make the Groovebox
asonas
2
1.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
0
89
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
100
Scaling GitHub
holman
464
140k
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Navigating Weather and Climate Data
rabernat
0
68
Transcript
Copyright © 2016. All rights reserved. Copyright © 2016 All
rights reserved. ৽ਓݚमͰ αʔόϨεͳ ଂॻཧγεςϜΛ ࡞ͬͨ 2016/07/14 ハンズラボ株式会社美代 苑生 JAWS-UG アーキテクチャ専門支部 クラウドネイティブ分科会 CDP議論 #10 LT資料
Copyright © 2016 All rights reserved. 1 自己紹介 n美代 苑生
l ハンズラボ 株式会社 l 2016年4月 入社 - 試用期間終わり l イノベーショングループ l 基幹システム
Copyright © 2016 All rights reserved. 2 新卒研修 n新卒入社 4名
n技術研修 (4月 – 6月) l どのようにコンピュータは動いているのか? - 座学 l どうやってコンピュータを動かすのか? - Python演習 l どうやってソフトウェアを作っていくのか? - 仮想プロジェクト 新卒研修の詳細は弊社エンジニアブログの記事へ: https://www.hands-lab.com/tech/entry/1531.html
Copyright © 2016 All rights reserved. 3 新卒研修 n新卒入社 4名
n技術研修 (4月 – 6月) l どのようにコンピュータは動いているのか? - 座学 l どうやってコンピュータを動かすのか? - Python演習 l どうやってソフトウェアを作っていくのか? - 仮想プロジェクト 新卒研修の詳細は弊社エンジニアブログの記事へ: https://www.hands-lab.com/tech/entry/1531.html
Copyright © 2016 All rights reserved. 4 仮想プロジェクト n社内の蔵書を管理するシステムを作る l
本を登録する, 削除する l 本を借りる, 返す l 一覧を見る nシステム開発 (1.5ヶ月) l フロントエンド: モバイルアプリ, Webアプリ l バックエンド: AWSのサービスを使ったサーバレス アーキテクチャ
Copyright © 2016 All rights reserved. 5 仮想プロジェクト n社内の蔵書を管理するシステムを作る l
本を登録する, 削除する l 本を借りる, 返す l 一覧を見る nシステム開発 (1.5ヶ月) l フロントエンド: モバイルアプリ, Webアプリ l バックエンド: AWSのサービスを使ったサーバレス アーキテクチャ
Copyright © 2016 All rights reserved. 6 なぜサーバレスアーキテクチャか? n本の登録, 貸し借りがある時に動けばいい
l イベント駆動 l RESTful API n2人, 1.5ヶ月で作る (学習コスト, 時間的制約) l ロジックの実装に集中できる l API, ユーザ管理を実装しなくてよい nせっかく作るならサーバレスでやってみよう! (技術的挑戦)
Copyright © 2016 All rights reserved. 7 蔵書管理システムの構成 AWS リージョン:
ap-northeast-1 AWS リージョン: us-east-1 クライアント API Gateway Lambda Cognito User Pools Lambda DynamoDB Slack API カスタム 認証 ログイン・ トークン取得 トークン付きで API アクセス ユーザへ 通知 認証許可 トークンが 有効?
Copyright © 2016 All rights reserved. 8 APIの設計 /v3 バージョン
/books 本の集合 /{ISBN} 特定の本 /borrowers この本を借りている人の一覧 /reservers この本を予約している人の一覧 [GET] 本を検索して一覧を取得 [GET], [POST] 本を追加, [PUT] 本の情報を修正, [DELETE] 本を削除 [GET], [POST] 本を借りる, [DELETE] 本を返す [GET], [POST] 予約する, [DELETE] 予約を削除する /users ユーザの集合 /{Username} 特定のユーザ [GET] ユーザの貸出履歴を取得する [GET] Slackユーザ名が存在するか判定する /ranking 本のランキング [GET] 本のランキングを取得する
Copyright © 2016 All rights reserved. 9 API 仕様 (Swagger)
Copyright © 2016 All rights reserved. 10 APIのテスト (Postman)
Copyright © 2016 All rights reserved. 11 どうだったか? n必要になった知識や技術 l
設計: HTTP, REST API, KVS, OAth 2.0 l 実装: Python, JavaScript, CORS n大変だったところ l 認証失敗時のレスポンスがCORS対応してない l 手作業でテスト (コピペ,API実行,結果をコピペの繰返し) l 手作業で本番環境へ移行 (Swagger YAMLで定義してたが, インポートする時にエラーになった) nAWS利用料 l 本番環境で 約$4.0/月 (ユーザ数:22, 蔵書数: 120)
Copyright © 2016 All rights reserved. 12 まとめ n新卒研修でサーバレスな蔵書管理システムを作成 l
Cognito User Pools l API Gateway l Lambda l DynamoDB 新卒でもサーバレスなシステムを 構築できる!!