LT(5分)

What does "SWIFT" mean?

S_Shimotori_pub S_Shimotori

Swiftを愛してやまない皆様、そもそも"SWIFT"という単語がどんな意味かご存知でしょうか。検索結果でお察しの通り、この言葉はSwift以外でも名付けに使われています。
本LTでは、Swiftを愛する皆様に向けて、"SWIFT"の語源から鳥、同名の言語、OpenStackのあの子、著名人物に自動車等々を一挙紹介します。
"SWIFT"に立ち返れば、もっとSwiftが大好きになること間違いなし。

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

シンボリケート/クラッシュログを人間が読めるようになるまで

hironytic ひろん

アプリがクラッシュするとデバイス内にもクラッシュログが残ることをご存知でしょうか。ただ、そこには16進数のアドレスが並んでいるだけの場合もよくあります。本トークではそのアドレスをメソッド名に変換するツールを紹介し、それがどのように動作するのかを解説します。うまく変換できない原因を取り除けば、それはハッピーシンボリケーション!
●話さないこと:クラッシュログの読み方・クラッシュログを活用したデバッグ手法

採択
2018/09/01 11:20〜
Track C
レギュラートーク(30分)

二癖くらいある画面収録からの生放送

matsuokah_ matsuokah

iOS11から可能になった画面収録で生放送機能を実装し、サービスインするまでの実装

  • 生放送のするまでの全体フロー
  • RPBroadcastSampleHandlerおよび、画面収録のExtensionのライフサイクルについて
  • 画面のサンプリングタイミングと生放送の特性について
  • SampleBufferの差し替えによる、生放送中の動画の動的な編集
  • 動画データの検証ポイント
LT(5分)

Androidアプリの開発も頑張っていたらiOSアプリがより良く書けるようになった話

_atsushisakai 酒井篤

私は業務でiOSとほぼ同じ量のAndroidのコードを書いたり読んだりしています。先日、iOSアプリ全体のアーキテクチャを考え直す際に、参考にしたのは実はAndroid(kotlin)のオープンソースプロジェクトでした。アーキテクチャの参考にしたオープンソースプロジェクトの概要とそのiOSへの転用について、また、iOS以外のプラットフォームの開発経験や情報収集が自身の軸となる仕事にどういった影響を及ぼしているかなどを語ろうと思います。

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

海外展開を目指すアプリでセキュアで速い画像と動画の閲覧を実現した話

_atsushisakai 酒井篤

「家族アルバム みてね」は、徐々に国外にユーザーを拡大しています。常に海外での快適な利用が実現されることを意識して開発していますが、その中でもメディアを高速に配信し・閲覧できることは、最重要課題でした。どのように課題を認識・改善したかの知見をお話ししたいと思います。

アジェンダ

  1. 認識(NewRelicによる計測)
  2. 設計(AWSも含むシステム全体)
  3. アプリ実装について
  4. 成果とさらなる課題
採択
2018/08/31 14:20〜
Track D
レギュラートーク(15分)

海外展開を目指すアプリでセキュアで速い画像と動画の閲覧を実現した話

_atsushisakai 酒井篤

「家族アルバム みてね」は、徐々に国外にユーザーを拡大しています。常に海外での快適な利用が実現されることを意識して開発していますが、その中でもメディアを高速に配信し・閲覧できることは、最重要課題でした。どのように課題を認識・改善したかの知見をお話ししたいと思います。

アジェンダ

  1. 認識(NewRelicによる計測)
  2. 設計(AWSも含むシステム全体)
  3. アプリ実装について
  4. 成果とさらなる課題
採択
2018/08/31 16:00〜
Track B
レギュラートーク(30分)

iOSと(深層)強化学習

yuky_az 我妻幸長(Yukinaga Azuma)

強化学習は機械学習の一種で、試行錯誤を通じて「環境における価値を最大化するような行動」を「エージェント」が学習します。強化学習が例えばゲームでうまく機能した場合、次第にゲームの打ち方は開発者の手を離れ、エージェントは開発者自身よりもずっと強くなっていきます。発表では、強化学習の概要、及びSwiftで強化学習をどのように実装できるのか、そして、AlphaGoで注目を浴びた深層強化学習とは何か、について解説します。

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

UITesting with GraphQL

iida_0213 飯田勇人

GraphQLを利用したiOSアプリケーションでUITestを実現する方法について説明します。

Agenda

  • GraphQLライブラリの「Apollo」を利用したiOSアプリケーション開発について
  • ServerSideSwiftを利用してCI上でWebMockを立ち上げUITestを行う方法について
  • WebMockでGraphQLのテストデータを効率よく記述するために開発したライブラリの紹介
1
採択
2018/08/31 15:30〜
Track B
レギュラートーク(15分)

iOS WKWebViewの魔改造

fokotate Shin

Content(仮):

  • 高速DOM操作 WKWebViewでダークモードを実現する
  • WKWebView内の動画再生をAVPlayerに移し替える
  • WKWebView内のジェスチャーをコントロールする
  • iOS12での変更点 (もしあれば)
  • その他 (viewportの強制変更,タップ位置の座標変換, Cookie操作, 広告ブロック, メモリ管理)
採択
2018/08/31 17:40〜
Track B
レギュラートーク(30分)

Swiftの生みの親によるasync/await for Swiftを徹底解説し、新しい非同期処理の手法を理解する

yimajo 今城 善矩

Swiftの生みの親、クリス氏によって2017年8月にプロポーザルasync/await for Swiftの下書きが公開されました。その内容はコルーチンサポートで、我々はSwiftで非同期処理をより使いやすく読みやすいコードを書けるようになります。このトークはその内容を理解するために、様々な言語で使われるasync/awaitの比較分類、Swift3から使えるasync/awaitライブラリの利用例とその内部実装を解説します!

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

モブプログラミングで理解するasync/await

yimajo 今城 善矩

2017年8月にSwiftの生みの親、クリス・ラトナー氏によりプロポーザルasync/await for Swiftの下書きが公開され、その内容は、コルーチンサポートにより非同期処理を読み書きしやすく書けるようになることを意味しています。このトークでは、Swift 3から使えるasync/awaitライブラリHydraを使って、ライブでアプリを作っていくセッションです。参加者のみなさんはTwitterのハッシュタグでコメントをください!

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

今から使えるasync/awaitライブラリの利用例とコードの解説、Swift 5からの非同期処理の標準を先取りしよう

yimajo 今城 善矩

2017年8月にSwiftの生みの親、クリス・ラトナー氏によってプロポーザルasync/await for Swiftの下書きが公開され、その内容は、コルーチンのサポートによって我々は非同期処理をより読み書きしやすいコードを書けることを意味しています。このトークは、Swift 3から使えるasync/awaitライブラリHydraの利用例とその内部実装を解説し、きたるべきSwift 5時代の非同期処理を先取りするトークとなります。

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

圏論とSwiftへの応用

inamiy 稲見 泰宏

圏論(カテゴリー理論)は、「対象」と対象間の「射」(関係性、構造)の集まりからなる「圏」を抽象的に扱う数学理論です。関数型プログラミングで度々登場する「モノイド」「関手」「自然変換」「モナド」の由来であり、さらには「米田の補題」「随伴」「極限」「F代数」「カン拡張」など、より高度な概念が登場します。この発表では、圏論から得られる様々な帰結について、Swiftの文法と型で分かりやすく解説していきます。

iOSDCルーキーズ LT(5分)

firebaseだけでABテストする。

nihonpanda 駒井 覚

Firebase Remote ConfigのみでABテストをしたときの、
良かった事と感じた課題、
ベータ版のFirebase A/B Testingについて喋ります。

採択
2018/09/01 18:00〜
Track B
iOSDCルーキーズ LT(5分)

UITableViewに動画広告を表示する

nihonpanda 駒井 覚

昨今需要が増しているインフィード動画広告を実装したときの勘所について。
UITableViewCellに動画広告を配置し、動画のステータス管理や、
エキスパンドしたときの挙動等について喋ります。

採択
2018/09/01 17:10〜
Track B
iOSDCルーキーズ LT(5分)

虚無から48時間でiOSアプリをリリースする😴

koooootake じんむ

ハッカソンが好きです。24時間で1つのモノを作ることができます。
作ったからにはより多くの人に触ってもらいたい。
そこで、ハッカソン24時間+リリース準備24時間で、
ノーアイデア、ノープランの虚無から、iOSアプリをリリースする過程やコツを簡単にお喋りします。

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

Xamarin.iOS deep dive

ailen0ada ひらのつばさ

SwiftやObj-Cで開発されているiOS開発者のみなさんに向けて,Xamarin.iOS をつかったC#言語による開発の実際と,ここ1年で踏み抜いてきた地雷を共有します。またアドバンスドなトピックとして,なぜC#で開発できるようになるのか,また地雷がなぜ埋め込まれてしまうのかをXamarinのソースコードに踏み込んで解説します。

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

Swift化徹底マニュアル ~コード移植のための戦略と戦術~

gaopin1534 高松幸平

Swift化と言うと、普通objcからSwiftにコードを移植する作業そのものを指します。
しかし、実際には、コードを移植する作業に入る前に多くの障害が存在します。
ビジネスサイドを説得しプロジェクトを立ち上げ、状況にあった方針を決定する。
こういった段階が「Swift化」には最も重要で、最も困難です。
本セッションでは、コードを移植する段階はもちろん、その前段階まで、「Swift化」の助けになる知見を、一気通貫でご紹介します。

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

ARKitのための3D算数

kboy_silvergym KBOY@筋肉エンジニア

GraffityというARKitを使ったアプリを作っています。
ARKitやSceneKitは用意されたAPIを使えば色々なことが簡単にできてしまいますが、
高度なことをしようとすると、空間ベクトル、座標変換などの算数(数学)の知識が必要になることに気づくでしょう。
本トークでは、ARKitを使いこなすために自分が勉強した3Dプログラミングと基本的な算数(数学)について分かりやすく説明します。

採択
2018/09/01 14:40〜
Track C
レギュラートーク(15分)

iOS × GraphQLの嬉しみとつらみ

_mogaming SeiyaMogami

GraphQLを採用したAPIサーバー(Ruby on Rails)、APIサーバー・クライアント間を橋渡しするBFF(Expressサーバー)、クライアントのiOSアプリを開発する中で、見えてきた嬉しみとつらみの話をします。
・GraphQLについてとその魅力
・なぜBFFを挟むのか
・クライアントiOSアプリとBFFのやりとり
この3つの観点で、業務を通じて得た嬉しみとつらみを語ります。インフラ面の話はしません。