こんにちは、ZOZOTOWN開発本部の名取(@ahiru___z)と計測プラットフォーム開発本部の寺田(@tama_Ud)です。先日、9/17から9/19までの3日間に渡ってiOSDC Japan 2021が開催されました。例年通り素晴らしい発表が盛り沢山でしたね! iosdc.jp
昨年に引き続きオンライン開催となりましたが、Discordを使ったAsk the Speakerやニコニコ動画の弾幕などリアルタイム性のあるコミュニケーション手段が今年も充実しており非常に楽しく学びの多い3日間となりました。今年はアンカンファレンスという新しい取り組みもあり、例年以上に楽しいイベントだったと実感しています。
弊社は今年もスポンサーとして協賛し、7名のエンジニアがスピーカーとして登壇、2名のエンジニアが原稿を寄稿いたしました。本記事ではiOSDC Japan 2021で登壇・寄稿した弊社エンジニアの発表内容を、登壇者・寄稿者のコメントを添えてご紹介します。
登壇内容の紹介
「A Swift Stack Overflow」
@kapsy1312 のレギュラートークです。
スタックメモリの基本とスタックオーバーフロー現象に関する解説です。特に、 Swiftのスタックオーバーフローとその回避仕方を紹介しています。
スタックメモリは自動的に管理され、Swiftは主にヒープに割り当てられたオブジェクトを使用するため、ほとんどのプログラマはスタックメモリに関する深い知識が必要ではありません。しかし、C言語のコードと連携する場合には、スタックメモリの落とし穴がいくつか存在しているので、学ぶ価値があります。
登壇では、スタックとは何かを説明し、clangとswiftcが出力したスタックの簡単な例の紹介、Swiftでの悪いスタック使用例の紹介、スタックの問題をデバッグして回避する方法を解説しています。
「iOSアプリ開発に入門して、いきなりUnity as a Libraryに挑戦してわかったこと。」
@i_kinopee のレギュラートークです。
Unity as a Libraryを活用し、3Dシミュレーションを組み込んだiOSアプリ開発に挑戦した際の内容です。
今回iOSアプリ開発自体も初挑戦であったため、学習方法や初心者でもUnity as a Libraryに挑戦可能であることをお伝えします。実際には、先人のおかげでUnity as a Libraryに関する日本語記事が充実していることもあり、大きな問題もなく実装を進められています。
ARを開発する際にも便利なUnity as a Library、ぜひ皆さんも試してみてはいかがでしょうか。
「iOSではじめるWebAR 2021」
@ikkou のレギュラートークです。
昨年に引き続き、iOSにおけるWebARの最新動向を駆け足20分で紹介しました。
今年はARや関連するLiDARに触れるトークが去年よりも多かった印象ですが、WebでARというテーマは今年もまだまだニッチでした。だからこそ、日本国内のiOSエンジニアが多く集まるiOSDC Japanという場でそれを伝える意義があると思っていますし、実際に伝える場を持てて良かったです。
当日ご覧いただけなかった方は、是非スライドを覗いてWebにおけるARの現状を知ってもらえると幸いです。
「未知のファイル形式をCodableで読み書きするのに役立つテクニック 『Apple Watchの文字盤ファイル』」
@banjun のレギュラートークです。
Apple Watchの文字盤ファイルを題材に、未知のファイルを解析してCodableとNSFileWrapperでMacアプリのビューアーを作っていき、そのなかで出てきた普通とは言えないCodableの対処テクニックを紹介しました。
Apple Watchユーザーではない人も聴きに来てくれたようです。Ask the Speakerでは普段使っている文字盤のタイプを教えてもらったりしましたが、やはり写真・インフォグラフ・Siriあたりが人気のようでした。Appleの言う多彩な文字盤の良さを見つけるためにも、他の文字盤を使っている人の話も聞いてみたいと思いました。
「再現ができない?特定ができない?ZOZOTOWNアプリのトップクラッシュに立ち向かった話」
@chichilam86 のLTです。
メモリ不足によるクラッシュは直接の原因がログやスタックトレースに現れないので再現が容易でなく、特定困難です。そのため、リニューアル後のZOZOTOWNアプリでのトップクラッシュに対して、メモリ不足の仮説と原因の解析から検証までの流れを紹介しました。
同じ悩みをお持ちの方の参考になれば幸いです。
「あなたの知らないSafariのExperimental Featuresの世界」
@ikkou のLTです。
わりとマニアックだと思っているSafariの設定、しかも普段使う分には触る必要のないExperimental Featuresについて5分でお伝えしました。
どちらかと言うとLT芸ではなく、ガチで時間いっぱいお伝えする内容でしたが、反応を伺っていると「知らなかった!」の声もあり、少なからず伝えたいことを届けられて良かったです。
「作ってわかる!LiDARによるカメラの暗所オートフォーカス機能」
@tama_Ud のレギュラートークです。
2020年3月発売のiPadから搭載されたLiDARスキャナですが、AR領域で特に注目を浴びていますね。しかし、今回はARでなくLiDARのAF機能補助について焦点を当ててお話しています。
AF機能をLiDARを使って実装してみることで、LiDARを使ったアプリ開発への理解が深まれば幸いです。
「SceneKitを使ってアプリのクオリティを劇的に上げる」
@ahiru___z のレギュラートークです。
UIKitだけでは実現が難しいリッチな表現を、SceneKitを使って実装する方法を紹介しました。
SceneKitは3Dコンテンツを扱うアプリ開発でのみ使用するFrameworkと思われがちですが、実際にはそんなことはありません。UIKitとの親和性は高く、使い方や概念を適切に理解することで非常に強力な武器となり得ます。私自身、個人開発でよく使用するFrameworkの1つでもあります。
興味を持った方、ぜひSceneKitを触ってみてください。
「ほんの一瞬だけでもConcurrencyの計算理論に触れてみませんか?」
@banjun のLTです。
並行計算のモデルのひとつであるCCSについて、その入口を紹介しました。
おそらく事前知識のある人がほとんどいない分野だったのではないかと思いますが、その分、多くの方に概念の存在だけでも知ってもらえたら幸いです。今年のLTは、大学の講義よりも、さらに多くの人に並行計算を伝えられる最強の場だったのかもしれません。
誰も来ないことも覚悟していたAsk the Speakerですが、このLTのきっかけや参考文献の話をしたり、「コルーチンとインターリーブは似ているのでは?」「π計算との違いは?」など、ディープな話もでき、このネタでLTしておいて良かったと感じました。
寄稿内容の紹介
「誰も知らないASO(App Store Optimization)の話」
@ahiru___z の寄稿です。
ASOに関する原稿を寄稿しました。
個人開発のアプリで累計200万DL以上を達成しました。その過程で行った自身の取り組みを中心に、まずは手軽に誰でも始めることができる基本的な手法をまとめています。ASOは一朝一夕に効果が現れるものではありませんが地道な取り組みによってある程度の効果を得ることは間違いなく可能です。
応用的なテクニックはまた別の機会にまとめたいと思います。
「CodableでJSONのNullを出力するためのTips」
hirotakanの寄稿です。
Codable + Property WrapperのTipsを2ページの原稿で紹介しました。
実務の参考や、Codableの理解に繋がれば幸いです。今回初めての寄稿でしたが、2ページは他の募集に比べるとハードルが低いので、チャレンジしてみたいけどなかなか踏み出せない方におすすめです。
CfPネタ出し会 & レビュー会
弊社では毎年自由参加でiOSDC JapanのCfPネタ出し会 & レビュー会をiOSエンジニア同士で行っています。
昨年はネタ表を利用したCfPネタの整理を実施していましたが、今年はDiscord上でネタ出し会を行いました。既にネタがある人は発表してコメントをもらい、何を発表しようか迷っている人は参加者との会話の中でネタを引き出してもらうスタイルで進行しました。6月の段階でネタ出し会を行ったため、早い段階でネタを固めることができました。
技術顧問の岸川さんには例年CfP採択後のレビュー会に参加していただいていました。しかし、今年はCfP採択前に行うレビュー会の段階で参加していただき、CfPの書き方はもちろん、どうすれば自分の発表したい内容がより適切かつ魅力的に伝わるのかなどを教えていただきました。その結果、例年以上に実りの多いレビュー会となりました。
弊社は複数の事業ドメインを有しているため、一括りに「iOSエンジニア」と言ってもそれぞれ強い分野や興味のある分野が異なります。そのためレビュー会では様々な分野の話を聞くことができてとても楽しかったです。
少し余談となりますが、最近では岸川さんとの1on1も積極的に行っており、エンジニアとしてスキルアップしていく環境が十分に整備されています。
また、弊社ではカンファレンスへの参加は業務として扱われるため、iOSDC Japanには休日出勤という形で参加しました。今年は内定者アルバイトの方も複数名イベントへ参加しましたが、社員と同様にチケット代は経費となりイベントへの参加は業務時間として扱われています。
ZOZOではiOSエンジニアを大募集中ですのでご興味のある方はこちらからご応募ください。
https://hrmos.co/pages/zozo/jobs/0000012hrmos.co
After iOSDC Japan 2021を今年も開催
iOSDC Japanのアツい3日間が過ぎ、レポート記事を書いたので今年のiOSDC Japanは終了! ……ではありません。
今年もラップアップイベントにあたるAfter iOSDC Japan 2021をZOZO、Mobility Technologies、Sansanの3社の合同で開催します。
各社の社員によるLT、パネルディスカッションを行いますので、興味のある方はぜひご参加ください。
こんな方におすすめです。
- iOSに関わるソフトウェアエンジニア
- iOSDCを一緒に振り返りたい方
- iOSDCには参加しなかったけど、情報が知りたいという方
なお、本イベントにはZOZOの技術顧問でもある岸川さんも登壇します。
iOSDC Japan 2021に参加した方もそうでない方も、みんなで振り返りましょう。イベント申し込みは以下のページからお願いします。