Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
GitHub Copilotを使いこなす 実例に学ぶAIコーディング活用術
74th
3
3.4k
ExpoのインダストリーブースでみたAWSが見せる製造業の未来
hamadakoji
0
140
ActiveJobUpdates
igaiga
1
130
re:Invent2025 コンテナ系アップデート振り返り(+CloudWatchログのアップデート紹介)
masukawa
0
390
AWS Security Agentの紹介/introducing-aws-security-agent
tomoki10
0
300
「Managed Instances」と「durable functions」で広がるAWS Lambdaのユースケース
lamaglama39
0
330
マイクロサービスへの5年間 ぶっちゃけ何をしてどうなったか
joker1007
12
5.6k
品質のための共通認識
kakehashi
PRO
3
260
Python 3.14 Overview
lycorptech_jp
PRO
1
120
Reinforcement Fine-tuning 基礎〜実践まで
ch6noota
0
190
ChatGPTで論⽂は読めるのか
spatial_ai_network
9
29k
AWS re:Invent 2025で見たGrafana最新機能の紹介
hamadakoji
0
400
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.3k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
Practical Orchestrator
shlominoach
190
11k
Site-Speed That Sticks
csswizardry
13
1k
Faster Mobile Websites
deanohume
310
31k
Balancing Empowerment & Direction
lara
5
800
The Art of Programming - Codeland 2020
erikaheidi
56
14k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
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 新卒でもサーバレスなシステムを 構築できる!!