Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
視て、わかる!C#7.1までの言語機能
Search
Kutani Mio
December 21, 2017
Programming
5.5k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
視て、わかる!C#7.1までの言語機能
C#言語機能もくもく会
及び
.Net Conf Tokyo 2017
で登壇した際に使用した資料を加筆・修正してアップロードしました。
Kutani Mio
December 21, 2017
Transcript
181 slides
$ ࢹͯɺΘ͔Δʂ ·Ͱͷ ݴޠػೳ ୩ඒੜʢΖͬ͞Ή!ශऑͳ$FSʣ 5XJUUFS*%@NJP@ (NBJMNJP!HNBJMDPN
ҙ ࠓճͷରऀ w ʮ࠷ۙɺ$ͷػೳΛ͑ͯͳ͍ʂʯ w ʮίϯςϯπ࡞ͯ͠Δ͚Ͳɺ࣮$Α͘Θ͔Βͳ͍ʜʯ w ʮ$
+BWB4DSJQUΈ͍ͨͳଞͷݴޠ৮ͬͯΔ͚Ͳɺ ɹ$৮ͬͯΈ͍ͨʂʯ ɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹͳͲͳͲʜ
ࣗ ݾհ
࣍ ࣍ ϝιου Ϋϥε ܕͱม ΞΫηεम০ࢠ ໊લۭؒ
࣍ ίϯετϥΫλ σετϥΫλ Φʔόʔϩʔυ δΣωϦοΫ ίϨΫγϣϯ ࣍
࣍ ܧঝ ଟଶੑ σϦήʔτ ϥϜμࣜ /VMMBCMFܕ ࣍
࣍ OVMM݅ԋࢉࢠ จࣈྻૠೖ OBNFPGԋࢉࢠ ϓϩύςΟ *OUFSGBDF ࣍
࣍ ඇಉظॲཧ $BTU ྫ֎ϑΟϧλʔ &YQSFTTJPOCPEJFE λϓϧ ࣍
࣍ 7FSd Φʔόʔϩʔυ $BTU ίϯετϥΫλ σετϥΫλ σϦήʔτ
࣍ /VMMBCMFܕ ϥϜμࣜ ඇಉظॲཧ 7FSd
࣍ ϓϩύςΟ OVMM݅ԋࢉࢠ OBNFPGԋࢉࢠͱจࣈྻૠೖ FYQSFTTJPOCPEJFE ྫ֎ϑΟϧλʔ 7FS
࣍ λϓϧ 7FSd
࠷ॳͷίʔυ $ جຊߏจ ·Ͱͷ
ϝιου
$ جຊߏจ ϝιου ·Ͱͷ
ϝιου $ جຊߏจ ͜ͷϘλϯΛԡ͢ͱ ిݯΛ͚ͭΔॲཧΛ͢ΔΑʂ ͜ͷϘλϯΛԡ͢ͱ ͷס૩ॲཧΛ͢ΔΑʂ ͜ͷϘλϯΛԡ͢ͱ ͷચ୕ॲཧΛ͢ΔΑʂ
͜ͷϘλϯΛԡ͢ͱ ͷચ୕༧ॲཧΛ͢ΔΑʂ ·Ͱͷ
$ جຊߏจ ϝιου ͜ͷϝιουΛݺͿͱ ిݯΛ͚ͭΔॲཧΛ͢ΔΑʂ ͜ͷϝιουΛݺͿͱ ͷס૩ॲཧΛ͢ΔΑʂ ·Ͱͷ
$ جຊߏจ ϝιου .BJOϝιουಛผͳϝιουͰ ඞͣΞϓϦέʔγϣϯىಈ࣌ʹ࠷ॳʹ ݺͼग़͞ΕΔ جຊతʹ ্͔ΒԼ ॲཧ͞ΕΔ
·Ͱͷ
$ جຊߏจ w ػೳ͝ͱʹॲཧΛ·ͱΊΔ͜ͱ͕Ͱ͖·͢ɻ w ͋ͪͪ͜Ͱ͏ίʔυΛίϐϖͰॻ͔ͳͯ͘ɺఆٛͨ͠ϝ ιου໊Λॻ͍ͯ͋͛Εɺͦͷϝιουʹ·ͱΊΒΕͨ ॲཧΛݺͼग़࣮ͯ͠ߦ͢Δ͜ͱ͕Ͱ͖·͢ɻ ϝιου
·Ͱͷ
Ϋϥε
Ϋϥε $ جຊߏจ ·Ͱͷ
Ϋϥε $ جຊߏจ Ո۩ͳͲ ม ઃܭਤ Ϋϥε Ո͕࣋ͭػೳ ϝιου
·Ͱͷ
Ϋϥε $ جຊߏจ ৽͍͠Ոͷ ઃܭਤΛ࡞ΔΑʂ ͓෩࿊ͱΩονϯ ඞཁ͔ͩΒ͓࣋ͬͯ͜͏ Ոͷػೳͱͯ͠ ϕϥϯμͱΨϨʔδΛ͚ͭΑ͏
·Ͱͷ
Ϋϥε $ جຊߏจ lOFXzΛߦ͏ͱઃܭਤΛݩʹ ʮΠϯελϯεʯͱ͍͏࣮ଶΛϝϞϦ্ʹੜ ·Ͱͷ
Ϋϥε $ جຊߏจ ·Ͱͷ
Ϋϥε $ جຊߏจ w Ոͱ͍͏ΠϯελϯεΛ࡞͢ΔͨΊͷઃܭਤΈ͍ͨͳͷ w lQVCMJDzzQSPUFDUFEzΛ༻͍ͯʮܧঝʯʮଟଶੑʯͱ͍͏ ػೳΛ͏͜ͱ͕Ͱ͖Δ ޙड़
ɻΦϒδΣΫτࢦϓϩάϥ ϛϯάͷཁతଘࡏʂ ·Ͱͷ
ܕͱม
ܕͱม $ جຊߏจ ·Ͱͷ
ܕͱม $ جຊߏจ ͍ΖΜͳܗͷೖΕ͕͋Δ࣌ɺ ͦΕͧΕͷܗʹͽͬͨΓͷதΛ ༻ҙ͢ΔΠϝʔδ JOU จࣈྻ
TUSJOH খ qPBU EPVCMF ·Ͱͷ
ܕͱม $ جຊߏจ TUSJOHͱ͍͏ܗͷ ೖΕ ม Λ༻ҙͯ͠ l)FMMP$8PSMEz ͱ͍͏தΛ٧ΊࠐΉ
·Ͱͷ
ܕͱม $ جຊߏจ TUSJOHJOUͷΑ͏ͳܗ ༧Ίϓϩάϥϛϯάݴޠଆ͕ ༻ҙͯ͘͠Ε͍ͯΔΑʂ ૯ͯ͡ΈࠐΈܕͱݺͿ ·Ͱͷ
ܕͱม $ جຊߏจ ࣗଞਓ͕࡞ͨ͠ઃܭਤΛݩʹ ࡞ΒΕͨೖΕ ม ༻Մೳ ϢʔβʔఆٛܕͱݺͿ Ϋϥε
·Ͱͷ
ܕͱม $ جຊߏจ ѫࡰͨ͠Βʮ8BOʯͱ໐͘ l%PHzͱ͍͏ΫϥεΛ࡞ʂ ·Ͱͷ
ܕͱม $ جຊߏจ l%PHzͱ͍͏ઃܭਤΛݩʹͯ͠࡞ͬͨೖΕʹzOFXzΛߦ͏ͱΠϯελϯε͕ग़དྷ্͕Δʂ OFXΛೖΕͳ͔ͬͨΒ%PHܕͷೖΕ͋Δ͚Ͳத͕ͳ͍ঢ়ଶ OVMM ʹͳΔΑ ·Ͱͷ
ܕͱม $ جຊߏจ มʹण໋͕͋Γ·͢ ·Ͱͷ
ܕͱม $ جຊߏจ lIFMMPzͱ͍͏ม͕ ༻Ͱ͖Δͷ ͜ͷϝιουͰ͚ͩʂ มͷείʔϓ ·Ͱͷ
$ جຊߏจ ܕͱม ͦΕͧΕͷ৭͕ ରԠ͢ΔҹͰͳΒ ༻͢Δ͜ͱ͕Ͱ͖Δ มͷείʔϓ ϐϯΫͷείʔϓΛ࣋ͭม ϝϯόมͱݺΕ͍ͯΔ
Ϋϥεʹଐ͍ͯ͠Δ ϝϯόʔ͔ͩΒ ·Ͱͷ
ܕͱม $ جຊߏจ ͜ͷϝιουΛ࣮ߦ͢Δͱ ࣮ߦ݁Ռͱͯ͠ จࣈྻͷΛฦ͢Αʂ ·Ͱͷ
ܕͱม $ جຊߏจ lIFMMPzͱೖΕ ม ʹɺ z8BOzͱ͍͏จࣈ͕ೖΔʂ ·Ͱͷ
ܕͱม $ جຊߏจ WPJEϝιουͷॲཧΛߦ্ͬͨͰ ݁Ռͱͯ͠ฦ͢ͷಛʹͳ͍ʂ ͱ͍͏࣌ʹॻ͍͓ͯ͘ ·Ͱͷ
$ جຊߏจ w ೖΕ͍ͨσʔλʹ߹ΘͤͨܕͷೖΕΛ༻ҙ͢Δɻ w JOUTUSJOHʹzzͱ͍͏ͱ͔z8BOzͱ͍͏จࣈྻΛ ೖΕΔ͜ͱ͕Ͱ͖Δ͕ɺΫϥεܕͷ߹OFX͕ඞཁʂ w $͕ͱͱ༻ҙͯ͘͠Ε͍ͯΔΈࠐΈܕͱɺ
ࣗଞਓ͕ઃܭͨ͠Ϣʔβʔఆٛܕ͕ଘࡏ͢Δɻ ܕͱม ·Ͱͷ
ΞΫηεम০ࢠ
ΞΫηεम০ࢠ $ جຊߏจ ·Ͱͷ
ΞΫηεम০ࢠ $ جຊߏจ ͜ͷϘλϯΛԡ͢ͱ ిݯΛ͚ͭΔॲཧΛ͢ΔΑʂ ͜ͷϘλϯΛԡ͢ͱ ͷચ୕ॲཧΛ͢ΔΑʂ ͜ͷϘλϯΛԡ͢ͱ ͷચ୕༧ॲཧΛ͢ΔΑʂ
ϘλϯΛԡͨ͠ޙɺ ࣮ࡍʹڅਫͨ͠Γɺ ճ͢ͷௐΛ͢Δͷ Ϣʔβʔʹݟͤͨ͘ͳ͍ ·Ͱͷ
ΞΫηεम০ࢠ $ جຊߏจ ચ୕ػΫϥεΛ༻͢Δਓ͔Β ݟ͑ͯɺ୭Ͱ͑Δϝιου ·Ͱͷ
ΞΫηεम০ࢠ $ جຊߏจ ચ୕ػΫϥεΛ༻͢Δਓ͔Β ݟ͑ͯɺ୭Ͱ͑Δϝιου ·Ͱͷ
ΞΫηεम০ࢠ $ جຊߏจ ચ୕ػΫϥεΛ༻͢Δਓ͔Β ݟ͑ͳͯ͘ɺ͚͕ࣗͩ͑Δ ϝιου ͚͕ࣗͩ͑Δ ·Ͱͷ
ΞΫηεम০ࢠ $ جຊߏจ ચ୕ػΫϥεΛ༻͢Δਓ͔Β ݟ͑ͳͯ͘ɺ͚͕ࣗͩ͑Δ ϝιουɻ ͚͕ࣗͩ͑Δ ·Ͱͷ
$ جຊߏจ w QVCMJDɹͳΒ୭͔Βݟ͑Δ͠ɺ୭Ͱ͑Δɻ w QSJWBUFɹͳΒࣗʹ͔͠ݟ͑ͳ͍͠ɺ ࣗͰ͔͠͏͜ͱ͕Ͱ͖ͳ͍ɻ w ʮܧঝʯʹ͍ͭͯઆ໌͢ΔࡍʹɹQSPUFDUFEɹͱ͍͏
ΞΫηεम০ࢠΛ͍·͢ɻ ΞΫηεम০ࢠ ·Ͱͷ
໊લۭؒ
$ جຊߏจ ໊લۭؒ ·Ͱͷ
"ͷࠤ౻ "ͷࠤ౻ "ͷࠤ౻ $ جຊߏจ ໊લۭؒ ʮ"ͷࠤ౻͞Μʯͱݺͼ͔͚ͯɺ Ͳͷࠤ౻͞Μ͔Θ͔Βͳ͍ʜ ·Ͱͷ
໊લۭؒ $ جຊߏจ $MBTT"ͷதʹ ࠤ౻ͱ͍͏Ϋϥε͕̎ͭ͋Δ߹ ໊લ͕ॏෳ͢ΔͷͰΤϥʔʹͳΔ ·Ͱͷ
$ͷࠤ౻ #ͷࠤ౻ "ͷࠤ౻ $ جຊߏจ ໊લۭؒ ͜ΕͳΒʮ"ͷࠤ౻͞ΜʯͱݺͿͱɺ "ͷࠤ౻͞Μ͕Ԡ͑ͯ͘ΕΔɻ ·Ͱͷ
໊લۭؒ $ جຊߏจ " ͱ͍͏໊લۭؒ ͷࠤ౻ # ͱ͍͏໊લۭؒ ͷࠤ౻
·Ͱͷ
໊લۭؒ $ جຊߏจ "ͷࠤ౻͞Μʂ ͱ໊લۭ͖ؒͰ ݺͼग़͢ ɻ ͜Ε͕શम০໊ ·Ͱͷ
໊લۭؒ $ جຊߏจ $MBTT"ͷਓ͕ Կਓ͍ͨΒ ݺͼग़͢ͷ໘ʜ ·Ͱͷ
$ جຊߏจ ໊લۭؒ ͜͜Ͱɺ ͜ͷVTJOHʂ ·Ͱͷ
$ جຊߏจ ໊લۭؒ ࠓ͔Β"ͷਓͷ໊લΛݺͼ·͢ɻ ࠤ౻͞Μɺླ͞Μɺాத͞Μ ମҭؗདྷ͍ͯͩ͘͞ɻ ·Ͱͷ
໊લۭؒ $ جຊߏจ $MBTT"ͷਓΛݺͿΑʂ ͍ͬͯ͏એݴΛ͢Δɻ VTJOHσΟϨΫςΟϒͱݺΕΔػೳ ͘ॻ͚Δʂ ·Ͱͷ
໊લۭؒ $ جຊߏจ w $MBTT"ͱ͍͏εϖʔεͷதʹಉ໊͡લ͕ଘࡏ͢Δ ໊લিಥ ݱΛׂ͙Λ࣋ͭɻ w $MBTT"ͷࠤ౻͘ΜͷΑ͏ʹɺ໊લ͔ΒϢχʔΫͳଘࡏΛݟͭ
͚Δ͜ͱ͕Ͱ͖Δɻ w 6TJOHσΟϨΫςΟϒΛ͑؆ܿʹॻ͘͜ͱ͕Ͱ͖Δɻ ·Ͱͷ
ίϯετϥΫλ
ίϯετϥΫλ $ ͓ೃછΈͷίϯετϥΫλʂ ίϯετϥΫλએݴඞͣΫϥε໊ͱҰகͤ͞Δʂ OFXͷޙʹඞ࣮ͣߦ͞ΕΔͷͰ ॳظԽॲཧͳͲʹ࠷దɻ ·Ͱͷ ݴޠػೳ
$ w Πϯελϯεੜ࣌ʹඞͣݺͼग़͞ΕΔಛผͳϝιουɻ w ҾϦετΛͤΔίϯετϥΫλΛΦʔόʔϩʔυ͢Δ͜ ͱՄೳɻ w Ҿ͕͋ΔίϯετϥΫλͷΈΛఆٛ͢Δ͜ͱՄೳɻͦͷ ߹ɺҾͷͳ͍ίϯετϥΫλ
σϑΥϧτίϯετϥΫ λ Λ༻͢Δ߹໌ࣔతʹ࣮͢Δඞཁ͕͋Δɻ ίϯετϥΫλ ·Ͱͷ ݴޠػೳ
ίϯετϥΫλ $ ·Ͱͷ ݴޠػೳ
ίϯετϥΫλ $ ·Ͱͷ ݴޠػೳ
ίϯετϥΫλ $ ·Ͱͷ ݴޠػೳ
ίϯετϥΫλ $ ·Ͱͷ ݴޠػೳ
ίϯετϥΫλ $ ·Ͱͷ ͏·ΕͨɹΠʔϒΠʹ χοΫωʔϜΛɹ͚ͭ·͔͢ʁ ͍ ͍͍͑ ⾣ ݴޠػೳ
ίϯετϥΫλ $ ·Ͱͷ ʮ͍͍͑ʯ χοΫωʔϜͳ͠ ΛબΜͩΒ ͦͷϙέϞϯͷ໊લΛҾͱͯ͠ ผͷҾ͋ΓίϯετϥΫλΛݺͼग़͢ ɻ
ίϯετϥΫλʔॳظԽࢠͱݺͿ ݴޠػೳ
ίϯετϥΫλ $ ·Ͱͷ ॳظԽ͍ͨ͠ΦϒδΣΫτͷϝϯόʔ͕ QVCMJDͳΒOFXͷ࣌ͰॳظԽՄೳʂ ΦϒδΣΫτॳظԽࢠͱݺͿ ݴޠػೳ
$ w ίϯετϥΫλʔॳظԽࢠΛ༻͢Εɺ͋ΔίϯετϥΫ λ͔ΒผͷίϯετϥΫλΛݺͼग़͢͜ͱ͕Ͱ͖Δɻ w ΦϒδΣΫτॳظԽࢠΛ༻͢ΕɺOFXͨ͠จͱಉ͡Օॴ ʹରͷϝϯόมɺຢϓϩύςΟΛॳظԽͰ͖Δɻ ͨͩ͠TFU͕QVCMJDʹͳ͍ͬͯΔඞཁ͋Γ
w ࣮ߦॱ൪ϝϯόมॳظԽࢠˠίϯετϥΫλॳظԽࢠˠ ίϯετϥΫλॲཧˠΦϒδΣΫτॳظԽࢠ ݴޠػೳ ·Ͱͷ ίϯετϥΫλ
σετϥΫλ
σετϥΫλ $ ͓ೃછΈͷσετϥΫλʂ Πϯελϯεഁغ࣌ʹඞ࣮ͣߦ͞ΕΔɻ ඞͣΫϥε໊ͱҰகͤ͞Δ͜ͱɻ ίϯετϥΫλͱҧͬͯɺ ҾΛ࣋ͭ͜ͱͰ͖ͳ͍ɻ ·Ͱͷ ݴޠػೳ
$ ΠϯελϯεͷഁغλΠϛϯάɺ ίϯύΠϥ͕༻ҙͯ͘͠Ε͍ͯΔ ࣗಈͷ͓আػೳ ΨϕʔδίϨΫγϣϯ ͕ มΛճऩͨ࣌͠ʂ Ϣʔβʔ͔ΒճऩλΠϛϯά੍ޚෆೳ JOUY
TUSJOHTUS σετϥΫλ ·Ͱͷ ݴޠػೳ
$ جຊߏจ มͷείʔϓΛൈ͚ͨ࣌ʹ ݺͼग़͞ΕΔΘ͚Ͱͳ͍ʂ σετϥΫλ ·Ͱͷ
$ w Πϯελϯεഁغ࣌ʹඞͣݺͼग़͞ΕΔಛผͳϝιουɻ w ͱݴ͏ͷͷɺϢʔβʔ͔ΒΠϯελϯεഁغλΠϛϯά ͕جຊతʹ੍ޚෆՄೳͳͨΊɺ͋·ΓΘΕ͍ͯͳ͍ɻ σετϥΫλ ·Ͱͷ ݴޠػೳ
σετϥΫλ $ ·Ͱͷ ࣗͷ߹ͰഁغΛ੍ޚ͢ΔͳΒ ʮVTJOHεςʔτϝϯτʯʂ ݴޠػೳ
σετϥΫλ $ ·Ͱͷ $ ະ֬ೝඈߦ$༷ΑΓൈਮ VTJOHͷׅހͰ ʮ4ZTUFN*%JTQPTBCMFʯΛ࣮ͨ͠ ϦιʔεཧΫϥεͷએݴ͕ඞཁ ݴޠػೳ
$ w ʮVTJOHεςʔτϝϯτʯΛ༻͢ΔͱɺͦͷதͰ ྫ֎͕͋Ζ͏ͱͳ͔Ζ͏ͱ%JTQPTF ͕ਖ਼͘͠ݺΕΔɻ w ʮVTJOHεςʔτϝϯτʯΛ༻͢Δ࣌ ʮ4ZTUFN*%JTQPTBCMFʯΠϯλʔϑΣʔεΛ࣮ͨ͠ ϦιʔεͷཧΫϥε͕ඞཁͱͳΔɻ
σετϥΫλ ·Ͱͷ ݴޠػೳ
Φʔόʔϩʔυ
$ Φʔόʔϩʔυ Ҿͷܕҧ͏͚Ͳɺ ಉ໊͡લͷϝιουΛఆٛͰ͖Δʂ ݴޠػೳ ·Ͱͷ
$ Φʔόʔϩʔυ Ҿͷ໊લฦ٫͢Δͷํ͕ҧ͏͚ͩͰɺ ΦʔόʔϩʔυͰ͖ͳ͍ʂ ݴޠػೳ ·Ͱͷ
$ w Ҿͷܕ͕ҟͳ͍ͬͯΕɺಉ໊͡લͷؔΛ࡞͢Δ ͜ͱ͕Ͱ͖Δɻݺͼग़͠ଆ͔Βؔʹ͢ʮҾͷɺҾ ͷܕʯͱ͍͏ใ γάωνϟ ΛݩʹɺͲͷؔΛ࣮ߦ͢ Δ͔ܾΊͯ͘ΕΔɻ w
Ҿͷ໊લɺฦ٫͢Δͷܕ͕ҧ͏͚ͩͰΦʔόϩʔυ Ͱ͖ͳ͍ɻɹɹ Φʔόʔϩʔυ ݴޠػೳ ·Ͱͷ
$ Φʔόʔϩʔυ l zͱ͔zzͷΑ͏ͳԋࢉࢠ ʮPQFSBUPSʯΩʔϫʔυΛ͑ Φʔόʔϩʔυఆ͕ٛͰ͖Δʂ ݴޠػೳ ·Ͱͷ
$ Φʔόʔϩʔυ ݴޠػೳ ·Ͱͷ TBUPͱZPTIJEBͷ ໊લͱྸΛ Ϣʔβʔొ͢ΔΑʂ
$ Φʔόʔϩʔυ ݴޠػೳ ·Ͱͷ ʮՃʯΛͬͱײతʹʂ
$ Φʔόʔϩʔυ ݴޠػೳ ·Ͱͷ TBUPͱZPTIJEBͷ ໊લͱྸΛ Ϣʔβʔొ͢ΔΑʂ
$ Φʔόʔϩʔυ ݴޠػೳ ·Ͱͷ ඞͣQVCMJDͭTUBUJDʹʂ ΓࣗͷΫϥεܕʂ Ҿͷ͏ͪগͳ͘ͱ ඞͣҰͭࣗͷΫϥεܕʹ͢Δʂ ୈҰҾ
ୈೋҾ
$ w ఆٛ͢Δ࣌ඞͣQVCMJDͭTUBUJDʹ͢Δඞཁ͕͋Δɻ w ୯߲ԋࢉࢠ ͳͲ ͳΒҰͭͷҾɺೋ߲ԋࢉࢠ
ͳͲ ͳΒೋͭͷҾ͕ඞཁɻ w ҾͷɺඞͣҰͭࣗͷΫϥεܕʹ͢Δɻ w ΈࠐΈܕ JOUͱ͔ ͱݟ͚͕͔ͭͳ͘ͳΔՄೳੑ͋Γʂ ໌ࣔతʹϝιουΛݺͿͷͱൺͯՄಡੑ͕མ͍ͪ͢ɻ ༻๏༻ྔΛकͬͯਖ਼͓͍͍ͩ͘͘͠͞ɻ Φʔόʔϩʔυ ݴޠػೳ ·Ͱͷ
δΣωϦοΫ
δΣωϦοΫ $ جຊߏจ Λ̎ͭͨ͠Βɺ େ͖͍ํͷ͕ฦͬͯ͘Δɺ ͦΜͳϝιου͕ཉ͍͠ʂ
JOUʹEPVCMFʹ TUSJOHʹରԠͯ͠ʂ ·Ͱͷ
$ جຊߏจ $ ະ֬ೝඈߦ$ΑΓ δΣωϦοΫ 5ZQFͱ͍͏ԾͷܕΛ༻ҙͯ͋͛͠Δ 8IFSFԾఆͷܕ੍݅ ͜ͷ߹ͩͱɺ5ZQFͱ͍͏ Ծఆͷܕ*$PNQBSBCMFΛ
࣮͍ͯ͠Δ ·Ͱͷ
ίϨΫγϣϯ
ίϨΫγϣϯ $ جຊߏจ ৄ͘͠ॻ͍ͨهࣄ͕͋ΔͷͰੋඇʂ IUUQRJJUBDPN@NJP@JUFNTEBGFFF ·Ͱͷ
σϑΥϧτҾ
σϑΥϧτҾ $ جຊߏจ z zϘλϯʹ ҎԼͷಈ࡞ʹରԠͯ͠ཉ͍͠ʂ ɾzࣈ ࣈzͰԡͨ࣌͠ ɾzzͷঢ়ଶͰl
ࣈzΛԡͨ࣌͠ ·Ͱͷ
$ جຊߏจ σϑΥϧτҾ "EEҾ͕͔̍ͭ͠͞Εͯͳ͍߹ʹ ̎ͭͷҾʹ͕ೖΔ ·Ͱͷ
$ جຊߏจ σϑΥϧτҾ "EEҾ͕͔̍ͭ͠͞Εͯͳ͍߹ʹ ̎ͭͷҾʹ͕ೖΔ ·Ͱͷ
ܧঝ
ܧঝ $ جຊߏจ ͜ͷϘλϯΛԡ͢ͱ ిݯΛ͚ͭΔॲཧΛ͢ΔΑʂ ͜ͷϘλϯΛԡ͢ͱ ͷચ୕ॲཧΛ͢ΔΑʂ ͜ͷϘλϯΛԡ͢ͱ ͷચ୕༧ॲཧΛ͢ΔΑʂ
͜ͷػೳͦͷ··ʹʜ ·Ͱͷ
$ جຊߏจ ͜ͷϘλϯΛԡ͢ͱ ిݯΛ͚ͭΔॲཧΛ͢ΔΑʂ ͜ͷϘλϯΛԡ͢ͱ ͷס૩ॲཧΛ͢ΔΑʂ ͜ͷϘλϯΛԡ͢ͱ ͷચ୕ॲཧΛ͢ΔΑʂ ͜ͷϘλϯΛԡ͢ͱ
ͷચ୕༧ॲཧΛ͢ΔΑʂ ܧঝ ৽͘͠ס૩ػೳΛ͚͍ͭͨʂ ·Ͱͷ
$ جຊߏจ ܧঝ ס૩ػ͖ચ୕ػΛ࡞Ζ͏ ચ୕ػΛϕʔεͱͯ͠ ·Ͱͷ
$ جຊߏจ ܧঝ ચ୕ػΛϕʔεͱͯ͠ ·Ͱͷ
$ جຊߏจ ܧঝ ס૩ػ͖ચ୕ػΛ࡞Ζ͏ l1VCMJDDMBTTΫϥε໊ϕʔεͱ͢ΔΫϥε ·Ͱͷ
$ جຊߏจ ܧঝ ·Ͱͷ ͜ͷϘλϯΛԡ͢ͱ ిݯΛ͚ͭΔॲཧΛ͢ΔΑʂ ͜ͷϘλϯΛԡ͢ͱ ͷס૩ॲཧΛ͢ΔΑʂ ͜ͷϘλϯΛԡ͢ͱ
ͷચ୕ॲཧΛ͢ΔΑʂ ͜ͷϘλϯΛԡ͢ͱ ͷચ୕༧ॲཧΛ͢ΔΑʂ
$ جຊߏจ ܧঝ Ճػೳͱͯ͠ߋʹ ిݯ͚ͭͨΒڅਫ͕࢝·ΔΑ͏ʹ͍ͨ͠ʂ ·Ͱͷ
$ جຊߏจ ܧঝ ϕʔεચ୕ػΫϥεଆͷϝιουͰ ܧঝͨ͠ΫϥεଆͰॲཧΛ্ॻ͖Ͱ͖ΔΑ͏ʹʂ lWJSUVBMzΩʔϫʔυΛ͚ͭΔͱɺ ܧঝઌͰϝιουͷॲཧΛ ্ॻ͖Ͱ͖ΔΑ͏ʹͳΔ ·Ͱͷ
$ جຊߏจ ܧঝ lPWFSSJEFzΩʔϫʔυΛ͚ͭΔͱɺ ܧঝݩͷϝιουॲཧΛ ্ॻ͖͢ΔΑʂͱએݴͨ͜͠ͱʹͳΔ ·Ͱͷ
$ جຊߏจ ܧঝ څਫػೳΛ࣋ͭz8BUFS4VQQMZ zͱ͍͏ ϝιου͕͜Ε͡Ό͋͑ͳ͍ʂ ·Ͱͷ
$ جຊߏจ ܧঝ ϕʔεચ୕ػΫϥεଆͷϝιουΛ ܧঝઌʹݟͤΔ͚Ͳɺ֎෦ʹݟͤͨ͘ͳ͍ lQSJWBUFz͔ΒzQSPUFDUFEzʹม͑Δͱ Ϣʔβ͔Βݟ͑ͳ͍͚Ͳɺ ܧঝઌ͔Β͑ΔΑ͏ʹͳΔʂ ·Ͱͷ
$ جຊߏจ ܧঝ ແࣄڅਫॲཧͷϝιουΛ͑ΔΑ͏ʹʂ Ͱɺىಈॲཧ࣮ϕʔεચ୕ػͱಉ͡ίʔυʜ ·Ͱͷ
$ جຊߏจ ܧঝ lCBTFܧঝݩ͕࣋ͭ QVCMJD͔QSPUFDUFEͷ ϝιου໊z ͱهड़͢ΔͱɺܧঝݩͷϝιουΛݺͼग़ͤΔ ·Ͱͷ
ଟଶੑ
$ جຊߏจ ଟଶੑ ס૩ػ͖ચ୕ػΛ࡞ͬͨ ચ୕ػΛϕʔεͱͯ͠ ·Ͱͷ
$ جຊߏจ ס૩ػ͖ચ୕ػ͍࣋ͬͯΔ ͱ͍͏͜ͱચ୕ػ͕࣋ͭػೳ ଟଶੑ ·Ͱͷ
$ جຊߏจ ଟଶੑ 8BTIJOH.BDIJOFͷೖΕʹ 8BTIJOH"OE%SZ.BDIJOFΛೖΕΔ͜ͱ͕Ͱ͖Δʂ ͔ͪ͠ΌΜͱϝιου͕͑Δʂ ·Ͱͷ
$ جຊߏจ ס૩ػ͖ચ୕ػ͕͍࣋ͬͯΔ ס૩ػೳΛ͍࣋ͬͯͳ͍͔Β͑ͳ͍ Ͱચ୕ػ ଟଶੑ ·Ͱͷ
$ جຊߏจ ଟଶੑ ͨ͘͞Μͷચ୕ػΛ Ұؾʹಈ͔͍ͨ࣌ͬͯ͠ͳ͍Ͱ͔͢ʁ ·Ͱͷ
$ جຊߏจ ଟଶੑ ిݯΛ͚ͭͯચ୕ػೳΛಈ࡞ͤ͞Δ͚ͩͳΒ ؆୯ʹ·ͱΊͯͰ͖ͪΌ͍·͢ ·Ͱͷ
$ جຊߏจ ଟଶੑ ·Ͱͷ
σϦήʔτ
$ σϦήʔτ ఢΛͨ͠λΠϛϯάͰ ճ෮ॲཧΛ࣮ߦ ·Ͱͷ ݴޠػೳ
$ σϦήʔτ l"DUJPOzͱ͍͏Γͳ͠ͷ σϦήʔτΛઃఆ ·Ͱͷ ݴޠػೳ
$ σϦήʔτ ࣮ࡍͷΩϟϥΫλʔճ෮खஈ ώʔϥʔ͕͍࣋ͬͯΔ ·Ͱͷ ݴޠػೳ
$ σϦήʔτ ,JMM&OFNZ࣮ߦ࣌ʹ ώʔϥʔͷ 3FDPWFSZ͕࣮ߦʂ ·Ͱͷ ݴޠػೳ
ϥϜμࣜ
$ جຊߏจ Ϩϕϧ্͕ͬͨΒ )1ΛQUճ෮͢Δຐ๏֮͑ͨ͠ ࣗͷইࣗͰ࣏ͯ͠ΈΔ͔ ϥϜμࣜ ·Ͱͷ
$ جຊߏจ ϥϜμࣜ l'VODzͱ͍͏Γ͋Γͷ σϦήʔτΛઃఆ ࠓճҾ͋Γʹͯ͠Έͨ ·Ͱͷ
$ جຊߏจ ϥϜμࣜ ؆୯ͳ͚ࣜͩͳͷͰɺ ϝιουΛ༻ҙͤͣʹ؆қతʹॲཧΛ࣮ ͯ͠σϦήʔτʹಥͬࠐΉ͜ͱ͕Մೳ ·Ͱͷ
/VMMBCMFܕ
$ OVMM݅ԋࢉࢠ ·Ͱͷ ύʔςΟ ύʔςΟ ύʔςΟ ݴޠػೳ
$ /VMMBCMFܕ ϢʔβʔͷύʔςΟϦʔμʔใ͘Ε ͚͑͑Ͳɺ ॳظύʔςΟઃఆͷͷOVMMฦ͢Ͱ ·Ͱͷ ݴޠػೳ
$ /VMMBCMFܕ ͢σʔλ͜Μͳײ͡ ·Ͱͷ ύʔςΟใͷྻ DIBSB*E /VMM DIBSB*E ݴޠػೳ
$ /VMMBCMFܕ ·Ͱͷ ྻͷΠϯσοΫεͱ ΫϥΠΞϯτͰදࣔ͢ΔύʔςΟͷ ΠϯσοΫεใΛ߹ΘͤΔײͩ͡ ύʔςΟใͷྻ DIBSB*E /VMM
DIBSB*E ݴޠػೳ
$ /VMMBCMFܕ ·Ͱͷ ී௨ʹGPSFBDIΛߦ͏ͱ ΠϯσοΫε͕ͣΕΔʜ ύʔςΟใͷྻ DIBSB*E /VMM DIBSB*E
ύʔςΟ ύʔςΟ ཧ ݱ࣮ ύʔςΟ ύʔςΟ ύʔςΟ ݴޠػೳ
$ /VMMBCMFܕ ͜ΕͳΒQBSUZ-FBEFS*%T OVMMΛڐ༰ͨ͠ྻʹͳΔʂ ·Ͱͷ ݴޠػೳ
$ /VMMBCMFܕ ·Ͱͷ /VMMΛߟྀͨ͠ྻ͕Ͱ͖ͨʂ ύʔςΟใͷྻ DIBSB*E /VMM DIBSB*E ݴޠػೳ
OVMM݅ԋࢉࢠ
$ OVMM݅ԋࢉࢠ Ϣʔβʔͷ໊લͱඋใ͘Ε ͍ͭ͜৽نϢʔβʔ͔ͩΒ OVMMฦ͢Ͷʂʂʂ ͦͬͪͰॳظͱ͔ઃఆ͓͍ͯͯ͠ʂ ݴޠػೳ
$ OVMM݅ԋࢉࢠ αʔόʔ͔Β%BUBܕͷதฦͬͯདྷͯΔʁ ͦΕͱOVMMʹͳͬͯΔʁ ݴޠػೳ
$ OVMM݅ԋࢉࢠ EBUB͕OVMM͡Όͳ͚Ε EBUB͕͍࣋ͬͯΔQMBZFS@MFWFMΛೖ ݴޠػೳ
จࣈྻૠೖ
$ จࣈྻૠೖ ݴޠػೳ ࠓ·ͰมͷதΛจࣈྻͱͯ͠ग़ྗ͢Δͷʹ TUSJOHͷ'PSNBUϝιουΛ༻͢Δඞཁ͕͋ͬͨ
$ จࣈྻૠೖ ݴޠػೳ จࣈྻ͜͜·ͰΫϦΞʹฤूͰ͖·͢ɻ ʮࢥ͍ͷ··ʯ͕ɺ͜Ε·ͰҎ্ʹࢥ͍ͷ··ʹɻ
$ จࣈྻૠೖ ݴޠػೳ ͦ͏ɺจࣈྻૠೖͳΒͶɻ
OBNFPGԋࢉࢠ
$ มΫϥεͷ໊લࣗମΛ༻͍ͨ࣌ͬͯ͠ͳ͍Ͱ͔͢ʁ OBNFPGԋࢉࢠ ݴޠػೳ
$ OBNFPGԋࢉࢠ lQMBZFS@OBNFzͱ͍͏ มͷ໊લࣗମΛग़ྗ͢Δɻ ݴޠػೳ
ϓϩύςΟ
ϓϩύςΟ $ جຊߏจ ৄ͘͠ॻ͍ͨهࣄ͕͋ΔͷͰੋඇʂ IUUQRJJUBDPN@NJP@JUFNTFCGFCDBG ·Ͱͷ
*OUFSGBDF
*OUFSGBDF $ جຊߏจ ৄ͘͠ॻ͍ͨهࣄ͕͋ΔͷͰੋඇʂ IUUQXXXYOKBGCDPN JOUFSGBDF&"BCTUSBDU&"&&'#"&"&&" && ·Ͱͷ
ඇಉظॲཧ
ඇಉظॲཧ $ ݴޠػೳ /PX-PBEJOH Ͳ͜ͱͳ͘ ݟ֮͑ͷ͋ΔදࣔͰ͢Ͷʂ
ඇಉظॲཧ $ ݴޠػೳ /PX-PBEJOH ͜ͷϩʔσΟϯάը໘ͷཪͰ ը૾ͷಡΈࠐΈɺ࠲ඪܭࢉɺ ΦϒδΣΫτͷੜͳͲͳͲʜ ͕ߦΘΕ͍ͯΔ
ॲཧதͷͪ࣌ؒʹ6*ͳͲͷ Ϣʔβʔʹݟ͑Δ෦Λ ϑϦʔζͤ͞ͳ͍ͨΊʹ͏͜ͱ͕Ͱ͖Δɻ
ඇಉظॲཧ $ ݴޠػೳ ʮBTZODBXBJUʯΩʔϫʔυΛ͑ ಉظͯ͠ΔΑ͏ͳݟͨͰ ඇಉظॲཧ͕ॻ͚ΔΑ͏ʹʂ $ ະ֬ೝඈߦ$ɹ༷
$ w ϝιουͰʮBXBJUʯΛ༻͢Δʹ ϝιουʹʮBTZODʯ͕ඞཁͱͳΔɻ w ΓͷܕɺWPJEɺ5BTLɺ5BTL5Ͱ͋Δඞཁ͕͋Δɻ ݴޠػೳ ඇಉظॲཧ
$BTU
$BTU $ ҉తͳΩϟετ ܕม ·Ͱͷ ໌ࣔతͳΩϟετ ܕม ݴޠػೳ
$BTU $ BTΩϟετɻ ໌ࣔతͳΩϟετͱ ҎԼͷͰҟͳΔɻ ɾΩϟετ͕Ͱ͖ͳ͔ͬͨ࣌ มʹOVMMΛฦ͢ ɻ ɾ·ͨɺܕͷมෆՄɻ
·Ͱͷ ݴޠػೳ
$ w ΞοϓΩϟετͷ߹҉తͳΩϟετɺμϯΩϟετ ͷ߹໌ࣔతͳΩϟετ͕ඞཁͱͳΔɻ w ໌ࣔతͳΩϟετ͕ࣦഊͨ͠߹ྫ֎Λ͛Δ͕ɺBTΩϟ ετͷ߹୯ʹฦ٫ʹOVMMΛฦ͚ͩ͢ͱͳΔɻ w ܕ
ຢϢʔβʔఆٛܕ ͔ΒΈࠐΈܕͷΩϟετʹBT Ωϟετ༻Ͱ͖ͳ͍ɻ ݴޠػೳ ·Ͱͷ $BTU
$ ݴޠػೳ ·Ͱͷ Ϣʔβʔఆٛܕ͔Β ΈࠐΈܕʹΩϟετ͢Δʹʁ Ϋϥε JOU จࣈྻ
TUSJOH খ qPBU EPVCMF $BTU
$ ݴޠػೳ ·Ͱͷ ΩϟετΛΦʔόʔϩʔυ͢Ε ͦΕͬΆ͘ͳΔͷͰʂ Ϋϥε JOU จࣈྻ
TUSJOH খ qPBU EPVCMF $BTU
$BTU $ ҉తͳܕมΛ ࣮͢ΔͳΒzJNQMJDJUzʂ ্͕ΈࠐΈܕΩϟετͨ࣌͠ɺ Լ͕ΈࠐΈܕ͔Β)PHF Ωϟετ͞Εͨ࣌ʹ࣮ߦ͞ΕΔɻ ·Ͱͷ ฦ٫͢Δܕ
ݴޠػೳ
$BTU $ ·Ͱͷ ҉తʹΩϟετ ݴޠػೳ
$BTU $ ໌ࣔతͳܕมΛ ࣮͢ΔͳΒzFYQMJDJUzʂ ίʔυͷՄಡੑ্͕͕Γ͍͢ɻ ্͕ΈࠐΈܕΩϟετͨ࣌͠ɺ Լ͕ΈࠐΈܕ͔Β)PHF Ωϟετ͞Εͨ࣌ʹ࣮ߦ͞ΕΔɻ ·Ͱͷ
ฦ٫͢Δܕ ݴޠػೳ
$BTU $ ·Ͱͷ ໌ࣔతʹΩϟετ ݴޠػೳ
$ w lJNQMJDJUz҉తͳΩϟετɺzFYQMJDJUz໌ࣔతͳΩϟε τΛ࣮͢Δ͜ͱ͕Ͱ͖Δɻ w ͲͪΒBTΩϟετΛ༻ͨ͠ࡍʹݺͼग़͞Εͳ͍ɻ ݴޠػೳ ·Ͱͷ $BTU
ྫ֎ϑΟϧλʔ
$ ྫ֎ϑΟϧλʔ ݴޠػೳ ࢦఆͨ͠ύϥϝʔλ໊͕ ඈΜͰ͖ͯແࢹ͢ΔΑ͏ʹͰ͖Δʂ
FYQSFTTJPO CPEJFE
$ FYQSFTTJPOCPEJFE ݴޠػೳ ͍ࣜͷΈΛ࣋ͭؔΛ Ұߦʹॻ͘͜ͱ͕Մೳʹʂ
$ ݴޠػೳ HFUPOMZͳϓϩύςΟʹ ॻ͘͜ͱ͕Ͱ͖ͨΓʂ FYQSFTTJPOCPEJFE
λϓϧ
$ λϓϧ ݴޠػೳ ҾͷΑ͏ʹΓෳฦͤΔΑ͏ʹͳΕ خ͍͠ͳ͊ͱࢥͬͨ͜ͱ͋Γ·ͤΜ͔ʁ
$ λϓϧ ݴޠػೳ
$ λϓϧ ݴޠػೳ (int Lv, string playerName) mob
= (Lv: 1, playerName: "hoge"); int mobLv = 1; String mobName = “hoge”; λϓϧΛ͏ͱɺ ҾͷΑ͏ͳॻ͖৺Ͱ ແ໊ͷܕΛ࡞Ͱ͖·͢ʂ
$ λϓϧ ݴޠػೳ WBS͑Δʂ ϩʔΧϧมͷܕʹ͑Δʂ δΣωϦοΫܕͷܕҾʹ͑Δʂ Ϧςϥϧ͙͢ʹ͍ΕΒΕΔʂ ཁૉΛղͯ͠ཉ͍͠ͷ͚ͩ
औ͖ͬͯͨΓͰ͖Δʂ
$ λϓϧ ݴޠػೳ $ ະ֬ೝඈߦɹ$ɹ༷ λϓϧߏங࣌ʹͨ͠ม͔Β λϓϧͷཁૉ໊ΛਪͰ͖ΔΑ͏ʹʂ
͝੩ௌ ༗͏ޚ࠲͍·ͨ͠
More Decks by Kutani Mio
See All by Kutani Mio
Unity6で登場!Multiplayer Centerで捗る、オンラインゲーム開発
rossam
1
560
Understanding vtable And Unity’s Memory Layout
rossam
0
460
Unity+C#で学ぶ! メモリレイアウトとvtableのすゝめ 〜動的ポリモーフィズムを実現する仕組み〜
rossam
1
1.1k
GameAIとは.pdf
rossam
0
490
Jenkins自動化入門〜事例を添えて〜
rossam
1
930
ゲームグラフィックスなんもわからんから脱却しよう
rossam
11
7k
基礎から学ぶ!UE4でC++を交えたAI開発、興味ないですか?
rossam
4
2.2k
C#8.0という未来を垣間見る話
rossam
0
1.6k
レポート「2017 Breakthroughs In Spatial Audio Technologies 」
rossam
0
580
Other Decks in Programming
See All in Programming
プロジェクトコードをキレイキレイしよう!暗黙的な参照を読み解く静的解析
ostk0069
0
210
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
6
2.3k
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
4
4.5k
Seven New Principles of Software Engineering
yegor256
0
500
baseline으로 마이그레이션, 리팩토링 안전하게 맡기기
fornewid
1
980
AIがコードを書いてくれる時代、我々は何を確かめるのか
yosuke_furukawa
PRO
13
6k
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
1.7k
仕様駆動開発入門 (何を作るかを先に決めて渡す) | 目指せ Kiro マスター 05
inariku
PRO
2
160
AI時代のTerminal環境を UNIX哲学で設計・運用する
yasunori0418
1
350
AI時代のFlutter品質設計 — アプリ品質を守るQuality Layers
omatty198
0
380
高橋メソッドでCVE解説シリーズ 〜CVE-2026-112816〜
hakkadaikon
0
260
AI Augmentation Techniques with Liberty
ivargrimstad
1
480
Featured
See All Featured
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
Everyday Curiosity
cassininazir
0
400
The Mindset for Success: Future Career Progression
greggifford
PRO
0
560
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
490
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
480
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
400
Unsuck your backbone
ammeep
672
58k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
690
Thoughts on Productivity
jonyablonski
76
5.5k
We Are The Robots
honzajavorek
0
440
Scaling GitHub
holman
464
140k
How to Think Like a Performance Engineer
csswizardry
28
2.9k