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
もしあなたがアウトゲーム(UI)を つくることになったら with Unity
Search
Masataka Kohagura
August 03, 2019
Programming
0
2k
もしあなたがアウトゲーム(UI)を つくることになったら with Unity
Masataka Kohagura
August 03, 2019
Tweet
Share
More Decks by Masataka Kohagura
See All by Masataka Kohagura
ローカライズシステムを作った話
masakoha
0
270
Other Decks in Programming
See All in Programming
QA環境で誰でも自由自在に現在時刻を操って検証できるようにした話
kalibora
1
140
EC2からECSへ 念願のコンテナ移行と巨大レガシーPHPアプリケーションの再構築
sumiyae
3
590
Оптимизируем производительность блока Казначейство
lamodatech
0
950
為你自己學 Python
eddie
0
520
AWSのLambdaで PHPを動かす選択肢
rinchoku
2
390
AWS re:Invent 2024個人的まとめ
satoshi256kbyte
0
100
DevinとCursorから学ぶAIエージェントメモリーの設計とMoatの考え方
itarutomy
0
140
カンファレンス動画鑑賞会のススメ / Osaka.swift #1
hironytic
0
170
DMMオンラインサロンアプリのSwift化
hayatan
0
180
Flatt Security XSS Challenge 解答・解説
flatt_security
0
730
20241217 競争力強化とビジネス価値創出への挑戦:モノタロウのシステムモダナイズ、開発組織の進化と今後の展望
monotaro
PRO
0
280
return文におけるstd::moveについて
onihusube
1
1.4k
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
5
210
Code Reviewing Like a Champion
maltzj
521
39k
Building Better People: How to give real-time feedback that sticks.
wjessup
366
19k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
870
Gamification - CAS2011
davidbonilla
80
5.1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
Why Our Code Smells
bkeepers
PRO
335
57k
How to train your dragon (web standard)
notwaldorf
89
5.8k
Code Review Best Practice
trishagee
65
17k
Docker and Python
trallard
43
3.2k
Agile that works and the tools we love
rasmusluckow
328
21k
Transcript
Έͳ͞ΜɺΞτήʔϜͮ͘ Γ͖Ͱ͔͢ʁ
ͦͦΞτήʔϜͬͯԿʁ
͋ΔήʔϜͷύʔτͷେ෦͕ 6*ʹΊΒΕ͓ͯΓɺͦΕΒ6* Λ৮Δ͜ͱʹΑͬͯԿ͔͠ΒͷΞ ΫγϣϯΛى͜͢ήʔϜύʔτͷ ૯শ ͱ೦ͷͨΊʹఆ͓ٛͯ͘͠ ࠓճͷΞτήʔϜͷఆٛ
6*ͷྔ͕ଟ͗ͯ͢େมʂ
͜ΕΛ࡞Δ͜ͱʹͳͬͨΒɺ· ͣԿΛߟ͑Δɾɾɾʁ
ࠓճɺͦΜͳ͓
͋͠ͳ͕ͨΞτήʔϜ 6* Λ ͭ͘Δ͜ͱʹͳͬͨΒXJUI6OJUZ ݹਖ਼ོ 4BU 6OJUZ6*ΤϯδχΞϦϯάษڧձ
ࣗݾհ w ݹਖ਼ོ ͙͜Β·͔ͨ͞ w !NBTBLPIB w ϑϦʔϥϯε ϲ݄
w ͷΜͼΓ͠ͳ͕Β౦ژ ήʔϜγϣʹ͚ͯΞ τήʔϜ6*ؚΊͨ ج൫ܥΛ࡞͍ͬͯ·͢
ࣗݾհ w ݄d݄ 7ϥΠόʔࢹௌΞϓϦ ʮ*3*".ʯΛ࡞͍ͬͯ ·ͨ͠ 6*पΓશൠ
ͲΜͳΛ͢Δͷ͔ w ΞτήʔϜΛ͔Β࡞͍ͬͯͬͨ w ։ൃ͔ΒӡӦ·ͰͷΞτήʔϜ࡞ͷྲྀΕͷ w ίʔυΛΰϦΰϦॻ͍ͯ6*Λ࡞͍ͬͯ͘ w V(6*ܥͷ΄ͱΜͲ͠·ͤΜ
͓ॻ͖ w ϓϩδΣΫτൃ࣌ʹ͓͖͍ͬͯͨ͜ͱ w 6*࣮ͷෳਓ։ൃͷޮԽ w ͨ͘͞ΜͷػೳΦʔϓϯιʔεϑϨʔϜϫʔ ΫΛͭͬͨ͘
ୈҰষ ϓϩδΣΫτൃ࣌ʹ͓ͬͯ ͖͍ͨ͜ͱ
*3*".࠷ॳظͷ w ࢲ*3*".ϓϩδΣΫτൃ࣌ʹࢀՃ w 6OJUZΤϯδχΞࢲؚΊͯਓ w ਓΩϟϥΫλʔͷϞʔγϣϯΛಈ͔͢ w ਓ௨৴෦ w
ਓΞΠςϜ࡞ σβΠφʔ݉ w ਓ6*શൠࢲ
6*Ұਓ͚ͩ
6*ͷਐঢ়گ
Ͳ͏࡞͍ͬͯ͜͏͔ w ࠷ॳ͔ΒϦϦʔε࣌ظ΄΅ܾ·͍ͬͯͨɻ w 6*ྔ͕ଟ͍ͷͰɺҰਓͰΔʹͯ͠શવ ͕࣌ؒΓͳ͍ 6*ਓһ૿ͯ͠ͱૣΊʹ૬ ஊ w
6*ਓһ݄ ݄ ݄ʹਓͣͭ૿͍͑ͯͬͨ w ͦΕ·ͰʹࣗͰ6*ܥͷڞ௨ج൫Λ࡞ͬͯɺͱ Γ͋͑ͣΨϫ͚ͩҰ௨Γը໘Λ࡞Δํʹ
࣮ΛਐΊΔલʹͨ͜͠ͱ w ༻ޠͷ౷Ұ w ίʔυنͷ౷Ұ w ಈ࡞ج४ͱಈ࡞ର w $BOWBT0SEFSͷઃఆ w
։ൃελΠϧͷ
༻ޠͷ౷Ұ w ༻ޠͷ౷Ұ w ϙοϓΞοϓ Ϟʔμϧ μΠΞϩά w Ϋϥε໊1SFGBC໊ʹؔΘΔͷͰɺܾΊͯ
͓͔ͳ͍ͱमਖ਼͕େม w ࣄΛ͖ͯͨ͠ڥ֤ʑʹΑͬͯҧ͏ɻಉ͡ ݴ༿Ͱҧ͏ҙຯΛ͍ࣔͯ͠Δ͜ͱ͋Δͷ ͰɺೝࣝΛ౷Ұ͓ͯ͘͠
ίʔυنͷ౷Ұ w ༻ޠͷ౷Ұͱಉ͡ w ༨ஊ͚ͩͲɺN@IPHFIPHFͱ໋໊͞ΕΔͱɺ ࢲͭΒ͍ ͭΒ͍
ಈ࡞ج४ͱಈ࡞ର w ݄࣌ɺJ1IPOF9ग़͍ͯͨͷ ͷɺ4BGF"SFBͷରԠͳͲʹ֤͕ࣾΘΕ͍ͯ ͨ࣌ظ w J1IPOF9ͷإೝࣝΛ༻͢ΔΞϓϦͳͷͰɺ J1IPOF9ͷղ૾Λج४ʹͨ͠6*Λ࡞Δ͜ͱ ʹ w
$BOWBT4DBMFSʹө
ಈ࡞ج४ͱಈ࡞ର w ͜ͷઃఆͰී௨ͷͩͱɺ্Լ͕ΕΔ ͜ͱΛߟྀͯ͠σβΠϯ͢Δඞཁ͕͋ΔͷͰɺ σβΠφʔͷํҙ
$BOWBT0SEFSͷઃఆ w 6*ͷϨΠϠʔΛܾΊͯ ͓͘ w 6*ͷཁૉʹɺͳʹ͔ Λදࣔ͢Δը໘͚ͩͰ ͳ͘ɺͦͷը໘ͷϒ ϩοΩϯάɺϙοϓ ΞοϓͳͲɺ༷ʑͳϨ
ΠϠʔ͕ଘࡏ͢Δ Canvas Order WarningBlocking 50 Warning 40 PopupBlocking 30 Popup 20 Blocking 10 جຊͷදࣔ 0
$BOWBT0SEFSͷઃఆ w "TTFU4UPSFͳͲͷ "TTFUʹɺV(6*Λར༻ ͨ͠"TTFU͋Δɻ w 43%FCVHHFSɺσόο άػೳΛ؆୯ʹ࣮Ͱ͖ Δ"TTFU w
༻͢ΔΞηοτʹΑͬͯ ɺ$BOWBT0SEFSͷઃ ఆ࣍ୈͰཁमਖ਼ Canvas Order SR Debugger 120 WarningBlocking 50 Warning 40 PopupBlocking 30 Popup 20 Blocking 10 جຊͷදࣔ 0
σβΠϯͷ w ͋Β͔͡Ί༷ʑͳཁૉΛ౷Ұ͓͍ͯͨ͠΄͏͕ Α͍ w ϑΥϯτ w Ϙλϯͷେ͖͞ w ্ԼࠨӈͷϚʔδϯ෯
w ৭ ͜ͷϓϩδΣΫτʹ͓͍ͯͷ$$
ୈೋষ 6*ͷ࣮ෳਓ։ൃͷޮԽ
.71ΞʔΩςΫνϟΛ࠾༻ w ղઆͯͨ͠Β͜Ε͚ͩͰ͕͔͔࣌ؒΓͦ͏ͳͷ Ͱɺ͓͢͢ΊͷղઆϖʔδΛҎԼʹ w ͋ΔఔͷറΓΛ͢Δ͜ͱʹΑͬͯɺʮͲ͏ ͬͯίʔυΛॻ͚͍͍ʁʯΛආ͚Δ w 8FCग़ͷ6OJUZΤϯδχΞʹΑΔେنήʔ Ϝͷج൫ઃܭ
$ZCFS"HFOU٢ IUUQTEFWFMPQFSTDZCFSBHFOUDPKQCMPH BSDIJWFT
ڞ௨ύʔπΛ࡞Δ w ֦ॖ͢ΔϘλϯΛ࡞Δ w ΤσΟλ֦ுͰV(6*ͷϘλϯͱಉ༷ʹΦϦ δφϧϘλϯ͕ੜ͞ΕΔΑ͏ʹ w V(6*ͷػೳ͚ͩͰɺΞχϝʔγϣϯΛ ͏͜ͱͰ࣮Մೳ͕ͩɺͳΔ͘ࢲͦͷ ΞχϝʔγϣϯίʔυͰॻ͖͔ͨͬͨͷͰ
6*#VUUPOΛ֦ு
ڞ௨ύʔπΛ࡞Δ w ී௨ͷΫϦοΫɺԡ͠ ͨͱ͖ɺͨ͠ͱ͖ɺ ԡͨ͠͠ͱ͖ʹରԠ
ڞ௨ύʔπΛ࡞Δ w ϙοϓΞοϓػೳͷ࡞ w ϙοϓΞοϓ༷ʑͳॴ͔ΒݺΕΔͷͰɺ 4JOHMFUPO.POP#FIBWJPVSΛܧঝͯ͠ 1PQVQ.BOBHFSΛͭ͘Δɻ w ίʔυΛղઆ͠Α͏ͱࢥ͚ͬͨͲɺ͔ͳΓΊΜ Ͳ͍͘͞ͷͰɺࡉ͔͍࣮ʹ͍ͭͯ࠙ձͷ
ͱ͖ʹͰ
ڞ௨ύʔπΛ࡞Δ
ը໘ભҠج൫Λ࡞Δ w γʔϯભҠը໘ભҠͷϑϨʔϜϫʔΫΛ࡞ͯ͠ɺ ͦͷ্ʹ༷ʑͳը໘Λ࣮͍ͯ͘͠ɻ w Ͳ͜ͷը໘ಉ͡Α͏ʹ࣮͕Ͱ͖ΔΑ͏ʹͳΔͷ Ͱɺ࣮͍ͯ͠ͳ͍ଞͷਓ͕ݟͯେମͷྲྀΕ͕Θ͔ Δɻ౷Ұײ͕ग़Δɻ w ʰ$MJPOFʱͱ͍͏Φʔϓϯιʔεͷը໘ભҠج൫࡞ͬ
ͯ·͢ɻ ͳ͓%PDVNFOU IUUQTHJUIVCDPN.BTB,PIB$MJPOFSFMFBTFT UBHW
ը໘ભҠج൫Λ࡞Δ ޙչ w *3*".ͰυϦϧμϯϏϡʔ J1IPOFͷઃఆ ը໘Έ͍ͨʹ۷ΓਐΜͰ͍͘ը໘ભҠ w ʰ$MJPOFʱʹ࣮ࡁΈ w
*3*".Ͱɺ৽نొը໘ͱઃఆը໘͕υϦϧ μϯϏϡʔ
ը໘ભҠج൫Λ࡞Δ ޙչ w ઃఆը໘ͷΨϫΛͯ͢࡞ΓऴΘͬͨͱ͖ʹ ʮ͋Εʁ͜Ε$MJPOFʹ͍࣋ͬͯͬͯϥΠϒ ϥϦԽͨ͠΄͏͕Α͘ͳ͍ʁʯߟ͑ͨ w ΛͬͯϥΠϒϥϦԽ։࢝ w ͦͷؒʹઃఆը໘͍Ζ͍Ζ࣮͞Ε͍ͯ͘
w ϥΠϒϥϦ͕ग़དྷͨ͋ͱʹ৽نొը໘Λͦͷ ϥΠϒϥϦͰ࣮
ը໘ભҠج൫Λ࡞Δ ޙչ w ઃఆը໘͜ͷϥΠϒϥϦʹҠߦ͠Α͏ͱܾҙ w ʮಠ࣮͕ࣗೖ͍ͬͯΔɾɾɾʯ ʮ͜ͷ௨৴ॲཧ͕Ҿ͖ണ͕ͤͳ͍ɾɾɾʯ ʮͱ͍͏͔ɺੲͷࣗͷιʔείʔυԚ͍ʯ
ը໘ભҠج൫Λ࡞Δ ޙչ
ը໘ભҠج൫Λ࡞Δ ޙչ w ݁ہࣙΊΔ·Ͱ͜ͷղܾͰ͖ͣ w ࠷ॳ͔ΒΒͳ͍ͱಠ࣮͕ࣗೖͬͯɺͲΜͲ ΜҠߦͰ͖ͳ͘ͳΔ
ୈࡾষ ͨ͘͞ΜͷػೳΦʔϓϯιʔ εϑϨʔϜϫʔΫΛ࡞ͬͨ
࡞ͬͨػೳ w $MJPOFը໘ભҠج൫ܥɾ6*ܥ w *DBSVTϩʔΧϥΠζγεςϜ w .714DSJQU(FOFSBUPS6OJUZ.71ύλʔϯ ͷιʔείʔυΛҰׅੜ
$MJPOF w IUUQTHJUIVCDPN.BTB,PIB$MJPOF w ୈೋষͰେମͨ͠ w ͜Ε͔Β6*ͷը໘ભҠͰϥΠϒϥϦԽͨ͠ ͍ͷ͕ग़͖ͯͨΒՃ͍ͯ͘͠༧ఆ
*DBSVT w IUUQTHJUIVCDPN.BTB,PIB*DBSVT w ϩʔΧϥΠζγεςϜ
*DBSVT w ॳظԽ࣌ʹ5BSHFU-BOHVBHFͱ%FGBVMU -BOHVBHFΛೖྗɻೖྗͨ͠ݴޠʹԠͯ͡ LFZʹର͢Δจݴ͕ग़ྗ͞ΕΔ w ΤσΟλ֦ுͰɺ,FZͷ&OVNΛੜ͢ΔΑ͏ ʹ͍ͯ͠ΔͷͰλΠϓηʔϑ
.714DSJQU(FOFSBUPS6OJUZ w Ϋϥε໊ΛೖΕΔͱɺ.PEFM7JFX1SFTFOUFS ͷͭͷ$ϑΝΠϧΛग़ྗͯ͘͠ΕΔΤσΟλ ֦ு w ͳΜͱOBNFTQBDFࣗಈతʹೖΕͯ͘ΕΔ Αʂ
֎ จࣈͷྗ
ࡢͷதௐࠪΛ͍ͯͨ͠ࢲ w ϑΠϩϯ͞Μ͔Βͷґཔ w Ϣʔβ͔ΒʮήʔϜΛ͢Δͱൃ͕͍͢͝ʯ w ࠷దԽͷґཔ
w IUUQ UBJZPQSPKFDUDP NTVLVNJ[V UFBTFSKB
%ήʔϜ w มͳίʔυͳ͍͠ɺϓϩϑΝΠϥΛோΊͳ͕ ΒεύΠΫ͋Δͱ͍͑Ͳͦ͜·Ͱॏ͘ͳ ͦ͞͏ͩ͠ͳΜͰͩΖ͏ͱᄬͬͯͨ w ·͊ͰεϚϗήʔϜͰॏ͘ͳΔͷͬͯɺίʔ υΑΓϨϯμϦϯά͕ॏ͍ͷ͕େ֓ͳͷͰɺ ͠Β͘'SBNF%FCVHHFSͳͲͰோΊଓ͚ͯ ͨ
w ͦͯ͋͠Δ͜ͱʹؾͮ͘
%ήʔϜ w ʮεΫϛζʯͷϗʔ Ϝը໘ w ͳΜ͔ҧײ
ҧײͷ൜ਓ w %ͷϗʔϜը໘ͳͷʹɺͳͥ5SJTLɺ 7FSUTL͋ΔΜͩɾɾɾʁ
൜ਓͷਖ਼ମ w ͳΜ͔จࣈͬΆ͍ۣܗ͕จࣈ͋ͨΓͷϙϦΰ ϯ͕ΊͬͪΌଟ͍
൜ਓͷਖ਼ମ w จࣈʹ0VUMJOFͱ 4IBEPXͰΤϑΣΫτ Λ͔͚ͯݟͯ͘͢͠ ͍ͨ w ϙϦΰϯ૿େͷཁҼ ͜Ε w
ςϥγϡʔϧϒϩάʹهࣄ͕͋ͬͨΑ ʲ6OJUZʳ5FYU.FTI1SPͷΞτϥΠϯɺV(6*ͷͱൺͯͱͯྑ͍ IUUQUTVCBLJUIBUFCMPKQFOUSZ
൜ਓʹࣄௌऔͯ͠Έͨ ˡલ ˣޙ
จࣈͷݟӫ͑ΛΑ͍ͨ͘͠ͳΒ w V(6*ͷ5FYUʹ4IBEPX0VUMJOFΛ͚ͭΔ ͱɺඳը͕͍ͨΜͳ͜ͱʹͳΔ w 5FYU.FTI1SPΛͳΔ͍ͬͯ͘͘ํ͕Α ͦ͞͏ w ϑΠϩϯ͞Μɺࢿྉఏڙ͋Γ͕ͱ͏͍͟͝·͢ʂ
Ұ௨ΓޠΓͬͨɾɾɾʁ w ·ͩ·ͩޠΓ͍ͨ͜ͱͨ͘͞Μ w ֆจࣈͷจࣈίʔυ Ϣʔβʹֆจࣈೖྗ ͤ͞Δͱେมͳ w *OQVUNVMUJ5PVDI&OBCMFEGBMTFʹͯ͠
ɺٖࣅతʹϚϧνλονͰ͖Δ w "VUP-BZPVUશʹཧղͨ͠FUDʜ
ଓ͖࠙ձͰΓ͔͚ͯͩ͘ ͍͞
·ͱΊ w ΞτήʔϜͮ͘Γྔͱͷઓ͍ w ਓ͕͍Ε؆୯ʹ্͍͚͛ͯΔ w ͕ɺ։ൃΛ্͛Δʹͯ͠ԼΛͭͬͯ͘ ͓͔ͳ͍ͱɺޮ͕ѱ͘ͳͬͯ͠·͏ w ͜ΕͰΈΜͳΞτήʔϜ͕͖ʹͳ͔ͬͨ
ͳʁ
5IBOLZPVGPS-JTUFOJOH