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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Souma Suzuki
December 19, 2019
Programming
3
900
チームで作るフロントエンドの歩き方
2019/12/19 に行われた HRBrain Engineers Meetup の登壇資料です
Souma Suzuki
December 19, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
Fluid Templating in TYPO3 14
s2b
0
130
CSC307 Lecture 07
javiergs
PRO
1
560
プロダクトオーナーから見たSOC2 _SOC2ゆるミートアップ#2
kekekenta
0
220
要求定義・仕様記述・設計・検証の手引き - 理論から学ぶ明確で統一された成果物定義
orgachem
PRO
1
220
ノイジーネイバー問題を解決する 公平なキューイング
occhi
0
110
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
Best-Practices-for-Cortex-Analyst-and-AI-Agent
ryotaroikeda
1
110
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
180
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
180
Raku Raku Notion 20260128
hareyakayuruyaka
0
360
CSC307 Lecture 05
javiergs
PRO
0
500
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
390
Featured
See All Featured
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.3k
Amusing Abliteration
ianozsvald
0
100
Joys of Absence: A Defence of Solitary Play
codingconduct
1
290
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
96
Thoughts on Productivity
jonyablonski
74
5k
HDC tutorial
michielstock
1
390
Navigating Weather and Climate Data
rabernat
0
110
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
110
Are puppies a ranking factor?
jonoalderson
1
2.7k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
380
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
230
KATA
mclloyd
PRO
34
15k
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 モックサーバー
まとめ
まとめ ⾊々な技術を使ってるよ 設計をおざなりにしないよ 楽しく開発するために⾊々なものを活⽤してるよ