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
Amplify山あり_谷あり奮闘記.pdf
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
j-yamamoto
July 31, 2020
Technology
8.3k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Amplify山あり_谷あり奮闘記.pdf
j-yamamoto
July 31, 2020
Other Decks in Technology
See All in Technology
Pavlokで始める電撃駆動開発
sgrsn
0
160
20260801_スクフェス大阪
kgnkhkr
1
1k
サイバー捜査員研修(後半)
nomizone
1
410
13年運用タイトルのサーバーサイドが辿り着いた現在地 ― モンスターストライクにおける技術・組織・AI活用から得た知見
mixi_engineers
PRO
1
420
PLaMoを毎日の開発で使い育てていく
pfn
PRO
0
180
【CEDEC2026】コードレビュー支援ツール開発から学ぶ:LLMを用いた業務システムの実践的な運用設計と誤出力対策
cygames
PRO
0
410
Webの技術とガジェットで子どもも大人も楽しめるワクワク体験を提供する / Qiita Tech Festa Day 2026
you
PRO
1
340
認知負荷をGemini で溶かす — GKE 基盤「Orbit」における AI エージェントの実践
sansantech
PRO
1
210
20260722_品質と開発生産性の相互作用
magicpod
0
110
plamo-3-translateの開発
pfn
PRO
0
260
20260608_Codexの可能性_ノンプログラマー向け_大城追記
doradora09
PRO
0
750
AIエージェントを前提としたプラットフォーム エンジニアリング:GKEで作るAgent-Ready Golden Path
legalontechnologies
PRO
1
110
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Context Engineering - Making Every Token Count
addyosmani
9
1k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
750
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
680
Game over? The fight for quality and originality in the time of robots
wayneb77
1
230
Thoughts on Productivity
jonyablonski
76
5.3k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
It's Worth the Effort
3n
188
29k
How to build a perfect <img>
jonoalderson
1
5.8k
We Have a Design System, Now What?
morganepeng
55
8.2k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
420
Transcript
"NQMJGZ ࢁ͋Γɺ୩͋Γฃಆه φΠϧגࣜձࣾ ࢁຊ४
• ࢯ໊ɿࢁຊ ४ • ॴଐɿ φΠϧגࣜձࣾ ϞϏϦςΟαʔϏεࣄۀ෦ • ΤϯδχΞྺɿ •
"84ར༻ྺɿ • ࠷ۙͷझຯɿ Ϛʔέλʔͷ࠺ʹ42-Λڭ͑Δ͜ͱ ࣗݾհ
• "84"NQMJGZಋೖʹࢸΔ·Ͱ • "84"NQMJGZΛಋೖͯ͠Έ࣮ͨମݧ • "84"NQMJGZಋೖΛݕ౼͍ͯ͠Δํ͚ͯ ͢͜ͱ
"84"NQMJGZ ಋೖʹࢸΔ·Ͱ
ΠϯϑϥߏͷมԽ ୈߏ ୈߏ 8IBU`T /FYU αʔόʔӡ༻ αʔόϨεԽ ୈߏ
๊͍͑ͯͨ՝ʢੜ࢈ੑʣ • ࣮ͷଐਓతͳϒϨ • ϦϦʔεͷखؒ • Ұͭͷ֬ೝڥͷऔΓ߹͍
๊͍͑ͯͨ՝ʢ࣭ʣ • ӡ༻ͷΦϖϛεݮ • ϦϦʔεޙͷোݮ
՝ղܾͷ伴 "84"NQMJGZ ୈߏ ୈߏ αʔόʔӡ༻ αʔόϨεԽ ୈߏ
ಋೖͯ͠ΈͯͲ͏ʁ
"NQMJGZ'SBNFXPSLͰαΫοͱόο ΫΤϯυϑϩϯτΤϯυ࣮ʂ import API from "@aws-amplify/api"; const awsconfig = require("./aws-exports").default;
API.configure(awsconfig); const runAPI = async () => { return await API.get('TestAPI', '/api/test', {}); }; "NQMJGZ'SBNFXPSLͷ"1*Ϟδϡʔϧ ΛϑϩϯτͰར༻͠ɺαΫοͱ"1*࣮ߦ $ amplify init $ amplify api update $ amplify push ίϚϯυͰ-BNCEBؔ࡞ˍσϓϩΠ var express = require('express') var bodyParser = require('body-parser') var awsServerlessExpressMiddleware = require('aws-serverless-express/middleware') // declare a new express app var app = express() app.use(bodyParser.json()) app.use(awsServerlessExpressMiddleware.eventContext()) // Enable CORS for all methods app.use(function(req, res, next) { res.header("Access-Control-Allow-Origin", "*") res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept") next() }); /********************** * Example get method * **********************/ app.get('/api/test', function(req, res) { // Add your code here res.json({success: 'get call succeed!', url: req.url}); }); -BNCEB༻ͷ&YQSFTTϑϨʔϜϫʔΫͰ࣮
.VMUJ&OWػೳͰෳͷڥߏஙՄೳʂ ։ൃऀ" ։ൃऀ# ։ൃऀ$ .VMUJ&OWJSPONFOU
"NQMJGZ$POTPMFͰര$*$%ߏங ϒϥϯνߋ৽ͰσϓϩΠࣗಈԽʂ ຊ൪ "NQMJGZ$POTPMF $*$% 1VTINBTUFSCSBODI 1VTITUBHJOHCSBODI εςʔδϯά "NQMJGZ$POTPMF $*$%
ੜ࢈ੑͷ՝શͯղܾʂ ü ࣮ͷଐਓతͳϒϨ ü ϦϦʔεͷखؒ ü Ұͭͷ֬ೝڥͷऔΓ߹͍ —"--(3&&/—
࣭՝গ͠վળʂ ü ӡ༻ͷΦϖϛεݮ "NQMJGZ$POTPMFͷ(JUIVC࿈ܞʹΑΓϦϦʔεΦϖϨʔγϣϯ͕ҰݩԽɻ • ϦϦʔεޙͷোݮ ˞$ZQSFTTͰ&&ςετಋೖݕ౼͢Δɺ "NQMJGZ$POTPMFͷσϓϩΠ࣌ؒͷ߹ͰҰ୴தࢭɻ ରࡦݕ౼தɻɻɻ
"84"NQMJGZ ΊͬͪΌ͑͑ࣄ͠·͢Μʂ
Ͱۤ͋Γ·ͨ͠ɻɻɻ
·ͬͨϙΠϯτᶃ ڥผͷύϥϝʔλ͠ʹۤઓ "84"NQMJGZ όοΫΤϯυ ύϥϝʔλ ɾଞ"84Ϧιʔεͷ"3/ ɾ"1*ͷೝূΩʔ FUD ຊ൪ εςʔδϯά
։ൃ "84"NQMJGZ όοΫΤϯυ "84"NQMJGZ όοΫΤϯυ
UFBNQSPWJEFSJOGPKTPO ͜ͷϑΝΠϧʹڥผύϥϝʔλՃ "NQMJGZ$POTPMFͰ ಈ͔ͳ͍ʂʁ (JUIVCʹίϛοτ ඞཁʂʁ ·ͬͨϙΠϯτᶃ ڥผͷύϥϝʔλ͠ʹۤઓ
·ͬͨϙΠϯτᶃ 1BSBNFUFS4UPSFͰղܾʂ ຊ൪ εςʔδϯά ։ൃ 1BSBNFUFS 4UPSF "84"NQMJGZ όοΫΤϯυ "84"NQMJGZ
όοΫΤϯυ "84"NQMJGZ όοΫΤϯυ ᶃύϥϝʔλΛొ ᶄσϓϩΠ࣌ʹ ύϥϝʔλऔಘ
·ͬͨϙΠϯτᶄ ผܥ౷ͷ4όέοτͷར༻ʹۤઓ DBSNPKQ ը૾༻ 4όέοτ ϗεςΟϯά༻ 4όέοτ ը૾ߋ৽ όονॲཧ DBSNPKQ
ը૾༻ 4όέοτ ϗεςΟϯά༻ 4όέοτ ը૾ߋ৽ όονॲཧ ඥ͚ෆՄ چߏ ༧ఆ͍ͯͨ͠ߏ
·ͬͨϙΠϯτᶄ $MPVE'SPOUΛઌ಄ʹՃͰճආ DBSNPKQ ը૾༻ 4όέοτ ϗεςΟϯά༻ 4όέοτ ը૾ߋ৽ όονॲཧ ը૾༻
4όέοτ ϗεςΟϯά༻ 4όέοτ ը૾ߋ৽ όονॲཧ DBSNPKQ ඥ͚Մೳ چߏ ৽ߏ
͜ΕΛ͓͍͑ͯͯʂ ಋೖɾӡ༻ͷϙΠϯτ
ಋೖɾӡ༻ϙΠϯτᶃ దͳͱ͜ΖͰ"NQMJGZΛར༻ ߴػೳͰ֦ுੑͷߴ͍ όοΫΤϯυͷߏங͕؆୯ "NQMJGZͰશͯߏங/( ˠංେԽʹΑΔอकੑͷԼ
ಋೖɾӡ༻ϙΠϯτᶃ దͳͱ͜ΖͰ"NQMJGZΛར༻ ϞόΠϧɾ ϑϩϯτΤϯυ αʔϏε αʔϏε ϞόΠϧɾϑϩϯτΤϯυ։ൃ ˠ"84"NQMJGZ ͦͷଞͷ։ൃ ˠ$MPVE'PSNBUJPOɺ"84
$%, "84"NQMJGZͷత ϞόΠϧɺϑϩϯτΤϯυ ͷ։ൃޮΛߴΊΔ $%/
ಋೖɾӡ༻ϙΠϯτᶄ $MPVE'PSNBUJPOͷجૅΛֶΜͰ͓͘ $MPVE'PSNBUJPO "84"NQMJGZͷ جૅ$MPVE'PSNBUJPO "NQMJGZΛར༻͍ͯ͠Δͱʜ ɾόοΫΤϯυ։ൃͷτϥϒϧγϡʔςΟϯά ɾσϑΥϧτͷػೳʹύϥϝʔλͳͲઃఆՃ ˠ$MPVE'PSNBUJPOͷجૅΛ ͓ͬͯ͘ͱӡ༻ָ͕
ಋೖɾӡ༻ϙΠϯτᶅ "84"NQMJGZͷखް͍αϙʔτΛར༻ (JUIVCͰΦʔϓϯʹ *TTVFཧ͕͞Ε͍ͯΔ "84αϙʔτ׆༻
None
͝ਗ਼ௌ ͋Γ͕ͱ͏ ͍͟͝·ͨ͠ ΤϯδχΞɾͦͷଞ৬छେืूதʂ