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
Swift Student Challenge Distinguished Winnerに選出...
Search
CyberAgent
PRO
June 03, 2024
Programming
1
310
Swift Student Challenge Distinguished Winnerに選出していただくまで
Swift Student Challengeに提出したアプリの開発について発表します。
CyberAgent
PRO
June 03, 2024
Tweet
Share
More Decks by CyberAgent
See All by CyberAgent
The Composable Architecture (TCA) を用いたAmebaのリアーキテクチャ
cyberagentdevelopers
PRO
0
15
SwiftUI導入から1年、SwiftUI導入とVueFluxライクな状態管理
cyberagentdevelopers
PRO
0
9
大規模プロジェクトにおける段階的な技術刷新
cyberagentdevelopers
PRO
0
20
SwiftUI移行のためのインプレッショントラッキング基板の構築
cyberagentdevelopers
PRO
0
9
Unity6世代のアップデートをサラッとまとめ
cyberagentdevelopers
PRO
0
370
Unity6の新機能 STPについての話
cyberagentdevelopers
PRO
0
190
Unity 6 シェーダーWarmupガイド
cyberagentdevelopers
PRO
0
230
Unity6 の Android周辺の アップデートについて
cyberagentdevelopers
PRO
1
230
ジャンプTOONにおけるサイトマップの自動生成手法について
cyberagentdevelopers
PRO
0
68
Other Decks in Programming
See All in Programming
運用しながらリアーキテクチャ
nealle
0
220
機能が複雑化しても 頼りになる FactoryBotの話
tamikof
1
260
CIBMTR振り返り+敗北から学ぶコンペの取り組み方反省
takanao
1
230
自力でTTSモデルを作った話
zgock999
0
130
SwiftUI移行のためのインプレッショントラッキング基盤の構築
kokihirokawa
0
190
Generating OpenAPI schema from serializers throughout the Rails stack - Kyobashi.rb #5
envek
1
450
Jakarta EE meets AI
ivargrimstad
0
820
LINE messaging APIを使ってGoogleカレンダーと連携した予約ツールを作ってみた
takumakoike
0
140
クックパッド検索システム統合/Cookpad Search System Consolidation
giga811
0
190
未経験でSRE、はじめました! 組織を支える役割と軌跡
curekoshimizu
1
220
5分で理解する SOLID 原則 #phpcon_nagoya
shogogg
1
430
iOSでQRコード生成奮闘記
ktcryomm
2
140
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
11
1.3k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Making Projects Easy
brettharned
116
6.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Building Your Own Lightsaber
phodgson
104
6.3k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
13
1k
How GitHub (no longer) Works
holman
314
140k
Transcript
CA .swift#20 Swift Student Challenge Distinguished Winnerʹબग़͍ͯͨͩ͘͠·Ͱ
ࣗݾհ
ࣗݾհ w ϋϦʔʢIBSJJ@ʣ w ੨ࢁֶӃେֶܦࡁֶ෦ݱܦࡁσβΠϯֶՊ# w $"5FDI-PVOHF J04 w
झຯࢄาɺαοΧʔ؍ઓ (JU)VC 9
Swift Student Challenge🤔
Swift Student Challengeͱ
ग़య: Swift Student Challenge (https://developer.apple.com/jp/swift-student-challenge/)
ग़యɿSwift Student ChallengeʮࢀՃࢿ֨ʯ(https://developer.apple.com/jp/swift-student-challenge/eligibility/)
ΠϯλϥΫςΟϒ🤔
ରతͳମݧ
ରతͳମݧ
ཁ݅ w ؒ w ରతͳମݧ w ϩʔΧϧͰಈ࡞͢Δ w TXJGUQNܗࣜͰఏग़ w
Ұ෦έʔύϏϦςΟͷར༻ෆՄ w ʢΞϓϦ՝ۚFUD
ࠓճఏग़ͨ͠ΞϓϦ
ը૾ग़యɿ - WWDC24 (https://developer.apple.com/wwdc24/special- event/) - Apple Vision Pro (https://www.apple.com/jp/newsroom/
2023/06/introducing-apple-vision-pro/) - MacBook Pro (https://www.apple.com/jp/shop/buy- mac/macbook-pro) - iPadPro(https://www.apple.com/jp/newsroom/2024/05/ apple-unveils-stunning-new-ipad-pro-with-m4-chip- and-apple-pencil-pro/) - iPhone 15 Pro(https://www.apple.com/shop/buy- iphone/iphone-15-pro) - Swift(https://developer.apple.com/swift/resources/) - Xcode 15 (https://developer.apple.com/xcode/)
֓ཁ w λʔήοτ w খֶੜʙதֶੜ w ϩʔΧϧͷࣸਅΛύζϧͱ͠ ͯ༡Ϳ͜ͱ͕Ͱ͖Δɻ &Y
ϖοτͷࣸਅ ཱྀߦઌͰͷࣸਅ
εέδϡʔϧ ग़య: Swift Student Challenge (https://developer.apple.com/jp/swift-student-challenge/) ΞΠσΞग़͠ 10݄ʙ1݄ ཁ݅ఆٛ 1݄ʙ2݄લ
࣮ 2݄ ςετ 2݄ ఏग़
࣮ͷྲྀΕ ΞΠσΞग़͠ 10݄ʙ1݄ ཁ݅ఆٛ 1݄ʙ2݄લ ࣮ 2݄ ςετ 2݄ ఏग़
ΞΠσΞग़͠ w ͬͨ͜ͱ w ࢥ͍͍ͭͨ͜ͱΛॻ͘ ΞΠσΞग़͠ 10݄ʙ1݄ ཁ݅ఆٛ 1݄ʙ2݄લ ࣮
2݄ ςετ 2݄
ߏஈ֊ͰͷΞΠσΞ w ύζϧͷܗࣜ w ϐʔεΛࣗ༝ʹҠಈͤ͞Δ w ϐʔεͷԜತɺճస w ฒସ͑ w
εϫΠϓͯ͠ฒସ͑Δܗࣜ ΞΠσΞग़͠ 10݄ʙ1݄ ཁ݅ఆٛ 1݄ʙ2݄લ ࣮ 2݄ ςετ 2݄ ఏग़
ߏஈ֊ͰͷΞΠσΞ w ύζϧͷܗࣜ w ϐʔεΛࣗ༝ʹҠಈͤ͞Δ w ϐʔεͷԜತɺճస w ฒସ͑ w
εϫΠϓͯ͠ฒସ͑Δܗࣜ ΞΠσΞग़͠ 10݄ʙ1݄ ཁ݅ఆٛ 1݄ʙ2݄લ ࣮ 2݄ ςετ 2݄ ఏग़
ΞΠσΞग़͠ 10݄ʙ1݄ ཁ݅ఆٛ 1݄ʙ2݄લ ࣮ 2݄ ςετ 2݄ ఏग़ ߏஈ֊ͰͷΞΠσΞ
w ύζϧͷܗࣜ w ϐʔεΛࣗ༝ʹҠಈͤ͞Δ w ϐʔεͷԜತɺճస w ฒସ͑ w εϫΠϓͯ͠ฒସ͑Δܗࣜ ϓϩτλΠϓ࡞
۩ମతͳ࣮ ΞΠσΞग़͠ 10݄ʙ1݄ ཁ݅ఆٛ 1݄ʙ2݄લ ࣮ 2݄ ςετ 2݄ ఏग़
ϓϩτλΠϓ w తɿૢ࡞ײΛ͔֬ΊΔ w ࣸਅ͔ΒϐʔεʹՃ͢Δ w ਖ਼ํܗɺʷʙʷ w Ճͨ͠ϐʔεΛࣗ༝ʹҠಈͰ͖Δঢ়ଶʹ͢Δ ΞΠσΞग़͠
10݄ʙ1݄ ཁ݅ఆٛ 1݄ʙ2݄લ ࣮ 2݄ ςετ 2݄ ఏग़
ϓϩτλΠϓ w .BYʷ w ࢥͬͯͨΑΓ͍͠ w ΞΠσΞஈ֊ w ύζϧͷܗࣜ w
ϐʔεΛࣗ༝ʹҠಈͤ͞Δ w ϐʔεͷԜತɺճస
ϓϩτλΠϓ w ʷ w ࢥͬͯͨΑΓ͍͠ w ΞΠσΞஈ֊ w ύζϧͷܗࣜ w
ϐʔεΛࣗ༝ʹҠಈͤ͞Δ w ϐʔεͷԜತɺճస
Ϳ͔ͭͬͨ՝
՝1.ࣸਅ͔ΒϐʔεͷՃ
՝1.ࣸਅ͔ΒϐʔεͷՃ
՝1.ࣸਅ͔ΒϐʔεͷՃ
՝1.ࣸਅ͔ΒϐʔεͷՃ ग़య: Apple Developer Document(https://developer.apple.com/documentation/ coregraphics/cgimage/1454683-cropping)
՝2.ύζϧϘʔυͱϐʔεͷඳը
՝2.ύζϧϘʔυͱϐʔεͷඳը
՝2.ύζϧϘʔυͱϐʔεͷඳը ϐʔεɾϘʔυͷఆٛ w ϐʔεͷఆٛ
՝2.ύζϧϘʔυͱϐʔεͷඳը ϐʔεɾϘʔυͷఆٛ w Ϙʔυͷఆٛ
՝2.ύζϧϘʔυͱϐʔεͷඳը ϐʔεɾϘʔυͷఆٛ w Ϙʔυͷఆٛ
՝2.ύζϧϘʔυͱϐʔεͷඳը ग़య: Apple Developer Document(https://developer.apple.com/ documentation/swiftui/lazyvgrid)
՝3.ϐʔεͷਖ਼ޡఆ
՝3.ϐʔεͷਖ਼ޡఆ
՝3.ϐʔεͷਖ਼ޡఆ w ը໘ͷඳը࣌ʹϐʔεͷਖ਼͍͠ҐஔΛอ࣋ w υϥοάதʹਖ਼ղͷҐஔʹϐʔεͷׂ͕ೖΔ w ˠ͕੨͔Β৭ʹมΘΔ
Ϣʔβʔςετ
Ϣʔβʔςετ త w ϢʔβʔࢹʢओʹখதֶੜʣͷϑΟʔυόοΫ͕ཉ͍͠ w ܧଓతʹͬͯΒ͏͜ͱͰɺ69ͷվળόάͷൃݟʹͭͳ͕Δ w ʷʙʷ·Ͱқͷௐઅ͕Մೳ w ˠςετʹ͕͔͔࣌ؒΔ
վળ1.ϐʔε࡞ը໘ͷUI
վળ1.ϐʔε࡞ը໘ͷUI มߋલ
վળ1.ϐʔε࡞ը໘ͷUI มߋޙ
վળ2.ਖ਼ޡఆ
վળ2.ਖ਼ޡఆ มߋલ
վળ2.ਖ਼ޡఆ มߋޙ
վળ3.қͷઃఆ
มߋલ վળ3.қͷઃఆ
վળ3.қͷઃఆ มߋޙ
վળ4.ॳճΠϯετʔϧޙͷྲྀΕ
վળ4.ॳճΠϯετʔϧޙͷྲྀΕ
࡞Δͱ͖ʹҙࣝͨ͜͠ͱ
Ϣʔβʔςετ
࣮ػͰ֬ೝ͢Δ
ࠓޙͷల
ϦϦʔε
λΠϚʔ ετοϓΥονػೳ
τϩϑΟʔػೳ
͋Γ͕ͱ͏͍͟͝·ͨ͠