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.5k
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
710
テスト実行時に 不要な初期化コードを実行しないようにする
knagadou
4
1.5k
Other Decks in Programming
See All in Programming
プロダクト志向なエンジニアがもう一歩先の価値を目指すために意識したこと
nealle
0
130
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
400
テストから始めるAgentic Coding 〜Claude Codeと共に行うTDD〜 / Agentic Coding starts with testing
rkaga
13
4.7k
レベル1の開発生産性向上に取り組む − 日々の作業の効率化・自動化を通じた改善活動
kesoji
0
230
#QiitaBash MCPのセキュリティ
ryosukedtomita
1
1.4k
ふつうの技術スタックでアート作品を作ってみる
akira888
1
890
チームのテスト力を総合的に鍛えて品質、スピード、レジリエンスを共立させる/Testing approach that improves quality, speed, and resilience
goyoki
5
920
生成AI時代のコンポーネントライブラリの作り方
touyou
1
230
0626 Findy Product Manager LT Night_高田スライド_speaker deck用
mana_takada
0
180
AI時代のソフトウェア開発を考える(2025/07版) / Agentic Software Engineering Findy 2025-07 Edition
twada
PRO
91
30k
すべてのコンテキストを、 ユーザー価値に変える
applism118
3
1.3k
XP, Testing and ninja testing
m_seki
3
250
Featured
See All Featured
Adopting Sorbet at Scale
ufuk
77
9.5k
Designing for Performance
lara
610
69k
KATA
mclloyd
30
14k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Side Projects
sachag
455
42k
Navigating Team Friction
lara
187
15k
RailsConf 2023
tenderlove
30
1.1k
Building Applications with DynamoDB
mza
95
6.5k
Facilitating Awesome Meetings
lara
54
6.4k
Into the Great Unknown - MozCon
thekraken
40
1.9k
Being A Developer After 40
akosma
90
590k
The Cult of Friendly URLs
andyhume
79
6.5k
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