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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
HaiTo
December 01, 2016
Programming
0
260
管理画面再考
表参道rb17の発表資料です
HaiTo
December 01, 2016
Tweet
Share
More Decks by HaiTo
See All by HaiTo
Form Object へ捧げる気持ち
haito
0
1.7k
ゾンビを倒してRuby.2.2に上げた話
haito
0
110
独自Worker管理が辛い
haito
0
200
色々なレビューの話
haito
0
160
おしゃれっぽくターミナルでストリーミング再生をしたかった話
haito
0
130
dendai_lt_1011
haito
0
61
Other Decks in Programming
See All in Programming
FOSDEM 2026: STUNMESH-go: Building P2P WireGuard Mesh Without Self-Hosted Infrastructure
tjjh89017
0
180
生成AIを使ったコードレビューで定性的に品質カバー
chiilog
1
280
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
390
CSC307 Lecture 01
javiergs
PRO
0
690
MUSUBIXとは
nahisaho
0
140
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
4k
Fluid Templating in TYPO3 14
s2b
0
130
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
440
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
180
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
6.1k
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
250
Raku Raku Notion 20260128
hareyakayuruyaka
0
360
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Designing for Timeless Needs
cassininazir
0
130
SEO for Brand Visibility & Recognition
aleyda
0
4.2k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
290
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
67
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
300
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
94
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
Discover your Explorer Soul
emna__ayadi
2
1.1k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
270
GitHub's CSS Performance
jonrohan
1032
470k
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