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
RWC2013
Search
Kuniaki IGARASHI
November 21, 2013
Technology
2
760
RWC2013
「広がるRubyの学びの場」
RubyWorldConference2013
at 松江 くにびきメッセ
2013.11.21
Kuniaki IGARASHI
November 21, 2013
Tweet
Share
More Decks by Kuniaki IGARASHI
See All by Kuniaki IGARASHI
KaigiOnRails2024
igaiga
11
15k
RuboSensei
igaiga
0
260
Shibuya.rb-2023-04-27-igaiga
igaiga
1
490
Ginza Rails27 igaiga
igaiga
9
13k
tork09igaiga
igaiga
2
310
Road to white mages
igaiga
1
660
Road to white mages
igaiga
8
4k
dive_into_code_rails_ruby_books
igaiga
0
220
ginza_rails_vol3_igaiga
igaiga
0
4.9k
Other Decks in Technology
See All in Technology
Global Databaseで実現するマルチリージョン自動切替とBlue/Greenデプロイ
j2yano
0
160
"TEAM"を導入したら最高のエンジニア"Team"を実現できた / Deploying "TEAM" and Building the Best Engineering "Team"
yuj1osm
1
230
遷移の高速化 ヤフートップの試行錯誤
narirou
6
1.9k
プルリクエストレビューを終わらせるためのチーム体制 / The Team for Completing Pull Request Reviews
nekonenene
1
810
クラウド関連のインシデントケースを収集して見えてきたもの
lhazy
9
1.9k
Ruby on Railsで持続可能な開発を行うために取り組んでいること
am1157154
3
160
Cracking the Coding Interview 6th Edition
gdplabs
14
28k
手を動かしてレベルアップしよう!
maruto
0
250
Amazon Athenaから利用時のGlueのIcebergテーブルのメンテナンスについて
nayuts
0
110
急成長する企業で作った、エンジニアが輝ける制度/ 20250227 Rinto Ikenoue
shift_evolve
0
230
AIエージェント開発のノウハウと課題
pharma_x_tech
8
4.6k
LINE NEWSにおけるバックエンド開発
lycorptech_jp
PRO
0
340
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Optimizing for Happiness
mojombo
377
70k
GraphQLの誤解/rethinking-graphql
sonatard
69
10k
Writing Fast Ruby
sferik
628
61k
Git: the NoSQL Database
bkeepers
PRO
428
65k
We Have a Design System, Now What?
morganepeng
51
7.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
GitHub's CSS Performance
jonrohan
1030
460k
Statistics for Hackers
jakevdp
797
220k
Transcript
ͻΖ͕Δ3VCZͷֶͼͷ 8JEFTQSFBE3VCZ-FBSOJOH4QBDF ޒेཛྷ໌,VOJBLJ*("3"4)* 3VCZ8PSME$POGFSFODFTU0DU ! HJUIVCJHBJHB UXJUUFSJHBJHB GBDFCPPLIUUQXXXGBDFCPPLDPNLVOJBLJJHBSBTIJ
ޒेཛྷ໌ גࣜձࣾTQJDFMJGF Ұڮେֶඇৗۈߨࢣ HJUIVCJHBJHB UXJUUFSJHBJHB IUUQXXXGBDFCPPLDPNLVOJBLJJHBSBTIJ
ΤϯδχΞɺσΟϨΫλʔɺ σβΠφʔɺαϙʔτελοϑ ืूத IUUQCJUMZUNJYHPSCZ
͋ͱͰ 3BJMT ʘTQPUMJHIUTʗ ΤϯδχΞɺσΟϨΫλʔɺ σβΠφʔɺαϙʔτελοϑ ืूத
͢͜ͱ 3VCZڭҭʹ͍ͭͯͷܦݧஊ ͍͔ͭ͘ͷ3VCZͷֶͼʹ͍ͭͯͷࣄྫ ڞ௨ͷ՝ɺϙΠϯτ ! ͞ͳ͍͜ͱ ٕज़ͷਂ͍ ͜ͷൃදͰ͢͜ͱɾ͞ͳ͍͜ͱ
࠷ॳʹ࣭Ͱ͢ ͆ 2VFTUJPO
Έͳ͞Μ͕3VCZͱΓ߹ͬͨ ͖͔͚ͬͳΜͰ͔͢ʁ )PXEJEZPV NFFU3VCZ
IUUQXXXqJDLSDPNQIPUPTJHBJHB IUUQXXXqJDLSDPNQIPUPTITCU 3BJMT(JSMT 3BJMTࣉࢠ3BJMT5FSBLPZB ͦͷଞͷ౦ژͷࣄྫ ,JET3VCZJO50,:0 4UVEFOUTSC 6ϓϩάϥϛϯά͘ΒͿʢ3VCZࡾୋڭࣨʣ ! ౡࠜɺদߐͷࣄྫ
ౡࠜ3VCZ߹॓ ʙ ౡࠜେֶͰͷߨٛ ʙ দߐதֶੜ3VCZڭࣨ 3VCZ+S ৽ֶ͍͠ͼͷ͕ͨ͘͞ΜͰ͖ͨͷ͕ ͜͜ఔͷ3VCZΤίγεςϜͷϗοττϐοΫͷͭ ͦ͜Ͱ3VCZΛ࢝ΊΔਓͨ͘͞Μग़͖ͯ·ͨ͠ Ұڮେֶߨٛ-FDUVSFJO)JUPUTVCBTIJ6OJW
͏࣭ͭͰ͢ 0OFNPSFRVFTUJPO
Έͳ͞Μ3VCZΛ Ͳ͏ֶͬͯͼ·͔ͨ͠ʁ )PXEJEZPV MFBSO3VCZ
IUUQXXXqJDLSDPNQIPUPTJHBJHB IUUQXXXqJDLSDPNQIPUPTITCU 3BJMT(JSMT 3BJMTࣉࢠ Ұڮେֶߨٛ-FDUVSFJO)JUPUTVCBTIJ6OJW ͦΕͧΕͷͰͦΕͧΕͷతͱํ๏ ͭͷࣄྫʹ͍ͭͯৄ͓͘͠͠͠·͢
3VCZ3BJMT ඇৗۈߨࢣۀ Ұڮେֶ3VCZߨٛ -FDUVSFJO)JUPUTVCBTIJ6OJW
తɿϓϩάϥϛϯάاըͰ͖ΔਓࡐΛҭͯΔ จܥͷֶՊɺϓϩάϥϛϯάະܦݧऀ͚ ߨٛظؒؒɻબՊɻֶ෦ʙେֶӃ͚ɻ લظ3VCZɺޙظ3BJMTɻ ݄ΑΓࢲ͕ඇৗۈߨࢣͰ୲ ʢߨ࠲ࣗମ͔Βʣ ผ్ɺ-FXJTڭतͷ3BJMTͰͷ8FCΞϓϦߨٛ͋Γ ֶੜͷౡࠜ3VCZ߹॓ͷࢀՃ ୯Ґͱͯ͠ೝఆ
ҰڮେֶχϑςΟגࣜձࣾدෟߨٛ 3VCZߨٛ
ߨٛ࣌ؒɻ࠲ֶɺԋशɻ ֶੜਓ͔Βਓ 1$ֶੜ͕࣋ͪࠐΈ ି͠ग़͋͠Γ 5"ͱਓͰ࣭ରԠɺԋश՝ͷ࠾ 3VCZPS 3BJMT ߨٛํ๏
ࣗ࡞ࢿྉIUUQTHJUIVCDPNJHBJHBIJUPUTVCBTIJSVCZ ͨͷ͍͠3VCZୈ൛*4#/ 8FCͷࢿྉ 3VCZ3FGFSFODF.BOVBM υοτΠϯετʔϧ IUNM DTT
IUUQEPUJOTUBMMDPN $PEFDBEFNZIUUQXXXDPEFDBEFNZDPN ڭՊॻ
ࣗ࡞ࢿྉͰ͖Δ͚ͩਤΛଟ͘ɺ͔Γқ͘ IUUQTHJUIVCDPNJHBJHBIJUPUTVCBTIJSVCZ
՝ྫɿίʔυΛࣸܦ࣮ͯ͠ߦ͢Δ ͭ·͖͍ͮ͢Օॴ ΩʔϘʔυΛଧͭ z@d ΤσΟλͰϑΝΠϧΛࢦఆͨ͠ϑΥϧμʹอଘ͢Δ TIFMMͰ࣮ߦ͢Δ ελʔτ࣌ ϲ݄΄ͲͰશһίʔυΛࣸܦ࣮ͯ͠ߦͰ͖ΔΑ͏ʹͳΔ
ߨٛ༰ɹ3VCZฤ 3VCZޠͷੈքɺTIFMMޠͷੈք ࢛ଇԋࢉɺจࣈίʔυɺม ݅அɺ܁Γฦ͠ɺ.FUIPE "SSBZ )BTI 0CKFDU $MBTT *OTUBODF 8JLJQFEJBΞΫηεղੳ
UXJUUFSEBUBͷղੳ IUUQTHJUIVCDPNJHBJHBIJUPUTVCBTIJSVCZ
ߨٛ༰ɹ3BJMTฤ Ұ൪খ͞ͳ3BJMTΞϓϦͭ͘Γ DPOUSPMMFS WJFX TDBGGPMEͰͰ͖ͨͷͷղઆ ϦΫΤετ SPVUFT DPOUSPMMFS WJFX
NPEFM 3BJMTΞϓϦͷಈ͖Λ؍͢Δ $ISPNFͰϦΫΤετΛ؍ɺMPHɺQɺQSZ "DUJWF3FDPSE %# 1BB4 $4" Ͱωοτʹެ։ IUUQTHJUIVCDPNJHBJHBIJUPUTVCBTIJSVCZ
גࣜձࣾχϑςΟͷ1BB4$4" ϒϥβ͔ΒίʔυฤूՄೳ ϩʔΧϧڥෆཁ 3BJMTରԠ IUUQDTBOJGUZDPN
ؒͷՌ ൃද༰ͷྫ ɾUXJUUFSσʔλΛղੳͯ͠ͲͷӺ͕ʹ͗Θ͍ͬͯΔ͔ΛௐΔ ɾਓͰϓϨΠͰ͖ΔγϡʔςΟϯάήʔϜͷ࡞ ɾ&YDFMͱΈ߹Θͤͨμʔπಘܭࢉ ɾFMFBSOJOH8FCΞϓϦ ɾ࠲͍8FCΞϓϦ ɾͷग़ɺͷೖͷ࣌ࠁΛJ1IPOF1VTI௨ IUUQJHBSBTIJLVOJBLJOFUEJBSZIUNM ࠷ޙʹࣗͰ՝Λઃఆͯ͠िͰ࣮ɺൃද
None
ཧղ͕͍͠ͱ͜Ζ TIFMMͷੈքɺ3VCZͷੈքͷཧղ λʔϛφϧʹ3VCZͷίʔυΛॻ͍ͯ͠·͏ จ๏ΑΓΞϧΰϦζϜ͕͍͠
FBDIͷ༻ྫͱͯ͠ɺ< >ͷΛٻΊΔ खͰղ͚ΔͷಘҙUIHTVC UI TU TU )BTIۤख ࢿྉ͕ͳ͍ ϓϩάϥϚʔ͚ͷࢿྉɾຊͨ͘͞Μ͋Δ͕ɺ ϓϩάϥϛϯάΛ࢝ΊΔਓ͚ͨͷ͋·Γͳ͍ ΤϯδχΞ͕ڭ͑Δ ࠷৽ͷ3VCZքͷঢ়گʹ͋Θͤͯڭ͑ΒΕΔ ରͱͳΔֶՊͷઌੜͱೋਓࡾ٭ͩͱ૬ஊͰ͖ͯྑ͍ 5%%ڭҭʹ༗ޮ ؾ͖ͮ ˞େֶߨٛʹ͍ͭͯৄͪ͘͜͠Β͝ࢀর͍ͩ͘͞IUUQTTQFBLFSEFDLDPNJHBJHBLZVTIV
3BJMT(JSMT
ʮΑΓଟ͘ͷঁੑ͕ϓϩάϥϛϯάʹ͠ΈɺΞΠσΞ ΛܗʹͰ͖Δٕज़Λʹ͚ͭΔखॿ͚Λ͢ΔϫʔΫγϣο ϓͱͦͷίϛϡχςΟʯ ! ʹϔϧγϯΩͰ࢝·ΓɺຊͰ݄͔Β ౦ژͰݱࡏ·Ͱճ։࠵ɻ΄͔ɺژɺࡳຈͰɻ দߐ໌͔Βͷ ۚ
Ͱ։࠵ ֤ճͷࢀՃऀਓલޙ 3BJMT(JSMT
3BJMTΛ ͋·Γ ͬͨ͜ͱ͕ͳ͍ํ ϓϩάϥϛϯάΛ ͋·Γ ͬͨ͜ͱ͕ͳ͍ํ ରऀ 8FCσβΠφʔɺσΟϨΫλʔɺଞݴޠͷϓϩάϥϚͳͲ ଟ࠼ͳ৬ۀͷํɺֶੜ͕ࢀՃ
ؒͷ8PSLTIPQ ։ൃڥߏங ࣸਅߘػೳ͖ϛχϒϩάΞϓϦ 1BB4αʔϏεΛར༻ͯ͠ެ։ ༰ 8FCʹࢿྉ ຊޠ༁ ͕ެ։͞Ε͍ͯΔ ˞͜ͷ8PSLTIPQͷࡐͱࢿྉ͔Γқ͍ͷͰ͓קΊ IUUQSBJMTHJSMTKQ
"QQMJDBUJPO 4DSFFOTIPU
None
ҰॹʹࣄΛ͍ͯ͠Δಉ྅ͷϓϩάϥϚ͕ ͍ͬͯΔ͜ͱΛΓ͍ͨ ύʔτφʔͷࣄΛΓ͍ͨ ࣗͰαʔϏεΛ࡞Γ͍ͨ ࢀՃͷಈػ
3BJMT (JSMT .PSF ຖ݄ճ։࠵ ܧଓ
ίϛϡχςΟΛܗͯ͠ܧଓ։࠵ ॳճͷࢀՃऀ͕ίʔνͱͯ͠ࢀՃ Ռ
IUUQCMPHQBQJQVQFQVKJJDPN தଜҮ͞Μ!TPNBMJ IUUQTHJUIVCDPN:BZPJ,BSVUB IUUQXXXGBDFCPPLDPNZBZPJUBLFNVSB (VONB3VCZ,BJHJ !TIPLPMBUFEBZ
3BJMT5FSBLPZB IUUQSBJMTUFSBLPZBJP
ֶੜ͚ͨ3BJMTֶशϫʔΫγϣοϓ ݄ʹ౦ژʹͯୈճɺͦͷޙ݄ʹ։࠵ɻ࣍ճ݄ʹ։࠵ɻ ࢀՃऀʙਓ ֶੜࣾձਓ ɺࢣൣ ίʔν ਓ ݱࡏಛʹߴઐͷֶੜɾଔۀੜΛରʢߴઐΧϯϑΝϨϯείϛϡχςΟͱڞ࠵ʣ ࢀՃऀશࠃ͔Β 3BJMTࣉࢠ
ߴઐߴߍ େʹ͋ͨΔؒͷڭҭػؔ ʙࡀ ߴઐ ใܥͷֶՊ Ͱϓϩάϥϛϯάͷ࣮शΛଟ͘ͷ࣌ؒΛ͔͚ͯऔΓΉ ͔͠͠8FCٕज़ͷߨٛɺ3VCZͷߨٛগͳֶ͍ߍ͕΄ͱΜͲ ࠷ઌͷ8FCٕज़ΛֶͿػձΛͭ͘Γ͍ͨ !
ڭ৬һ͚ͨϫʔΫγϣοϓΛ։࠵͢Δ͜ͱඪ ಠཱߦ๏ਓࠃཱߴઐֶߍػߏڠྗΛ͓ئ͍ ࢣൣͷߍ࿈བྷ 3BJMTࣉࢠͷ։࠵ಈػ
Ͱߦ͏ϫʔΫγϣοϓ ! 3BJMT(JSMTࢿྉ େֶߨٛग़ு൛ (JU)VC1VMM3FRVFTUಓ ίʔυେتར ༰
؆୯ͳ3BJMTΞϓϦΛࢣൣ͕༻ҙ͓ͯ͘͠ ͦ͜ػೳՃ͢ΔܗͰࢀՃऀQVMMSFRVFTU ػೳ Ճئ͍ Λ͢Δ ࢣൣͦΕΛ֬ೝ͠ɺίʔυϨϏϡʔΛ͠ɺϚʔδ͢Δ (JU)VC1VMM3FRVFTUಓ
ૂ͍ ؆୯ͳػೳΛ࣮͠ɺ3BJMTͰͷ։ൃΛ࣮ફ ࢣൣ͕ώϯτΛग़ͨ͠ΓɺҰॹʹ։ൃͨ͠Γ͢Δ 044ߩݙʹॏཁͳٕज़(JUIVCQVMMSFRVFTUΛ࣮ମݧ ා͞Λͳ͘͢ɺ׳ΕΔ
(JU)VC1VMM3FRVFTUಓ $PNNJU-PH ࢣൣ͕ϕʔεʹͳΔ ΞϓϦΛ࡞ ࢀՃऀ͕৽ػೳ࣮ QVMMSFRVFTUΛૹΔ ࢣൣ͕NFSHF ‑PME ‐OFX
ࢀՃऀͷ QVMMSFRVFTU (JU)VC 1VMM3FRVFTU ಓ
(JU)VC 1VMM3FRVFTU ಓ ࢣൣͷରԠ
ίʔυେتར TFSWJDFECZ!TPSB@I
Βͳ͍ॻ͖ํ͕ग़͖ͯͯʢࢣൣʣษڧʹͳΔ ඞཁʹԠͯ͡ϦϑΝϨϯεΛࢀর͢ΔͳͲ ࢣൣαʔϏεͷ੬ऑੑ୳͠ʹۈ͠Έ͕ͪ ηΩϡϦςΟٕज़ʹ͍ͭͯղઆ ίʔυେتར
Ռ ࣗͰ࡞͍͚ͬͯΔͨΊͷجૅྗशಘ ࢣൣͱͷͭͳ͕Γ ࢀՃऀ͔Βࢣൣ 3BJMTࣉࢠɹ·ͱΊ ඪ ઌੜͷڭҭࢧԉ
IUUQXXXqJDLSDPNQIPUPTJHBJHB IUUQXXXqJDLSDPNQIPUPTITCU 3BJMT(JSMT 3BJMTࣉࢠ Ұڮେֶߨٛ-FDUVSFJO)JUPUTVCBTIJ6OJW ڞ௨ͷ՝
͓קΊͷ3BJMTڥߏஙํ๏ ͪ͜Βͷϖʔδ͕·ͱ·͍͔ͬͯͯΓ͍͢Ͱ͢ɻIUUQSBJMTHJSMTKQJOTUBMM 8JOEPXT3BJMT*OTUBMMFSIUUQSBJMTJOTUBMMFSPSH 8JOͰڥࠩʹΑΔτϥϒϧ΄΅ͳ͍ OBUJWFFYUFOTJPOHFNͷΠϯετʔϧͰҰ෦ࣦഊ͢Δͷ͋Δ .BD3BJMT*OTUBMMFSPSSCFOWIPNFCSFX τϥϒϧ͕ى͖Δͷ.BD͕ଟ͍
࣋ͪࠐΈ࣌ͷঢ়ଶ͕·ͪ·ͪ ! Α͘ى͖Δτϥϒϧ &YFD+43VOUJNF&SSPS 0QFO44-ূ໌ॻظݶΕIUUQRJJUBDPNTBUPDPDPBJUFNTCEBEFFGG τϥϒϧରԠ͜ͷϖʔδʹࣄྫ͕ू·͍ͬͯ·͢ɻIUUQTHJUIVCDPNSBJMTHJSMTKQSBJMTHJSMTKQHJUIVCDPNXJLJ5SPVCMFTIPPUJOH ՝3BJMT։ൃڥߏஙͷ͠͞
τϥϒϧൃੜ࣌ʹରԠͰ͖ΔਓͱҰॹʹڥߏங ! 7JSUVBM.BDIJOF-JOVY 7JSUVBM#PY8JO.BD-JOVYڥͰແྉͰ͑Δ7.ڥ ༻ҙ͕ͨ͠ɺࢲͷߨٛͷֶੜ͋·Γͬͯ͘Εͳ͔ͬͨ 3BJMTΠϯετʔϧࡁ*NBHFΛެ։͍ͯ͠·͢ɻIUUQTHJUIVCDPNJHBJHBIJUPUTVCBTIJSVCZ
! $4" /JGUZ1BB4 IUUQDTBOJGUZDPN 8FCϒϥβ্͚ͩͰ3BJMTΞϓϦͷ։ൃ͕Մೳ ݱࡏ3BJMTରԠ ڥߏஙͷରԠ
ڞ௨ͷϙΠϯτ
ϙΠϯτɿ ΰʔϧະདྷʹઃఆ
ΰʔϧͲ͔͜ʁ ֶߍͷ߹ ݄ ߨٛ։࢝ ݄ લظमྃ ݄ ޙظमྃ
ֶੜ ݄ ߨٛ։࢝ ݄ લظमྃ ݄ ޙظमྃ ͦͷઌʹ͘͘ଓ͘ະདྷ͕ ࣾձਓ ܧଓ͢Δɺ͍͔ͭࢥ͍ग़ͯ͠Β͏
ΰʔϧະདྷʹઃఆ
ͨͷ͠͞ ࣮ࡍʹಈ͔ͯ͠ޭମݧ ͨͷ͍͠งғؾ ܧଓ͢Δڥ ࣭Ͱ͖Δਓɺ͕ؒͦʹ͍Δ ܧଓ͢Δɺ͍͔ͭࢥ͍ग़ͯ͠Β͏ͨΊʹ
ͨͷ͠͞ɺޭମݧ ఱؾ༧ใ 1VTI௨ ! ࣗͷͨΊͷ ϓϩάϥϛϯά ! 3VCZͰߦఔ ࣌ؒఔͰ࡞Մೳ IUUQTTQFBLFSEFDLDPNJHBJHBJQIPOFQVTIOPUJpDBUJPO
3BJMT(JSMT ը૾ߘ ϛχϒϩάΞϓϦ ! ͷϫʔΫγϣοϓ Ͱ࡞ɺ1BB4Ͱެ։
ܧଓ͢Δڥ GBDFCPPLHSPVQ ࣭ɾ૬ஊ ! ܧଓ։࠵ ! ͭͳ͕Γ ίʔνͱ ࢀՃऀͱ
ϙΠϯτɿ ॴ͕͋Δͱ͍͏͜ͱͷॏཁੑ
ॴ͕͋Δ͜ͱॏཁ ࠷ॳͷͱ͔͔ͬΓ͕Ұ൪͍͠ ڥߏங࣌ͷτϥϒϧ ษڧํ๏ΛΔ
Կ͕Ͱ͖Δͷ͔ΛΔɺମݧ͢Δ ! ʮϓϩάϥϛϯάͱ͍͏ݴ༿ฉ͍ͨ͜ͱ͕͕͋ͬͨɺͲ͜ߦ ͚श͏͜ͱ͕Ͱ͖Δͷ͔͔Βͳ͔ͬͨɻ͔ͩΒ͜ͷߨٛΛΈ ͚ͭͯɺऔΓ͍ͨͱࢥͬͨɻʯ ! ʮϓϩάϥϛϯάʹڵຯ͕͕͋ͬͨɺॳ৺ऀͰͦͷ͖͔͚͕ͬ ͔ͭΊͳ͔ͬͨͷͰɺ͜ͷߨٛΛ͖͔͚ͬʹ͠Α͏ͱࢥͬͨɻʯ डߨֶͨ͠ੜͷ
࣍ͷҰา
ಉ྅ɾؒͱษڧձɺಡॻձɺ͓ձ ͓ۙ͘ͷΠϕϯτɺίϛϡχςΟ IUUQTHJUIVCDPNSVCZOPLBJPGpDJBMXJLJ3FHJPOBM3VCZJTU.FFU6Q ֶͼΛͭͬͯ͘ΈΔ ! ڭࡐɺࢿྉΛ࡞ͯ͠ެ։ ! ӳޠࢿྉͷ༁ 3BJMT(JSMTIUUQTHJUIVCDPNSBJMTHJSMTKQSBJMTHJSMTKQHJUIVCDPN
3BJMT5VUPSJBMIUUQSBJMTUVUPSJBMKQ ڭ͑ͯΈ͍ͨͱࢥͬͨํ࣍ͷҰา
͓ۙ͘ͷΠϕϯτɺίϛϡχςΟ IUUQTHJUIVCDPNSVCZOPLBJPGpDJBMXJLJ3FHJPOBM3VCZJTU.FFU6Q ࢿྉɾຊ େֶߨٛࢿྉ ڥߏங 3VCZ 3BJMT IUUQTHJUIVCDPNJHBJHBIJUPUTVCBTIJSVCZ
3VCZ ͨͷ͍͠3VCZୈ൛*4#/ ελʔτΞοϓ3VCZ*4#/ 3BJMT 3BJMT(JSMTࢿྉIUUQSBJMTHJSMTKQ 3BJMT5VUPSJBMIUUQSBJMTUVUPSJBMKQ 3BJMT(VJEFTIUUQHVJEFTSVCZPOSBJMTPSH ͜Ε͔Β3VCZΛ࢝ΊΔํ࣍ͷҰา
࠷ޙʹ
ʮΈͳ͞Μ͕3VCZͱΓ߹ͬͨ ͖͔͚ͬͳΜͰ͔͢ʁʯ ͜ͷൃදͷ࠷ॳͷ࣭ ʮΈͳ͞Μ3VCZΛ Ͳ͏ֶͬͯͼ·͔ͨ͠ʁʯ l)PXEJEZPVNFFU3VCZ z l)PXEJEZPVMFBSO3VCZ z
ࣾձਓʹͳΓϓϩάϥϚʹͳͬͨͱ͖ʹɺ ઌഐ͕3VCZͱU%JBSZΛ͔͍ͭͬͯͨɻ ࢲͷ͑ ձࣾ3VCZձٞษڧձͰ ͍ΖΜͳਓʹٕज़Λڭ͑ͯΒͬͨɻ ͦͷ͕࣌ؒͱͯͨͷ͍͠ͷͩͬͨɻ ͔ͩΒͨ͘͞Μͷਓʹ3VCZΛͬͯ΄͍͠ ͦͷͨΊͷॴΛఏڙ͍͖͍ͯͨ͠
ΑΓଟ͘ͷਓ͕ϓϩάϥϛϯάͰࣗͷ Λղܾ͠ɺرΛ͑ΔΑ͏ʹͳ͍ͬͯ͘ ! 3VCZͷͨͷ͠͞Λମݧ͢Δॴ ͖ͬͱ·͢·͢૿͍͑ͯ͘ 3VCZΑΓଟ͘ͷਓͷखʹ
-FXJTڭतɺᖛ࡚͞Μɺ͞ΜɺҰڮେֶͷडߨֶੜͷΈͳ͞Μ χϑςΟגࣜձࣾླ͞Μɺٶ͞Μ ৬ͷΈͳ͞Μ 3BJMT(JSMT 3BJMTࣉࢠͷελοϑɺίʔνɺࢀՃऀͷΈͳ͞Μ ँࣙ5IBOLT -JOL େֶߨٛࢿྉIUUQTHJUIVCDPNJHBJHBIJUPUTVCBTIJSVCZ େֶߨٛʹ͍ͭͯৄ͘͠IUUQTTQFBLFSEFDLDPNJHBJHBLZVTIV UXJUUFSJHBJHB
HJUIVCJHBJHB U%JBSZIUUQJHBSBTIJLVOJBLJOFU BCPVUNF
2VFTUJPOʁ ࣭ͨ͠ํ,VOJBLJSCεςοΧʔ͋͛͞͠·͢
͜ͷ1ͷRubyΤίγεςϜͷϗοττϐοΫͷ1ͭ ৽ֶ͍͠ͼͷ͕ͨ͘͞ΜͰ͖ͨ