株式会社Re:Build

株式会社Re:Build

Laravel JP Conference 2019に参加してきました!

こんにちは!リビルドの中西です。日曜日のゆったりとした時間を羽田空港のおしゃれなラウンジで堪能しております。みなさまいかがお過ごしでしょうか?

今回は2019年2月17日(土)に東京のグランパークカンファレンスで行われたLaravel JP Conference 2019に参加してきましたのでレポートをお届けします!

conference2019.laravel.jp

参加の動機

弊社PHPでメインで利用しているフレームワークがLaravelということもありまして、スポンサーやらせていただきました。さらなる社内の技術向上を目的に参加させていただきました。

各セッションの感想

ServiceProvider, ServiceContainer 入門

これまでで一番わかりやすいServiceProvider, ServiceContainerの解説でした!

僕も以前まではコントローラの中で new CsvService() とかしてサービスクラス使っていました。今後は、CSV入出力・メール送信などの汎用性の高い処理はサービスクラスにまとめてServiceProviderに登録して利用するのがよさそう。

speakerdeck.com

laravelでパッケージ開発

これまでcomposer経由でインストールされるLaravelのパッケージはなんか怖い感じがしたのですが、サービスプロバイダーの理解が進めば怖がらずに使えそうな感じがしました。

パッケージ化のメリットは以下のような感じ

  • いきなり独立したリポジトリとして管理しなくても、composerでディレクトリを指定して自作のパッケージをインストールできるので日々の業務の中でもパッケージ化にトライすることができる
  • うまく行けばマイクロサービス的に切り離せばいいし、上手くいかないときは今までどおり単一のプロジェクトとして管理すればよい

という感じでした。

speakerdeck.com

LaravelでのAPI開発を爆速にするためにやっていること

実際に色々なTryをした結果、どうすればうまくいったのか知見の共有をしてくださった感じでした!

  • 開発のスピードを上げたいから人数を増やせばいいというものではない
  • まずは現状のメンバーで個々のパフォーマンスをいかにあげるかどうかがポイント
  • そのためにはDX(Developer eXperience: 開発者の開発に対する満足度のこと)をあげることが重要

こういう知見の共有は現場の人間としてはとてもありがたいですよね。僕も日々の業務で感じた事系のアウトプット増やしていきます!

slides.com

Laravelのデプロイ戦略。VPSからDocker、Kubernates、サーバレスまで

個人的にインフラ周りで悩んでいるので大本命のセッションでした!

ポイントは以下のような感じでした。

  • すぐにDockerやEC2のオートスケーリングを導入する必要はないが、どういう技術でどういう種類があるのかくらいは抑えておく必要がある
  • とくにオートスケーリングの設計は早めに考えておかないと新規のサービスなどはアクセスが増えたときにかなり焦る(というかサービスがとまる)
  • Docker運用するなら、ローカルに保存しているデータは外部に保存するよう実装を変える必要がある

ログとか本番環境の稼働状況など、どんどん見える化していくのは後々障害が発生したときに強い味方になると思うので個人的にもどんどん勉強していこうと思いました。

speakerdeck.com

Laravelで学ぶ、ウェブアプリケーションチューニングの基本

セッションの冒頭でチューニングは職人芸じゃなく、理詰めで誰でもできるものなんですよという言葉がすごく印象的でした。

ポイントとしては以下の感じでした!

  • チューニングは職人芸じゃない
  • やることがわかれば怖くない
  • 「遅い」はとても曖昧な言葉
  • 「弊社のWebサイト遅くね?」と言われたらその「遅い」がなぜなのか、原因をつきとめるところからスタートするべし

チューニング難しそうなイメージがあったのですが、理詰めでいけば怖くないとわかったのが良かったです!

speakerdeck.com

新卒2年目がLaravelコントリビュート出来た理由とその面白さ

初学者の方に有用な情報が盛りだくさんなすごいいいセッションでした!

俺もLaravelコントリビューターになりたい!まずはLaravelのコードを読んで、改善できそうな部分をIssueをたててディスカッションするところからということだったのでがんばります!

docs.google.com

個人的な今後の目標

今回のカンファレンスに参加させていただいて、個人的な課題がいくつかみつかりました。

  • Laravelのログ設計や、サーバーログの見える化ができるように頑張る
  • いざというときに備えたインフラ設計を考える
  • 自動デプロイがスムーズに設計できるようになる
  • Laravelコントリビューターになる

大好きなLaravelを安定稼働させるためのインフラ構築に興味が湧いた中西なのでした。というわけで、 AWS + Laravelでなにかサービス作ってみようと思います。 目標はサーバー代くらいは稼げるサービスをつくる。実運用するとログの設計方針とかも見えてくると思うので。

さいごに

Laravel JP Conference 運営のみなさま、スピーカーのみなさま、学び多き最高に楽しい時間を本当にありがとうございました!

「【大阪】Laravel LT 2019/01/25」でLTしてきました

株式会社リビルドの嘉数です!

2019/01/25(金)に大阪で開催された【大阪】Laravel LTというイベントに参加し、弊社の鈴木と嘉数とでLTをしてきました。

宮崎に続き、初の大阪! 今回は日程の都合上あまりゆっくりできませんでしたが、現地の方が勧めてくれたお店でたこ焼きとミックスジュースを美味しくいただくことができたので良かったです。

以下はイベント詳細ページになります。

【大阪】Laravel LT 2019/01/25 - connpass

LT!

発表者は4人で、それぞれがLaravelに関する話しを繰り広げました。 プレゼン毎の質問タイムが毎回盛り上がっていた気がします、さすが大阪や...!

「Laravelで簡単にSPA Webアプリ 作成!JWT認証導入」

最初の発表は弊社の鈴木が行いました。

自社サービスにJWT認証使っているので、その際の導入手順や動作例などについて話されていました。 プレゼン後には2019年10月にPHPカンファレンスを沖縄で開催するという告知付き、ぬかりなし。

「Collection使ってますか?」

株式会社Nextat 代表取締役の西澤さんによるプレゼン。

普段なんとなく使っているCollection、実は Illuminate/Support/CollectionIlluminate/Database/Eroquent/Collection の二種類あるって知ってました? 西澤さんはそれらの違いや使い方などについて話されていました。

「Laravel Telescopeが便利そうな気がする」

こちら嘉数のプレゼンになります。

Laravel5.7.7から追加されたLaravel Telescopeについてお話しました。 皆すでに知ってるだろうなぁと思い発表したのですが、意外に知っている人がおらず、発表後に色んな方からすごく便利そうな機能だねーとお声をいただきました。 自分が作った機能ではないですが少しうれしかったです笑。

「 LaravelでGraphQLやってみた」

合同会社ピクセルグラム 代表の上平さんによるプレゼン。

最近から弊社でもGraphQLやってみたいという話しがあったので、とてもタイムリーな内容でした。 エンドポイントを集約し、且つフロントからクエリを叩いているかのようにデータの取得ができる今風な書き方に感動しました。 GraphQL用に用意されたLaravelのツールも便利よのう。

おわりに

今回初めて大阪に行ったのですが、イベント中に関わってくれた方々が皆とてもいい人達ばかりでした。 TwitterのDMで美味しい飲食店一覧を送ってくれる方もいたし、イベントの帰りに改札まで送り届けれくれた方もいました。 不慣れな土地だと不安しかないので、こういった形で助けてくれるのは本当にありがたいです、感謝!

また、本イベントを通してエンジニア友達もたくさんできました。 沖縄も含めた地方の勉強会やイベントって大体来る人が決まってくるので、今回のように旅先で普段関わることがないような人達と知り合って繋がりを持てることが凄く嬉しいです。

大阪に来て本当に良かった、ありがとうございました!

広告・告知など

弊社(株式会社リビルド)は沖縄県内でLaravel勉強会、JS勉強会など様々なイベントを開催しています。 沖縄県内にいる方はもちろん、沖縄県外の人も沖縄旅行も兼ねてイベントに参加していただけると嬉しいです。

また、沖縄県外のイベントにも積極的に参加するつもりですので、お声をかけていただければ幸いです。

「【Nuxt.js/Vue.js】スタートアップ企業導入事例」で登壇しました

株式会社リビルドの嘉数です!

2019/01/30(水)にITプロパートナーズさんと弊社(株式会社リビルド)で「【Nuxt.js/Vue.js】スタートアップ企業導入事例」というイベントを開催しました。 イベントでは嘉数も登壇し、Nuxt.jsの導入を検討している方やNuxt.jsを導入したばかりの方、またはそもそもJSフレームワーク選定に困っている方向けに、スタートアップ企業として実際にNuxt.jsを導入してサービスの開発・運用をしているという話をしました。

以下はイベント詳細ページになります。

【Nuxt.js/Vue.js】スタートアップ企業導入事例 - connpass

こちらはTweetまとめ。

【Nuxt.js/Vue.js】スタートアップ企業導入事例 まとめ - Togetter

それでは、各セッションについてざっくりと書いていきたいと思います。

「SPA開発未経験者によるNuxt.jsを使った自社サービス開発」

トップバッターは嘉数です。

イベント前日までプレゼンの練習をほとんど行っていない状態だったため、登壇して話し始めるまでは内心かなり不安でした。 しかし実際喋ってみると、時間の都合上早口で話したのですが、特に問題なくプレゼンすることができたかな思っています(主観ですが...)。

プレゼンの内容としては、Nuxt.jsを選定した理由だとか、実際にNuxt.jsで開発をしてどうだ\ったかなどについてお話しました。

こちら当日に使用したスライドになります。

「TABETEのフロントエンドをNuxt.jsでリプレイスする話」

コークッキングの榊原さんによるプレゼンです。

コークッキングさんは現在 TABETE という、廃棄の危機にある食事を手軽にレスキューするというWebプラットフォームを展開しています。 TABETEは元々はRailsオンリーで構築されたシステムだったのですが、改修にあたりフロントエンドでNuxt.jsを使うことにしたのだとか。 今回はその歳に躓いたところや、そもそも導入したきっかけは何かについて話されていました。

スライドがまだアップロードされてないので、され次第こちらにリンクを貼りますm( )m

「Nuxt.jsでプロダクトを開発して得た知見」

ITプロパートナーズの米川さんによるプレゼンです。

ITプロパートナーズさんもサービス開発にNuxt.jsを導入しており、その際にどういったメリット・デメリットがあったか、どういった工夫をしたかなどについて話されていました。 いくつか弊社の内容と被っていたところもありましたが(すいません...)、それはそれでNuxt.jsを使って得られる感触が大体同じものなんだなと感じました。

スライドがまだアップロードされてないので、され次第こちらにリンクを貼りますm( )m

「Vueと共に走ったフロントエンドリプレイス1年間 」

スタディストの小宮山さんによるプレゼンです。

1年かかったUIリニューアルプロジェクトから得たVueの知見として、便利だった機能、危険だった機能など実体験から得た教訓について話されていました。

まずスライドのボリュームに驚きました笑。 時間内に全ての内容を話してもらうことはできませんでしたが、スライドに丁寧に説明など書かれているので後でじっくり読みたいと思います。

おわりに

本イベントの参加を募る際に定員60名として募集をかけていたのですが、なんと100名以上の方から応募がありました。 フロントエンドのフレームワークとしてNuxt.jsは注目されているのだなぁと改めて実感しました。

また、会場に来てくれた方々ともお話をしてみて、各セッションで話された内容とは異なるNuxt.jsの知見なども得ることができました。 書籍やサイトから情報を収集することは出来ますが、こういったイベントに参加して実際に人と話しをすることで得られる情報もあるし、それが醍醐味でもあるなと思っています。

イベントに参加・登壇して頂いた方々、会場を提供して頂いたITプロパートナーズ様、皆さんの協力のおかげで今回このような素敵なイベントが開催できたなと思っています、本当にありがとうございました!

広告・告知など

弊社(株式会社リビルド)は沖縄県内でLaravel勉強会、JS勉強会など様々なイベントを開催しています。 沖縄県内にいる方はもちろん、沖縄県外の人も沖縄旅行も兼ねてイベントに参加していただけると嬉しいです。

また、沖縄県外のイベントにも積極的に参加するつもりですので、お声をかけていただければ幸いです。

エンジニア目線で見た沖縄の良さ

f:id:bumptakayuki65:20190105205359j:plain

目次

 1.移住までの経緯
 2.沖縄でエンジニアをやるメリット
 3.移住して良かったこと

この記事は 沖縄 Advent Calendar 2018 - Adventar の24日目の記事です。

株式会社リビルドの鈴木です!
東京で約4年間エンジニアをやった後に沖縄で半年間、フリーランスをやった後に沖縄に起業するにあたって、 感じたことを書いていきます。

1.移住までの経緯

元々、自分の性格的に人とは違う道を行きたいというのが、昔からありました。

理由としては、おそらく、自分の中では苗字が一般的な苗字(鈴木)だったり、
3人兄弟だったり、自分の存在が薄れていると感じる瞬間があり、他の人より目立ちたいだったり、 普通とは違う道に行きたがる傾向があったのかなと思っています。
常に自分が生きているという実感が欲しくてがむしゃらに突っ走ってた感じです!笑
その中で自分が生きている内に自分が生きた証を残したいという想いが芽生え、
大学4年生くらいから起業を視野に入れて活動してきました。

また、私の出身は神奈川県なのですが、地方が好きでよく旅行に行ってました。
その中でビジネスマンとしても成長し続ける且つ、
自分の好きな地方でバリバリ働ける道を模索していました。

正社員で会社に所属している期間中にも自分の住んでみたい地方(島根、福岡など)に何泊か泊まってみたりなどして、
いろいろと自分の人生を今後、どうしていくか考えてました。
ただ、在職中には具体的な道筋が決まりきらなかったので、一旦、フリーランスエンジニアになって、
リモートワークしながら、自分の住む地域を探すことにしました。

思い切って、会社を辞めた後は、リモートワークしながら、自分の住んでみたいと思った候補地を回りました。 例えば、長野、高知、福岡、京都など各地に短期間で滞在してました。そんな中で最後に行ったのが沖縄でした! 沖縄にはちょうど、ギークハウス沖縄ができるタイミングで、迷わず、入居しました!

2.沖縄でエンジニアをやるメリット

沖縄でエンジニアをやって良いと思ったことをざっと、上げていきます!

  • ギークハウス沖縄(シェアハウス)がある!
    ギークハウスとは、主にエンジニアやプログラマーを職種とする人や、Webが好きな人などが共に住むコンセプト型シェアハウスです。共通する趣味を持った人たちが価値観を共有し合い暮らしています。エンジニアなどが多いことから住民同士でプログラミングを教え合ったり、一緒に仕事をすることもあります。現在約30戸のギークハウスが存在します。これらは個人で運営されていたいり企業が運営したりと様々な形態で運営されています。

blog.geekhouse.okinawa

最初は私もギークハウスに1年くらい住んでおり、そこで沖縄のエンジニア友達であったり、
多くのIT系のコミュニティを紹介して頂きました! 沖縄に知り合いがいなかった自分にとっては、本当に感謝しきれないです。

  • 勉強会・コミュニティが多い
    沖縄にはたくさん勉強会があり、他の地方と比べても多い方だと思います! 詳しくはこちらをご覧ください。 mint.hateblo.jp

私自身も沖縄で複数の勉強会を主催したりもしています! 参考としては下記です! laravel-meetup-okinawa.connpass.com www.itcokinawa.jp

  • 県外の方も旅行するついでに勉強会に登壇してくれることがある!

  • 他の地方と比べるとIT企業が多い!
    こういった沖縄専用のIT転職サイトもあったりします! www.itcokinawa.jp

3.移住して良かったこと

  • 年中温かい!
    ランニング好きの自分にとっては、冬でも温かいのは、とても嬉しいです! あとは自分が寒がりで、ベトナムに2週間くらい滞在してたことがあったのですが、
    ベトナムくらいの気温が自分に合ってました(笑)

  • 沖縄料理が美味しい!
    これは元々、自分が沖縄料理が好きだったのもありますが、 特にステーキがめちゃくちゃ美味いです!

  • 海が綺麗
    江ノ島の海を見て、育った自分からすると最初、見たときは衝撃でした!笑

まとめ

上記の点から、他の地方も見た上で、エンジニアとして移住するのは良さそうと思い、沖縄に移住しました! 沖縄で起業した決め手としては、また別の点があるので、別の機会にでも記事を書ければと思います。

「Webナイト宮崎 Vol.2」にLT枠で登壇しました

株式会社リビルドの嘉数です!

12/13(木)に宮崎で開催されたWebナイト宮崎 Vol.2に参加してきました。 イベントで沖縄から東京に行くことはよくあるのですが、今回は沖縄から宮崎、しかも嘉数にとっては初の宮崎ということで不安と期待が高まります。

以下はイベント詳細ページになります。

Webナイト宮崎 Vol.2 ~てげ○○やってみた~ ※11/21参加枠15名→30名に増加 - connpass

今回嘉数はイベントのゲスト枠でLTを行いました。 イベント直前に参加表明したので、ゲストとして無理やりねじ込んでもらった感があります。スタッフの皆様に感謝...。

Webナイト宮崎 Vol.2に参加した理由

そもそも何故宮崎の本イベントに参加したのかというと、弊社の自社サービスの開発メンバーとして宮崎の方々に加わってもらっているため、その顔合わせも兼ねてイベント参加+宮崎旅行をしてきました。

普段のミーティングではビデオ通話を用いて会話をするのですが、直接顔を合わせて話すことも大事ということで今回宮崎に伺った次第です。

Webナイト宮崎 Vol.2について

宮崎のWeb系フリーランス集団「てげほげ」が主催するイベントで、今回が第二回の開催となります。 技術・知識を共有する場や機会が少ないということが地方あるあるだと思うのですが、そういった場や機会を設けるために「てげほげ」というグループが作られたとのこと(うろ覚え)。 実際イベントには40人以上の人が訪れていたので、非常に需要があるのだなと感じました。

f:id:kkznch:20181230153205j:plain

本イベントの今回のテーマは「はじめて○○やってみた」ということで、アプリを作ってみた話、ヒートマップで売上をアップする話、ペアプロの話など、様々な内容のLTが繰り広げられました。 全体的にレベルが高くて面白かったのですが、その中でも星占いアプリを作ってみたという話が個人的には印象に残っています。

そして嘉数はいつもどおりBDDについての発表を繰り広げてきました。 BDDの発表するのはいいのですが、そろそろ自分でBDDしてる写真を使わないといけない気もしています。来年の夏あたりに弊社のメンバーで撮りに行くか...。

f:id:kkznch:20181230153203j:plain

おわりに

初の宮崎は最高でした。 宮崎に飛行機到着後はてげほげスタッフ(弊社のサービス開発メンバー)が車で迎えてくれるし、会場でスタッフにトイレの場所を聞いたらトイレの入り口までエスコートしてくれるという高待遇っぷり。 LTも全部面白かったし嘉数もゲストとしてLTさせてもらうしと、本当に至れり尽くせりでした。

そしてイベント後の懇親会では、出された料理全てが美味しかった。 特に鶏肉、味も食感も普段食べているものとは全く違うと分かるほど美味しかったです。また鶏刺しと叩きが食べたい。

最後になりますが、宮崎に行って本当に良かったなと思っています。 イベントに参加して開発メンバーと顔を合わせるだけのつもりでしたが、現地のエンジニアと交流を持てたり、色々な方の話が聞けたりと自分にとってかなり刺激になりました。 てげほげスタッフの皆さま、有意義な時間をありがとうございました! また宮崎に伺いますので、その際もどうか宜しくおねがいします!

広告・告知など

弊社(株式会社リビルド)は沖縄県内でLaravel勉強会、JS勉強会など様々なイベントを開催しています。 沖縄県内にいる方はもちろん、沖縄県外の人も沖縄旅行も兼ねてイベントに参加していただけると嬉しいです。

また、沖縄県外のイベントにも積極的に参加するつもりですので、お声をかけていただければ幸いです。

株式会社Re:Build

「NuxtMeetUp#5」に参加しました

株式会社リビルドの嘉数です!

10/18(木)に渋谷で開催されたNuxtMeeutup#5に参加してきました、渋谷です。基本的に嘉数は渋谷にいるときは楽天カフェで作業してます。楽天ペイで支払うとカフェ半額だし、電源もあるし素晴らしい。

NuxtMeetUp#5(再度枠増加) - connpass

はい、NuxtMeetup#5について書いていきたいと思います。

NuxtMeetup#5に参加した理由

かんぼ(社長)「自社サービスはSPAでいこう(突然)」

最近から開発を始めた自社サービス、社長の意向でSPA化することになりました。嘉数は普段はバックエンドの開発をしている人間ですが、フロントエンドにも興味があったため良い機会と思いSPA化に賛成しました。

かんぼ(社長)「SPA化する際はNuxt.jsを使おう」

嘉数「Vue.js+VueRouterでよくないですか?」

かんぼ(社長)「とりあえず流行にのっておけ」

なるほど。嘉数は流行に疎いのですが、流行にのるのは大事だなと思いNuxt.jsを導入することにしました。あと触ったことが無いものを触るのって凄く楽しいですよね。

そんなわけでNuxt.jsを導入する前にある程度どういったものか情報収集することと、Nuxt.jsを使って普段から開発を行っている人たちと関わることを目的にNuxtMeetup#5に参加しました。

NuxtMeetup#5について

connpassのNuxtMeetup#5募集ページを見ると、参加枠の人数が160人に達していることが分かります。非常に多い。嘉数もインフラ系のイベントにはよく参加するのですが、そういったイベンドでは多くてもせいぜい30人程度でした。フロントエンド界隈の、今回で言えばNuxt.jsの人気具合が伝わりますね。半信半疑だったけどちゃんと流行ってたんだな...。

LTセッションでは、はじめの挨拶とスポンサーLTを含めて合計8人の方が登壇していました。Nuxtがビルドされた際に出力されるバンドルサイズでかすぎる問題、nodeサーバをクラスタモードにしてマルチスレッドで捌く話、Nuxtのハマりどころ、nuxt-i18nを使って多言語対応したけどSEO対策するとheadタグの中身が消える話、NuxtでJAMStackな開発をする話など、様々な話題がLTセッションで繰り広げられました。以下は本イベント内で使用された、現在アップロードされている分のスライドになります。

おわりに

今回はNuxtMeetup#5に参加するためだけに当日早朝から東京入りし、翌日の朝に沖縄に帰りました。沖縄・東京間は流石に結構な旅費がかかりましたが、本イベントに参加したことはそれ以上の価値があったなと思います。情報収集も出来たし、何よりNuxt友達が出来たことが嬉しかったです。イベントを運営してくれたスタッフの皆様、有意義な時間を本当にありがとうございました!

広告・告知など

弊社(株式会社リビルド)は沖縄県内でLaravel勉強会、JS勉強会など様々なイベントを開催しています。沖縄県内にいる方はもちろん、本土の人も沖縄旅行も兼ねてイベントに参加していただけると嬉しいです。

「レガシーコード改革!UT/CIでWebサービスの技術的負債を解消する取り組み」に登壇しました

株式会社リビルドの嘉数です!

8/7(火)にランサーズ、BASE、リビルドの三社で「レガシーコード改革!UT/CIでWebサービスの技術的負債を解消する取り組み」というイベントを実施し、リビルド枠として嘉数は「Laravel5.5的継続的インテグレーション」というタイトルで登壇させて頂きました。

【好評につき増枠!】レガシーコード改革!UT/CIでWebサービスの技術的負債を解消する取り組み - connpass

というわけで各セッションについて非常にざっくりとした感じで書いていきたいと思います!

「決済リプレイスとPHPバージョンアップを支えたユニットテスト

スピーカーはBASE株式会社の東口和暉さん。ユニットテストについてお話して頂きました。

  • テストをしやすくするためにコードを疎結合にしてMockを差し込めるようにする、テストしにくい部分は破壊的だがrunkitを使用してコード内部の処理を変更する
  • テストを書く人・書かない人に分かれないよう全員がテストを書きやすい環境を整える
  • 溜まってきたテストの知見を活用して「破綻しやすいテスト」を書いていないか確認する

手探りで何が最適なのかを探しながらテストコードを書いている自分としては、非常に共感が得られる内容でした!

「レジェンドコードと向き合いレガシーからモダンへ変革する」

スピーカーはランサーズ株式会社の永田真也さん。ランサーズがこれまで行ってきた開発の歴史、もっと言えばテストの歴史についてお話して頂きました。

  • アプリ自体はPHPで実装しているが、E2EテストはRSpec+Capybaraのように疎結合に導入できるものを使用した
  • 技術的負債を解決するために多くの失敗を重ねるが、その失敗と向き合い改善を続けて前に進み続ける、徐々にコードを進化させていくことを意識する

起業から11年経った会社のテストに対する取り組みの変化は非常に面白かったです!

弊社の発表!「Laravel5.5的 継続的インテグレーション

発表!

そしてこちら弊社のプレゼン資料、タイトルで「〜的〜的」と的が連続しているのが気になります。

こちら発表風景になります。

20180807_レガシーコード改革01.jpg - Google ドライブ

20180807_レガシーコード改革02.jpg - Google ドライブ

質疑応答!

弊社の発表後にいくつか質問を頂いたのですが、質問内容が興味深いものでした。以下はその時の質問と回答の内容になります。

  • Q:「LaravelのPHPUnitでテストを書く際、どこからどこまでがユニットテスト結合テストの範囲なのか?」
  • A:「現在の開発であれば、結合テストには"機能の一連の手続き"と"コントローラ内のアクション"についてのテストを記述している。ユニットテストには"他に依存しない独立されたサービスクラス"のテストを記述している。ここらへんの配分って難しい、分かりみ。」

Webアプリだとユニットテスト結合テストの境目がどこからやねーんってなりますよね。皆も同じように思ってるんだなぁと感動しました(笑)。

  • Q:「GitLab CIでコンテナを使用してテストをしているようだが、最終的なデプロイ先もコンテナなのか?そうでない場合は冪等性が保証できないが、環境のテストも行っているのか?」
  • A:「今回はデプロイ先はEC2を想定していたので、コンテナは使用していない。また、環境のテストは行っていない。」

この「環境のテスト」という考えがとても面白いなと思いました。テストをする環境とデプロイ先の環境が全く同じであれば環境のテストは必要ないかもしれませんが、これらの環境が異なる場合は何が異なっていてどういった影響があるかなど確認しておく方が良さそうですね。かなり勉強になりました。

おわりに

今回のイベントでは、テストについて自分だけでなく皆が四苦八苦しながら取り組んでいるのだなと感じました。共感を得られて且つ知見の共有にもなる、とても良いイベントでした。イベントを主催してくれた方々、スタッフの方々、参加してくれた方々、皆さん本当にありがとうございました。そして懇親会のお肉が最高だったことは忘れません、ありがとう。