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

名刺アプリ「Eight」におけるFrontend Ops

SansanTech
February 22, 2024

名刺アプリ「Eight」におけるFrontend Ops

■イベント
GENBA #2 〜Front-End Opsの現場〜
https://timeedev.connpass.com/event/308783/

■発表者
技術本部 Eight Engineering Unit
⿃⼭ らいか

■名刺アプリ「Eight」 採用情報
https://media.sansan-engineering.com/eight-engineer

SansanTech

February 22, 2024
Tweet

More Decks by SansanTech

Other Decks in Technology

Transcript

  1. 2005 Google Map 2006 jQuery 2008 Google Chrome, V8 Engine

    2009 Node.js, CoffeeScript 2012 Grunt 2013 Gulp 2014 Babel, webpack それまでのフロントエンドに関するリリース
  2. 主な技術スタック - React - TypeScript フロントエンド - Ruby - Ruby

    on Rails バックエンド - AWS(CodeBuild, S3, CloudFront, …) - Circle CI / GitHub Actions - Datadog インフラ / ツール
  3. ビルド ⽅針 - Viteに寄せる(⼀部webpack) - ビルド時に最適化できるところはやる - JSファイルは適切にChunk分割する - スタイルではCSS

    Modulesなどゼロランタイムを意識 - あまり設定をカスタマイズしない - ビルド速度には⼒を⼊れる - BabelからSWCに移⾏して⾼速化&省メモリ化
  4. - Local: ファイル保存時、Gitフック(Lefthook) - フォーマット、Lint - CI - フォーマット、Lint、型チェック、テスト、ビルド -

    時間がかかるテストやビルドを最初から⾛らせてしまう - 差分に関係ないJobは実⾏しない - CD - CodeBuildやスクリプト(主にS3アップロード) CI/CD
  5. - CDN(CloudFront) - ブラウザ - 静的アセット(ハッシュ付きファイル名) - 状態管理(Redux、Apollo Client) -

    CI/CD - ダウンロードしたnpm package - フォーマット・Lint・型チェック・ビルドの結果 キャッシュ
  6. アプリケーション監視 DatadogのLogs・Real User Monitoring(RUM) - エラー監視 - アラートは即時対応 - 週次でエラーログをチェック

    - 関係ないエラーの場合は除外するようにフィルタを調整 - パフォーマンス監視 - RUMでCore Web Vitalsを計測