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
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
aws-iot-platform-architecture-use-cases.pdf
ma2shita
0
300
2026-09-18 gotanda.sre Terraformで複数環境作ったり、複数Stateに分割したりそれとTerragrunt / Terraform multi envs and multi states
masasuzu
2
510
現場で役立つ技術負債の効果的な返済方法
masuda220
PRO
9
4.5k
ソフトウェアDNAとクラウドエージェントのススメ
cloudace
0
110
AIを活用するために決めた "やらないこと" - 価値に注目する / Not betting on AI
soudai
PRO
2
550
AIに任せた品質は、誰が見立てるのか - AI時代のテストマネジメント
nakanao
3
2.1k
AI de Idea
kawaguti
PRO
2
120
Reactの設計論
uhyo
24
14k
技術的負債から考える、AI時代のエンジニアリング投資 — ビズリーチの技術的負債と向き合った経験から、変更し続けられるソフトウェアを考える/ technical-debt-con2026
visional_engineering_and_design
4
3.2k
幾何アルゴリズムで なめらかなピン操作を / iOSDC Japan 2026 / smoothpin
kazumanagano
0
360
空間オーディオで過去の 自分(ゴースト)と競うランニング 〜HealthKitのルートを足音に変える実装〜
nao_randd
0
230
Genieを崇めよ
kameitomohiro
0
160
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
Being A Developer After 40
akosma
91
590k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
580
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
380
How STYLIGHT went responsive
nonsquared
100
6.3k
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
Between Models and Reality
mayunak
4
460
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
240
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
540
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
200
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
จதͰͰॻ͖·͢