A talk presentation for RubyWorld Conference 2017 held in Matsue, Japan. Introducing Everyleaf Corporation's training program. Written in Japanese.
3VCZϓϩάϥϚ͕ҭͭΈ3VCZͰͷडୗ։ൃΛճͯ͠Έͯגສ༿େೡࢠ!OBZ
View Slide
"CPVU.Fେೡࢠʢ͓͓ɹ͢͜ʣ!OBZϓϩάϥϚྺ͘Β͍3VCZϓϩάϥϚ3BJMTΤϯδχΞגສ༿දऔక
'BNJMZ
5PQJDT3VCZͷडୗ։ൃձࣾͱͯ͠ͷதͰม͖͑ͯͨ͜ͱͷհ৽ਓݚमͷΈΛม͑ͨ
גສ༿݄ʹ໊Ͱઃཱ3VCZPO3BJMTΛͬͨडୗ։ൃ͕த৺͓͔͛͞·Ͱɺ݄ͰपΛܴ͑Δ͜ͱ͕Ͱ͖·ͨ͠ʂݱࡏ໊
8FBSFIJSJOHʮͨͷ͘͠νʔϜ։ൃ͢Δ͜ͱʯʹϑΥʔΧε͍ͨ͠ํམͪண͍ͨڥͰϓϥΠϕʔτॏࢹ͠ͳ͕ΒεΩϧ্ΛਤΓ͍ͨํϦϞʔτۈ੍͋Γʢݚमத౦ژۈ͕ඞཁʣ
ͷதͰສ༿͕ม͖͑ͯͨ͜ͱIUUQTXXXqJDLSDPNQIPUPTTBOUIFP
ࣄͷܗɾ༰νʔϜ։ൃ৫ͷܗ࠾༻γεςϜڭҭγεςϜධՁγεςϜʢࠓ৮Ε·ͤΜʣ
ࣄͷܗʲաڈؒͷࣄܗଶͷมԽʳ
ࣄͷ༰3BJMTத৺7VFKTɺ3FBDUͳͲ͕૿్͑ͨதɺεϚϑΥΞϓϦΛͨ·ʹ1)1Λ͚ͩड͚ͨ࠷ۙ(PͷҊ݅ͬͨΓ͍ͯ͠·͢
νʔϜ։ൃೖࣾͨ͠ਓʑͷฃಆʹΑͬͯҭ͖ͯͯͨʑݚڀIUUQTXXXqJDLSDPNQIPUPTTDITCPZTTPDDFS
৫ͷܗIUUQTXXXqJDLSDPNQIPUPTGSFZBTFSFOEJQJUZ
࠷ॳݹయతͳϐϥϛουܕͷதখاۀΛࢤ
ϐϥϛουܕ৫ͷ՝νʔϜ։ൃͱͷ૬ੑ͕ѱ͔ͬͨνʔϜ։ൃϑϥοτࢤඞཁͳใΛެ։ͯ͠ݸਓ͕அͰ͖ΔΑ͏ʹ͢Δجຊݪଇ͕ɺใΛؚΊͯ౷੍͢Δϐϥϛουܕͱ͙ͦΘͳ͍डୗͰɺҊ݅νʔϜ͓٬༷ͷঢ়گͰॊೈʹมಈҊ݅νʔϜओମͷʑͷੜ׆ͱɺݻఆతͳάϧʔϓ͝ͱʹதؒཧ৬ʹཧͯ͠Β͏ܗ͕߹Θͳ͍
ʮϗϥΫϥγʔʯΛࢀߟʹͨ͠
ϗϥΫϥγʔͱϐϥϛουܕͷ৫ͱҧ͏৽͍͠৫ͷܗͱͯ͠ఏএ͞Ε͍ͯΔੜͷࡉ๔ͷΑ͏ʹɺػೳผʹࣗͯ͠ಇ͘ΈΛࢦ͕͢ݸʑͷࡉ๔ͷ׆ಈʹࢦࣔΛग़͞ͳ͍Α͏ʹɺϗϥΫϥγʔͰαʔΫϧϩʔϧͱ͍ͬͨػೳ͕ࣗͷ͜ͱΛࣗͰܾΊΔϑϥοτߏͱݴΘΕΔ͜ͱ͋Δ͕ɺͲͪΒ͔ͱ͍͏ͱࡉ๔ߏʢೖΕࢠߏʣ͕ਖ਼ͦ͠͏
ݱࡏͷαʔΫϧϩʔϧ૯ܥͷࣄͷཧʹ͏ͱͱʹɺใɺΞαΠϯܾఆɺ࠾༻ॻྨબߟɺ৽ਓࣾһڭҭɺใγεςϜɺXJLJཧͳͲ͍Ζ͍Ζͳϩʔϧʹٕज़ܥͷࣾһब
ྑ͘ͳ͖ͬͯͨ୲ऀɾ୲ൣғ͕͖ͬΓͯ͠ɺࣄΛܾΊ͘͢ͳͬͨใެ։ɾϨϏϡʔͱͷ૬ੑ͕ྑ͍νʔϜ։ൃͱͷ૬ੑ͕ྑ͍ݫ֨ͳӡ༻Ͱͳ͘ɺΏΔ͘औΓೖΕ͍ͯΔ
࠾༻γεςϜIUUQTXXXqJDLSDPNQIPUPTCPPCPPCPPL
ઃཱޙ·ͳ͔͘Β໘ͰνΣοΫ͍߲ͨ͠ΛࣾͰڞ༗
ԿΛͲΕ͚ͩॏࢹͯ͠࠾൱ΛܾΊΔ͔͕͍͠IUUQTXXXqJDLSDPNQIPUPTVOSFMBYFEEBE
໘ʹΑΔ࠾͔Β࠾൱Λࢉग़͢Δํ๏Λཱ֬ˠ͏·͍͘͘Α͏ʹͳͬͨʂ
ڭҭγεςϜIUUQTXXXqJDLSDPNQIPUPTNFSDIBV
डୗ։ൃٕज़ऀΛҭ͍ͯ͢ܗଶ৭ʑͳ։ൃҊ݅νʔϜจԽ
ࣾձͷͨΊʹٕज़ऀΛҭ͍ͯͨؾ͕࣋ͪ͋Δʢগͣͭ͠Ͱ͕͢ʣ
ສ༿ͷϑΥʔΧεޭ͢ΔϓϩδΣΫτΛ૿͍ͨ͠ʮͱΓ͋͑ͣ3VCZͱ3BJMT͕ॻ͚Δਓʯͷ಄Λ૿ͯ͠ޭ͢ΔϓϩδΣΫτ૿͑ͳ͍ʮ্खʹ3VCZͱ3BJMT͕ॻ͚ͯɺνʔϜͰ։ൃ͕Ͱ͖ΔਓʯΛ૿͍ͨ͠
্खʹ3VCZ͕ॻ͚Δਓ3VCZࣗ༝ͳݴޠࣗ༝ʹ͕͏ॻ͖ํΛॊೈʹࣗͰஅͰ͖Δͱྑ͍3VCZʹ߹͏ઃܭɺ໋໊ɺ࣮ݱ࣮ͱ3VCZίʔυͷؒʹંΓ߹͍Λ͚ͭଓ͚Δ
্खʹ3BJMT͕ॻ͚Δਓ3BJMTͷϨʔϧʹ͏·͔ͬ͘Γͳ͕Βతୡ·Ͱ͍͚࣋ͬͯΔഎܠɾۙྡͷࣝʢ001ɺ3VCZɺ8FCɺ3%#ɺ+4ͳͲʣ͕Θ͔ΔόʔδϣϯΞοϓͷߥϝϯόʔަʹ͑ಘΔҡ͍࣋͢͠ίʔυΛॻ͚Δ
ࣝʹՃ͑ͯஅͷ͏·͞όϥϯεײ͕֮ॏཁ
࣮ͰܦݧΛੵΉඞཁ͕͋Δ
Ҏલͷ৽ਓݚमϝϯλʔΛ໋͢Δձࣾͷ͜ͱΛઆ໌ͨ͠Βɺ͙͢ʹϓϩδΣΫτʹଐɻϝϯλʔϓϩδΣΫτϝϯόʔ͕దٓ0+5Ͱڭҭɻࢼ༻ظؒதʹ3VCZ4JMWFSΛͱͬͯΒ͏
ਓҭ͍͚ͬͯͨΕͲɺޮ͕ΠϚΠν
৽ਓͷΞαΠϯ͞ΕΔҊ݅ͷঢ়گຖճҧ͏ʂԿΛΔͷ͔ίʔυͷঢ়ଶϦϦʔε࣌ظνʔϜߏ
৽ਓͷεΩϧಛੑຖճҧ͏ʂࣝɾܦݧ ੑ֨ίϛϡχέʔγϣϯಘҙڵຯͷํ
ڭ͑Δଆ͕େมҊ݅ͷঢ়گ৽ਓͷಛੑҊ݅ͷৄࡉΛѲ͢Δͷେมʂ΄͔ͷϓϩδΣΫτʹ͍ΔͱڭҭʹࢀՃͮ͠Β͍৽ਓڭҭͷͨͼʹθϩϕʔεͰڭ͑ํΛݕ౼
ڭΘΔ༰͕ෆఆΞαΠϯ͞ΕͨϓϩδΣΫτͷݸੑ୲ͨ͠λεΫʹࠨӈ͞ΕΔ
ड͚ೖΕνʔϜ͕େมઓྗʹͳΒͳ͍ͩΖ͏͠ڭ͑Δͷେมͩ͠ϛεϚονͩͱશһෆʹʜIUUQTXXXqJDLSDPNQIPUPTUP⒎
ձ͕ࣾେมड͚ೖΕͷ൱ͷෆ҆ɺڭҭෛՙͷෆ͔҆Βɺ࠾༻ͦͷͷʹωΨςΟϒͳงғؾ͕ੜ͍͢͡ϝϯλʔड͚ೖΕνʔϜͷෛՙ͕ߴ͍ͷͰखʹͱͯؾΛ͏͍͠͠
ͦ͜Ͱ
৽ਓݚमͷΈΛվળ͢Δ༗ࢤϓϩδΣΫτ͕ൃʂ
ݚम੍ΛҰ৽IUUQTXXXqJDLSDPNQIPUPTKPFNBS
ैདྷγεςϜΛ౿ऻͨ͠ϝϯλʔΛ໋͢Δࢼ༻ظؒதʹ3VCZ4JMWFSΛͱͬͯΒ͏ϝϯςΟʔ͝ͱͷઐ༻ݚम4MBDLνϟϯωϧΛ࡞Δ
มߋͨ͠
ݚमظؒΛઃ͚ɺڭҭΧϦΩϡϥϜʹԊͬͯ՝ΛਐΊͯΒ͏
ڭҭΧϦΩϡϥϜͱλεΫཧΞϓϦέʔγϣϯΛ։ൃ͢Δ՝։ൃڥͷߏஙɺઃܭɺݸʑͷػೳͷ࣮ͳͲશ෦ͰεςοϓͰߏ͞Ε͍ͯΔ
֤εςοϓͷֶशཁૉڥߏஙπʔϧͷ͍ํઃܭ͢Δश׳։ൃखॱ 3BJMTσβΠϯ
༷Θ͟ͱগ͠ᐆດʹݱ࣮ͷ։ൃͰɺશͳ༷͕ଘࡏ͢Δ͜ͱ΄ͱΜͲͳ͍ࣗͰ༷Λݕ౼ܾͯ͠ΊΔϓϩηε͕ඞཁʹͳΔֻ͚ΛೖΕ͍ͯΔϝϯλʔ͚ʹࢦಋཁྖΛ༻ҙ
ݚमͷΈΧϦΩϡϥϜʢεςοϓʙʣϚελʔσʔλ4UFQͷ134UFQͷ13ɾɾɾϝϯλʔ͕૬ஊʹͷΔશࣾͷ༗ࢤંʑʹϨϏϡʔ՝ΞϓϦέʔγϣϯϨϙδτϦ (JU)VC৽ਓ͝ͱʹ˓˓͞Μݚमઐ༻4MBDLνϟϯωϧ
ೖࣾ࣌ͷεΩϧʹΑΒͣಉ͡ΧϦΩϡϥϜͰݚमΛߦ͍ɺݚम͕ऴ͔ྃͯ͠Β࣮Ҋ݅ʹΞαΠϯ͢Δ
εΩϧͷ͋Δਓૣ࣮͘Ҋ݅ʹΞαΠϯ͞ΕΔॳ৺ऀͬ͘͡ΓݚमʹऔΓΊΔ
ͱͯྑ͘ͳͬͨʂIUUQTXXXqJDLSDPNQIPUPT!/
ڭ͑Δଆ͕ϥΫݚम՝͕ܾ·͍ͬͯΔͷͰɺԿΛͬͯΒ͏͔Λߟ͑ͳ͍ͰࡁΉաڈͷݚमͷܦݧࢿ࢈Λ׆͔ͤΔඪ४ΧϦΩϡϥϜΛѲ͢ΔͷҊ݅ͷৄࡉΛཧղ͢ΔΑΓͣͬͱ؆୯୭Ͱڭ͑ΔଆʹͳΕΔͷͰɺෛՙ͕ϝϯλʔʹूத͠ͳ͍
ڭΘΔଆ͕҆৺ཏੑͷ͋ΔશࣾͰڞ௨ͷֶश༰։ൃɺ13ɺϨϏϡʔͷαΠΫϧΛ௨ͯ͡ɺສ༿ͷ։ൃελΠϧΛɺ࣮ࡍʹϓϩδΣΫτʹࢀՃ͢ΔલʹֶΔݚमऴྃޙɺϓϩδΣΫτʹεϜʔζʹࢀՃͰ͖Δ
ड͚ೖΕνʔϜ͕҆৺(JUIVCͱࣗಈςετͱ3BJMTͷ$36%Θ͔ΔͣݚमϨϏϡʔ͚ͨ͠Ͳͳ͔ͳ͔ྑ͍ײ͡ͷରԠͯͨ͠Α3%#ಘҙͰσβΠϯۤखͬΆ͍͡Ό͋ɺ·ͣ͋ͷλεΫ୲ͯ͠Β͓͏͔IUUQTXXXqJDLSDPNQIPUPTDMJDLS
ձ͕ࣾϥΫ࠾༻ʹ͍ͭͯͷࣾͷงғؾ͕໌Δ͘ͳͬͨϝϯλʔݚममྃޙͷड͚ೖΕνʔϜͷબఆ͕͘͢͠ͳͬͨɿ७ਮʹݚमͷΈͷظ͕ؒੜ͡ΔͷͰίετతʹ͔ͬ͠Γ͔͔Γ·͢
੍Λม͑ͯΈͯ͡Ί͔ͯͬͨ͜ͱ
ݚमͷ13ϨϏϡʔͷޮՌ͕͍͢͝ʂ
ΈΜͳͰϨϏϡʔͰ͖Δݚमܦݧऀવ͘Θ͍͠ϝϯλʔܦݧऀવ͘Θ͍͠ຖಉ͡՝͔ͩΒɺ΄͔ͷਓ༰Λਪଌ͘͢͠ɺޱΛ͍ͩ͢͠ϝϯλʔͷෛՙ͕ܰݮ͞ΕΔϝϯςΟʔͷ࡞ۀޮ6Q
จԽͷ͢Γ͋Θ͕ͤͰ͖Δ࣮Ҋ݅ʹࢀՃ͢Δલʹɺ։ൃελΠϧจԽͷ͢Γ߹Θ͕ͤͰ͖ΔϨϏϡʔΛ௨ͯ͡ɺਓฑՁ؍ɺͩ͜ΘΓͳͲ͔Δ৽ਓɾड͚ೖΕνʔϜํͷ҆৺ʹͭͳ͕Δ
ୈࡾऀษڧͰ͖ΔઌഐࣾһͷϨϏϡʔ༰ΛΈͯࣝΛʹ͚ͭͨΓɺϨϏϡʔͷண؟ΛֶͿ͜ͱ͕Ͱ͖Δ͜Ε·ͰֶΜͩ͜ͱͷ෮शʹͳΔ࠷৽ͷ3BJMTͷ༷Λ֬ೝ͢Δػձ૿͑Δ
ϨϏϡʔࣗମ͕ࢿ࢈ϨϏϡʔ༰কདྷͷݚमͷࢿྉͱͯ͠׆༻Ͱ͖ΔIUUQTXXXqJDLSDPNQIPUPTQFUFSBMMFO
৽ਓڭҭ੍ࣗతʹվળϧʔϓΛճͯ͠ΧϦΩϡϥϜΛόʔδϣϯΞοϓ
ݚमऴ࣮ྃ࣌Ҋ݅+PJOͯ͠গ͔ͯ͠͠ΒΠϯλϏϡʔΛ࣮ࢪ
ΧϦΩϡϥϜͷόʔδϣϯΞοϓ՝ͷू߹ɾϝϯλʔखҾॻʢεςοϓʙʣϚελʔσʔλ1VMM3FRVFTUᶄΠϯλϏϡʔ݁ՌࣗͷҙݟΛөͯ͠ɺϝϯλʔ͕վળҊΛ13ڭҭ.5(ᶅڭҭνʔϜͰɺ13ͷࠩΛΈͯٞ1VMM3FRVFTUᶆ.5(ͷՌΛվΊͯ13ɺϚʔδᶃݚममྃޙɺϝϯςΟʔʹΠϯλϏϡʔΛ࣮ࢪ
͜Ε·ͰͷόʔδϣϯΞοϓվળϧʔϓΛ௨ͯ͡ʮ͜ͷֶशඞཁͩΑͶʯͱ͍͏ϑΟʔυόοΫ͕دͤΒΕɺֶश༰ͷཏੑ͕ߴ·ֶͬͨͿͨΊͷ͓͢͢Ίڭࡐใ͕ू·ͬͨݚमऴྃ࣌ظ͕৽ਓ͝ͱʹҟͳΓɺΞαΠϯܭըཱ͕ͯͮΒ͍ͷͰɺաڈʹ͔͔ͬͨ࣌ؒͷهΛ͔ͭͬͯ༧ऴྃ࣌ظΛܭࢉ͢ΔΑ͏ʹͯ͠Έ͍ͯΔ
৽ਓ͕ࣗड͚ͨڭҭ੍ͷؔ৺͕ߴΊ
ͦͷ৽ਓ͕ҭͬͯϝϯλʔΛ͢Δ͜ͱͰڭ͑Δޮ6Q੍վྑͷޮ6Q
ྑ͍ϧʔϓʂ
͓Βͤ
ສ༿ͷڭҭΧϦΩϡϥϜΛެ։͠·͢ʂIUUQTHJUIVCDPNFWFSZMFBGFMUSBJOJOH
ΧϦΩϡϥϜΛ࡞Δͷख͕͔͔ؒΔͷͰ͠ྑ͔ͬͨΒ͝ར༻͍ͩ͘͞
13ܴͰ͢
·ͱΊ3VCZ 3BJMTͷडୗ։ൃձࣾͱͯ͠ͷͰ͖ͯͨ͜͠ͱΛհ৽ਓݚम੍ͷ৽Ͱ࠾༻ɾڭҭ͕εϜʔζʹͳͬͨ՝ͷ13ϨϏϡʔΛશࣾͰߦ͏͜ͱͰɺٕज़͚ͩͰͳ͘ɺจԽɺ։ൃελΠϧɺՁ؍ͳͲΛ͑Δ͜ͱ͕Ͱ͖ΔڭҭΧϦΩϡϥϜΛެ։த