2019年12月16日月曜日

「GDG DevFest Kobe 2019」を開催しました

こんにちは。GDG神戸の嘉多です。

12/15(日)に「GDG DevFest Kobe 2019」を開催しました。
会場はサントリーシステムテクノロジー株式会社様にお借りしました。
今回はDevFestということで、GCP、Flutter、TensorFlowと盛りだくさんの勉強会となりました。

「円周率世界記録31.4兆桁への道」岩尾エマはるかさん (Google)


最近話題になったGoogleの円周率計算桁数世界記録更新についてご講演いただきました。
エマさんはまさにこのプロジェクトの中心となった方で、ペタ単位のデータを扱う必要があったこと、その大量のデータの計算を1bitも間違ってはいけないという高精度が求められることなど、プロジェクトの具体的なお話を聞くことができました。

「all about Flutter Interact Keynote − Keynote で話されていたこと」兼高理恵さん (GDG京都)


12/11に開催されたFlutter Interactのキーノートで発表された内容のまとめのご講演をいただきました。
Flutterはプラットフォームを気にすることなく作りたいものにフォーカスできるようにすることを達成し、進化を続けているようです。
ツールも新しいものが登場していて、sketchからFlutterのコードを生成するなどデザインと開発のワークフローをつなげることも可能になったようです。

「TensorFlow for Mobile」Enrique Lopez Manasさん (Google Developer Expert)


TensorFlowをモバイルで扱うことについてご講演いただきました。
ビデオの映像からGCPで学習モデルを作ってモバイルデバイスに載せるまでのフローや、デバイスに学習モデルを載せておくことで非常に高速に予測結果を出せることなどのお話をいただき、モバイルでTensorFlowを扱うことのメリットが分かるご講演でした。

エンリケさんからは著書を寄贈していただき、じゃんけん大会が始まりました。

おめでとうございます!

「Accelerate Flutter Apps Development+DroidconKE 2019 Recap」神原健一さん (NTTテクノクロス株式会社 エバンジェリスト)


Flutter開発を高速化するためのTipsとDroidconKE 2019の振り返りのご講演をいただきました。
Flutter開発の高速化ではFlutter StudioでUIを構成できることやRiveというツールでFlutterアプリに簡単にアニメーションを導入することができること、LiveTemplateでのコーディング高速化などのお話をいただきました。
DroidconKE 2019 Recapではアフリカの開発環境の現状など、普段だと知り得ないお話を聞くことができました。

「Flutter1ヶ月と16日触って練習がてらiOS環境でリマインダー作ってる話」山口登さん (N高等学校学生1年生)


Flutterを始めてからアプリを作るまでの過程のご講演をいただきました。
中学生のときに初めてFlutterを触ったときはブロックプログラミングしか経験されたことがなく挫折されたとのことですが、それからJava、C#などのコーディングプログラミングやHTML、CSSを習得されて今回リベンジされたそうです。

LT 「Adobe見学会」岡村有紗さん (カナディアンアカデミー中学1年生)


Adobe本社の見学会レポートをご講演いただきました。
キッズプログラミングの大会に出場された縁でAdobe見学会に参加されることになったそうで、Adobe社が創造性を大事にしている会社だということが伝わってきました。

LT「flutterでCPUヘビーな処理をするとき」友澤啓太さん (freee株式会社)


Flutterで重い処理をするときの注意点のご講演をいただきました。
Flutterで単純にasync/awaitしてしまうと処理落ちしてしまうのでIsolateを使う必要があり、Dartでfoundation.dartのcompute関数を使うと便利に使えるというお話でした。

記念撮影


記念撮影はオーガナイザーの野田さんが最近購入したドローンで撮影しました。
高さからしてドローンで撮る必要は全く無いということは内緒にしておきますが、素晴らしい写真が撮れました!
(なお、野田さんはドローン操作に夢中で下を向いています)


GDG神戸ではGoogleの技術に興味のある方のご参加をお待ちしています。
私たちの活動にご興味を持たれた方はぜひDoorKeeperにご登録ください。イベント公開時にメールでお知らせを受け取ることができます。
最後になりますが、会場をご提供いただきましたサントリーシステムテクノロジー株式会社様、ありがとうございました。

2019年8月11日日曜日

「Mix Leap Study - Android x Flutter 勉強会」を開催しました

こんにちは。GDG神戸の嘉多です。

7/25(木)にヤフー株式会社様と共催で「Mix Leap Study - Android x Flutter 勉強会」を開催しました。
会場はMix Leap会場のグランフロント大阪です。
今回はFlutterとAndroidネイティブのセッション形式の勉強会でした。



まずはGDG神戸の中谷さんから「Google IO 振り返り + in app update実装例」ということで、ユーザーがアプリをアップデートしてくれないことについて切り込んで講演いただきました。
これまではオンラインでアプリのバージョンを確認して強制的に更新してもらうような仕組みを独自で作らなければならなかったものが、In-App Updateの仕組みによってアプリ内で更新リクエストをかけることが可能になりました。
また、Play Storeアプリにリクエストすることになるため、アプリにInternetパーミッションをつけなくてもよいという副次的な利点もあるようです。



続いてGDG神戸オーガナイザー野田さんから「Flutterとプラットフォーム依存の処理の対応について」ということで、Flutterとネイティブコードを連携させるための方法について講演いただきました。
FlutterからAndroidのネイティブコードを呼び出すという情報はよくあるようですが、今回は逆にAndroidのネイティブコードからFlutterのコードを呼び出すという逆パターンの方法のお話でした。



最後にヤフー株式会社こばしんさんから「Navigationの採用を検討してみて、
色々考えた話を共有するよ」ということで、AndroidネイティブでNavigationを採用するにあたって調査したことや試したことを講演いただきました。
Activityを行き来した際に裏で何が起きているか、Fragmentとの比較などかなり踏み込んだ内容で、業務アプリを作る際のパフォーマンスを考えるのにも有用なお話でした。



セッションのあとはヤフー株式会社様より懇親会の席を設けていただき、登壇者や参加者との交流の時間となりました。


GDG神戸ではGoogleの技術に興味のある方のご参加をお待ちしています。
私たちの活動にご興味を持たれた方はぜひDoorKeeperにご登録ください。イベント公開時にメールでお知らせを受け取ることができます。
また、ヤフー株式会社では定期的にMix Leapというイベントを開催しています。こちらにご興味を持たれましたらぜひconnpassからイベントをご確認ください。
最後になりますが、会場と懇親会をご提供いただきましたヤフー株式会社様、ありがとうございました。

2019年6月17日月曜日

「Google I/O Extended 2019 Kobe - Flutterコードラボ -」を開催しました

こんにちは。GDG神戸の嘉多です。

6/16(日)に「Google I/O Extended 2019 Kobe - Flutterコードラボ -」を開催しました。
会場は今回も「キッズプログラミングスクール8x9」様にお借りしました。
今回はGDG神戸のオーガナイザー野田さんによるFlutterの概要説明から始まり、コードラボをこなしていくイベントでした。

第一部はFlutterの概要セッションです。
FlutterはMaterial DesignやCupertino Widgetに対応していて、美しい見た目のAndroidアプリやiOSアプリを出力することができるそうです。
また、静的型付けで型安全であり、ロックレスGCという完全停止する瞬間のないGCを実現しているそうです。



第二部はIntro to Dart for Java Developers、Java開発者向けのDartコードラボです。
Intro to Dart for Java Developers
こちらの公式コードラボサイトを参考に、クラスを作っていくコードラボでした。
ここでは自転車クラスや図形クラスを作っていき、Dartの便利な書き方を学んでいく内容になっていました。
factoryパターンも言語仕様レベルで利用を想定されており、予約ワードで明示的にファクトリメソッドを定義できるようです。


第三部はWrite Your First Flutter App, part 1、はじめてのFlutterアプリです。
Write Your First Flutter App, part 1
こちらの公式コードラボサイトを参考に、Flutterアプリを作っていくコードラボでした。
このコードラボでは実際にAndroid/iOSアプリを作り、エミュレータや実機で実行してみる内容でした。
Flutterフレームワークを使ってDartで実装し、ウィジェットなどを配置してアプリで表示してみました。
このコードラボでは最終的に無限スクロールのリストを作成しました。
ネイティブAndroidだとAdapterを書いたりして結構複雑な処理を書かなければなりませんでしたが、Flutterだと簡単に書けました。ここはDartの言語仕様がいろいろと機能を持っているからだと思いますが、APIを呼んだりしてリモートからデータを取ってくる場合にどの程度簡潔になるのかが気になるところでした。


第四部はFirebase for Flutter、FlutterでのFirebaseの使い方です。
Firebase for Flutter
こちらの公式コードラボサイトを参考に、FlutterアプリでFirebaseを使うコードラボでした。
赤ちゃんの名前を投票するアプリで、Firebase Databaseで設定したデータをリスト表示して、タップするとFirebase側のデータを更新するというものでした。

簡単にFirebaseに接続することができるので、サーバレスなオンラインアプリなども気軽に作ることができそうです。

Androidでは意外と面倒なMaterialDesignの実装をさらっとやってのけ、コードも簡潔に書けるFlutterの今後の進化に期待です!

Flutterピンズの争奪戦に燃える一同

コードラボが終わったら飲み会


GDG神戸では今後もFlutterをキャッチアップしていきますので、ご興味のある方はぜひDoorKeeperにご登録ください。GDG神戸のイベントのお知らせなどを受け取ることができます。
最後になりますが、会場をご提供いただきましたキッズプログラミングスクール8x9様、ありがとうございました。

2019年3月25日月曜日

「【大阪】Firebase Meetup in Osaka #2(共催:GCPUG神戸+GDG神戸)」を開催しました


こんにちは。 GDG神戸の中谷です。

3/24に「【大阪】Firebase Meetup in Osaka #2(共催:GCPUG神戸+GDG神戸)」を開催しました。
本イベントはFJUG Osaka/GCPUG 神戸/GDG神戸と共催で行い、会場はBillage OSAKAで開催しました。

今回はMeetupでメインセッションが1つ+LT形式の勉強会で、メインセッションはFirebaseプロダクトマネージャーのMichael McDonaldさんにご講演いただきました。

このセッションについては、通訳なしの英語だったのですが、スライドを日本語で書いていただいていたこともあり、皆様聞きやすかったのではないでしょうか。

今回発表頂いた内容は、どのように、サーバーレスコンピューティングで高品質、高いセキュリティのアプリケーションを作るかという話でした。(Firebaseはサーバーレスですよね)
私もFirebaseのいくつかの機能を使っていてどのようにセキュリティを担保していくかと言うところは常々考える必要があると思っており、どこまでを開発者がケアするのか、どこをGoogle(プラットフォーム側)がケアしてくれるのかという境目を認識する改めていい機会になったと感じています

質疑応答については通訳の方にお願いしながらいくつか質問が上がっていましたが、私が気になったのは、AWSとGCPの違いがわかりません。GCPのいいところを教えてくださいというど直球な質問でした。Michael McDonaldさんも苦笑いでしたが、中々回答の難しいものですね(笑)やはりケースバイケースということでしょうか。

セッション終了してLT終了後は、懇親会!ということで、今回は非常に沢山の飲食をご用意頂いたのですが、実は写真を取り漏れております。。。
なので脳内で想像していただくとしてですが、今回の懇親会では普段の勉強会よりも、色々な方々の交流があったように思います。
Firebaseはモバイルから始まりましたが、今はWebも含めて様々なプラットフォームで利用できるため他の要素技術を持つエンジニアも多く、いい刺激になったのかなと思います。

この後には、「Kiiiya Hommachi」で2次会?と言うなのもくもく会があったようです。
私は参加できませんでしたが、いつもの通りのオーガナイザーの写真をアップしておきます

いつものようにVRですね



今回非常に沢山の方にご参加いただいたことと、登録されている方の出席率が非常に高く、運営側としても良かったと感じる部分が多くありました。
主観にはなりますが、Firebaseは非常にいいツールです。簡単に色々なことを実現してくれるため「とりあえずサービスやアプリを作りたい」という思いで簡単に始められます。しかしこれがプロダクションに乗ったらどうでしょう。このままでいいのか?そんなことを考えさせられるMeetupだったかなと思います。

GDG神戸でもFirebaseはキャッチアップしていきたいと思います。
ぜひDoorkeeperにご登録ください。

2018年12月6日木曜日

「Mix Leap Study #29 - Step up for TensorFlow」を開催しました


こんにちは。 GDG神戸の中谷です。

12/4に「Mix Leap Study #29 - Step up for TensorFlow」を開催しました。
本イベントはヤフー株式会社様とGDG神戸と共催で行い、会場はヤフー株式会社様にご提供いただきました。

 今回はセッション形式の勉強会で、すぎゃーんさんと、GoogleよりLaurence Moroneyさんにご講演いただきました。

まずはすぎゃーんさんからですが、すぎゃーんさんは仕事では機械学習をされていなく、趣味でされているとのことでした。(まずそこに私は驚きました。。)

今回発表頂いた内容は、機械学習のデータセットをいかにうまく分類するか、ということで、ご自身で作成されたWebツールの紹介をされていました。
データを保持する環境もVPSを試されたり、GAE/GOやCloudStorageを使ってみたりと、試行錯誤されながらやっているという話が興味深かったです。
GCPのMLEngineなどを使うと、学習処理も安価に実行できるという話でした。
やはりデータ集めと投入は大変なイメージでした。。。

質疑応答についてはSlidoを使用しましたが、多数の質問が上がってきてて非常に皆様の興味が惹かれる内容だったのだと思います。

次に、Laurence Moroneyさんから「Mobile Machine Learning AI in the palm of your hand」のタイトルでご講演いただきました。
全編英語のため、私も10%ぐらい理解できていればいいほうで、残念ながらここに書ける内容はありません。。。
(Tensorflowの概要の話や、モバイルにTensorflowLiteのモデルデータを作って、端末で学習済みデータを使って画像認識するデモでした)
これはPACマンのゲームを指の向きに合わせて操作するというDemo
Slidoでもたくさんの質問が上がっていて、皆さん是非この機会に!というような盛り上がりでした

終了後は、テーブルに分かれての懇親会。皆さんココぞとばかりに質問攻めでした


すぎゃーんさんのキーボード!!
ご飯美味しかったです!
たくさんの飲み物もありがとうございます!
やはり機械学習はまだまだホットワードなのか、今回も非常に沢山の方にご参加いただきました。
機械学習のツールも整備されながら少しずつではありますがあまり詳しくない人でもある程度のことができるようになってきていると感じます。
今後も機械学習はホットワードとしてGDG神戸でも勉強を開催していきたいと思います。

最後になりますが改めて場所をご提供頂きましたヤフー株式会社様ありがとうございました。

2018年11月19日月曜日

「DevFest 2018 GDG神戸 Flutterハッカソン&コードラボ@さくらインターネット大阪本社」を開催しました


こんにちは。 GDG神戸の中谷です。

11/19に「DevFest 2018 GDG神戸 Flutterハッカソン&コードラボ @さくらインターネット大阪本社」を開催しました。
 本イベントの会場はさくらインターネット株式会社様にご提供頂きました

 今回の勉強会はハッカソンとCodelabの2トラック制で行いました。

まずはCodelabの様子から
司会進行はGDG神戸の夜子ままさんに行っていただきました
Flutter概要〜Codelabを2つ行いました
今回Flutterはじめての方ばかりで、まずはDart言語の理解
そして、Flutterの使い方、書き方を学びました。
言語と、Frameworkとを同時に学ばなくてはいけないこともあり、みなさん中々苦労されながらやっていたように思います

Codelabが終われば、短い時間でしたが、2チームに分けアイデア出しと開発と、ミニハッカソンのような形で初心者チームもハッカソンを行いました
アイデア出し

さて、ハッカソンチームはというと。。。
今回はハッカソンの参加者が少なかったこともあり、1チームだけでした
朝から、いくつかのネタ出しを行って、初心者チームがハッカソンを始めた頃には
開発は佳境に差し掛かっていました。みなさん必死ですね。
今回は画面ごとに役割分担をされていたようです

終了後は、最後皆さんで発表し、ハッカソンした内容を共有しました。


初心者チーム1
初心者チーム2

ハッカソンチーム



初心者チーム1はGCPのBigQueryをモバイルアプリで操作したいというようなものを考えていて、構想しながら、少し表示されるアプリまでというところまで。

初心者チーム2は待ち合わせのときに使える位置情報アプリを考えて、GoogleMapのAPIから位置情報を取得できるようなところまで試すことが出来ていました。

本命のハッカソンチームですが、自分の現在地から、特定の範囲内のIT勉強会を表示させるようなアプリを作っていましたが、この短時間でもしっかり動作はしており、Flutterの力を見せつけられたような気がします。


さて、今回はFlutterの勉強会を行いましたが、個人的にKotlinでAndroidを書いていることもあり、非常に興味深い勉強会になりました。
私が注目した点としては、HotReloadの速さ、またFlutterのコンポーネント数の多さ、簡単にマテリアルなレイアウトになることなど良かったと感じています。
しかし、デザイン周りのネストするコードや、レイアウトエディターがやっぱりほしい!など思う部分もありました。
Flutterはまだベータです。これからどんどん良くなることが期待されます。
今回なかなか参加人数が集まらなかったように、関西ではまだまだFlutter自体が認知されていない部分もあるとおもいます。しかし今後皆さんにもっと情報発信をし、みなさんと一緒に輪を広げて関西でもっとFlutterを使う人が多くなれば嬉しいなと思います。

最後になりますが改めて場所をご提供頂きましたさくらインターネット株式会社様ありがとうございました。

2018年10月9日火曜日

「Flutter勉強会(9/29)」を開催しました

こんにちは。
GDG神戸オーガナイザーの野田です。

9/29(土)に「Flutter勉強会(9/29)」を開催しました。
会場は今回も「キッズプログラミングスクール8x9」様にお借りしました。

FlutterはDart言語によるモバイルアプリ(Android、iOS)の開発フレームワークのことです。
画面に配置するUIを記述するだけで、マテリアルデザインが適用されたアプリが構築できます。しかもAndroidとiOSのどちらでも動作します。
従来のマルチプラットフォーム用フレームワークと異なり、UIをAndroid用、iOS用と別に用意する必要がなく、シンプルな実装で素晴らしいUIが作れるのが特徴です。
また、パッケージ(ライブラリ)も豊富で、従来のネイティブコード(Java、Swift等)で実装するよりも楽に書ける(しかもどっちも動く)のも特徴の一つです。

9月中旬にRelease Preview 2が公開され、次のアップデートではFlutter 1.0がリリースされるとのことです。
扱いやすさから、今後はどんどん広がっていくのではないかと期待できるフレームワークです。

GDG神戸は今年からFlutterに注目しており、今回はFlutterを扱う勉強会の3回目となります。
関西圏では珍しく、今後も積極的に勉強会を実施していこうと思ってますので、良かったら今後のGDG神戸の勉強会をチェックしてみてください。



さて、今回の勉強では、Flutter初心者を対象に、登壇者の実装ノウハウを共有することで、少しステップアップする感じのものとなりました。

最初は毎回やっていますが、GDG神戸のやこままさんにFlutterの概要説明をしていただきました。翻訳スライドはこちらです。元スライドはこちらになります。
毎回わかりやすい説明で、Flutterを知らない人がFlutterがどういうのものかを知るには、ちょうど良い内容でした。
Flutter公式資料の翻訳

そのまま引き続き、やこままさんがFlutterでレイアウトを構築するときに、どういう風に考えているかを、分かりやすく説明していただきました。
Flutterでのレイアウト構築の考え方

次はスーパー小学生のアリサさん。「RemindMe」という位置情報(場所)と紐づくTODO管理アプリを作成され、そのアプリについての実装ノウハウを発表していただきました。
また、このアプリで「Tech kids grand prix」の決勝大会まで進んだとのことで、惜しくも優勝は逃しましたが、今後の活躍が楽しみな子です。
位置情報と紐づくTODO管理アプリと
「Tech kids grand prix」決勝大会について

そして、Flutterについて非常に豊富な知識を持つ、株式会社tech vein(テックベイン)の河本さんです。「AndroidやiOSのアプリ開発でいつも私がやっていることをFlutterでやってみた」というタイトルで、Clean Architectureで設計する方法や、本番とテストで設定を切り替える方法、CI/CDツールの選定について、Flutterの場合どうすればいいかを発表していただきました。
モバイルアプリ開発者向けの、Flutterに移行する場合に気になるノウハウで、かなり濃い内容でした。
モバイルアプリ開発者向けの、
Flutterに移行する場合に気になるノウハウ

最後は僕、GDG神戸オーガナイザーの野田です。※毎度のことながら写真はありません…。
Easy Video Bucket」という、ストレージ内の動画再生、Youtubeの検索とお気に入りリストの作成が簡単にできるアプリをFlutterで作り、そのアプリでAdmobを実装したため、FlutterでAdmobを実装する方法について話をしました。
資料はこちらになります。


回を重ねるにつれ、かなりノウハウもたまって来ているので、もっと皆さんと共有できたらと思っています。
なにより、Flutterでアプリを作るのはすごく楽しいので、ぜひ触ってもらいたいですし、ハッカソンとかもやっていきたいなと思っています。
引き続きよろしくお願いいたします。