CodeIQ MAGAZINECodeIQ MAGAZINE

【鹿児島の熱量を感じろ!】モバイルの未来は地方こそ主役「MOBILE CONFERENCE 2017」

2017.07.07 Category:勉強会・イベント Tag: , , , , ,

  • 14
  • このエントリーをはてなブックマークに追加

6月24日、鹿児島キャリアデザイン専門学校マルチホールにて「MOBILE CONFERENCE 2017」が開催された。九州本土最南端である鹿児島で開催されたカンファレンス、熱量に満ちたイベントの様子をレポートする。 by 森岡 麗

エンジニア・デザイナーのためのカンファレンスが鹿児島で開催

ウェブやモバイルのエンジニア・デザイナーのためのカンファレンス「MOBILE CONFERENCE 2017」。鹿児島キャリアデザイン専門学校マルチホールを会場に開催された。

この日はあいにくの雨天にも関わらず、会場はウェブ・モバイルの開発者やデザイナー、またそれを目指す学生で満員御礼となった。

オープニングセッション「Mobile-first, Cloud-firstのその先へ」

「Mobile-first, Cloud-firstのその先へ ~ Microsoftが描くWeb/Mobileの未来」と題した、日本マイクロソフト エバンジェリスト 井上章氏のオープニングセッション。

まず、アプリケーション開発者にとってMobile-first, Cloud-firstという考え方は無視できないという現状ついて触れ、さらに近年では、Artificial Intelligence(AI)、BOT(ボット)、より直感的なインターフェイス、Microsoft HoloLensなどが代表的なMixed Reality(MR)、IoTといった考慮すべき様々な要素があると説明。

MicrosoftはこれからのWeb/Mobileアプリケーション開発において、クラウドはよりインテリジェントに進化していき、それらのクラウド環境を取り巻く終端デバイス(Edge)も同様に進化していく(Intelligent Cloud/Intelligent Edge)というビジョンを描いている。

開発時に考慮しなければならない点として、以下を挙げた。

  1. マルチデバイスを意識したアプリケーション開発
  2. アプリケーションをより使いやすいものにするためのAIの活用
  3. サーバーレス(Serverless)

一つ目のマルチデバイスを意識したアプリケーション開発について。ネイティブアプリケーション開発に関連し、C#や.NETをベースとしたアプリケーション開発はWindowsだけではなく、iOSやAndroidなどさまざまなプラットフォームで可能になっている。

Xamarinを利用することで C#や.NETをベースとしたアプリケーション開発ができる例などを挙げていた。

macOSに対応したVisual Studio for Macや、モバイル・アプリケーション開発におけるビルドやテストなどの要素を統合管理できるVisual Studio Mobile Centerなどの開発環境についても紹介。

多種多様なデバイスのテスト環境が備わっており、マルチデバイス開発の大きな手助けとなる。

次に、Artificial Intelligence(AI)の活用について。AIへの理解を深め、AIのエッセンスをほんの少し加えることで、アプリケーション開発は次のステップに進んでいくという。

また、開発者が独自でAIエンジンを開発せずとも、Cognitive Servicesを利用することで気軽にAIエンジンを利用可能だ。単純なAPIコールで画像認識などの機能をアプリケーションに組み込むこともできる。

デモでは、Computer Vision APIを拡張したCustom Visionによる画像認識サービスを紹介。昨日、宿泊したホテルで食べたという「夜鳴きそばという名前のラーメン」が、92.8%の確率でラーメンであるという結果が出ると会場が沸いた。

続いて、サーバーレス(Serverless)について。サーバーレスというと「サーバーがない」と勘違いするかもしれないが、サーバーの存在を意識しないという意味だ。

ここではAzure FunctionsとComputer Vision APIを使ったOCRのデモを紹介した。関数の呼び出し回数と処理時間およびリソースの使用量に基づき課金されるため、コストを抑えたアプリケーション開発が可能になる。

井上氏はセッションの最後に、Project Emmaを紹介。パーキンソン病患者の手の震えを抑制する腕時計型のデバイス開発についてのムービー。技術を組み合わせることによる可能性の広がりを感じ、それを楽しみながら開発をしてほしいと述べた 。

▼Project Emma – YouTube

Microsoft Azureで実装するWeb Service on Docker

ここからはルームAとルームBに分かれてセッションが行われた。ルームBの最初のセッションでは、「Microsoft Azureで実装するWeb Service on Docker」と題し、加藤司氏が登壇。

JAZUG熊本(くまあず)、熊本クラウド語ろう会(熊クラ会)などの主宰を務める加藤氏は、2017年3月に Microsoft MVP for Microsoft Azure を受賞。九州地方でいま最も注目されている人物の一人だ。

加藤氏は冒頭で、Docker社が開発するオープンソースのコンテナ管理ソフトウェアである「Docker」を紹介した。

Docker を使うメリットとして、コンテナを利用するためオーバーヘッドが少なく動作が軽い点、各コンテナに対し様々なディストリビューションやバージョンを構成できる点、インフラ環境をコード化することが容易な点(Dockerfile)などを挙げていた。

続いて、App Service on Linuxプレビュー版についてのレビュー。Azureで提供されているApp ServiceのLinux版である。冒頭のDockerもサポートしているためコンテナの管理も可能だ。

現在利用できるリージョンはアメリカ西部、西ヨーロッパ、東南アジア、東オーストラリアの4カ国のみ。価格はプレビュー版で50%オフとなっている(6月24日現在)。

Microsoft Azureポータルから、App Service on Linuxを新規でデプロイするデモが行われた。

Webアプリケーション名を入力、リージョン及びコンテナの構成を選択するとワンクリックでデプロイメントが完了し、すぐにWebサーバーにアクセスできる状態となる。短くて1分、混雑時でも3分ほどで構築が完了するという。

developmentスロットという機能も紹介。リリース前の環境を簡単にコピーすることができテスト環境の構築が可能、またスワップ機能で本番環境との入れ替えができる。

スワップ機能はロードバランサーがWebサーバの参照先を変更することで実現するため、本番環境に手を加えずに安全に切り替えることができる。

しかしながら、認証/承認、VNET統合/ハイブリット接続、Webジョブといった機能は現在未対応である。Windows版との相違点となっているので注意が必要だ。

また独自のオーケストレーターを採用しているため、Docker Composeは対応していない。

さらに、Data Volumeの追加ができないため永続的にデータを保存するにはApp Serviceの他のツールなどを利用する必要がある。

続いて、Dockerクラスターの構成を展開するサービス「Azure Container Service」を紹介。テンプレートを使用したDockerクラスターの構成を展開するサービスだが、マネージドサービスではないので自己管理も必要である点には注意したい。

Azure Container Service が採用するオーケストレーターの一つである Kubernetes を使い、コマンドラインで利用する例をデモで紹介した。コマンドライン上でコンテナを実行ししばらく待機すると nginx が起動し、ポートを割り当てることでサービスが公開状態となった。

加藤氏は、App Service on Linux は複雑な構成でなければ Docker 用途に最適な選択であり、Azure の他のサービスや普段使うツールなどと親和性も高く、スケーリングの強い手助けになると締めくくった。

機械学習、Pythonでの開発事例

九州在住のエンジニアによる熱いセッションは続く。森下功啓氏は機械学習についての基本的概要、Pythonでの開発事例などを語った。

森下氏は、機械学習の勉強会や、オトナのプログラミング勉強会を、熊本・鹿児島で開催している。阿蘇の雲海予報「うんかいったー」の管理人でもある。

まずは、機械学習のミッションは「人間の代わりにソフトウェアに判断させたい」ということ。いま巷でAIと呼ばれるものの多くは弱いAIであり、自分で思考し行動する強いAIが2050年頃には実用化されるのではないか、と期待をこめてCHAPPiEという映画を紹介。

機械学習の実現へのステップとして、以下を紹介。

  1. 目的と問題を明確化
  2. 利用する手法を「ひとまず」決める
  3. 学習
  4. 学習が上手くいけばデプロイする

続いて、異常検出、回帰、クラスタリング、強化学習といった機械学習における基本的な用語などを丁寧に解説し、初学者やいままで機械学習に馴染みのなかった人にもわかりやすいセッションだったのではないだろうか。

機械学習においてPythonはスタンダードな開発環境であり、さらにWindowsでの開発にはanacondaを使用することを推奨。ここでは実際にPythonで開発された、アヤメの分類例を紹介した。

まず、個体ごとの花弁とがく片の数値データから成るアヤメの特徴量と正解ラベルを読み込ませる。このデータを教師データというが、一般的にはこのデータを用意する作業が最も時間がかかるという。

次に特徴量の散布図行列を作成し、目視でデータの様子を確認する。今回はランダムフォレスト(RF)を用いて学習をさせる。学習プログラム、検証プログラム合わせても100行程度に見受けられた。

森下氏曰く「こんなにも軽量なプログラムで機械学習は可能なのです。明日から機械学習できそうですか?…できそうですよね」

機械学習のエッセンスを加えることで、モバイル・アプリケーション開発はさらなる広がりを見せるに違いない。

機械学習をモバイル・アプリケーション開発に組み込んでいくためのツールは、すでに十分揃っているように感じさせてくれた森下氏のプレゼンであった。

森下氏は約2ヶ月に1回のペースで「今から始めるITエンジニアのための機械学習勉強会」を鹿児島県内で開催している。これからのリッチUXなアプリケーション開発に欠かすことの出来ないであろう機械学習。ぜひチェックしてほしい。

IoTはもうJSだけでよくなった

続いて、登壇したのは神戸デジタル・ラボ 社外取締役 新事業創造係長 IoT班長 村岡正和氏だ。HTML5-WEST.jpの代表でもある村岡氏は、会社で新規事業の責任者でありながら、Webシステム開発者でありながら、講演・執筆活動を行っている。

2013年、Web of Thingsというキーワードが出始めた頃、モノへのアプローチが重要と感じ、JavaScript(以下、JS)でマイコンを制御してみたら、日経エレクトロニクスに掲載されたというエピソードを紹介。

2014年頃、ウェアラブルデバイスのポテンシャルを感じ、NPO法人日本ウェアラブルデバイスユーザー会を設立。

CEATECH2016で特別展示をしたり、神戸市ウェアラブルデバイス推進会議メンバーに選抜されたり、なぜか神戸市ポケモンGo対応チームメンバーに選抜されたりと活動の幅が広がってきたという。

村岡氏がWebエンジニアでありながら、独自の視点で新しいデバイスを常に試行錯誤してきた結果であろう。

新規事業の責任者をつとめている神戸デジタル・ラボについて。社員が兵庫県警の警部補に採用されたり、神戸市のミッション団としてルワンダ政府を訪れたり、ルワンダの全国紙に載って全ルワンダデビューすることになったり、モリサワとスマートグラスにおける文字視認性でコラボしたりと、多様な業績を持つユニークな企業だ。

セッションタイトルの「IoTはもうJSだけでよくなった」について。ハードウェア制御、ソリューションをJSだけで構築することが可能である、と村岡氏は主張する。

事例として、Espruino(JSで動くマイコンボード)を活用した、猫トイレ利用状況のスマホプッシュ通知や専用アプリを紹介。EspruinoにモーションセンサーとWifiを接続し、猫のトイレ入退をプッシュ通知する。

専用のアプリで一日のトイレ利用回数などを把握することができる。猫トイレには Espruino Boardを利用。Espruino Boardはさまざまなセンサーを接続し値を監視することがJSのみで実現する。

村岡氏のこのアイデアはここで終わらず、人間のトイレへと昇華する。スマートフォンやパソコンから個室トイレの空き状況を把握することができるソリューションを開発。

人間のトイレにはEspruino Picoを利用、フリスクのケースに収まるまでのコンパクト化。Espruino Picoからドアの開閉状態をBluetoothでRaspberry Piに送信、AWS IoTで情報を集約しWebアプリケーションに落とし込む。

個室トイレの空き情報の伝達は、アプリ側へのpush通信のみでよいとしてServer-sent eventsを採用。 これらすべてをJSで制御している。

続けて、いま注目しているJS Boardの一つとしてPuck.jsを紹介。Web IDEを利用することで、Puck.jsのボタンの状態をBluetooth経由でブラウザが監視することができるのだ。

Puck.jsをブラウザとペアリングさせ、Puck.jsのボタンを押すとJSイベントが発生するデモ。JSのソースコードもいたってシンプルだ。IoT時代のデバイスはもうここまで来ている。

Smart Glassの開発におけるアドバイス。Android基盤のスマートグラスは、Android4.x系 OSで構成されているためにWebKitのアップデートができない、WebViewが使えないという事例も多い。

この場合は、CordovaやCrossWalkを利用することで最新のHTML5 APIが利用可能となるので覚えておいてほしい。

Deep LearningもJSで実現可能だ。Pythonで開発した画像認識プログラムなどを、Karasを用いることでブラウザベースで公開することが可能となる。

村岡氏はセッションの最後に「IoTもJSでできる。Webを中心とするエンジニアも、IoTという言葉をキーワードにさまざまなUXにアプローチしていくべきだ」と力強く述べた。いつまでも画面の中にだけ仕事があるとは思ってはいけないのだ。

これからは画面の中の世界を飛び出して、Webエンジニアの持てる技術をIoTにも生かしていくことがIoT時代の更なる加速にもつながることだろう。

CSS Grid Layoutを使ったHTML5コーディング

最後に登壇したのは、鹿児島市在住で、HTML5&CSS3ポケットリファレンスの著者として知られる森史憲氏。「GRID RANGERS」と題したセッションだ。

一筋縄ではいかないWebレイアウト”Webzilla”(森氏による造語。怪獣ゴジラをもじっている)に立ち向かうべくCSS Grid Layoutもとい”GRID RANGERS”が大活躍するというストーリー。それぞれのプロパティの利用方法やコーディング時の注意点などを紹介した。

【補足】森氏は、昨年開催されたHTML Party かごんま 2016で「FLEXBOX-MEN: Apocalypse」と題し、display:flexを用いたレイアウトテクニックを紹介している。昨年も一筋縄ではいかないwebレイアウト ”Webzilla” に悪戦苦闘したのだ。

今回のメインテーマであるGrid Layoutを使ったHTML5コーディング。HTML、CSSがシンプルに構築でき、特にブロックを敷き詰めるデザインに長けている。

Grid Layoutを実現するには、まずGrid(グリッド/格子)の設定を行う。ここでは.containerの親要素から。

grid-template-columnsでグリッドの横幅、grid-template-rowsで横幅を設定。ここでfrとは新しい単位のこと。余った領域を指定することができ、1fr 1frとすると2分割、1fr 2frとすれば1:2の割合で分割することができる。ピクセル指定とfr指定を組み合わせることにより自在なレイアウトが可能。

「Firefox Nightly」を使うと、分割を可視化することができコーディングが楽に。

次に子要素の配置。線を基準にして配置する方法、セルを基準にする方法がある。数値を基準にするのはややこしいため、grid-template-areasプロパティを用いてグリッドに名前をつける手法を紹介していた。子要素にgrid-areaプロパティを指定することで位置を指定する。鹿児島らしい語尾にニヤリとしてしまう。

Flexboxでは実現できない点として、grid-auto-flowプロパティでの自動配置を挙げていた。なかでもgrid-auto-flow: row denseを利用すると、JSライブラリ masonryのようにパネルが並んだレイアウトも可能になる。

最後に各ブラウザでのGrid Layoutの対応状況を紹介。IE10では対応していない要素も多く、「-ms-」をつけたプロパティを追記したり、いくつかのプロパティの記法を調整するなど注意が必要だ。

GRID RANGERSが、Webzillaを取り囲むようにレイアウトをしなおすデモ。HTMLには手を加えずに、CSSだけでWebページ全体のレイアウト構成を大きく修正する過程を、鮮やかに魅せてくれた。

クロージングも盛り上がる

同会場ではTwilio-UG鹿児島の勉強会「Twilio SIGNAL報告会2017 in 鹿児島」が同時開催していた。

こちらでは、Twilio for KDDI Web Communicationsの小出氏および高橋氏が、2017年5月、サンフランシスコで開催された、Twilioのデベロッパーカンファレンス「SIGNAL」で発表された新機能をハンズオンデモを交えて紹介した。

会場内には、発表後の登壇者にゆっくりと質問ができるAsk The Speakerコーナーや、スポンサー企業による展示、html5j/WordBench/Movable Typeの鹿児島ユーザーグループなどのブースもありこちらも始終賑わいをみせた。

Slack上でのディスカッションもよいが、開発者同士が顔を合わせ状況共有する場というのは、とても価値あるものだと思う。

イベントの最後にはお楽しみのじゃんけんタイム。鹿児島ではなかなか手に入らない技術系イベントのTシャツやノベルティを賭けて、一番の盛り上がりを見せたのは言うまでもない。

技術系のイベントは都心部で大々的に行なわれるものがフィーチャーされがちであるが、筆者個人としては地方で開催されるイベントにこそ面白みがあると感じている。

カンファレンスの後に、焼酎を片手に開発談義に花を咲かせるのも、楽しみの一つかもしれない。主宰のhtml5j 鹿児島では、例年6月に年1回のペースで同様のカンファレンスを企画している。

鹿児島の持つポテンシャルに興味があれば、次は飛び込んでみるのはいかがだろうか。

  • 14
  • このエントリーをはてなブックマークに追加

■関連記事

ロバート・タージャン氏を直撃取材―IntertrustはLINEのセキュリティ技術に何をもたらすか?... LINEとIntertrust社が共同でセキュリティ・サミットを開催 LINEは、Intertrust Technologies Corporation(本社:カリフォルニア州、以下:Intertrust)と共催で、アプリケーションセキュリティおよびデータプライバシー強化ソリューションの促進を目的...
Alex Kipman氏も注目した日本のHoloLens盛況――日本上陸3か月記念「HoloLens... HoloLens販売国の中で突出した盛り上がりを見せる日本 日本マイクロソフトの製品担当メンバーが企画した、日本上陸3か月記念「HoloLens大感謝祭」。3月に開催したCodeIQ感謝祭にブース出展していただいたことを縁に、リクルートキャリアを会場としてイベントが開催された。 さすがは、H...
澤円&ちょまどのまどか☆まどかスペシャル対談! ─自分で創る「エンジニアのキャリア」とは... 澤さん、ちょまどさんの相違点とは? 澤:僕、こう見えてもサラリーマンで、ミュージシャンではありません(笑)。 エンジニアとしてのキャリアはCOBOLのプログラマとしてスタートしました。ちょうどWindows3.1が出るか出ないかの頃ですね。 現在はマイクロソフトテクノロジーセンターのセンター長と...
Microsoft HoloLensが実現するMixed Realityの世界とは?─エバンジェリス... Mixed Realityはフィジカルとバーチャルの情報を重ね合わせたもの Mixed Reality(ミックスドリアリティ/MR)は、Virtual Reality(バーチャルリアリティ/VR)やAugmented reality(AR)と何がどう違うのか。 まずはフィジカルリアリティ。これは...
【CodeIQ感謝祭】落合陽一さん・伊藤直也さん・澤円さん&ちょまどさん・高橋忍さんが登壇!――聞い... 今回は豪華ゲストに加え、VR/MRが体験できるブースも 2017年3月11日に開催したCodeIQ感謝祭は、豪華ゲストに加え、VR/MRが体験できるブースも開設。300人以上の方にご参加いただき、大いに盛り上がりました。 今回も司会はきゃんちこと、CodeIQ MAGAZINEの公式アイドルレポ...
シブすぎHoloLensに男泣き!─「VR Tech Tokyo」に潜入して、HoloLens体験し... 「VR Tech Tokyo #6」でHoloLensを体験! ということで、前回に続き、今回の「VR Tech Tokyo #6」は、見ル野栄司さんと取材におじゃましました。 当日のセッションは、日本マイクロソフト鵜木健栄さんによる「Windows はAR/MR/VR/HDRの夢...

今週のPickUPレポート

新着記事

週間ランキング

CodeIQとは

CodeIQ(コードアイキュー)とは、自分の実力を知りたいITエンジニア向けの、実務スキル評価サービスです。

CodeIQご利用にあたって
関連サイト
codeiq

リクルートグループサイトへ