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
330
ハッカソンにおけるiOSアプリ開発での学びと楽しさ
ojun
May 22, 2023
Tweet
Share
More Decks by ojun
See All by ojun
Swift Evolution かるた
ojun9
2
99
Xcode 16のPreviewModifierと@Previewableを活用した効率的なプレビュー方法の考察
ojun9
4
700
Catch Up with Swift 5.10
ojun9
2
780
Overview: Swift OpenAPI Generator
ojun9
3
1.9k
if 式と switch 式による SwiftUI のプレビューエラー対策
ojun9
1
1.6k
楽しい夏休み!String Catalogs で新しい発見
ojun9
0
2.1k
ユニットテストを学んだ次に知りたかったApple標準APIに対するテストのやり方
ojun9
1
410
Other Decks in Technology
See All in Technology
分解して理解する Aspire
nenonaninu
1
130
Platform Engineeringは自由のめまい
nwiizo
4
2.1k
あれは良かった、あれは苦労したB2B2C型SaaSの新規開発におけるCloud Spanner
hirohito1108
2
580
2025-02-21 ゆるSRE勉強会 Enhancing SRE Using AI
yoshiiryo1
1
330
AndroidデバイスにFTPサーバを建立する
e10dokup
0
250
プロダクトエンジニア構想を立ち上げ、プロダクト志向な組織への成長を続けている話 / grow into a product-oriented organization
hiro_torii
1
180
ハッキングの世界に迫る~攻撃者の思考で考えるセキュリティ~
nomizone
13
5.2k
株式会社EventHub・エンジニア採用資料
eventhub
0
4.3k
PHPで印刷所に入稿できる名札データを作る / Generating Print-Ready Name Tag Data with PHP
tomzoh
0
100
30分でわかる『アジャイルデータモデリング』
hanon52_
9
2.7k
Swiftの “private” を テストする / Testing Swift "private"
yutailang0119
0
130
データの品質が低いと何が困るのか
kzykmyzw
6
1.1k
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
Why Our Code Smells
bkeepers
PRO
336
57k
Git: the NoSQL Database
bkeepers
PRO
427
64k
GitHub's CSS Performance
jonrohan
1030
460k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
Fireside Chat
paigeccino
34
3.2k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
GraphQLとの向き合い方2022年版
quramy
44
13k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
330
Rebuilding a faster, lazier Slack
samanthasiow
80
8.8k
Unsuck your backbone
ammeep
669
57k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.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