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
AWAに配属された新卒1年目が 大型機能や新規画面を開発できるようになるまで
Search
yodaaa
March 24, 2021
Programming
270
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWAに配属された新卒1年目が 大型機能や新規画面を開発できるようになるまで
CA.swift #13で発表したときのスライドです!
「AWAに配属された新卒1年目が 大型機能や新規画面を開発できるようになるまで」
yodaaa
March 24, 2021
More Decks by yodaaa
See All by yodaaa
わたしのおうち時間
yodaaa
0
83
OPENRECで内定者バイトしたまとめ。
yodaaa
0
5.7k
[endless_lt] gitのalias使ってる?[無限LT@3]
yodaaa
0
89
[endless_lt] 就活もUXの時代![無限LT@3]
yodaaa
1
170
[endless_lt] シャツインしてる男、 正直ダサくない?[無限LT@3]
yodaaa
1
180
Other Decks in Programming
See All in Programming
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
750
技術記事、 専門家としてのプログラマ、 言語化
mizchi
13
6.6k
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.3k
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
600
どこまでゆるくて許されるのか
tk3fftk
0
260
エンジニアと一緒にテストコードの設計と実装を改善した話
mototakatsu
0
230
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
310
Performance Engineering for Everyone
elenatanasoiu
0
230
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
350k
LaravelLive Japan の裏方のすべて — 第188回 PHP勉強会@東京 (2026-06-24)
suguruooki
2
130
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
320
AIキャラアプリkaiwaの低遅延音声通話基盤をどう作ったか - AWS Gravitonで支える低遅延・低コストAI Agent基盤
mogamit
0
110
Featured
See All Featured
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
140
Writing Fast Ruby
sferik
630
63k
The Invisible Side of Design
smashingmag
301
52k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
210
We Have a Design System, Now What?
morganepeng
55
8.2k
Rails Girls Zürich Keynote
gr2m
96
14k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
450
The browser strikes back
jonoalderson
0
1.3k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Why Our Code Smells
bkeepers
PRO
340
58k
Fireside Chat
paigeccino
42
4k
Transcript
AWAʹଐ͞Εͨ৽ଔ1͕ େܕػೳ৽نը໘Λ։ൃͰ͖ΔΑ͏ʹͳΔ·Ͱ CA.swift #13 Masaaki Yoda 2021/03/24
• 20204݄ʹiOSΤϯδχΞͱͯ͠৽ଔೖࣾ • AWAʹଐ͞ΕiOSΞϓϦ։ൃΛ͓͜ͳ͍ͬͯ·͢ • ࠷ۙϋϚ͍ͬͯΔ͜ͱɺࠓߋεϓϥτΡʔϯ • ָ͠Έʹ͍ͯ͠Δ͜ͱɺϞϯϋϯͰ͢ʂ yodaaa @yodaaa_tech
Masaaki Yoda
ೖࣾ·Ͱ
ೖࣾ͢Δ·Ͱͷ։ൃྺ • ΞϓϦΛ࡞Γͨͯ͘ใֶՊʹೖֶͯ͠ɺֶͼ࢝ΊΔ • ݸਓͰΞϓϦ։ൃΛ࢝ΊΔ • ݚڀͰॴݶఆSNSͷݚڀɺडୗ։ൃͰത͚ؗARΞϓϦ։ൃͰARKitʹ৮ΕΔ • ೖࣾ͢Δ·ͰʹɺఆऀόΠτͰOPENRECͰ1ϲ݄iOS։ൃɺ ɹɹ
CAMͷ͍ࣄۀͰ1ϲ݄αʔόʔαΠυ തؗARΞϓϦ ۚܦࡁ৽ฉ͔Β ఆऀόΠτ
ೖࣾ͢Δ·ͰεΩϧ • ݸਓ։ൃݚڀͰFatViewControllerΛେྔੜ • ݚڀडୗ։ൃͰARKitʹ৮Ε͔ͯͬΓ • FirebaseͰSNSΛݚڀͰ࡞ͬͨΓɺݸਓ։ൃͳͷʹBitriseಋೖͨ͠Γ • ఆऀόΠτΛ͢Δ͜ͱͰɺΞʔΩςΫνϟϦΞΫςΟϒʹ৮Εͩ͢ •
RxSwiftΫϦʔϯΞʔΩςΫνϟΛงғؾͰ৮ΕΔ
ೖࣾͯ͠
AWA • ఆ੍ֹԻָετϦʔϛϯάαʔϏε • 2000ສDLҎ্ • 8000ສۂ͕ௌ͖์
LOUNGE -ϥϯδ- ৽ػೳ
ೖ͔ࣾͯ͠Βͷ1ؒ ೖࣾ 4 5 6 7 8 ৽ଔݚम ←δϣϒϩʔςʔγϣϯظؒ→ ABEMA
AWA 9 10 11 12 1 2 3 ਖ਼ࣜଐ େ͖ͳػೳ ৽نը໘Ճ • ೖ͔ࣾͯ͠Βͷ1ؒɺݚमɺδϣϒϩʔςʔγϣϯΛܦͯɺAWAʹଐʹͳΓ·ͨ͠
ೖ͔ࣾͯ͠Βͷ1ؒ • ͬͨ͜ͱϦετ ϩʔσΟϯάը໘shimmerվमɹExplicitରԠɹHapticTouchରԠ CPUͱϝϞϦͷ༻ΛݟΕΔσόοάػೳɹΧελϜεΠονͷUI࣮ ࠶ੜཤྺͷαʔόʔཧԽɹϔομʔσβΠϯͷมߋରԠ PanModalόάௐࠪͳͲ ɹAPIߋ৽ͱϖʔδϯάվળ ϥϯδϦΫΤετը໘ͷ࣮ɹϥϯδҰཡը໘ɾ։࠵༧ఆҰཡը໘ͷ࣮ …
ೖ͔ࣾͯ͠Βͷ1ؒ ϩʔσΟϯάը໘shimmerվमɹExplicitରԠɹHapticTouchରԠ CPUͱϝϞϦͷ༻ΛݟΕΔσόοάػೳɹΧελϜεΠονͷUI࣮ ࠶ੜཤྺͷαʔόʔཧԽɹϔομʔσβΠϯͷมߋରԠ PanModalόάௐࠪͳͲ ɹAPIߋ৽ͱϖʔδϯάվળ ϥϯδϦΫΤετը໘ͷ࣮ɹϥϯδҰཡը໘ɾ։࠵༧ఆҰཡը໘ͷ࣮ … • ͬͨ͜ͱϦετ
[࠶ੜཤྺͱ] • ࠶ੜͨ͠ۂɺΞʔςΟετΞϧόϜɺϓϨΠϦετͳͲͷ ͜ͱ • ͱͱ֤ʹอଘ͍ͯͨ͠ͷΛαʔόʔͰཧ͢Δ Α͏ʹ͓͜ͳ͏λεΫ • APIΛܦ༝ͯ͠ཤྺΛՃߋ৽ɺআ •
ΦϑϥΠϯ࣌ͷఆ͠ͳ͚ΕͳΒͳ͍ • ΩϟογϡΛ׆༻࣮ͨ͠ ࠶ੜཤྺͷαʔόʔཧԽ ※ͪ͜Βͷը૾ϒϥʔՃ͍ͯ͠·͢
[͓͜ͳͬͨ͜ͱ] • ࠶ੜཤྺͷऔಘͱআɺUIө • API͔Βཤྺσʔλऔಘ͠Realmʹอଘɺσʔλʹߋ৽͕͋ΕUIʹө • APIʹཤྺͷআϦΫΤετૹ৴ • ΦϑϥΠϯʹؔ͢Δ࣮ •
ΦϑϥΠϯڥͰཤྺʹөͰ͖ΔΑ͏ͳػߏͷ࣮ • ࠶ੜ։࢝ใࠂ • ࠶ੜͨ͜͠ͱΛαʔόʔଆʹใࠂ͢Δ࣮ ࠶ੜཤྺͷαʔόʔཧԽ
[શମ] • ணखͨ͠ࡍʹఆͰ͖͍ͯͳ͍ͱ͜Ζ͕͋Γɺ͔ͳΓӨڹൣғ͕େ͖͘λεΫ • ݁ՌΖΖؚΊͯ2ϲ݄ऑͷ։ൃظؒʹ • ϓϩδΣΫτཧղ͕ઙ͘ɺӨڹ͕ಡΊͣɺλεΫͷશମײ͕શવݟ͍͑ͯͳ͔ͬͨ • ϨεϙϯεͰΓ͍ͯͳ͍ͱ͜ΖΛαʔόʔʹґཔͯ͠ਐΊΒΕͨ •
༷͕ܾ·ͬͯͳ͍ͱ͜ΖɺܾΊΔͱ͜Ζ͔ΒͰ͖ͨ [ٕज़] • APIपΓ, Realmͷཧղ͕ਂ·ͬͨ • RxͰ͋ͬͨΓɺߴ֊ؔͳͲগͣͭ͠ཧղͱ׳Ε͕Ͱ͖ͨ • ίʔσΟϯάϧʔϧࡉ͔ͳࢦఠଟ͔ͬͨ • ·ͨɺશମతͳਐΊํͱ͔ͯ͠ͳΓαϙʔτΛΒͬͨ ࠶ੜཤྺͷαʔόʔཧԽ
৽نը໘࣮ -ϥϯδҰཡ - [ϥϯδҰཡ] • όφʔɺࢀՃͨ͠ϥϯδɺ͓͢͢Ίͷϥϯδ • TableViewʹCollectionViewஔͨ͠UI࣮ • ͓͢͢Ίཧ༝දࣔͰηϧͷߴ͞ҟͳΔ
• PullToRefresh, Deeplink, ۭදࣔͳͲͷཁૉ
৽نը໘࣮ -ϥϯδҰཡ - [શମ] 👌 Good ɾ࣮ํΛissueͰ͔ࣔͯ͠Β࣮ਐΊΒΕͨ͜ͱ 🚀 Improve •
։ൃʒʹؒʹ߹Θ͔ͣͭόΪʔͳঢ়ଶʹ • Δ͖͜ͱΘ͔͍͕ͬͯͨɺ࣮ࡍʹͬͯΈΔͱ͔ͳΓ͕͔͔࣌ؒͬͨ • ·ͨɺCollectionView͋ͨΓͰϋϚͬͯ͠·͍େ෯ʹ͕͔͔࣌ؒͬͨ [ٕज़] 👌 Good ɾΧελϜCellͳͲΛࡉ͔࣮ͬͯͨ͘͠ 🚀 Improve ɾViewCellΛͬͱߴͰ࣮͍ͨ͠
৽نը໘࣮ -։࠵༧ఆҰཡ - [ϥϯδ։࠵༧ఆҰཡ] • ϥϯδͷެࣜ։࠵༧ఆҰཡΛදࣔ͢Δը໘ 👌 Good • ༧Ίΰʔϧ͔Βٯࢉͨ͠σΠϦʔඪΛཱͯͨ͜ͱͰ͏·͘ਐΊΒΕͨʂ
• ৽نը໘Λܦݧͨ͋͠ͱͳͷͰɺ࣮ʹ͔͔Δͷਫ਼͕up↑ 🚀 Improve • Ͳ͏࣮͢Δ͔Μͩ(ϨεϙϯεΛ͝ͱʹ·ͱΊͯηΫγϣϯԽ͢Δ)
ࠓޙ • PRͰͷࢦఠQA͔ΒͷόάใࠂͳͲͷΛ͞ΒʹݮΒ͍ͯ͘͠💪 • ࣮εϐʔυͷ্💪 • ࣄۀతʹΓ͍ͨ͜ͱΛٕज़Ϧιʔε͕ͳ͍͜ͱͰΔ͜ͱ͕ͳ͍Α͏ • ϓϨΠϠʔʹ͓͚Δཧղ💪 •
ಠࣗͰ࡞͍ͬͯΔͷΛগ͠Ͱཧղ͍ͯ͘͠ͱ͜Ζ͔Β
Thanks!