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
TileCloud の開発を支える技術
Search
KamataRyo
June 28, 2019
Technology
2
360
TileCloud の開発を支える技術
2019/6/28 (金)に開催された KYOTO.git での LT のスライドです。
KamataRyo
June 28, 2019
Tweet
Share
More Decks by KamataRyo
See All by KamataRyo
NPX-shell-hacking
kamataryo
0
44
frontend-shikoku#1
kamataryo
1
680
Introducing of Map Warper
kamataryo
0
1.3k
wp-rest-api-and-amazon-polly
kamataryo
0
940
how-to-deploy-from-travis-ci
kamataryo
1
750
IoT with React
kamataryo
1
270
wacker#17-wreact
kamataryo
0
130
wakayamarb#37
kamataryo
1
88
Why have I preferred open source after leaving a public office?
kamataryo
1
5.9k
Other Decks in Technology
See All in Technology
Unsafe.BitCast のすゝめ。
nenonaninu
0
200
【JAWS-UG大阪 reInvent reCap LT大会 サンバが始まったら強制終了】“1分”で初めてのソロ参戦reInventを数字で振り返りながら反省する
ttelltte
0
140
技術に触れたり、顔を出そう
maruto
1
160
2024年活動報告会(人材育成推進WG・ビジネスサブWG) / 20250114-OIDF-J-EduWG-BizSWG
oidfj
0
230
FODにおけるホーム画面編成のレコメンド
watarukudo
PRO
2
280
WantedlyでのKotlin Multiplatformの導入と課題 / Kotlin Multiplatform Implementation and Challenges at Wantedly
kubode
0
250
[IBM TechXchange Dojo]Watson Discoveryとwatsonx.aiでRAGを実現!座学①
siyuanzh09
0
110
TSのコードをRustで書き直した話
askua
2
190
0→1事業こそPMは営業すべし / pmconf #落選お披露目 / PM should do sales in zero to one
roki_n_
PRO
1
1.5k
Bring Your Own Container: When Containers Turn the Key to EDR Bypass/byoc-avtokyo2024
tkmru
0
860
自社 200 記事を元に整理した読みやすいテックブログを書くための Tips 集
masakihirose
2
330
機械学習を「社会実装」するということ 2025年版 / Social Implementation of Machine Learning 2025 Version
moepy_stats
5
1.3k
Featured
See All Featured
A Philosophy of Restraint
colly
203
16k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Making the Leap to Tech Lead
cromwellryan
133
9k
A Tale of Four Properties
chriscoyier
157
23k
Unsuck your backbone
ammeep
669
57k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.7k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Transcript
TileCloud ͷ։ൃΛࢧ͑Δٕज़ 2019/06/
[email protected]
kamata, ryo
TileCloud ͱʁ • ਤϗεςΟϯάαʔϏε • ΣϒαΠτΞϓϦʹΈࠐΜͰར༻Ͱ͖·͢ • ਤͷλΠϧͱͦΕΛѻ͏ͨΊͷ JavaScript API
Λఏڙ͍ͯ͠·͢ • Φʔϓϯϕʔλʹ͚ͯ࡞ۀத
ਤͷλΠϧͱʁ • ϥελʔλΠϧ: 256 px ࢛ํͷը૾ϑΝΠϧෑ͖٧ΊͯਤΛදࣔ https://www.openstreetmap.org/copyright OpenStreetMap Contributors
ਤͷλΠϧͱʁ • ϕΫτϧλΠϧ: JSON ܗࣜͷͷू·ΓΛόΠφϦʹϑΥʔϚοτͨ͠ͷ • ΫϥΠΞϯταΠυʢϒϥβʣͰWebGL ΛͬͯਤΛϨ ϯμϦϯά •
ϓϩύςΟΛઃఆͯ͠ΫϥΠΞϯ τͰσβΠϯมߋ͕Մೳ ʢ3D දࣔͳͲʣ • ๛͔ͳදݱྗ • σʔλ͕ܰྔ
TileCloud Λࢼ͢
TileCloud Λࢼ͢
TileCloud Λࢼ͢ • ެࣜυΩϡϝϯτΛެ։தʂ https://docs.tilecloud.io • Embed API ͱ͍͏ JavaScript
API ެ։͍ͯ͠·͢ • HTML Λهड़͢Δ͚ͩͰਤΛදࣔɾΧελϚΠζͰ ͖·͢ • playground (https://playcode.io/290651) Ͱ؆୯ʹࢼ͢ ͜ͱͰ͖·͢
TileCloudͷ Πϯϑϥߏɾ։ൃڥ
Serverless • λΠϧ CloudFront + Lambda@Edge + S3 •
Embed API (JavaScript API) API Gateway + Lambda + DynamoDB • μογϡϘʔυ Cognito + API Gateway + Lambda + DynamoDB
GitHub • ϦϙδτϦϗεςΟϯά • CI αʔϏεͱͷ࿈ܞʢCircle CIɺ Netlifyʣ NetlifyɾGitHub Pages
• σϞαΠτɺμογϡϘʔυɺ੩తϦιʔεͷϗεςΟϯά
Circle CI • ίϛοτͷϓογϡʹԠͯࣗ͡ಈςετΛ࣮ߦ • Scheduled job Λ͍ɺ e2e ςετʢEnd
to End ςετʣΛఆظ࣮ߦ ʢ"ಥવյΕ͍ͯΔ" ঢ়گΛݕग़ʣ
Circle CI • CD (Continuous Deployment) • Git λά͕ϓογϡ͞Εͨ࣌ຊ൪ڥʹσϓϩΠ •
master ϒϥϯνͷίϛοτ͕ϓογϡ͞Εͨͱ͖։ ൃڥʹσϓϩΠ • ͦͷଞͷίϛοτςετͷΈΛ࣮ߦ
Circle CI • Circle CI ͷ Workflow Λ׆༻ • ఆٛͨ͠ෳͷ
job ͷ࣮ߦॱ Λ੍ޚ • ෳࡶͳϏϧυͰɺCI ͷ࣮ߦ ࣌ؒͷංେΛ͙ workflows: version: 2 build: jobs: - test: filters: tags: only: /.*/ branches: only: /.*/ - deploy: requires: - build filters: tags: only: /.*/ branches: only: master
Φʔτϝʔγϣϯ • GitHub ͱ֤छαʔϏε (CIɾNetlify ͳͲ) ͱͷΠϯςάϨʔγϣϯΛ׆༻ • σϓϩΠɾςετͳͲͷ։ൃఔΛըҰԽ •
CI Λ͍ਝͳϑΟʔυόοΫΛಘΔ • ΠϯϑϥߏͷࣗಈԽ • Serverless & CloudFormation ༷ʑͳϨΠϠʔͰࣗಈԽΛࢪ͠ɺଐਓԽΛ͙