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
400
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
51
frontend-shikoku#1
kamataryo
1
710
Introducing of Map Warper
kamataryo
0
1.4k
wp-rest-api-and-amazon-polly
kamataryo
0
980
how-to-deploy-from-travis-ci
kamataryo
1
810
IoT with React
kamataryo
1
280
wacker#17-wreact
kamataryo
0
140
wakayamarb#37
kamataryo
1
97
Why have I preferred open source after leaving a public office?
kamataryo
1
6k
Other Decks in Technology
See All in Technology
実践アプリケーション設計 ③ドメイン駆動設計
recruitengineers
PRO
13
3.9k
【Grafana Meetup Japan #6】Grafanaをリバプロ配下で動かすときにやること ~ Grafana Liveってなんだ ~
yoshitake945
0
210
つくって納得、つかって実感! 大規模言語モデルことはじめ
recruitengineers
PRO
32
12k
JavaScript 研修
recruitengineers
PRO
6
1.3k
実践アプリケーション設計 ①データモデルとドメインモデル
recruitengineers
PRO
5
1.3k
人と組織に偏重したEMへのアンチテーゼ──なぜ、EMに設計力が必要なのか/An antithesis to the overemphasis of people and organizations in EM
dskst
7
830
Browser
recruitengineers
PRO
6
2.1k
『FailNet~やらかし共有SNS~』エレベーターピッチ
yokomachi
1
190
コスト削減の基本の「キ」~ コスト消費3大リソースへの対策 ~
smt7174
2
300
PRDの正しい使い方 ~AI時代にも効く思考・対話・成長ツールとして~
techtekt
PRO
0
130
絶対に失敗できないキャンペーンページの高速かつ安全な開発、WINTICKET × microCMS の開発事例
microcms
0
350
JuniorからSeniorまで: DevOpsエンジニアの成長ロードマップ
yuriemori
2
340
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
246
12k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
A better future with KSS
kneath
239
17k
Faster Mobile Websites
deanohume
309
31k
The Invisible Side of Design
smashingmag
301
51k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Designing Experiences People Love
moore
142
24k
Done Done
chrislema
185
16k
Code Review Best Practice
trishagee
70
19k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Six Lessons from altMBA
skipperchong
28
4k
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 ༷ʑͳϨΠϠʔͰࣗಈԽΛࢪ͠ɺଐਓԽΛ͙