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
管理画面再考
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
HaiTo
December 01, 2016
Programming
270
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
管理画面再考
表参道rb17の発表資料です
HaiTo
December 01, 2016
More Decks by HaiTo
See All by HaiTo
Form Object へ捧げる気持ち
haito
0
1.7k
ゾンビを倒してRuby.2.2に上げた話
haito
0
120
独自Worker管理が辛い
haito
0
200
色々なレビューの話
haito
0
160
おしゃれっぽくターミナルでストリーミング再生をしたかった話
haito
0
130
dendai_lt_1011
haito
0
66
Other Decks in Programming
See All in Programming
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
170
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.2k
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
11
6k
New "Type" system on PicoRuby
pocke
1
990
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
280
技術記事、 専門家としてのプログラマ、 言語化
mizchi
13
6.3k
Performance Engineering for Everyone
elenatanasoiu
0
190
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.4k
Spec Driven Development | AI Summit Lisbon
danielsogl
PRO
0
200
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
160
さぁV100、メモリをお食べ・・・
nilpe
0
150
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
270
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
247
13k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
210
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
Raft: Consensus for Rubyists
vanstee
141
7.5k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
350
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
600
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
400
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Un-Boring Meetings
codingconduct
0
320
Transcript
Omotesandorb#17 ཧը໘࠶ߟ HaiTo
࣍ ❖ ࣗݾհ ❖ ཧը໘ʹ͍ͭͯվΊͯߟ͑Δ ❖ ໊σʔλԽͷཧը໘νϥݟͤ ❖ ͜Ε͔Βͷཧը໘ͷཉ
࣍ ❖ ࣗݾհ ❖ ཧը໘ʹ͍ͭͯվΊͯߟ͑Δ ❖ ໊σʔλԽͷཧը໘νϥݟͤ ❖ ͜Ε͔Βͷཧը໘ͷཉ
·ͣࣗݾհ HaiTo Sansanגࣜձࣾॴଐ Ruby on Rails Ͱ͝൧Λ৯ͩͯ͠ೋ ͘Β͍ ࠷ۙͷؔ৺ϞσϦϯάͱ͔ઃܭͱ͔ͦ ͏͍͏ॴ
࣍ ❖ ࣗݾհ ❖ ཧը໘ʹ͍ͭͯվΊͯߟ͑Δ ❖ ໊σʔλԽͷཧը໘νϥݟͤ ❖ ͜Ε͔Βͷཧը໘ͷཉ
ཧը໘ͱ ❖ ΣϒαʔϏεγεςϜΛ࡞ͬ ͨͱ͖ʹɺӡ༻Λ͍͢͠Α͏ ʹ࡞ΔͰ͋Ζ͏ɺҰൠͷϢʔ βʔݟ͑ͳ͍தͷਓ͚ͷ ը໘ ❖ தͷਓ͕ͦͷγεςϜΛ͏ͱ ͖ʹ͏ศརͳԿ͔ͳࣄ͕ଟ
͍
ཧը໘ͱ ❖ ӡ༻͚ͩͰͳ͘ɺઓུΛཱͯ ΔͨΊͷσʔλΛͱͬͨΓɺͦ ΕΛੳ͢Δࣄཧը໘Ͱ Γͦ͏ͳ͜ͱͱͯ͋͠Γ·͢ Ͷɻ ❖ ͋ΔҙຯɺԿͰ͔ΜͰ٧Ί ࠐΊͦ͏ͳ༻ޠ
Ϣʔβʔʹର͢Δཧը໘ ❖ Ϣʔβʔ͕ৼΕΔʮཧը ໘ʯͱݺΕΔϞϊ͋Γ· ͢Ͷ
RailsͰཧը໘ͱݴ͑ ❖ RailsAdmin, ActiveAdmin, typus, Administrate …… ❖ ৭ʑ༗Γ·͢Ͷ ❖
͜ΕΒຆͲCRUDΛίϯιʔ ϧ֎͔Βग़དྷΔͱ͜Ζ·Ͱ ͬ͘͞ͱग़དྷΔπʔϧʹͳͬ ͯ·͢Ͷɻ
RailsͰཧը໘ͱݴ͑ ❖ Ϧιʔεʹରͯ͠ͷΞΫγϣϯ ͕ͪΌΜͱઃܭͰ͖͍ͯΕɺ ׂΓͱ͜Ε͚ͩͰͳΜͱ͔ͳ Δɻͣɻ ❖ CRUDҎ্ͷ͜ͱΛΖ͏ͱ͢ Δͱۃʹ͘͠ͳΔҹ
ͪΐͬͱ·ͬͯ
ཧը໘ͱ ❖ ӡ༻͚ͩͰͳ͘ɺઓུΛཱͯ ΔͨΊͷσʔλΛͱͬͨΓɺͦ ΕΛੳ͢Δࣄཧը໘Ͱ Γͦ͏ͳ͜ͱͱͯ͋͠Γ·͢ Ͷɻ ❖ ͋ΔҙຯɺԿͰ͔ΜͰ٧Ί ࠐΊͦ͏ͳ༻ޠ
ઓུΛཱͯΔͨΊͷσʔ λੳͲ͏͢Δͷʁ
ཧը໘ͱ ❖ ӡ༻͚ͩͰͳ͘ɺઓུΛཱͯ ΔͨΊͷσʔλΛͱͬͨΓɺͦ ΕΛੳ͢Δࣄཧը໘Ͱ Γͦ͏ͳ͜ͱͱͯ͋͠Γ·͢ Ͷɻ ❖ ͋ΔҙຯɺԿͰ͔ΜͰ٧Ί ࠐΊͦ͏ͳ༻ޠ
ϦιʔεͷCRUDʹཧ Ͱ͖ͳ͔ͬͨϞϊͷՄࢹ Խͱ͔Ͳ͏͢Δͷʁ
αʔϏεׂઓࠃ࣌ ❖ SOAMicroservicesʹද͞ ΕΔɺαʔϏεׂઓࠃ࣌ ʹɺཧը໘·ͨʹΑͬ ͯ(͋Δ͍ಘҙͳࣄʹΑͬͯ) ׂ࣌ͳͷͩ……ʂ
֤छOSSͷൃల ❖ σʔλͷՄࢹԽɺఆظ࣮ߦͰͷ KPIԽɺJobͷཧͷΓग़ ͠ɺίϯςφͷՄࢹԽͱ ཧ…… ❖ ࣗͨͪͰ࡞Βͳͯ͘ ͍͍ײ͡ʹγεςϜΛಈ͔͠ଓ ͚Δࣄͷඞཁͳ֎෦πʔϧ͕
૿͖͑ͯͨʂ
֤छOSSͷൃల ❖ ཧը໘͔ΒׂΛҾ͖ണ͕ ͠ɺCRUDҎ֎ͷࣄͲΜͲΜ ͍ͭ͜Βʹ͍ͤͯ͜͏ʂ ❖ Ͱ࣍πʔϧ͕૿͑͗ͯ͢ਏ ͍͕ൃੜ͢Δ……
͍·࠶ͼͷChatops ❖ ͯ͢SlackͰ݁Ͱ͖Εɺ ׂΓͱ࣮ղܾ͢ΔͷͰͳ ͍͔ɻ ❖ Sql ΛSlack͔Β͛ͯSlackͰ άϥϑԽ͢ΔΈ͍ͨͳιϦϡʔ γϣϯ͢Βരͩ࣌͢͠͝ੈ
https://codeiq.jp/magazine/2014/11/17130/chatops/
ཧը໘࠶ߟ ❖ ͦͦʮԿΛཧ͍ͨ͠ͷ͔ʯΛ໌֬ʹ͢Δ ❖ ʮԿΛԿނ͍ͨ͠ͷ͔ʯΛ໌֬ʹ͠ɺదͳιϦϡʔγϣ ϯ(or OSS)Λಋೖͨ͠΄͏͕ϋοϐʔʹͳΕΔ ❖ ͱ͍͑ɺ·ͣActiveAdmin͋ͨΓ͔Β͕ͱ͖ͬͭ ͘͢ɺྑͦ͞͏ɻ
࣍ ❖ ࣗݾհ ❖ ཧը໘ʹ͍ͭͯվΊͯߟ͑Δ ❖ ໊σʔλԽͷཧը໘νϥݟͤ ❖ ͜Ε͔Βͷཧը໘ͷཉ
໊σʔλԽγεςϜ ❖ ໊ͷσʔλԽΛࡉ͔͘ఔͱ ͯ͠දݱ͠ɺఔ͝ͱʹαʔϏ ε͕͋ΔࣅඇMicroservicesͬ Ά͍Կ͔ ❖ ͜ΕͰҰͭͷʮ໊σʔλԽαʔ Ϗεʯͱͯ͠ৼΔ͏ ❖
͜ΕΛཧ͢ΔαʔϏε͕͋ Δ
໊σʔλԽγεςϜཧը໘ ❖ Bootstrap2Ͱ࡞ΒΕͨ୭ݟͯ ͳ͍Ͱ͋Ζ͏τοϓϖʔδ ❖ ͜Ε͔Β͓ݟͤ͢Δը໘͢ ͯ։ൃը໘ʹͳΓ·͢(ΞλϦ ϚΤͰ͕͢……)
શαʔϏεͷσʔλԽঢ়گ ❖ ࠓ֤αʔϏε͕Ͳ͜ʹͲΕͩ ͚͍Δͷ͔Λूܭ͢Δ ❖ ͿͬͪΌ͚΄ͱΜͲ୭ݟ͍ͯ ͳ͍ɻ ❖ ࠓMackerelͰՄࢹԽ͍ͯ͠ Δ
શαʔϏεͷσʔλԽঢ়گ ࣌ܥྻͰมԽ͢ΔσʔλͳͷͰɺ MackerelʹΛఆظతʹPostͯ͠ ՄࢹԽ
Ϣʔβʔཧ1 ❖ ໊Λೖྗͯ͘͠ΕΔϢʔβʔ ͷ࣮ΛݟͨΓɺͬͱͪΌ ΜͱΕʂ ͬͯग़དྷΔΑ͏ͳ ը໘
Ϣʔβʔཧ2 ❖ ࣮ࡍͷೖྗͷϢʔβʔΛొ͠ ͨΓɺআͨ͠ΓɺใΛฤ ूͨ͠Γ͢Δը໘ ❖ ͜ΕϢʔβʔϨίʔυ͕ଘࡏ ͢ΔαʔϏεʹͬͯΔ
ͳΜͰಉ͡ϢʔβʔΛݟͯΔ ͷʹը໘͕2ͭ͋Δͷʁ
Microservices࣌ͷཧը໘ ❖ αʔϏε͕ࡉׂ͔͘͞Ε͍ͯ Δੈքʹ͓͍ͯɺDB͕ڞ௨Խ ͞Ε͓ͯΒͣɺ୯७ͳ MoutableRailsEngineͷཧը ໘Ͱʹཱͨͳ͍ࣄ͕ଟ͍ ❖ ͯ͢ͷαʔϏεʹ ActiveAdminΛೖΕΔ……ʁ
࣍ ❖ ࣗݾհ ❖ ཧը໘ʹ͍ͭͯվΊͯߟ͑Δ ❖ ໊σʔλԽͷཧը໘νϥݟͤ ❖ Microservices࣌ͷཧը໘ʹ͍ͭͯߟ͑Δ
Microservicesʹ͓͚Δཧը໘ ❖ ࠷ۙྲྀߦΓͷMicroservicesͰͷཧը໘Ͳ͏ͳΔͷ ͔ ❖ 1RailsαʔϏεຖʹཧը໘Λ࡞Δͷ͔ʁ ͋·Γʹݱ ࣮తͰͳ͍…… ❖ ͱ͍͑ɺ࣮υϝΠϯ͕ҟͳΔͳΒɺ৮Δਓҧ͏Մ
ೳੑߴ͘ɺͦ͏ͳΔͱผͷཧը໘Ͱྑ͍͔
Microservicesʹ͓͚Δཧը໘ ❖ ୡΈ͍ͨͳɺҰͭͷαʔϏεͱͯ͠ৼΔ͏Կ͔͕ࡉ ׂ͔͘͞Ε͍ͯͨ߹ྫ͑ɺ ❖ ڧҾʹผͷDBΛݟͨΓ͢Δ࠷ڧͷཧαʔϏε͔ ❖ ApiGatewayͱAPIAggregationΛ༻͍ͨཧઐ༻ͷΤϯ υϙΠϯτΛ։͖ɺͦ͜Ͱ͍͍ײ͡ʹΓͱΓ͢Δαʔ Ϗε͔
BestPracticeΛ୳࣌͢
·ͱΊ ❖ ཧը໘ܥׂಘҙͳ͜ͱʹԠͯ͡αʔϏεΛ ׂͨ͠ΓผαʔϏεΛͬͨΓ͠Α͏ʂ ❖ Microservices࣌ͷཧը໘·ͩະ։ͱ͍͏͔ɺ ͑ΛΈΜͳख୳Γͳঢ়ଶͳ͖͕͢Δ(Gunosy͞Μ͕Ͳ ͏ͬͯΔͷ͔ؾʹͳΔ) ❖ Microservices࣌ͷཧը໘ͷBestPracticeʹ͍ͭͯࢥ
͏ͱ͜Ζ͕͋Δਓɺੋඇ͓͠·͠ΐ͏ʂ
None