レギュラートーク(30分)

Factoryの自動生成によりテストを書きやすくする

nonchalant0303 Takeshi Ihara

テストを書くのって面倒ですよね?理由は様々ですが、ひとつは入力値と期待値を用意する手間だと思います。ベタに用意すると再利用性が低く、また構造変化に弱いというデメリットがあります。その解決策としてFactoryがあります。

ただ、実際はFactoryを用意するのも手間でコストがかかってしまいます。今回はFactoryを自動生成することで、再利用性が高く構造変化に強いツールを作りました。そのツールの特徴とコード生成についてお話します。

レギュラートーク(15分)

Factoryの自動生成によりテストを書きやすくする

nonchalant0303 Takeshi Ihara

テストを書くのって面倒ですよね?理由は様々ですが、ひとつは入力値と期待値を用意する手間だと思います。ベタに用意すると再利用性が低く、また構造変化に弱いというデメリットがあります。その解決策としてFactoryがあります。

ただ、実際はFactoryを用意するのも手間でコストがかかってしまいます。今回はFactoryを自動生成することで、再利用性が高く構造変化に強いツールを作りました。そのツールの特徴とコード生成についてお話します。

レギュラートーク(30分)

機械学習わからないけどiOS で機械学習を使いたい!学習済みモデルを自動生成してiOS 端末上で機械学習する方法。

fumiya_kume くぅ

「機械学習を知らなくても機械学習を利用した画像分類をする方法」について伝授します!機械学習するために必要な「学習済みモデル」をAzure Cognitive Services の Custom Vision Services を利用して 教師ありの画像分類モデルを作成し、iOS 端末で画像分類を行います。 機械学習に興味はあるけど自分で勉強する時間はない!といった方へのトークです。

iOSDCルーキーズ LT(5分)

機械学習わからないけどiOS で機械学習を使いたい!学習済みモデルを自動生成してiOS 端末上で機械学習する方法。

fumiya_kume くぅ

「機械学習を知らなくても機械学習を利用した画像分類をする方法」について伝授します!機械学習するために必要な「学習済みモデル」をAzure Cognitive Services の Custom Vision Services を利用して 教師ありの画像分類モデルを作成し、iOS 端末で画像分類を行います。 機械学習に興味はあるけど自分で勉強する時間はない!といった方へのトークです。

採択
2018/08/31 14:20〜
Track B
レギュラートーク(30分)

コンパイラから紐解くSwift method dispatch

kateinoigakukun 家庭の医学

Swiftには実行するメソッドを効率的に決定する機構があります。
しかし、静的型付け言語であるにも関わらず動的に決定せざるを得ないパターンや、finalやprivateなどの修飾子がパフォーマンスに影響するパターンなど、実際にはどのような動きをしているのでしょうか。
このトークではSwiftコンパイラの中からその疑問を紐解いていきます。

iOSDCルーキーズ LT(5分)

コンパイラから紐解くSwift method dispatch

kateinoigakukun 家庭の医学

Swiftには実行するメソッドを効率的に決定する機構があります。
しかし、静的型付け言語であるにも関わらず動的に決定せざるを得ないパターンや、finalやprivateなどの修飾子がパフォーマンスに影響するパターンなど、実際にはどのような動きをしているのでしょうか。
このトークではSwiftコンパイラの中からその疑問を紐解いていきます。

レギュラートーク(15分)

コンパイラから紐解くSwift method dispatch

kateinoigakukun 家庭の医学

Swiftには実行するメソッドを効率的に決定する機構があります。
しかし、静的型付け言語であるにも関わらず動的に決定せざるを得ないパターンや、finalやprivateなどの修飾子がパフォーマンスに影響するパターンなど、実際にはどのような動きをしているのでしょうか。
このトークではSwiftコンパイラの中からその疑問を紐解いていきます。

レギュラートーク(15分)

会社からiMac Proを買ってもらうためにした3つのこと

koba_dog kobaken

昨年iMac Proが発売され、そのスペックに多くのiOSエンジニアが魅了されています。
少しずつ企業でも採用されてきましたが、比較的高価なマシンであるが故手が出せていない企業が大半なのではないでしょうか。
このトークでは、新卒エンジニアが初めてiOSアプリ開発を経験し、そのビルド時間と向き合い如何に会社からiMac Proを買ってもらうに至ったかを紹介します。
現開発環境やそこでのビルド時間の計測/測定方法も紹介していきます。

採択
2018/09/02 17:15〜
Track A
LT(5分)

小さくはじめる端末管理

nonchalant0303 Takeshi Ihara

残念ながらiOSアプリにはOSや解像度によって挙動が変わってしまうことがあります。検証のために様々な端末を所有している会社も少なくないです。

それらの管理はどうしていますか?解像度やOSを知るためにどうしても管理は必要になってきます。手動管理だと誤ってOSを上げた際に情報の乖離が起きます。

弊社ではMDMを使うほどの規模感ではないので、SlackBotを活用した端末管理方法を紹介します。

レギュラートーク(15分)

実演で振り返るARKitのこれまでとこれから

TK_u_nya cokaholic

ARKit は WWDC2018 で ARKit 2.0 として大幅なアップデートが行われ、今まで以上に AR で表現できることの幅が広がりました。
今回は ARKit の Ver1.0 ~ 2.0 を実際のサンプルコードと実演で振り返り、ARKit 2.0 まででどういったことをARで表現できるのかをお話しします。

LT(5分)

会社からiMac Proを買ってもらうためにした3つのこと

koba_dog kobaken

昨年iMac Proが発売され、そのスペックに多くのiOSエンジニアが魅了されています。
少しずつ企業でも採用されてきましたが、比較的高価なマシンであるが故手が出せていない企業が大半なのではないでしょうか。
このトークでは、新卒エンジニアが初めてiOSアプリ開発を経験し、そのビルド時間と向き合い如何に会社からiMac Proを買ってもらうに至ったかを紹介します。
現開発環境やそこでのビルド時間の計測/測定方法も紹介していきます。

採択
2018/09/02 13:30〜
Track D
レギュラートーク(15分)

田舎のWebベンチャー企業にアプリ事業を持ち込んだらこーなった

yutaabe200 yutaabe200

創業2年の新潟のWeb会社に転職し、同時にアプリ事業を持ち込みました。社会人2年目のペーペーが転職と同時にアプリ文化を持ち込んだとき...いわゆる”不毛”と言われる環境下でのスタートでした。
その中でこっそり自社Webメディアを両OSアプリ化した話や、アプリ文化が無い会社組織との付き合い方、アプリに対する相場感やスキル難易度によるギャップなど、新潟のiOSエンジニアならではの苦悩を題材に地方アプリ市場の現状や未来についてお話しします。

iOSDCルーキーズ LT(5分)

Flutter触りまくったからその知見を公開する

yshogo87 shogo.yamada

Flutterをたくさん触ったのでその知見を下記の観点からお話したいと思います。
・個人開発で使えるか
・ビジネスで使えるか
・これからやり始めるのはまだ早いのか、今から始めるのがベストか

iOSエンジニアに聞いて欲しいトーク(30分)

ビジネスにおいても強いエンジニアになるアプローチ

jpmartha_jp Satoshi Hachiya

たいていのアプリは一度リリースしたら終わりではありません。ユーザーや経営陣・マーケティング担当者たちと向き合ってアプリを育てていくことになります。エンジニアとして自分の技術力を磨くことはもちろん、ビジネス上の課題も技術で解決してアプリの成長を加速させたいですよね。そのためのアプローチをいっしょに考えていきましょう。そしてビジネスにおいても強いエンジニアをいっしょに目指しましょう。

採択
2018/08/31 15:10〜
Track A
レギュラートーク(30分)

宣言的UICollectionView

_ishkawa ishkawa

UICollectionViewに複数の種類のセルがある場合、どのセルがいつ表示されるのか把握するのが難しくなります。この問題を解消する手段の1つには、コンテンツの宣言的な定義が考えられます。

このトークでは、はじめにコンテンツの宣言的な定義の実現方法を説明します。続いて、宣言的な定義を導入した時のコードの見通し、レイアウトの役割分担、差分更新、アニメーションなどの面におけるメリットとデメリットを解説します。

iOSエンジニアに聞いて欲しいトーク(30分)

ヘルシープログラマへの道

akatsuki174 akatsuki174

ずっとエンジニアとしてバリバリ働き続けたい!そう思っている人も多いと思います。しかしスキル面でクリアできたとしても、健康面ではどうでしょうか?10、20年後の自分に対し、自信を持って「自分孝行」できていると言えますか?健康のユニットテストはオールグリーンでしょうか?

このトークでは健康について姿勢、食生活、運動、睡眠などのあらゆる角度から説明したり、一緒に席でできるストレッチをやったりしようと思います。

レギュラートーク(15分)

フリーダムな型の値で襲いかかってくる JSON さんとの戯れ方

__munepom__ munepom

最近、気味の悪い拡張子で有名になってしまった(?)JSON さん。
そんなJSONデータですが、valueは型が決まっていることが多いと思います。

しかし、不幸にもvalueの型が不定、かつ、それをRealmに保存することになったら。。。
型に厳しいSwiftでどのように対処すれば良いのでしょうか?

はじめてiOSアプリを開発して(うっかり沼にハマったことから)得られた知見を共有したいと思います。

LT(5分)

設計時空のリファクタリング〜複数アーキテクチャを抱えたアプリのリファクタリング事例〜

ktanaka117 ダンボー田中

長く続くアプリ開発において、複数のアーキテクチャが積層のように負債となってしまうことは、割と多くの現場で起きているのではないでしょうか。
より良い開発をしていくためには負債の返済という、痛みを伴う対応を迫られるときがいつかきます。
このトークでは自分が直近で直面した負債の返済について話をします。
どう返済していったのか、チームとどうやって足並みをそろえたのか、様々な反省をお伝えします。

採択
2018/08/30 20:20〜
Track A
レギュラートーク(15分)

設計時空のリファクタリング〜複数アーキテクチャを抱えたアプリのリファクタリング事例〜

ktanaka117 ダンボー田中

長く続くアプリ開発において、複数のアーキテクチャが積層のように負債となってしまうことは、割と多くの現場で起きているのではないでしょうか。
より良い開発をしていくためには負債の返済という、痛みを伴う対応を迫られるときがいつかきます。
このトークでは自分が直近で直面した負債の返済について話をします。
どう返済していったのか、チームとどうやって足並みをそろえたのか、様々な反省をお伝えします。

iOSエンジニアに聞いて欲しいトーク(30分)

「あっぷこぉでねぇたぁ」?おらさ村では「るぅたぁ」だっちゃなあや

ktanaka117 ダンボー田中

UIViewControllerから画面遷移処理を切り離すための設計パターンに、AppCoordinatorとRouterというものがあります。
この二つは名前の違いこそあれど意味するところは同じで、「方言」だと考えています。
このトークではUIViewControllerから画面遷移処理を切り出す理由と方法、名前と役割の対応にまどわされない開発チームになるための、設計に対する姿勢について話します。