Mobile Factory Tech Blog

技術好きな方へ!モバイルファクトリーのエンジニアたちが楽しい技術話をお届けします!

Meguro.es # 20 @ DrecomでJavaScript + Dockerの知見について発表しました

こんにちは。ブロックチェーンチームでエンジニアをしているid:odan3240です。 4月4日に行われたMeguro.es #20で「JavaScript + Dockerの知見」というタイトルで登壇してきました。今回の記事はその発表の紹介です。

発表の背景

モバイルファクトリーに入社してからの約1年間でいくつかのサービスに関わってきました。

チームの開発では、フロントエンドはvue.jsやnuxt.jsが、バックエンドではTypeScriptが採用されることが多いです。実際関わったお仕事の技術スタックは次のようになっています。

  • サービスサイト
    • フロントエンド: nuxt.js
  • ブロックチェーンアプリ検索サイト
    • フロントエンド: nuxt.js
    • バックエンド: TypeScript
  • ブロックチェーンアプリ開発ツールキット
    • 実装: TypeScript
    • サンプルアプリ: vue.js

このうちブロックチェーンアプリ検索サイトでは、開発環境にDocker for Macを、本番環境にDockerを使用しています。
チームではデザイナがvueファイルを触ることがあるため、docker-compose up を叩くだけで簡単に開発環境が立ち上がることを理由にDocker for Macを使用していました。

知見

このような背景でmeguro.esではJavaScript+Dockerに関する次の5つの知見を共有しました。

  • コンテナのnode_modulesを守る
  • ホストのnode_modulesを用意
  • Docker for MacのI/Oが遅い
  • node.jsはPID 1を想定していない問題
  • .dockerignoreを用意する

詳しくはスライドをご覧ください。

speakerdeck.com

反響

懇親会

フロントエンドの開発環境についての情報交換を行いました。スライドで主張していた「開発環境をDockerに閉じ込めてもコード補完のためにホスト側にnode_modulesを用意する必要がありつらい」に共感する話をいただけました。自分の中でもやもやしていた不満点は、他の方も同様に感じていることがわかり安心しました。

ネット

スライドを公開したところはてなブックマークでいくつかのコメントがつきました。 http://b.hatena.ne.jp/entry/s/speakerdeck.com/odanado/knowledge-of-docker-in-javascript

また、IOボトルネックの観点からもフロントエンドの開発環境にDockerは不要だという言及もされました。

mizchi.hatenablog.com

終わりに

meguro.esは名札に貼る属性シールが用意されているなど、参加者に配慮されているとても良い勉強会です。興味のある方は6月6日に予定されている meguro.es #21 に参加してみてはいかがでしょうか。

Meguro.es # 20 @ Drecomの参加レポート: https://meguro.es/posts/meguro-es-20