Upgrade to Pro — share decks privately, control downloads, hide ads and more …

フロントエンドエンジニア (実稼働まで) ひとりでできるもん

gyarasu
October 18, 2018

フロントエンドエンジニア (実稼働まで) ひとりでできるもん

2018/10/18 NuxtMeetupでの登壇時の資料です(抜粋版)。

・Nuxt.jsを使って、Expressを含めたフルスタックのアプリケーションを実稼働させるための流れを書いています。
・Firebase等のBaasを使えばシンプルに解決する問題ではありますが、会社によってはそれらのクラウドサービスが利用できないことがあります。そういった状況を考慮した上で「典型的なWebサーバ+DBの構成でどう動かすか」を前提にしています。

gyarasu

October 18, 2018
Tweet

More Decks by gyarasu

Other Decks in Technology

Transcript

  1. 自己紹介 • 吉次 洋毅(ヨシツグ ヒロキ) • 1991年生(27歳) • 徳山高専 専攻科修了

    • 経歴 ◦ 1年目〜3年目: ぐるなび(主にPHPエンジニア) ◦ 3年目〜現在: パーソルキャリア(主にフロントエンド。 React, Vue/Nuxt。) ◦ 今年の8月〜: オムニス(主にフロントエンド。 Vue/Nuxt。副業。)
  2. 技術スタック(現時点) • フロントエンド ◦ Nuxt.js(SSR) ◦ PWA(nuxt-pwa-module) • バックエンド ◦

    Express.js ◦ MySQL ※機械学習部分は別部隊が開発し、APIで連携している これだけ。 今後、サービスのグロースに合わせて見直していく必要はあるかも。
  3. 体制(現時点) 人が少ない! • インフラエンジニア: 1人(忙しい) • フロントエンドエンジニア(サーバサイドも兼任): 1人(吉次。それなりに時間を割け る) • 企画:

    1人 • デザイナー: 1人(忙しい) • 機械学習→別部隊 ものづくり先行で進め、適宜デザインを取り入れながら 少ない人数でローンチまでは早くしたい!
  4. 含んでいるもの • Nuxt.js: フロントエンド(SSR) ◦ 認証チェックミドルウェア • Express.js: バックエンドAPI ◦

    MySQLへの接続 ◦ サンプルのAPI(認証ルート含む) ◦ セッション管理 ◦ 【WIP】ロギング ◦ 【WIP】環境別の設定ファイル ◦ 【WIP】エラーハンドリング ◦ 【WIP】マルチプロセスでの Nodeサーバ稼働・プロセス監視・ 80番ポートでの起動 • MySQLコンテナ ◦ MySQL5.7 ◦ サンプルテーブル自動生成
  5. NodeでWebサーバを立てるときにつまずくこと • 80番で動かしたい ◦ well known portはrootユーザでの実行が必要 ◦ root以外のユーザでも起動ができる ◦

    http://pm2.keymetrics.io/docs/usage/specifics/#listening-on-port-80-wo-root ◦ authbindを導入して、pm2のエイリアスを設定する