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
Ruby講義 第12回
Search
Kuniaki IGARASHI
June 30, 2012
Technology
370
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Ruby講義 第12回
Gem
Kuniaki IGARASHI
June 30, 2012
More Decks by Kuniaki IGARASHI
See All by Kuniaki IGARASHI
RailsTokyo 4 GarnetTech373
igaiga
0
160
ActiveJobUpdates
igaiga
1
800
roppongirb_20250911
igaiga
1
820
igaiga Ruby Association Activity Report 2025 LT
igaiga
1
180
KaigiOnRails2024
igaiga
16
26k
RuboSensei
igaiga
0
380
Shibuya.rb-2023-04-27-igaiga
igaiga
1
620
Ginza Rails27 igaiga
igaiga
9
14k
tork09igaiga
igaiga
2
440
Other Decks in Technology
See All in Technology
Code for Security プロジェクト紹介 2026年10月
yu23ki14
0
110
Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces
pfn
PRO
0
130
How to Design Configuration for Rails Applications
willnet
1
770
Classmethod Company Deck
satoshi7
1
680
⾮構造化データを価値に変える AI エージェント基盤とその組織
ivry_presentationmaterials
0
190
Kiro Crewをはじめよう
kizawa2020
1
160
Getting Started with Google Antigravity
glaforge
0
300
コンテナ運用におけるネットワーク・コンテナコストの削減方法/How to Reduce Network and Container Costs in Container Operations
masakiokuda
1
150
スプシの手作業からの解脱 ~更新はClaude Codeに、見せ方と使い方はGASアプリに任せる~
kentarofujii
0
150
事業成長とデータ活用を止めないためのマネジメントへ挑戦
hiracky16
0
390
NDIでApple Vision Proにリアルタイム映像送信
jyouryuusui
0
120
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
1
340
Featured
See All Featured
A Tale of Four Properties
chriscoyier
163
24k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
500
Ethics towards AI in product and experience design
skipperchong
2
430
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
440
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
340
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
460
Are puppies a ranking factor?
jonoalderson
2
4.1k
So, you think you're a good person
axbom
PRO
2
2.2k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
940
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Rails Girls Zürich Keynote
gr2m
96
14k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
58k
Transcript
3VCZߨٛ ୈճ3VCZೖ ,VOJBLJ*("3"4)*JHBJHB BUҰڮେֶ ࣾձՊֶʹ͓͚Δใٕज़ͱίϯςϯπ࡞ᶙ χϑςΟגࣜձࣾدෟߨٛ
ࠓͷߨٛͷࣄલ४උ HFNJOTUBMMTQSFBETIFFU 7.ͰTVEPHFNJOTUBMMTQSFBETIFFU HFNJOTUBMMUXJUUFS 7.ͰTVEPHFNJOTUBMMUXJUUFS ΈΜͳͰҰ੪ʹΔͱॏ͍ͨͷͰɺ ૣ͘ண͍ͨํ ૣΊʹ͓ئ͍͠·͢ɻɿʣ
χϑςΟגࣜձࣾ ఏڙ
ߨࢣ ޒेཛྷ໌ גࣜձࣾສ༿ɹΤϯδχΞ
5FBDIJOH"TTJTUBOU ᖛ࡚݈ޗ ΫοΫύουגࣜձࣾɹΤϯδχΞ
ઌिͷ ͓͞Β͍
ܧঝ طʹఆٛ͞Ε͍ͯΔΫϥεΛ֦ுͯ͠৽͠ ͍ΫϥεΛ࡞Δ͜ͱΛܧঝͱ͍͍·͢ɻ ʢطʹ͋Δ͍ͨম͖ͷܕΛར༻ͯ͠ɺগ͠ҧ͏ ৽͍͍ͨ͠ম͖ͷܕΛͭ͘ΔΑ͏ͳͷͰ͢ɻ
ܧঝ DMBTT#PPL BUUS@BDDFTTPSUJUMF QSJDF FOE DMBTT.BHB[JF BUUS@BDDFTTPSUJUMF QSJDF OVNCFS FOE
ͨͱ͑#PPLΫϥεͱ.BHB[JOFΫϥε ࡶࢽ Λ࡞Δͱ͠·͢ɻ ผʑʹఆٛΛॻ͍͍͍ͯͷͰ͕͢ɺڞ௨߲ ͨ͘͞Μ͋Γ·͢ɻ
ܧঝ DMBTT#PPL BUUS@BDDFTTPSUJUMF QSJDF FOE DMBTT.BHB[JF BUUS@BDDFTTPSUJUMF QSJDF OVNCFS FOE
ͨͱ͑#PPLΫϥεͱ.BHB[JOFΫϥε ࡶࢽ Λ࡞Δͱ͠·͢ɻ ผʑʹఆٛΛॻ͍͍͍ͯͷͰ͕͢ɺڞ௨߲ ͨ͘͞Μ͋Γ·͢ɻ
ܧঝ DMBTT#PPL BUUS@BDDFTTPSUJUMF QSJDF FOE DMBTT.BHB[JOF#PPL BUUS@BDDFTTPSOVNCFS FOE ͦΜͳͱ͖ɺܧঝΛ͏ͱศརͰ͢ɻ DMBTT.BHB[JOF#PPLͱॻ͘͜ͱͰɺ#PPLΫϥεΛܧঝͨ͠
.BHB[JOFΫϥεΛఆٛͰ͖·͢ɻ.BHB[JOFΫϥε#PPLΫϥε ͷੑ࣭Λड͚ܧ͗·͢ɻԿΛड͚ܧ͙͔Λ࣍ͷϖʔδͰղઆ͠·͢ɻ DMBTT#PPL BUUS@BDDFTTPSUJUMF QSJDF FOE DMBTT.BHB[JOF BUUS@BDDFTTPSUJUMF QSJDF OVNCFS FOE ಉ͡ಈ࡞ ܧঝΛͬͨॻ͖ํ ܧঝΛΘͳ͍ॻ͖ํ
ܧঝ DMBTT#PPL BUUS@BDDFTTPSUJUMF QSJDF FOE DMBTT.BHB[JF#PPL BUUS@BDDFTTPSOVNCFS FOE ྫ͑#PPLΫϥεΛܧঝͨ͠ .BHB[JOFΫϥεɺUJUMFͱQSJDFΛ
ड͚ܧ͍Ͱ͍·͢ɻྫ͑ɺˣͷΑ͏ͳ ίʔυΛॻ͘͜ͱ͕Ͱ͖·͢ɻ DMBTTΫϥε໊εʔύʔΫϥε໊ Ϋϥεͷఆٛ FOE ܧঝ͢Δ߹ͷॻࣜ εʔύʔΫϥεͱɺܧঝݩͷ Ϋϥε Ϋϥε Ͱ͢ɻ ܧঝͨ͠ΫϥεɺΫϥεͷશͯͷΠϯελϯεมɺϝιο υͳͲΛड͚ܧ͗·͢ɻ NBHB[JOF.BHB[JOFOFX NBHB[JOFUJUMF$BO$BN QNBHB[JOFUJUMF$BO$BN
.PEVMF ϝιουΛڞಉར༻͢ΔΈ
.PEVMF ΫϥεͰϞδϡʔϧΛJODMVEF͢ΔͱɺNPEVMFʹఆٛ͠ ͯ͋ΔϝιουΛΫϥεՃ͢Δ͜ͱ͕Ͱ͖·͢ɻ NPEVMF(SFFUJOH EFGIFMMP QVUT)FMMP FOE FOE DMBTT"MJDF JODMVEF(SFFUJOH
FOE BMJDF"MJDFOFX BMJDFIFMMPIFMMP JODMVEFͨ͠"MJDFΫϥεʹ IFMMPϝιου͕Ճ͞Ε ·͢ɻ ϞδϡʔϧΛఆٛ͠·͢ɻ ϞδϡʔϧʹϝιουΛ ఆٛ͠·͢ɻ
.PEVMF NPEVMF(SFFUJOH EFGIFMMP QVUT)FMMP FOE FOE DMBTT"MJDF JODMVEF(SFFUJOH FOE DMBTT"MJDF
EFGIFMMP QVUT)FMMP FOE FOE JODMVEFͨ͠"MJDFΫϥεӈͷΑ͏ʹॻ͍ͨ͜ͱͱಉ͡ʹ ͳΓ·͢ɻ ಉ͡
.PEVMF ෳͷΫϥεͰಉ͡ϝιουΛར༻͍ͨ͠ͱ͖ʹNPEVMF Λ͏ͱॏෳΛͳͤ͘ΔͷͰศརͰ͢ɻ NPEVMF(SFFUJOH EFGIFMMP QVUT)FMMP FOE FOE DMBTT"MJDF JODMVEF(SFFUJOH
FOE BMJDF"MJDFOFX BMJDFIFMMPIFMMP DMBTT#PC JODMVEF(SFFUJOH FOE CPC#PCOFX CPCIFMMPIFMMP ͠IFMMPϝιουͰදࣔ͢ Δ)FMMPΛ͜Μʹͪʹม͍͑ͨ ߹͜ͷϞδϡʔϧ͚ͩมߋ͢Εྑ͍
.PEVMFͷจ๏ NPEVMFϞδϡʔϧ໊ ϝιουఆٛ FOE DMBTT4BNQMF JODMVEFϞδϡʔϧ໊ FOE NPEVMFఆٛ JODMVEF ಡΈࠐΈ
JODMVEFͱSFRVJSFͷҧ͍ SFRVJSFpMFOBNF DMBTT4BNQMF JODMVEF(SFFUJOH FOE JODMVEF4BNQMFΫ ϥεʹ(SFFUJOH ϞδϡʔϧͰఆٛ͞Εͯ ͍ΔϝιουΛՃ͢Δ ໋ྩ
SFRVJSFଞͷϑΝΠ ϧ SC Ͱఆٛ͞Ε͍ͯ ΔϝιουΫϥεɺ ϞδϡʔϧΛಡΊΔΑ ͏ʹ͢Δ໋ྩ
࣍ (FN
(FN 3VCZͷϥΠϒϥϦཧγεςϜ
ϥΠϒϥϦɿ ଞͷϓϩάϥϜ͔ΒಡΈࠐΜͰར༻͢Δͨ ΊͷϓϩάϥϜ (FN ͨ͘͞ΜͷศརͳϥΠϒϥϦ͕ωοτ্ʹ ެ։͞Ε͍ͯ·͢ɻͦΕΒΛΠϯετʔϧ ͢ΔͳͲɺཧͯ͘͠ΕΔΈ͕(FN Ͱ͢ɻ
(FNͷྫ ɾ&YDFMϑΝΠϧΛಡΈॻ͖͢Δ ɾUXJUUFSͳͲ༗໊ͳ8FCαʔϏεͷΞΫ ηεΛ؆୯ʹͯ͘͠ΕΔ ɾը૾ΛϦαΠζͨ͠ΓΤϑΣΫτΛ͔͚Δ ͳͲͳͲສछྨͷϥΠϒϥϦ͕ެ։͞Ε͍ͯ·͢
HFNΛհɺཧ͍ͯ͠ΔαΠτ IUUQSVCZHFNTPSH
(FNͷ͍ํ TIFMM͔ΒHFNίϚϯυΛͬͯΠϯετʔϧ HFNJOTUBMMHFN໊ ˞VCVOUVͷ߹TVEPHFNJOTUBMMHFN໊ ίʔυͰSFRVJSFHFN໊ ˞VCVOUVͷ߹TVEPHFNJOTUBMMHFN໊ SFRVJSFHFN໊ ͜͜ͰHFNΛ͏ίʔυΛॻ͖·͢ɻ HFNύοέʔδͷΠϯετʔϧ
(FNͷ͍ํ TIFMM͔ΒHFNMJTUίϚϯυͰҰཡදࣔ HFNMJTU ΠϯετʔϧࡁͷHFNύοέʔδҰཡΛදࣔ
TQSFBETIFFU &YDFMϑΝΠϧΛૢ࡞͢ΔHFN
TQSFBETIFFU &YDFMϑΝΠϧΛಡΈॻ͖͢ΔHFN &YDFM͕Πϯετʔϧ͞Ε͍ͯͳͯ͘ɺ 8JOEPXTҎ֎Ͱಈ࡞͠·͢ɻ HFNJOTUBMMTQSFBETIFFU TIFMM͔ΒҎԼͷίϚϯυΛ࣮ߦ͢ΔͱΠϯετʔ ϧͰ͖·͢ɻ ˞VCVOUVͷ߹TVEPHFNJOTUBMMTQSFBETIFFU
TQSFBETIFFUHFNԋश &YDFMϑΝΠϧΛ৽ن࡞ SFRVJSFTQSFBETIFFU CPPL4QSFBETIFFU8PSLCPPLOFX TIFFUCPPLDSFBUF@XPSLTIFFU TIFFU< >UFTUJOH CPPLXSJUF FYBNQMFYMT طଘͷ&YDFMϑΝΠϧΛ։͍ͯผ໊Ͱอଘ
SFRVJSFTQSFBETIFFU CPPL4QSFBETIFFUPQFO FYBNQMFYMT TIFFUCPPLXPSLTIFFU QTUSTIFFU< > TIFFU< >IFMMP CPPLXSJUF FYBNQMFYMT HFNJOTUBMMTQSFBETIFFU TQFSFBETIFFUHFNΛΠϯετʔϧ ˞4QSFBETIFFU8PSLCPPL ɺ4QSFBETIFFUϞδϡʔϧͷதͷ 8PSLCPPLΫϥεͷҙຯͰ͢ɻઌि આ໌ͨ͠Ϟδϡʔϧʹ͜ͷΑ͏ʹछ ྨΛ໊͚ͯલΛ͚ͭΔ͍ํ͋Γ ·͢ɻ·ͨ࣍ճҎ߱ͷߨٛͰग़͖ͯͨ ࡍʹઆ໌͠·͢ɻ
5XJUUFS UXJUUFSΛݕࡧͨ͠Γૢ࡞ͨ͠Γ͢ΔHFN
IUUQUXJUUFSSVCZGPSHFPSH
UXJUUFSHFNԋश UXJUUFSͰϢʔβʔ͕ͭͿ͍͍ͯΔʮ࠷ۙฉ͍͍ͯΔۂʯΛௐΔ SFRVJSFUXJUUFS 5XJUUFSTFBSDI OPXQMBZJOH SQQ SFTVMU@UZQFSFDFOU FBDIEPcTUBUVTc QVUT\TUBUVTGSPN@VTFS^\TUBUVTUFYU^
FOE HFNJOTUBMMUXJUUFS UXJUUFSHFNΛΠϯετʔϧ OPXQMBZJOHͱ͍͏ݴ༿ೖΓͷUXFFUΛ࠷৽݅ݕࡧ͢Δ ݅ ͜ͷݴ༿ΛؚΉ ͭͿ͍ͨϢʔβʔ ͭͿ͖༰
ԋशղઆɹจࣈྻදࣔ QVUT\TUBUVTGSPN@VTFS^\TUBUVTUFYU^ \ม໊^ͱॻ͘ͱɺจࣈྻʹมͷ༰ΛຒΊࠐΉ͜ͱ͕Ͱ͖· ͢ɻ OBNFJHBSBTIJ QVUT"VUIPS\OBNF^"VUIPSJHBSBTIJ มOBNFͷத͕දࣔ͞ΕΔ OBNFJHBSBTIJ UFYU"VUIPS\OBNF^ UFYU"VUIPSJHBSBTIJ
ಉ͡ಈ࡞ ҎԼͷͭͷίʔυಉ͡ಈ࡞Ͱ͢ɻ
ԋशղઆɹจࣈྻදࣔ 3VCZʹछྨͷจࣈྻͷදݱํ๏͕͋Γ·͢ɻ μϒϧΫΦʔτͱγϯάϧΫΦʔτͰ͢ɻ લͷϖʔδͰઆ໌ͨ͠มͷதΛදࣔ͢Δ߹μϒϧΫΦʔτΛ ͏ඞཁ͕͋Γ·͢ɻ OBNFJHBSBTIJ QVUT"VUIPS\OBNF^"VUIPSJHBSBTIJ มOBNFͷத͕දࣔ͞ΕΔ OBNFJHBSBTIJ QVUT"VUIPS\OBNF^"VUIPS\OBNF^
มOBNFͷத͕දࣔ͞Εͣɺͦͷ··ग़ྗ͞ΕΔ μϒϧΫΦʔτɿ\ม໊^ͱॻ͘ͱมͷதΛදࣔ γϯάϧΫΦʔτɿ\ม໊^ͱॻ͘ͱͦͷ··දࣔ
ԋशղઆҾͷ)BTIͷলུܗ 5XJUUFSTFBSDI OPXQMBZJOH SQQ SFTVMU@UZQFSFDFOU ͜ͷ෦ɺݟ׳Εͳ͍ॻ͖ํΛ͍ͯ͠·͢ɻ 5XJUUFSTFBSDI OPXQMBZJOH \SQQ SFTVMU@UZQFSFDFOU^
লུ͠ͳ͍Ͱॻ͘ͱҎԼͷΑ͏ʹͳΓ·͢ɻ ൪ͷҾจࣈྻ ൪ͷҾ)BTIͰ\^Λলུ 3VCZͰΑ͘ΘΕΔςΫχοΫͰɺͨͱ͑ෳͷΦϓγϣϯΛҾ ͱ͍ͯͨ͠͠ͱ͖ʹ)BTIΛ͢͜ͱ͕͋Γ·͢ɻΩʔ͕આ໌จ ͷΛͯ͘͠ΕͯಡΈ͍͔͢ΒͰ͢ɻ ͦͷࡍʹᐆດʹͳΒͳ͚Ε)BTIͷ\^Λলུͯ͠ॻ͚·͢ɻ
None
ߨٛࢿྉஔ͖ ߨٛࢿྉஔ͖Λͭ͘Γ·ͨ͠ɻ աڈͷࢿྉ͕%-Ͱ͖·͢ɻ IUUQTHJUIVCDPNIJUPUTVCBTIJSVCZMFDUVSF PS IUUQCJUMZSVCZMFDUVSF
ࡶஊɾ࣭༻GBDFCPPLάϧʔϓ GBDFCPPLάϧʔϓΛ࡞Γ·ͨ͠ IUUQTXXXGBDFCPPLDPNHSPVQTIJUPUTVCBTIJSC ɾՃೖඇՃೖࣗ༝Ͱ͢ ɾՃೖඇՃೖʹؔ͠·ͤΜ ɾࢀՃऀҰཡެ։͞Ε·͢ ɾॻ͖ࠐΈࢀՃऀͷΈݟ͑·͢ ɾرऀΞΫηεͯ͠ࢀՃਃ͍ͯͩ͘͠͞ ɾࡶஊɺ࣭ɺٞͳͲԿͰؾʹͤͣͲ͏ͧʙ ɾ࣭ʹ͑ΒΕΔਓ͍͑ͯ͋͛ͯͩ͘͞
ɾߨࢣਞ͓͑͠·͢ ɾೖͬͨΒܰࣗ͘ݾհ͓Ͷ͕͍͠·͢