2017/8/30の 初心者歓迎XamarinのLT会!Xamarin入門者の集い #3 で LT して来ました。

発表した資料はこちらです。

もうちょっとだけ詳しく Qiita に書いた記事はこちらです。

LottieXamarinで始めるXamarinアプリのアニメーション

今日は

  • 登壇のきっかけ
  • テーマ選定の理由
  • 振り返り

について書きます。

登壇のきっかけ

Xamarin に強くなりたい!以上。

テーマ選定の理由

今回は単なる興味です。

LT のテーマは「身近な問題に向き合う」にすると決意していながら、自分が Xamarin について何か発表する姿がイメージできな過ぎて、

  • 取り組んでいる人あまり見かけない
  • もともと気になっていた

ということで、アニメーションのライブラリ Lottie の Xamarin 版を調べることにしました。

振り返り

結論としてはやっぱり何か直面してる問題を解決したかった一方で、特定のライブラリを(ある程度危機感を持ちながら継続的に)追いかけるのは良かったなぁと思いました。

K

ライブラリ(github上のリポジトリ)を追いかけるようになったこと

ライブラリの動作検証しているとき、最初に試したバージョンが iOS でバグがあり動かない状態でした。

リポジトリを見てみると issue が立っていて、何人か同じ問題で困っている模様。

リポジトリにスターをつけて issue に動きがある度に届くメールを見ていると、数日後に issue は解決。

(正確にはリポジトリで Watching 状態にして、特定の条件でメール通知するように設定)

本来使っているライブラリの動きくらい追えよという感じかもですがやってなかったので習慣にします。

ついでにこれまでスルーしてたメールのフィルタも整理したので業務効率もアップですw

あと、リポジトリにスターつけたら twitter に垂れ流すやつ( IFTTT )割とこけるので困ってます。

Microsoft Flow なんとなく見てみたら GitHub 系は issue 立てる系とかしかなかったのでリクエストしようと思います。

こんな感じで使える IFTTT みたいな iPaaS です。

Microsoft Flowを使ってSlackからVisual Studio Team Servicesのビルドを実行する

スライドの枚数少なくして DEMO 入れた

前回、前々回とスライドの枚数が多く、時間もキツキツで喋る方もしんどかったのでスライドの枚数を減らし、せっかくのアニメーションだったので DEMO (ってほどでもないですが)スライドから別ページに切り替えて動かしました。

趣旨にもよるとは思いますが、今回は動いてて楽しいやんなーみたいなのが伝わればよかったので…伝わってたら嬉しいです。

詰め込み過ぎもやめてよさそうです。

記事書くのマークダウンにしたら捗った(ブログの話)

効率は上がった気がします。

今更ながら読んでる『達人プログラマー』の影響です。

P

自分が解決したい問題ではなかったこと

今回はこれに尽きる気がします。

気になっていたライブラリだとは言え、自分がアニメーション導入したかったわけでもなく気合が足りませんでした。

気合とは具体的に

  • サンプルよりもっと踏み込んだ使い方をしてみる
  • どういうコードなのか追ってみる
  • ライブラリを使ったときと使わなかったときの実装を比較する

などのことです。

いきなり本質に切り込めなくても改善していこうと思います。

T

テーマ設定時に問いかける

  • 何が問題で、どうやって解決したのか
  • なぜ解決する必要があるのか
  • その解決策はどのように成り立つのか
  • 考え疲れた?まぁ LT は LT やし全部満たせんでもええよ

Microsoft Flow に GitHub スターのパーツリクエスト

とりあえず言ってみる。

7/25の第7回 Tokyo Jazug NightのLTで登壇してきました。

JAZUG

Japan Azure User Group (通称JAZUG) は、Microsoft Azureを学び、楽しみ、活かす、日本のユーザーグループです。2010/8/26に結成したばかりのコミュニティです。ぜひ、一緒に作っていきましょう。 ちょっと興味がある=ゆるふわな方 から 実ビジネスで使うんだよね な方まで歓迎。 職種はなんでもござれ。 ※プログラマ~企画者、デザイナ歓迎。ゆるふわなコミュニティとお考えください。

connpass JAZUG (Japan Azure User Group) ページより

発表した資料はこちらです。

VSTS、Slack、Microsoft FlowでASP.NET CoreアプリのCIをやってみる

第6回にも登壇したので、そのときと比べてどうだったか、今後どうしていくかについて書こうと思います。

Tokyo Jazug Nightで「Azure FunctionsとAWS Lambdaの開発フローの違い」を話してきました。初めての登壇とその理由 #jazug

このテーマにした理由

当初は「そんなに使わないけどたまにテストで使うASP.NET CoreアプリのCIとリソース管理(使うときだけ SlackとかでさっとApp Service立ち上げるイメージ)」をうやるべく、VSTS使ったり、下に貼ったスライドのようにAzure Automationでよしなにしてくれる仕組みを作ろうと思っていました。

第6回の記事に書いたように、直面している問題の解決が第一にあって、副次的に発表ネタが増えるみたいな感じにしたかったんです。

しかし、そのASP.NET Coreアプリは別にローカルで立ち上がればそれでよいという話になって前提がなくなってしまいましたw

※問題が、問題解決のための労力を割かずして解決するのはよいことです

ただ、

  • VSTS触ったことなかった
  • CIツールそもそも触ったことなかった
  • CIツール以前にビルドフローで叩かれるコマンドってどんなのがあるのかよくわかってなかった
  • Logic Apps面白そうだった(けど触ったことなかった)

というのもあり、大枠のテーマは変えないことにしました。

前回の振り返りを踏まえて改善したこと

前回の振り返りはこうでした。

Good

  • LTに臨む指針ができた
  • 会社でMS関連の技術扱ってることをLT後も含めて伝えられた
  • 他社の方と一緒に何かをやるきっかけができようとしている

Challenge

  • 間違ってる部分があった
    • シーケンス図→会社の人に教えてもらった。修正済み。LTくらいなら先に会社でさっとやってしまうとよさそう
    • Azure Functionsの実行時間は5分から10分に伸びた→LTの準備段階で参考にさせていただいたブログ書いてらっしゃる方のLT資料に対するご指摘。ありがたい。完璧に準備するのは無理なので、指摘もらった点は資料に反映していくようにしよう
  • 緊張しすぎわろた→もうちょい練習しよう
  • 平日準備厳しい→土日に8割方終わらせても平日に残りやり切るの厳しいタイミングもあるので、平日は練習するだけ、練習時に気づいたこと直すくらいに…
  • 変換コネクタ貸してもらえなかったらアウトだった→type C to HDMIしか持ってってなかったけど、端子トゲトゲの青いやつだった。コネクタ買っとくかな…

で、それを踏まえて変えた部分はこんな感じです。

改善点

間違ってる部分があった、緊張しすぎわろた

自分で何回か読む練習したのと、嫁氏がエンジニアなので変なところがないか聞いてもらいました。

嫁氏は今回発表した技術を普段使ってるわけではないことは棚に上げます。

平日準備厳しい

火曜日開催だったのでその前の土日には仕上げました。

変換コネクタ貸してもらえなかったらアウトだった

今回は(も)動画撮影の会社の方が準備してくださってましたが、購入したのでいつでも大丈夫!

その他

前回の内容はスライド見るだけではあまりにざっくりでだからなんやねんみたいな感じになってしまったので、今回は合わせてQiita記事にもしときました。

反響なさすぎて寂しいですが、備忘のため…(つよがり)

振り返りと今後

振り返り

Good

  • VSTS、Logic Apps、Microsoft Flowも触ったことなかったけど一応形になった
  • うまくいかないときフォーラムで聞いてみたら回避策が見つかった
  • 今回VSTS、次回MS Flowみたいな感じに分けようかと思ったけど、その時点で持ってる知識全部出して次はまた別のことやるべきって思ってそうしたこと

Challenge

  • 前進させたい
    • うまくいかないってtwitterで言ってるよりはフォーラムでも書くほうがマシではあったけど、OSSならPR出したり再現できる形でissue上げたり、英語で書いて開発してる人によりフィードバックが届きやすい形にすることで改善なり前進なりに繋がるようにしたい
  • 問題はより目の前のものを
    • 今回も調べ始めたらどんどん気になることが出てきて楽しかったけど、深堀っていく対象は選ばないと人生進捗しない感がすごい
  • 内容濃くない割りに詰め込みすぎで早口
      5分のLTに妥当な内容とはとか考えると悩みしかないけど、詳細は別にするにしても内容1つに絞ったほうがよいかも。けどまぁ人に行動促すんじゃなくて、自分が勉強するためにやってるしいっか…

今後

次は8月末の初心者歓迎XamarinのLT会!Xamarin入門者の集い #3でお話しします。

仕事でXamarin触っているので、強くなりながら臨めたらなぁと思います。

Japan Xamarin User Group (JXUG)主催のイベント、初心者向けXamarinハンズオン! #3でメンターをやってきました。

と言っても、 今回のハンズオンのテーマになっていたXamarin Dev Days Tokyoに参加したのが去年の11月、それを元にアプリを作って少しいじっただけ、という感じなので「メンター」と名乗るほど詳しくないですし、メンター枠でイベントに参加するのも初めてでした。

そんな前提のもと、

  • やっといてよかったこと
  • 答えられた質問
  • 答えられなかった質問

をまとめておこうと思います。

やっといてよかったこと

実際にハンズオンの題材をやってみる

事前に題材を嫁氏(エンジニア)とやってみました。

Xamarinの概要説明、環境構築、ハンズオンを一緒にやってみることで、つまずきそうなところに事前につまずきw、ある程度解決策・回避策を予習したり、自分が特にわかってない部分を勉強し直したりできたのはよかったです。

ハンズオンの題材をいじる

ちょっと前ですが、ハンズオンの題材をベースに簡単なアプリを作りました。

Xamarin.Formsで家の日用品管理アプリを作り始めたお話

ハンズオンを単になぞるのに加えて、いじってる方が次どういう風に勉強してったらいいのか実感がわくのはよかったです。実際参加者の方とそういう話をすることはなかったですが…!

答えられた質問

"XamlCTask" task failed unexpectedly

数人。今回の題材だと、Xamarin.FormsのバージョンアップすればOKでした。本質的な理解ができているわけではない…

Androidの実機デバッグをするとき、デバッグ対象に接続した実機が出てこない

その場で一緒に調べたところ、XamarinとかVisual Studio以前にドライバが端末を認識できていない状態でした。

この辺(Windows のデバイス マネージャーのエラー コード)見ながらの対応でした。

どんな質問にも怯まずとりあえず一緒にぶつかってみる姿勢大事そうでした。

ビルドし直しても変更内容がエミュレータに反映されない

コード絶対正しいはずなのに何でだろう…と思って、最終的にVisual Studio再起動したら反映されました。

本質的な理解はしていませんが、どこでVS側で新しいソースビルドできてかったのか、エミュレータが古いソース見ていたのか、もう少し問題切り分けできたいなと思いました。

コード正しいはずなのにコードビハインドで赤線が表示されている

多分できるのでビルドしてみください、でビルドできました。

正しいコードでも即座に反映(コード解析的な意味で)してくれないこともある…けど何でなんだ…

APIからデータ引っ張ってきてくれない

データ引っ張ってくる部分コメントアウトされていたので、コメント外してもらいました。

基本コードのコピペで進めていくハンズオンだと気付けないこともあると思うので、実際追ってみてから参加するのとても大事だと思いました。

Azureのポータルの見方よくわからない

本筋はXamarin.Formsであるがゆえに、バックエンドのサービス構成の基本事項等々まで説明するわけではないので、なおさらこういう部分まで丁寧にサポートできると安心して本来の勉強したい部分にフォーカスできるのかなと思いました。

Commandの書き方がしっくりこない…どう勉強したらいいか?

MVVMでUIからビジネスロジックを呼ぶ手段であること、メソッドと動作可否を引数にとること、ActionやFuncの元になるラムダ式の仕組みがあることをお話したものの、自分でもあまりしっくりこず…

勉強していくための記事とか添えれたらよかった気がしました。

他にもあった気がしますが、覚えてるのはこれくらいです。

答えられなかった質問

iOSのプロジェクトをiPhone実機でデバッグするために必要なこと

iOS持ってなくて、事前にも調べてなくてその場で調べました。

が、強い人が教えてくれてました。

Xcodeから設定してましたがよくわかったないので調べてみよう。

Androidのエミュレータが起動できない

今の自分の環境では特に問題なく動いた(理解してるわけではない)ので、何かあったときに何もわからず…

別の方に助けていただきました。

エミュレータ系は環境構築でハマるお決まりなのでもうちょい勉強しといてもよかったかもですね。

まとめ

自分の力不足感は否めなかったものの、自分が勉強できたこと、本質的な提案ではないけどハンズオンを進めるための手助けにはなった(はず)ということで勇気を出して申し込んでみてほんとによかったなぁと思いました。

次はこのイベント(初心者歓迎XamarinのLT会!Xamarin入門者の集い #3)で、JXUGでは初めての登壇です。

まだ1ヶ月半くらいあるので、それまでにもっと強くなって臨みます。

弊社freeeでもXamarin案件があるので、興味ある方ぜひお声がけください!!

日本を変えたいWindowsアプリエンジニア募集!!

6/22の 第6回 Tokyo Jazug Night のLTで登壇してきました。

JAZUG

Japan Azure User Group (通称JAZUG) は、Microsoft Azureを学び、楽しみ、活かす、日本のユーザーグループです。2010/8/26に結成したばかりのコミュニティです。ぜひ、一緒に作っていきましょう。 ちょっと興味がある=ゆるふわな方 から 実ビジネスで使うんだよね な方まで歓迎。 職種はなんでもござれ。 ※プログラマ~企画者、デザイナ歓迎。ゆるふわなコミュニティとお考えください。

発表した資料はこちらです。

connpass JAZUG (Japan Azure User Group) ページより

Azure FunctionsとAWS Lambdaの開発フローの違い

今回、社外・面識のない方が大半の場で登壇するのが初めてでした。そのため、なぜ登壇しようと思ったのか、これからどうしていくのかとかその辺書き残しておこうと思います。

登壇のきっかけ

マネジメント

色々あった気もしますが、根本にあったのは特に技術面での成長に対する不安だったと思います。

営業から業務プログラミングとか0でエンジニアへ転職したのが2015年の1月。

思うように伸びない時期が大半だった気もしますが、2017年4月、正式にロールとしてチームの運営的な部分もやっていくことになり、拍車がかかったというのが大きかったと思います。

当時といってもそんなに時間経ってないですが、こんなことを考えていました。

  • マネジメントも様々な技術分野同様、専門知識のある一分野なのでキャッチアップしないと
  • 業務として純粋にコード書いたりする時間減るかも
  • 技術大してないのにマネジメントってなんというかダサい

マネジメントが技術的成長を妨げるとは全く思ってなくて、技術的に成長していける確認が持てていないタイミングでマネジメントもやる絶望感がただただありました。

インプットの質を高めるためのアウトプット

チームではMicrosoft関連の技術を扱っていて、品川でよく開催されている勉強会にけっこう頻繁に足を運んでいました。

3/25に参加したのがこちら。

.NETラボ 勉強会 2017年3月

.NETラボ 勉強会 2017年3月のまとめ #dotnetlab

後の懇親会で色々と話を伺っていると、雰囲気的に自分も登壇できたらなぁと思いました。

そしてたまたま当日目について記事がこちら。

“ただの興味”がいつか武器になる–及川卓也氏が語る、一流エンジニアのアウトプット法

インプットしないかぎりアウトプットできないので、最初にアウトプットするということを続けていくと、必然的にインプットしなければいけなくなるのです。

僕がよく勉強会で言っているのは、「ライトニングトークは敷居が低いから、とりあえず枠を押さえちゃえ」と。それで手を挙げて、「こういうネタで話そうと思ったけどダメでした」と言っても、やさしい勉強会やコミュニティなら許してくれます(笑)。">僕がよく勉強会で言っているのは、「ライトニングトークは敷居が低いから、とりあえず枠を押さえちゃえ」と。それで手を挙げて、「こういうネタで話そうと思ったけどダメでした」と言っても、やさしい勉強会やコミュニティなら許してくれます(笑)。

あと、デザインパターン勉強していて、けどなんかしっくり来なくて「どうやって勉強したらいいですか?」って聞くと、

「実際にデザインパターンが必要な必要な開発・シチュエーションに出会って適用すること!」

っていうお話をしていきました。これは登壇のきっかけではないのですが、自分の「技術的成長に対する不安感」の核心なので後でまた触れます。

今度はどこで話すかというお話です。雰囲気的に3月に参加した.NETラボさんでお話できたらなぁと思っていました。

が、毎月第四土曜に開催されるこの勉強会は参加できないことが多く、どうしよう、と…

思っていたときに4/22のGlobal Azure Bootcamp 2017@Tokyoに参加してやっていく気持ちが高まり、5/17のJAZUG女子部 第11回勉強会で今回登壇した第6回 Tokyo Jazug NightにLT枠があると知って(?)20秒くらい悩んで申し込んでみました。

ネタはまだない。

話すネタ

そう、申し込んでみたものの何も決まってない。

そもそも5分のLTってどういうのあるんやろう…

  • 最新情報・動向
  • 新しい技術試してみた
  • 導入したときのtips
  • Deep Dive
  • 俺の作ったサービスを見てくれ
  • なんとなくエモい話

とかとか?形から入ると一番大事な部分、話す内容がない。

折しも社内ではピアレビューというのがある時期。

会社では定期的にマネージャー以外にも近くで仕事をする同僚から良い面と良い面を伸ばすために必要なことを書いてもらう機会があります。

そこでもらったコメントの一部がこうでした。

  • 得意分野ができて技術をインプットするサイクルはうまく作れるようになったと思うので、今度は情報をまとめるだけじゃなくアウトプットを意識するといいと思う。ここで言うアウトプットは社外での発表とかそういうものではなく、ちゃんと技術を形にしたものであるべき。
  • Webアプリ開発などの基礎的なスキルはまだまだ不足していると感じるので、引き続きエンジニアとしてのレベルをトータルで1段あげれるような取り組みはしていったほうがいいと思う。これも勉強会に参加するとかじゃなくて手を動かす時間を取ったほうがいい。

まさに自分が直面している問題の話でそうだなぁと思う一方で、もっと意図が知りたいと思ったのでランチのお時間いただきました。

誤解を恐れつつまとめると

「自分が困った問題の原因を考え抜く、調べきる」

です。

そういうわけで、LTするにしても、LTのためのネタ集めをするのではなく、問題に向き合うことを大前提にすると決めました。

その課題を解決する手段として、今回であればAzure技術を位置付けるような形で話できるのが理想であると。

先ほども少し触れたように「デザインパターンどう勉強したらいいですか」みたいな質問をしてしまう前提として、漠然と自分の打ち手がないことへの不安から何となく教科書的なものを一通りさらっていくような勉強してしまうという自分の弱点があります。

体系的な知識が必要な場面はあるとは思うものの、自分に圧倒的に足りてなかったのは問題そのものに向き合う姿勢でした。

サーバレスアーキテクチャ

今回LTで話したのはAWS Lambdaの話とAzure Functionsの話です。

サーバレスアーキテクチャとか、話は最近よく聞くし、ポップでキャッチーな響きなので登壇後も優しい方々がいいねやリツイートしてくださいました。

もちろん、このLTの準備はサーバレスアーキテクチャに始まっていなくて、メインは

こうだったのが

こうなった

というのが中核です。

アプリへのレスポンスを改善するためにとった手段が最終的にサーバレスアーキテクチャになっただけで、beforeとafterの間に移行のための別アーキテクチャがあったりします。

とはいえ、手段としてのAWS Lambdaの特性を知るためのAzure Functionsの勉強はとても有益でした。

  • 「サーバレスアーキテクチャ」としてメリット・デメリット
  • 制限事項への対応
  • 新機能の意図

は特定のプラットフォームにだけ活きるものではなく、両者に活きるものだからです。

LTのスライドだけ見ると、ちょろっと調べれば何となくまとめられてしまいそうな内容になっています。しかし、最終的な成果物がどういう形であれ、問題に向き合うプロセスは別に形にしたり、こんな風に書き留めておきたいと思っています。

登壇の振り返り

そういうわけで、7/25実施の第7回 Tokyo Jazug NightにLT枠で既に申し込んでいます。

よりよくしていくためにほんのちょっと振り返ります

Good

  • LTに臨む指針ができた
  • 会社でMS関連の技術扱ってることをLT後も含めて伝えられた
  • 他社の方と一緒に何かをやるきっかけができようとしている

Challenge

  • 間違ってる部分があった
    • シーケンス図→会社の人に教えてもらった。修正済み。LTくらいなら先に会社でさっとやってしまうとよさそう
    • Azure Functionsの実行時間は5分から10分に伸びた→LTの準備段階で参考にさせていただいたブログ書いてらっしゃる方のLT資料に対するご指摘。ありがたい。完璧に準備するのは無理なので、指摘もらった点は資料に反映していくようにしよう
  • 緊張しすぎわろた→もうちょい練習しよう
  • 平日準備厳しい→土日に8割方終わらせても平日に残りやり切るの厳しいタイミングもあるので、平日は練習するだけ、練習時に気づいたこと直すくらいに…
  • 変換コネクタ貸してもらえなかったらアウトだった→type C to HDMIしか持ってってなかったけど、端子トゲトゲの青いやつだった。コネクタ買っとくかな…

次回もがんばるぞー

スライドにも書きましたが、この本よかったです。今AWS Lambda始めるならこれ!という感じです。

今日はALGYAN主催の「IoT ALGYAN(あるじゃん)2周年記念・IoT祭り2017!機械学習 豪華3点盛+IoT」に行ってきました!

IoTには機械学習がつきもの!ということで、AWS、GCP、Azureのユーザグループからそれぞれ各プラットフォームの昨今の機械学習事情を勉強させてもらえる、という貴重な勉強会@品川Microsoftでした。

コミュニティ

ALGYAN(あるじゃん): 日本から世界へ、明るく楽しくIoYT(The Internet of "Your" Things)を広めよう! という、熱く真面目なコミュニティです! あなたもコミュニティーメンバーになって(会費無料)、わくわくしながら世界のIoYTを盛り上げましょう! https://www.facebook.com/groups/ioytjp/ (←登録必須:無料だし)

とのことです。

勉強会

IoTには馴染みまったくなかったですが、最近機械学習の勉強してるのと、データの発生源としてのIo「T」という視点で聴いてるとシンプルに楽しかったです!

ハッシュタグ

お品書きとスライド

スライドはconnpassやtwitterで見かけたものを適宜追加していきますー

概要はconnpassより。

JAWS-UG「AWS で始めよう!はじめての機械学習

発表者: 中丸良さん
JAWS-UG AI 支部・コンテナ支部コアメンバー。AWS 認定 DevOps エンジニア・ソリューションアーキテクトプロフェッショナル。
概要: 機械学習、特に深層学習に注目して各クラウドのサービス・状況をみながら、AWS を選択する理由やその上手な使い方をご紹介します。デモを交えて実例も見ていただけます。

TensorFlowとGCPの話

発表者: 下田倫大さん
TFUG(TensorFlow user Group)主催者
概要: 2/15に発表されたTensorFlow v1.0を中心に、GCP上の種々のデータ分析、機械学習サービスの話をします。GCP上のデータ分析のワークロードについてイメージを掴んで頂けるようなお話にします。

Azure MLとCognitive とBotFramework 豪華3点盛+IoT(裏話はトーク中心に)

発表者:梅崎猛さん
JAZUGメンバー、セゾン情報システムズ テクノベーションセンター
概要:
・質問応答システム with Cognitive Transrator +QnA
・BotFramework 現状と裏話
・IoTに絡んだなにか

LT

①「TED Azure IoT PoCキット(仮題)」

東京エレクトロンデバイス IoTカンパニー バイスプレジデント 福田さん

②「アットマークテクノのIoT戦略」

株式会社アットマークテクノ 代表取締役 實吉さん

③「さくらのIoT PlatformとMicrosoft Azureのちょうどいい関係」

さくらインターネット株式会社 IoT Platform Team 西田さん

④「ラズパイマガジンとIoT」

日経Linux副編集長(ラズパイマガジン編集長) 安東さん

⑤「スマホのパワーをIoTへ 〜ハイパフォーマンスボード『DragonBoard』で〜」

アロー・ユーイーシー・ジャパン株式会社 IoT事業推進室 室長 目黒さん

⑥「XamarinでIoT

ちょまどさん

⑦「PayPal User Group立ち上げました!」

PayPal User Group 本山さん

セッションメモ

JAWS-UG「AWS で始めよう!はじめての機械学習

発表者: 中丸良さん

機械学習ってなんだっけ?というところから、中でも話題の深層学習について。

TensorFlow、Chainer、CNTK等、深層学習を一から実装せずに済ませるフレームワークについては下記を基準に妥当なものを選定する必要があるという話はどのプラットフォームでやるにも大事なので詳しくなりたいなぁと思いました。

  • 対応アルゴリズム
  • 動作端末・環境
  • 計算速度/リソース利用効率
  • 利用可能な言語/手続的・宣言的
  • スケーラビリティ/複数GPU、並列サーバ対応
  • 情報の豊富さ/エコシステム/商用サポート

そして、チュートリアルならまだローカルのpythonで済むものの、多様かつ大量のデータを扱うにはクラウドサービスを活用して環境構築するのがよいと。

機械学習関連のサービスはもちろん、GPUインスタンスや機械学習にもってこいのDockerイメージも。

次のLTでもJupyter notebook + Dockerは必須だという話がありました。

これが全部入りAMI

僕は機械学習(ガチ)の環境構築やったことないのであまり実感わきませんが、経験ある方だとありがたみがより深く実感できるようです。

環境構築一連の流れはこちら!
DeepLearning ハンズオン環境構築 @ MaruLabo × JAWS-UG

個人的にはまだローカルで十分そう…

TensorFlowとGCPの話

発表者: 下田倫大さん

TensorFlow、名前はよく聞くものの、version1系になったのが2017年2月というのはとても意外でした。

Google社内で

  • OK Google(音声認識)
  • Gmail(スパムフィルタ)
  • Google Photo(画像の自動分類)
  • Google 翻訳(翻訳の自動学習)

で活用されていて、2015年の11月にオープンソースに。

Google Trendsでの人気度動向僕も今ちょっと見てみます。

セッションでもあったようにかなり地域差もあって面白いです。

リンククリックしたらそのまま見れるのでよかったらどうぞ!

コスト関数の動きや分類度合い等いろいろ可視化できるTensorBoardもいい感じです。

TensorFlowの技術的詳細はこっちのスライド見ると幸せになれるとのことでした。
× TensorFlowは深層学習に特化したツールである
◯ TensorFlowはデータフローグラフを利用した数値計算のためのオープンソースのソフトウェアライブラリである

あとはJupyterをベースとしたGCP特化の分析環境として紹介されていたGoogle Cloud Datalabが気になりました。

AzureにもMicrosoft Azure Notebooksがあるように、今のところJupyter Notebook形式で分析のデバッグ、記録、共有していくのはデファクトな感じになってるみたいですね。

ただ、Google Cloud Datalabはpythonの3系に対応しておらず、GPUインスタンスも使えないことから伸び代あります!状態。
Datalab(+GCP)を中心にしたデータ分析環境

Azure MLとCognitive とBotFramework 豪華3点盛+IoT(裏話はトーク中心に)

発表者:梅崎猛さん

まずはこちらのチュートリアルのお話。

Machine Learning のチュートリアル: Azure Machine Learning Studio で初めてのデータ サイエンス実験を作成する

Azure MLはデータ準備→モデルトレーニング→スコア付けとテストをGUI操作するとそのモデルをAPIとしても使えるというサービスです。

機械学習のフローをモジュール化し、パズルのように組み替えがらモデルを作ります。

豊富なチュートリアルを見つつ、チートシートを参考にしてアルゴリズムを選びつつ…

作ったモデルはAPIとして公開できるので、しっかりバッグエンドまで面倒見てくれるところが魅力的です。

MicrosoftのAI投資は基盤からサービスまで徹底してる様はこのブログの記事(勉強会レポート…)でもとりあげてきました。

.NETラボ 勉強会 2017年3月のまとめ #dotnetlab

まどすた #2、Visual Studio 2017 リリース記念勉強会のまとめ

TensorFlowもAzure GPUインスタンス上で!

GPU版TensorFlowをAzure NCシリーズ上に構築する

まとめ

コミュニティでっかい!今回はプラットフォームごとのユーザグループ複数分野で集まってたのもあるとは思いますが、めちゃくちゃ盛り上がってますね。

自分の業務がWebだから余計に感じるのかもですが、きゅうりの分類とか普通にわくわくしましたw

今はまだローカルでなんとかなる範囲の勉強してますが、そのときもフレームワークそれぞれの特徴の差異はまとめていこうと思いました。

クラウド上のリソース使うときはそもそも環境を作っていける人でないのでその辺も強くなれたらよいなぁ…

あと幸運にもいただきものが素晴らしかったのでとてもテンション上がるいい1日でしたー

勉強会に参加したらブログにまとめるマンです。

今日は.NETラボ主催の勉強会に行ってきました!

コミュニティ

.NETラボ: .NET技術やマイクロソフト製品について勉強するコミュニティー。毎月第4土曜日に定期開催しています。

とのことです。毎月開催タイミング決まってたら心の準備しやすいですね!

勉強会

今日は.NETラボ 勉強会 2017年3月ということで、テーマは幅広くということでしたが、Microsoft Bot Frameworkネタが2件 + LUIS(Language Understanding Intelligent Service。Cognitive Servicesの1つでリクエストに含まれる文を解析して文の目的と構成要素に分解してレスポンスを返すよう学習させられるAPI)今すぐ手を動かして開発したくなるような話題が特にアツかったです。
ハッシュタグ #dotnetlab

お品書きとスライド

上がってるものはまとめていきます!概要はconnpassより。

  • .NETラボ紹介とご案内(木澤朋和さん
  • マイクロソフトMVPアワードプログラムのご紹介(木澤朋和さん
    • マイクロソフトMVPアワードプログラムのご紹介と新しくなった申請方法についてお話します。応募を検討されている方のご相談にも乗ります。
  • 今こそMicrosoft Bot Frameworkを学ぼう中島進也さん
    • 2016年3月末に公開されたMicrosoft Bot Framework。 もうすぐ1年が経ち、そろそろPreview版から正式版になるのではと期待が高まります。 そこでBot Frameworkを使用したの開発を始めるにあたって必要な概要を俯瞰的に紹介いたします。
  • 最近流行りのエンジニア田舎へ移住ってどうなの?(藤原隆博さん)
    • ①移住を志した経緯 ②移住直前直後の失業時の苦労 ③田舎のit仕事って? ④客先常駐型の仕事はある? ⑤6次産業化、廃校利用等の新ビジネス ⑥マスメディアへの露出 ⑦兵庫県のit移住の補助金制度 ⑧移住に対する所感。
  • BotFramework と LUIS を使ったアプリの開発横浜 篤さん
    • BotFramwork(とBotServices)の概要と、Cognitve ServisesのLUISの概要を説明し、サンプルのアプリで開発の一例を紹介します。
  • 進化するEdge! ~Creators Update版の新機能から既存機能までまとめて解説~(日本マイクロソフト テクニカルエバンジェリスト さっくるさん
    • 今年の前半に公開が予定されているWindows 10 Creators Updateにより、Edgeには新しくさまざまな機能が追加されます。本セッションでは、Creators Updateで追加される可能性が高い新機能について、既存機能のおさらいやデモを交えてご紹介いたします。
  • ライトニングトーク & ディスカッション

セッションメモ

マイクロソフトMVPアワードプログラムのご紹介(木澤朋和さん

最近毎月申請できるようになったMVPについて。

特典はめちゃ多い!

  • MSDNサブスクリプション
  • Office 365 ENterprise E3提供
  • MCP受験料50% off
  • XamarinUniversityサブスクリプション
  • MVPグロサミ
  • Channel9での動画配信
  • 技術情報の提供(NDA)
  • 賞状と盾

それよりも、もちろんMVPになることが目的でないし、申請の要件にあるコミュニティへのよい影響や情報発信も受け取り手があってこそなので感謝を忘れずにというよいお話でした。

勉強会の後にお話聞かせていただきましたが、エンジニアとして大きくなるべくよい情報の発信(をするための鍛錬)やっていきたいなぁということで記事書いたりLTしたりやっていくことにします。

MVP詳細は公式ページにて!

今こそMicrosoft Bot Frameworkを学ぼう中島進也さん

Bot開発するためのフレームワークもいろいろ出てるんですね!

  • よさげなところ
  •  ワンソースでマルチチャネル(Slack、Skype、Facebook...)対応
  • Channel Inspectorで各チャネルにどの機能が対応してるか教えてくれる
  • 開発から公開までの全行程サポートが手厚い
  • 注意!
  • .NET Core未対応
  • Bot Directoryで公開することが前提で、プライベートで運用したい場合は要相談
  • 会話情報は匿名化して収集される(かも)
  • 気になる
  • Direct Line API: connector未対応のプラットフォームやスマホアプリと接続するためのしくみ
  • Xamarin Shopping App
  • C#でLine bot

よく使ってるプラットフォームにのっかって機能提供できるはめちゃくちゃアツいですね!

新しくアプリを入れるモチベーションがない人でもLineだったり、その他よく使ってるSlackやチャットサービスに向けて対話的なインタフェースでサービス提供できるとなったときに夢広がりますね。

と思う一方でLineにそういうサービス(アカウント)接続したところで継続的に使った試しはないので研究してみたいですね。

最近流行りのエンジニア田舎へ移住ってどうなの?(藤原隆博さん)

広い庭で犬と駆け回りたい…

というのはおいといて、僕は東京好きですが、土地の商機やチャンスを見出して生きていくのも素敵だなぁと思いました。

BotFramework と LUIS を使ったアプリの開発横浜 篤さん

Microsoftの言う「AIの民主化」の実感高まるセッションでした!

一から実装するには大変なAIパーツをGUIで設定するとAPIで利用できるし、もちろんbotから使うこともできる。

bot開発は中島進也さんの発表にもあった通り全フローのサポートが厚く、こんなエミュレータも!

コミュニティは盛んで資料も豊富!

4/8〜9にはハッカソンイベントも!

強いなぁと思いました。

進化するEdge! ~Creators Update版の新機能から既存機能までまとめて解説~(日本マイクロソフト テクニカルエバンジェリストさっくるさん

圧倒的情報量!

Edgeほぼ使ったことないですが、少なくともInternet Explorerに抱いていたイメージとはいい意味でかけ離れていました。

古いIEをエミュレートしたり、Windows Defender Application Guard(preview, 信頼されてないサイトを開くときに仮想環境でブラウザ立ち上げてチェックしてくれる)エンプラ系の設定も完全にスルーしてたので追っていきたいですね。

ディフェンスもガードもするんですか…!

あとエクステンションとUWPやWin32アプリを連携できるのは個人的にとてもとても気になるので攻めたいですね。

ライトニングトーク & ディスカッション

まとめ

自分も登壇しよう!と思いました。

今日聞いた話ももちろん、最近人と話しててぶつかり稽古が必要…

たまたま今日読んだこの記事(“ただの興味”がいつか武器になる–及川卓也氏が語る、一流エンジニアのアウトプット法)にも思うところがありました。

業務的にもWindowsデスクトップ(+ サーバサイドや関係するフロント)を作るのに加え、日々オープンに、ダイナミックに発展するMicrosoftの技術を取り入れてガンガン開発していこうぜ!というチームにしていくのでやっていくしかない状況です。

下のリンクの要件はちょっと古くなってますが、そんなチームを一緒に盛り上げていく仲間も募集してるので、ちょっとでも興味ある方は気軽に声かけてください!
日本を変えたいWindowsアプリエンジニア募集!!

Visual Studio2017のリリースの興奮冷めやらぬ中、C#関連の勉強会が2つあったのでそのまとめです!

まどすた: Windows 10 や Windows 10 Mobile、Windows Desktop など、Windows クライアント アプリ開発に焦点を当てた技術系勉強会コミュニティです。
日本C#ユーザー会: 日本のC#ユーザーを応援するコミュニティです。不定期に懇親会や勉強会を開催してきます。

ということで、C#で困ったときにググると行き着く方々がたくさん登壇したり、twitterタイムラインでうぇいうぇい言ってる楽しい感じでした。
#まどすた
#csugjp

Microsoft社の隣り合ったセミナールームで同時開催!ということで行き来できるもののどちらのセッションも聞くことはできません。

なので、この記事は僕が聞かせてもらった内容はまとめつつ、もう片方もスライド集めたりしてどちらの勉強会の内容も振り返れるようにできたらいいなぁと思います。

当日のスライド

見つけ次第足します。見つけられないかもしれないので、優しく教えてください…

僕が聞いたセッションには★がついてて、下の方にまとめなり調べたことなりを書いていきます。

まどすた #2

Visual Studio 2017 リリース記念勉強会

セッションメモ

自分の理解不足のところを調べたり、自分が思ったことを足したりしてるので、セッション内容そのものではないことをご理解いただけると幸いですm(_ _)m

①マイクロソフトの最新テクノロジー(高橋忍 さん

1時間のセッション。終始ワクワクするものでさすがやなぁと思いました。

大きく分けて2つ、MSの注力分野であるAIの民主化とMixed Realityのお話です。

Democratizing AI
この記事(Microsoft Ignite ~ “Democratizing AI” が実現する今後の方向性)にもあるように、AIをいろんな人に使えるようにセグメント別に様々なサービスを提供しているというお話。

レイヤーとその具体例としては、

Agent: Cortana等ユーザーと直接やり取りを行うUI、いわばout of box
Application: Office 365等、情報を活用し、洞察を得て、次の一手へのヒントを提供
Services: Cognitive services、Bot Framework等、情報の分析や解析を行うエンジン
Infrastracture: Azure等、アプリケーションやサービスをを支えるプラットフォームとしてのクラウド

というものです。AIサービスとしても、部品としても、基盤としてもなんでもありですね!

中でも Cognitive ServicrsはAPIも豊富。研究しがいありますね!(ほんとにいっぱいあってアクセスするとびっくりすると思います…!)

Microsoft Cognitive Services を始める ~ 全21種のサービス概説と開発準備

APIとして使え、叩けばjsonで結果が返るので開発しているサービスに組み込んで使ってみたいものです。

中でも動画解析が今アツいようで、動画ないで何が起きているかが文章化できるまで進んでいるようです。

ただ、既存の動画に対して行うもので、ストリーム処理は開発中のようで、実現すれば防犯にも使えるかもとのことでした。

音声認識の精度向上も凄まじく、世界記録更新(単語誤認率を5.9%)みたいな話題もありました。

マイクロソフトが GPU の活用で音声認識の世界記録を更新

人間で4.x%とのこと。

ただ、その数字を追うというよりも、生活にインパクト与えらえる方が大事というお話への共感が大きかったです。

紹介されていたこの動画とてもよいです。

CPU→GPU→FPGAの話はよく理解できなかったので割愛です。

あとはAmazon alexaとの対比で出てきたCortana Skills KitとCortana Devices SDKのお話。

CortanaをWindowsやAndroid、iOSはもちろん、このSDKベースの様々なデバイスで活用できるようにするという画期的なしくみです。

先発のAmazon.comの音声アシスタントAlexaで用いられる「Alexaスキル」のコードを転用することもできるそうです。

de:codeでセッション予定(?)とのことでかなりそそられるお話でした。

HoloLens

Mixed Realityとは何かについて。

Mixed Reality: フィジカルとバーチャル世界の融合。両世界の干渉がある世界。例えば、バーチャルな物体が床に落ちて壊れるようなこと。

HoloLensはスタンドアロンなデバイス。CPU、GPU、センサとか全部入ってる。もともとキネクトで開発やってたチームが作っていて、ジェスチャー認識のためのプログラムの強化版も入っているそうです。

ドイツのメーカーのThyssenKruppは既にエレベーターのサービスにHoloLensを導入していて、

  • 過去のメンテ状況表示
  • 今日の作業表示
  • アラートが出たときにどうするかの指示
  • 本社のエキスパートにスカイプで呼ぶ
  • 本社では作業者が見てる画面を確認でき、本社から画面にペンで矢印等書ける

みたいなことが実現してるんですって。めっちゃわくわくしませんか?

操作はwin10と同じようなもので、UWPベースでアプリが作れるとのことで高まりますね!

Xamarin.Forms とコンソールアプリでモデル層を共通化してみたYuka Abuno さん

C#のGUIアプリはM-V-Whateverで作りますが、その中のMVVMはFat View Modelになりがち!

でも、いろんなクライアントアプリが作れるC#( = マルチタイプ?)でアプリを作る上ではModelをしっかり作りこむことで効率的に開発することができる。Modelはアプリそのものなんだというお話でした。

具体的にご自身で作られた、バックエンド: ASP.new、クライアント: web、Xamarin.Forms、コンソールなチャットサービスを例に挙げモデルを作りこむお話でした。

これがサービスのコード。

yuka1984/ChatXFSample

自分で作ってるXamarin.Forms製の日用品管理サービスも(相対的に)Fat ViewModelになってきてこういう設計のお話を渇望していたので、じっくり読んで勉強したいですね。

途中で出てきた

も調べてみようと思いました。

③Unity の素人がスマホゲームをリリースしてみた ~ 副業解禁!? でおこづかいをゲットしたい ~(matatabi-ux さん

スライドは敢えてアップしないとのことだったのであまり詳細は書かずに…

群雄割拠・地獄絵図、個人でも出せばDLしてもらえる時代は終わったのスマホゲーム市場において、

  • iOS、Android、Windowsのダウンロード状況は?
  • 何に対して課金してもらえる?
  • ランキングを上げるには?
  • どういうジャンルのゲームを攻めるべき?

というのを分析して実践したお話。

単に面白い!みたいのではなくて、収益を得るためにとるべき論理的なアプローチで成果を上げているのは天晴れでした。

紹介されていた放置系ゲームの雄、ひとりぼっち惑星が印象的でした。

確かにバズってたなぁ…

④Desktop Bridge でデスクトップ アプリをストア公開するまで(亀谷学人 さん

Classic Desktop app(WPFやWindowsForms等exeファイルを実行するやつ)をストアアプリ(UWP)に変換(※変換ではない)するための手順や注意点についてです。

これはスライドぜひもう一度見たい & みなさんにも見て欲しいと思う内容でした。

というのも、今春リリース予定のWindows Creators Updateにはストアアプリ以外のアプリインストールを制限する機能が入るという話があります。

Visual Studio Codeまでインストールできないとか本家まではじいてたり、こういうの導入しそうな企業はこの設定にするように社内調整するのに時間かかったりそもそも運用できるのかとか色々あって直ちには進まないかもしれません。

ただ、MSとしてもストアアプリ介す世界にはしたいと思うのでストアアプリ対応需要は近々あるのではと戦々恐々としながら聞いてました。

お話にあったデメリット・メリットを実際に検証したいなぁと思いました。

メリット

    • 優れた展開プロセス
    • ストア掲載
    • クリーンなアンインストール
    • UWP機能の活用
    • マネタイズ
    • シームレスな更新
    • UWPの機能でライブタイル、コルタナ、トースト通知等UX改善に使えるものは使っていきたいですね!

一方、レジストリやAppDataへの書き込みがリダイレクトされ、ストアアプリ用の領域に書き込まれる等意図しない挙動や、権限周りで落ちる部分ないかは慎重な検証が必要そうです。

そういう知見はどんどん共有していきたい!

あと、VS2017専用拡張機能でDesktop bridge環境でデバッグできるというのはだいぶお世話になりそうですね。

Developing and Deploying .NET Core on Linux田中 孝佳 さん

わたくし.NETのWeb自体をよく理解しておらず…

stagingやproductionの環境変数の切り替えの話、private nugetサーバの話、SELinuxは有効にしようという話…

⑥Visual Studio 2017 の新機能(大田 一希 さん

URLにhttps://aka.ms/okazukiが追加されたokazukiさんのVS2017の注目新機能セッションです。

新機能に関する記事やイベントはあちらこちらで見かけますが、精緻なライブコーディングが多くすごかったです。

あまり取り上げられてない気がするけどヤバい機能としては、

Run to Click
ブレークポイントでとまってる状態からある程度先まで実行を進めたいとき、「ここまで実行」というGUI操作ができるのはおいしそうです。
ctrl + F10でも。

コーディング規約の共通化
他の言語だとライブラリ入れたり大変そうですが、this入れる入れないとかも「説明」「優先順位」「重要度(エラー、警告、提案…)」というフォーマットで細かく設定できる!

NullReferenceExceptionが詳細に
parent?.child?.nameみたいに書いてるときにnullで落ちてもこれまで行数くらいしかわかりませんでした。

でも、childがnullなってるで!みたいに細かく表示しれくれるようになりました。便利!

クラス名、ファイル名の整合性
どっちかだけ変えてもう片方は変更しそびれる…みたいなシチュエーションで、もう片方も変えとく?みたいに聞いてくれます親切。

XAMLerへの福音
デバッグ実行時リアルタイムで変更を反映してくれる!圧倒的にヤバい!

Xamarin.Formsにも早く来てくれますように…

感想

Visual Studioが新しくなるのはもちろん、Microsoft Platformがオープンに、多様に発展していく様子はほんとにわくわくするなぁと思いました!

クライアントだけでなく、インフラだけでなく、サービスだけでない、かつどれも日に日に新しくなっている。

広くマスターしていきたいなぁと思いを新たにした1日でした!!!

ということでMSのイベントに行ってきました。

昨日Visual Studio 2017の正式版がリリースされ、本国でKeynoteとDemoがあったんですが、それを見つつMSのエバンジェリストの人がわやわや喋る + LTみたいなイベントでした。

立食パーティみたいな感じであんまりメモとったりできなかったのですが、覚えてる範囲でVisual Studio 2017の目玉?を書いときます!

インストーラ

  • 超絶はやくなった。今まで2時間とかかかってたのが10分に!(※オプションによる)

本体

  • 起動もはやくなった。50%減!(※パッケージ* による)
  • ライブユニットテスト
    • 割とVS2017の目玉扱いされていて、コード変更して1秒後くらいにunitテストが自動で走り、落ちてるテストの行の横に×ついたりする。

こんな感じ!


Visual Studio 2017 RC のライブ ユニット テスト より

動画

  • コード検索絞り込み
  • mつけるとメソッドだけに絞れたり
  • エディタコンフィグのサポート
  • suggestionという形式でエディタにコーディング規約埋め込める

C#7

コンテナ

Docker for Windowsにデバッガ使える、ステップ実行できる!

Xamarin

  • インストーラ性能改善
  • テンプレート場面場面で適切なのに絞られて表示されるようになった(元々選択できるものすべて羅列されて大変だったんです…)
  • モバイルのプロジェクトだけでなく、バックエンドも一緒に雛形作ってくれるオプションが出た
  • インテリセンス賢くなった(特にXAMLまわり)
  • アプリのUIプレビューで階層構造が立体的に表示できるようになった(?)

Visual Studio Mobile Center

  • モバイルアプリのテスト、ビルド、配布、クラッシュレポート等統合管理できるやつに直接VSから繋げるようになった
  • windowsもcoming soon画面が出た
  • react nativeも入った(MSのプラットフォームで作ってないものでも受け入れていく意向)
  • github連携
  • ブランチ毎に
  • テストはエミュレータでない。デバイスファームにapk投げつける
  • 招待制だったがそうでなくなった

DevOps

  • Redgate Data Tools)が組み込まれた
  • DBスキーマからマイグレーション スクリプト作れる?
  • SQL Server標準ツールもインテリセンス強化

続きはde:code 2017)ということで見に行きたいなぁ…

まだ2015使ってますが諸事情によりサービスパックが出るまでは上げない予定です。

入れて試してみないと実感わかないですが、いろいろ試したいですね!

個人的にXamarin.Formsで家庭の日用品管理アプリを作ってるので、Visual Studio Mobile Center使ってみたいなぁと思ってます。

Xamarin.Formsで家の日用品管理アプリを作り始めたお話

Androidは実機でビルド・デバッグしてますが、使ってるmacにXamarin入れる容量的余裕がなく…

いろいろと楽しみですねーーー

7月11日(金)

●API Meetup Tokyo記念すべき第1回目!

API Meetup Tokyoというイベントに参加してきました。

スクリーンショット 2014-07-14 0.41.55

スマホとアプリの爆発的な普及をきっかけに、サービスバックエンドのWeb API化が急速に進んでいます。この動きは単なる内部実装に留まらず、企業がビジネスをAPI化してネット上に展開する、という大きな流れを生み出しています。

API Meetupは、Web APIに携わる開発・企画担当者が、APIまわりのさまざまな要素技術や適用事例を一緒に学ぶオープンな勉強会です。

http://api-meetup.doorkeeper.jp/events/12768より)

とのことで、APIを活用した開発に関わる一エンジニアという立ち位置で参加してきました。

今回は第「1」回ということで今後も続くとのこと。

最初の数回はセミナー形式、その後ハンズオンで実際に何か書いたり作ったり、参加者による(?)LT等も実施していくとのことで継続的に参加しようと思います。

ちなみに、第2回は既に日程が決まってるようです。

・8月29日(金)
・スピーカー Kiazen platform Inc 伊藤直也さん(@naoya_ito
       NHK技術研究所 中川俊夫さん

●Web APIのこれまでとこれから:山本陽平さん(リコー、@yohei

Webが生まれて20年、Web 2.0ムーブメントからも10年が経とうとしています。このセッションでは、そもそもWeb APIがなにを目指していたのか、これからWeb APIはどうなっていくのかについて、歴史や今後の展望についてお話しします。

山本 陽平 技術評論社 2010-04-08
売り上げランキング : 11100

by ヨメレバ

この本を書かれた方のお話です。

そもそもAPIはどういう歴史を経て登場したのか、というお話だったのですが…

ブラウザが世に誕生した頃からのお話がほぼついていけなかったので(上の本プログラミング始めたての年初に読んだもののよくわからずのレベル)、とりあえず、

・API、という考えに至るまでに数多くの黒歴史を乗り越えて来た
・が、APIも「確定した」考えでなく、半年後どういうやり方でやってるのかはよくわからない
・プログラムを書いて操作を任せることができるようになってく(なってる)
・プラットフォームがスケールして低コスト化し、今までできなかったことができるようになる
 ※クラウドもその一種と捉えている
・山本さんが開発しているビデオ会議システムはいけていて、@RicohVCPをフォローして最新情報をえましょう

ということがわかりました。

クラウドをAPI的に捉えるというのがなんとなく新鮮でした。

APIってそもそも、サービスの機能を外に使わせて上げるにあたり
・各機能操作の仕方
・データの渡し方
・データの受け取り方

を定義するっていうものだと思っているので、IaaSでもBaaSでも(SaaSは違う?)、上に載っけるものをそんな感じで捉えることはできるのかもですね。

●Twitter API最新事情:山本裕介さん(サムライズム、@yusuke

Twitter APIは数多くあるWeb APIの中でも歴史が長く、そして開発者の人気が高いAPIです。本セッションではTwitter APIの概要、Twitter API設計に適用されているプラクティスの説明に加えて最新の事例紹介をいたします。

旧日ソル、RedHat等の後にTwitter, Inc.にてAPIのエバンジェリスト的なお仕事をなさっていたそうです。

その後起業し、サムライズムにて開発ツール販売や、TwitterAPI運用・導入支援を。

この本の著者でもあり、TwitterAPI系の書籍の中で唯一まともな値段がついてました笑

山本 裕介 技術評論社 2011-07-15
売り上げランキング : 138788

by ヨメレバ

スライドも素晴らしく、特に注目したいなと思ったのは、

・JavaScriptが使えず、サーバサイドでの実装が必要
・User StreamよりSite Stream(ツイート取得対象員数、制限)
・APIの使いどころとしては認証、出力系(通知・告知)
・Amazonが何かやってるwwwww(Twitterで「#アマゾンポチ」できるAmazon ソーシャルカート提供開始。アカウント連携でカートに追加
・情報源
 https://dev.twitter
  ※日本語にも対応
 TwitterDevJP
  ※日本語にも対応
 The Twitter japan Developer Blog
・アイディアしだいでいかようにも!

●今後の参加スタンス

冒頭に書いた通り、継続的に参加して、行く行くは喋りたいと思います。

ネットの黎明期から携わっておられる達人から僕みたいな駆け出しまで幅広い層が参加する楽しそうな会。

大きな会って大体そういう感じになるかもですが、僕なりに還元できるようがんばります普段。

●APIの取り扱いを便利にしてくれそうなサービス・情報

・ApigeeでAPIを効率的に管理
API Meetup Tokyo主催のApigeeさんはAPIを管理するサービスを提供する会社。

こんな記事が出てました。

API管理もこれで簡単!Apigeeが凄い

後で書きますが、APIっていっぱいありますよね笑

山本さん(リコー)のお話的にももっと増えていきそう。

リファレンス兼デバッガーとして働いてくれたら便利でしょう。

Apigee API プラットフォームとは?

とか言いつつ、不勉強で「便利そう…」くらいの感覚しかないので、今後!

・Find Job! Startupさんの記事でどんなAPIがあるのかを知る

日本の全エンジニアに捧ぐ!現在公開されているAPI一覧【2013年版】

2013年7月10日の記事です。これ見て、

うわ、APIってすげ〜てか数パね〜

って思った気がします。

今年もそろそろでしょうか?

数も増え、既存分も機能追加や改善があるのでしょうね。

API毎に把握しないといけない仕様はあるでしょうが、1つ一通り理解して実装の自由度が高まった後の世界が楽しみですね!

・{API}Searchで目的のAPIを探す

http://apis.io/

検索ボックスにキーワードを入れて該当一覧を表示。

どんな機能かをWeb上で確かめることができます。

この一通りできてしまう、けどサービスが分散してる感。

ある分野が急成長しているけどもまだ規格が統一されてなくて(API自体がどうこうじゃなくて、そのドキュメントが各社バラバラとかそういう状態)、作業フローの部分部分がサービスされている状態。

もうちょっとフロー一連を扱える統合的なサービスが出てくるんでしょうね。

今回みたいなコミュニティ(≠単発の勉強会)が盛んになるのも今が参加時といったところだと思います。

6月12日(木)

本日、2ヶ月にわたって取り組んできた企画の最終日でした。

スクリーンショット 2014-06-13 1.11.15
http://devlove.doorkeeper.jp/events/9368より

●リーンスタートアップの手法でサービスを作る!

「顧客開発とアジャイル開発を組み合わせてみよう。」
そして、アイデアからサービスのプロトタイプ作りまでをシリーズのイベントとしてデザインしてみよう。そんな着想から、今回のイベントを企画しました。せっかく、集中的に取り組むならば日常感の無い場所で行おう。私たちは、鎌倉の地を選びました。ぜひ会場から鎌倉市内に飛び出して、顧客開発しましょう。

ベンチャー創業から大企業の新規事業立ち上げまで取り入れられる「リーンスタートアップ(参考:http://leanstartupjapan.org/?page_id=25)の考えを基に、サービス企画からプロトタイプの開発までやってしまう企画です。

リーンスタートアップと言えば、エリックリースさんのこの青い本を思い浮かべる人も多いかもしれません。

しかし!他にも有名な本が二冊あって、その本の翻訳の監修をしたり、リーンスタートアップに関連するイベントを数多く実施してきた方々のご指導もあるという豪華な企画だったのです。

スポンサーは我らがTech Garden School

というわけで4月12日(土)、13日(日)の合宿@鎌倉にて、リーンスタートアップやそれと親和性の高い顧客開発、アジャイル開発といった概念を学びつつ、実際に鎌倉の町でインタビューをしてユーザの声を聞きながらサービスのアイディアを考えたのでした。

ここで登場したのが「割とやる気はないけど、上司に文句言われるのはやだから卒なくこなしたい飲み会幹事向けサービス助三」です。

当初の想定は、飲み会の条件を3つ入力して飲み会会場候補を3つ出すというかなりシンプルなものです。

sukesan1

●5月7日の発表に向けて

4月の合宿後、サービスのアイディアを基に、それが想定するユーザに受けるか実証・インタビューが始まります。

検証するためにはMVP(Minimum Viable Product:最小機能で販売可能な製品、http://itpro.nikkeibp.co.jp/article/COLUMN/20140326/545962/)が必要で、実現したいサービスのうち必要最小限の機能に絞ったものを作ります。

このときは入力してもらったデータをデータベースに保存するという仕組みしかありませんでした。

CakePHP  the rapid development php framework  Sukesans

項目はこれよりさらに少なくデザインも入ってなかったんです…

で、GWは入力してもらったデータ(お店の検索条件)に該当するお店をひたすら食べログでググり、まとめてメールで返すという作業の日々でしたそれはそれで楽しかった笑

そして発表。

ユーザのニーズはある!じゃあ次はどういうビジネスモデルにしようかという話です。

●6月12日の発表に向けて

ビジネスモデルは内緒ですうぇーいwww

さすがに入力画面だけでMVPとは口が裂けても言えないので、作りました。

作りましたというか、教えてもらいました。

ソースコードをレンタルサーバにアップするところから始まり、重要な「検索」機能まで、一挙一動躓きました。

Git、GitHubでバージョン管理、複数人リモート開発する手法も伝授してもらいました。

情けないくらい何もできなかったのにもかかわらず、発表当日までに「動くもの」が形になったのはひとえにご指導のおかげです。

ユーザへのインタビューは随時進め、助三チームのメンバーで毎週打合せをし、Facebookグループで情報共有したり、Dropbox内で一緒に発表資料作ったり、とにかく楽しい日々でした。

発表当日までのチームメンバーの自分にはない視点や、どうやったらそんなん思いつくねんっていうアイディア、当日のおもろいプレゼン、そして何よりも「めっちゃ楽しい!!!」という気持ちも汲み取ってくださった方が多く、好評価をいただけました。

いい夢見れそうです。

●助三のこれから

イベントという形では一段落しました。

でも、サービスを作り込むのはこれからです。

今回発表を聞いたくださったのはイベントを企画してくださった方、参加者い加え、ベンチャーを育てる方々や、普段事業を創造してらっしゃる方々。

貴重なアドバイスをいただきました。

チームとしても検証を重ねた結果、ある仮説が出て来ているので、それを検証しつつ、システムもそれっぽく作っていきます。

ユーザとして想定する人々(飲み会会場を探す人サイド)は基本的に変わらないので、これからも検証・インタビューに付き合っていただけるととっても嬉しいです。

助三を今後ともよろしくお願いします!!

●企画を通して学んだ3つのこと

かなり引っ張ってしまいましたがそれっぽくまとめます笑

①とにかく、ものづくり楽しい!!!

や、まだもの作れないですけどね笑

そもそも参加したきっかけは、自分(たち)でサービスを0から作りたい!なんかセオリー的なものがあるならそれも学びつつ…とにかく作りたい!形にしたい!!

というものでした。

なので、プロトタイプ作るのは完全に俺が俺がwwwモードです。

基礎から本に沿ってプログラミングしていくのも1つのやり方と思うし、本みないと見えない全体像のようなものも絶対あると思うんです。

けど、これが作りたい!このアイディアを形にしたい!!という思いの基でやるモチベーションは思ったより強力でした。

あんまり寝なくても、昼休みに集中して15分くらい寝れば仕事にも差し支えません。

②これが作りたい!という思いが邪魔になる瞬間

作りたい!という思いは大きな推進力になる一方で、「サービス」を作る上で邪魔になる瞬間があります。

「作りたい!という思い」という表現より「こう作らないといけないという固定観念」と言った方が正確ですね。

当然ものづくりよりサービス作り、顧客作りが先行するわけです。

よし!作るものが決まった。さぁ調べながら作ろう!!となって進めているうちに、経験の浅い僕は一歩進めば躓き、二歩進めばこけ、三歩進めば二歩下がるわけです。

そうこうしているうちに検証は進み、方向性が変わったりします。

そうしたら、「え〜これ作ってんのにいらなくなんの?」と内心思ったり思ったり。

でもそれって作ることが目的化しているあるあるなわけで、ユーザがほしがらないもの作ってもしょうがないんです。

「一度そう決めたからそう作らないといけない」っていう世界じゃないんです。

嫌というよりも、自分が作るのが鈍足なことがネックになって、形になりきらないのに焦る、というのが正直なところなので、これは力つければ済む話です。

力つけます。

③チームで作り上げるということ

「フラット」な「チーム」を意識して何かやることって意外とないです。

ましてやサービス立ち上げとかやったことないです。

そうなると、自分で「俺これできるしこれやる!!!」というのを模索中の身としては、あの人あれ得意、その人それ得意、じゃあ自分これ、と消去法的に立ち位置を選択してしまいがちです。

けど今回はこんこんとわき上がる「作りたい!」欲に身を任せました。

仕事でやってる方の足元にも及ばないし、チームの中でとりわけ強いわけでもない。

25、6才になって始める?ほんとに?という謎の声もあります。

けど、そこに突っ込んで行く身の程知らずなので、必ずできるようになるからという意志とそれを裏付ける気合いをもってこからも歩んでいきます。

あとは、比較的他サービスを知る、自サービスを広げるは何かできると言うより基盤やチャンスがあるのではと思います。

自分ができること、自分がやりたいこと、他のひとがやらないことが重なる領域に身を置けたら最高ですね。

そこ目がけて突き進んでいくことがチームの中の個人で意識して目指したいことだとすごく思いました。

ただし、あの人あれやんないなぁ、その人もそれやんないなぁ、じゃあ自分が…というスタンスをとると際限ないのでつついてみます。

●まとめ

繰り返しになりますが、ありがたい、楽しい、貴重な経験でした。

胸張って歩ける自分を、サービスを目指して頑張ります。