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
RECRUIT TECH CONFERENCE 2025 プレイベント【関田】
Search
Recruit
PRO
February 13, 2025
Technology
0
610
RECRUIT TECH CONFERENCE 2025 プレイベント【関田】
2025/2/4に開催したRecruit Tech Conference 2025 プレイベントの関田のLT資料です
Recruit
PRO
February 13, 2025
Tweet
Share
More Decks by Recruit
See All by Recruit
Browser
recruitengineers
PRO
9
2.8k
JavaScript 研修
recruitengineers
PRO
8
1.7k
TypeScript入門
recruitengineers
PRO
36
12k
モダンフロントエンド 開発研修
recruitengineers
PRO
12
6.8k
Webアクセシビリティ入門
recruitengineers
PRO
4
1.8k
攻撃と防御で実践するプロダクトセキュリティ演習~導入パート~
recruitengineers
PRO
4
2.1k
モバイルアプリ研修
recruitengineers
PRO
6
1.9k
事業価値と Engineering
recruitengineers
PRO
10
6.1k
制約理論(ToC)入門
recruitengineers
PRO
10
4.2k
Other Decks in Technology
See All in Technology
Snowflake Intelligenceにはこうやって立ち向かう!クラシルが考えるAI Readyなデータ基盤と活用のためのDataOps
gappy50
0
170
S3アクセス制御の設計ポイント
tommy0124
3
200
allow_retry と Arel.sql / allow_retry and Arel.sql
euglena1215
1
160
ブロックテーマ時代における、テーマの CSS について考える Toro_Unit / 2025.09.13 @ Shinshu WordPress Meetup
torounit
0
120
AIエージェント開発用SDKとローカルLLMをLINE Botと組み合わせてみた / LINEを使ったLT大会 #14
you
PRO
0
110
2025年になってもまだMySQLが好き
yoku0825
8
4.7k
COVESA VSSによる車両データモデルの標準化とAWS IoT FleetWiseの活用
osawa
1
270
「Linux」という言葉が指すもの
sat
PRO
4
130
「何となくテストする」を卒業するためにプロダクトが動く仕組みを理解しよう
kawabeaver
0
390
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
220
5分でカオスエンジニアリングを分かった気になろう
pandayumi
0
240
EncryptedSharedPreferences が deprecated になっちゃった!どうしよう! / Oh no! EncryptedSharedPreferences has been deprecated! What should I do?
yanzm
0
270
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.2k
Producing Creativity
orderedlist
PRO
347
40k
Faster Mobile Websites
deanohume
309
31k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
How to train your dragon (web standard)
notwaldorf
96
6.2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Building Adaptive Systems
keathley
43
2.7k
Into the Great Unknown - MozCon
thekraken
40
2k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Transcript
iOS未経験エンジニアがSwift Concurrencyの検証を行い、 サービスリリースまで行った話 『ホットペッパービューティー』の事例 #iOS開発 #未経験 #SwiftConcurrency プロダクトディベロップメント室 販促領域エンジニアリン グ2ユニット(飲食・ビューティー) ビューティー領域エ ンジニアリング部
ビューティープロダクト開発2グループ 関田 陸 RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night-
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- #iOS開発、#未経験、#SwiftConcurrency iOS未経験エンジニアが Swift
Concurrencyの検証を行い、 サービスリリースまで行った話 『ホットペッパービューティー』の事例
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- 関田 陸 ゴルフ⛳・MLB観戦⚾・旅行✈
経歴 / Career 2023年4月に新卒として入社し、3ヶ月 間の研修を経てホットペッパービュー ティーのiOSチームに配属 趣味 / Hobbies プロダクトディベロップメント室 販促領域エンジ ニアリング2ユニット(飲食・ビューティー) ビューティー領域エンジニアリング部 ビュー ティープロダクト開発2グループ
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- Agenda 1. プロダクトついて
2. Swift Concurrency導入の背景 3. Swift Concurrency導入検証と振り返り 4. まとめ
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- Agenda 1. プロダクトついて
2. Swift Concurrency導入の背景 3. Swift Concurrency導入検証と振り返り 4. まとめ
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- - 国内最大級のヘアサロン・リラク&ビューティーサロンの検索・予約サイト ホットペッパービューティー
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- iOSプロダクトの規模感 画面数 API数
コード行数 循環複雑度 認知複雑度 150本以上 20万行以上 高い(1.9万以上) 高い(1.1万以上) ※複雑度は静的分析コード解析ツールにてプロダクト全体の値を参照 100画面以上 - 規模が大きく、複雑度が高い → 「コーディングコスト」「コード認知コスト」が高い🔥
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- Agenda 1. プロダクトついて
2. Swift Concurrency導入の背景 3. Swift Concurrency導入検証と振り返り 4. まとめ
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- プロダクトの課題解決に貢献できていなかった・・・ - 未経験だったので、とにかく目の前の案件をこなすことで必死だったが、
中長期改善プロジェクトに携わることでプロダクトの課題を知った - とりあえず、小さい分野でいいのでチームで自分が一番詳しいと言える分野を 作り、プロダクト課題への解像度を上げようと思った → まずは、Swift言語の最新機能をキャッチアップしていくことに!
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- やったこと - Swift5.5〜5.9までの機能を洗い出して、
プロダクトに活かせるものはないか検討する - その中で、プロダクトの課題を解決できるものを採用する - コーディングコストの削減 - コード可読性の向上
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- 目的に照らし合わせながら取捨選択 コーディングコスト コード認知コスト
メンテナンス性 コード減少量 Swift Concurrency 🔥
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- Swift Concurrencyとは? -
Swift5.5から導入された新しい並行処理モデル - より安全で簡単な非同期処理のコードを書くことができる - async / await / actor など
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- なぜSwift Concurrencyが良いのか クロージャを用いた非同期処理
- クロージャを使用した非同期処理により、 コールバック地獄になりやすい - ネストが深く、可読性が低い - クロージャを呼び忘れても、コンパイルが 通ってしまう
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- なぜSwift Concurrencyが良いのか Swift
Concurrencyを用いた非同期処理 - クロージャを使わないのでネストが減り、 可読性が高い - Actorを使うことでデータ競合を防ぐこと ができる
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- Agenda 1. プロダクトついて
2. Swift Concurrency導入の背景 3. Swift Concurrency導入検証と振り返り 4. まとめ
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- やることの整理 - 2画面で検証する
- どの画面で検証するかを検討する - 実装・リリースする - 目的が達成できているかを確認する
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- 画面選定 - (MUST)検証フェーズなので
- ①大きな障害が起こることを避けたい - ②他の案件への影響を避けたい - ③修正の変更範囲を小さくしたい - (WANT)改修頻度が高い
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- 実装 Before After
ネストが減り、 直感的にコードが 読みやすくなった
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- 評価 ※検証した画面の1ファイルあたりの比較 循環複雑度
50%Down↓ 認知複雑度 75%Down↓ プロダクト課題に貢献できた
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- Agenda 1. プロダクトついて
2. Swift Concurrency導入の背景 3. Swift Concurrency導入検証と振り返り 4. まとめ
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- まとめ - Swift
Concurrencyを導入することで複雑度を下げることができた - また、個人としても小さい分野でもチームで1番詳しい領域を作ることで、 プロダクトへの貢献もできるし、自信にも繋がった - 今後は他画面にも順次展開していきたい
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- メッセージ 未経験エンジニアは小さい分野でもいいので、 自分が1番詳しいと言えるような専門知識を身につけよう!