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
340
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
38
frontend-shikoku#1
kamataryo
1
650
Introducing of Map Warper
kamataryo
0
1.3k
wp-rest-api-and-amazon-polly
kamataryo
0
880
how-to-deploy-from-travis-ci
kamataryo
1
720
IoT with React
kamataryo
1
270
wacker#17-wreact
kamataryo
0
130
wakayamarb#37
kamataryo
1
83
Why have I preferred open source after leaving a public office?
kamataryo
1
5.8k
Other Decks in Technology
See All in Technology
スタッフエンジニアの道: The Staff Engineer’s Path
snoozer05
PRO
38
13k
自社サービスのための独自リリース版Redmine「RedMica」の取り組み
vividtone
0
1.1k
サプライチェーン攻撃に備える
ryunen344
0
150
Google CloudのLLM活用の選択肢を広げるVertex AIのパートナーモデル
nayuts
0
100
20240912 JJUGナイトセミナー
mii1004
0
130
疎通2024
sadnessojisan
5
1k
Analytics-Backed App Widget Development - Served with Jetpack Glance
miyabigouji
0
290
2024年版 運用者たちのLLM
nwiizo
3
550
音声AIエージェントの世界とRetell AI入門 / Introduction to the World of Voice AI Agents and Retell AI
rkaga
5
910
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
9
41k
効果的なオンコール対応と障害対応
ryuichi1208
5
2.6k
LLVM/ASMを使った有限体の高速実装
herumi
0
120
Featured
See All Featured
Ruby is Unlike a Banana
tanoku
96
11k
Raft: Consensus for Rubyists
vanstee
135
6.5k
Statistics for Hackers
jakevdp
793
220k
How to name files
jennybc
75
98k
Making the Leap to Tech Lead
cromwellryan
128
8.8k
WebSockets: Embracing the real-time Web
robhawkes
59
7.3k
Typedesign – Prime Four
hannesfritz
39
2.3k
RailsConf 2023
tenderlove
27
800
Clear Off the Table
cherdarchuk
91
320k
The World Runs on Bad Software
bkeepers
PRO
64
11k
In The Pink: A Labor of Love
frogandcode
139
22k
From Idea to $5000 a Month in 5 Months
shpigford
379
46k
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 ༷ʑͳϨΠϠʔͰࣗಈԽΛࢪ͠ɺଐਓԽΛ͙