ソフトウェアエンジニアリングシンポジウム併設ワークショップで発表してきました

はじめに

はじめまして、品質管理部の河野です。
所属は品質管理となっておりますが、普段はいわゆるQAマネジャやQAエンジニアという立場で主にヘルスケア関連のサービスのQA業務全般に従事しております。また、その他には部門横断の改善活動や新規サービスのQAの立ち上げにも注力しております。
特にQAの立ち上げは、初期段階で基礎固めをすることが非常に重要だと考えています。それで、昨年末からあるサービスのQAの立ち上げの案件がありましたので、色々と勉強をしながら仕組みづくりをしてきました。

9月に掲題のワークショップでQAの立ち上げ事例を発表してきましたので、少し時間が経ってしまいましたが、簡単に当日の様子や発表内容をレポートしたいと思います。

なぜ発表するのか?

さて話は変わりますが、私は年に一度くらいの頻度で社外発表するように意識しているのですが、皆さんはいかがでしょうか。
私は以下のような理由で定期的に社外発表するようにしています。

  • 業務(の成果)の棚卸しをする
  • 上記の業務(の成果)に対して世の中一般の立ち位置を明らかにする
  • 原稿(論文)を書くことで文章を作成する力を維持する
  • 普段のルーティンな生活に刺激を与える
    などなど

当日の発表

シンポジウムの会場が大学ということもあり、30人程度で一杯になるような小さな教室で参加者は10名強という小規模なワークショップで発表しました。学術系のシンポジウムの併設ワークショップということで、大学の先生や学生が参加者の半数くらいの割合を占めていました。
発表時間は大まかに管理されていたものの、比較的自由度が大きく発表後にフリーディスカッションを行うような形式でした。その中で、色々なフィードバックが得られたことが今回の収穫でした。

発表内容

さて、「はじめに」で簡単にお伝えしたようにQAの立ち上げの事例の発表になるのですが、アジャイル開発という文脈でQAの困りごとを整理して、その解決アプローチを検討すると言った発表になります。
詳細は、こちらのポジションペーパと以下の発表資料に譲りたいと思います。

アジャイルソフトウェア開発における テスティングの課題およびその解決アプローチ from Tetsuya Kouno

おわりに

すでにこちらでもレポートが出ておりますが、今後もDeNAの品質管理部では認知度を高めるためにも社外発表を進めていく予定です。 また、DeNA QA Night というイベントも企画しております。

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

builderscon2018に参加してきました

こんにちは! コマース&インキュベーション + ブロックチェーンR&D部門のエンジニア、緒方です。

9/6,9/7,9/8で、3日間(前夜祭も入れると4日間)に渡り、「builderscon2018」が開催されました。 DeNAのエンジニアも私含め、3名登壇しております。 少し発表から時間が空きましたが、オフィシャルからフォトやムービーが公開され始めたこのタイミングで 登壇者からのコメントなどを交えつつ参加レポートを書きたいと思います!

buildersconとは

「知らなかった、を聞く」をテーマとした国際テックカンファレンスです。 毎年1000人以上のエンジニアが集まり、5トラックでのトークが行われる大規模なイベントです。 技術を愛する全てのギーク達のお祭り銘打ち、トークに関して、技術的な制約などはないと公式でアナウンスされているため、 様々なエンジニアリング観点で、幅広い題材をテーマにトークが繰り広げられるのが特徴です。 DeNAはじめ、数多くの企業が協賛しており、関心の高さが伺えるイベントになっています。

18_09_07_a_002.jpg

登壇したエンジニアより

当日登壇したエンジニアから、発表内容やCfPを出した背景などについてコメントをいただきました。

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

あらためまして、 コマース&インキュベーション + ブロックチェーンR&D部門のエンジニア、緒方文俊(@oggata)です。

今回は、DeNAでもR&Dとして研究を進めているブロックチェーンを題材に発表を行いました。 CfPを出した経緯は、社内でもブロックチェーン技術のサービスを考える時に、 仮想通貨のような投資観点としてのみ、認識されている事が多く、 技術として、もっと面白いアプローチがあることを知って欲しいという部分を内外にアピールしたいと思ったことがきっかけでした。

カンファレンスでは、 自身の趣味で作成しているブロックチェーン惑星探索ゲーム「PlanetTravelers」を題材にしつつ、 ゲームという分野において、どのような活用ができるのかという観点で話をしました。 (PlanetTravelersは惑星を旅し、発見した惑星をブロックチェーンに書き込みを行うゲームです。)

ブロックチェーンという技術自体初めてという方も多かったため、 基礎的なところから始めて、簡単なハンズオンのような形で、手元のスマートフォンでゲーム内の土地を所有体験してもらったり、実際にスマートコントラクトを書くところまで、 1時間という時間でしたが、幅広く説明をさせていただきました。

18_09_07_d_091.jpg

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

SWET (Software Engineer in Test) グループ所属の Kuniwak (@orga_chem) です。

今回の CfP で伝えたかったことは、(1) 静的検査の仕組みがどうなっているか、(2) 静的検査が意外と簡単だということ、の2点です。なお、この発表内の知識は、私が OSS として公開している静的解析ツールの開発経験を通して得た学びがもとになっています。

この発表で触れるさまざまな基礎技術は、静的検査はもちろん、メタプログラミングやトランスパイラ、独自プログラミング言語の開発にも役立つ重要なものです。これらを技術の引き出しとして覚えておけば、今後の開発体験を豊かにしてくれることでしょう。 18_09_07_e_102.jpg

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

オープンプラットフォーム事業部所属でソフトウェアエンジニアとして働いている@karupaneruraです。

今回は「遠いようで身近なサウンドエンジニアリング」という題のCfPを採択して頂き、それについて話をしました。普段はソフトウェアのエンジニアリングをしています。 サウンドエンジニアリングというと聞き慣れない方もいらっしゃると思いますが、ここでは音楽のレコーディング、ミキシング、マスタリングなどの技能を指しています。 僕は趣味で自分のバンドの自主制作CDのレコーディングなどをやるのですが、素人なりにその課題や面白さを知ってもらいたいと思い、このCfPを応募しました。 また、せっかく「知らなかった、を聞く」という素敵なテーマを持ったカンファレンスですから、ソフトウェアエンジニアリングに限らずもっと幅広い話題が集まるきっかけになれば良いなという思いもありました。

内容としてはデモンストレーションも交えて音の性質とそれにまつわる問題、それをどのようなものをつかって解決していくか。といったことを話しました。詳しくはスライドか動画をご覧頂ければと思います。 これを通じてサウンドエンジニアリングについて知って頂き、あわよくばやってみたい!とか、エフェクトや音源がどのように実装されているのか気になる、自分で実装してみたい!と思ってくれる方がいてくれたら嬉しいなと思います。

18_09_08_ b_032.jpg

おわりに

登壇後に、ブロックチェーン関連の勉強会に参加したのですが、 自分の登壇を聞いて、興味を持って参加しました、と言ってくださった方が数名いらっしゃっていたり、 TokyoBitcoinHackathonで優勝した方が、 自分の発表をきっかけに勉強を始めたとtwitterでメッセージをくださったりと、とても嬉しいことがありました。 運営のみなさまにはこの場を借りてお礼を申し上げたいと思います。 また来年も参加したいと思います!

buildersconの公式HPはこちら

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

ECCV 2018で発表してきました

はじめに

皆さんこんにちは。DeNA AIシステム部の李天琦(leetenki)です。DeNAのAIシステム部では、物体検出、姿勢推定、アニメ生成等、様々なComputer Vision技術の研究開発に取り組んでいます。また、AIシステム部では世界の最新技術トレンドをキャッチアップするために、年一回国際会議に自由に参加する機会が設けられています。今回は、ドイツ ミュンヘンで開かれたComputer Visionに関する世界トップの国際会議の一つである「ECCV 2018」について、AIシステム部のメンバー5名で参加してきましたので、その内容について紹介したいと思います。また、今回は聴講としてだけでなく、DeNAからもWorkshop論文が1件採録され、濱田晃一(下図右)と私(下図左)の2人で発表してきましたので、その様子についても紹介したいと思います。

Image from iOS (4).jpg

ECCVとは

ECCVの正式名称は「European Conference on Computer Vision」で、CVPR、ICCVと並ぶComputer Vision分野における世界三大国際会議の一つです。ちなみにComputer Visionというのはロボット(コンピュータ)の視覚を指し、広義は画像認識、映像認識の技術分野全般を意味しています。そのComputer Visionの分野において世界三大国際会議の一つがこのECCVです。そして近年ではDeep Learningを始めとするAI技術の飛躍的な進歩により、あらゆるComputer Vision分野でDeep Learningを使う事が当たり前になってきているので、ECCVでもDeep Learningの手法を応用した論文が大半の割合を占めるようになりました。

スクリーンショット 2018-09-23 18.08.47.png

今年の開催期間は9/8〜9/14の7日間です。最初の2日と最終日は特定のテーマに絞ったTutorial & Workshopで、あいだの4日間がMain Conferenceです。また、Main Conferenceの4日間では、Expoと呼ばれるスポンサー企業の展示会も並行して行われ、世界をリードするIT企業の最新の研究成果や製品などが展示されました。

開催場所

今年の開催場所はドイツのミュンヘンで、GASTEIG Cultural Centerという、劇場・図書館・大学が一体となった大型文化施設を貸し切って会議が開かれました。

1171537694457_.pic_hd.jpg

[会場のGASTEIG Cultural Center]

近年AI技術への注目の高まりを受けて、ECCV参加者は年々増加し、今年は参加者も採録論文数も過去最高となりました。統計によれば、今年の投稿論文数は2439本で、採録論文数は776本でした。そして今回のECCV参加人数は3200人以上と、ECCV 2016の時と比べて倍以上にものぼっています。

スクリーンショット 2018-09-28 23.06.42.png

[参加者の統計]

スクリーンショット 2018-09-28 23.06.52.png

[投稿論文数の統計]

セッションの様子

ECCVに採録された論文のうち、評価の高かったものはOralと呼ばれる口頭発表形式のセッションで発表されます。その場でデモを行うものもあります。それ以外はPosterと呼ばれるセッションで発表され、著者と直接ディスカッションを行うことができます。

スクリーンショット 2018-09-28 23.09.56.png

[Oralセッションの様子]

ネットワーキングイベント

Main conference期間中、初日の夜に「welcome reception」と、3日目の夜に「congress dinner 」という2つの公式ネットワーキングイベントが開催されました。今回は時間の都合でcongress dinnerには参加できませんでしたが、初日のwelcome reception partyでは立食パーティ形式で世界各国の研究者達と親睦を深める事ができました。

1151537694262_.pic_hd.jpg

[Welcome receptionに参加してるDeNAメンバー]

また、会議公式のイベントとは別に、多くのスポンサー企業が会場近くのカフェやクラブを貸し切って、独自のネットワーキングイベントを開催していました。今回濱田と私が発表したFashion, Art and Design Workshopでも独自に懇親会を開催していたため、そちらにも参加し、世界各国のFashion, Art関連の研究者と仲良くなる事ができました。

受賞論文

今回ECCVで発表された論文の中で、受賞されたものをいくつか紹介します。

  • Implicit 3D Orientation Learning for 6D Object Detection from RGB Images まず、今年のECCV Best Paperに選ばれたのが、こちらのImplicit 3D Orientation Learning for 6D Object Detection from RGB Images (Martin Sundermeyer et al.) です。

スクリーンショット 2018-09-23 22.24.12 (1).png

[Martin Sundermeyerらの提案手法の全体の流れ]

この論文を一言で要約すると、6D物体検出(3次元空間座標だけでなく3方向の向き姿勢情報も含んだ検出問題)を高速に行う事ができ、かつ6Dのラベル付き教師データがなくても学習可能という画期的な手法です。ただし、6Dラベル付き教師データの代わりに、検出対象となる物体の3D CADデータが必要となる点に注意が必要です。 もう少し具体的に全体の処理の流れを説明すると、まず入力となるRGB画像に対してSSDを用いて対象物体のBounding Boxを推定し、その後、推定されたBounding Box領域から物体の姿勢情報を推定するという処理を行います。実は後半のBounding Box領域から物体の姿勢情報を推定する部分がこの論文の一番の重要なポイントで、ここで独自のAugmented AE(AutoEncoder)というものを提案しています。

スクリーンショット 2018-09-28 23.23.24.png

[Augmented AEの構造]

このAugmented AEというのは、背景や遮蔽を含んだ物体画像を入力した時に、背景や遮蔽を取り除いて対象物体だけが映る画像を出力するように訓練されたCNNです。このネットワークを訓練するには、背景を含む物体画像とそうでない画像のペアの教師データが必要ですが、そこでCADデータを使い、ランダムに集められた背景画像と合成した人工的なデータセットで学習を行います。また、あらかじめ対象物体のあらゆる姿勢の画像をCADデータから生成し、Augmented AEで潜在表現を計算しておいて、データベースに蓄積しておきます。これによって、テスト時に検出されたBounding Box領域をAugmented AEのEncoderに入力して、得られた潜在表現とデータベースにある潜在表現の照合検索を行う事で、高速に姿勢情報を推定する事ができます。

  • Group Normalization 次はHonorable Mentionを受賞した2本の論文のうちの1つであるGroup Normalization (Yuxin Wu et al.) を紹介します。

スクリーンショット 2018-09-28 23.23.34.png

[Group Normalizationを含む各種正規化手法比較]

こちらの論文はかの有名なKaiming He氏も共著に入っており、とてもシンプルでかつ有用なDeep Learningにおける正規化手法です。通常、Deep Learningの学習にはバッチ正規化 (Batch Normalization) という手法がよく使われますが、その性能はバッチサイズの大きさに依存し、バッチサイズが小さくなるにつれて不安定になるという問題があります。そこでこの論文では、バッチ単位ではなく、入力チャンネルをいくつかのグループに分け、各グループ単位で正規化するというアイデアを提案しています。これにより、バッチサイズが小さい場合でも有効な正規化を実現しています。

  • GANimation:Aanatomically-aware Facial Animation from a Single Image 最後に紹介する論文が、2本のHonorable Mention受賞Paperのうちのもう1本であるGANimation:Aanatomically-aware Facial Animation from a Single Image (Albert Pumarola et al.) です。

スクリーンショット 2018-09-28 23.23.42.png

[Albert Pumarolaらの提案手法全体像]

こちらの論文では、最近AI分野で注目を集めている敵対的生成モデルのGAN (Generative Adversarial Network) を使った顔表情生成の手法を提案しています。キーとなるアイディアは、顔画像を生成する際に、入力画像に加えて「Action Units (AU)」と呼ばれる条件変数も一緒にGeneratorに入れることです。このAUというのはもともと心理学の分野におけるFacial Action Coding Systemで用いられる概念で、人間の顔のそれぞれの表情筋に対応する30種類のAUの組み合わせで7000以上の表情を表現できるとのことです。このAUを条件変数として一緒に使うことでよりリアルかつ自在な顔表情を生成できるようになります。既存手法のStarGANでは離散的な表情変化しかさせられなかったのに対し、連続的に表情を変化させられるところがポイントです。また、表情に関係しない部分を保持したまま表情のみを変えるためにAttentionを利用するという工夫もなされています。

スクリーンショット 2018-09-28 23.24.00.png

[Attention maskを含むGenerator図]

DeNAのPoster発表

今回、会議最終日のFirst Workshop on Computer Vision for Fashion, Art and Design Workshopにて、DeNAからも1件の採録論文ががあり、First Authorの濱田と私の2人で発表を行いました。

スクリーンショット 2018-09-29 0.21.03.png

[Fashion, Art and Design WorkshopでのPoster発表の様子]

スクリーンショット 2018-09-24 0.18.59.png

[PSGANのPoster]

こちらが今回発表してきた『HD高解像度の全身アニメ生成』の論文 (Full-body high-resolution Anime Generation with Progressive Structure-conditional Generative Adversarial Networks) です。この論文では、各解像度で構造条件付けられたGeneratorとDiscriminator を進歩的に成長させるGANs (PSGAN) により、従来難しかった、構造一貫性を持った高解像度での生成を実現しています。また、DeNAではこれまでにMobageサービスで蓄積してきた10万点以上のアバターの3Dモデルデータを保有しており、それを活用してPose情報付きの独自のアバターデータセットも構築しています。

avatar.gif

[PSGANの生成結果]

より詳細な内容はこちらのプロジェクトページで解説していますので、興味ある方はぜひこちらをご覧ください。

全体の感想

今回のECCV2018で、私としてもDeNAとしても、初めての大きな国際会議での論文発表を行いました。私は聴講として毎年CVPRにも参加していますが、一番大きな違いはネットワーキングのしやすさだと感じました。学会で新しく知り合った研究者と雑談する時、必ずと言っていいほど「今回のカンファレンスでどんな論文を発表するんだい?」のような質問を聞かれます。聴講での参加ですとそこで話題が途切れてしまいますが、発表者として参加するとそこから論文の話が広がり、より広く交流を深める事ができました。DeNAでは毎年国際学会に参加する機会が設けられていますので、次回行く時もできれば論文発表者として参加し、更に言えば本会議でのOral発表も目標に目指したいと思います。

参考文献

  • Martin Sundermeyer, Zoltan-Csaba Marton, Maximilian Durner, Manuel Brucker, Rudolph Triebel. Implicit 3D Orientation Learning for 6D Object Detection from RGB Images.
  • Yuxin Wu, Kaiming He. Group Normalization. arXiv:1803.08494 [cs.CV]
  • Albert Pumarola, Antonio Agudo, Aleix M. Martinez, Alberto Sanfeliu, Francesc Moreno-Noguer. GANimation: Anatomically-aware Facial Animation from a Single Image. arXiv:1807.09251 [cs.CV]
ツイート
シェア
あとで読む
ブックマーク
送る
メールで送る

GDG DevFest Tokyo 2018 に参加してきました!!

技術企画の tachikei です。9/1 GDG DevFest Tokyo 2018 にスポンサーとして参加しましたので、その報告をします。

エンジニアによる登壇

Goらしいコードを業務でも書くために

devfesttokyo2018_1 © GDG DevFest Tokyo 2018

Go らしさを説明しつつ、学び方のアイデアを発表したスライドです。これから Go をはじめられるエンジニアの方に参考になる内容だと思います。

パネルディスカッション: AAC実践導入について

devfesttokyo2018_2 © GDG DevFest Tokyo 2018

Android Architecture Component について、各社でどのように活用しているのかのパネルディスカッションです。サービスにより差はありますがDeNA では現時点では Data Binding、Lifecycles、ViewModel、LiveData、Room などが利用されています。 ProcessLifecycleOwner を利用したプロセス単位での foreground/background 判定の活用例や、Room の良い点や課題に感じる点等についてのお話をしました。

※ https://tokyo2018.gdgjapan.org/android

スポンサーブース

devfesttokyo2018_3.jpg

スポンサーブースでは、タクシー配車アプリ「タクベル」の実機デモとネットワーク構成図の展示をおこないました。

タクシーの配車依頼から、タクシー乗務員向け端末での配車対応、タクシーメーターなどの車載器とのシステム連携といった一連の流れにそって、実物を触りながらサービスを体験することができます。

ネットワーク構成図では、主にバックエンドで利用している技術要素を説明しました。タクシーの位置情報などの収集・管理にはAWSを、配車の受付から配車するタクシーの決定などアプリケーション部分はGCPというように、用途に応じて最適な技術を組み合わせて利用しています。参加者からも各クラウド製品の使い分けなど具体的な質問が多く、現場エンジニアが詳細に説明させて頂きました。

おわりに

DeNA は様々な事業に取り組んでいて、様々な技術的課題が発生します。それらへの取り組みやそこで得た知見を、少しでもお伝えできればと考えています。

ブースまで足を運んでいただいた皆様、滞りなくイベント運営をされたスタッフの皆様、発表およびブース設営に関わった皆様、ありがとうございました。今後も積極的にコミュニティ活動を応援したいと思います。引き続きよろしくおねがいします!

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

ソフトウェア品質シンポジウム2018 に登壇しました

はじめに

こんにちは。システム本部品質管理部QC第二グループの小林元樹です。
普段の業務では、ゲーム以外のモバイルアプリケーションやWebサービスのQAを担当しております。

先日9月12(水)~14日(金)で開催された ソフトウェア品質シンポジウム2018 に一般発表枠で登壇してきましたー。
ということで、今回は現地のレポートではなく発表した内容についてご紹介したいと思います。

その前に、そもそも「ソフトウェア品質シンポジウムって何?」という方もいらっしゃると思いますので、まずはそちらをかんたんにご説明させていただきます!

ソフトウェア品質シンポジウムとは

かんたんに説明すると、ソフトウェアの品質を良くしたい人達が講義や発表を通じて情報共有し、より良い活動に役立てるための場です!
しっかりしたイベントで年々参加者も増え(今回は3日間で延べ2,000名超え)、ソフトウェア品質に関する国内最大級のイベントのようです。
そして、何を隠そう小林は今回初参加でして、正直参加する前は下記のようなイメージを持っていました。

  • 品質保証・品質管理を生業としている方達が参加する会なのだろう
  • なので、きっとテスト技法や手法に関する講義や発表をする場なのだろう
  • すごい専門的なことばかり話されて理解できなさそう
  • ある程度知識がある人向け?敷居高そう

しかし、参加したあとはイメージが変わりました。

  • 参加者はテストに精通した人ばかりではなく、さまざまな業種の方が参加している
  • 実例を基にしたソフトウェア開発やテストの現状、そして今後の傾向などの新しい情報や基本を知れる
  • 取り上げる課題はテストに関することだけではなく開発工程での取り組みなどさまざま、その中から興味があるものを聴講できる
  • 各自の経験を基にした分析結果や取り組みの紹介・提案形式なので理解しやすい

みたいな感じで、参加する前は違ったイメージを持ってたんだなーと思いました。
そして実際に聴講することで色々参考になることもあったのですが、今回そのあたりは割愛します。

ソフトウェア開発に関わる方には有益な情報を得られるイベントだと思いますので、ご興味がある方は次回参加してみるとよいかと思いますー。

本題の発表してきた内容のご紹介

思ったよりソフトウェア品質シンポジウムの宣伝をしてしまいました。。
さて、そろそろ本題に移ります!
今回「テスティングロールに基づく人材マネジメントの取り組み」というタイトルで発表してきました。

テスティングロールに基づく人財マネジメントの取り組み from genkikobayashi

詳細を説明しだすと登壇した内容を文章にするだけになってしまうので、概要だけお伝えします。
====================
弊社では、大小さまざまな種類のサービスが急激な拡大や変化を繰り返しており、またその運用フェーズでは恒常的なエンハンスが発生し、それに対しての品質保証(QA)業務が発生している。そのようなサービスの急激な拡大・変化に伴って、QA業務を担う我々の部門の人員も急速に増加している。
そして、それら人員の多くは、テストベンダから派遣されたメンバで構成されており、またプロパーのメンバはそのようなQAメンバのマネジメント業務が一定の割合を占めている。そのようなテストベンダからの急速な人員増加に伴い、技術・マネジメント領域を問わず様々な問題が発生するようになった。
本取り組みではマネジメント領域に焦点を当て、QA業務とQAメンバのスキルがマッチしない問題やQAメンバのモチベーションに関する問題を取り上げ、その解決のためにまずQAメンバのスキルレベルをテスティングロールとして定義した。この定義において、テスト業務を遂行する上で必要な業務要素をテスト技術・マネジメント技術の両面から洗い出し、4つの技術領域の枠組みを定め、その枠組で業務要素を整理した。次に、テスティングロールに基づきQAメンバのアサイン・QAメンバのモチベーションという観点で活用法を検討し、実際に2年以上の運用を行った。
本発表では、以上の取り組みに加えて、2年以上の運用を経たテスティングロールの有効性を評価するために実施したアンケートの結果についても報告する。
====================
概要で興味を持っていただけたら、スライドを参照いただけると幸いですー。

最後に

今回初参加のシンポジウムで、さらに人生初の登壇だったのですが、実際にやってみると思ったより緊張しないものですね~。 (練習に付き合ってくれた方のおかげだと思います)
機会があれば、また登壇してもいいかなーとか思ったり、思わなかったり。。

ということで、この記事を通じてDeNAの品質管理部のことを少しでも知っていただけたら嬉しいです!

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

Streaming Conference #4に参加しました

streaming_conf00.png こんにちは!技術企画の玉田です。

先日8月31日(金)に開催された Stereaming Conference #4@DeNAにて、DeNAのエンジニアが登壇しましたので紹介します。

ライブストリーミング低遅延化の取り組み

streaming_conf01.jpeg ライブ配信で起きる遅延に対して、DeNAの樋口が行っている、低遅延化の取り組みを紹介しました。遅延の原因を分解した上で、それぞれの原因に対して技術的にどう工夫しているのか、それぞれの遅延の計測方法なども含めての発表でした。詳細は以下登壇資料と、当日の録画の内容をぜひご覧ください。

ライブストリーミング低遅延化の取り組み @ DeNA from akirahiguchi

SHOWROOMの"最近"の負荷対策

streaming_conf02.jpeg SHOWROOMの志水が、SHOWROOMの負荷に関してここ半年の間に発生した4回のトラブルと負荷対策を紹介しました。低遅延の旨味が薄い配信はCDNを活用する、サーバーはダウンするものとしてダウンした場合の復旧も検討するなど、高トラフィックが集まるライブ配信ならではのトラブルと負荷対策の発表でした。こちらも登壇資料と当日の録画の内容をぜひご覧ください。

おわりに

ライブ配信サービスに関するエンジニアの勉強会だけあって、「実際の会場の雰囲気」と「登壇スライド」の内容を切り替えつつ、視聴者が内容を理解しやすい工夫が行われる本格的な配信が行われました。当日の様子は以下の録画で見ることができるのでぜひご覧ください。

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

参考:DeNA TECH STUDIO

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

俺コン 2018 Summer 参加レポート

こんにちは!SWETグループの細沼です。

9/12、9/13と2日間に渡り、DeNAにて「俺コン 2018 Summer」というイベントが開催されました。DeNAのエンジニアも3名登壇していますので、登壇者からのコメントなどを交えつつ参加レポートを書きたいと思います!

俺コンとは

orecon_0.JPG

iOSDC JAPAN 2018 に寄せられた 500本以上のCfP(プロポーザル)のうち、惜しくも採択されなかったトークの中から、運営メンバーが聞きたいと思ったトークを選び、それを発表するといういわばリジェクトカンファレンス的なイベントになります。

去年に続いて2回目の開催となりますが、21本のトークが運営メンバーによって採択されました。iOSDC JAPAN 2018 と同じように、発表会場は各トラックに分かれており、参加者は部屋を移動して興味のある発表を聴くことが出来るというスタイルで開催されました。

主催の @d_date さんがレポートを書かれていますので、詳しくはそちらを御覧ください。
https://note.mu/d_date/n/nbd76e48401d0

公式サイト:
https://ore-con.firebaseapp.com/

登壇したエンジニアより

当日登壇したエンジニアから、発表内容やCfPを出した背景などについてコメントをいただきました。

ソースコードから読み解く - Quick はどのように実装されているのか?

orecon_1_tobi462.JPGのサムネール画像

あらためまして、SWETグループに所属している細沼(@tobi462)です。

今回、Swift製のBDDフレームワーク(テスティングフレームワーク)である Quick について、どのような仕組みで実現されているか発表させていただきました。

CfPを出した背景についてですが、 Quick の使い方については公式ドキュメントで丁寧に書かれているものの、それがどのような仕組みで実行されているか興味を持っている iOSアプリエンジニアも少なくないのではと思ったためです。

以下は公式ドキュメントの冒頭で紹介されている Quick によるテストコードの例ですが「DSL(ドメイン特化言語)」や「XCTestとの統合」がどのように実現されているか、すぐに想像がつく方は少ないのではないかと思います。

import Quick
import Nimble

class TableOfContentsSpec: QuickSpec {
  override func spec() {
    describe("the 'Documentation' directory") {
      it("has everything you need to get started") {
        let sections = Directory("Documentation").sections
        expect(sections).to(contain("Organized Tests with Quick Examples and Example Groups"))
        expect(sections).to(contain("Installing Quick"))
      }

      context("if it doesn't have what you're looking for") {
        it("needs to be updated") {
          let you = You(awesome: true)
          expect{you.submittedAnIssue}.toEventually(beTruthy())
        }
      }
    }
  }
}

私も最初にこのコードを見た時に、この DSL が Swift でどのように実現されているか分かりませんでした。

そこで内部のコードを読んでみたところ、Swift における DSL の実現が Kotlin とは異なるアプローチになっていることを知り、これは発表してみたら面白いのではないかと思い CfP を出してみました。

残念ながらこのトークは採択されませんでしたが、こうして別のイベントで発表する機会を得ることができ良かったと思います。

後日動画が公開される予定ですが、発表スライドだけでも楽しめる内容になっていると思いますので、興味がありましたらぜひご一読ください!

iOSでmp4をデコードして自分だけの動画プレーヤーを作ろう!

orecon_2_noppe.JPG

こんにちは、ソーシャルライブ事業部のnoppe(@noppefoxwolf)です。

iOSDCに引き続き、動画周りの話ということでVideoToolboxやAudioToolboxなどの低レイヤーのフレームワークを使った動画再生について発表しました。 私もこの分野については詳しくなかったのですが、興味を持って頂くことで発表と勉強の機会を得られた事に大変嬉しく思います!

当日はかなり早口になってしまいましたのでご興味のある方はこちらのスライドをじっくりお読みください。

CfPを提出した経緯として、ソーシャルライブアプリを作っていく中で高レイヤーフレームワークで達成出来ない課題が多いと感じた点があります。

iOSはライブラリ管理ツールやSwift・Foundationといった素晴らしいエコシステムの中で開発が出来るため手軽にアプリを世の中に出すことができます。 しかし、ある意味ブラックボックスになったライブラリの中身や枯れた技術に関しては一部のプロフェッショナルに任されるような体制になっているのではないでしょうか。

これから配信のみならず、CoreMLやARKit、Metal、ブロックチェーンといったUIKit以外にチャレンジしなくてはならない領域は増えて行きます。 そういった時に知らない世界に飛び込んでいける勇気を持てるようにという意味も込めて、Metalや動画周りのCfPを出しました。(自分のようなUIKitしか触って来なかった事への叱咤も兼ねて、です。)

これからも興味を持っていただけるような登壇を続けていければと思います。 もしも資料の中で分からない点があれば、気軽に(@noppefoxwolf)までメンション頂ければと思います!

UIWindowが複数存在するとき、ステータスバーのスタイル設定が難しい件

orecon_3_malt03.jpg

こんにちは、ゲーム・エンターテインメント事業本部の村田紘司(@malt03)です。

macOSのことを話したiOSDCとは打って変わって、iOSのUIWindowというニッチな部分の発表をしました。

UIWindowはとても扱いづらく、公式のドキュメントもあまりありません。 私自身、基本的にはUIWindowを使うべきではないと考えています。 ただ使うべきときは極稀にあり、そんなときドキュメントが存在していないために大変困った経験があります。 同じような方の役に立てればと思い、CfPを出しました。

今回の発表では、

  • どういうときにUIWindowを使うべきか、または使うべきでないか
  • UIWindowの暗黙的な仕様について

を説明しています。

どんなときにUIWindowのを使うか知りたい方やUIWindowを使う必要があって苦労している方は、参考にしていただければ幸いです。

おわりに

今回、発表者・参加者・当日スタッフという形でこのイベントに関わらせていただきましたが、とても楽しませていただきました!

運営のみなさま、発表してくださった方々にはこの場を借りてお礼を申し上げたいと思います。

平日にもかかわらず多くの参加者が来場され、もはや iOSDC と同様に毎年恒例のイベントになりつつあるのではないかと感じます。

また来年も開催されることを期待しています! orecon_5_fin.jpg

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

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 してください。

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

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