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
Musicアプリのトランジションを再現する
Search
kNagadou
August 31, 2018
Programming
3
2.4k
Musicアプリのトランジションを再現する
iOSDC Japan 2018/8/31 TrackC 15:10~15:40
kNagadou
August 31, 2018
Tweet
Share
More Decks by kNagadou
See All by kNagadou
勇気を出して、Appleにバグレポートを出してみませんか?
knagadou
0
1.1k
iPhoneX対応とScrollViewのcontentInset
knagadou
1
670
テスト実行時に 不要な初期化コードを実行しないようにする
knagadou
4
1.4k
Other Decks in Programming
See All in Programming
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
0
220
プロジェクト新規参入者のリードタイム短縮の観点から見る、品質の高いコードとアーキテクチャを保つメリット
d_endo
1
1.1k
推し活の ハイトラフィックに立ち向かう Railsとアーキテクチャ - Kaigi on Rails 2024
falcon8823
6
2.8k
「今のプロジェクトいろいろ大変なんですよ、app/services とかもあって……」/After Kaigi on Rails 2024 LT Night
junk0612
4
2.1k
Tuning GraphQL on Rails
pyama86
2
1.2k
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
1
280
シェーダーで魅せるMapLibreの動的ラスタータイル
satoshi7190
1
470
EventSourcingの理想と現実
wenas
6
2.3k
Identifying User Idenity
moro
6
9.7k
ペアーズにおけるAmazon Bedrockを⽤いた障害対応⽀援 ⽣成AIツールの導⼊事例 @ 20241115配信AWSウェビナー登壇
fukubaka0825
5
1.5k
Make Impossible States Impossibleを 意識してReactのPropsを設計しよう
ikumatadokoro
0
150
Pinia Colada が実現するスマートな非同期処理
naokihaba
4
220
Featured
See All Featured
A Philosophy of Restraint
colly
203
16k
How to Ace a Technical Interview
jacobian
276
23k
For a Future-Friendly Web
brad_frost
175
9.4k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
7
570
Designing for humans not robots
tammielis
250
25k
Being A Developer After 40
akosma
86
590k
Side Projects
sachag
452
42k
Teambox: Starting and Learning
jrom
133
8.8k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Ruby is Unlike a Banana
tanoku
96
11k
Code Reviewing Like a Champion
maltzj
520
39k
Building an army of robots
kneath
302
42k
Transcript
.VTJDΞϓϦͷ τϥϯδγϣϯΛ࠶ݱ͢Δ ,":"$ٕज़෦ ,B[VNBTB/"("%0 J04%$+BQBO5SBDL$d JPTEDDےΤϯδχΞ
/BNF,B[VNBTB/"("%0 8PSL,":"$d 5XJUUFS!L[NTOHE /1$+/FX(FOFSBUJPO$MBTTJD 1IZTJRVF/PWJDFDN 1SPpMF
ࠓ͔Βग़དྷΔےංେΫΠζ 2 τϨʔχϯά͍࣌ؒ΄͏͕ྑ͍ʁ ͍΄͏͕ྑ͍ʁ
ࠓ͔Βग़དྷΔےංେΫΠζ " τϨʔχϯά͍࣌ؒ΄͏͕ྑ͍ ɹˠʙ͘Β͍͕ͪΐ͏Ͳ͍͍ͱ͞Ε͍ͯΔ τϨʔχϯά͕͍࣌ؒͱʜ ɾےղ͕ਐΈ͗ͯ͢͠·͏ ɹˠےղΛଅਐ͢ΔͱݴΘΕ͍ͯΔίϧνκʔϧ͕૿Ճ͢Δ ɾΦʔόʔτϨʔχϯάʹͳΔ ɹˠճ෮͕͍͔ͭͳ͘ͳΔ ɾूதྗ͕อͯͳ͍
ɹˠոզͷϦεΫ
ˎJ5VOFT"QQ4UPSF IUUQTJUVOFTBQQMFDPNKQBQQMPCJϩϏʔJE NU ˎ"OESPJE IUUQTQMBZHPPHMFDPNTUPSFBQQTEFUBJMT JEDPNLBZBDOBLBNBQIMKB ˎ8FC൛ IUUQTXFCMPCJDP
ήʔϜ߈ུνϟοτ4/4 -PCJ
Ϟʔμϧʹ͍ͭͯ
Ϟʔμϧͱ 8IFOBNPEBMWJFXBQQFBSTPOTDSFFO UIFVTFSNVTUNBLF BDIPJDFCZUBQQJOHBCVUUPOPSPUIFSXJTFFYJUJOHUIF NPEBMFYQFSJFODF "QQMF)VNBO*OUFSGBDF(VJEFMJOF.PEBMJUZΑΓ
Ϟʔμϧͱ ϞʔμϧϏϡʔɺҰ࣌తͳঢ়ଶʢϞʔυʣΛ࡞ͬͯ ಛఆͷΞΫγϣϯΛϢʔβʔʹଅ͢ɻ ˠ͍ͭͰલͷঢ়ଶɾը໘ʹΕΔ͜ͱ͕ Θ͔Δ6*͕ٻΊΒΕΔ
Ϟʔμϧͷྫ ϑϧεΫϦʔϯ
Ϟʔμϧͷྫ Ξϥʔτܕ
Ϟʔμϧͷྫ .VTJDͷϞʔμϧϏϡʔ
Ϟʔμϧͷྫ ϛϡʔδοΫϓϨΠϠʔ ˠΠϯλϥΫςΟϒʹ։ด ˠԻָͷ࠶ੜͱݕࡧ͕ಉ࣌ʹͰ͖Δ
Ϟʔμϧͷྫ ΠϯλϥΫςΟϒͳཁૉ ˎഎܠը໘ͷଘࡏ ˎεϫΠϓͷྔʹԠͨ͡ ɹϞʔμϧϏϡʔͷτϥϯδγϣϯ ˎϞʔμϧϏϡʔ্෦ͷ ɹόλϑϥΠϋϯυϧ
࣮ݱ͍ͨ͜͠ͱ
࣮ݱ͍ͨ͜͠ͱ -PCJͷಛ ήʔϜʹಛԽͨ͠ίϛϡχςΟ
࣮ݱ͍ͨ͜͠ͱ ήʔϜΛ͕͢͞ը໘ΛϦχϡʔΞϧ
࣮ݱ͍ͨ͜͠ͱ ᶃؾʹͳΔήʔϜ͓ؾʹೖΓͷήʔϜΛ͕͢͞ .VTJDΞϓϦͷΑ͏ʹɺΠϯλϥΫςΟϒͳ ϞʔμϧϏϡʔʹ͍ͨ͠ ᶄήʔϜͷίϛϡχςΟίϯςϯπΛ͕͢͞ ϝΠϯίϯςϯπ
࣮ݱ͍ͨ͜͠ͱ
࣮ݱ͍ͨ͜͠ͱ ϞʔμϧϏϡʔτϥϯδγϣϯ ΠϯλϥΫςΟϒͳτϥϯδγϣϯ 6*5BCMF7JFX 6*4FBSDI$POUSPMMFS ֎෦ϥΠϒϥϦΛΘͣʹɺͰ͖Δ͚ͩγϯϓϧɾ࠷ݶͷ ࣮ͰΓ͍ͨ
αϯϓϧίʔυ IUUQTHJUIVCDPNL/BHBEPV.PEBM1SFTFOUBUJPO$VTUPN ্ख͍͔͘ͳͯ͘ϋϚͬͨύλʔϯ͋Γ·͢
ΠϯλϥΫςΟϒͳτϥϯδγϣϯ ࣮ݱ·Ͱͷεςοϓ ̍ɼϞʔμϧτϥϯδγϣϯΛ࣮ ̎ɼΞχϝʔλʔΦϒδΣΫτΛ࣮ ̏ɼΠϯλϥΫςΟϒΞχϝʔλʔΦϒδΣΫτΛ࣮
ϞʔμϧϏϡʔτϥϯδγϣϯ ϞʔμϧτϥϯδγϣϯΛ༗ޮʹ͢Δ αϯϓϧίʔυɿ7JFX$POUSPMMFSN 6*.PEBM1SFTFOUBUJPO$VTUPNΛ7$ʹηοτ͢Δ
ϞʔμϧϏϡʔτϥϯδγϣϯ ϞʔμϧϏϡʔͷഎ໘ʹӨΛ͚Δ αϯϓϧίʔυɿ7JFX$POUSPMMFSN 6*1SFTFOUBUJPO$POUSPMMFSͷαϒΫϥεΛ࡞͠ɺ USBOTJUJPO%FMFHBUFͰฦ͢ ˠ࣮͍ͯ͠ͳ͍ͱɺඪ४ͷ6*1SFTFOUBUJPO$POUSPMMFS͕ར༻ ͞ΕΔɻ IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOVJLJUVJWJFXDPOUSPMMFSUSBOTJUJPOJOHEFMFHBUF
QSFTFOUBUJPODPOUSPMMFSGPSQSFTFOU MBOHVBHFPCKD
ϞʔμϧϏϡʔτϥϯδγϣϯ ϞʔμϧϏϡʔͷഎ໘ʹӨΛ͚Δ αϯϓϧίʔυɿ7JFX$POUSPMMFSN 6*1SFTFOUBUJPO$POUSPMMFSͷαϒΫϥεΛ࡞͠ɺ USBOTJUJPO%FMFHBUFͰฦ͢ ˠ࣮͍ͯ͠ͳ͍ͱɺඪ४ͷ6*1SFTFOUBUJPO$POUSPMMFS͕ར༻ ͞ΕΔɻ IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOVJLJUVJWJFXDPOUSPMMFSUSBOTJUJPOJOHEFMFHBUF
QSFTFOUBUJPODPOUSPMMFSGPSQSFTFOU MBOHVBHFPCKD
ΠϯλϥΫςΟϒͳτϥϯδγϣϯ ΞχϝʔλʔΦϒδΣΫτΛ࣮͢Δ αϯϓϧίʔυɿ$VTUPN.PEBM"OJNBUPSN I 6*7JFX$POUSPMMFS"OJNBUFE5SBOTJUJPOJOHϓϩτίϧ
ΠϯλϥΫςΟϒͳτϥϯδγϣϯ ΞχϝʔλʔΦϒδΣΫτΛ࣮͢Δ αϯϓϧίʔυɿ$VTUPN.PEBM"OJNBUPSN I JT1SFTFOUJOH QSFTFOUͱEJTNJTTͷΞχϝʔγϣϯΛ ͍͚ΔͨΊͷϑϥά
ΠϯλϥΫςΟϒͳτϥϯδγϣϯ ΠϯλϥΫςΟϒΞχϝʔλʔΦϒδΣΫτΛ࣮͢Δ αϯϓϧίʔυɿ %SBHHBCMF1FSDFOU%SJWFO*OUFSBDUJWF5SBOTJUJPON I 6*1FSDFOU%SJWFO*OUFSBDUJWF5SBOTJUJPOͷαϒΫϥε
ΠϯλϥΫςΟϒͳτϥϯδγϣϯ ΠϯλϥΫςΟϒΞχϝʔλʔΦϒδΣΫτΛ࣮͢Δ αϯϓϧίʔυɿ %SBHHBCMF1FSDFOU%SJWFO*OUFSBDUJWF5SBOTJUJPON I ϞʔμϧϏϡʔʹύϯδΣενϟʔΛՃ εϫΠϓྔʹԠͯ͡ɺϞʔμϧϏϡʔͷEJTNJTTΞχϝʔ
γϣϯΛਐΊΔ
ΠϯλϥΫςΟϒͳτϥϯδγϣϯ ΠϯλϥΫςΟϒΞχϝʔλʔΦϒδΣΫτΛ࣮͢Δ αϯϓϧίʔυɿ %SBHHBCMF1FSDFOU%SJWFO*OUFSBDUJWF5SBOTJUJPON I EJTBCMF*OUFSBDUJWF5SBOTJUJPO ΠϯλϥΫςΟϒτϥϯδγϣϯͷແޮϑϥά
ˠύϯδΣενϟʔΛೝࣝͨ͠߹ͷΈΠϯλϥΫςΟϒ τϥϯδγϣϯΛ༗ޮʹ͢ΔͨΊ
6*5BCMF7JFX 6*4FBSDI$POUSPMMFS ΧελϜͷϞʔμϧϏϡʔͰ 6*5BCMF7JFX 6*4FBSDI$POUSPMMFS ͷΈ߹ΘͤΛར༻͠Α͏ͱͨ͠ͱ͜ΖɺࢥΘ͵མͱ͕݀͠ɻ
6*5BCMF7JFX 6*4FBSDI$POUSPMMFS མͱ݀̍͠ ϞʔμϧϏϡʔͷࠨӈʹϚʔδϯΛ͚Α͏ͱ͢Δ J04Ͱ6*4FBSDI$POUSPMMFS6*4FBSDI#BS͕ ্ʹͣΕΔ
6*5BCMF7JFX 6*4FBSDI$POUSPMMFS མͱ݀̎͠ "OJNBUPSͰϞʔμϧϏϡʔͷGSBNFΛม͑Α͏ͱ͢Δ ʢྫ͑ɺҙͷZʹϞʔμϧϏϡʔΛදࣔ͢ΔɺͳͲʣ ˠJ04Ͱ6*4FBSDI$POUSPMMFS6*4FBSDI#BS͕ͣΕΔ
6*5BCMF7JFX 6*4FBSDI$POUSPMMFS ͍Ζ͍ΖͱϞʔμϧϏϡʔΛΧελϚΠζ͠Α͏ͱ͢Δͱɺ 6*4FBSDI$POUSPMMFS͕͍ͮΒ͘ͳ͍ͬͯ͘ʜ
6*5BCMF7JFX 6*4FBSDI$POUSPMMFS 6*5BCMF7JFX 6*4FBSDI#BS 6*4FBSDI#BS%FMFHBUF ͱ͍͏ख͋Δɻ ˠͲͷམͱ݀͠ύλʔϯͰɺ 6*4FBSDI#BSͳΒਖ਼͘͠දࣔͰ͖ͦ͏
·ͱΊ
ΠϯλϥΫςΟϒτϥϯδγϣϯ ࣮ݱ·Ͱͷεςοϓ ̍ɼϞʔμϧτϥϯδγϣϯΛ࣮ 6*.PEBM1SFTFOUBUJPO$VTUPN USBOTJUJPO%FMFHBUF 6*1SFTFOUBUJPO$POUSPMMFSͷαϒΫϥε ̎ɼΞχϝʔλʔΦϒδΣΫτΛ࣮ 6*7JFX$POUSPMMFS"OJNBUFE5SBOTJUJPOJOHΛ࣮
̏ɼΠϯλϥΫςΟϒΞχϝʔλʔΦϒδΣΫτΛ࣮ 6*1FSDFOU%SJWFO*OUFSBDUJWF5SBOTJUJPOͷαϒΫϥε
ΧελϜϞʔμϧϏϡʔͰ6*4FBSDI$POUSPMMFSΛ͏߹ গ͕͠ඞཁ͔͠Εͳ͍ ˠఘΊͯɺ6*4FBSDI#BSͰ࣮ͯ͠͠·͏ͷΞϦͩͱࢥ͏
J04ɺ"OESPJEɺͳͲͳͲ ΤϯδχΞઈࢍืूதʂ
߹ಉτϨʔχϯάઈࢍืूதʂ
͋Γ͕ͱ͏͍͟͝·ͨ͠
Ҿ༻ɾࢀߟ <>IUUQTEFWFMPQFSBQQMFDPNEFTJHOIVNBOJOUFSGBDFHVJEFMJOFTJPTBQQ BSDIJUFDUVSFNPEBMJUZ <>IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOVJLJU VJWJFXDPOUSPMMFSUSBOTJUJPOJOHEFMFHBUF MBOHVBHFPCKD <>IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOVJLJU VJWJFXDPOUSPMMFSBOJNBUFEUSBOTJUJPOJOH MBOHVBHFPCKD <>IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOVJLJU
VJWJFXDPOUSPMMFSJOUFSBDUJWFUSBOTJUJPOJOH MBOHVBHFPCKD IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOVJLJUVJQSFTFOUBUJPODPOUSPMMFS MBOHVBHFPCKD <>IUUQTEFWFMPQFSBQQMFDPNKQEPDVNFOUBUJPOGFBUVSFEBSUJDMFT 7JFX$POUSPMMFS1(GPSJ1IPOF04$VTUPNJ[JOHUIF5SBOTJUJPO"OJNBUJPOT $VTUPNJ[JOHUIF5SBOTJUJPO"OJNBUJPOTIUNMBQQMF@SFGEPDVJE51 $)48 <>IUUQTOPUFNVVTBHJNBSVNBOODDFD