day 1
Track A
座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」 by shiz
文字起こし・メモ
- Concurrency を軸に座談会の内容
- アンケート:使っている 75%
- いいねと答えた人も、好感触
- 学習コストが高い、使い方難しそうとの意見
- データ競合についての概要
- Data Isolation(データ隔離)
- 静的隔離と動的隔離の2種類がある
- 静的隔離の例: actor, @MainActor
- 動的隔離の例:MainActor.run (1時的なやつ)
- 基本はActor,例外あり
- Swift Concurrencyはスレッドをブロックしない思想
- Mutex, Atomicが新しくできる、それを使える, ただしiOS18,Swift6
- よくわからないエラーに悩んでいたらデータレースの可能性がある
- Xcode16までに対応しなくてもいい(Swift5言語モードでも動くため)
- Swift5言語モードで Complete Strict Concurrencyにして警告消したらSwift6言語モードにすればいい
- 外側から始める、最上位モジュールから始める
- Data raceの主要な原因(ミュータブルなクラス)
-
- structにできないか考えるなど、ある
-
- グローバル変数の場合は、non-sendableの場合はかなりしんどい
感想
- 隔離境界という用語について知れた
- isolationムズカシイー
- マイグレーションガイドがある
- Sendableについて知りたくなった
- より安全なアプリにできるので対応した方が良さそう
- 詳しくはブログを見る
- 勉強資料もある
iOS/iPadOSの多様な「ViewController」の徹底解説と実装例 by haseken
感想
- 過去のViewControllerを振り返ってくれて個人的にかなりありがたかった
- iOS開発に携わり出したのが1年くらいのため
- 永久保存版
夢の声優体験!パーソナルボイスでゲームのキャラクターをあなたの声で喋らせる by 岡本 龍太郎
感想
- パーソナルボイスについてうっすら知っていた
- 使ってみたかったが英語と中国語だけの様子
- デモアプリまで作って完成度も高く、すごい
- 日本語での対応が待ち遠しい
プロジェクトで遭遇した奇妙で面白いバグたち by レイ
文字起こし・メモ
- 絵文字によってレイアウトが崩れる
- TextKit2に移行して治った
- 実機かつ、録画するとレイアウト崩れる
- priory使おう
- AsyncImage
- 他のライブラリを使おう。。
感想
- 自分が実務だとあまり触れてこない技術・ライブラリなので知見が深まった
- SwiftUI割と浸透してきてるんだなと思った
なぜデフォルトが青色!? Tint Colorの理由に迫る by akidon0000
感想
- 青色がデフォルトなの確かに不思議
- Appleのデザイン文化の歴史知れてありがたい
- 色覚特性への配慮でなっているという考察、確かになぁと思った
- 青色のデフォルトカラーをダサいみたいな印象でやめる微妙かもなと思った
InputMethodKitとTCAを使ったmacOS上で動作するIMEの開発 by Tatsumi0000
感想
- IME作れるって凄い!
- 全く未知の領域だった
- アプリ名がTypoしてるw面白い(わざと)
数値を文字列に整形する際の落とし穴とその解決策 by glassfiber
感想
- 実際の業務の流れ沿ったようなLTですごく実践的でよかった
- 案件として、1%に満たない場合は、少数以下2位まで出したいなどよくあるなぁと思った
- case使わずに対応するなど、実装時の考えも見れて素敵
- テストまでやってていい感じ
Track B
リョムキャットのパーフェクトSwiftネーミング教室 by Ryomm
感想
- API Design Guidlelinesをわかりやすく解説していた
- 名前付は重要なのでちゃんとやろう
- 会場が盛り上がっていて、LTというもの自体の参考になった
TextFieldに"2"が入力できなくなったお話 by 大前 久基
感想
- 話が上手で引き込まれた、衝撃のラスト、、、
- 実際にiOS開発だと意外なところの落とし穴というのが多いと個人的にも思うので、これもまたありがたい知見
あとがき
気になったセッションと言いつつ、書きながら全部見ようと意気込んでたので全部のセッションを書くつもりが頓挫してた。。。
途中分を一旦放流し後でちゃんとみます。。