Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
チームで作るフロントエンドの歩き方
Search
Souma Suzuki
December 19, 2019
Programming
3
840
チームで作るフロントエンドの歩き方
2019/12/19 に行われた HRBrain Engineers Meetup の登壇資料です
Souma Suzuki
December 19, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
Porting a visionOS App to Android XR
akkeylab
0
590
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
2
560
PicoRuby on Rails
makicamel
2
130
Python型ヒント完全ガイド 初心者でも分かる、現代的で実践的な使い方
mickey_kubo
1
140
ruby.wasmで多人数リアルタイム通信ゲームを作ろう
lnit
3
490
High-Level Programming Languages in AI Era -Human Thought and Mind-
hayat01sh1da
PRO
0
800
MDN Web Docs に日本語翻訳でコントリビュートしたくなる
ohmori_yusuke
1
130
A full stack side project webapp all in Kotlin (KotlinConf 2025)
dankim
0
120
ご注文の差分はこちらですか? 〜 AWS CDK のいろいろな差分検出と安全なデプロイ
konokenj
2
120
すべてのコンテキストを、 ユーザー価値に変える
applism118
3
1.4k
猫と暮らす Google Nest Cam生活🐈 / WebRTC with Google Nest Cam
yutailang0119
0
160
10 Costly Database Performance Mistakes (And How To Fix Them)
andyatkinson
0
440
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
95
14k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.4k
How to Think Like a Performance Engineer
csswizardry
25
1.7k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Visualization
eitanlees
146
16k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Into the Great Unknown - MozCon
thekraken
40
1.9k
Raft: Consensus for Rubyists
vanstee
140
7k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
For a Future-Friendly Web
brad_frost
179
9.8k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Transcript
チームで作る フロントエンドの歩き⽅
誰? 鈴⽊ 聡真 フロントエンドエンジニア TypeScript を書く仕事をしています 座右の銘 楽しく働く 得意なこと 三⾓⾷べ
弊社のフロントエンド
メインのサービス ⽬標評価管理 React / TypeScript ⼈事データベース React / TypeScript 認証サービス
React / TypeScript
React / TypeScript しかやってない!
そんなことありません LP Nuxt ( Vue ) ヘルプページ Nuxt ( Vue
)
最適な技術選定 メインのサービスではできるだけスケールする技術を LPはマークアップに寄り添ったSSRできる技術を ヘルプはメンテコストが低く静的HTMLを⽣成できる技術を
技術選定のやり直し ⼈事データベースでは、1から技術選定をやり直しました - React - Vue - Angular - Elm
でもやっぱり React いいよね
新しい技術への挑戦 その技術を選定する理由がしっかりしていれば、いつでも歓迎 - ReactHooks - Formik / Yup - GraphQL
( Apollo ) - Protocol Buffer ( Twirp ) - CustomElement ( 検証中 )
楽しく開発しよう
楽しくないこと バグった!サーバーサイドのスキーマが変わってる 機能改修?コードを触ったらすぐバグるから無理 え、このコード誰がSSHでデプロイするんですか?
楽しくしよう スキーマ駆動開発 Reduxを中⼼とした設計 CI/CDですべてデプロイ
スキーマ駆動開発 Reduxを中⼼とした設計 CI/CDですべてデプロイ
gqlgen / protoc スキーマ *.go .d.ts
モックサーバー スキーマ モックサーバー フロントエンド
スキーマ駆動開発 Reduxを中⼼とした設計 CI/CDですべてデプロイ
コード量が多い
⼤事なこと APIの型とReduxの型は別々に作る Redux はできるだけUIに近い形で作る ロジックはUIに書かず Redux に書く
⼤事なこと ロジックはUIに書かずRedux に書く
⼤事なこと ロジックは UIに書かず Redux
re-ducks パターン Redux Selectors Reducer UI Operations API
Domainを中⼼に考える Redux Selectors Reducer UI Operations API Domain
UIはどうしてるの? Redux Selectors Reducer UI Operations API Domain
Atomic Design Pages Templates Organisms Molecules Atoms UI
複数サービスあると… Pages Templates Organisms Molecules Atoms A Pages Templates Organisms
Molecules Atoms B
ここは共通なことが多い Pages Templates Organisms Molecules Atoms A Pages Templates Organisms
Molecules Atoms B
HRBrain UI ライブラリ まだ内緒だよ
実装を楽にする Pages Templates Organisms Pages Templates Organisms UI ライブラリ デザイン
スキーマ駆動開発 Reduxを中⼼とした設計 CI/CDですべてデプロイ
こんな経験ありませんか? 社⻑が書いたPHPのインデント滅茶苦茶!読めないよ テスト間違ってるのにデプロイしちゃったよ あ!SSHしてたら本番のフォルダ消しちゃった
実話です
CI/CD で楽する Eslint / Prettier を⾃動チェック Jest を⾃動実⾏ 必ずCIからデプロイ
CI/CD フロー Github CircleCI Cloud Build Container Registry Kubernates
CI/CD フロー Github CircleCI Cloud Build Container Registry Kubernates
CI/CD で業務フロー効率化 Github CircleCI Netlify ブランチPreview Developer 仕様・デザイン確認 Firebase モックサーバー
まとめ
まとめ ⾊々な技術を使ってるよ 設計をおざなりにしないよ 楽しく開発するために⾊々なものを活⽤してるよ