Slides from my presentation at "World IA Day 2019 Tokyo" on Feb 23, 2019.
5IF0CKFDUPG006*
View Slide
ΦϒδΣΫτࢦ͕Ұ࣌తͳྲྀߦޠͰͳ͘ɺιϑτΣΞ։ൃͷੈքʹࣗવʹਁಁ͍ͯͬͨ͠ͷͦΕ͕ਓؒͷࣗવຊདྷͷߟ͑ํͰ͋ΓɺࠜݯతͳͷͰ͋Γɺීวੑ͕͋Δߟ͑ํ͔ͩΒͳͷͰ͢ɻʰΦϒδΣΫτࢦͱֶʱՏ߹তஉ
0CKFDU
0CKFDU0CUPXBSE UP PO PWFS BHBJOTUKFDUUISPXO0CKFDUମɺରɺతɺඪɺ٬؍ɺ٬ମɺҟٞΛএ͑Δɺͦͷํ͛Δ
0CKFDU4VCKFDU7FSCͦͷํ͛Δɺͯɺతɺରɺ٬ମɺ٬؍ɺݟΒΕΔͷɺΒΕΔͷԼʹ͛Δɺࢧ͞ΕΔɺਉԼɺɺओମɺओ؍ɺݟΔͷɺΔͷݴ༿ɺޱ্ɺಈࢺ
*EFB$BWF
ϓϥτϯͷ࣮ࡏҰൠΠσΞɺ؍೦ɺநɺܕɺਅཧɺຊ࣭ɺྨݸผݸମɺ۩ମɺ࣭ɺײ֮ɺݱɺܗ࣭ɺ༷ଶ
0SJFOUFE
0SJFOUFE0SJFOU౦ํɺ౦༸ɺํ֯ɺํҐ͕ঢΔํΛఆΊΔɺҙࣝΛ͚Δɺࢦ͢Δ
0CKFDU0SJFOUFE
0CKFDU0SJFOUFE1SPHSBNNJOH 001σʔλͱίʔυͷηοτΛجຊཁૉʹͯͦ͠ΕΒͷ૬ޓ࡞༻ʹΑͬͯॲཧΛߦ͏ɻෳࡶԽ͢ΔιϑτΣΞ։ൃΛޮԽ͢ΔͨΊʹɺੜͷࡉ๔ಉ࢜ͷؔΛώϯτʹͨ͠ɻ4JNVMB4NBMMUBML$0CKFDU0SJFOUBUJPOʹιϑτΣΞ։ൃͷͰߟҊ͞ΕͨϓϩάϥϛϯάύϥμΠϜɻ
ΦϒδΣΫτࢦͱɺΦϒδΣΫτ͕͕ࣗࣗԿΛͰ͖Δͷ͔͍ͬͯΔͱ͍͏ҙຯͰ͋ΔɻʰϢʔβʔΠϯλʔϑΣʔεݸਓతݟղʱΞϥϯɾέΠ
໊લ৭ݘΔ໐͘৯Δ໊લϙν৭৭ϫϯݘΫϥεʢܕʣ Πϯελϯεʢ࣮ମʣ
Ϋϥε Πϯελϯε5JUMF$POUFOU%BUF%PDVNFOU$MPTF4BWF1SJOU5JUMF5FTU/PUF$POUFOU)FMMPXPSME%BUF'FC %PDVNFOU
6*#VUUPO .Z#VUUPOCBDLHSPVOE$PMPS6*$PMPSUJOU$PMPS6*$PMPSUJUMF-BCFM6*-BCFMUFYU/44USJOHGPOU6*'POUUFYU$PMPS6*$PMPSJNBHF6**NBHF
खଓ͖ܕͷߏจ7FSC 0CKFDUΦϒδΣΫτࢦͷߏจ0CKFDU 7FSCstrtoupper( ‘hello’ )‘hello’.toUpperCase()
ΦϒδΣΫτͨͩͦΕΒͷཱࣗతͳ࣮ࡏੑ͚ͩʹΑͬͯఆٛ͞ΕΔɻʰ࢛ํରΦϒδΣΫτࢦଘࡏೖʱάϨΞϜɾϋʔϚϯ0CKFDU0SJFOUFE0OUPMPHZ 000
;VIBOEFOखݩଘࡏʢಓ۩తଘࡏʣ7PSIBOEFOखલଘࡏʢࣄతଘࡏʣϋΠσΨʔ$"3"/%"$)&-¬."/#*$0-038)*5&45:-01-6.&TXJTTLOJGFDPN
3FBM2VBMJUJFT ࣮ࡏతੑ࣭3FBM0CKFDU ࣮ࡏతର4FOTVBM0CKFDU ײ֮తର4FOTVBM2VBMJUJFT ײ֮తੑ࣭ϋʔϚϯ
3FBM2VBMJUJFT ࣮ࡏతੑ࣭ϓϩάϥϜͱͯ͠ͷΠϯελϯε3FBM0CKFDU ࣮ࡏతରϓϩάϥϜͱͯ͠ͷΫϥε4FOTVBM0CKFDU ײ֮తର6*ͱͯ͠ͷΫϥε4FOTVBM2VBMJUJFT ײ֮తੑ࣭6*ͱͯ͠ͷΠϯελϯε
6*ͱͯ͠ͷΠϯελϯε6*ͱͯ͠ͷΫϥε5XFFUJEOBNFNBOBCVVFOP[email protected][email protected]UFYUόοΫϩάͷதͷʮͱ͖ϓϩάϥϜͱͯ͠ͷΠϯελϯε5XFFUJEOBNF[email protected][email protected]UFYUϓϩάϥϜͱͯ͠ͷΫϥε
զʑɺೋͭͷ৮Εಘ͵ͷͷؒͷ͋ΔछͷௐΛ୳͍ͯ͠ΔɻͦΕɺ·ͩզʑ͕σβΠϯ͍ͯ͠ͳ͍ܗͱɺత֬ʹද͠ಘͳ͍ίϯςΫετͷؒͷௐͰ͋Δɻʰܗͷ߹ʹؔ͢ΔϊʔτʱΫϦετϑΝʔɾΞϨάβϯμʔʰύλϯɾϥϯήʔδʱΫϦετϑΝʔɾΞϨάβϯμʔ
6TFS
6TF1SPEVDU%FTJHOFS%FTJHO6TFS6$%
1SPEVDU&OWJSPONFOU%FTJHOFS%FTJHO6TFS6$%
*OUFSGBDF
ਓؒͷྺ࢙ͱਓͷྺ࢙Ͱ͋Γɺ·ΔͰٿ͕ڊେͳσβΠϯελδΦͰ͋Δ͔ͷΑ͏ͩɻਓΠϯλʔϑΣʔεͰ͋Γɺਓؒͱੈք͕ҧ͔ͬͨͨͪͰؔΘΓ߹͑ΔΑ͏ʹ͢Δɻʰզʑਓؒͳͷ͔ʁʱϏΞτϦεɾίϩϛʔφɺϚʔΫɾΟάϦʔ
1)050(3"1)#:40/*")"3."/% /"5*0/"-(&0(3"1)*$$3&"5*7&ٕज़ਓؒʹΑͬͯ ൃ໌͞ΕͨͷͰͳ͍ɻ Ή͠ΖͦͷٯͰ͋ΔɻδϟϯɾϑϥϯιϫɾϦΦλʔϧ
ސ٬ͷཱ͔ΒݟΔݶΓɺ ΠϯλϑΣʔε͕ͦͷͷͳͷͰ͢ɻʰώϡʔϝΠϯɾΠϯλϑΣʔεਓʹ༏͍͠γεςϜͷ৽ͨͳࢦʱδΣϑɾϥεΩϯ
6TFS*OUFSGBDF
Ϛϯ ϚγϯϚϯϚγϯΠϯλʔϑΣʔε
Ϣʔβʔ ίϯϐϡʔλϢʔβʔΠϯλʔϑΣʔε
ίϯϐϡʔλϢʔβʔʰܶͱͯ͠ͷίϯϐϡʔλʱϒϨϯμɾϩʔϨϧϢʔβʔΠϯλʔϑΣʔε
ΦϒδΣΫτϢʔβʔϢʔβʔΠϯλʔϑΣʔε
006*
αϒδΣΫςΟϒσβΠϯଈత՝ղܾߦಈͷࢧλεΫͷैଐཉͷ૿෯
ΦϒδΣΫςΟϒσβΠϯࢥหత՝ఏىߦಈͷղ์ͯͷଓҙຯۭؒͷ
!BUPDIPUUP
$PNNBOE-JOF*OUFSGBDF (SBQIJDBM6TFS*OUFSGBDF
4LFUDIQBEʹΞΠόϯɾαβϥϯυ͕։ൃͨ͠ɻը໘ʹදࣔ͞ΕͨάϥϑΟοΫΛతʹૢ࡞͢Δͱ͍͏ɺ(6*ͷΞΠσΞͷىݯɻάϥϑΟοΫΦϒδΣΫτϥΠτϖϯXJLJQFEJBPSH
/-4FYUSFNFUFDIDPNʹμάϥεɾΤϯήϧόʔτ͍ΔݚڀऀνʔϜ͕։ൃͨ͠ɻϏοτϚοϓσΟεϓϨΠϚεϋΠύʔςΩετ
4NBMMUBMLʹΞϥϯɾέΠΛத৺ʹ1"3$Ͱ։ൃ͞ΕͨɻΦϒδΣΫτࢦˍ(6*ϕʔεͷ04ύʔιφϧίϯϐϡʔλͷ࠷ॳͷܗΦʔόʔϥοϐϯάΟϯυΧοτˍϖʔετɺΞϯυΡϓϩάϥϛϯάڥ!TVNJN
$-*ͷૢ࡞ॱং7FSC 0CKFDU(6* 006*ͷૢ࡞ॱং0CKFDU 7FSC$ more helloworld.txt
ϓϩάϥϛϯάͱ6*ͷͲͪΒͷ߹ͰɺΦϒδΣΫτ͕ઌͰ͋ΓɺΓ͍ͨ͜ͱ͕ͦͷ࣍ͱͳ͍ͬͯΔɻ͜Ε۩ମతͳͷͱநతͳͷͱΛߴ͍࣍ݩͰ౷߹͍ͯ͠ΔɻʰϢʔβʔΠϯλʔϑΣʔεݸਓతݟղʱΞϥϯɾέΠ
ओཁͳΦϒδΣΫτͷҰཡΛૣ͍ஈ֊ͰݟͤΔw ҰཡʢίϨΫγϣϯʣͷදࣔܗ͕ࣜΞϓϦέʔγϣϯͷੑ֨Λܾఆ͢Δ ΦϒδΣΫτΛબͼɺ࣍ʹΞΫγϣϯΛબͿw ΞΫγϣϯՃೖྗͳ͠Ͱଈ࠲ʹ࣮ߦɾྃ͠ɺ݁ՌΛϑΟʔυόοΫ ΦϒδΣΫτͷϓϩύςΟʗؔ࿈ΦϒδΣΫτϞʔυϨεʹද͓ࣔΑͼมߋͰ͖Δw φϏήʔγϣϯ໊߲ࢺܗw ํσʔλόΠϯυΦϒδΣΫτࢦϢʔβʔΠϯλʔϑΣʔε
Ͱ͖Δ͚ͩૣ͘ϢʔβʔʹΦϒδΣΫτΛݟͤΔ
ΦϒδΣΫτͷબΞΫγϣϯͷબ
ΦϒδΣΫτͷϓϩύςΟʗؔ࿈ΦϒδΣΫτϞʔυϨεʹදࣔɾมߋͰ͖Δ
006*ϞσϦϯάͷجຊεςοϓ υϝΠϯ͔ΒΦϒδΣΫτΛநग़͢Δ ϏϡʔͷछྨΛܾΊΔʢίϨΫγϣϯʗγϯάϧʣ ίϯτϩʔϥʔͷׂΛ࡞Δ
ϝʔϧड৴ശ0CKFDU
ϝʔϧड৴ശDPMMFDUJPOड৴ശ໊শ ໊݅ࠩग़ਓDPMMFDUJPOϝʔϧTJOHMFϝʔϧ໊݅ࠩग़ਓຊจ0CKFDU7JFX
ϝʔϧड৴ശDPMMFDUJPOड৴ശ໊শ ໊݅ࠩग़ਓDPMMFDUJPOϝʔϧTJOHMFϝʔϧ໊݅ࠩग़ਓຊจฦ৴సૹ0CKFDU7JFX$POUSPMMFSબঢ়ଶ։͘Ճআ։͘আநग़݅બঢ়ଶ
ϝʔϧड৴ശड৴ശՃड৴ശҴ༿ೋ9999999999999999999999ZZZZNNEEIINNాॴஐ༟9999999999999999999999ZZZZNNEEIINNࠓઍਘ9999999999999999999999ZZZZNNEEIINN৴Ұ9999999999999999999999ZZZZNNEEIINNۙ߁9999999999999999999999ZZZZNNEEIINNޫຊӳੜ9999999999999999999999ZZZZNNEEIINN൞্ढ़ӳ9999999999999999999999ZZZZNNEEIINNُ๕9999999999999999999999ZZZZNNEEIINNআ9999999999999999999999ZZZZNNEEIINN'SPNాॴஐ༟͜ΜʹͪɻݩؾͰ͔͢ʁݩؾͰ͢ɻআ ฦ৴సૹ
ड৴ശ ฤूड৴ശड৴ശड৴ശՃड৴ശ ฤूҴ༿ೋ NNEEIINN9999999999999999999999ాॴஐ༟ NNEEIINN9999999999999999999999ࠓઍਘ NNEEIINN9999999999999999999999৴Ұ NNEEIINN9999999999999999999999ۙ߁ NNEEIINN9999999999999999999999ޫຊӳੜ NNEEIINN99999999999999999999999999999ฦ৴సૹ9999999999999999999999ZZZZNNEEIINN'SPNాॴஐ༟͜ΜʹͪɻݩؾͰ͔͢ʁݩؾͰ͢ɻ൞্ढ़ӳ NNEEIINN
υϝΠϯੳʢΦϒδΣΫτநग़ʣ
ZBIPPDPKQ
ܭࢉݩ௨՟ͷֹۚܭࢉݩ௨՟ͷछྨܭࢉઌ௨՟ͷछྨܭࢉઌ௨՟ͷֹۚ
ܭࢉݩ௨՟ͷֹۚܭࢉݩ௨՟ͷछྨܭࢉઌ௨՟ͷछྨܭࢉઌ௨՟ͷֹۚܭࢉݩ௨՟ ܭࢉઌ௨՟௨՟
௨՟0CKFDU
TJOHMF௨՟छྨֹۚTJOHMF௨՟छྨֹۚ௨՟0CKFDU7JFX
TJOHMF௨՟छྨֹۚTJOHMF௨՟छྨֹۚҝସϨʔτಉԽ௨՟0CKFDU7JFX$POUSPMMFS
ސ٬Ұཡ*%ࢯ໊ ྸ ॅॴ ిංྑҰ ԭೄݝ໊ޢࢢ 999ٶౡཅಸ ٶ࡚ݝԆԬࢢ 999த௩ത৴ ٶݝԕా܊༚୩ொ 999ඌਖ਼ ಢݝࠤࢢ 999ଟాٛҰ ߴݝߴԬ܊ࠤொ 999Ԭඒر ౡݝେপ܊ձඒཬொ 999ล৳ੜ ੩Ԭݝ੩ԬࢢॣՏ۠ 999ߴྤࡊ ࢁསݝதڊຎ܊তொ 999খদઍࠤࢠ ੴݝۚࢢ 999ؠ࡚ࢬ ౦ژߓ۠ 999ސ٬ৄࡉංྑҰࢯ໊*%υΠϦϣΠνϑϦΨφ999ిྸੜ݄˟ॅॴԭೄݝ໊ޢࢢେத 9େதΞύʔτ9ίϨΫγϣϯ γϯάϧϏϡʔͷछྨ
BQQMFDPN
৽نਃมߋਃղਃঝೝܖরձܖཧγεςϜ99999999999999 99999999999999 99999999999999 99999999999999 9999999ਃ Ұ࣌อଘਤ
ܖཧγεςϜ999999999999999999999 99999999999999 99999999999999 99999999999999৽نਃมߋਃղਃঝೝܖরձܖཧγεςϜ999999999999999999999 99999999999999 99999999999999 99999999999999ղਃ৽نਃมߋਃղਃঝೝܖরձܖཧγεςϜ99999999999999 99999999999999 99999999999999 99999999999999 9999999มߋ Ұ࣌อଘ৽نਃมߋਃղਃঝೝܖরձ৽نਃมߋਃղਃঝೝܖরձܖཧγεςϜ9999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 9999999ܖཧγεςϜ9999999999999999999999999999 99999999999999 99999999999999 99999999999999ঝೝ ඇঝೝ৽نਃมߋਃղਃঝೝܖরձ৽نਃมߋਃղਃঝೝܖরձܖཧγεςϜ9999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 9999999৽نਃมߋਃղਃঝೝܖরձܖཧγεςϜ9999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 9999999৽نਃมߋਃղਃঝೝܖরձ9999999 9999999ܖཧγεςϜ9999999 9999999ݕࡧܖཧγεςϜ9999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 99999999999999 9999999 9999999 9999999৽نਃมߋਃղਃঝೝܖরձ৽نਃมߋਃղਃঝೝܖরձ9999999 9999999ܖཧγεςϜ9999999 9999999ݕࡧ৽نਃมߋਃղਃঝೝܖরձ9999999 9999999ܖཧγεςϜ9999999 9999999ݕࡧ৽نਃมߋਃղਃঝೝܖরձܖཧγεςϜ99999999999999 99999999999999 99999999999999 99999999999999 9999999ਃ Ұ࣌อଘܖཧγεςϜͷը໘ϑϩʔਤ
ܖ0CKFDU
ܖDPMMFDUJPOʢϓϩύςΟʣཁঝೝϑϥά0CKFDU7JFXTJOHMFʢϓϩύςΟʣঝೝऀίϝϯτTJOHMFʢฤूϓϩύςΟʣ
ܖDPMMFDUJPOʢϓϩύςΟʣཁঝೝϑϥά0CKFDU7JFX$POUSPMMFSՃআநग़݅બঢ়ଶTJOHMFʢϓϩύςΟʣঝೝऀίϝϯτฤूը໘Λ։͘ղਃঝೝʗඇঝೝܾఆঝೝՄೳੑTJOHMFʢฤूϓϩύςΟʣҰ࣌อଘਃՃӾཡ ฤू
99999999999999 99999999999999 99999999999999999999999999999999999ਃΩϟϯηϧ Ұ࣌อଘ9999999ঝೝ ඇঝೝ99999999999999 99999999999999 99999999999999 99999999999999 9999999มߋղਃܖཧγεςϜݕࡧ৽ن9999999 99999999999999 99999999999999 99999999999999 99999999999999 99999999999999 99999999999999 99999999999999 99999999999999 99999999999999 99999999999999 99999999999999 99999999999999 99999999999999 9999999
.BOBCV6FOP %FTJHODPOTVMUBOU*OUFSBDUJPOEFTJHOFS*OUFSGBDFEFTJHOFS(SBQIJDEFTJHOFS6TBCJMJUZFOHJOFFS1SPHSBNNFS4PDJPNFEJB *OD!NBOBCVVFOP
.BOBCV6FOP *ONFNPSZPG"