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
Ruby講義 第12回
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
120
ActiveJobUpdates
igaiga
1
680
roppongirb_20250911
igaiga
1
760
igaiga Ruby Association Activity Report 2025 LT
igaiga
1
160
KaigiOnRails2024
igaiga
16
25k
RuboSensei
igaiga
0
360
Shibuya.rb-2023-04-27-igaiga
igaiga
1
600
Ginza Rails27 igaiga
igaiga
9
14k
tork09igaiga
igaiga
2
430
Other Decks in Technology
See All in Technology
OPENLOGI Company Profile for engineer
hr01
1
74k
企業でAWS Organizationsを動かすための組織設計の考え方
nrinetcom
PRO
1
110
ソニー銀行におけるビジネスアジリティ向上のためのクラウドシフト戦略
srenext
0
870
仕様駆動開発、導入半年。「本当に速くなってるの?」にデータで答える / AICon2026_hirakawa
rakus_dev
0
160
AIレビューはどこまで任せられるのか?自動化と人が背負うレビューの境界
sansantech
PRO
3
1.1k
AIが当たり前の組織で エンジニアはどう育つか
nishihira
1
160
AI時代のYAGNI:「爆速で無駄になった機能」からの学び / 20260720 Naoki Takahashi
shift_evolve
PRO
3
390
人とエージェントが高め合う協業設計
kintotechdev
0
100
AI時代の開発生産性を捉え直す — 経営と現場をつなぐ「開発組織のオブザーバビリティ」— / AI Dev Ex Conference 2026
tkyowa
0
200
変更し続けられるシステムをどう保つか — AI時代のSSoTという設計原則
kawauso
1
260
知らん間に、回ってる
ming_ayami
0
740
大量データに対しても、生成AIを用いてリーズナブルにデータ加工をしたい!Databricksのai_queryについて調べてみた
kamoshika
1
220
Featured
See All Featured
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
460
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.6k
A Tale of Four Properties
chriscoyier
163
24k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
390
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
220
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
390
Java REST API Framework Comparison - PWX 2021
mraible
34
9.5k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
610
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
370
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
370
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 ɾՃೖඇՃೖࣗ༝Ͱ͢ ɾՃೖඇՃೖʹؔ͠·ͤΜ ɾࢀՃऀҰཡެ։͞Ε·͢ ɾॻ͖ࠐΈࢀՃऀͷΈݟ͑·͢ ɾرऀΞΫηεͯ͠ࢀՃਃ͍ͯͩ͘͠͞ ɾࡶஊɺ࣭ɺٞͳͲԿͰؾʹͤͣͲ͏ͧʙ ɾ࣭ʹ͑ΒΕΔਓ͍͑ͯ͋͛ͯͩ͘͞
ɾߨࢣਞ͓͑͠·͢ ɾೖͬͨΒܰࣗ͘ݾհ͓Ͷ͕͍͠·͢