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
ハッカソンにおけるiOSアプリ開発での学びと楽しさ
Search
ojun
May 22, 2023
Technology
1
350
ハッカソンにおけるiOSアプリ開発での学びと楽しさ
ojun
May 22, 2023
Tweet
Share
More Decks by ojun
See All by ojun
アセットのコンパイルについて
ojun9
0
120
Exit 8 for SwiftUI
ojun9
1
200
Swift Evolution かるた
ojun9
2
110
Xcode 16のPreviewModifierと@Previewableを活用した効率的なプレビュー方法の考察
ojun9
4
890
Catch Up with Swift 5.10
ojun9
2
850
Overview: Swift OpenAPI Generator
ojun9
3
2.3k
if 式と switch 式による SwiftUI のプレビューエラー対策
ojun9
1
1.9k
楽しい夏休み!String Catalogs で新しい発見
ojun9
0
2.3k
ユニットテストを学んだ次に知りたかったApple標準APIに対するテストのやり方
ojun9
1
440
Other Decks in Technology
See All in Technology
MCPで変わる Amebaデザインシステム「Spindle」の開発
spindle
PRO
3
3.2k
「どこから読む?」コードとカルチャーに最速で馴染むための実践ガイド
zozotech
PRO
0
280
落ちる 落ちるよ サーバーは落ちる
suehiromasatoshi
0
150
機械学習を扱うプラットフォーム開発と運用事例
lycorptech_jp
PRO
0
230
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.7k
ChatGPTとPlantUML/Mermaidによるソフトウェア設計
gowhich501
1
130
Skrub: machine-learning with dataframes
gaelvaroquaux
0
120
生成AI時代のデータ基盤設計〜ペースレイヤリングで実現する高速開発と持続性〜 / Levtech Meetup_Session_2
sansan_randd
1
150
ガチな登山用デバイスからこんにちは
halka
1
230
Flutterでキャッチしないエラーはどこに行く
taiju59
0
220
S3アクセス制御の設計ポイント
tommy0124
3
190
テストを軸にした生き残り術
kworkdev
PRO
0
190
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
512
110k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Side Projects
sachag
455
43k
The Language of Interfaces
destraynor
161
25k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Docker and Python
trallard
45
3.6k
Why Our Code Smells
bkeepers
PRO
339
57k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
51
5.6k
Into the Great Unknown - MozCon
thekraken
40
2k
Transcript
%F/"º4503&4ºϥΫϚJ04.FFUVQɹ!ौ୩εΫϥϯϒϧεΫΤΞɹ ϋοΧιϯʹ͓͚ΔJ04ΞϓϦ։ ൃͰͷֶͼͱָ͠͞ PKVOKVO*[VUTV
w ϋοΧιϯͰԿΛ࡞͔ͬͨ w 9DPEF$MPVE w Χϥʔఆٛͱ࣮ w ֶͼ w ·ͱΊ
w Ұ൪࣮͕େมͩͬͨը໘ͷʢ͕࣌ؒ͋Εʂʣ ࣍
ࣗݾհʢPKVOʣ w ໊લ+VO*[VUTV w J04ΤϯδχΞ w ৽ଔೖࣾ w (8ʹಉظͰࢀՃͰ͖ΔਓͨͪͰϋοΧ ιϯʹࢀՃͨ͠
ϋοΧιϯͰԿΛ࡞͔ͬͨ %F/"ͷϓϩμΫτͱແؔͰ͢ʂ༗ࢤͰ࡞ͬͨϓϩμΫτʹͳΓ·͢
None
None
None
None
None
None
None
None
None
None
None
None
6*,JUΛ༻
None
9DPEF$MPVE
w ڥߏஙͰNVTUͰߟ͑ͳ͍ͱ͍͚ͳ͍͜ͱ w JOIPVTF#VJMEΛ࡞Δʁ"E)PDʁ5FTU'MJHIUʁ w ʢJOIPVTFʹؔͯ͠FOUFSQSJTFͷΞΧϯτ͕ͳ͍ͱ͑ͳ͍ʣ w 5FTU'MJHIUͷ֎෦ςετΛར༻͢Δ͜ͱΛܾΊͨ ϏϧυΛͲ͏ͬͯΈΜͳͱڞ༗͢Δʁ 9DPEF$MPVE
9DPEF$MPVEͷ֓ཁ 9DPEF$MPVE w 9DPEFʹΈࠐ·Εͨ$*$*αʔϏε w "QQMF͕"QQMFσϕϩούͷͨΊʹ։ൃ w Ϗϧυɺෳͷࣗಈςετͷฒྻ࣮ߦɺςελʔͷ "QQͷ৴ͳͲͷΫϥυϕʔεͷπʔϧΛҰ͔ॴͰར ༻Մೳ
w ͍ͭ͢͝
1VTI NFSHF ίϛϡχέʔγϣϯ Ϗϧυ Ϗϧυ
w Ϗϧυ͕ऴΘͬͨλΠϛϯάͰϝʔϧ͕དྷΔͷͰ ʢϏϧυ͕མͪͯͨ߹ʣ͙͢ʹमਖ਼Մೳ w ݁Ռʹؔͯ͠ɺTFDUJPOʹ͔ΕͯͯΈ͍͢ w 7JFX#VJME3FQPSUϘλϯΛ༻ҙͯ͘͠Ε͍ͯΔ "QQMFͷ༏͠͞
ϝʔϧ͕Θ͔Γ͍͢ 9DPEF$MPVE
w ॳճͷΈ৹͕ࠪඞཁ w ̎ճҎ߱৹͕ࠪൃੜ͠ͳ͍ ʢόʔδϣϯΞοϓ͢Δͱൃੜ͢Δ͔ʣ w 9DPEF$MPVEͷϏϧυ͕ऴΘͬͨΒଈ࣌ʹ ˠͷϝʔϧ͕ಧ͘
w ʢ࣮ΞϓϦ͜͏ͳͬͯ΄͍͠ʣ ֎෦ςετͬͯ৹ࠪೖΒͳ͍ͷʁ 9DPEF$MPVE
w ࠷ॳʹ3TXJGUΛಋೖ͍ͯͨ͠ w 9DPEF$MPVEͰͳ͔ͥQFSNJTTJPO&SSPS͕ൃੜͯ͠ɺ3TXJGU͕͑ͳ ͔ͬͨͷͰΉͳ͘ണ͕ͨ͠ w ࣮ߦϑΝΠϧࣗମΛϏϧυʹΈࠐΜͩΒಈ͘Β͍͕͠ɺڥߏஙͰ࣌ ؒΛ৯͏ͷҧ͏ͱஅ͠ɺϕλॻ͖ʹస w ͪͳΈʹɺ(JU)VCͷJTTVFͰٞ͞Ε͍ͯΔ
3TXJGU͕ಈ͔ͳͯ͘ണ͕͢͜ͱʹͳͬͨ 9DPEF$MPVE
3TXJGU͕ಈ͔ͳͯ͘ണ͕͢͜ͱʹͳͬͨ 9DPEF$MPVE w λΠϜϦʔͳهࣄ w ͷੌ͔͘Γ͍͢هࣄͳͷ Ͱ͓͢͢ΊͰ͢ʂ
3TXJGU͕ಈ͔ͳͯ͘ണ͕͢͜ͱʹͳͬͨ 9DPEF$MPVE w λΠϜϦʔͳهࣄ w ͷੌ͔͘Γ͍͢هࣄͳͷ Ͱ͓͢͢ΊͰ͢ʂ w (JU)VCͷJTTVFʹొ͞ Ε͍ͯ·͢ʂ
Χϥʔఆٛͱ࣮
ςʔϚΧϥʔΛઃఆͰ͖Δ Χϥʔఆٛͱ࣮ w ͜ͷΞϓϦʹ།ҰͱͳΔςʔϚΧϥʔ͕ଘࡏͯ͠ͳ͍ w ͳͷͰϢʔβͷઃఆʹΑͬͯΧϥʔΛग़͚͠Δ ඞཁ͕͋Δ w ˠͷը૾ͩͱࢵ৭͕ςʔϚΧϥʔͱͳͬͯΔ
None
Χϥʔఆٛͱ࣮ Χϥʔఆٛͱ࣮ w ৭શ෦ͰUZQF w ബΊͷ৭͔Β҉͍৭·Ͱଘࡏ͍ͯ͠Δ w ֤৭ʹରͯ̐͠ʙͭͷ৭͕͋Δ
࡞ͬͨਓ͍͢͝ʂ Χϥʔఆٛͱ࣮ w ࠷ॳ͔Β৭ʹରͯ͠ʮʯʮʯ ͳͲͷ໊લׂ͕ΓৼΒΕ͍ͯΔ w )FYจࣈͱͯ͠ॻ͍ͯ͘Ε͍ͯΔ w ݟ͍͢ߏ
w ࠷ॳ͔Β৭ʹରͯ͠ʮʯʮʯ ͳͲͷ໊લׂ͕ΓৼΒΕ͍ͯΔʢ࠶ʣ
"TTFUT Χϥʔఆٛͱ࣮ w ࠷ॳ͔Β৭ʹରͯ͠ʮʯʮʯ ͳͲͷ໊લׂ͕ΓৼΒΕ͍ͯΔʢ࠶ʣ w ໊લ͕ৼΒΕ͍ͯΔͷͰɺ࣮͢Δࡍ໊લ௨Γʹ ৭Λఆٛ͢Εྑ͍
w ޙ͔Β৭ʹରͯ͠ίϛϡχέʔγϣϯ͢Δࡍʹ ίϛϡχέʔγϣϯͷ্࣭͕͕Δ
"TTFUT Χϥʔఆٛͱ࣮
"TTFUT Χϥʔఆٛͱ࣮
"TTFUT Χϥʔఆٛͱ࣮
"TTFUT Χϥʔఆٛͱ࣮
None
Χϥʔఆٛͱ࣮ Χϥʔఆٛͱ࣮ w ͜ͷΞϓϦʹ།ҰͱͳΔςʔϚΧϥʔ͕ଘࡏͯ͠ͳ͍ w ͳͷͰϢʔβͷઃఆʹΑͬͯΧϥʔΛग़͚͠Δ ඞཁ͕͋Δ w ˠͷը૾ͩͱࢵ৭͕ςʔϚΧϥʔͱͳͬͯΔ
SFEͱHSFFOʮʯͰͦΕҎ֎ʮʯ
FOVNͰUZQFΛఆٛ Χϥʔఆٛͱ࣮
4USPOH$PMPSͱ࣮ͯ͠ Χϥʔఆٛͱ࣮
৭Λอଘ͢Δॲཧ Χϥʔఆٛͱ࣮
৭Λอଘ͢Δॲཧ Χϥʔఆٛͱ࣮
ݺͼग़͠ Χϥʔఆٛͱ࣮ w ࠷ऴతʹ࡞ΒΕͨFYUFOTJPO w ֎෦͔Β͜ͷFYUFOTJPOΛݺͼग़͢ w ʢTUSPOH$PMPSఆٛͯ͠ͳ͍ʜʣ w ଞͷFYUFOTJPOQSJWBUFʹͰ͖ͦ͏
ֶͼ
σβΠφʔͷํͱͷίϛϡχέʔγϣϯ ֶͼ w σβΠφʔͷํͱͷίϛϡχέʔγϣϯΛஸೡʹऔΔඞཁ͕͋Δ w ։ൃεϐʔυͷ্ͷͨΊ w Ռͷ࣭Λ্ͤ͞ΔͨΊ w ϋοΧιϯ͚ͩͰͳ࣮͘Ͱॏཁ
σβΠφʔͷํͱͷίϛϡχέʔγϣϯ ֶͼ w J04ΞϓϦ։ൃʹ͓͍ͯɺ"QQMFͷ)*(Λཧղ͢Δ͜ͱॏཁ
σβΠφʔͷํͱͷίϛϡχέʔγϣϯ ֶͼ w σβΠφʔΑΓJ04ΤϯδχΞͷํ͕)*(Λཧղͯ͠Δ͜ͱଟʑ͋Δ w ͍͍ѱ͍Ͱͳ͍
σβΠφʔͷํͱͷίϛϡχέʔγϣϯ ֶͼ w )*(ʹͬऔΔ͜ͱͰ"QQMFΒ͠͞J04Β͠͞Λ࣮ݱ͢Δ͜ͱ͕༰қ͘ͳΔ
σβΠφʔͷํͱͷίϛϡχέʔγϣϯ ֶͼ w ͦͷ্ɺඪ४ίϯϙʔωϯτΛ͏߹։ൃεϐʔυ্͕͢Δ
ࣄྫ ֶͼ
None
ͲΜͳײ͕͍͍͔͡ͳʁ
None
λοϓͯ͠มߋ εϫΠϓͯ͠ը໘มߋ εϫΠϓͯ͠มߋ εϫΠϓͯ͠ը໘มߋ
มߋແ͠ λοϓͯ͠ը໘มߋ λοϓͯ͠มߋ λοϓͯ͠ը໘มߋ
มߋແ͠ λοϓͯ͠ը໘มߋ λοϓͯ͠มߋ λοϓͯ͠ը໘มߋʢͳ͠ʣ
None
มߋεΫϩʔϧ ը໘มߋTFHNFOU$POUSPMΛ͏
σβΠφʔͷํͱͷίϛϡχέʔγϣϯ ֶͼ w ͪΖΜ)*(ʹશ४ڌ͢Δ͜ͱ͕తͰͳ͍ w ΞϓϦ͕࡞Γ͍ͨՁ؍ੈք؍ͱσβΠϯΛൺɺΑΓྑ͍બɾఏҊΛ ߦ͏͜ͱ͕ॏཁ w ্هͷΑ͏ͳখ͞ͳΓͱΓΛੵΈॏͶΔ͜ͱ͕ϓϩμΫτͷʹͭ ͳ͕Δͱࢥ͏
w ͜ͷॏཁੑΛ࠶ೝࣝͰ͖ͨͷ͕ݸਓతͳ͍ͪΜͷֶͼͰͨ͠
·ͱΊ
ϋοΧιϯʹ͓͚ΔJ04ΞϓϦ։ൃͰͷֶͼͱָ͠͞ ·ͱΊ w ࣗୡ͕ීஈ͍ͬͯΔͰಈ࡞͢ΔΞϓϦΛ࡞Δ͜ͱ͕Ͱ͖Δ w λʔήοτΛܾఆ͠ɺͦͷϢʔβͷ͜ͱΛߟ͑ͯϓϩμΫτΛ࡞Δ͜ͱ͕Ͱ ͖Δ w ίϛϡχέʔγϣϯͷॏཁੑΛ࠶ೝࣝ͢Δ͜ͱ͕Ͱ͖ͨ w
J04ΞϓϦ։ൃϋοΧιϯ৺͔Βָ͠Ί·ͨ͠ʂ
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ✨
ࢀߟҾ༻จݙ w IUUQTEFWFMPQFSBQQMFDPNEFTJHOIVNBOJOUFSGBDFHVJEFMJOFT w IUUQTRJJUBDPNMPWFFJUFNTECEBDBGFF w IUUQTRJJUBDPN.BTBUBLBOJUFNTDGEE w IUUQTEFWFMPQFSBQQMFDPNKQYDPEFDMPVE w
IUUQTHJUIVCDPNNBDDBJO3TXJGUJTTVFT