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
君たちはどうプログラミングするか
Search
Hisateru Tanaka
November 26, 2023
Programming
12
1.7k
君たちはどうプログラミングするか
モデリングフォーラム2023の基調講演をさせていただいたときの発表資料です
https://umtp-japan.org/event-seminar/mf2023/13453
Hisateru Tanaka
November 26, 2023
Tweet
Share
More Decks by Hisateru Tanaka
See All by Hisateru Tanaka
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
tanakahisateru
1
120
哲学史とモデリング
tanakahisateru
4
680
オブジェクト指向宗教史
tanakahisateru
31
17k
ほげ言語にあってPHPにない機能
tanakahisateru
6
2.9k
デバッグ用ロガーの注入どうする?
tanakahisateru
2
570
アンドキュメンテッド ちょうぜつソフトウェア 設計入門 「オブジェクト指向に定義はない」のか?
tanakahisateru
25
9.4k
ちょうぜつ改め21世紀ふつうのソフトウェア設計
tanakahisateru
14
8.3k
まんがのかきかた
tanakahisateru
8
680
10秒で衝突するUUIDの作り方
tanakahisateru
40
40k
Other Decks in Programming
See All in Programming
CSC305 Lecture 26
javiergs
PRO
0
140
useSyncExternalStoreを使いまくる
ssssota
6
1k
Go の GC の不得意な部分を克服したい
taiyow
2
770
競技プログラミングへのお誘い@阪大BOOSTセミナー
kotamanegi
0
350
rails stats で紐解く ANDPAD のイマを支える技術たち
andpad
1
290
コンテナをたくさん詰め込んだシステムとランタイムの変化
makihiro
1
120
LLM Supervised Fine-tuningの理論と実践
datanalyticslabo
3
1k
プロダクトの品質に コミットする / Commit to Product Quality
pekepek
2
770
これが俺の”自分戦略” プロセスを楽しんでいこう! - Developers CAREER Boost 2024
niftycorp
PRO
0
190
Symfony Mapper Component
soyuka
2
730
42 best practices for Symfony, a decade later
tucksaun
1
180
HTTP compression in PHP and Symfony apps
dunglas
2
1.7k
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Unsuck your backbone
ammeep
669
57k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Into the Great Unknown - MozCon
thekraken
33
1.5k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Six Lessons from altMBA
skipperchong
27
3.5k
A better future with KSS
kneath
238
17k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Designing Experiences People Love
moore
138
23k
Facilitating Awesome Meetings
lara
50
6.1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
Transcript
܅ͨͪͲ͏ ϓϩάϥϛϯά͢Δ͔ ʙ࣌ͷมΘΓʹ͜Ε·ͰΛݟͭΊ͢ʙ https://www.bing.com/images/create/a-programming--shoebill-stork/65472dcd29434f64beed0a8972ec7f67? id=DfDgw%2bjQrrlnSAm5rl664g%3d%3d&view=detailv2&idpp=genimg&FORM=GCRIDP&mode=overlay
8)0".* ͡Ί·ͯ͠ͷօ͞ΜΑΖ͓͘͠ئ͍͠·͢ w Α͘1)1ίϛϡχςΟʹݱΕ·͢ w ࣗࣾαʔϏεͷ8FCγεςϜͷ໘ ΛઐଐͰݟΔࣄΛ͍ͬͯ·͢ɻ ͏গ͠Ͱ΄ͲʹͳΓ·͢ w 5XJUUFSͰίϚອը͡Ί·ͨ͠
w ʮͪΐ͏ͥͭιϑτΣΞઃܭೖ ʯஶऀͰ͢ !UBOBLBIJTBUFSV ాதͻͯ͞Δ ͪΐ͏ͥͭιϑτΣΞઃܭೖ ʕʕ1)1Ͱཧղ͢ΔΦϒδΣΫτࢦͷ׆༻ ాதͻͯ͞Δஶ *4#/
ΤϯδχΞֶ ͷମܥʹى͖͍ͯΔੈلͷύϥμΠϜɾγϑτʹ͍ͭͯ
ݱͷϓϩάϥϛϯά
ΫΠοΫιʔτ ʮج४QJWPUʯͱʮΓͷू߹SFTUʯΛߟ͑Δɻ SFTUΛʮະຬू߹MUʯͱʮҎ্ू߹HUFʯʹ͚ͨͱ͖ɺ ιʔτ͞ΕͨMUˠج४QJWPUˠιʔτ͞ΕͨHUF ʜͷॱʹฒΜͩϦετιʔτ͞Ε͍ͯΔͱݴ͑Δɻ
੩తܕɾܕਪɾࢀরಁաͳϦετɾ࠶ؼ ҎޙɺؔܕϓϩάϥϛϯάͷӨڹΛड͚ͯ ଟ͘ͷओྲྀݴޠʹಋೖ͞Ε͖͍ͯͯΔཁૉɻ
૯শܕɾϙϦϞʔϑΟζϜ 0SEFSJOH ൺֱΛ࣋ͭ ͳͳΒԿͰιʔτͰ͖Δɻ ܕͷਖ਼ମΛΒͳ͔ͯ͘·Θͳ͍͠ɺ ·ͩ͜ͷੈʹͳ͍ܕͷιʔτՄೳͱ͑͞ݴ͑Δɻ
🤔ॻ͘ͷΉ͔ͣͦ͠͏ʜ
͜ͷϓϩάϥϜΛॻ͍ͨͷ (JU)VC$PQJMPUPO*OUFMMJ+*%&" ͬͱΘ͔Γ͘͢͠Α͏ͱࢼߦࡨޡͨ͠ΜͰ͕͢ɺ ݁ہ࠷ॳʹఏࣔ͞ΕͨҊͱಉ͡هड़ʹམͪண͖·ͨ͠ɻ
࠷ޙʹ͜ͷΤϐιʔυΛৼΓ ฦΔͨΊʹɺࠓ͔ΒΊͬͪΌḪΓ·͢
શମͷྲྀΕ w γϟϊϯͷΤϯτϩϐʔɾϑϥΫλϧ ۙͷʮՊֶతʯࢥߟɾωΞϯσϧλʔϧਓ w ݪࢠɾଠཅܥɾੜ໋ɾΧΦεͷ ใγεςϜͷΞʔΩςΫνϟɾࣗసंϞσϧ w
νϡʔϦϯάɾϊΠϚϯɾνϣϜεΩʔɾϚοΧʔγʔɾέΠ ੜจ๏ɾϓϩάϥϛϯάݴޠ ʙ ࠶ߟ w ΦϒδΣΫτࢦʹܗࣜతఆ͕ٛʮͳ͍ʯͱ͍͏͜ͱ40-*% w ʮීวจ๏ମثʯͷӕɾώτͷݴޠੑ֫ಘͱ σΧϧτɾύεΧϧɾΧϯσΟϯεΩʔɾϝΠϠεʔ
Τϯτϩϐʔ ྗֶͷୈೋ๏ଇˠ౷ܭྗֶ
ཚࡶ͞ඞͣ૿େ͢Δ ίʔώʔͱϛϧΫͱණͲΜͲΜࠞ͟ΓɺݩʹΒͳ͍ ྗֶͷΈͳ͞Μ͕ ͕ͳͥΘΔ͔Λ ߟ͍͑ͯΔ͏ͪʹɺ ͦΕࢠͷཚࡶ͕͞ ૿େ͢Δ͜ͱͩͱ͍͏ આ໌ʹͳͬͨɻ
w ʮ௨৴ͷֶతཧʯ w ใྔΤϯτϩϐʔ w ੑͷ֓೦ຊ࣭తͳใྔ ͱཧతͳใྔͷࠩ w ୯ҐϏοτ Ϋϩʔυɾγϟϊϯ
ࣝ ൃ৴ ϝοηʔδ ݴޠԽ ࣝ ཧղ ϝοηʔδ ݴޠԽ ϊΠζ
ແବͳෳࡶ͞ ૹ࿏
ใྔΛϓϩάϥϜίʔυͰᄻ͑ͯݴ͏ͱ ใྔʮՄೳੑͷରͷׂ߹૯Λऔͬͨͷʯͬͯײ͡ print(“Hello, World.”) if hello: print(“Hello, World.”) else: print(“Goodbye.”)
ใྔϏοτ ใྔϏοτ MPHͭͶʹͳͷͰ 1JʮJʹͳΔ֬ʯ MPHͱ͢Δͱ ͕͜͜ରͳͷ͕ϙΠϯτ
if hello: print(“Hello, World.”) if foo and bar: print(“...") elif
baz: print(“...") else: print(“...") else: print(“Goodbye.”) if foo: if bar: print(“...") else: print(“...") else: Ϗοτ Τϯτϩϐʔͷ૿େ ຊ࣭తͳذ ͦΕͱͳ͚ͩ ͱʹ͔࣮͘ମͲΜͲΜෳࡶʹͳ͍ͬͯ͘
Ͳ͏͢Δ Τϯτϩϐʔͷ૯ྔඞͣ૿େ த৺తؔ৺ Τϯτϩϐʔ ܥͷ֎͍ग़ͪ͠Ό͑ ˠ૿େͯ͠Α͍ Τϯτϩϐʔ Τϯτϩϐʔ ͍ग़ͨ͢Ίʹ֎෦ͷΤωϧΪʔΛ
͏͜ͱ૯Τϯτϩϐʔͷ૿େʹ͋ͨΔ IUUQTXXXEBJLJODPKQTDIPPMDMBTTMFTTPO
Τϯτϩϐʔ͍ग़͠ํ๏͋Ε͜Ε w ؔΛઃ͚ΔˠৄࡉͷӅṭ w มؔΛ·ͱΊΔˠڽूɾ݁߹ ߏԽϓϩάϥϛϯά͕ΜΔ w ܕ੍ͱෆมੑˠՄೳੑΛߜΔ
ΤϯτϩϐʔԼ͛ʹΘΓͱޮ͘ ੍Λ୲อ͢Δݴޠͷಋೖ͕େ͖͍͚Ͳ w ͳͲɺߴڃݴޠͷػೳΛआΓͯ ͏·͘Ζ͏Ͷ டংˢ ΧΦεˢ ৫Խ ͱ͘ʹࣗͣͱܗʹͳ͍ͬͯ͘߹Λ ཧֶͰࣗݾ৫Խͱݴ͏ ྫ݁থ
.BU[ʮߴͳܕγεςϜΛ͑Δ ͚ͩͰɺϓϩάϥϜྑ͘ͳΒͳ ͍ɻຊ࣭͕େࣄɻಈతܕݴޠͷྑ͞ ɺͦΜͳݬ͕ͳ͍͜ͱͩʯ ͬ͘͟Γɺ͜Μͳײ͡ͷ͜ͱΛੲ͔Βڼͬͯͨɻ
ઌେ૽͗ʹͳͬͨ݅ IUUQTHJUIVCDPNIPUXJSFEUVSCPQVMM
ʜͬͯɺ͍ ͦ͏͍͏͜ͱ͡Όͳ͍Ͱ͠ΐ
൱ఆ͞Εͨͷ͋͘·Ͱɺతͳٕज़ ৴ڼʹΑΔߴڃԽɻແବͳίʔυͷΤϯ τϩϐʔ૿େɻ͔࣮ͤͬ͘ӹ͕͋ͬͨܕ ऍΛΘ͟Θ͟ফ͢ཧ༝ͳ͍ɻ
ਓؒͷ͙͢ݶք͕དྷΔ ϊΠζใྔΛݮΒ͢ิॿπʔϧͰ ΑΓຊ࣭ͷใྔΛೖΕΔۭ͖Λ૿ͦ͏
ωΞϯσϧλʔϧਓͷ༗ೳ͞ ࣗͷͷେ͖͞ʹґଘ͠ɺಓ۩ͷൃ໌Λҭͯͳ͔ͬͨϗϞ IUUQTKBXJLJQFEJBPSHXJLJωΞϯσϧλʔϧਓ #ZIBJSZNVTFVNNBUUDPNQBSJTPOPG/FBOEFSUIBMBOE.PEFSOIVNBOTLVMMT GSPNUIF$MFWFMBOE.VTFVNPG/BUVSBM)JTUPSZ$$#:4"
ωΞϯσϧλʔϧਓʮܕώϯτͳΜ͔ͳͯ͘ɺಈ ͔ͤӡ༻্OVMM͕ͳ͍ͱ͙͢Θ͔ΔΜ͔ͩΒɺԿ ͷͳ͍ͩΖɻಈ͚͍͍ΜͩΑʯ ݱੜਓྨʮϓϩάϥϜ͕େ͖͘ͳΔͱΘ͔Βͳ͘ͳ Δɻಈ͔͞ͳͯ͘ܕͰOVMM͕͋Γ͑ͳ͍ͱ͔ɺͦ ͏͍͏ͷΛද໌͍ͨ͠ʯ ͠ੴث࣌ʹίϯϐϡʔλʔ͕͋ͬͨΒ
IUUQTNFEJVNDPNHSBQIDPNNPOTBOBMZ[JOHUIFOQNEFQFOEFODZOFUXPSLFDGDEE OPEF@NPEVMFT͙͢Θ͔Δʜͩͱ
ෳࡶܥ ྺ࢙͕͋Δ͔ͳ͍͔ͷ৽ֶ͍͠
ܭࢉΛΑΓ͘ਖ਼֬ʹ͢Δಓ۩ ˣ ਓؒʹෆՄೳͳܭࢉྔΛΔಓ۩ ͜ΕͰಘΒΕͨੈلҎޙͷൃ ίϯϐϡʔλʔֶ͕ज़ݚڀͷيಓΛม͑ͨ
Ϛϯσϧϒϩू߹
Dͣͬͱ D ʜൃࢄ D
ʜ॥ Dʹऩଋ DK KͱKΛަޓʹ॥
D KҰ؏ੑ͕શ͘ͳ͘ɺ͕ͯͲ͔͜ඈΜͰ͍͘ K K K
K K K K K K K K K K K K K K K K K K K K K K K K K K K K K D KҰ؏ੑ͕ͳ͍Α͏ʹݟ͑ͨͷʹɺ܁Γฦ͍ͯ͠ Δͱ࣍ͷΛ௨ΔपظؔʹͳΔ K K K K K K K K K ·͞ʹΧΦε
ൃࢄ͠ͳ͍ˠࠇ ͲΕ͚ͩૣ͘ൃࢄ͢Δ͔ˠ৭ ֦େ ֦େ ֦େ
ϑϥΫλϧ ແݶʹ࠶ؼ͢ΔΑ͏ͳࣗݾ૬ࣅߏ ΧΦε͔Β͜ͷΑ͏ͳடং ҙຯ ͕ൃੜ͢Δ͜ͱʜ
ΧΦεͷԑ ͱ໊͚ΒΕͨ
'PSNαϯλϑΣݚڀॴ w ΫϦετϑΝʔɾϥϯάτϯ w ηϧɾΦʔτϚτϯͷݚڀ w ൴ͷͷൃݟʹ༝དྷ w ενϡΞʔτɾΧϑϚϯ w
ੜ໋ͷىݯɾਐԽΛߟͨ͠ w ੜ໋ΧΦεͷԑʹ͓͚Δࣗݾ ৫Խͩͱදݱͨ͠ ਓੜ໋
ͭ·ΓϥΠϑήʔϜ ܭࢉػՊֶऀͷ༡ͼ ˠຊؾग़ͨ͠ΒϚδͩͬͨ ࢲͨͪݚڀऀͰ ͳ͍͚ΕͲɺ ͔͜͜ΒಘΒΕΔ ڭ܇ͱͯ͠ʜ
΄Μͷͪΐͬͱͨ͠ҧ͍͕ ΧΦεʹൃࢄͨ͠ΓடংʹͳͬͨΓ͢Δ ˣ ݱϓϩάϥϛϯάͷෳࡶ͞ ΧΦεͷԑʹଘࡏ͢Δ
ιϑτΣΞ ʜΛΧΦεͷԑͷࢹͰߟ͑Δ
ΫϦʔϯΞʔΩςΫνϟ ΑΓڧ͍த৺Ձ͕पғͷߏΛݗҾ͢Δ ❌ಛผͳٕ๏ ⭕ภࡏ͢Δಛ த৺ͷϞσϧ Τϯτϩϐʔগ ݱ࣮ͷෳࡶ͞Λ֎ʹ ͍ग़͍ͯ͠Δ ֎ԑ෦ͷٕज़ Τϯτϩϐʔଟ
େͳϥΠϒϥϦͷ શѲͰ͖ͳ͞
߃ܥͷΞʔΩςΫνϟ ͜͜Կे͔ͷ؍ଌͰݟ͖͑ͯͨଠཅܥͷ࢟
ଠཅܥ͓͠Ζࡶֶ w ଠཅόεέοτϘʔϧ͙Β͍ͩͱ͢Δͱ NΕͨͱ͜Ζʹ͋Δϐϯϙϯۄ ΧΠύʔϕϧτͷԿඦͷ४܈LNΕͨ## w ෆࣗવͳҐஔʹ͋ΔఱମʮέϨεʯ
ΧΠύʔϕϧτʹ͋ΔΑ͏ͳ४Ͳ͖͕ɺͳ͔ͥͷखલͷখଳʹ͋Δ ͓ͦΒ͘தʹେྔͷਫΛ࣋ͭණͷఱମ ້ԦͳͲʹࣅ͍ͯΔ w ͦΕݴ͏ͳΒٿΑਫͷΑ͏ͳ͍࣭ܰॳظʹͬ͞͞ͱਧ͖ඈ͞Εɺ ΄ͱΜͲ͕ఱԦɾւԦΑΓ֎ʹଘࡏ͢Δͣʜ εϊʔϥΠϯͷଆͰӷମͷਫΛอ࣋͢ΔɺෆࣗવͳఱମͳΜͰ͢
$"ͱଠཅܥΛൺͯΈΔͱ w ߃ͱˠͱӴ ΫϦʔϯΞʔΩςΫνϟ࠶ؼ͢Δ͔͠Εͳ͍ ͪΐ͏ͥͭຊ w ·Εʹଞͷ߃ܥͱͷ૬ޓ࡞༻͕ى͖Δ͜ͱʜ
ΫϦʔϯΞʔΩςΫνϟͯ͢ͷத৺Ͱͳ͘ɺ ֎෦ʹ͋ΔιϑτΣΞ·ͨಠࣗͷΞʔΩςΫνϟΛ࣋ͭ ͪΐ͏ͥͭຊ w ॳظখരܸݱࡏΦʔϧτͷӢʹಧ͘ክͷପԁيಓ ֎ԑ෦ͷৼΔ͍͕෦ʹ࣮࣭తͳՁΛੜΉ ٿͷਫͲ͔͜Β ݟ͑ͳ͍͙Β͍ԕ͘ʹ͋Δͷ͕ɺ෦ʹ༗ҙٛͳมԽΛͨΒ͢ ґଘͷ͖
w ݪࢠ֩ͷେ͖͞ͱిࢠͷيಓɺଠཅͱ ͷيಓ͙Β͍ͷαΠζײ w ֩༥߹ˠཅࢠͱதੑࢠͷҐஔؔݻఆ ˠத৺ΤϯτϩϐʔݮগˠΘΓʹ େͳΤωϧΪʔΛ์ग़ w ࣗ༝ӡಈͷΤϯτϩϐʔΛୣΘΕΔͱˠ ݪࢠࢠʹͳΔˠࢠిՙͰ݁߹
Τϯτϩϐʔݮগ ΤϯτϩϐʔͱϑϥΫλϧͷ؍Ͱ ݟͨͱ͖ͷݪࢠͱͷ૬ࣅੑ
2ੈքॳͷσδλϧϝϞϦʔ Կલʹ࡞ΒΕͨͰ͠ΐ͏͔ ώϯτΞσχϯνϛϯάΞχϯγτγϯ
%/"ཐટσδλϧσʔλ w छྨϖΞͷࢠͷΈ w ηοτϫʔυͷίυϯ୯Ґ ͰN3/"ʹഔհ͞ΕΔػցޠ w ਓؒͷήϊϜຊͰɺใྔ .#΄Ͳ w
࣮ݘͷ΄͏͕ຊ͕ଟ͘ɺഏ ڕώτͷഒҎ্ "ԯલ
ͬ͟ͱ(#લޙͷσʔλʹ ϝμΧͱਓؒͷҧ͍͕શʹهड़͞Ε͍ͯΔ νϯύϯδʔͱਓؒಉ͡ྻ ੜֶతʹਓ͕ؒਓؒͩͱݴ͏ͨΊͷใྔ.#ͪΐ͍
ෳࡶܥͷࢹͰߟ͑Δͱʜ ࣗવքΞφϩάෆ֬ఆੑݪཧ ܭࢉػσδλϧશʹԋ៷త ͱ͍͏ʮۙతʯͳ؍೦ɺ$%30.࣌Ͱ͢Ͱʹٯస͠ ͍ͯΔͱݴ͍͍ͬͯͷͰ ·ͯ͠Πϯλʔωοτʜ
ιϑτ։ൃͦΕ͙Β͍ະ ͷઓ
ݱιϑτΣΞେͳΧΦεͷԑʹੜ·ΕΔ ͱݴΘ͟ΔΛ͑ͳ͍͕ʜ டং͕໌Β͔ͳྖҬΛ࣮֬ʹ͓͔ͬͯͳ͍ͱɺ ΧΦεͷԑ͔ΒΛ౿Έ֎ͧ͢
ͨͱ͑ύοέʔδͷݪଇ w ϥΠϒϥϦ͔ͯ͠Β͍ͳ͍͞ w ͳͷͰɺ͏·͚͘ͳ͍͞ w ·ͨɺ͏·͘·ͱΊͳ͍͞ w ґଘͷ͖ʹؾΛ͚ͭͳ͍͞ ॥ґଘ֎Ͱ͢
w ʮมߋͷগͳ͍ํ҆ఆʯʹ͖ͳ͍͞ w ҆ఆͱ͍͏ͷɺमਖ਼͖͢ࣄΛ͋·Γ࣋ͨͳ͍͜ͱͰ͢
ΞʔΩςΫνϟઃܭͷՌ͍ͨͯ͠Δ ઃܭͱࣗసंͷ྆ྠͷΑ͏ͳͷ υϝΠϯϞσϧ গ͖ͮͭ͠Λม͑ΒΕΔ ΞʔΩςΫνϟ ࣗసंલʹਐΉ͔ΒΕͳ͍ ΠςϨʔγϣϯ υϝΠϯ ސ٬͕ຊʹཉ͔ͬͨ͠ͷ ͜ͷຊͷதͰ͕ࣗ
͖ͳӅΕϫʔυ ʮࣗసंͷ྆ྠʯ ͜͜Λઆ໌͢ΔຊͬͯҙຯͰ ʮιϑτΣΞઃܭೖʯ
ϓϩάϥϛϯά ݴޠͱ ΞʔΩςΫνϟͷ࠷ԼΛࢧ͑Δཧͷྺ࢙
w ཧ্ͷܭࢉػϞσϧ νϡʔϦϯάϚγϯ w ໋ྩͷྻΛಡΈऔΔϙΠϯλΛ ಈ͔͢ΞΠσΞͷݩ w ࣗΛ฿Ͱ͖ΔܭࢉϞσϧ νϡʔϦϯάશ w
ਓೳͱνϡʔϦϯάςετ ΞϥϯɾνϡʔϦϯά
w ਆͱѱຐͱݺΕͨఱ࠽ w ͝Ζɺిؾࣜͷܭࢉػ ʹʮιϑτΣΞʯΛͨΒ͠ ͨਓʑͷද w ϊΠϚϯܕܭࢉػػցޠ ݩʮ໋ྩͱσʔλ͕ಉ͡ϝϞϦۭؒʹ
͋ΔλΠϓʯͷҙຯ w ݱࡏͷ$16ϊΠϚϯܕ ϑΥϯɾϊΠϚϯ
w ݴޠֶऀ w ʮੜจ๏ʯͰݴޠֶͷ ֵ໋ࣇʹ w ͋ΒΏΔݴޠදతͰɺ୯ޠͷ ฒͼͷنଇʹΑֶͬͯతʹϞσ ϧԽͰ͖Δͱߟ͑ͨ w
νϣϜεΩʔ֊ɺܗࣜݴޠʹ େ͖ͳӨڹΛͨΒͨ͠ ϊʔϜɾνϣϜεΩʔ
IUUQULVDFOUFSCMPHTQPUDPNCMPHQPTUIUNM
νϣϜεΩʔ֊ w จ๏ͳ͠ ޠኮͷฒͼॱҙνϡʔϦϯάϚγϯϊΠϚϯܕͷػցޠ w จ຺ґଘจ๏ औΓಘΔޠኮͷॱংΛཏ͢Δจ๏ ͋·Γ͍ಓͳ͍
w จ຺ࣗ༝จ๏ ߏతͳΈ͕͑ՄೳͰɺ͔͠ແݶ࠶ؼߏΛ࣋ͭ ˠϓϩάϥϛϯάݴޠͷఆٛʹ׆༻͞Εͨ w ਖ਼نจ๏ ࠶ؼ͕༗ݶͰࣗવݴޠͱͯ͠ݱ࣮తˠͦͷ··ਖ਼نදݱͱͯ͠ݱଘ
"-(0- ʙ w νϣϜεΩʔͷΞΠσΞʹӨڹΛड͚ͨ࠷ॳͷݴޠ w '0353"/ͷδϣϯɾόοΧε w όʔδϣϯʹՃΘͬͨϐʔλʔɾφΞ w จ຺ࣗ༝จ๏ʹόοΧεɾφΞه๏
#/' ΛఆΊͯ։ൃ w ैདྷͱҟͳΓɺઌʹϋʔυΣΞதཱͳจ๏ઃܭΛஔ͍ͨݴޠ w ޙͷଟ͘ͷϓϩάϥϛϯάݴޠͷ࢝ͱͳͬͨ
ػցޠ໋ྩʹϚοϓ͞ΕΔ෮ͱذ FOR i FROM 1 TO 100 DO IF i
MOD 15 = 0 THEN printf (( $ "FizzBuzz" l $ )) ELIF i MOD 3 = 0 THEN printf (( $ "Fizz" l $ )) ELIF i MOD 5 = 0 THEN printf (( $ "Buzz" l $ )) ELSE printf (( $ n(width(i))d l$, i )) FI OD
ීวจ๏ʹ͍ͭͯ w νϣϜεΩʔޙҎ্ʹΘͨͬͯɺʮਓؒʹͷΈݴޠೳྗ͕͋Δͷ ͳ͔ͥʯΛߟ͍͑ͯͨ w ਓؒͷʹઌఱతʹɺݴޠॲཧγεςϜʮීวจ๏ʯ͕Έࠐ·Ε͍ͯΔͷ Ͱͳ͍͔ ͜Εࣗମͷਖ਼ޡޙͷٞʹճ͢ͱͯ͠ʜ w
"-(0-ͱͦͷࢠଙʹͱͬͯීวจ๏ͱ ϊΠϚϯܕܭࢉػ νϡʔϦϯάϚγϯ ͷϞσϧ w ͔ͨ͠ʹ৬ۀϓϩάϥϚʔͷೝʹਂ͘ಥ͖͍ͬͯ͞Δ
-*41 ʙ ެ։͝Ζ w δϣϯɾϚοΧʔγʔʹΑΔνϣϜεΩʔͷผղ w ΧοίͱࣜͷϦετҎ֎ɺԿͳ͍ۃͳจ຺ࣗ༝จ๏ w ࠷େͷಛϊΠϚϯܕͷܭࢉϞσϧΛهड़͠ͳ͍͜ͱ w
-*41ͷීวจ๏ઢܗϦετϥϜμܭࢉ w ͕ɺ͜Ε·ͨສೳνϡʔϦϯάϚγϯͷͻͱͭ ໋ྩྻͷϙΠϯλҠಈ͚ͩ͡Όͳ͍
ߏจΛ໌ࣔతͳΧοίͰද͢จ๏ ໘ͳจ๏نଇͷ༷͕࠷খͰࡁΉ (map (lambda (n) (cond ((= (remainder n 15)
0) "FizzBuzz") ((= (remainder n 3) 0) "Fizz") ((= (remainder n 5) 0) "Buzz") (else (number->string n)) )) (iota 100 1)) (+ 1 2) + 1 2 + 1 * 3 4 (+ 1 (* 3 4))
ීวจ๏͕ҟͳΔܥྻ ΠϧΧڕྨ͡Όͳ͍Μͩ -*41 "-(0- 42- .- 1SPMPH 4NBMMUBML 1BTDBM "EB
$ 4JNVMB 3VCZ )BTLFMM $ 3VTU (P એݴܕ ໋ྩܕ $0#0- '0353"/
ඞͣ͠"-(0-͕ԦಓͰͳ͍Α w ʙශऑͩͬͨྔ࢈ίϯϐϡʔλͱ$ݴޠͷίϯϏ͕େޭ w ϓϩάϥϛϯάʹʮϑϩʔνϟʔτ͢͝Ζ͘ʯʮมೖΕʯͱ͍ͬͨΠ ϝʔδ͕ઌʹఆணͨ͠ $0#0-'0353"/ͦ͏ͩ͠ w νϡʔϦϯάϚγϯ͚͕ͩνϡʔϦϯάશͳܭࢉػͳΘ͚Ͱͳ͍
w ϊΠϚϯηϧɾΦʔτϚτϯ ϥΠϑήʔϜͷݩ Λߟ͑ͨਓؒͰ͋Δ w ϥΠϑήʔϜͰ͑͞ ͔ͨ͠ʹ νϡʔϦϯάશͩͱূ໌͞Εͨ
͜Ε͕ ʮϓϩάϥϛϯάݴޠͳΜͯɺ ͻͱ֮ͭ͑ͨΒଞࣅͨΑ͏ͳΜ͞ʯ ʜͱݴ͑Δ͔ݴ͑ͳ͍͔ͷ͑
͋͞ʜ໘ͳͱ͜Ζʹߦ͖·͠ΐ͏͔ ྺ࢙ͷࣄ࣮ͱଟͷೝ͕ࣝ৯͍ҧ͏ྖҬ 4NBMMUBML 4JNVMB $ $
w ʮΦϒδΣΫτࢦʯͷ໋໊ऀ w 4NBMMUBMLʙ w ܭࢉػՊֶऀͷͨΊͷܭࢉػͰ ͳ͍ɺͱ͍͏ίϯηϓτ w "QQMF͕ੈքॳͷύιίϯΛ࡞Δ લʹʮ୭͕൘ঢ়ͷίϯϐϡʔλ
ʔΛͬͯ׆ಈΛ͢Δʯߏ Λඳ͍ͨ ΞϥϯɾέΠ
w όϕοδͷղੳػؔͷύϯνΧʔυ ΛଧͬͨʮੈքॳͷϓϩάϥϚʔʯ w ϓϩάϥϛϯάݴޠ"EBͷݩωλ w ੈلʹະདྷͷίϯϐϡʔλʔͷ ՄೳੑΛࣔࠦ w ʮྫ͑ԻָཧΛͰදͤɺ
ղੳػؔͷܭࢉྗܳज़Մೳʹ͢ ΔͰ͠ΐ͏ʯ ΤΠμɾϥϒϨε
έΠͷΦϒδΣΫτࢦ w 4NBMMUBMLʮ։ൃڥ࣮ߦڥʯͷ(6* w ಈతܕɾԆଋറˡ͜͜ॏཁ ͯ͢ͷม࣮ߦ࣌·Ͱ࣮ମ͕ԿʹͳΔ͔Θ͔Βͳ͍ w ܭըతίʔσΟϯά͔ΒͷҰൃޭͳΓํΛ൱ఆ
ˠΠϯλϥΫςΟϒͳ*%&Ͱͷࢼߦࡨޡ ͳ͓ w 0CKFDUJWF$ʹܧঝˠʮ$ͷ··ʯͱʮ4NBMMUBMLͦͬ͘ΓʯͷΩϝϥ ˠ"QQMFͱ/F95ͷ(6*Ͱ׆༂ˠ (P'σβΠϯύλʔϯ
ϝοηʔδϯά ͦΕ͕4NBMMUBMLͷීวจ๏ yesOrNo ifTrue: [ Transcript show: ‘Yes’; cr. ]
ifFalse:[ Transcript show: ‘No’; cr. ]. #PPMFBOTVCDMBTT5SVF JG5SVFUSVF#MPDLJG'BMTFGBMTF#MPDL ?USVF#MPDLWBMVF #PPMFBOTVCDMBTT'BMTF JG5SVFUSVF#MPDLJG'BMTFGBMTF#MPDL ?GBMTF#MPDLWBMVF USVF#MPDL͚ͩධՁ͢Δ GBMTF#MPDL͚ͩධՁ͢Δ ͕ͯ͢ʮΦϒδΣΫτϝοηʔδʜʯͷཧ۶Ͱಈ͘ɻ ͳΜͱɺஞ࣍ॲཧͳͷʹ*'ߏจ8)*-&ߏจͳ͍
ZFT0S/P͞Μ ͱࢲ͕ݺͿͲͳ͔ͨ ͋ͳ͕ͨͲ͜ͷ୭ͳͷ͔ଘ্͛͡·ͤΜ͕ɺ ͦΕͰࢲ͋ͳͨʹJG5SVFJG'BMTFΛ͑·͢ɻ Ͳ͔͜ͷҟࠃͰɺͲ͏ͧ͜ͷҙਤΛड͚औ͍ͬͯͩ͘͞ɻ ϝοηʔδݴޠͱࣝͷ࣮ମԽ w શͯͷΦϒδΣΫτૄ݁߹ͩɺͱ͍͏ൃ w
খ͞ͳ୯ҐࣝʹΑΔ࠶ؼతͳωοτϫʔΫ w ϝϞϦ্ͷੜσʔλػցޠ໋ྩͷม શʹӅṭ͞ΕΔ ҙ͖ࣝ͢Ͱͳ͍
ͯ͢ϓϩτίϧͷઌͰى͖Δ ϙϦϞʔϑΟζϜ ΞϥϯɾέΠʮσʔλѱ͍ΞΠσΞʯ
͕ʜͦͷ໊લʮΦϒδΣΫτࢦʯ౪·Εͨ ͳͥ4JNVMBˠ$ ىݯͱ͍͏ӕΛ৴͡Δफ͕ੜ·Εͨͷ͔ 4JNVMB 4NBMMUBML $1- #$1- $ݴޠʙ ,3 $XJUI$MBTTFT
001Ͱͳ͍ $ ʙ Ԇଋറ ˣ 001Մೳ ΦϒδΣΫτࢦ "-(0- -*41 ϝοηʔδϯάͷώϯτ
w ʮ0014JNVMBىݯͷ$ +BWBͷΑ͏ͳͷʯͱ͍͏ҹΛ ͔ࠜͤͨுຊਓ w &J ff FMʙΦϒδΣΫτΛʮந σʔλܕͷܥࢠଙʯʹҐஔͮ
͚ɺ੩తܕͷܧঝΛΘΓͱॏࢹ έ Π.BU[ͱͷܾఆతҧ͍ w ѱ͘ͳ͍Μ͚ͩͲɺผ֓೦ͷͱ ͜Ζ໊લΛม͑Ζ όʔτϥϯυɾϝΠϠʔ
ʮݴޠʹΦϒδΣΫτͱ͍͏จ๏͕ ͋Δ͔Βͱ͍ͬͯɺΦϒδΣΫτࢦ ͩͱݴ͑ΔΘ͚Ͱͳ͍ʯ ʜͣͩͬͨͷ͕ແ͠
ಉ໊͡લΛ࣋ͭόϥόϥͳϞϊ ͜ΕΒͷશͯΛ؏͘ຊ࣭͕ඇৗʹΘ͔Γʹ͘͘ʜ
ʮΦϒδΣΫτࢦफڭ࢙ʯ ৄ͘͠དྷ·ͨ͠·͢
ΦϒδΣΫτࢦʹ ୯Ұͷఆٛͳ͍ ڞ௨͢ΔจԽతՁԿͳͷ͔
40-*%͔Βͷֶͼ ੈلɺफڭઓ૪ऴ݁ͷ
ʮ40-*%ͳΜͯͩ͘ΒΜʯ ͳͥཧղ͞Εʹ͍͘ͷ͔
ωʔϛϯάηϯε͕ͻͲ͍ ͜ͷॱͰͻͱͭͷҙຯΛཧղ͢Δͷࠔ ฒͼॱͷཧ༝ϚʔνϯɾϑΝϥʔ͕ʮൃԻ͍͢͠ʯͬͯݴͬͨ
%* 40 - ͜ͷॱʹ͢Δͱɺͻͱͭͷ֓೦͕ݟ͑ͯ͘Δ
%*1ґଘੑٯసݪଇ ଟଶੑશͳந4NBMMUBMLͷ5SVF'BMTF͋Δ͍Πψωί ❌ αϒϞδϡʔϧ ੍ޚ ґଘ ओϞδϡʔϧ ओϞδϡʔϧˠ҆ఆ αϒϞδϡʔϧˠࠩ͠ସ͑Մೳ ݘ
ೣ ʜͦͷଞҙͷಈͰ͔·Θͳ͍
*41ΠϯλʔϑΣʔεݪଇ ෦ܕͷґଘ4NBMMUBMLͷϓϩτίϧ͋Δ͍Ξώϧͷܕ ػೳ" ػೳ# ྫࠩΛऔΕΔ ྫൺֱͰ͖Δ ࣮ ϕΫτϧ จࣈྻ ػೳ"
ػೳ# ΄͔୯ମςετͷϞοΫ ػೳ"#ͱ҆ఆͷ··
431୯Ұݪଇ ͻͱͭͷ͜ͱΛ͏·͘ΕͦΕຊʹશͳಠཱੑ͋Δʁ w ϞδϡʔϧΛͻͱͭަ͢Δ͚ͩͰ͍͍ w ༨ܭͳͷΛؚΜͰ͍ΔͱແؔͳมߋӨڹ͕ग़Δ w ेͳػೳΛؚΜͰ͍ͳ͍ͱ͋ͪͪ͜ަ͠ͳ͍ͱ͍͚ͳ͍ w ͨͩ͠ɺߏԽɾػೳղͱ͍͏நԽͰશʹಠཱͨ͠୯ମʹͳΒͳ͍
w ্ҐͷϞδϡʔϧ͕ԼҐͷϞδϡʔϧͷมߋӨڹΛड͚Δ͔Β w ͳͷͰɺ431ʹͱͬͯ%*1ͱ*41ʹΑΔશͳநԽෆՄܽ
0$1։์ดݪଇ ֦ுʹରͯ͠Φʔϓϯɺมߋʹରͯ͠Ϋϩʔζυ w ʮͲ͜ͰίʔυΛมߋ͘͢͢͠Δʯͱ͍͏҆͞ɺ͍ͭͲ͕͜յΕΔ ͔Θ͔Βͳ͘͢Δɻ҆ఆͨ͠ϞδϡʔϧΛ͍͔ʹॻ͖͑ͳ͍͔͕େࣄͩɻ w ཁॴཁॴ͕શͳ431 %*1*41Λલఏʹ Λຬͨ͢ઃܭʹͯ͋͠Εɺ͍ͭ ͰͲ͜Ͱɺ֦ுόʔδϣϯͱͷަͷํͰ͍͚ΔɻΦʔϓϯ
w ަ෦ͷपғʹ͔͠มԽ͕ى͖ͳ͍ ҆શʹ֦ுͰ͖Δ ҆৺͕ɺϓϩδΣ ΫτΛ݈શʹ͢ΔΑɻ w ͜ΕͳΜͱɺϝΠϠʔ͕༩͑ͯ͘Εͨڭ܇
-41Ϧείϑͷஔݪଇ ։์ดݪଇΛຬͨͨ͢Ίͷݫີͳඞཁ݅ w ΠϯλʔϑΣʔε͕୲อ͢Δͱͨ͠ࣄલ݅ΛڱΊΔ࣮Λ͍͚ͯ͠ͳ͍ɻ w ྫܻ·ͰͷΛೖྗͰ͖·͢ˠܻ͡Όͳ͍ͱյΕΔ࣮μϝ w ΠϯλʔϑΣʔε͕୲อ͢Δͱͨ͠ࣄޙ݅ΛΊΔ࣮Λ͍͚ͯ͠ͳ͍ɻ w ྫඞͣਅِΛฦ͠·͢ˠCPPMcOVMMΛฦ͢ͱड͚औΓଆ͕յΕΔͧ
w ͜ͷͪΐͬͱҟ৭ͳݪଇͷ༝དྷͳΜͱɺৼΔ͍நσʔλܕͷݚڀऀό ʔόϥɾϦείϑઌੜσʔλѱ͍ΞΠσΞ͔Γ͡Όͳ͍Ͷɻ
Φʔϓϯ Ϋϩʔζυ ࣄલ݅ ࣄޙ݅ ࣄલ݅ ࣄޙ݅ ୯Ұ ަՄೳ ੍ޚ ґଘ
ԼҐͷ֦ுੑ ্Ґͷ҆ఆੑ ࣮ͷ Ԇଋറ ˠ%*
फڭઓ૪ͷฏతղܾ
͜ΕΛɺͲͷݴޠͷͲͷػೳʹରԠ͢Δ͔Ͱ ߟ͑ͩ͢ͱɺઈରʹࠓͷ001ͷ࢟ݟ͑ͯ ͖·ͤΜɻܗࣜతͳఆٛෆՄೳͳΜͰ͢ɻ
͘ΒͯΈΔͱ ੩తܕ੍ɾࢀরಁաੑ ಉҰ֊ͰͷతͳΤϯτϩϐʔ੍ ΦϒδΣΫτࢦ จԽ ݪࢠˠࢠͷΑ͏ͳɺΤϯτϩϐʔ͍ग़͠ͷߏʹ͓͚ΔҰ ൠύλʔϯ㲈ϑϥΫλϧͷཁૉ ͏ʔΜʜΤϯτϩϐʔΛԣʹҰͰಀ͕͔͢ɺॎʹ࠶ؼతʹಀ
͕͔͢ɺΈ͍ͨͳΠϝʔδ
ΧΦεͷԑ ݱ࣮ʹʹݟ͑ΔΑ͏ʹͳ͖ͬͯͨ
ීวจ๏Λऴ͑ͨ w ීวจ๏ͷΞΠσΞ੯͔͕ͬͨ͠ɺ લͷݹ͍ΞΠσΞ w νϣϜεΩʔಥવҨࢠʹΈࠐ·Εͨʮମث ʯͩͱ͚݁ͮͨ ֶۙͷԆൃ w
ੜֶతʹߟ͑ͯͪΐͬͱ͋Γ͑ͳ͍ w ͷՊֶతͳݚڀͷੵΈॏͶˠݴޠೳྗݱࡏ ʮޙఱతʹߏங͞ΕΔͷʯͱߟ͑ΒΕ͍ͯΔ ൃചͷॻ੶
ݴޠίϛϡχέʔγϣϯΛ௨ͯ֫͡ಘ͞ΕΔ w ͡Ί͔Βશͳීวจ๏ஔ͕ʹ͋ΔˠͦΜͳͷͳ͍ w ͍ͯ͠ݴ͑ɺ൚༻ϋʔυΣΞʮʯͷɺετϦʔϛϯάใॲཧͷੑೳ w ώτจΛߏతʹύʔε͢ΔͷͰͳ͘ɺ࣍ʑͱͬͯ͘ΔԻૉه߸Λν ϟϯΩϯά͠ɺਖ਼֬ͳใΛࣺͯͳ͕Βɺ૯߹తʹҙຯੈքΛ࡞͍ͬͯΔ w ίϛϡχέʔγϣϯΛ௨ͯ͡ɺޓ͍ͷϓϩτίϧΛ߹ΘֶͤͯΜͰ͍͘
w ΧΦεͷԑ͔ΒͷιϑτΣΞΤϛϡϨʔγϣϯͰɺීวจ๏͕͋Δͱࢥ͑ͯ ͠·͏΄Ͳڧྗͳʮݴޠʯ͕ɺੈքதͰಉ࣌ଟൃతʹੜΈग़͞Εͨ໘ന͞
νϣϜεΩʔ۪͔ͩͬͨͷ͔ w ʙͷੈքʹෳࡶܥͷ֓೦ͳ͔ͬͨɻ w ͨͬͨҰਓͰैདྷͷݴޠֶΛ෴ͨ͠ύϫϑϧ͞ͷ͍͢͝ɻ w ࢲ͕ͨͪݱͷϓϩάϥϛϯάݴޠΛ͑Δͷɺੜจ๏ͷཧͱීวจ ๏֓೦ͷ͓͔͛ɻ w ͍ͬ͡͞ɺීวจ๏ΛԾఆ͢Δ͜ͱɺ"-(0-ͱ-*41ͱ4NBMMUBMLͷҧ͍
Λઆ໌͢Δͷʹศརͩͬͨɻ
w ੈلۙੈֶͷʹֶͯ͠ ऀɾཧֶऀ w ʮզࢥ͏Ώ͑ʹզ͋Γʯ w ަ࠲ඪܥͷߟҊ w ʮڏʯΛ໋໊ͨ͠ ϧωɾσΧϧτ
σΧϧτ۪͔ऀ͔ͩͬͨ w ʮզ͋ΓʯΛ࡞ͬͨਆ͕͍Δͣɺͱ͍͏҆қͳਆͷଘࡏূ໌ɺύεΧϧͱ Χϯτʹ൷͞Εͨˠ࣮ଘओٛˠ།ʜ w ަ࠲ඪܥͱڏΛ࡞ͬͨʹ͔͔ΘΒͣɺෳૉฏ໘ͷʮճసʯΛൃݟ͢Δ͜ ͱͳ͔ͬͨɻΨεͷൃݟͱΦΠϥʔͷ׆༂Λͭ͜ͱʹͳͬͨɻ w ཧݱ࣭ͷ৮ͩͱߟ͑ͨɻԻͷୡۭؾͷৼಈͰઆ໌Ͱ͖Δ͕ɺ ΨϦϨΦͷࣗ༝མԼΛઆ໌Ͱ͖ͣɺʮΤʔςϧ͕͋ΔʯͱݴͬͨɻΤʔςϧ
ޙɺχϡʔτϯͷສ༗ҾྗʹΑͬͯશʹ൱ఆ͞Εͨɻ
ਓྨͷࣝ·ͨɺਖ਼͔ͬͨ͠Γؒҧͬ ͍ͯͨΓΛ܁Γฦ͠ͳ͕Βҭ͍ͬͯΔ
ɺχϡʔϥϧωοτܥ"*ͷ࣮༻Խ ˠࢲ͍ͨͪ·ʮΧΦεͷԑ͔Βੜ·Ε Δடংʯͷ۩ݱԽΛͷͨΓʹ͍ͯ͠Δ
͜͏͍͏ͷ͋Γ͕ͪͰ͚͢Ͳɺ Ͳ͏Ͱ͔͢ ͋ɺ͡Ό͋࣍͜͏Ͱ͢ ख͠
ීวతʹਖ਼͍͠ݴޠͳ͍ ݴޠίϛϡχέʔγϣϯͰҭͭ
"*ίʔσΟϯάҎલ w ͋Ε ϦΞϧλΠϜͳϑΟʔυόοΫΛ׆͔͢ϓϩάϥϛϯάͬͯɺ͜Ε·Ͱʹͳ ͔͚ͬͨͬ w *%&ͱରܕγΣϧ ˠ4NBMMUBMLҎޙΘΓͱҰൠతʹʜ w
.BDSPNFEJB%JSFDUPS 4DSBUDI #MFOEFS w *OUFMMJ+ͷ੩తղੳͳΜͯ"*ฒΈɺͱ͍͏͔"*ͱิؔʹ͋Δ͙Β͍ w 5%%ͷαΠΫϧ ˠ46OJU +6OJUʜ w ʮॻ͍ͨΒͦͷͰ͙͢୯࣮ߦʯ͏વͷΓํ
w 4NBMMUBMLͰ46OJUΛ։ൃ͠ɺ +6OJUʹҠ২ w 001ͷݪճؼʹӨڹ w ʮςετۦಈ։ൃʯʮΤΫετ ϦʔϜɾϓϩάϥϛϯάʯ w ΞδϟΠϧϜʔϒϝϯτͷֶత
ͳج൫ͱͳͬͨࢥ έϯτɾϕοΫ
͏ͪͷத̍*%&Ͱ͜͏ϓϩάϥϛϯάͨ͠ ύιίϯΛങͬͯͬͯϲ݄ɺ·͡ͰԿڭ͍͑ͯ·ͤΜ ΫοΩʔΫϦοΧʔͷήʔϜ༷Λੳɺແ͔Β࠶ݱ͍ͯͨ͠ɻ αϒϧʔνϯ:PV5VCFಈըͰཧղͨ͠Β͍͠ɻ ը૾ͰࣈΛग़͢ͱ͜ΖطଘϩδοΫΛύΫͬͯ࠷దԽɻ σϞΛݟͤͳ͕Βܻ͋;ΕόάΛݟ͚ͭͯͯͨ͠ɻ
͋ΔҰͷຊ͕Λऴ͑ΔͷͰͳ͍͔ w ͲͷΑ͏ͳهड़͕ʮΘ͔Γ͍͔͢ʯΛઆ໌Ͱཧղ͠ Α͏ͱ͍͏ίϯηϓτ w ଟͩͬͨʮखଓ͖ܕʯܥͷܦݧϕʔε͚ͩ w ྑ͞ѱ͞ͳΜͯશͯهड़͖͠Εͳ͍͡ΌΜ w ؾ͍ͮͨʮEPXIJMFʹҙ͠ͳ͍͞ʯͱ͍͏આ໌
ʹʮ࠷ճ࣮ߦ͠ɺ0,ʹͳΔ·Ͱ࠶νϟϨϯδʯ ͱ͍͏༗༻ͳྫ֎͕ॻ͔Ε͍ͯͳ͍ɻ
"*ͱͷରίʔσΟϯά w Α͘ಡ·Ε͍ͯΔίʔυΛֶशͨ͠"*ˠ044։ൃऀਫ४ͰʮҰൠతʹΞϯϦʔμ ϒϧʯͱ͞ΕΔίʔυΛఏҊͯ͘͠Δ͜ͱͳ͍ɻ w ͱ͍͏͔ɺ͠ಡΊͳ͍ίʔυ͕ग़͖ͯͯͦΜͳͷ࠾༻Ͱ͖ͳ͍ɻ w ΞϯϦʔμϒϧͳίʔυɺดతͳݱͷʮ݁Ռਖ਼͘͠ಈ͍ͯݟ͑Εɺҙຯෆ໌ Ͱ߹֨ʯͱ͢Δश׳͔Βੜ·ΕΔɻ w
·ͨٯʹɺ"*ʹΘΔ໋໊ϩδοΫΛҙࣝ͠ͳ͍ͱޮ্͕͕Βͳ͍ɻࣗ͑͞ Θ͔Ε͍͍ͱ͍ͬͨؾ࣋ͪΛɺϦΞϧλΠϜͰ൱ఆͯ͘͠ΕΔɻ w ʮϖΞϓϩάϥϛϯάͷ૬ํ͕ϋζϨʯ͕ͳ͍ɻ
ίϛϡχέʔγϣϯͰޭ͠ɺ ޭ͔ΒΑΓྑ͍ݴ༿ΛֶͿ ·͞ʹਓؒͷݴޠֶश
Ϧʔμϒϧίʔυͷڭ͑ํ ͳΜ͔ӳޠͷڭՊॻͬΆ͍ΜͩΑͳ ӳձͰ͖ͳ͍ຊਓͷΞϨ
ϢϏΩλεʮݴޠʯ w ώτͷݴޠ֫ಘʹ͍ͭͯཧղ͢Δ͏ͪʹɺʮϢϏΩλ εݴޠʯ͕ͳͥʮ༻ޠूʯͰͳ͘ʮݴޠʯͳͷ͔Λ ࠶ೝࣝͨ͠ɻ w ʮܾ·ͬͨఆٛΛ༩͑ΔʯͷͰͳ͘ɺର͔Βੜ· ΕΔίϛϡχέʔγϣϯ͕ʮϩʔΧϧݴޠʯʹͳΔɻ w υϝΠϯͷਓͱϞσϧͷਓͷؒͰɺ֓೦Λ͑Δࢼߦ
ࡨޡͷδΣενϟʔ͕ఆண͍ͯ͘͜͠ͱ͕େࣄɻ
ͱ͜ΖͰ͜ͷֆͬͯ͝ଘͰ͔͢ ࣮ΊͬͪΌେࣄͳίϯςϯπͩͱ࠷ۙؾ͕͖ͭ·ͨ͠
w நֆըͷ։ऀ w ҹͷֆʹײΛड͚ɺࡀ ͔ΒըՈͷಓʹೖͬͨ w ࣏ܦࡁֶͱ͔͖ͬͯͨཧ ܥͷਓ w ࡞༗໊͚ͩͲɺ࣮ܳज़ཧ
ͱஶ࡞͕൴ͷຊջ ϫγϦʔɾΧϯσΟϯεΩʔ
ΧϯσΟϯεΩʔͷʮநʯ w ҹͷֆը͕ʮࣸਅͷΑ͏ͳσοαϯͷਖ਼͠͞ʯΛ͍ͬͯͳ͍ͷʹɺਓͷೝࣝʹ ʮͳΜ͔ζʔϯͱདྷΔʯ͜ͱʹணɻ w ݱ࣮ʹ͋ΔମͰͳ͘ɺʮͱʯʮઢͱʯͱ͍ͬͨϓϦϛςΟϒͳந͕ਓʹ ༩͑Δ͜ͱΛදݱͨ͠ཧֆըΛΖ͏ɻ w நͷཁʮҹʯʮଈڵʯʮߏʯ w
ྲྀΕΔ࣌ؒͷதͰγϡοͱײ͕֮߹͏͜ͱͷΈཱͯʜΈ͍ͨͳ ˠԻָͷΑ͏ͳͷˠݴޠʹΑΔରͦ͏ͳͷͰ w ͜Εʜ·͞ʹɺநϞσϧͱରͰۦಈ͢Δ։ൃελΠϧͷ͜ͱ͡ΌΜ
ൃ ෦ͷੑ࣭ͷ୯७ͳ૯ʹͱͲ·Βͳ͍ੑ࣭͕ɺ શମͱͯ͠ݱΕΔ͜ͱ Τϯτϩϐʔ૿େˠϑϥΫλϧ IUUQTKBXJLJQFEJBPSHXJLJ&#&#"
w ੈلͷ৽ֶ͍͠ऀ w ਓؒΛతʹಛผͳଘࡏͱਾ͑ Δैདྷͷߟ͑ํ͔Βͷ٫ w ʮྶͷδϨϯϚʯͰʮϋΠύʔ ΧΦεʯͱ͍͏֓೦Λఏএ w ໊લʹͯ͠؆୯͡Όͳ͍ʜ
ΧϯλϯɾϝΠϠεʔ
Պֶͷઌʹ͋Δਅཧͱɺ ΧΦεͷԑ͔ΒͷൃͩΖ͏ ͱ͍ͬͨைྲྀ͕ɺֶͷੈքʹੜ·Ε͍ͯΔΜͩͳ͋ɻ ͨͩͷײ ਓؒͷੑݴޠ͚ͯ͠ಛผͳͷͰͳ͍
w ͪ͜Β1BTDBMͷݩωλ w ʮਓؒߟ͑ΔѵͰ͋Δʯ w ੈلͷ࣌Ͱ͏ɺਓ࣭ؒ తʹ͞΄ͲಛผͳͷͰͳ͍ͱ ݴ͍ͬͯͨ w Θ͚ͷΘ͔Βͳ͍ͱ͜Ζ͔Βɺະ
ͷͷΛߟ͑ੜΈग़͢͜ͱ ൃ͕ਓؒͷՁ ϒϨʔζɾύεΧϧ
ͰతͳਓؒͰͳ͚ΕແՁʹͳΔͷ͔ ͜Εɺਖ਼ղɺޡղͳΜ͡Όͳ͍͔ͳ w ࢈ۀֵ໋Ͱྗࣄ͕ͳ͘ͳͬͨΑ͏ͳ͜ͱ͕ɺ࣍త࿑ಇͰى͜Δɻ w ͚ΕͲɺਓͷ͍Δॴͷશͯʹɺେྔͷɺͷৎʹ͋ͬͨখ͞ͳൃ͕͋ ΓɺͦΕΒͷ΄ͱΜͲɺݴޠԽ͞ΕͨΓެ͞ΕͨΓ͠ͳ͍ɻ w ʮ͖Ε͍ʹݴޠԽ͞Εීٴͨࣝ͠ΛɺΈΜͳ͕ಉ͡Α͏ʹशಘ͢ΔʯͳΜ ͯͷɺ͏͔ͳΓੜ"*͕ͬͯ͘ΕΔɺͱ͍͏͜ͱʜ
w ͜ΕͰͬͱɺຊͷࣗͷʹશྗͰΛ͚ɺूதͰ͖Δ͡Όͳ͍͔ ˠਅͷҙຯͰͷ࿑ಇ ͋ͷϚϧΫεͰ͑͞࿑ಇͷҙຯΛ͜͏ߟ͑ͨ
͜͏͍͏͜ͱͳͷ͡Ό ύιίϯങͬͯϲ݄Ͱ͜͏ͳΔͷ͕σδλϧωΠςΟϒ
ͦͯ͜͠͏ͳͷ͡Ό ʮεΩϧਓࡐͰॻ͚Δݴޠ͔ʯͳΜͯɺ ίʔσΟϯάϨϕϧ͡Ό͏ɺߟ͑Δ͚ͩແବʹ
͍Α͍Αੈلલͷເ͕͏ͷ͔ ❌ٕज़తͳ࣮ମͷૢ࡞εΩϧΛചΔ ⭕ΦϒδΣΫτ తͷநͷ୯Ґ ΛࣗͰ͏ ͳΒͳ͍͔͠Εͳ͍͚ͲɺϓϩʹཔΉʹͨͬͯ͠ɺ ͦͷϓϩ͕୲͏ࢥߟͷ࣍ݩɺ·Δ·Δͻͱ্͕ͭΔΜ͡Όͳ͍Ͱ͔͢Ͷ
ΤϯδχΞʹֶඞཁ͔ ͑ࣗ໌ͳͷͰ͋Γ·ͤΜ͔