NBM2

natural born minority

勉強会行ってみた「JJUG CCC 2016 Fall」#jjug_ccc

今年もやってきました!

情報

なんで来たん?

自身は「Javaは憧れの言語だが、余り書けない」という立場で…。

Javaって、多様化しすぎて「どれ押さえておいたら良いかわからない」という脳内しっちゃかめっちゃかな感じで、なんとかすべく「せめてトレンドだけでも」「俺に合った何か」を見つけに参りました。

内容

自身が見たやつのみ、一行まとめのあと感想書いていきます。

1コマ目「基調講演1 : Be a great engineer!〜 フォローすべきトレンド、スルーすべきトレンドをどう見抜くのか」 #ccc_a1

「技術者たちは技術選択いかにするか」→「意味と必要性から”自分で”考えるんだ!」というお話でした。


「本質を観」て「自身のニーズに合っているか」で…言葉にすれば簡単ですが「君、できてる?」と言われれば難しい…。

“本質”ということが散りばめられたセッションで「このセッション来てる時点でダメだよw」と(冗談で)話されていたのですが、それこそ本質で「与えられたものでなく、自身で考え判断すべし」ということなのかなと。

「お仕着せ」や「世の一般」ではなく「自身が必要としているもの」を求めるべしで…例えば「Web/DBという組み合わせから”ほんとにこれで最適か?”と疑う」ような本質から見つめなおすことが重要と。

思えば自身も「世で流行ってんだから、それでええんちゃう?(しらんけど)」と、使わず評価せず言うてることもある…のが最近だったりする(しかも痛い目見てる)ので、その部分はお腹が痛くなりました。

ブログ業…やってかなな。

あ「自身のニーズにあっているものを使え」だけはできてるかな、とw(問題解決のためにモノを探しに行ってるので)

2コマ目「SIerもはじめる、わたしたちのDevOps」 #ccc_g2

しょぼちむさんパート

  • 資料:
SIerもはじめる わたしたちのDevOps #jjug_ccc from Mizuki Wada

「SIerがDevOpsすることの意義」を軸に、それを「実践した」知見、実現技術、プロセス、やった結果などを凝縮した発表でした。


自身のやってくなかに「とても勉強になるなぁ」と刺激をもらったセッションでした。

「リードタイムが3h」は度肝を抜かれましたが、「やった結果”加点法”になった」ってのは、すごく仕事を自分の一部ととらえて取り組めそうですね。

(その分、期待を外した時も「やらされてる」じゃなくて「自分に響く」できっちり受け止めなくばならないわけですが)

まず、プロセスと技術がとてもナチュラルに融合しているやり方だなあと思いました。

例えば「プロセス」の話してる時に「プラクティス」や「テクニック」の話が混ざる…そういうのって「ほっとけば分業と切り分け方向に流れる」SIerにとって「シームレスにつながった世界」「目的と技術が近い世界」と思って(もしかたら禁忌する人が居るかもしれないけれど)自分は「素敵」と思いました。

Demoについては(枝葉末節ですが)「データのマイグレーションはどうしてるのだろう」というのが疑問でした。

参照資料には大体署名入ってたり、端々にプロデューサーとしての @kawasima さんの影が…w

志保さんパート

  1. システム運用業務は変化との闘いだ -> 変化に強い=「変化が前提」 -> 変化に強いインフラ -> クラウド
  2. Dockerがもたらすもの -> 依存性のない世界(休出のない世界)

両者が出会う -> 共通基盤とオーケストレーションが肝要…から「組織のあり方」「対応するアプリの設計法」…で結論としての「変化に強いエンジニア」が必要…みたいな流れるようなセッションでした。


「今日の資料です」と「一文表示されるだけのサイト」を見せておいて、デモで「デプロイします!」で資料がライブデプロイされるのは、しびれましたね。

若干、テンポが早く感じたので付いて行くのが大変(ついていけてない)のですが、資料があるからその構成だったのかな?

オーケストレーションツール、興味はあるのですが試せてないので、ハンズオンの資料つかってやってみるから始めたいな、と思いました。

コンテナ大好きCI大好き!の俺の理想を体現された方…

だと思うのですが「主婦としてよるは外出が…」「原稿は落としません!」みたいなことを聞くと「どんな時間の超絶有効活用してるのだろう?」と全然別のとこに疑問が行きました。


2つのセッション総じて「俺の現状(と知識)から、距離あるなー」と感想を持ちました。

「機能の開発」で四苦八苦している場合じゃなくて「どう良くするかの仕込み」「自身のアプリの分析」らへん、ちょっと前に行ったDevFestでも軸でしたし、実際現場でも(全然そこまでイケてないものの)延長線かつ提案すべきところ…なのに「自身に手がない」ことに危機感を感じました。

3コマ目 「日本でも出来る!最先端のDevOpsを導入する方法」 #ccc_c3

  • 登壇者 : 牛尾 剛 さん ( @sandayuu )
  • 資料 :

新しいアプリの潮流である「MicroService」も、その前提にDevOpsがある。

DevOpsはバズワードで定義はないが「人、プロセス、プロダクトの集合体」と考える。

導入がむづかしい国と言われる日本、そこに対する5つの「日本向け DevOps 導入ステップ」を、「インターナショナルチームの生産製の秘密」や「Be Lazy」、「Just do it !」など、牛尾さん本人が見出した「概念」とともに紹介するセッション…で良いのでしょうか。


最近は「俺の心の先生」みたいになってる、牛尾さんのセッション。

「重要なのはValue(価値)でしょ?」をプロダクトに関わるすべての人(ステークホルダ含む)に納得させれば良いんですよ、というシンプルなお話は、大変勇気をいただきました。

自分の場合は「すでにあるところ」「政治的に強固なところ」で足掻いて足掻いて…という典型例な消耗をやってきたので、「権限の移譲ができる人を連れてきて、”要らないですね”と言わせる」というのは、ほんとそうだよなーと思いました。

反面「お客様自身も望んでいるという状態下で(自分で無くてもいいが)エバンジェリスト(という権威)が必要」という「条件の整え」が必要、というのも同時に感じました。

「相手が変わりたい」「自分もこんな状態がやだ」と思ってるなら、「自分のできる範囲」になんかこだわってる暇なんかなくて、さっさと「権威」でもなんでも利用して「Yes」を取りに行こう、そういうようななりふり構わない感…実践したいなと。


インターナショナルチームと仕事をしたご自身の経験画から「生産性の差は何か?」からの「物量が違う」「彼らは捨てることを考えている」という話も、自分たちにも可能性を感じる反面「自身も他者に”意味のない無駄な何か”を強いていないか」を考えさせられる話でした。

牛尾さんの話は「前に進むことに勇気」をもらえる反面、「自身にも問いかけなければならない」という両方の真摯な感覚をもらいますね。

4コマ目「Spring CloudでDDD的なマイクロサービスを作ってみる」 #ccc_a4

  • 登壇者 : 椎葉 光行さん ( @bufferings )
  • 資料 :

タイトルの通り「DDDでマイクロサービスを作る」際に経験した”ご自身の経験”のベストプラクティスとも呼べるテクニック、概念、考え方を、デモとして「回転寿司管理アプリ」を例に説明するセッションでした。

(めっちゃヒゲ生やされてましたw)


三浦はちょーど「DDDの勉強を始めた」「来年DDDで仕事する(かもしれない)」だったりするので、自分ごととして考えることができました。

「英語を使い始めたらユビキタス言語というものが解った」話。

自分は「別の話」として「英語圏発祥のDDDを、日本人がやるときは”英語”というビハインドがある」と常々思っているのです。例えば自分みたいなSIer出身者から「今日からDDDやるよー」ってなった時、「英名/和名のグロッサリを作ったり」ということにならざるを得なそう…。

なので、「全員が英語を話せば上手く行く」は、ある程度その側面が理解できるののでわかる気がする。

…のだけど「じゃあみんな英語で喋れば良いんだよ」ってなると、いろいろともにょってしまいます。

では自分ならどうする?

転じて、自身が実践するときは「ルー大柴みたいになる」「チームごとルー大柴みたいになる」ってことを実践していきたいな、と今から考えてたりします。みんなルー大柴みたいなったらええねん!


「アプリケーション層のサービス」を「UseCaseとつけた」という話、自分も「朝散歩してて同じことを考えた(名前は違うけど)」なので、すごくしっくりきました。(名前が重要なら自身で概念名を設計してもいいはずなんだ!という勇気)

あと「処理の無駄」は「(性能が許す限り)わかりやすいor原則を優先する」みたいな話も「ドメインを守るため」にすごくハラオチしました。

ただ「もう出来上がったプログラムに自分もそう思う!という」のと「自身が作る立場となった時にその作り方に至ることができる」というのは雲泥の差なので、今日のセッションを思い出して実践してきたいと思います。

…最後の「projectを分ける話」は”sarvice”という名が並びすぎて、よくわからなかったので、ソースを読んでみないといけないなぁ。

5コマ目「ドメイン駆動設計とScala 〜既存プロジェクトへの適用〜」 #ccc_a5

  • 登壇者 : 角谷 文康 さん ( @fscoward )
  • 資料 :
【JJUG CCC 2016 Fall 公開版】ドメイン駆動設計とscala 〜既存プロジェクトへの適用〜 from Fumiyasu Sumiya

わりかし「DDDの原則(エリックエバンス本)」に寄った、DDDに関する講座っぽいもの…かつScalaでの料理の仕方や、クリーンアーキテクチャを交えたお話されてた(気がする)セッションです。


教科書だったりするのですが「広いカバー範囲」「自身が深堀したいところはきっちりと(集約やRepositoryの話など)」というスタイルが勉強になりました。

個人的な興味としては、話しの中に「サワリくらいは出た」ので、

  • Scalaを使った場合”ならでは”のこと
  • ドメインエキスパートとの実際にあったやり取り
  • コンテキストマップの具体例
  • パッケージの階層の「さらなる区切り」

を掘り進んで聞きたかったなぁ、とも思いますが「成果の横取り」に近いので、ちょっとわがままでしょうかw

あと

  1. DDD(ちょっと知ってる)
  2. クリーンアーキテクチャ(全く知らん)

の関係性を知りたいなー…は自分で勉強っすね。

マイナンバーは「例え」なのでしょうけれど、早く「それが一般的になってほしい」と思います。(エバンス本には「アメリカのそれ」である「社会保障番号」の例がありましたね)

6コマ目「JPAとDDDの関係で僕が思っていること」 #ccc_a6

DBアクセスにJavaで触れるに、最初「薄いJDBCラッパー(自前)」で学び、その後「JPAを学んで、面倒くさいなぁと思」い、DDDを学んだあと「JPA、(DDD/オブジェクト指向的に)やるじゃん」と見なおした話…で良いでしょうか?


最近の案件で、JPA(の1実装)を使っていて、「なんやこいつ…やりにくいなぁ」と思って、「関係性アノテーションは切って」「更新タイミングは自分で制御して」「最低限の機能だけ」というふうに使っていたのですが、それは「DDDっぽくやるつもりで、できてなかったんだなー」と逆説的な気づきをもらいました。

自分がいろいろと「機能を殺した」のは、自分のイメージが「DBアクセスライブラリ」を求め、使いたかっただけ(つまり自身の脳が旧態然としてついてってない)であるということだったのですね。

「実際にやってみました」「実装はこうなります」という丁寧な資料・セッションの作り方がすごいなぁと思いました。

7コマ目「俺のコードがどこで使われているのかわからない問題 - あるいはマイナーOSSの生存戦略」 #ccc_l9

  • 登壇者 : 渡辺 祐 さん ( @nabedge )
  • 資料 :
俺のコードがどこでつかわれているのかわからない問題 あるいはマイナーOSSの生存戦略 from nabedge Watanabe

自身のOSSがどのように使われるかを「アクセス数のデータのみ」から「これは、こういうことか?」というプロファイリングをやきもきする話。

プラス、SpringMVCとHTMLについて「デザイナとデベロッパで責務分割をきっちりするFW設計」の話…だと思うのですけどね(後半がまとめられないw)。


「なべさんの仕業か?」という単語が、何故か頭にのこっているこのセッションですw

OSSを、特に「単一起動のアプリ」でなく「ライブラリ」で「名を売っていく」というのは、涙ぐましい努力もあるし、なんか「お前のせいだ」みたいになるし、ダウンロード跳ね上がっても「それはそれで不穏」だし…という話が面白かったですね。

自分は「コントリビュート」は過去ありますが、「自身のプロダクトを持ってない」ので、なんかなんかしたいけれど…ネタとニーズがないので、「なべさん」のバイタリティはすごいと思うのです。

8コマ目「Pi4Jで簡単! -ラズパイでトイレ空室管理システムをつくってみたよ-」 #ccc_l10

  • 登壇者 : 梶栗 芳夫 さん
  • 資料 :

Pi4jは弄ったことが合った(GPIOを使うのにgolangかjavaかで検証した)あったのですが、他の方が「じゃあ具体的に何に使ってるの?」の例はあまり見てない中、具体的な例が知って刺激になりました。

破片プログラマーの悲しみ」を読む -> 自分も大規模な開発の破片 -> このままではいけない -> ハード/IoTを自己研究 -> トイレ監視システムをラズパイで作る。

というの、自分もよく似た経緯を辿って「ハードが少しでも弄えたら…」にたどり着いてるので、すごくシンパシーを感じました。

懇親会でひっ捕まえてもっと話せればよかった、と少し後悔です。

懇親会 #ccc_kon

本日は日帰り強行軍だったので、LT片目に早々ときりあげさせていただきました。

が、食べるもん食べたし、@nabedgeさんやうらがみさんなど登壇者の方と話せたし、スタッフの方にお礼伝えたし満足でした。

小並感

「また来たいぜ!」で感想を締めくくった去年…。

今年は「お祭りわっしょいお上りさん」ではなく「ちゃんと得るものを持って帰ろう」の姿勢で臨みまして、

  • 自身が来年のテーマとする「DDD」
  • 自身の分野と決めてる「CD/CI(DevOps)」

を中心に見たのですが「(登壇者の方々の)当たり前」が「自分から見て超高度!」に見えました。

自身が「比較的得意」としている分野すら全然太刀打ちできない…ならより「先鋭化」する必要がある。

そうなると今度は「活躍の場所を限定する」になりかねないので…だからセロさんのセッションのように「自身の選択」が必要で課題だなぁと。

帰ってから考えることが山積みですw

でも「純然たる技術ややり方の知見」としては(詳細まではわからないものの)多く得て帰ったカンファレンスでした。

ま、期せず「関西の方が多め」になったのは「勿体ない」と捉えるか「帰っても質問できる!」と考えるかですけどw

感謝

今年も、多くの方に(いい意味で)弄っていただきまして…参加の皆様、そしてスタッフの皆様、本当にありがとうございました。

おまけ

自分は日帰り組で、同じく大阪に帰る @irof さんと @bufferings と一緒に帰ったのです。

新幹線乗り場前で所々の理由で「じゃーねー」したのですが…。

なんでやねん! (わりかしの確率を”縁”で掻い潜った二人でしたw)

blog comments powered by Disqus