Mobile Factory Tech Blog

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

Gotanda.js #11 速報レポート

こんにちは、id:kfly8です。今回は1年2ヶ月ぶりの開催となったGotanda.js #11 の速報レポートをしたいと思います!

Web Components入門 - tiwu official

Node.jsでのrecursive readdirを考える - あらや

(ピザを受け取っていた為、聞けませんでした...) (node.js でディレクトリを再帰的に探索するときに、ファイルかディレクトリか区別する時に簡潔になり、またPromiseとしても扱えるようになったという話と懇親会で聞きました)

Gatsbyで画像を扱うときのTips - takanorip

静的サイトジェネレータのGatsbyで、サイズなど動的に画像を扱いたい時に、gatsby-transformer-jsonを使うとgatsby image でいい感じにごにょれるようになる。けど結局、CDNの機能使う方がいいんじゃない?というオチ。

フロントエンドをふりかえる - kahirokunn

アーキテクチャは人に依存するより、仕組みに依存させた方が良さそうという話。資料楽しみです。

休憩

今更recomposeの話 - Quramy

React Hooks の登場で、メンテナンスは終了しているけれど、recomposeが使われたコードをメンテナンスしている人もいるだろう、とのことで発表されました。裏話としては、「ジェネリクスが含まれる汎関数を返すような関数」の話をしたく、その例として、recomposeを思いついたとのこと。 TS3.4からcomposeしても型アノテート少なく型推論できて便利って話をしていた(と思います)

AWS CDK の話 - yamatatsu

dockerでnodeの開発は厳しいのか? - mizuki_r

Docker on Mac は、volume mount しているとIOが非常に遅く、開発に困る。mountを外せば、hostのIOとほぼ変わらない形にできる。 しかし、VS Codeで補完を機能させるには、mountされている方が都合が良い。そこで、最近公開されたVS Code の insiders build を使うことでホストにマウントせずに、VS Codeの恩恵に預かれるという話。

Gatsby.jsとNetlifyとの付き合い方 - kikunantoka

懇親会

まとめ

ゆるさがウリと、Gotanda.jsの噂を聞いていたのですが、確かにスライド無しでわいわい話したり、参加しやすいコミュニティだなーと思いました。 個人的には、今回、Gatsby.jsの話が多かったので、試してみたいと思いました!

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