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サービス 開発スタイル / Web services development a...
Search
Kōhei Yamamoto (山本浩平)
January 25, 2019
Technology
2
600
ペパボのWebサービス 開発スタイル / Web services development at GMO Pepabo
2019年1月25日に香川大学創造工学部で開催されたGMOペパボ会社紹介(ハッシュタグ #ペパボうどん)での資料です
Kōhei Yamamoto (山本浩平)
January 25, 2019
Tweet
Share
More Decks by Kōhei Yamamoto (山本浩平)
See All by Kōhei Yamamoto (山本浩平)
総会員数1,500万人のレストランWeb予約サービスにおけるRustの活用
kymmt90
3
3.3k
一休.comレストランにおけるRustの活用
kymmt90
3
1.1k
一休.comレストランのRustバックエンド開発の様子
kymmt90
15
12k
レガシーWebアプリケーションの性能とコードの健全性をインクリメンタルに改善する / pepabotech-20211209
kymmt90
1
3k
コードレビュー座学 / About code reviews
kymmt90
0
6.7k
GraphQL and Schema-First Development
kymmt90
4
4k
EC新サービスにおけるスキーマファースト開発 / Schema First Development in the New EC Service
kymmt90
1
2.3k
rails new --api してからやったこと 〜2017年・夏〜 / EC Tech MTG 3
kymmt90
0
840
カテゴリ階層の拡張を目的とした階層的トピックモデル / A hierarchical topic model for expanding category hierarchies
kymmt90
0
540
Other Decks in Technology
See All in Technology
Flutterでキャッチしないエラーはどこに行く
taiju59
0
210
RSCの時代にReactとフレームワークの境界を探る
uhyo
8
1.1k
AI時代に非連続な成長を実現するエンジニアリング戦略
sansantech
PRO
3
920
2025年になってもまだMySQLが好き
yoku0825
5
2.3k
「守る」から「進化させる」セキュリティへ ~AWS re:Inforce 2025参加報告~ / AWS re:Inforce 2025 Participation Report
yuj1osm
1
180
カミナシ社の『ID管理基盤』製品内製 - その意思決定背景と2年間の進化 #AWSUnicornDay / Kaminashi ID - The Big Whys
kaminashi
3
720
Language Update: Java
skrb
2
170
エラーとアクセシビリティ
schktjm
0
210
Webブラウザ向け動画配信プレイヤーの 大規模リプレイスから得た知見と学び
yud0uhu
0
110
大「個人開発サービス」時代に僕たちはどう生きるか
sotarok
4
710
ZOZOマッチのアーキテクチャと技術構成
zozotech
PRO
2
1.1k
7月のガバクラ利用料が高かったので調べてみた
techniczna
3
810
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Into the Great Unknown - MozCon
thekraken
40
2k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Speed Design
sergeychernyshev
32
1.1k
How GitHub (no longer) Works
holman
315
140k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
GraphQLとの向き合い方2022年版
quramy
49
14k
Become a Pro
speakerdeck
PRO
29
5.5k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Faster Mobile Websites
deanohume
309
31k
GitHub's CSS Performance
jonrohan
1032
460k
Transcript
ࣄۀͱΤϯδχΞͷΛࢧ͑Δ͘͠Έ (.0ϖύϘࢁຊߒฏ ߳େֶֶ෦ ϖύϘͷ8FCαʔϏε ։ൃελΠϧ
͜Μʹ ͪ
ͷࢁຊͱਃ͠·͢
ࠓͷ ΰʔϧ
wʮ(.0ϖύϘʯͱ͍͏໊ࣾ wʮQBQFSCPZʯʢϖʔύʔϘʔΠʣͷུ͕༝དྷ w8FCαʔϏε։ൃָ͍͠͠ਓͷʹཱͭ wϖύϘʹΤϯδχΞͱͯ͠Ͱ͖Δڥ͕ ͋Δ ҎԼΛ֮͑ͯΒ͑Δͱ࠷ߴͰ͢
w8FCαʔϏεͬͯͳʹʁ wϖύϘͰͷ8FCαʔϏε։ൃͲΜͳײ͡ʁ w8FCαʔϏε։ൃͷͳʹ͕ʹཱͭͷʁ wϖύϘࣾʹʹ੍ཱͭ͋Δͷʁ ͓ॻ͖
γχΞΤϯδχΞ ࢁຊߒฏ!LZNNU &$ࣄۀ෦ΧϥʔϛʔϦϐʔτνʔϜ
w 3VCZ3VCZPO3BJMT͕͖ w ΦϯϥΠϯγϣοϓΛ࡞Ͱ͖Δ8FCαʔϏεͷ։ൃ ӡ༻Λ୲ !LZNNUͷࣗݾհ
8FCαʔϏεͬͯͳʹʁ
wࣄۀܗଶͷҰछ wϒϥβϞόΠϧΞϓϦ͔ΒΞΫηεͰ͖Δ 8FCΞϓϦέʔγϣϯΛ༻͍ͯɺϢʔβʔʹ ՁΛಧ͚ɺରՁΛಘΔ 8FCαʔϏεΛͬ͘͟Γ͍͏ͱ
wͬ͘͟Γ͍͏ͱ)551ΛΠϯλϑΣʔεͱ͢Δ ΞϓϦέʔγϣϯ 8FCΞϓϦέʔγϣϯʁ 8FCΞϓϦέʔγϣϯ 1045QSPEVDUT)551 )PTUFYBNQMFDPN ʜ )5510, ʜ
wϢʔβʔ͕ಘΔՁ wϢʔβʔ͕ٻΊ͍ͯΔใΛݟ͚ͭΒΕΔ wαʔϏε͕ಘΔରՁ wϢʔβʔʹରͯ͠ࠂΛදࣔͯ͠ɺࠂओ͔Β ࠂྉΛಘΔ ྫɿ(PPHMFݕࡧ8FCαʔϏε
wϢʔβʔ͕ಘΔՁ wશੈքͷϢʔβʔͱ(JUϦϙδτϦΛ௨ͨ͡ ιʔείʔυͷڞ༗ڞಉ։ൃ͕Ͱ͖Δ wαʔϏε͕ಘΔରՁ wϓϥΠϕʔτͳϦϙδτϦΛͬͯΒ͏ࡍʹ αʔϏεར༻ྉΛಘΔ ྫɿ(JU)VC8FCαʔϏε
(.0ϖύϘ8FCαʔϏεΛ ӡӦ͢ΔձࣾͰ͢
ϖύϘͲΜͳ8FCαʔϏεΛ ఏڙ͍ͯ͠Δͷʁ
ϖύϘͷ8FCαʔϏεͨͪ (.0ϖύϘ࠾༻αΠτ IUUQTSFDSVJUQFQBCPDPNDPNQBOZ ΑΓҾ༻
wҟͳΔࣄۀྖҬͷෳαʔϏεΛӡӦ͍ͯ͠Δ wڞ௨͢ΔͷΠϯλʔωοτͰදݱ׆ಈ͢Δ ਓʑΛࢧ͑Δ͜ͱ wྫNJOOFͷ࡞Ո͞·ϋϯυϝΠυΛ௨ͨ͡ දݱ׆ಈΛ͓͜ͳ͏͜ͱͰऩӹΛಘ͍ͯΔ ϖύϘͷ8FCαʔϏεͷಛ
ϖύϘͷ8FCαʔϏεΛ ࣮ࡍʹݟͯΈ·͠ΐ͏ TV[VSJKQ
ϖύϘͰͲͷΑ͏ʹ 8FCαʔϏεΛ։ൃ͍ͯ͠Δͷʁ
wجຊతʹνʔϜͰ։ൃ͠·͢ w͍ΖΜͳϩʔϧͷਓ͕͍·͢ wϓϩμΫτϚωʔδϟ wσΟϨΫλʔ wσβΠφʔ wΤϯδχΞʢ8FCɺϞόΠϧɺ43&ʣ ϖύϘͰͷ8FCαʔϏε։ൃ
w(JU)VC&OUFSQSJTF্Ͱ։ൃ w*TTVFͱ1VMMSFRVFTUΛϑϧ׆༻ wΤϯδχΞҎ֎.BSLEPXO͕ॻ͚Δ w4MBDLϑϧ׆༻ wि͝ͱʹ;Γ͔͑Γͱ։ൃܭը࡞Λ܁Γฦ͠ ͳ͕Β։ൃΛਐΊΔ wεΫϥϜ ։ൃͷਐΊํ
wαʔϏεͰඞཁͳ৽ػೳΛ3BJMT8FC"1*ʹ ࣮ wϝϯόʔͱ༷ʹ͍ͭͯ૬ஊɺςʔϒϧઃܭɺ "1*༷ͷϨϏϡʔɺ࣮ͱςετɺίʔυϨ ϏϡʔɺόοΫΤϯυʗϑϩϯτΤϯυͷ݁ ߹ɺϦϦʔε࡞ۀ ྫ!LZNNUͷ։ൃ࡞ۀ
ྫ!LZNNUͷ։ൃ࡞ۀ
w.BDCPPL͕ଟ͍ɺ࠷ۙ-JOVYϚγϯ w͖ͳΩʔϘʔυΤσΟλͳͲΛͬͯ։ൃ ΤϯδχΞͷ։ൃڥ
w IUUQTUFDIQFQBCPDPNQFQBCPDPSQPSBUFJU ϖύϘͷࣾ*5ڥ
8FCαʔϏε։ൃͷͳʹ͕ ʹཱͭͷʁ
wਓͦΕͧΕ w!LZNNUͷ߹ wٕज़Λ༻͍ͯ8FCαʔϏεΛӡӦ͢Δ͜ͱ͕ ָ͍͠ͷͰɺͬͱৄ͘͠ͳΓ͍ͨ wͬͱ͍͍ίʔυΛॻ͚ΔΑ͏ʹͳΓ͍ͨ wΤϯδχΞͱͯ͠ೝΊΒΕ͍ͨ ͍ͦͦͨ͠ཧ༝ʁ
wίʔυϨϏϡʔΛ͔ͬ͠Γ͢Δʗड͚ΔจԽ w8FCαʔϏεಉ͡ίʔυϕʔεΛԿ ड͚ܧ͙͜ͱ͕ଟ͍ͷͰඇৗʹେࣄ wίʔυΛಡΉʗίʔυΛಡ·ΕΔ͜ͱษڧ ʹͳΔ w༷ͷཏੑɺ໋໊ɺಡΈ͢͞ɺϥΠϒϥϦ ͷػೳɺηΩϡΞίʔσΟϯά ίʔυϨϏϡʔͰ͢Δ
wαʔϏεͷӡӦʹܧଓతվળ͕ඞཁ wΞϓϦέʔγϣϯͷվળͷνϟϯεͨ͘͞Μ wϦϑΝΫλϦϯά w%#ͷΫΤϦνϡʔχϯά wΩϟογϡઓུ wΓͱ͛Δʹઐ͕ࣝඞཁ ܧଓతվળΛ௨ͯ͢͡Δ
͜͜·ͰͰ͙Β͍ʁ
ϖύϘࣾʹʹ੍ཱͭ ͋Δͷʁ
wલఏͱͯ͠ɺձࣾʹ͓͍ͯධՁେࣄ wҰํɺධՁͷಁ໌ੑଞऀͷධՁͷೲಘײ େࣄ ΤϯδχΞͷධՁ
w ࣮ධՁࢿྉશһ1VMMSFRVFTU্Ͱ࡞ w ࣾͷਓ୭ͰಡΊΔ w ઌഐͷࢿྉΛಡΉͱͷώϯτ͕ಘΒΕΔ ϖύϘʹ͓͚ΔධՁ੍
wઐྖҬʹ͓͍ͯ՝Λղܾ͢ΔΤϯδχΞͱ ͯ͠ΩϟϦΞΞοϓͰ͖Δ੍ w࡞Γ্͛Δྗ wઌΛݟ௨͢ྗ wӨڹΛ͛Δྗ ΤϯδχΞͷ৬Ґ੍
ΤϯδχΞͷ৬Ґ੍
w͕ࣗͦͷ৬Ґʹݟ߹͏ߦಈ͕Ͱ͖͍ͯΔͱߟ ͍͑ͯΔਓ͕దͩͱ͍͏ߟ͑ w͕ࣗ৬ҐʹΔೳྗΛ͍࣋ͬͯΔ͜ͱΛධՁ ࢿྉͱ໘ஊͰओு͢Δ wೱ͍ϑΟʔυόοΫ͕ಘΒΕΔͷͰঢ֨Ͱ͖ͳ ͘ͱଟ͘ͷͷ͕ಘΒΕΔ ৬Ґ੍ཱީิ੍
wΞτϓοτΛڧ͘ਪ͢ΔจԽ͕͋Δ wϒϩά2JJUBͰهࣄΛॻ͘ w044ʹύονΛૹΔʗ044Λࣗ࡞͢Δ wΧϯϑΝϨϯεͰൃද͢Δ wॻ੶ࡶࢽʹدߘ͢Δ ΞτϓοτจԽ
wٯઆత͕ͩɺΞτϓοτΛ͢Δ΄ͲϑΟʔυ όοΫ͕ಘΒΕΔͷͰΠϯϓοτʹͳΔ w͍͞͞ͳ͜ͱͰΞτϓοτ͢Δͱୡײ͕ ͋ΔͷͰϞνϕʔγϣϯ্͕͕Δ Ξτϓοτͷͳʹ͕Α͍͔
)BDPOJXBCZ!VE[VSB 45/4CZ!QZBNB
!LZNNUͷΞτϓοτ
UFDIQFQBCPDPN RJJUBDPNBEWFOUDBMFOEBSQFQBCP
ຊͷ ΰʔϧ
wʮ(.0ϖύϘʯͱ͍͏໊ࣾ wʮQBQFSCPZʯʢϖʔύʔϘʔΠʣͷུ͕༝དྷ w8FCαʔϏε։ൃָ͍͠͠ਓͷʹཱͭ wϖύϘʹΤϯδχΞͱͯ͠Ͱ͖Δڥ͕ ͋Δ ҎԼΛ֮͑ͯΒ͑Δͱ࠷ߴͰ͢
8FBSFIJSJOH ৄ͘͠SFDSVJUQFQBCPDPNͰ