読者です 読者をやめる 読者になる 読者になる

【参加レポート】.NETラボ 勉強会 2017年3月


dotnetlab.connpass.com

.NETラボ 勉強会に参加してきました。
少し年齢層が高めでまじめに参加できました。

マイクロソフトMVPアワードプログラムのご紹介」 Microsoft MVP for Windows and Devices for IT 木澤朋和 氏

自分には遠い世界の話に思いますが、マイクロソフトMVPの話でした。
制度が変わり、申請のチャンスが増えたそうです。

自分には遠い世界の話ですが、.NET 技術をこれからも地道に勉強したりアウトプットしたりしていきたいです。

「今こそMicrosoft Bot Frameworkを学ぼう」 中島進也 氏

「BotFramework と LUIS を使ったアプリの開発」 横浜 篤 氏

Azureを全く使ったことがなかったので、
Bot FrameworkもLUISも知らなかった。

でも、今回二人のお話を聞いて、簡単にBotが作れることがわかりました。
簡単に作れるとわかれば、できそうなことはいくつか思いつきます。

定型的だけどちょっと面倒なコミュニケーションの節約です。

ただし、ちょっと気を付けたいのが、組織内プライベートの利用を認めていないことです。
そこがむずかしいですね。たとえばサポートでBotを活用するという話をききますが、
直接お客さんとコミュニケーションさせるには物足りないということが考えられ、
内輪で使用したうえで、人間によるサポートに役立てたいという動機があると思うからです。

ともあれ簡単です。

「最近流行りのエンジニア田舎へ移住ってどうなの?」 藤原隆博 氏

田舎に移住ってどうですか?
支援制度を活用して兵庫県の田舎に移住しませんか?という話。

まあ確かに、東京で消耗するという面は少なからずある。

個人的には、例えば長野県で暮らすとかだったら、それも人生の見通しが立っているなら、
ありかもしれないと思えなくもない・・・。

西のほうなのでさらにハードルは高くなってしまうけれど、
魅力的な田舎のお話でした。

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

Edgeってすごく進化しているらしいです。

進化するEdge! ~Creators Update版の新機能から既存機能までまとめて解説!~

特に気に入ったのがタブの保存機能。

Operaはタブのサムネイルを自由な大きさで表示でき、重ねてグループ分けできて好きだった。
それに似たことがEdgeでできるようになってしまう。

まさに最強伝説。

この他にもいろいろ機能が追加されます。

感想

私は .NETといっても WPFやXamarinでアプリ開発するだけだったので、Bot Frameworkなどの話は全く知らない情報でした。新しい情報を知ることで、視野が広がり、「あんなことができそう」だと思えました。

自分の無知さが恥ずかしくなったので、これからさらに.NET技術を勉強していこうと思います。

【参加レポート】今さら聞けないJSフレームワーク一挙入門!【React、Angular2、Vue.js】

今さら聞けないJSフレームワーク一挙入門!【React、Angular2、Vue.js】に参加してきました。
今回、初めて懇親会もある「勉強会」に参加したことになります。

内容

React、Angular2、Vue.js + phina.js の豪華4本立て。

最近は、jQueryではなくこのようなライブラリが出てきて、AngularがいいかReactがいいかと、一人で悩んでいました。それを解決するための良い機会となりました。

React、Angular2、Vue.jsと、3つのフレームワーク(ライブラリ)の概要を知ることができ、それぞれのフレームワーク(ライブラリ)の大体の雰囲気を感じることができました。

懇親会

コミュ障ですが参加しました。
危うく孤立しかけましたが・・・。

それでも同じテーブルの方々と名刺交換させていただきました。
セッションで基本的な情報をインプットし、あとは懇親会で語り合うような形でした。

Angular2 つよい

ReactもつよいけどAngularが最近頑張ってるようです。

TypeScriptという言語は馴染みやすいです。
javascriptは確かにC++とかJavaを使っている人にとってはなじみにくいです。
TypeScriptによって従来の感覚で書けるのは大きいです。

Reactの場合はその文化になじめるかどうかという点が気になります。
ルートをたどっての片方向バインディングとか、デザイナーとの分業がどの程度可能かとか。
それと、Reactを覚えたらReactNativeで知識を生かせるのもいいと思います。
(ReactNativeってどうなんでしょう)
これからもう少し深く知ってみたいです。

始めやすいのは Vue.js

React か Angular2かという悩みを抱えていましたが、
jQueryつかってきたひとたちの未来には、Vue.jsがよさそうです。

まず、ReactとかAngular2とかは重いフレームワーク(ライブラリ)であること。

Vue.jsなら、jQueryと同じ感覚で、読み込むだけで使用できます。
現実的に考えると jQueryを使っている現場はたくさんあるし、
そこからの現実的な次のステップとしては、Vue.jsが選択肢となるのでしょう。

ReactやAngular2に比べて学習コストが少ないので、
まずやってみる、ならばVue.jsのほうがいいかもしれません。

感想

集まってきた人たちはいろいろでした。
学生さんが多くいましたし、仕事帰りの人も多かったです。
でもスーツを着たひとはほぼいませんでした!

私の日常の仕事にはフロントエンドもサーバーサイドもなく、これといった魂はありませんが、 ここには確かに、フロントエンドという世界の雰囲気がありました。

これからのフロントエンド開発はどうなるかという話も聞けました。

あとは、モダンWeb開発にどう入っていくかという課題については、
どうしても最近の開発は大それたもので、実際必要としていたものはもっと小さいものだったりするし、
フレームワークやライブラリには、学習コストや、それぞれの規模があるし、相性もあるので、
トレンドをつかみつつ、流されず、まずは小さく始めていきたいと思いました。

未来はどうなるかわからない。3年前には予想もつかなかったし、3年後はなおさらわからない。
死んだ技術を数えてみればいくつも浮かんできます。

残らない技術をつかむとしても、それでもやっぱりたくさん作らなきゃ強くなれないと思います。
保守的は保守的でいいのですが、やっぱり、何かを思いつくなら作りたい。

作っても作らなくても技術の進歩は加速してしまいます。
Prototypeに乗り遅れ、jQueryにも乗り遅れ、
モダンWebにも乗り遅れるわけにはいきません。
作らねばなりません。

こういう懇親会のようなイベントでは、まだまだメリットを出しきれていない自分ですが、
諦めずにまた参加したいと思います。

DroidKaigi 2017 感想

DroidKaigi 2017 に参加してきました。

droidkaigi.github.io

Androidのことはほとんど知らないのですが、 開発全般の広範に渡り学ぶことができるため、参加してみました。

全体的な感想を書いておきます。

1日目のこと

pgcityblog.hatenablog.com

2日目のこと

pgcityblog.hatenablog.com

Material Design

いたるセッションで Material Design が取り上げられていました。それだけよい思想なのでしょう。
Material Designでなくても、何らかのデザイン思想に基づいてソフトを作るべきですが、周囲を見るとなかなかそうなっていない場合が多いです。 あと、どうしても、動きの部分については何も思想を持たず何もせず、いまいちの出来具合ということが多いです。 これからMaterial Designなどのガイドラインを見て、意図をもってUIを作っていきたいと思います。

  • まずはMaterial Design のガイドラインを読む。
  • 身の回りのUIについて考える。

MVVM

MVVMが多く取り上げられていました。 しかし、MVVMのセッションの前の話題提供で「MVVM使ってる人」という声に反応があまりなかったので、Androidの世界でどの程度普及しているのだろうと、疑問に思いました。

WPF, Xamarinだと、自然とMVVMできるんだからやろうという気になりますが、Javaの世界だとどうなのでしょう。しかし、いい考え方なのできっとこれから普及していくと思います。

  • XamarinでMVVMを学ぶ

開発の進め方

リファクタリングの話、プロジェクトの体制の話。 思ったことはAndroidアプリ開発のプロジェクト規模は小さく、短期間であることです。 エンジニア自分ひとり、みたいなところも普通にありそうですが、ちょっと寂しい感じもしました。 だからこそDroidKaigiの存在価値があるのかもしれません。

こんなスピード感がある開発はうらやましいです。

  • レガシーな部分でもなんとかスピードを上げていきたい。工夫する。

今回、いろいろな話を聞くことができ、私はAndroidエンジニアではないのですが、日常の学んだことを取り入れてみたいと思いました。 今度はAndroidでアプリでも作って、来年、より有意義な形で参加できたらよいと思います。

DroidKaigi 2017 ~ 2日目

DroidKaigi 2017、 2日目のセッションについて書きます。

1日目はこちら

pgcityblog.hatenablog.com

Xamarin.Android で始めるクロスプラットフォームモバイルアプリ開発 (@amay077 氏)

かろうじて触ったことがあるXamarinですが、
じつは・・・Xamarinって、Android大好きでバリバリ書いてる人には不要?
という話がオチにあって、まあそうですね。せやな。

Xamarin好きなので今後も勉強していきます。

Xamarin.Android で始めるクロスプラットフォームモバイルアプリ開発 #droidkaigi #droidkaigi1 // Speaker Deck

未熟なチーム開発 (@kgmyshin 氏)

未熟なメンバーのチームで、どうやって無事リリースまでもっていくか。

知識がある人が設計の部分でお膳立て。
新卒育成は守破離で。

秩序とスピードを生み出すこと。

よくあることで、共感しました。 よく、あれこれ話し合っている割には何も決まらないことがあるけれど、
その中でも「決める」ことを意識することが必要なのかなと思いました。

unskilled_team_development_for_droidkaigi // Speaker Deck

Data Binding で実現する MVVM Architecture (Kenji Abe 氏)

MVVMとは、Model View ViewModel の3つで構成されるアーキテクチャ。その根幹には、Viewの値とViewModelを結びつけるデータバインディングがある。Viewに値をセットする取得する追加する削除するという考え方ではなく、ViewModelのメンバの値をそのままViewで結び付けて表示すします。

今まで直接Viewをプログラムで操作していたころは、結構値のセット漏れとか、ちょっとしたことで、動きに一貫性がなくなったりしていましたが、ViewModelの値をそのまま使うならばもれなく与えたデータの通り表示できます。
一度MVVMをやってしまうと、もうデータの追加とか削除とかが面倒になります。
きっとこれから重要になってくると思います。

それとMVVMの源流は WPFらしいです。
.NETでMVVMを学ぶのはよいことなのかもしれません。

DataBindingで実現するMVVM Architecture // Speaker Deck

エンジニアが武器にする Material Design (瀬戸 優之 氏)

エンジニアがデザインをできるようになろうという話でした。
もちろん、「ガイドラインを読もう」という話がありました。

ソフトのデザインは単にアイコンを作ればよいわけではありません。動きを含むユーザー体験全体に責任を持たなければいけないのですが、デザイナーがアイコンをくれたから適当に表示して動けばOKと思ってしまいがちです。私は。
もっとアプリ技術者がデザインに責任を持たなければならないということです。

アプリ技術者の中にも、デザインセンスが優れた人がいるかもしれません。 「デザインエンジニア」という新しい枠ができたら、よりよいアプリを作れることでしょう。

エンジニアが武器にするMaterial Design // Speaker Deck

pgcityblog.hatenablog.com

DroidKaigi 2017 ~ 1日目

XamarinとAndroid Wearぐらいしか触ったことがなかったのですが、DroidKaigiに行ってきました。Androidというくくりなので、話題の幅が多岐にわたり、Androidのことも学べるし、開発全般についての知見も得られると思い、参加してます。

技術的に詳しくないことが多々あるので、きちんとしたレポートはできませんが、何か書いてみます。

まず、スライドのまとめ記事がありましたので、これを見ながら思い返してみます。

freelance.levtech.jp

逆引き マテリアルデザイン(荒木 佑一氏)

マテリアルデザインの話です。
デザインのことは全く素人なのですが、デザインのことを考える入り口として、マテリアルデザインを学んでみたいと思いました。

以下の内容が気になりました。

  • しっかりとしたガイドラインがある。 → 登壇した人みんなが読むことを勧めていたように思います。
  • タッチフィードバックを入れましょう → 自分は一切入れていませんでした。今までずっと、もっさりしたソフトを生み出していました。

まずはガイドラインをしっかり読みたいと思います。 WindowsでもMetro UIガイドラインはしっかりしたものがあるのか気になりました。

スライド 逆引き マテリアル デザイン

リリース自動化と効率の良いリリースフローを求めて(Ryo Sakaguchi氏)

Android特有の話はあまりわからなかったのですが、ためになりました。

  • ミス防止、属人化防止、そして本質的な業務に注力。
  • git push origin master したらリリース。というのが理想。
    Git-Flowが基本となる。そしてCIの紹介。

週1リリースしたいです。
その前に年1リリースを実現したいです。
小さくて速いモバイル開発の知見を、レガシーソフトウェア開発でもうまく取り入れられたら良いと思います。

スライド リリース自動化の導入と効率の良いリリースフローを求めて // Speaker Deck

大規模アプリのリノベーション(北村 涼 氏)

ためになりました。
古いアプリをリノベーションしていくことの実際を知ることができました。

ドメイン知識の獲得

  • 紙に印刷して画面を知る。あるべき名前に変えていく。

画面を洗い出して印刷することに共感しました。
調べてみると知らない画面がたくさん出てきますよね。
ほかにいい方法があれば知りたいところですが、こうするしかなさそうという感覚です。

設計

  • ライブラリを上げまくる
  • アーキテクチャ。守るのではなく、着くずし。
  • 「設計が確認できる程度のサンプルアプリを作る。」

サンプルを作るのは、いいアイディアだと思いました。
設計が確認できる程度というのが大事なのだと思います。

その後MVVMのようなモデルを採用した話になりました。 ViewModelは階層を持つようにしたという点。なんとなくそうなのかなと思っていたのでスッキリしました。

「見積る」ことが大事とのことです。 1~2週間ごとにリリースして様子見するとのこと。
短い間隔でのリリース体制はある程度前提かもしれません。

スライド droidkaigi-2017-renovation // Speaker Deck

Android アプリ開発の体力づくり(@operandoOS 氏)

初心者向けセッション。とはいっても DroidKaigi ですから、超初心者はほとんどいませんでした。 作りたいものを小さく早く作っていくのが大事ということなのですが、私はできていない。
早く何か形にしたいと思いました。

Material Design おすすめされていました。読みます。

Instant Apps というものがあるらしい。
インストールしなくても動くアプリとのことで “すぎょい”
だがしかし、勝手に未知の機能が立ち上がる未来を想像して、完全にそうなったらちょっといやかなとも思った。

スライド https://speakerdeck.com/operando/androidapurikai-fa-falseti-li-dukuri

ReactNativeはクロスプラットフォームモバイルアプリ開発の夢を見るか(中川 幸哉氏: @Nkzn)

ReactとReactNativeの話。

Reactを覚えると、似たような感じでReactNativeが使える。
Reactをまず知っている必要があり、Reactの世界に足を踏み入れる必要があるものの、入ったら結構まとまっていて、効率の良い開発ができるのではないだろうか。

Xamarinとは相容れない?
でも、どちらも知っておきたいです。

銀の弾丸はない」ということです。
クロスプラットフォーム界隈の人々は必ずそういいます。

React Nativeはクロスプラットフォームモバイルアプリ開発の夢を見るか #DroidKaigi

Geek Women Japan x Microsoft 20170304

こんにちはTKYMです。ブログをはじめました。

最近職場で周囲に影響され、カンファレンスとかいろいろ探していました。
Geek Women Japan とは女性エンジニアの集まるイベント運営団体です。
女性向けイベントなのですが、男性も参加できるということでして、
しかも好みのテーマがそろっていて、席が空いていたので思わず参加しました。
あと会場がマイクロソフト本社という興味深い場所。

イベントのページ http://geekwomenjapan.github.io/20170304/gwjpms/index.html

3ルームでセッション・ハンズオンをやっていて、
以下のセッションとハンズオンに参加してきました。

  • 「モダンWeb開発におけるVSCode活用TIPS」(木村茉由さん @kimura_m_29
  • 「超簡単Visual Studio CodeではじめるAngular 2」(さっくるさん @sakkuru、佐川 夫美雄さん)
  • 「Xamarin ハンズオン(Xamarin を実際に触ってみてアプリを作ってみよう!)」(ちょまどさん @chomado
  • 「LT大会」(gocciさん GOCCI - Qiita、片寄里菜さん@se_lina08 、ちゃんとくさん@tokutoku393 、まーやさん@maaya8585 、戸倉 彩さん@ayatokura

まず、最初の2つは VSCodeの話題から。

「モダンWeb開発におけるVSCode活用TIPS」

(木村茉由さん @kimura_m_29

Visual Studio Code の基本機能をおさらいする感じでした。 今までフォルダで開けるシンプルなエディタとして使っていたのですが、意外といろいろできるらしいです。拡張機能がたくさん。毎月定期アップデートがあるそうです。 

モダンWeb開発というものはしたことがないのですが、ここで挙げられていた条件の中で、  

  • ES6やTypeScriptといった上位互換言語を使う。
  • Angular, React, Vue などのクライアントサイドフレームワークやViewライブラリを使う

があり、Web開発するぞ!と言って、はいjQuery、ではないということを認識。

今度Visual Studio 2017ではフォルダを開く機能が付くので、 フォルダを開くだけだったらどちらでもよくなるのかなと思うのですが、 この軽快なエディタをもっと使いこなしていきたいと思いました。

資料 モダンWeb開発におけるVSCode活用TIPS // Speaker Deck

「超簡単Visual Studio CodeではじめるAngular 2」

(さっくるさん @sakkuru、佐川 夫美雄さん)

まずはさっくるさんによるVSCode の説明
https://www.slideshare.net/sakkuru/visual-studio-code-72794430

佐川 夫美雄さんのAngular 2 のハンズオン。
ハンズオンは何の予習もなしに参加してたので、ちゃんとできませんでした・・・。

前々からNode.jsというものが何なのかつかめないけれど、
簡単にできそうなことは分かりました。
あとVSCodeのスニペット機能が便利ということが分かりました。

資料 Angular Handson Geek Women Japan · GitHub

きちんと作れなかったけれど、あとで試してみて、
Reactなどと比較できたらいいなと思います。
この辺の技術、押さえておきたいです。

「Xamarin ハンズオン(Xamarin を実際に触ってみてアプリを作ってみよう!)」

(ちょまどさん @chomado

始まると場の空気が変わりました。
ちょまどさんという方を初めて知ったのですが、相当の人気者というか変わり者というか、 アイドルみたいな感じの人です。プログラマ兼漫画家とのことです。

で、ちょまど氏が伝導するのはXamarinです。

どこからかJSONを取ってきて一覧表示するアプリを作ってみましょうという話です。

ちょまど氏のマシンがフリーズしたり
備え付けマシンの環境が古かったりでなんかぐだぐだな感じはありましたが、 なんとなくわかりました。

XAML手打ちするのめんどいと思って敬遠していたのですが、
プロジェクト作ったらもうあとは作るしかない、みたいな感じです。
そんなに難しくなさそうです。

でもXAML手打ちするのか・・・。

資料
GitHub - chomado/SimpleList

「LT大会」
「エンジニアじゃないけどエンジニア向けイベントに紛れ込んでみた」

(gocci さん GOCCI - Qiita

Quiitaで有名なincrementsで広報をやっているgocciさん
GeekWomenJapanで活動してみてのお話

私の周辺だと男性ですらイベントにあまり参加しないので、
なおさら「男性ばかりのイベントで気後れする」ということが女性にはあるのかもしれません。
こういう団体があるということを職場で伝えたいと思いました。

「画像ファイルを使わずにHTMLとCSSでGeekWomanJapanロゴを描く」

(片寄里菜さん @se_lina08

感想として「こういうことをやって発表してもいいんだ!」と思った。

何かテーマを探してやってみて発表する。 私は人前で話すのが苦手なので率先して何も言えないけれど、 何かできそうと感じられるHTML+CSSでのロゴ描画でした。

資料 Geek women japanのロゴをhtmlとcssで作る2

「エンジニア界隈の歩き方 ~未経験から始めるエンジニア生活~」

(ちゃんとくさん @tokutoku393 ) どうやってエンジニアになったか ->「未経験☆歓迎」な求人を探す。
感想:「これだ。」

エンジニアになってからの勉強について

OJT < 勉強会 << 作ってみる < 書いてみる << 話してみる

学ぶより作るほうがためになる。でも、書いたり、さらには話したほうがずっとためになる。
一見意識が高い人でも、結構勉強どまりになってしまったりもするので、
お互い刺激しあって次のステップを目指せればいいのではないかと思いました。

エンジニアにはいくつかタイプがある。
「なりたい像をハッキリ持つ」
→「掛け合わせタイプ」、目指したいです。
 昔から会計×プログラミングを売りにしたいと思っていました。
 (最近もう少し楽しい方向性もいいなとは思っているのですけど)

資料 from_beginner_to_engineer

「自作有害コンテンツ検知してみよう」

(まーやさん @maaya8585

画像をアダルト判定する話です。
自作のエロフィルターが意外と簡単に作れちゃうということでした。

Azureでそんなことができるらしい。
Microsoft Cognitive Services
Computer Vision API
このようなAPIは、Azure か Google Cloud Platform にしかないそうです。

資料 201703gwjpms by maaya ishida

「MVPのここが凄い!」

(戸倉 彩さん @ayatokura

MVPのすごいところを紹介。
知っている人や知らなかった人がいっぱい紹介されていました。

感想

今まであまりこういうイベントに参加してこなかったのですが、今回えいやっと参加しました。 行ってみると楽しかったです。 みなさん楽しそうに登壇しているのが見られてよかったです。

普段は辛気臭い(地道な?)仕事をしているので、こういう明るいところにたまに出てこようと思います。

コミュ障だけどいつか懇親会にも参加したい・・・。