Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
新人研修でサーバレスな蔵書管理システムを作った話
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Misso
July 14, 2016
Technology
3.6k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
新人研修でサーバレスな蔵書管理システムを作った話
JAWS-UG アーキテクチャ専門支部 クラウドネイティブ分科会 CDP議論会 #10 LT発表資料
Misso
July 14, 2016
Other Decks in Technology
See All in Technology
Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces
pfn
PRO
0
140
会社説明資料
persolserverworks
0
9.8k
Classmethod Company Deck
satoshi7
1
730
スプシの手作業からの解脱 ~更新はClaude Codeに、見せ方と使い方はGASアプリに任せる~
kentarofujii
0
160
20261017福岡devIO 「AIは"良いダッシュボード"を作れるか?
jtakeda
0
190
AI コーディングと人間の認知スループット / CTO Night & Day 2026 Morning Session / AI Coding and Human Cognitive Throughput
prog893
5
1.3k
M5Stackで作る BLEマウス GPSログの世界
tomokusaba
PRO
0
440
QA4AI 2026-Oct 生成AI時代の品質保証
tokuty
1
890
CTO Night|NotionのAIエージェントとFDE
kzkhykw1991
0
230
今さら理解するウェブフォントver.2026
takanorip
3
910
パスキーの自動テストはどこまでいけるのか
teamlab
PRO
0
280
hackers_champloo_2026_tidb
makocchi
0
170
Featured
See All Featured
The untapped power of vector embeddings
frankvandijk
2
1.9k
The SEO identity crisis: Don't let AI make you average
varn
0
590
Designing for Performance
lara
612
70k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
540
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
360
Evolving SEO for Evolving Search Engines
ryanjones
0
330
Accessibility Awareness
sabderemane
1
250
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
3.4k
Building the Perfect Custom Keyboard
takai
2
910
Rails Girls Zürich Keynote
gr2m
96
14k
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 新卒でもサーバレスなシステムを 構築できる!!