iOSDC 2018 に参加しました!!

iosdc_top.jpg

iOSDC 2018 お疲れ様でした!技術企画の玉田です。まだまだ iOSDC の余韻にひたっていましたが、みなさんの熱が冷める前にご報告したいと思います。

エンジニアによる登壇

「10名の登壇」とお伝えしていたのですが、実はその後もう1名DeNAのエンジニアが登壇していたことがわかりました!!このブログでは11名ぶんの登壇内容と、各エンジニアからそれぞれヒトコトをもらいましたのでご紹介します!

Swift 4.2 はどのような進化をしているのか

IMGP8182.jpg© iOSDC Japan

@tobi462 のこの登壇に関する ブログ記事

CfPを提出した時は簡単に考えていた「18プロポーザルすべてを解説する」という発表ですが、実際にやってみると「Swiftについての調査」も「30分の発表で収める」のもわりと大変でした。しかし、最終的にはスライドを読むだけでも分かりやすい完成度になったと思います。当日聴きに来られなかった方もよろしければ是非ご活用ください!

macOSでもっとアプリを作ろう

IMGP8392.jpg© iOSDC Japan

iOSDCの全ての発表の中で、一番愛のこもった発表になったと自負しています。macアプリに対する愛と苦しみの話をしました。スライドからだけでも、なるべくその全てが伝わるように作りましたので、ぜひご覧になってみて下さい!発表に来てくださった方のうち、七割以上がmacアプリを作ったことがあるという異常な空間での発表で、とても楽しめました。

iOS × GraphQLの嬉しみとつらみ

IMGP9061.jpg© iOSDC Japan

15分でGraphQLの大枠を伝えきれるか不安でしたが、Twitterでの反応を見ていると伝えることができたようで安心しています。加えて、具体的な嬉しみとツラミをお伝えでき、Ask the Speakerでも様々な方とお話しできたのでとても楽しかったです!次回も登壇できるようにがんばります。

「QRコード読み取り?楽勝ですよ」=>「AVFoundationを信じたおれがバカだった」

IMGP8997.jpg© iOSDC Japan

@monoqlo のこの登壇に関する ブログ記事

QRコード読み取りというと、今となっては苦労なく実装できそうな機能に思われがちですが、分割されたQRコードの読み取りとなるとそうもいきません。 ニッチな内容ですが「頭の片隅に入れておくと役立つかもしれない」そんな発表内容となっています。スライドをササッと読み流すだけでも要点は掴めると思いますので、ぜひご覧ください。

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

_DSC3190.jpg© iOSDC Japan

@koooootake のこの登壇に関する ブログ記事

・アイディアは無いが価値あるアプリを爆速でリリースしたい人 ・ハッカソンで勝ちたい人 向けに、iOSアプリ開発を3分クッキングに例えてお喋りしました。 短時間で一つのサービスを作ることはとても楽しいです。是非皆さんもチャレンジしてみてください!

Visionフレームワークのリアルタイム顔検出を使えば、ウインクするときゃるん♪と音が鳴る二次元美少女になれる!

_DSC3205.jpg© iOSDC Japan

Visionを使ってみて、楽しかったこと大変だったことをお話ししました!自分自身、新しめの技術を使ってみるのって苦手意識あったのですが、気軽な気持ちで触ってみても面白いものできるんだなーということを実感しました!聞いてくださった皆さんにも、そのことが伝わっていれば嬉しいなと思います。きゃるん♪

サーバーの状態に応じて画面遷移させるための設計

IMGP9586.jpg© iOSDC Japan

実際のアプリを例に複雑な画面遷移に対してどのような設計をしたかについて発表しました。5分というとても短い時間だったので概要のみしか伝えられませんでしたが、もし開発をしている中で画面遷移の複雑さに困った時は、この発表を思い出してもらえたら嬉しいです。

UITableViewに動画広告を表示する

_DSC3228.jpg© iOSDC Japan

AVPlayerを使ってUITableViewCellに動画広告を表示する方法をについて発表させていただきました。5分では説明しきれなかった実装が多々あるので、どこかで補足を発表できればと思っています。この発表がアプリ上にスムーズに動画を表示するための実装で困っている人のためのヒントになればと思います。

ライブ配信アプリのアイテム再生をMetalで実装する事になった話

IMGP9915.jpg© iOSDC Japan

@noppefoxwolf のこの登壇に関する ブログ記事

Metalを使って透過情報を持つ動画を再生するプレーヤを実装する話をしました。昨今のデバイスはパフォーマンスが十分に高いため、高レイヤーな機能を使ってもオーバーヘッドに気がつくことは少ないです。しかし、要件として古い端末をサポートする必要があることもあります。そんな時に自分で低レイヤーなAPIが叩けるようになると、技術で要件を達成することができるかもしれません。私のセッションで、皆さんの実装の選択肢としてOpenGLESやMetalが含まれるようになれば幸いです。

iOSアプリの開発速度を170%に向上させたデバッグノウハウ

IMGP0589.jpg© iOSDC Japan

@orga_chem のこの登壇に関する ブログ記事

ベストスピーカー2位をいただき、とても光栄に思います。この発表では、「自動テスト」のことを「自動的な動作確認」と言い換える変則的な構成になっていますが(理由は個人ブログを参照)、実際に私は開発速度向上のためにテストを書いています。みなさんも、テストで開発速度を楽しくアゲアゲしていきましょう。

不摂生で救急搬送されたiOSアプリ開発者がiPhoneとAppleWatchをフル活用して健康を取り戻した話

IMGP0376.jpg© iOSDC Japan

減量をテーマに、iPhone/AppleWatchを使ったヘルスケアと、リテンションやユーザの離脱を防止する機能について発表しました。

iOSのWidgetやAppleWatchの通知など、実際のプロダクト開発で触れることは少ないですが、ユーザの行動を変える可能性を感じてもらえたら嬉しいです。

IRT: Interactive Round Table

@tarappo が8/31(金)にTrack Fで「テスト相談会」というIRT(Interactive Round Table)の司会進行を行いました。相談会では @orga_chem も加わり、各相談会満席でディスカッションが盛り上がりました。盛り上がりすぎて当初のスケジュールよりも遅くまで議論していたとのこと。こちらの内容について詳しくは「@tarappoのブログ記事」をご覧下さい。また @tarappo からもヒトコトもらいましたのでご紹介します。 IMGP8354.jpg© iOSDC Japan

あまり人が来ないかもしれないという不安もありましたが、蓋を開けてみれば大盛況で非常に良かったです。また、参加者の方が思ってた以上にテストに対していろいろとおこなっており、iOS界隈もテストが以前よりも浸透してきているのかなと思いました。

是非日々の知見をiOS Test Nightで登壇して共有して頂けると嬉しい限りです。

アンケートボード

今回、 DeNA はブース出展していました。「どうせブース出すならiOSアプリ開発者にとって気になるネタのアンケートとりたい!」との思いから、DeNA のiOSアプリ開発者でブレストしてお題を出し合い、お題の中から厳選してアンケートボードを作成しました。こちらのアンケートの結果を共有します!

前夜祭(8/30) & 1日目(8/31)

IMGP0261.jpg 前夜祭から多くのエンジニアのみなさんに投票ご協力いただきました。みなさまどうもありがとうございました。こちらのアンケートから以下のことがわかりました。

  • AutoLayoutはつかっている人がとても多い
  • CI環境はBitriseが人気だが、その他の内訳も気になる
  • 型推論はほぼ全ての人が使っている(が、数名の心強い「型推論絶対許さないマン」がいる!)
  • テストはどちらかというと書いている人が多いが、ユニットテストなのかUIテストなのか気になる
  • コーディングスタイルは人によってこだわりがある

2日目(9/1) & 3日目(9/2)

IMGP0259.jpg AutoLayoutや型推論については決着がついた感があったため、問題を新しいものに更新しました。また、CI環境とテストについては、内訳を知りたかったのでより詳細な質問内容に変更しました。変更後にもご協力いただいたみなさま、どうもありがとうございました。このアンケートから以下のことがわかりました。

  • self のプロパティ/メソッド使う時にはselfを書く人が多い
  • Bitrise が僅差で Jenkins より多くの人に使われている(Bitrise:Jenkins = 50:44)
  • SwiftFormat はあまり使っている人が多くない
  • テスト書いている人のほとんどはユニットテストを書いており、UIテストはあまり書かれていない

おわりに

とても濃くて、面白い内容を準備して発表いただいたスピーカーのみなさま、ランチや懇親会だけでなく様々な企画を考え抜いて実施いただいた運営のみなさま、その他 iOSDC を盛り上げていただいた全てのみなさまのおかげで、とても充実した4日間を過ごすことができました!みなさまどうもありがとうございました。

DeNA では引き続き 俺コンリジェクトコンiOSDC 2018 LT動画視聴会 などiOSアプリ開発者のコミュニティ活動をサポートさせていただきますので、今後共どうぞよろしくお願いします!

ツイート
シェア
あとで読む
ブックマーク
送る
メールで送る

builderscon tokyo 2018 でDeNAのエンジニア3名が登壇します

こんにちは!技術企画広報の玉田です。

本日から9月8日(土)まで3日間開催される builderscon tokyo 2018 にて、DeNAのエンジニア3名が登壇します。登壇するエンジニアたちの登壇内容と、builderscon への意気込みをこちらでご紹介いたします!!

登壇するエンジニアたちの登壇内容と意気込み

事前知識なしで理解する、静的検査のいろは

登壇の詳細
  • 日時:9/7(金) 13:40〜14:10
  • 場所:Event Hall (Track E)
  • 登壇者:@Kuniwak
登壇への意気込み!!

初級者の方向けに、事前知識ゼロでも業務に役立つ知識をお届けします。静的解析、意外と簡単なんですよ?

ブロックチェーン(DApp)で作る世界を変える分散型ゲームの世界

登壇の詳細
  • 日時:9/7(金) 16:40〜17:40
  • 場所:Multi-Purpose Room 3 (Track D)
  • 登壇者:@oggata
登壇への意気込み!!

x(かける)ソーシャルで、新たなユーザー体験を作ったソーシャルゲーム。 同様に x(かける)ブロックチェーンは、分野問わず、ユーザーに新しい価値を提供できるテーマだと思います。 今回の講演が、何か新しい物作りに繋がるきっかけになればと思います。

遠いようで身近なサウンドエンジニアリング

登壇の詳細
  • 日時:9/8(土) 13:10〜14:10
  • 場所:Multi-Purpose Room 1 (Track B)
  • 登壇者:@karupanerura ※普段はソフトウェアのエンジニアリングをやっています
登壇への意気込み!!

ここ数年の散財のバックグラウンドについて頑張って話すのでぜひ聴きに来てください!

まとめ

こちら3名のエンジニアの登壇内容をご紹介いたしました。興味ある登壇内容がありましたら、ぜひ当日見に行ってくださいね!

ツイート
シェア
あとで読む
ブックマーク
送る
メールで送る

iOSDC2018 で DeNA の iOSアプリ開発者10名が登壇し、1名が司会を行います!

iOSDC_Speakers10.png

こんにちは!技術企画グループで技術広報を担当している玉田です。

明日から9月2日(日)まで4日間開催される iOSDC Japan 2018 にて、 DeNA のiOSアプリ開発エンジニアたち10名が登壇し、1名が「IRT: Interactive Round Table」の司会を行います!こちらでご紹介します。

登壇スケジュールと登壇内容

登壇日時Trackなど登壇タイトル登壇者
2018/08/31 11:20〜Track B レギュラートーク(30分)Swift 4.2 はどのような進化をしているのか@tobi462
2018/08/31 13:30〜Track D iOSエンジニアに聞いて欲しいトーク(30分)macOSでもっとアプリを作ろう@malt03
2018/09/01 14:40〜Track C レギュラートーク(15分)iOS × GraphQLの嬉しみとつらみ@_mogaming
2018/09/01 17:10〜Track B iOSDCルーキーズ LT(5分)虚無から48時間でiOSアプリをリリースする@koooootake
2018/09/01 17:20〜Track B iOSDCルーキーズ LT(5分)Visionフレームワークのリアルタイム顔検出を使えば、ウインクするときゃるん♪と音が鳴る二次元美少女になれる!@minami1389
2018/09/01 17:45〜Track A iOSDCルーキーズ LT(5分)サーバーの状態に応じて画面遷移させるための設計@furuyan325
2018/09/01 18:00〜Track B iOSDCルーキーズ LT(5分)UITableViewに動画広告を表示する@nihonpanda
2018/09/02 11:20〜Track B レギュラートーク(30分)ライブ配信アプリのアイテム再生をMetalで実装する事になった話@noppefoxwolf
2018/09/02 14:20〜Track A レギュラートーク(30分)iOS アプリの開発速度を70%高速化したデバッグノウハウ@orga_chem
2018/09/02 16:30〜Track A LT(5分)不摂生で救急搬送されたiOSアプリ開発者がiPhoneとAppleWatchをフル活用して健康を取り戻した話@dotrikun

IRT: Interactive Round Table

@tarappo が8/31(金)にTrack Fで「テスト相談会」というIRT(Interactive Round Table)の司会進行をやります。

時間帯としては「13:30-13:50」「14:00-14:20」「14:30-14:50」の3回になります。 詳しくは 「iOSDC 2018でテスト相談会をします」をご覧ください。

エンジニアによる Speaker Lounge

さらに、登壇するエンジニアたちが DeNA スポンサーブースでも Speaker Lounge を実施します。公式の Speaker Lounge では時間が合わなかった!もっと詳しい話を聞きたい!といった方、ぜひ DeNA スポンサーブースにお越しください!

エンジニアの登壇内容と、Speaker Lounge でブースにいる時間は↓をご確認ください。 iosdc2018_1.png

iosdc2018_2.png

iosdc2018_3.png

iosdc2018_4.png

iosdc2018_5.png

iosdc2018_6.png

iosdc2018_7.png

iosdc2018_8.png

iosdc2018_9.png

iosdc2018_10.png

それぞれの登壇者の発表前後に @DeNAxTech(DeNA 技術系アカウント)でお知らせしますので、みなさま、ぜひ Follow してください。

それでは当日お会いできることを楽しみにしています!

ツイート
シェア
あとで読む
ブックマーク
送る
メールで送る

Flutter Meetup Tokyo #3 が開催されました

flutter03_00.JPG 技術企画グループの玉田です。

2018年7月19日(木)に DeNA TECH STUDIOにて Flutter Meetup Tokyo #3 の開催をサポートさせていただきましたので、その模様をレポートいたします。

Flutter Meetup Tokyo とは

Flutter Meetup Tokyo は東京で開催される Flutter にまつわることであれば何でも発表できる勉強会で、今回が3回目の開催となります。当日はライブ配信もあり、会場まで来ることが難しい参加者の方にも開かれたイベントとして開催されました。

各発表について

ここからは当日発表された内容を紹介していきます。

Flutter開発に役立つPlugin Package10選

flutter03_01_new.JPG

kuwapp さんに、Android, iOS のプラットフォーム固有の実装も含む「Plugin」と、プラットフォーム関係ないDartのライブラリ「Package」について、開発に役立つものを紹介いただきました。10選の中でもflutter_villains が簡易なアニメーションを作る際に便利そうかと思われました。

Flutter アプリを BLoC パターンでリファクタリングし、BLoC を DI してみた

flutter03_02.JPG TatsushiKiryuさんに、Bussiness Logic Component (BLoC)というビジネスロジックを分離するパターンをDependency Injection (DI)の仕組みで実装してみた結果を紹介いただきました。DI の仕組みについてはまだイマイチ感があり、今後に期待とのことでした。

Flutter vs ReactNative

flutter03_03.JPG slime_a さんに、Flutter と React Native を様々な観点で比較した内容について紹介いただきました。Google が開発しているだけあり、Flutter は処理が高速で公式情報が豊富、なおかつマテリアルデザインを主軸にしたUI開発ができることがメリットとのことでした。

Nativeリソースの利用

flutter03_04.JPG mirock さんに、Flutter から C++ で書いたNativeコードを利用する話をしていただきました。

Flutterからネイティブコード呼ぶ

flutter03_05.JPG shogo.yamada さんに、Flutter から Swift、Kotlinなどのネイティブコードを呼び出す方法についてお話しいただきました。Flutter だけでは実装できない処理についてネイティブで作った ViewController の呼び出し方、パラメーターの渡し方に絞った説明でした。

"Hello Flutter"の次におさえたい Flutterのポイント その5

flutter03_07.JPG Kenichi Kambara さんに、Flutter をつかった開発で抑えておきたいポイントについてお話しいただきました。Android や iOS 用の様々なアプリアイコンを、画像1つ用意すれば作成してもらえる flutterlaunchericons が便利そうかと思われました。

Hello Flutter"の次におさえたい Flutterのポイント その5 from Kenichi Kambara

Flutter ちょっとわからず 大慌て 理由が分ると あっけないのよ

flutter03_08.JPG aja_hiraiさんに、「作りたいレイアウト」をFlutter で実現しようとする際に、陥りやすい罠についてお話しいただきました。Flutter を使ってみようと思う人が真似できそうな Tips をいくつも共有いただけました。

Flutter x Firebase

flutter03_09.JPG NAYOSO (Niko) さんに、Flutter と Firebase を組み合わせた利用について紹介いただきました。特に Firebase Remote Config は 配信済みのアプリ内の設定を動的に変えることができ、ユーザーによっても設定を変えることができるのでABテストを行う際に使うと便利とのことでした。

プロトタイプ開発とFlutter

flutter03_10.JPG horie1024 さんに、Flutter と Firebase を使った VUI アプリのプロトタイプ開発について説明いただきました。Android エンジニアのスキルセットで両方のプラットフォームのプロトタイプ開発を行う際に、Flutter と Firebase を組み合わせて利用するのがとても簡単で良かったとのことでした。

明日から使えるFlutter for Android

flutter03_11.JPG hiraok さんに、Android の側面から見た簡単な機能の実装例について紹介いただきました。タブビュー、リスト、非同期通信、地図、画面遷移の5つを例にあげ、 簡単な機能ならネイティブに比べ少ないコード量で早く実装できたとのことでした。

おわりに

flutter03_06.JPG 他の勉強会に比べ、 Flutter これからみんなで使って盛り上げていこうぜ!という参加者の意気込みが大きいイベントだったかと思いました。 Flutter 未経験者にとってもわかりやすく、取り組み始めやすい発表が多かったので、初回から発表で参加もしやすいと思います。今回参加できなかった人は、次回は参加者としてはもちろん発表者としても参加してはどうでしょうか。

DeNAは世の中の技術向上に貢献する勉強会やイベントを積極的に支援するため、「DeNA TECH STUDIO」というエンジニアリングに関する勉強会サポートプログラムを運営しています。本イベントもこちらでサポートさせていただきました。こちらご興味ある方はぜひご確認下さい。

参考:DeNA TECH STUDIO

ツイート
シェア
あとで読む
ブックマーク
送る
メールで送る

Amazon SageMaker ハンズオンレポート

はじめに

AIシステム部・AI研究開発グループの益子です。 現在はオートモーティブ事業において、AI研究開発エンジニアとして働いています。

先月20日、DeNA社内において、アマゾン ウェブ サービス ジャパン(AWS)様より「Amazon SageMaker」ハンズオンを実施していただきましたので、その模様をレポートさせていただきます。

DeNAでは、すでに数多くのサービスでAWSを活用しています。私の所属するAIシステム部もその例外ではなく、機械学習のモデル開発に幅広く利用しています。

昨年のAWS re:Invent 2017において「Amazon SageMaker」が発表されましたが、発表の後さっそく社内でも利用したいという声が上がり、AWS様より社内エンジニア向けハンズオンを実施していただけることになりました。

Amazon SageMakerとは

Amazon SageMakerとは

  • AWSインスタンス上にJupyter Notebookを構築
  • Notebook上での機械学習モデル実装
  • AWSのインフラを利用した、分散学習
  • 学習したモデルを組み込んだ予測APIの自動生成

まで一貫して行える、フルマネージドサービスです。 https://aws.amazon.com/jp/blogs/news/amazon-sagemaker/

Jupyter Notebookといえば、すでにデータ分析/機械学習アルゴリズム開発においてデファクトとなりつつあるツールですが、それがコンソールからポチポチするだけで、簡単に構築できるのはかなり大きなメリットとなります。

img1.png

SageMakerの機能 (講義資料より)

また、これまで機械学習サービスを開発する場合には

  1. 学習環境構築とデータ整備 (インフラエンジニア)
  2. 機械学習モデル実装(機械学習エンジニア)
  3. 学習済みモデルをサービス内にデプロイ(サービス開発エンジニア)

の手順が必要であり、案件によっては複数のエンジニアが関わる必要がありました。

SageMakerにより1.と3.の手順がほぼ自動化されるため、機械学習エンジニアはモデル実装に集中でき、また単独でサービス展開まで行うことも可能になります。

ハンズオンの流れ

20180309_190140.jpg

当日は、AWSより志村誠さんを講師に迎え、主に機械学習アルゴリズムのサービス適用という話題を中心に講演していただきました。

前半はスライドを用いてSageMakerの概要の説明、後半は実際に弊社環境内にJupyter Notebookを立ち上げて、ハンズオンという形式になっています。

ハンズオン参加者の内訳

DeNAからはエンジニアを中心に50名超参加しました。

chart_capture.png

参加者の内訳

参加者の内訳を見ると、幅広い分野のエンジニアが参加しています。また今回エンジニア向けとして開催したのですが、ビジネスメンバーからも参加があり、機械学習への関心が非常に高いことが伺えます。

それでは、以下当日のハンズオンの流れに沿って、詳細をレポートしていきます。

前半: 講義

前半は講義形式をとり、SageMakerについて解説していただきました。

img2.png

講義資料より

SageMakerを利用して機械学習を行う場合、主に3つの選択肢があります。

  • ① AWSが提供するアルゴリズムを利用
  • ② AWSがサポートするフレームワークを利用
  • ③ それ以外のアルゴリズム・フレームワークを利用

もっともお手軽なものが①で、すでにある程度の機械学習アルゴリズムはプリセットとして用意されています(後述)。

②は①に含まれないアルゴリズム、例えばディープラーニングモデルを独自に実装したい場合に利用することになります。対応しているフレームワークは限られていますが、分散学習もサポートされるので、柔軟性もありつつ、クラウドのメリットを享受できます。

もっとも柔軟性があるのは③の方法ですが、こちらは学習用のDockerコンテナを自前で用意する必要があり、一手間必要です。その代わり、①、②で提供されていないアルゴリズム・フレームワークが利用可能となります。 DeNAではchainerで開発しているチームも多く、その場合は③の方法になります。今後も①〜③の方法を適材適所で使い分けていくことになると思います。

①のAWS提供アルゴリズムですが、すでに一般的な回帰・分類問題などがカバーできるように用意されているようです。

img3.png

講義資料より

今回のハンズオンでも、①Amazon提供のアルゴリズムを利用した線形回帰問題のケースを実装していきました。

後半: ハンズオン

img4.png

当日の様子

ここからは、参加者全員分のJupyter Notebookインスタンスを立ち上げ、実際にSageMakerによる機械学習をいくつか試していきます。

Notebook インスタンスの作成

Notebookに利用するインスタンスタイプなどを設定するだけで、あっという間にJupyter Notebookが立ち上がりました。 notebook_creation.png img5.png

AWS提供アルゴリズムによる線形回帰 - 学習

サンプルとして、まずはAWS提供アルゴリズムの線形回帰モデルを試しました。 img6.png

img7.png

ハンズオンに使用したノートブック

データロードの部分は省きますが、AWS提供のアルゴリズムを利用した場合、上記コードだけでモデル学習を実行してくれます。学習用の関数であるlinear_estimator.fitを実行すると、Notebook インスタンスとは別に学習用のコンテナが立ち上がり、ジョブを実行してくれます。

img8.png

講義資料より

内部の挙動としては、SageMakerがS3から事前に配置した学習データを読み込み、コンテナ上で学習、学習した結果のモデルを再度S3に書き戻しておいてくれる、という仕組みになります。

S3に出力される学習済みモデルファイルですが、AWS提供アルゴリズムの場合はSageMaker専用になっているためエンドポイント経由での推論が前提となります。一方でDLフレームワークで独自実装した場合や、学習用コンテナを用意して学習したモデル(手法②、③)に関しては、S3から直接モデルファイルを取得して推論アプリケーションに組み込むことができるそうです。

AWS提供アルゴリズムによる線形回帰 - デプロイと推論

img8_2.png

講義資料より

学習が終われば、上記のようにdeployを実行するだけで推論エンドポイントが作成されます。

img9.png

講義資料より

作成したエンドポイントに対して、入力データを投げると、推論結果が返ってきます。ハンズオンではHTTPリクエストをする代わりに、ノートブック上から直接エンドポイントを実行する方法をとりました。 img10.png

今回割愛させていただきますが、ハンズオンではその他、tensorflowによるirisデータセットの分類問題にも取り組みました。

DeepAR による時系列予測

講演の中では、DeepAR 使った時系列予測タスクも紹介されましたので、手元でも試してみました。

データセットとして予め波形データを作成し、これを学習させます。 img11.png

データセット

ここでは実行コードは省きますが、全体の処理の流れは線形回帰で試したものと同様です。

img12.png

DeepARによる推論結果

推論結果として、80%信頼区間と予測中央値を得ることができました。 トレンドはうまく捉えられているようですが、ピーク部分にずれがあります。ここはさらなるチューニングで改善できるかもしれません。

DeepARは元々、Amazon.com内における予測タスクに利用していたものだそうです。 AWS提供アルゴリズムのため、特別なセットアップをする必要なく、時系列予測問題に適用することができます。 時系列予測モデルはビジネスシーンでも利用頻度が高く、例えば機械学習アルゴリズムには詳しくないエンジニアやアナリストが、とりあえず現場のデータで精度が出るかやってみたい、という場合に使えそうです。

まとめ

以上、ハンズオンでは実際にAWS上で機械学習アプリケーションの学習とデプロイまでを行うことができました。

モデルの実装から推論用のエンドポイントの作成まで、特別インフラを意識する必要はありません。機械学習エンジニアにとってはよりアルゴリズム開発に集中できるのではないかと思います。

現在Google Cloud Platform上にも同様なサービスとして「Cloud Machine Learning Engine」がありますが、機能の違いなど比較すると面白そうです。

最後に、個人的に便利だと思った点をいくつか上げておきます。

  • 単純にmanaged Jupyterとしても利用できる
    • SageMakerはモデル実装から学習、デプロイまで一貫して行えるサービスですが、それぞれ一部だけ利用することもでき、Jupyter Notebookだけの利用も可能です。これを使えば簡単にGPUインスタンス上にJupyterを立ち上げてさっと使う、ということもできそうです。
  • データの暗号化に対応
    • 学習データ/推論結果も、プロダクションレベルにおいては高いセキュリティレベルでの取扱いを要求される場合も多く、データを暗号化する仕組みがサポートされているのは助かります。

注意点も上げておきます。

  • 現在SageMakerは東京リージョンでは提供されていませんので、実際のサービスに組み込む際には留意しておく必要があるでしょう。
  • Notebookインスタンス数など、SageMaker に利用するリソースはアカウントごとに上限が設定されています。もし社内で大規模に利用する場合には、事前に上限を上げる申請をしておく必要があります。(今回のハンズオンでも実施しました。) https://docs.aws.amazon.com/jajp/general/latest/gr/awsservice_limits.html

以上.

ツイート
シェア
あとで読む
ブックマーク
送る
メールで送る

DeNA TechCon 2018 開催レポート[4]

SWETグループの加瀬です。
DeNA TechCon 2018の開催レポートもいよいよ今回で最後となります。

過去のレポートはこちら
第1回 第2回 第3回

今回は、ORANGE Stage 『DeNAのゲーム開発』とClosingの発表の紹介です。

『逆転オセロニア』における運用効率化支援 〜デッキログのデータマイニング〜

tech_con_day4_1_resized.jpg

『逆転オセロニア』における運用効率化支援 〜デッキログのデータマイニング〜 from DeNA

AIシステム部 AI研究開発グループの田中による、『逆転オセロニア』でのデッキ分析手法の発表でした。

デッキ構築型のゲームアプリでは、各プレイヤーの使用デッキが固定化してしまうとゲームの楽しみが損なわれてしまいます。そのため、ゲーム内で現在よく使われているキャラやデッキの状況を把握することは、運用するにあたり非常に重要です。
発表では、実際の対戦ログからデッキに組み込まれるキャラの関係性や、キャラの特徴的な組み合わせを抽出して可視化することでゲーム運用に活用している事例が紹介されました。

大規模ゲーム開発におけるbuild高速化と安定化

tech_con_day4_2_resized.jpg

大規模ゲーム開発における build 高速化と安定化 from DeNA

ゲーム・エンターテインメント事業本部 Japanリージョンゲーム事業部の田辺による、アプリゲームのビルド改善の発表でした。

昨今のスマートフォンゲーム開発は大規模化・複雑化しており、ビルド時間が長くなるという問題があります。発表ではUnityのAssetBundleビルドの高速化、Jenkinsでの分散ビルド、Sakashoを用いるDeNAのゲーム開発特有の自動化フローなど、ビルドに関するノウハウが紹介されました。

協業アプリ開発を推進するテクニカルコンサルタントの挑戦 〜『歌マクロス』を成功に導く技術支援〜

協業アプリ開発を推進するテクニカルコンサルタントの挑戦 〜『歌マクロス』を成功に導く技術支援〜 from DeNA

ゲーム・エンターテインメント事業本部 Japanリージョンゲーム事業部 開発基盤部の高橋による、テクニカルコンサルタントに関する発表でした。

DeNAでは協業開発体制によって開発・運用されているゲームタイトルもあり、テックコンサルはそのようなタイトルの技術的な課題への対応を行っています。発表ではパフォーマンス対策といった技術的な内容から、運用のための体制の整備などといった多岐にわたるテックコンサルのサポート内容、過去に起きた問題の解決事例まで、非常に幅広い内容が紹介されました。

世界へ向けたゲーム開発 〜ローカライズ支援ツール『LION』〜

tech_con_day4_3_resized.jpg tech_con_day4_4_resized.jpg Japanリージョンゲーム事業部 開発基盤部の立浪と、グローバル推進部の中本による、内製のローカライズ支援ツールの発表でした。

世界へ向けたゲーム開発 〜ローカライズ支援ツール『LION』〜 from DeNA

ゲームのローカライズを行うには、翻訳対象となるファイルの用意からスケジュール調整など非常に複雑なタスクが数多く存在し、それらを手作業で行うことは困難となっています。
発表では、開発しているローカライズ支援ツール『LION』によってタスクの管理がどのように効率化されるかという内容が、実際のスクリーンショットも交えながら話されました。

DeNAのネイティブアプリにおけるサーバ開発の現在と未来

tech_con_day4_5_resized.jpg

DeNAのネイティブアプリにおけるサーバ開発の現在と未来 from DeNA

ゲーム・エンターテインメント事業本部 Japanリージョンゲーム事業部 開発基盤部の北澤による、ゲーム開発のサーバー側の発表でした。

DeNAの多くのゲームアプリでは、サーバー側の実装にSakashoと呼ばれる内製のBaaSを使用しており、ゲームによくあるサーバー側のロジックはSakashoに集約されているため、効率的に開発が行われています。
発表では「現在」として、Sakashoを開発した経緯やその結果の現在の状況が紹介されました。そして「未来」として、現状を振り返って判明してきた問題点を改善する次のプロダクトを開発中であるという内容が話されました。

Closing

tech_con_day4_6_resized.jpg DeNA TechCon最後の発表は、取締役の川崎よりClosingとしてまとめの話がありました。

DeNAでは近年AIやオートモーティブ事業に注力しており、それらが未来への仕込みから現実的にサービスを作る段階になったことで、今年は去年よりも発表される内容が具体的になってきました。
事業の幅が広くなったことにより色々な働き方ができるようになった反面、隣の部署がやっていることが見えづらくなってきているので、DeNA TechConによってDeNAの社員も隣の部署がどのような技術を使っているのか知る機会となり、価値が高いイベントになっています。
DeNAはビジネスが強い会社だと思われることが多いですが、ものづくりにも強くてビジネスと両輪になっている、という内容の話でした。
発表後、参加者に飲み物が配られ、乾杯と共にそのままAfter Partyが始まりました。

tech_con_day4_7_resized.jpg

最後となる第4回は、ORANGE StageとClosingの紹介でした。 2018年のDeNA TechConの開催レポートは今回で終了となります。
お越し頂いた皆様、登壇された皆様、スタッフの皆様、お疲れ様でした!!

最後に、レポートでは紹介できませんでしたが、当日は4つのStageに加えてCasual Talkの発表も並行して行われていました。
Tech Conのホームページではここまで紹介してきた発表と、Casual Talkのスライドと動画が公開されていますので、ぜひ訪れてみてください。

それでは、来年もDeNA TechConでお会いしましょう!

ツイート
シェア
あとで読む
ブックマーク
送る
メールで送る

try! Swift Tokyo 2018 参加レポート

はじめに

17新卒iOSエンジニアの神武(@koooootaken)です。 2018/03/01-02に、ベルサール新宿グランドで、Swiftに関するコミュニティ主催のカンファレンス、 try! Swift Tokyo 2018に参加してきました。その様子をお伝えします。

tryswift

try! Swift Tokyo 2018の雰囲気

try! Swift Tokyo 2018では1つの会場で参加者全員が同じセッションを聞く形式で行われました。カンファレンスにしては珍しい。

会場

セッションは大半が英語で、トランシーバーによる同時通訳が行われていました。同時通訳は感動もので、喋りながら聴き、専門用語盛りだくさんの発表をよく精度高く通訳できるなと。発表者から聞いた話しによると、事前に日本語と英語の原稿を渡し通訳者さんと打合せしているそうです。日本語で発表されている方も、スライドに日本語はほとんどありませんでした。

参加者も海外の方が多く、隣の席の方が英語で声を掛けてくださった時には慌ててしまいましたが、そのまた隣の席の日本の方のお力も借り、どんな開発をしているかなどのコミュニケーションを取り盛り上がることができました。

また、Q&AブースにはAppleの社員の方が7名も待機しており、とても重要なカンファレンスである様子が伺えました。

ここで、参加した社員の知見や感想を記したレポートを5つ、発表セッションごとに掲載します。

Introducing Charles for iOS @avon

コマース&インキュベーション事業部という新規事業をガンガン開発するチームに所属している @kozyty がレポートします。

みなさん!Charles使ってますか?便利ですよね。 発表は、 @avon が日本語で挨拶して「5年間日本語を勉強したけど全く覚えてないから、ここからはGoogle先生にお願いするね(意訳)」と、場を笑わせつつはじまりました。

そんな雰囲気のままCharlesをFLASHの開発のデバックのために作った話をしたあと、Charles for iOSを開発する理由について教えてくれました。

「プロキシ設定が面倒だったり、設定をしていたのを忘れて通信できなくなったりする」など辛かった点を教えてくれました。だからこそ、iOS上で Charlesを実行したかった!だからコードネーム CHARLIE が始まったとのこと。Charles for iOSの発表と同時に会場は盛り上がりました。

まとめると Charles for iOS の便利な点は以下とのことでした。

  • No more proxy settings (プロキシ設定が不要)
  • No longer need a computer (コンピュータが不要)
  • Wi-Fi and Mobile data(モバイルネットワークも使える)
  • 格好いい(格好いい)

個人的には、「モバイルネットワークは熱いな!」と思いつつも。 それ以上に強力だと感じた点は、「iOSでできることは端末側で行い細かいデバックはPCで行う」という本来あるべき姿になることでオーバーヘッドが削減されることなのではないか...?と感じました。移動中にロギングしたり簡単なデバックもできるのは良さそうですよね。

執筆時点(3/4)ではまだAppStoreにありませんが、審査が無事通過して利用できることを祈っています!!とても楽しみですね!

リンク

game @giginet

コマース&インキュベーション事業部でライブ配信の新規事業を開発している @noppefoxwolf です。

try! Swift Tokyo 2018は多種多様なSwiftに関するセッションを聴くことが出来ました。 その中でも異色のセッションといえばfastlaneのメインコントリビュータでもある、@giginet氏のgameではないでしょうか?

このセッションでは「Xcodeは実はゲーム開発環境だったのです」という力強い言葉から、Xcodeのゲーム開発ツール群を紹介して始まりました。 特にXcodeに2D Map Editorがあったことを知らなかった自分はこの瞬間からセッションに釘付けになりました。

giginet氏のインディーゲーム開発の経験からSpriteKitを紹介する場面では、 Riko(try! Swiftのメインキャラクター)を爆破するデモゲームの実装を紹介し、SpriteKitの実装の簡単さをユニークに表現されました。 ここでSKSceneのライフサイクルやタッチイベントハンドラーがUIKitでの開発に非常に似ている事に気がついた方も多かったと思います。

中盤はGameplayKitのコンポーネントを紹介。 ゲーム開発に必要なアルゴリズムやデザインパターンを簡単に扱えるフレームワークは工夫次第では通常のネイティブアプリ開発でも使えるのでは無いかと思いました。

またSpriteKitに関するOSSでの取り組みではUnityでのUniRxに相当するRxSpriteKitを実装していることや、 Apple以外のプラットフォームでSpriteKitを動作させるプロジェクトが存在している事にも言及。

Appleのこれからのゲーム開発環境に対して冷静に分析しつつも、ゲーム開発者ならではのユニークな切り口で会場を沸かせました。

ARKitの登場でSprite/SceneKitの開発需要は一層増してきました。 これまでのネイティブ開発者が同じSwiftを使って開発できる環境として、これらの技術をキャッチアップしていく必要性は感じつつもなかなか触れられずにいる方も多いのでは無いかと思います。 そんな中で@giginet氏のセッションは開発者にSpriteKitの可能性や取り組みやすさを再認識させるものだったのではないでしょうか。

リンク

Swift エンジニアのための Kotlin 入門 @designatednerd

SWETグループでテストエンジニアをしている @tobi462 がレポートします。DeNA Testing Blogでテストに関する記事も公開しています。

この発表ではSwiftと比較しながらKotlinを紹介するという内容でした。私自身もKotlinを学習中だったので注目していた発表の1つでした。

まずはKotlinが登場した背景について語られました。

  • IntelliJ IDEAを開発しているJetBrainsが、既存のJVM言語に満足できなかったので開発した
  • Clojure、Groovyは機能として不足していた
  • Scalaは望む機能を備えていたがコンパイル速度が遅い

次にSwiftとKotlinが似ている点について語られました。

  • リテラル
  • ジェネリクス
  • ファーストクラスとしての関数
  • map / filter / reduce などのリスト操作関数(ただし微妙な差異はある)

続いてSwiftとKotlinがお互いに盗むべきだと考える機能について紹介がありました。

  • Kotlin
    • guard-let によるアンラップ・早期リターン
  • Swift
    • apply による連続したプロパティ設定(レシーバ付きラムダ)

apply については、私も以前似たようなQiita記事を書いたことがあったので、やはりSwiftにも欲しい機能だと改めて思いました。

残りはKotlin/NativeやKotlinの学び方などについて説明があり、最後には「try! Kotlin」とのことで上手な締め方だと思いました。

この発表でも触れられていましたが、Androidエンジニアとのコミュニケーションにもつながると思うので、この機会にKotlinを勉強してみるのも面白いのではないでしょうか。

レスポンダチェーンを知ろう @samuelgoodwin

社内で(多分)一番最初にSwift4移行しました。Swift大好きエンジニアの @malt03 です。 この発表では、@samuelgoodwinさんがレスポンダチェーンについて詳しく解説されていました。

私は入社以来iOSアプリを触っているにも関わらず、イベントがレスポンダチェーンによって受け渡されていることを理解していなかったので、とても興味深いセッションでした。

発表の最後にもありましたが、Appleのドキュメントを参照すると、正確な情報を得られます。

レスポンダチェーンとは、UIResponder.nextでつながっている片方向リスト[注釈]です。 iOSにおいてイベントは、イベント毎に定義されたファーストレスポンダからこのレスポンダチェーンに従って受け渡され、チェーンの中で、初めにそのイベントを処理できたレスポンダがイベントの処理を行います。 通常、チェーンの最後はAppDelegateになっています。

発表では、nextにカスタムオブジェクトを代入しておくことが出来るとありましたが、私の見る限りnextはreadonlyであり、代入は出来ませんでした。 nextのgetterをoverrideすることは出来ますが、全てのイベント処理に影響するバグの温床になるので、個人的にはオススメしません。

レスポンダチェーンを使う場面として便利そうだと思ったのは、レスポンダチェーンに自分でアクションを流す、という使い方です。 独自アクションも、Responderで定義済みのアクションも流せます。


// Cocoa
NSApplication.shared.sendAction(#selector(NSResponder.pageUp(_:)), to: nil, from: nil)
// UIKit
UIApplication.shared.sendAction(#selector(MyViewController.showNext), to: nil, from: nil, for: nil)

UIKitではResponderのアクションは使うことはほぼ無さそうですが、Cocoaでは便利な場面もありそうです。

ちなみに、調査した感じCocoaのレスポンダチェーンはきちんとAppDelegateまでnextResponderでつながっていませんでした。sendActionするときちんと動いているので、どうやって動いているのか謎めいています。その辺りは近いうちにQiitaにまとめようと思っています。

[注釈] 正確に言えば、同じnextを持つレスポンダは複数存在するので木構造ですが、木構造として扱ってはいないのでリストと書いています。

超解像+CoreML+Swiftを使ってアプリの画像データ転送量削減に挑戦する @kenmaz

社内からの登壇者について神武がレポートします。

マンガボックスiOSエンジニアの@kenmazが、学習済みのモデルをiOSで利用するための最新フレームワークCoreMLを用いて、荒い画像を綺麗な画像に変換する、超解像技術(SRCNN)にtry! した成果を発表しました。

登壇する@kenmazさん

序盤のデモではマンガボックスiOSアプリを起動し、アプリ内の漫画ビューワーでギザギザした低解像度画像を、目に見えて分かる高解像度画像に、僅か1秒足らずで変換する様子を披露し、会場を沸かせました。

続けて、実現にあたりどのような壁にぶつかり改善してきたかについて、画像や表で比較しつつ語られ、最後には、超解像技術は漫画だけではなく様々な種類の画像に適応できる可能性を示し、UIImageViewのextensionとして超解像技術を利用できるライブラリを本日、オープンソースとして公開しました!と発表。

公開されたSRCNNKitは翌日のgithubのトレンド入りするなど、5分という限られた時間の中で注目を集めていました。

リンク

企業ブース

DeNAはゴールドスポンサーをさせていただき、企業ブースを展示しました。

ブースではSwiftエンジニアなら気になる!あんな質問、こんな質問をボードに並べ、該当する項目にシールを貼っていただくアンケートを行いました。用意したボードが1日目でみっちり埋まってしまい、2日目には即興で質問を追加し別のボードを用意するなど、多くの方にお答えいただくことができました。ありがとうございました!

ボードにシール

このボードを眺めながら他の会社の方と会話を弾ませたり、結果を見にきました!とブースに何度も足を運んでいただいたりと、コミュニケーションのきっかけとなる様子が伺えました。

アンケートの最終結果はこちら! アンケート結果1 アンケート結果2

アンケートにお答えいただいた方には、懇親会で横浜DeNAベイスターズが手掛けたオリジナル醸造ビールに引き換えられるシールクーポンか、飲めない方や懇親会に参加できない方向けにDeNAオリジナルスクリーンクリーナーをお渡しました。海外の方々にも日本語で「ビール、美味しかったです!」と声を掛けていただけました。

ブース担当者の集合写真をパシャリ(全員写ってないですね笑) 集合写真

おわりに

大規模なカンファレンスということで、OSSとして公開しました!近日公開予定です!など、try! した成果を誰でも活用できるようにしたよ、という発表が多い印象でした。自分もtry! して、みんなもtry! してみてね!と言えるようになりたい、と強く思いました。

閲覧いただき、ありがとうございました!

ツイート
シェア
あとで読む
ブックマーク
送る
メールで送る

DeNA TechCon 2018 開催レポート[3]

DeNA TechCon 2018 開催レポート[3]

こんにちは!SWETグループの加瀬です。
DeNA TechCon 2018の開催レポートも今回で第3回目となりました。

第1回 第2回

今回はグラフィックレコーディングの様子と、BLUE Stage 『DeNAを支える技術』の発表を紹介いたします。

グラフィックレコーディング

第1回目のDeNA TechConのときから名物となっているグラフィックレコーディングが今年も行われました!
技術的な内容が多くて難しい発表も、絵によって話の流れが可視化されることでとても分かりやすくなりますね。

tech_con_day3_1_resized.jpg tech_con_day3_2_resized.jpg tech_con_day3_3_resized.jpg tech_con_day3_4_resized.jpg tech_con_day3_6_resized.jpg

SWETの取り組むImage Based Testing

tech_con_day3_7_resized.jpg tech_con_day3_8_resized.jpg

SWETの取り組むImage Based Testing from DeNA

システム&デザイン本部 品質管理部 SWETグループの薦田と坂本による、画像ベースの自動テストの発表でした。

前半は、画像ベースでのデグレをテストする手法の解説と、テストの実装コストを減らすためにクローラーが自律的にサイト内を巡回してテストを行う手法が紹介されました。さらに、機械学習を活用してクローラーを自動的にフォームからログインさせる方法についての話もありました。
後半は、ゲームアプリのUIテストが難しい点をUIパーツの画像を用いて解決する手法と、こちらも機械学習を用いて画面判定のための画像登録を省力化する方法を検討中であることが紹介されました。

サービス開発におけるフロントエンド・ドメイン駆動設計の実践

tech_con_day3_9_resized.jpg

サービス開発における フロントエンド・ドメイン駆動設計の実践 from TakefumiYoshii

システム&デザイン本部 デザイン戦略部 デザインエンジニアリンググループの吉井による、フロントエンドにおけるドメイン駆動開発のアーキテクチャの紹介でした。

ヘルスケア事業のサービスである『KenCoM』のサイトにおける複雑な各種データの表示・編集を行うために、OOPをReact + Reduxの構成に加えたHexagonal Redux構成が紹介されました。React + Reduxで問題となりやすい部分をこの構成がどのようにして解決しているのか実践的な内容となっています。

DeNA Private Cloud の現在と未来

tech_con_day3_10_resized.jpg

DeNA Private Cloud の現在と未来 from DeNA

システム&デザイン本部 IT基盤部の廣瀬による、DeNAのPrivate Cloudについての発表でした。

DeNAのPrivate Cloudについての発表は第1回のDeNA TechConから発表されており、今年で3回目の発表となります。今年は、「これまで編」ではPrivate Cloudへの数々の改善について紹介し、「これから編」ではOpenStackとコンテナなどに関しての内容が話されました。

DeNAの大規模ライブ配信基盤を支える技術

tech_con_day3_11_resized.jpg

DeNAの大規模ライブ配信基盤を支える技術 from DeNA

システム&デザイン本部 IT基盤部 第一グループの漢による、DeNAのライブ配信サービスに使われる配信基盤の裏側についての発表でした。

ライブ配信サービスの配信・視聴サーバーの構成、サーバーのキャパシティ指数とそれを用いたオートスケーリングの仕組み、CDNの利用やマルチリージョン対応など、ライブ配信を安定して大規模に提供するための技術が紹介されました。
また、現在は調査検証中である低遅延配信や、次世代コーデックへの対応といった今後についての話もありました。

内製ツールを使ったチート診断・脆弱性診断

tech_con_day3_12_resized.jpg

内製ツールを使ったチート診断・脆弱性診断 from DeNA

システム&デザイン本部 セキュリティ部 セキュリティ技術グループの汐田による、DeNAの脆弱性診断についての発表でした。

DeNAでは、各サービスのセキュリティの脆弱性診断を内部で行っています。発表ではゲームアプリのチートを例にして脆弱性が悪用された場合にどのような被害が起きてしまうのか、そしてどのような観点でチートを防いでいくのか、ということについて紹介されました。
セキュリティ技術グループでは診断ツールも内製で作成しており、ツールの機能やそれを用いてバイナリプロトコルを解析するデモも行われました。

以上、第3回はBLUE Stageとグラフィックレコーディングの紹介でした!
いよいよ最終回となる次回の第4回目では、ORANGE Stage『DeNAのゲーム開発』とClosingを紹介する予定です。

ツイート
シェア
あとで読む
ブックマーク
送る
メールで送る

DeNA TechCon 2018 開催レポート[2]

こんにちは!SWETグループの加瀬です。
前回に引き続き、DeNA Tech Con 2018の様子をお伝えしていきます。
第2回となる今回は展示ブースの様子と、RED Stage 『DeNAのチャレンジ』の発表の紹介です。

発表会場外の様子

当日は4つのメインステージの外でも、ノベルティの配布や展示ブースで賑わっていました。

tech_con_day2_1_resized.jpg tech_con_day2_3_resized.jpg tech_con_day2_4_resized.jpg tech_con_day2_2_resized.jpg

中でも特に目を引いたSHOWROOMのブースでは、VRデバイスのOculus RiftとOculus Touchを使ってバーチャルSHOWROOMERの体験ができました。

自分の体を動かすことでVRのアバターを操作できるだけではなく、SHOWROOMでお馴染みであるギフティングも再現されており、 なんとVR空間の空から振ってくるギフトのひとつひとつを掴んで動かしたり投げたりすることも可能でした。 VR空間とはいえギフトに触ることができることで、本当にプレゼントを頂いたのだなという実感をより強く感じられると思いました。

 tech_con_day2_5_resized.jpg

SHOWROOMブースを体験している筆者の様子。

『SHOWROOM』の大規模化に伴う技術課題のソリューション ~演者・視聴者の熱量を支える負荷対策、HTML5対応など~

tech_con_day2_6_resized.jpg

SHOWROOM株式会社の池滝による、SHOWROOMが今まで行ってきた負荷対策と、PC版のHTML5対応に関する話でした。

サーバー側のオートスケーリングや、非同期化できる処理を非同期化するといった対策から、大勢のユーザーが大量にコメントやギフティングを行う状況を再現するスクリプトを実行してクライアント端末のCPUとGPUを計測しつつチューニングを行う負荷対策の取り組みなどが紹介されました。 また、PC版サイトにおける従来のAdobe Flash Playerを使った実装からHTML5に移行する取り組みについての紹介もありました。

AWS IoT を用いた DeNA オートモーティブアーキテクチャ

tech_con_day2_7_resized.jpg

オートモーティブ事業部の放地による、車両情報を集約するアーキテクチャについての話でした。

オートモーティブ事業部では、車両情報を集約する基盤をAWS IoTで構築しています。今回の発表では、車両の登録と車両情報の送信・保存・伝搬のフローを実現するために、MQTTやAWS IoT RuleEngine、AWS IoT ThingShodow、AWS Lambdaなどを用いたアーキテクチャが紹介されました。また、サービス利用者向けアプリからこの基盤の車両情報を取得する仕組みに関する内容の紹介もありました。

ヘルスケアサービスを実現する最新技術 〜HealthKit・GCP + Goの活用〜

tech_con_day2_8_resized.jpg tech_con_day2_9_resized.jpg

ヘルスケアサービスを実現する最新技術 〜HealthKit・GCP + Goの活用〜 from DeNA

DeSCヘルスケア株式会社の深谷と伊藤による、ヘルスケアサービスを実現するクライアントとサーバーの仕組みについての紹介でした。

クライアント側では、歩数を例にiOSデバイスからどのようにして情報を取得するかということについて具体的な紹介がありました。サーバー側では、Go言語+DDDによるウェブアプリケーションをGAEに構築していることと、そのデプロイ方法、さらにデータをどのようにしてBigQueryにアップして分析できるようにするか、という内容が紹介されました。

AndAppにおけるGCP活用事例

tech_con_day2_10_resized.jpg

AndAppにおけるGCP活用事例 from DeNA

オープンプラットフォーム事業部の鈴木による、GCPをフル活用したAndAppのシステム全容の話でした。

AndAppでは、運用の負荷を抑えたり、新しいことに挑戦しようという試みから、DeNAでは一般的であったオンプレ上の独自システムではなくGCP上にシステムを構築するという選択がされました。発表では、GCPの様々な各サービスについての基本的な紹介とAndAppにおける利用方法、またそれらがどのように組み合わされて全体システムが構築されているかという内容が紹介されました。

以上、第2回は展示ブースとRED Stageの紹介でした!
次回の第3回では、BLUE Stage 『DeNAを支える技術』のセッションを紹介する予定です。

ツイート
シェア
あとで読む
ブックマーク
送る
メールで送る

try! Swift Tokyo 2018への協賛・登壇のお知らせ

こんにちは。Shimonです。

明日3月1日から開催されるtry! Swift Tokyo 2018にて、DeNAはゴールドスポンサーを務めます。

カンファレンス2日目には、11時50分から弊社松前が超解像+CoreML+Swiftを使ってアプリの画像データ転送量削減に挑戦すると題したセッションをお送りします。

DeNAブースでは、ペットボトルのお水のご用意や、ちょっとしたアンケートにお答えいただくことで、先着で横浜DeNAベイスターズ 球団オリジナルビールのプレゼント* をします。また、ブースにはDeNAの様々なサービスからiOSエンジニアも参加します。SwiftやiOS開発に関わる話もできたら嬉しいです。

あわせて、カンファレンス翌日3月3日にはワークショップを、来週3月8日には非公式なファンイベントとなるAfter talks day1の会場提供、運営のサポートもさせていただきます。

try! Swiftのスポンサー、ブース出展は初めてになりますが、お越しの皆様と積極的に関わることができたらと考えています。カンファレンス当日、ワークショップ、After talksともに、皆様にお会いできるのを楽しみしています!

*ブースではクーポンのお渡しとなり、ビールは2日目のParty内で配布を予定しています

ツイート
シェア
あとで読む
ブックマーク
送る
メールで送る