Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
sinatra
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kuniaki IGARASHI
July 01, 2014
Technology
240
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
sinatra
Sinatraでつくる簡単webアプリ
Kuniaki IGARASHI
July 01, 2014
More Decks by Kuniaki IGARASHI
See All by Kuniaki IGARASHI
RailsTokyo 4 GarnetTech373
igaiga
0
140
ActiveJobUpdates
igaiga
1
740
roppongirb_20250911
igaiga
1
800
igaiga Ruby Association Activity Report 2025 LT
igaiga
1
180
KaigiOnRails2024
igaiga
16
25k
RuboSensei
igaiga
0
370
Shibuya.rb-2023-04-27-igaiga
igaiga
1
610
Ginza Rails27 igaiga
igaiga
9
14k
tork09igaiga
igaiga
2
440
Other Decks in Technology
See All in Technology
幾何アルゴリズムで なめらかなピン操作を / iOSDC Japan 2026 / smoothpin
kazumanagano
0
260
多層防御と最⼩権限で実現する、安全なAIエージェント設計パターン
lycorptech_jp
PRO
1
260
enechainの内製セルフサービスプラットフォーム
hiyosi
0
160
AIとペアプロを始める。人とのペアプロをやめる。ペアプロの良さを改めて知る。もっと好きになった。 / Rediscovering Pair Programming
honyanya
1
340
アプリログインとWeb認証基盤をつなぐ ASWebAuthenticationSession 作法
shimastripe
1
190
AI時代に顧客へ最速で価値を 届けるための試行錯誤 〜「AI × マネジメント」領域におけるmentoのケース〜
posterkeisuke
0
110
株式会社シーエーシー エンジニア向け会社紹介資料
cac
0
57k
スクラムで身についていた動き方を、XPで捉え直してみた
codmoninc
PRO
1
350
KPIだけでは評価できないプロダクトが考えるべき Evalsという第二の評価系 / Beyond KPIs: Evals as a Second Evaluation Framework for Products #PdEConf
aki_iinuma
4
3.9k
家のリアーキテクト・リファクタリング
suguruooki
0
110
omasushiというライブラリを作った
polidog
PRO
0
200
アリアドネの糸と、20年ごとの建て替え ── 長尾真『電子図書館』を、伊勢で読み直す / Rereading Makoto Nagao’s "Electronic Library" in Ise
ykiyota
0
150
Featured
See All Featured
エンジニアに許された特別な時間の終わり
watany
108
250k
Designing for Performance
lara
611
70k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
440
For a Future-Friendly Web
brad_frost
183
10k
The Cult of Friendly URLs
andyhume
79
7k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
What's in a price? How to price your products and services
michaelherold
247
13k
Evolving SEO for Evolving Search Engines
ryanjones
0
280
Navigating Weather and Climate Data
rabernat
0
510
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
500
Transcript
4JOBUSBͰ࡞Δ ؆୯8FCΞϓϦ ! ! ޒेཛྷ໌ HJUIVCJHBJHB UXJUUFSJHBJHB IUUQXXXGBDFCPPLDPNLVOJBLJJHBSBTIJ
࣍ (FN 4JOBUSBHFNͰ࡞Δ؆୯8FCΞϓϦ
8FCΞϓϦͬͯʁ
ϒϥβͰΞΫηε Ͱ͖ΔΞϓϦ
$00,1"% 3VCZPO3BJMT
৯ϩά 3VCZPO3BJMT
0INZ(MBTTFT 3VCZPO3BJMT
UXJUUFS ݩ3VCZPO3BJMT
3VCZʹ 3VCZPO3BJMT 3BJMT 4JOBUSB 1BESJOP ͱ͍ͬͨ8FCΞϓϦΛ࡞Δ ϑϨʔϜϫʔΫ͕͋Γ·͢ɻ
ࠓ4JOBUSBΛͬͯ 8FCΞϓϦΛͭͬͯ͘ Έ·͠ΐ͏ 3VCZPO3BJMTສೳͰൣғͷ8FCΞϓϦΛ ࡞ΕΔͨΊɺΑ͘ΘΕ·͕͢ɺ4JOBUBSBγϯ ϓϧͰ؆୯ʹͭ͘ΕΔͱ͍͏ಛ͕͋Γ·͢ɻ
TJOBUSBHFNΛͬͨ8FCΞϓϦ࡞Γԋश ҎԼͷίʔυΛॻ͍͖ͯͳ໊લͰอଘ͠·͢ɻʢྫ͑TFSWFSSCʣ SFRVJSFTJOBUSB ! HFUEP )FMMPXPSME FOE ϒϥβ͔ΒҎԼͷ63-ΞΫηε͠·͢ɻ HFNJOTUBMMTJOBUSB
HFNΛΠϯετʔϧ͠·͢ɻ ࣮ߦ͠·͢ɻӈԼͷΑ͏ͳද͕ࣔग़·͢ɻ SVCZTFSWFSSC 4JOBUSBIBTUBLFOUIFTUBHFPOGPS EFWFMPQNFOUXJUICBDLVQGSPN5IJO 5IJOXFCTFSWFS WDPEFOBNF4USBJHIU3B[PS .BYJNVNDPOOFDUJPOTTFUUP -JTUFOJOHPOMPDBMIPTU $53- $UPTUPQ IUUQMPDBMIPTU )FMMPXPSMEͱදࣔ͞ΕΕޭͰ͢ɻ ˞ίʔυΛมߋͨ͠߹Ͱ࣮ߦ͍ͯ͠ΔTIFMMΛ$USM DͰఀࢭͤ͞ɺ࠶࣮ߦ͠·͢ɻ 8JOڥͰऴྃ͠ͳ͍߹ɺ$USM 1"64&Λࢼ͍ͯͩ͘͠͞ɻʣ
8FCΞϓϦͷΈͷ ؆୯ͳઆ໌
8FC4FSWFS 8FC"QQ #SPXTFS ϦΫΤετ 63-IUUQMPDBMIPTU 8FCΞϓϦͷجຊಈ࡞ IUUQMPDBMIPTU ϒϥβʹ63-Λ ೖྗͯ͠&OUFS ϦΫΤετ͕ඈͼ·͢ɻ
8FC4FSWFS 8FC"QQ #SPXTFS ϦΫΤετ Ϩεϙϯε 63-IUUQMPDBMIPTU 8FCΞϓϦͷجຊಈ࡞ Ϩεϙϯε͕ฦͬͯ͘Δ IUUQMPDBMIPTU ϨεϙϯεΛ
ϒϥβ͕දࣔ
8FC4FSWFS 8FC"QQ #SPXTFS ϦΫΤετ Ϩεϙϯε ΠϯλʔωοτͷΞΫηε 8FC4FSWFS௨ৗωοτͷ͜͏ʹ͋Δ *OUFSOFU IUUQDPPLQBEDPN 63-
IUUQDPPLQBEDPN
8FC4FSWFS 8FC"QQ #SPXTFS ϦΫΤετ Ϩεϙϯε Ͳͷ8FC4FSWFSΞΫηε͢Δ͔ ϦΫΤετͷ63-Ͱܾ·Δ ϦΫΤετͷ63-͕IUUQDPPLQBEDPNͷ߹ɺ ΫοΫύου͞ΜͷӡӦ͢Δ8FC4FSWFSܨ͕Γ·͢ɻ 63-Πϯλʔωοτ্ͷॅॴΈ͍ͨͳͷͰ͢ɻ
*OUFSOFU 63- IUUQDPPLQBEDPN
ઌ΄Ͳ࡞ͬͨΞϓϦͷ߹ Ͳ͏ͳ͍ͬͯΔ͔ͱݴ͏ͱ
8FC4FSWFS 8FC"QQ #SPXTFS ϦΫΤετ Ϩεϙϯε 63-IUUQMPDBMIPTU 63-MPDBMIPTUࣗͷϚγϯ SFRVJSFTJOBUSB ! HFUEP
)FMMPXPSME FOE 8FC"QQ ΞϓϦ ͷ෦͕Έͳ͞Μ͕ॻ͍ͨίʔυͰ͢ɻ 8FC4FSWFSTJOBUSBͱ3VCZ͕͏·͍͜ͱͬͯ͘Ε·͢ɻ ࣗͷ1$ MPDBMIPTUࣗͷ1$Λද͢ಛผͳΞυϨεͰ͢ɻ Ͱɺ63-ͷΑΓޙΖͷͱԿͰ͠ΐ͏͔ʁ
MPDBMIPTU ಛผͳΞυϨεͰ͢ɻࣗͷϚγϯΛࢦ͠·͢ɻ IUUQMPDBMIPTU 63-ͷઆ໌ ϙʔτ൪߸Ͱ͢ɻ൪ϙʔτΛࢦ͠·͢ɻ ීஈࢦఆ͠ͳ͍͜ͱ͕ଟ͍Ͱ͢ɻࢦఆ͠ͳ͍ͱ൪ϙʔτʹͳΓ·͢ɻ ͭ·ΓɺҰൠతͳ8FCΞϓϦ൪ϙʔτͰՔಇ͍ͯ͠·͢ɻ ΞυϨε ϙʔτ
63-ͷΑΓޙΖϙʔτΛද͠·͢ɻ ϙʔτɺಉ͡ΞυϨεͰ௨৴ઌΛಛఆ͢Δ൪߸Ͱ͢ɻ ྫ͑ɺΞυϨε͕Ӻͷ໊લɺϙʔτ͕ӺͷϗʔϜ˓൪ઢɺ ͱΠϝʔδ͢Δͱ͔Γ͍͔͢͠Ε·ͤΜɻ
8FC4FSWFS 8FC"QQ #SPXTFS ϦΫΤετ Ϩεϙϯε 63-IUUQMPDBMIPTU ઌ΄Ͳ࡞ͬͨ8FCΞϓϦͷಈ࡞ུ֓ SFRVJSFTJOBUSB ! HFUEP
)FMMPXPSME FOE ࣍8FCΞϓϦͷಈ͖Λৄ͘͠ݟ͍͖ͯ·͢ MPDBMIPTU൪ϙʔτʹདྷͨ ϦΫΤετΛ8FC"QQಧ͚·͢
8FC4FSWFS 8FC"QQ #SPXTFS ϦΫΤετ Ϩεϙϯε 63-IUUQMPDBMIPTU 8FCΞϓϦͷಈ࡞ SFRVJSFTJOBUSB ! HFUEP
)FMMPXPSME FOE MPDBMIPTU൪ϙʔτʹདྷͨ ϦΫΤετΛ8FC"QQಧ͚·͢ 63-ͷΞυϨεͱϙʔτΑΓ ޙΖͷ෦Λύεͱݴ͍·͢ɻ ͜ͷ߹ɺύεʹͳΓ·͢ɻ ύε͕ͷϦΫΤετʹରͯ͠ )FMMPXPSMEͱ͍͏Ϩεϙϯε Λฦ͢8FCΞϓϦͱͯ͠ಈ࡞͠·͢ ड͚औͬͨϨεϙϯεΛදࣔ
࣍ຊޠΛදࣔͤ͞ΔԋशͰ͢ɻ
TJOBUSBHFNΛͬͨ8FCΞϓϦ࡞Γԋश KQ ҎԼͷίʔυΛॻ͍͖ͯͳ໊લͰอଘ͠·͢ɻ KQSCͱ͠·͢ DPEJOHVUG SFRVJSFTJOBUSB ! HFUKQEP ͜Μʹͪʂ FOE
ϒϥβ͔ΒҎԼͷ63-ΞΫηε͠·͢ɻ ࣮ߦ͠·͢ɻ SVCZKQSC 4JOBUSBIBTUBLFOUIFTUBHFPOGPS EFWFMPQNFOUXJUICBDLVQGSPN5IJO 5IJOXFCTFSWFS WDPEFOBNF4USBJHIU3B[PS .BYJNVNDPOOFDUJPOTTFUUP -JTUFOJOHPOMPDBMIPTU $53- $UPTUPQ IUUQMPDBMIPTUKQ ͜Μʹͪʂͱදࣔ͞ΕΕޭͰ͢ɻ લͷखॱͰ࣮ߦͨ͠8FCαʔόʔ͕ىಈ͍ͯ͠Δ߹$USM DͰఀࢭͤ͞·͢ɻ 8JOڥͰऴྃ͠ͳ͍߹ɺ$USM 1"64&Λࢼ͍ͯͩ͘͠͞ɻʣ ˞ίʔυΛॻ͖͑ͨ߹Ұఀࢭˠ࣮ߦ͢Δඞཁ͕͋Γ·͢ɻ ʢϑΝΠϧ໊ɺͲΜͳ໊લͰߏ͍·ͤΜɻ ผͷ໊લͰอଘͯ͠େৎͰ͢ɻʣ
TJOBUSBHFNΛͬͨ8FCΞϓϦ࡞Γԋश KQ ղઆ HFUͷޙΖʹॻ͘จࣈྻͷϦΫΤετ63-ύεʹԠ͠·͢ɻ DPEJOHVUG SFRVJSFTJOBUSB ! HFUKQEP ͜Μʹͪʂ FOE
͜ͷίʔυͷ߹ 63-IUUQMPDBMIPTUKQ ύεͷ෦͕KQ ʹΞΫηε͞Εͨ߹ʹ ͜Μʹͪʂ ΛϨεϙϯεͱͯ͠ฦ͠·͢ɻ ˞ͪͳΈʹɺ͜Μʹͪʂͷ෦ΛI͜ΜʹͪʂIͱॻ͘ͱ େ͖ͳจࣈͰදࣔͤ͞Δ͜ͱ͕Ͱ͖·͢ɻ͜Εɺ)5.-ͱ͍͏ݴޠͷจ๏Ͱɺ ϒϥβ)5.-Ͱॻ͔ΕͨιʔείʔυΛղऍͯ͠දࣔ͠·͢ɻ
࣍ݱࡏ࣌ࠁΛදࣔͤ͞ΔԋशͰ͢ɻ
TJOBUSBHFNΛͬͨ8FCΞϓϦ࡞Γԋश UJNF ҎԼͷίʔυΛॻ͍͖ͯͳ໊લͰอଘ͠·͢ɻ UJNFSCͱ͠·͢ɻ SFRVJSFTJOBUSB ! HFUUJNFEP 5JNFOPXUP@T FOE ϒϥβ͔ΒҎԼͷ63-ΞΫηε͠·͢ɻ
࣮ߦ͠·͢ɻ SVCZUJNFSC 4JOBUSBIBTUBLFOUIFTUBHFPOGPS EFWFMPQNFOUXJUICBDLVQGSPN5IJO 5IJOXFCTFSWFS WDPEFOBNF4USBJHIU3B[PS .BYJNVNDPOOFDUJPOTTFUUP -JTUFOJOHPOMPDBMIPTU $53- $UPTUPQ IUUQMPDBMIPTUUJNF ͷΑ͏ʹݱࡏ࣌ࠁ͕දࣔ͞ΕΕޭͰ͢ɻ લͷखॱͰ࣮ߦͨ͠8FCαʔόʔ͕ىಈ͍ͯ͠Δ߹$USM DͰఀࢭͤ͞·͢ɻ 8JOڥͰऴྃ͠ͳ͍߹ɺ$USM 1"64&Λࢼ͍ͯͩ͘͠͞ɻʣ ˞ίʔυΛॻ͖͑ͨ߹Ұఀࢭˠ࣮ߦ͢Δඞཁ͕͋Γ·͢ɻ ݱࡏ࣌ࠁΛදࣔͤ͞Δ8FCΞϓϦΛ࡞ͬͯΈ·͠ΐ͏ɻ
TJOBUSBHFNΛͬͨ8FCΞϓϦ࡞Γԋश UJNF ղઆ ͜ͷ՝͔Βɺ5JNFOPXͷΑ͏ͳ3VCZίʔυΛ࣮ߦͨ݁͠ՌΛ ϒϥβͰදࣔ͢Δํ๏Λֶ·͢ɻ SFRVJSFTJOBUSB ! HFUUJNFEP 5JNFOPXUP@T FOE
5JNFOPXݱࡏ࣌ࠁΛ5JNFDMBTTΦϒ δΣΫτͰฦ͠·͢ɻ UP@TϝιουΛ͏ͱɺ4USJOHDMBTTΦ ϒδΣΫτม͞Ε·͢ɻ 4USJOHΦϒδΣΫτͰ͋ΕϒϥβදࣔͰ͖ΔͷͰɺ UP@TϝιουͳͲͰม͢Δ͜ͱͰॲཧ݁ՌΛදࣔ͢Δ͜ͱ͕Ͱ͖·͢ɻ ·ͨɺ5JNFOPXϦΫΤετ͝ͱʹ࣮ߦ͞ΕΔͷͰɺ Ϧϩʔυ͢Δ͝ͱʹͦͷ࣌ͷݱࡏ࣌ࠁ͕දࣔ͞Ε·͢ɻ
࣍ΞΫηεͨ͠ύεΛ දࣔͤ͞ΔԋशͰ͢ɻ
TJOBUSBHFNΛͬͨ8FCΞϓϦ࡞Γԋश ύε ҎԼͷίʔυΛॻ͍͖ͯͳ໊લͰอଘ͠·͢ɻ QBUISCͱ͠·͢ɻ SFRVJSFTJOBUSB ! HFUXPSEEP QBSBNT<XPSE> FOE ϒϥβ͔ΒҎԼͷ63-ΞΫηε͠·͢ɻ
࣮ߦ͠·͢ɻ SVCZQBUISC 4JOBUSBIBTUBLFOUIFTUBHFPOGPS EFWFMPQNFOUXJUICBDLVQGSPN5IJO 5IJOXFCTFSWFS WDPEFOBNF4USBJHIU3B[PS .BYJNVNDPOOFDUJPOTTFUUP -JTUFOJOHPOMPDBMIPTU $53- $UPTUPQ IUUQMPDBMIPTUIJ લͷखॱͰ࣮ߦͨ͠8FCαʔόʔ͕ىಈ͍ͯ͠Δ߹$USM DͰఀࢭͤ͞·͢ɻ 8JOڥͰऴྃ͠ͳ͍߹ɺ$USM 1"64&Λࢼ͍ͯͩ͘͠͞ɻʣ ˞ίʔυΛॻ͖͑ͨ߹Ұఀࢭˠ࣮ߦ͢Δඞཁ͕͋Γ·͢ɻ IJͱ͍͏ύεʹΞΫηε͞ΕΕIJ͕ɺ CPPLͱ͍͏ύεͳΒCPPL͕දࣔ͞Ε·͢ɻ ΞΫηεͨ͠ύεΛදࣔͤ͞Δ8FCΞϓϦΛ࡞ͬͯΈ·͠ΐ͏ɻ
TJOBUSBHFNΛͬͨ8FCΞϓϦ࡞Γԋश ύε ղઆ HFUޙͷจࣈྻͷதʹXPSEͷΑ͏ʹγϯϘϧΛॻ͘ͱɺ ϦΫΤετ͞ΕͨύεΛQBSBNT<XPSE>Ͱड͚औΕ·͢ɻ SFRVJSFTJOBUSB ! HFUXPSEEP QBSBNT<XPSE> FOE
IUUQMPDBMIPTUIJ ͜ΕΛԠ༻͢Δͱɺྫ݂͑ӷܕ͍ͳͲɺ ΞΫηε͞Εͨ63-ʹԠͯ͡දࣔΛม͑ΔΞϓϦΛ࡞Ε·͢ɻ ͕࣌ؒ͋ΔਓνϟϨϯδͯ͠Έ͍ͯͩ͘͞ɻ ্هͷ63-ͰΞΫηεͨ͠߹ɺ QBSBNT<XPSE>IJΛฦ͠·͢ɻ ˞͜͜ͰͷXPSEҙͷ໊લʹͰ͖·͢ɻ HFUGPPEPʙͱॻ͍ͨ߹ QBSBNT<GPP>ͰύεΛऔΕ·͢ɻ
࣍ (FN ͬͱΓ͍ͨਓ4JOBUSBαΠτʹαϯϓϧ͕ͨ͘͞Μ͋Γ·͢ɻ IUUQXXXTJOBUSBSCDPNJOUSPIUNM ຊޠͷهࣄ͋ΔͷͰ୳ͯ͠Έ͍ͯͩ͘͞ɻͨͱ͑͜͜ɻ 4JOBUSBʹΑΔ8FCΞϓϦέʔγϣϯ։ൃೖ IUUQCJUMZTJOBUSB@JOUSP@KQ
None
ࢀߟࢿྉ
BCD ࣮ߦ݁Ռ QVUTBCD ॻࣜ 3VCZίʔυ ࣮ߦ݁Ռ TIFMMίϚϯυ MT Q
จதͰͰॻ͖·͢