しゅんすの頭ん中

プログラミングのことだったり関係無いことだったり

【初参加】Laravel/Vue.js勉強会#8 オールスターズ に参加してきたのでレポート

目次

 

はじめに

どうも。最近、 LaraDock を新卒研修に取り組めたら面白いんじゃないかと試行錯誤するのにハマっているしゅんすです。

先日参加してきました奇跡の Conference と噂される Laravel  JP Conference (以下 LaraCon )に引き続き、 自分の中で PHP の機運が高まっているのと業務でも Vue.js を使う機会が出てきたのでこのビッグウェーブに乗ろうと、先輩が募集をかけていた Laravel/Vue.js勉強会#8 オールスターズ に参加してきました。

なんと既に第8回目で登壇企業枠は6社...(結構大きいな...)。人生初 LTという方から LaraCon 実行副委員長までという様々な方からの様々な観点での LT 大会でした。

その様子をレポートにしましたのでご査収ください。

LTレポート

■ グローバルstoreを利用する際はMixinではなくPlugin使った方がいいんじゃないか?説

株式会社レアジョブ様【田原 一樹 さん】

内容は、Vue.js の Mixin利用する上での注意代替案についてのお話でした。

「別コンポーネントから特定の機能を使いたい時」にぶつかる壁について考えた内容で、Mixin 一択よりも良い手段は他にどんなものがあるんだろうと考えさせられました。

 Mixin と今回代替案として紹介された store の plugin 化、それぞれメリットデメリットがあり、ケースによって使い分ける手段もあるんだということを学べました。

感想

定義や記法が不明瞭になりやすく、運用で使うのは確かにテクニックがいると思いました。ルールをしっかりつくっていくべき何だろうけどどうつくっていくのがベスト何だろう...。

■ Laravelを本番環境にデプロイするまで

株式会社うるる様【@yukure3 さん】

内容は、LaraDock を用いて開発環境の立ち上げから本番へのデプロイ→ 運用方法についてお話してくださいました。

Laradock を使ったローカル環境構築の話や記事はよくある中、本番リリースから運用フェーズの知見についてはなかなか少なかったりするので結構需要のある発表だったと思います。AWS の Elastic Beanstalk の使い方についてまだまだ甘々だったので勉強になりました。

感想

「キタ!LaraDock!!」と思ったのと、社会人1年目で人生初 LT と言いながらも感情を込めながら且つ淡々とわかりやすく話されていて「自分ももうちょい頑張ろうな」と戒められた良い LT でした。

■ SPAリリース後の問題とその対策

株式会社ITプロパートナーズ様【@frostndays さん】

こちらめちゃくちゃ探したのですがスライドが見当たらなかったので、YouTube Live での中継からご覧ください(本 LT はココから)。

 

内容は、サービスを SPA にしたものの起きたいくつかの問題に対しての対策についてでした。

 問題は「画面の表示が遅い」「特定ページへの API が増える→ 遅くなる」の大きく2つ。Laravel 側, Nuxt 側 それぞれで工夫したことで改善に向かわせたそう。

Nuxt 側でページの表示データを取得する際に、fetch の一部記述を created に持っていくことでデータ取得のタイミングをズラしたり、複数のAPIを一本にまとめる共通の仕組みとしてサーバにリクエストを投げ、Laravel 側でそれらを一本のまま処理する為のエンドポイントを作成したりなどなど、それぞれのライフサイクルを完全に理解したからこそできる創意工夫たちでした。

感想

時間的制約があり、今回こういう対応になったらしいですが工夫する発想がそもそも凄いし、それを実行したのも凄い。モチベ頂いた。

■ アイスタイル特設サイトにおけるVue.jsの導入事例 

弊社【@kubotak_public さん】

www.slideshare.net

我らが先輩 kubotak さんの発表は、昨年行われた 「@cosmeBeauty Day のティザーサイト開発での辛みと解消の為に行ったこと」と「Vue.jsを導入してみたポイント」についてでした。

当日のスパイクアクセスに備えて全て AWS 上で運用したアーキテクチャや、何とも驚くディレクトリ構成をしていたり、中の社員でも知っている人が案外少ない事情など。そして、そんな構成にならざるを得ない状況下でもビルド時に gulp を採用したりして楽にしていたなど対応の話もありました。

Vue.js については Mixin を採用してみて処理を共通化を図っていたり、各デバイスへ向けたビルドで VueCLI (初めて知った)コマンドを使ってみたりなど... Vue.js を存分に活かした開発をしていたんだなぁということを今回知れました。

感想

AWS でメインに基盤をつくり、Vue.js を存分に活かしてページ単位からミクロな部分での手法を取り入れた開発をしていたんだなぁと初めて具体的に知れたし、めちゃくちゃナウい開発をしていてシンプルに楽しそうと思った。ティザーサイトならではの辛みが多めで大変そうだけど...。

■ Laravel Queueの運用管理

株式会社オープンロジ様【@migrs さん】

こちらもスライドが見当たらなかったので、YouTube Live での中継からご覧ください(本 LT はココから)。

 

内容は、コマンドクエリの責務分離(CQRS)についてのお話でした。 

オープンロジさんはほぼ全ての更新処理系を Queue で行っているらしく、そこで実感した「ジョブステータス管理が運用にどれだけ大事なのか」について話してくださりました。今回はその手段としてある Laravel ライブラリとして Laravel Horizon と Laravel Telescopeの紹介がありました。

  • Telescope
    リクエストからLaravelの中で起こる様々な情報(ジョブの中でのログやクエリ、ジョブの状態など)を一元的に見ることができる開発用のデベロッパーツール
  • Horizon
    本番運用用で扱うQueue のモニタリングツール(ジョブのスループットやランタイム、実行の失敗など)

ジョブ実行をすることで、スケーラブルな開発ができ、ジョブのログを残すことで監視もしやすいよね!という話で納得しかない。

感想

こんなに優秀なツールたちがいるのだから JobQueue やろうなと思ったけど、Telescope 使えるの Laravel 5.7からなのね...。

■ Monolith→MultiRepo→MonoRepoでのリポジトリ戦略 

株式会社 SCOUTER 様【@kotamat さん】

 内容は、Monolith→MultiRepo→MonoRepo と経緯していったリポジトリ開発の戦略の推移についてでした。サービスが大きくなるにつれて、「関連したユーザが多い中、重複コードも増えてきて扱いが大変になってきた」問題に対して、最終的に MonoRepo という手法で単一のリポジトリにまとめてみると幸せになることが結構あるよ、というお話でした。

感想 

むつかしいお話でしたが...MonoRepo がもたらすダイヤモンド関係の依存を解決したり、コード依存によるチーム間の境界が無くなったりするなどもたらすメリットは思いの外多く、とても良いなと思いました。結構有名企業も取り入れているらしく、それぞれどんな風に取り組んでいるのか知りたい。面白そうだし課題もまだまだ多い分野なのでこれからの開発手法の勉強の意味も込めてアンテナを張ってこうと思った。

懇親会

株式会社うるる様よりお酒等飲み物とオードブルを用意して頂きました。

ありがとうございました!

銀色のやつと男梅サワーで気持ちよくなりながら交流を楽しめました。業務後のお酒はすぐ回るからコスパ良いけど気をつけよ...笑

参加してみての感想

著者は Vue.js 何なら JS のズブ素人で、fetch() など Vue.js が SSR する際の挙動も知らず、ライフサイクルの理解もほぼ無いレベルでした(お恥ずかしい)。ですが、発表内容から「こんな実例があるのか」と知識の点を具体的に線にしやすくなるような視野を持つことができました。

今回初の参加でしたが、初見さんでも馴染みやすい空気感があり(初参加者も結構いらっしゃった)、「Laravel/Vue.js 勉強会」だけあって発表もバックエンドの知見から、フロント周りの知見まで横断的に聞けるのも良いところだなと思いました。広く Laravel/Vue.js の知見を得たい・アウトプットしたい方にとって打ってつけな場だと思います。 

また、今回やむを得なく後ろの席について登壇のスライドが見えにくい状況だったのですが YouTube Live で中継していた為、聴講する点では問題ありませんでした。素晴らしい配慮。

所感として全体的にある意味初めてな感覚が多い勉強会だったかもしれない。

最後に

今後、自分としても Laravel と Vue.js に触れる機会が多くなってくると思うので、次回以降は得た知見・体験をネタに発表側として参加してみたいと思いました。

運営の皆さん、当日参加者の皆さん、共有してくれた kubotak さんありがとうございました!

今更だが2018年を振り返る

◼︎なんでお前このタイミングで書くの

はい、ごもっともです。

晦日にやろうとして乗り遅れた勢です。実家でたくさん寝て無人島生活観て、ラグビー部の弟と喧嘩して負けてたら年越してました。良い年越しでした。

 

そのままいつも通りスーッとやらずに2019年スタートしても良かったんですが、どうしても今までの「リアクションでギリギリなんとか事を進めてきたリアクション芸人な自分」と決別したかったのと、今度辞めてしまう大好きな先輩のメッセージから、「いや、いかん」と踏み止まり1年間を振り返ろうと思いました。

f:id:shunsu-0159:20190116215446j:plain

先輩の送別会で僕が質問した内容に対しての先輩の言葉。いつも面白い返しばかり言う方なのでふとしたこういうの本当にクるものがある。

 

て事で割と真面目に振り返ります。

 

◼︎いざ、2018年を振り返る

1月
初めての業務の実装で苦しんでる最中

この時新卒1年目。初めての java/Spring と、うまく使いこなせていなかった MySQL の実装力をつけるべく四苦八苦していた。
事業部側から依頼されたデータ抽出を行いながらと、MySQLの勉強と並行して,サービスのリファクタリング・改修作業を行っていた。

 

2月 
人生初ハッカソン参加がメンター

社内で開催した学生のハッカソンでメンターになる。人生初ハッカソンなのに。正直サポートできるほど実力に自信は全くなかったが、今時の学生の考え方や技術力に関心を持ち参加。

結果、周りの先輩方の助けもあり、無事メンターとしての業務を遂行できたり、学生のパワフルなモチベーションも貰えた。あの時手を上げて良かったと思う。ちなみにそこから採用に繋がり、来年度ともに働ける後輩もできたのはまた後の話。

 

3月 
泣きたい時期

マルチタスクに追われた日々。開発以外の業務とのバランスについて考えさえせられた。「先輩や同期の意見を参考にして、断れる仕事は断り、時には他人に頼る。その為の報連相も怠らないようにする。」仕事を進めてく上での在り方について実感して考えさせられた。

 

4月
泣いた時期

新卒2年目になる。約40名の新卒を迎え入れるための歓迎会を企画運営した。新卒を迎える社員も含めて100名程の規模のやつ。こういう類の企画の統率をうまく取れる力も無いのに手を上げた。代々続いている文化だからとかそういうの関係無く、シンプルに先輩たちが去年自分たちに開いてくれたこの機会を当時とても嬉しく感じていて、今年は自分たちも後輩たちにとってハブになり良い場を提供したい気持ちだけでやった。

 

結果的にクオリティはお世辞にも完璧にできたものとは言えなかった。しかし新卒たちが楽しめてそうな顔(実は入社して初めての不安を感じさせたかも)を見れたのと、同期や先輩方のお陰で1つの企画としては成功できた。

終わった後に自分の不甲斐無さと、同期・先輩が良い人達過ぎて終わった後の反省会で目の前でガチ泣きした。

とても恥ずかしい出来事ではあるけれどずっと胸にしまっておきたい出来事でもあった。

 

5月
社内LT出る

エンジニアなどの括り関係無く発表し合う社内LT大会に登壇する。今の自分ができる業務内容上で感じていた点で「意識することで事業部側と開発側がともに幸せになれるんじゃないかと思うこと」について発表した。去年やってみた時より、自信を持って話せたし、その時の自分が伝えられることのありのままを話せたのが個人的に良かった。

今年はこういう類の会を運営側で動いて、社内のアウトプット文化を醸成させる場づくりに貢献したい


 

6月
慌てふためく研修準備

新卒エンジニアとなる後輩たちが次月から開発部署へ配属されることから本格的に同期と研修内容を詰め始める。取り組み自体はもう少し前から始めていたが、進捗ペースが遅くてばたつきながら準備した記憶。今年の研修は後輩たちとブラッシュアップして余裕を持って更に良いものにしていく。というかもう動き出してる。

 

7月
自分たちの為にもなった新卒研修

後輩たちを「自走できるエンジニア」にすべく、通常業務と並行して同期と試行錯誤しながら研修のサポートをしていた。後輩たちに技術に関して教える際に、自分がインフラ周りなど「どこをどれくらい自分は理解できているのか」状態を理解できた。

 

だいぶ知った気になっていた部分があることに気づかされて「このままじゃヤベェな俺」と痛感できたタイミングでもあった。

 

8月
会社で賞を頂いた

年1で開催する会社の総会で大変ありがたいことに賞を頂いた。立派な功績や技術力で貢献した訳でもなく、社内で動いた姿勢に対して頂けたものだ。全社員の前で自分なんかがもらってもいいものかと戸惑ったが、こんな自分に賞をくれる会社の懐の広さに感謝して素直に自分を褒めてあげることにした。

 

社会人になって上京してからは毎日、アパートに帰っては「あーほんとクソ(自分に対して)」みたいなことばかり垂れてたし、この時くらいたまには自分を褒めても良いよな...と笑

この姿勢を大事にして今年は実績も兼ねて賞をかっさらいたいし同時に後輩達を助けられる力をつける。

f:id:shunsu-0159:20190117023251j:plain

噛まないことだけに集中している図

 

9月
勉強会楽しい

この辺りから社外勉強会や開発者のコミュニティに頻繁に出席するようになる。Twitterのアカウントも実働させて社外でのインプット・アウトプットを増やそうと試みる。

 

10月
色々あった

お世話になりまくった大好きなばあちゃんが亡くなる。特に短大時代は家に居候させてもらったりした。だいぶ迷惑をかけた。「その反動のせいかな」とか思ったり。ちゃんとお返しができなかった。いずれ僕の結婚式で、練習しまくってた大好きな詩吟を歌いたいと言っていたけど、全然結婚間に合わなかった。ばあちゃんが生きたかった分の人生を、代わりに誇れる生き方をしたい。

 

仕事面では、Dockerに出会い、イメージ共有機能などコンテナ上での開発の素晴らしさに感動する。社内のインフラ事情的にもなぜもっと早く取り組まなかった!とか思ったりした。

 

後、去年に引き続き SpringFest にも参加した。事例を踏まえての発表が多く、追加機能も以外に多くなってキャッチアップが大変だった...(笑)本格的に Kotrin 対応が進んできているんだな〜と感じた。

springfest2018.springframework.jp

 

11月
社外勉強会人生初登壇

人生初めての社外勉強会登壇。むちゃくちゃ緊張した。もういっそのこと自分へのFBとして、鉞沢山頂いて理解を深めようという気持ちで臨んだ。アウトプットをゴールに置くことによって普段のインプットの姿勢が変わるんだということを実感できたのが大きな学びだった。

www.slideshare.net

 

12月
忘年会でゲーム作ったり、アドベントカレンダー運営したり

開発本部を主に総勢約170名程の社員に向けて、本部から1年間の感謝を送る会を企画・運営した。1年目の後輩たちとRPG風のクイズアプリをつくったりもしました。

(後ほどブログ記事があがるので、出来次第そちらのリンクも貼ります)

 

社内アドベントカレンダーの運営をする。例年の参加者の顔ぶれとは全然異なるメンバーが多数手をあげてくれたくれたことが嬉しかったし、その為の場づくりを提供したく取り組んだ。参加者の皆さんのお陰で社内TECHブログのPV数始め、シェアなどのリアクションが過去最高を更新!自分もさながら社員のアウトプット文化を盛りあげていきたい。

是非見てくださいまし。

 

ちなみに自分も書いたでよ。

techblog.istyle.co.jp

 

総まとめ

去年はこんな年だった
  • チャンスが沢山ある1年だった。しかし、手を挙げるも、工夫する努力が足りなく途中で殺してしまったりする機会が多かった。
  • 「本気」の定義がガバガバだった。決意したにも関わらず、実を結ぶことがならなかったことも多々あった。

    これらの主な原因として、ただぼんやりとした目標目指して「ただ努力した」だけだったので、「どうなることを目指して」「どう努力したか」を明確にしていく。
今年はこういった1年にする
  • 困った時に助けてもらえたり、ともにやっていく仲間を増やす。
    フッ軽になる。ランチなどの業務外で知り合いを増やし、自分を知って貰う。
    相手のことももっと知る。
  • 強い先輩方に追いつく実装力を培う
    → 良質なライブラリをたくさん読んで自分ならどうするか考える癖をつける。
    → 勉強会登壇を去年以上に増やす(計5回以上)
  • インフラ面を理解した上での強いアプリケーションエンジニアを目指す。
    → AWSを用いたシステムの開発や運用を行う機会が増えてきた為、ノウハウを培う為に「AWS認定資格の1つデベロッパー - アソシエイトを取る」(資格を取ることが目的じゃないが、わかりやすいゴールを置く意味で)。
    その為に社内外に向けたアウットプットを定期的に行ってインプットの質を高める。

2018年も関わってくださった皆さん誠にありがとうございました!本年も何卒宜しくお願いします〜〜!!!