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
Webのしくみ Vol.2 ~トレンド~
Search
Yutaka Tachibana
October 19, 2019
Technology
0
170
Webのしくみ Vol.2 ~トレンド~
【プログラミング教室卒業生&受講生限定】同窓LT大会!
https://codebase.connpass.com/event/148508/
Yutaka Tachibana
October 19, 2019
Tweet
Share
More Decks by Yutaka Tachibana
See All by Yutaka Tachibana
道具としてのGraphQLから見る用途や解決する課題
saboyutaka
0
120
会社を実装する
saboyutaka
23
9.2k
GraphQLはどんな時に使うか
saboyutaka
39
10k
ハマる仕掛けと学習習慣
saboyutaka
1
1.4k
Other Decks in Technology
See All in Technology
あの日俺達が夢見たサーバレスアーキテクチャ/the-serverless-architecture-we-dreamed-of
tomoki10
0
520
pg_bigmをRustで実装する(第50回PostgreSQLアンカンファレンス@オンライン 発表資料)
shinyakato_
0
120
ISUCON、今年も参加してみた / ISUCON, I challenged it again this year.
dero1to
0
110
メンタル面でもつよつよエンジニアになる/登壇資料(井田 献一朗)
hacobu
0
150
React Routerで実現する型安全なSPAルーティング
sansantech
PRO
2
340
組織に自動テストを書く文化を根付かせる戦略(2024冬版) / Building Automated Test Culture 2024 Winter Edition
twada
PRO
21
6.2k
生成AIのガバナンスの全体像と現実解
fnifni
1
230
10年もののバグを退治した話
n_seki
0
110
怖くない!ゼロから始めるPHPソースコードコンパイル入門
colopl
0
190
サーバーなしでWordPress運用、できますよ。
sogaoh
PRO
0
140
「完全に理解したTalk」完全に理解した
segavvy
1
210
Yahoo! ズバトクにおけるフロントエンド開発
lycorptech_jp
PRO
0
110
Featured
See All Featured
KATA
mclloyd
29
14k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
The World Runs on Bad Software
bkeepers
PRO
66
11k
How to Think Like a Performance Engineer
csswizardry
22
1.2k
Building Applications with DynamoDB
mza
91
6.1k
Designing for humans not robots
tammielis
250
25k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Code Reviewing Like a Champion
maltzj
521
39k
Raft: Consensus for Rubyists
vanstee
137
6.7k
Building an army of robots
kneath
302
44k
Code Review Best Practice
trishagee
65
17k
Transcript
Webͷ͘͠Έ Vol.2 τϨϯυ @saboyutaka 2019/10/19 #codebase_lt
ͳΜͰτϨϯυΛΔͱඞཁ͕͋Δʁ • ࠓޙͲ͏͍͏ٕज़͕དྷΔ͔༧ग़དྷΔ • ੜଘઓུͱ͓ͯͬͯ͘͠͠ͱྑ͍
ΞδΣϯμ • OS, Runtime • ΞϓϦέʔγϣϯ • ϑϩϯτΤϯυ • σʔλ
• ܦࡁ
ڞ௨Խͷϓϩηε খ͘͞ελʔτ େ͖͘ͳΔ, ෳࡶԽ͢Δ ࡉԽ͢Δ ڞ௨Խ͢Δ
OS, RuntimeͷτϨϯυ
ԾԽ • ΦϯϓϨϛε • ԾϚγϯ • ίϯςφ
ԾԽ • ΦϯϓϨϛε(શ෦ࣗݾௐୡ) • ԾϚγϯ(OSͷԾԽ) • VirtualBox, Vagrant • ίϯςφ(RuntimeͷԾԽ)
• Docker, Kurbernetes
XaaS https://pt.slideshare.net/AlexZyl/functionsvslambda-presentation/4 OSͷԾԽ Runtimeͷ ԾԽ ΞϓϦέʔγϣϯ ͷԾԽ • AWS EC2
• Ϩϯλϧαʔόʔ • Heroku • Netlify • AWS Lambda • Azure Functions શ෦ࣗݾௐୡ
ΦϯϓϨϛε, VMͷ࣌ • ΞϓϦέʔγϣϯΛఏڙ͢ΔͨΊʹඞཁͳΠ ϯϑϥͷௐୡίετ͕ߴ͍ • ग़དྷΔ͚ͩ࠷খߏͰ
XaaS • IaaS, OSͷԾԽ • PaaS, RuntimeͷԾԽ • FaaS, ΞϓϦέʔγϣϯͷԾԽ
ίϯςφٕज़ͷख़ͰRuntime, ΞϓϦέʔγϣϯͷԾԽ·Ͱདྷͨ
ԾԽʹΑͬͯ • ΞϓϦέʔγϣϯΛఏڙ͢ΔͨΊͷ(Πϯ ϑϥ)ͷίετ͕ݮ͖ͬͯͨ • ΞϓϦέʔγϣϯʹूதग़དྷΔΑ͏ʹͳͬͨ • ཧίετ͕͘ͳ͖ͬͯͨͷͰେྔʹΞϓ ϦΛར༻Ͱ͖ΔΑ͏ʹͳͬͨ
ΞϓϦέʔγϣϯͷτϨϯυ
ΞϓϦέʔγϣϯͷΞʔΩςΫνϟ ϞϊϦγοΫ Microservices Serverless
ϞϊϦγοΫͷಛ • Ұ൪ߏͱͯ͠γϯϓϧɺֶशίετ͕͍ • 1͔Β࢝ΊΔ࣌ʹશ෦ἧͬͯΔͷͰศར • ਓγεςϜͷن͕େ͖͘ͳΔͱෳࡶԽ͢ Δ
ԾԽɾίϯςφԽʹΑͬͯ • ෳΞϓϦέʔγϣϯΛཧग़དྷΔΑ͏ʹͳͬͨ • Microservices, Serverless͕Մೳʹ • 1ͭͷΞϓϦέʔγϣϯ͕࣋ͭ୲Օॴ͕ࡉԽ • ෳݴޠɺෳΞϓϦέʔγϣϯ͕લఏʹ
• ڞ௨Խ͞ΕͨॲཧSaaSར༻ • Auth0, Ϣʔβʔೝূج൫ • Stripe, ܾࡁ • Algoria, ݕࡧ • Azure Cognitive Services, ػցֶशAPI
ΞϓϦέʔγϣϯͷτϨϯυ • ࡉԽɺڞ௨෦ͷར༻ • Ϛϧνݴޠ, ݴޠຖͷಘҙͳͱ͜ΖΛ׆͔͢ • Rails, Laravel, Go,
Python, Node.jsͷڞଘ • ֤ݴޠ, ֤DBͷෳΠϯελϯεͷΈ߹Θ ͤͰదࡐదॴΛ࣮ݱ
ϑϩϯτΤϯυͷτϨϯυ
ϑϩϯτΤϯυͰࠓग़ͯ͘Δ • UIͷίϯϙʔωϯτ(෦)Խ • Vue,js, React.js, Angular.js • Bootstrap, Material
Design • ϚϧνϓϥοτϑΥʔϜ(Web, Mobile, Desktop) • αʔόʔαΠυͱͷ • SPA, SSR
ϑϩϯτΤϯυͰى͖͍ͯΔࣄ • ίϯϙʔωϯτԽ͍ͯ͘͢͠ • ؆୯ʹ͍͍ײ͡ͷσβΠϯʹ͍ͨ͠ • αʔόʔαΠυͱͷґଘؔΛͳ͍ͨ͘͠ • Ͱ͖ΕϊϯίʔσΟϯάͰ࡞Γ͍ͨ
WebϑϩϯτΤϯυͷͭ͘Γ͔ͨ 1. HTMLͷΈ αʔόʔ͕HTMLΛฦ͢ 2. HTML on JS αʔόʔ͕HTMLΛฦ͢ +JSͰ০
3. HTML on Component JS αʔόʔ͕HTMLΛฦ͢ +ίϯϙʔωϯτϥΠϒϥϦ(Vue.js, React) 4. SPA or BFF HTMLΛฦ͢, αʔόʔJSON APIͷΈ αʔόʔ͕ϓϨθϯςʔγϣϯ ϩδοΫΛ͍ͬͯΔ αʔόʔ͕ϓϨθϯςʔγϣϯ ϩδοΫΛΒͳ͍
WebϑϩϯτΤϯυͷྫ 1. HTMLͷΈ αʔόʔαΠυWAF 2. HTML on JS Railsͱ jQUery
3. HTML on Component JS RailsͱVue.js 4. SPA or BFF + API Nuxt.js(Vue.js) + Rails(API) αʔόʔ͕ϓϨθϯςʔγϣϯ ϩδοΫΛ͍ͬͯΔ αʔόʔ͕ϓϨθϯςʔγϣϯ ϩδοΫΛΒͳ͍
σʔλϕʔεͷτϨϯυ
σʔλϕʔεͷߏཁૉ σʔλͷೖΕ + API
ϦϨʔγϣφϧDBͷߏ ςʔϒϧ + SQL
σʔλͷछྨ • ςʔϒϧ • ελοΫ • Ωϡʔ • υΩϡϝϯτ(ΦϒδΣΫτ) •
ΩʔόϦϡʔ • άϥϑ
σʔλͷAPI • SQL • GraphQL • HTTP(JSON)
ԾԽɾίϯςφԽʹΑͬͯ • DBίϯςφΛ؆୯ʹݐͯΒΕΔΑ͏ʹͳͬͨ • ൚༻తͳ୯ҰͷRDB͔ΒෳҟछDB • దࡐదॴ
ܦࡁͷτϨϯυ
ࡉԽ͍ͯ͠ΔͷγεςϜͩ ͚Ͱͳ͍ɺܦࡁͦͷͷ
ܦࡁͷmicroservicesԽ • Πϯλʔωοτ͕ਁಁͯ͠ใ͕؆୯ʹखʹ ೖΔΑ͏ʹͳ͖ͬͯͨ • େاۀ(ใͷϋϒ)͕ඞཁ͕ͳ͍ • গͳ͍ਓͰग़དྷΔ͜ͱ͕૿͑ͨ • ઐۀاۀ,
SaaS͕૿͑Δ
·ͱΊ
τϨϯυͷ·ͱΊ • ࡉԽɾڞ௨ԽɾઐۀԽ • Microservices • ৫ͷॖখԽ(ϦετϥΫγϣϯ) • ͱ͍͑ݪཧݪଇมΘ͍ͬͯͳ͍ •
ϓϩάϥϜͷݪཧ: ஞ࣍ɺذɺ෮ • σʔλߏ • ׂɺσβΠϯύλʔϯ • ਓͱ৫
ͱ͍͑ݪཧݪଇมΘ͍ͬͯͳ͍ • ϓϩάϥϜͷݪཧ: ஞ࣍ɺذɺ෮ • σʔλߏ • ׂɺσβΠϯύλʔϯ • ਓͱ৫
ࠓޙͲ͏͍ͯ͘͠ͱ͍͍͔ • ݪཧݪଇͷཧղ • શମઃܭ͕ग़དྷΔΑ͏ʹͳΔ • ༷ʑͳαʔϏεɺݴޠɺϑϨʔϜϫʔΫΛཧ ղ͢Δ
ઃܭͷ͓͢͢Ίڭࡐ • https://martinfowler.com • Azure ΞʔΩςΫνϟηϯλʔ • Google Web Fundarmentals
σʔλϕʔε͓͢͢Ίڭࡐ