Whimlog

文体が安定しませんが、ご了承ください。

LINE 株式会社で働いています

linecorp.com

この記事出してから、すっかり忘れていましたが 6 月から LINE 株式会社で働いています。

asuforce.hatenablog.com

まだ数ヶ月ですが、無事試用期間を終えて、なんとかやっております。

仕事の詳細は年末にでもまとめて書こうかと思います〜

【課外学習 I】Gopher道場 に行ってきました

行ってきました

先日、卒業した Gopher 道場繋がりで、卒業生向けのイベントが開催されましたので参加しました。 Gopher 道場については以下の記事にまとめてあります。

asuforce.hatenablog.com

イベントの詳細はこちらです。 @pospome san による DDD についてのお話を聞きます。

mercari.connpass.com

当日の様子

merpay さんのケータリングはいつもおしゃれ! 以下はミートパイですかね?美味しかったです。

感想

DDD については、エリック・エヴァンスの本があること。またその本が鈍器本の一種であること、ドメインを使って設計をすること以外の情報は持ち合わせていませんでした。 なので、「ドメイン」駆動とはどういうことなのかを聞きたくて参加しました。

エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)

エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)

発表を聞いてみて超簡単にまとめると、DDD とは問題領域、業務・関心ごとを分析し、設計、そして実装を行い成果物を生み出す設計手法になると思います。

普段行っている開発手法は DOA/data oriented approach(データ中心のアプローチ)で、データの格納先に合わせて設計しています。 DAO のデメリットとしましては、データ構造をそのままコードで扱う必要が出てきます。そうすると、あるコードに手を加える時に、業務(解決したいこと、問題)を理解 => コードを理解 => DBの構造を理解というステップが必要になります。これに対してDDD ではデータ構造は DB に合わせるものの、コードは業務に合わせます。こうすることで、業務を理解すれば、コードを理解できるようになります。

概念の話なので、非常に難しいですが、自分の中での理解はいまのところこんな感じです。

「既存の何かが抱えている問題を解決するアプローチ」というのがポイントで、エリック・エヴァンスの本ではシステム化されてないものを課題としているそうです。ですが、Web の開発においてはシステム化されていない問題だけでなく、新しい概念など(Twitter の呟きなど)を扱う性質上、本の内容をそのまま実行できるわけではないというのが「なるほど」となったポイントでした。機会があれば、本と現実の web 開発の差分の共有についての発表もあるかもとのことでしたので、ぜひ聞きたいです。

今回の発表で、DDD はなんか凄そうというボヤけた認識から1つステップアップできました。 エリック・エヴァンスの本は読んでみたいとは思っていたので、近いうちに読みたいなと思いました。

以下は今回のメモです。

Gopher 道場の卒業生向けになりますが、次の課外活動は GCP についてです。 こちらも参加予定で楽しみにしております。

mercari.connpass.com

Gopher 道場 #3 に参加しました

Gopher 道場 #3 に参加して、無事卒業できましたので、レポートを書きたいと思います。

Gopher 道場とは

以下のメルペイさんの記事が参考になると思いますが、簡単に説明しますと merpay が主催している Go の勉強会になります。 4回にわたる講義を経て、最終回は LT大会で発表し、卒業という流れになります。

mercan.mercari.com

Go について基礎から、最新のトレンドまでを merpay の @tenntenn さんから学ぶ事ができる会です。

参加したきっかけ

僕が参加したきっかけは最終回の LT 大会でも発表しました。

speakerdeck.com

雑にまとめると、なんとなく go を書くのは好きなんだけどとか、なんとなくわかるという「なんとなく」の部分を無くしたいと思ったのがきっかけになります。

参加まで

Gopher 道場に参加するためには、課題の提出が必須になります。 この課題を元に選考された人が参加できるという形になります。

今回の課題はとある CLI ツールを作るというお題でしたが、作っているうちにひたすらベンチマークを測って実行のタイムを縮めていくなどすることにハマってしまいました。結果的には合格したのでよかったです。

感想

毎週講義と、その回の内容を盛り込んだ課題が出され、課題を PR にし、レビューしてもらうというサイクルで進みました。 講義ではたくさんの発見があり、非常に面白かったです。参考までに講義のメモを貼っておきます。

scrapbox.io

課題は様々な角度から go に触れるようになっており、講義でわからなかった部分が浮き彫りになり、自分で調べるきっかけになりました。 同期の方たちの PR も見れるので、それを参考にしたり、そういう実装もあるのかと勉強になることが多かったです。

自分は全ての課題をやりきれませんでしたが、なんとかキャッチアップしたいと思います。

最終回は前述の通り LT 大会が開かれ、みなさんの go にまつわる発表を聞きました。 Gopher 道場の経験から実際に go の導入に至った企業もあり、道場効果が早速発揮されていると感じました。

他の同期の方の資料はこちらにまとまっていますので、あわせてご覧ください。

dev.classmethod.jp

今後、卒業生を対象とした課外活動なども開催されていくようなので、非常に楽しみです。 第1弾として DDD を学べる講義が開かれるので、僕も参加します〜

mercari.connpass.com

まとめ

無事最後まで休む事なく参加できてよかったです。 これまで LT の経験が無かったので、外部登壇デビューもできて最高でした。

卒業生にはステッカーと以下の Tシャツがプレゼントされます。 Gopher 好きなので大事に着たいと思います。

www.instagram.com

Go に興味はあって、もう一歩レベルを上げたいと思う人は #4 も開催予定のようなのでぜひ参加しましょう!

mercari.connpass.com