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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
takanamito
August 04, 2016
Programming
1.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
安心してフレームワークをのりかえたい
表参道.rb #14 ビアガーデン風編
http://omotesandorb.connpass.com/event/36622/
LT資料です
takanamito
August 04, 2016
More Decks by takanamito
See All by takanamito
ActiveModel::Attributes APIとSwaggerでRailsのAPIレスポンスに型を持ち込む
takanamito
0
680
ドキュメントとテストのないプロジェクトを引き継ぐ
takanamito
2
3.6k
Siriに身の回りのお世話をしてもらう
takanamito
0
6.9k
PHPで運用中のサービスをRubyに切り替える
takanamito
0
5.5k
HLSでやっていく 動画ストリーミング配信
takanamito
0
2.6k
あんしん大規模リプレースサポート
takanamito
1
1.8k
Other Decks in Programming
See All in Programming
AWS DevOps Agentで インシデント対応をAIに任せたい
honmarkhunt
3
570
私のClaude Code活用法 (個人開発編) - PHPerKaigi mini #4(2026/08/24)
panda_program
1
210
GraphRAGのKnowledge Graphを 直接!見る/View-GraphRAG's-KnowledgeGraph-directly!
tyumugi1113
0
210
Pythonの実行はどこまで賢くなったのか? CPythonとPyPyから見る最適化のしくみ
curekoshimizu
4
2.8k
初心者DevRelとして参加者だった私が、DevRel Talks!#2に登壇するまでにしてきたこと
sokohirai
0
330
Laravelのアプリケーションをどこにデプロイするか #ツナギメオフライン.9
akase244
0
110
AI時代に学ぶ 好きなルール 嫌いなルール Linter編
shorty5121
0
820
From 6 People Classroom Meetup to 100 People Regional Conference / FOSS4G Hiroshima 2026
furukawayasuto
0
100
まずはプロンプトガイドを読もう、話はそれからだ
kiakiraki
1
260
Oxlintはいいぞ(続)
yug1224
1
540
Deep dive into the select statement (GopherCon UK)
jespino
0
170
Webエンジニアなのにブラウザの仕組みがわからないので、Pythonで自作してみた
tatsuki12
4
1.7k
Featured
See All Featured
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
370
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.7k
Deep Space Network (abreviated)
tonyrice
0
290
The Limits of Empathy - UXLibs8
cassininazir
1
640
Building Adaptive Systems
keathley
44
3.2k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
390
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
320
A Modern Web Designer's Workflow
chriscoyier
698
190k
WCS-LA-2024
lcolladotor
0
820
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
570
Transcript
҆৺ͯ͠ ϑϨʔϜϫʔΫΛ ͷΓ͔͍͑ͨ
ࣗݾհ • @takanamito • גࣜձࣾ Speee ৽ଔ3 • ւ֎ϝσΟΞࣄۀ෦ •
ւ֎͚ͷਓࡐܥϝσΟΞ࡞ͬͯ·͢
ւ֎ϝσΟΞ 2015 • ඦສPV / ݄ • 2΄ͲFuelPHP͕Քಇ • 1action
100~200ߦͷcontroller͕ෳ • ແବͳϖʔδ͕ͨ͘͞Μ
None
FuelPHP -> Ruby on Rails
ϦϓϨʔεཁ݅ • FuelPHPΛ٫͍ͨ͠ • ϚελσʔλΛ৽͍ͨ͠ • URLΛ৽͍ͨ͠ • σβΠϯϦχϡʔΞϧ͍ͨ͠
͍͢͝ා͍ • ϑϨʔϜϫʔΫ͕มΘΔ • Ϛελσʔλ͕มΘΔ • 10ສҎ্ͷURL͕มΘΔ • چURL͔Β৽URLʹਖ਼͘͠301ϦμΠϨΫτ͠ ͳ͍ͱ͍͚ͳ͍
ࣄલݕূ • ಛʹॏཁͳϦμΠϨΫτॲཧͷ ϩδοΫͱσʔλͷςετ • ෛՙݕূ • ΞϓϦέʔγϣϯશମͷಈ࡞ݕূ
kage • https://github.com/cookpad/kage • γϟυϓϩΩγαʔόʔͷgem • cookpadࣾ • ຊ൪ͷτϥϑΟοΫΛෳ͠։ൃαʔόʔʹྲྀ͢
None
nginxͰϩʔυόϥϯε upstream backend { server 127.0.0.1:9000 weight=9; server 10.0.0.1:8000; }
kage Kage::ProxyServer.start do |server| server.port = 8000 server.host = '0.0.0.0'
server.add_master_backend(:production, 'localhost', 80) server.add_backend(:sandbox, 'localhost', 80) server.on_select_backends do |request, headers| if request[:method] == 'GET' [:production, :sandbox] else [:production] end end ~~ தུ ~~ end def compare(production_res, sandbox_res, url) # ͜ͷลͰresponseݟͯϩάग़ͨ͠Γ͢Δ end
kageͷϩά IUUQTUBUVTʹ͕ࠩ͋Δ63-Λग़ྗ
ͬͯΑ͔ͬͨ͜ͱ • ຊ൪τϥϑΟοΫͰࣄલʹݕূͰ͖Δ • ςετ࿙ΕʹରԠՄೳ • ७ਮͳςετέʔεͷ࿙Ε • ϩδοΫ߹ͬͯͯσʔλ͕͓͔͍͠