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
860
チームで作るフロントエンドの歩き方
2019/12/19 に行われた HRBrain Engineers Meetup の登壇資料です
Souma Suzuki
December 19, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
そのAPI、誰のため? Androidライブラリ設計における利用者目線の実践テクニック
mkeeda
2
1.8k
Android 16 × Jetpack Composeで縦書きテキストエディタを作ろう / Vertical Text Editor with Compose on Android 16
cc4966
2
260
AI Coding Agentのセキュリティリスク:PRの自己承認とメルカリの対策
s3h
0
230
Cache Me If You Can
ryunen344
2
3k
ファインディ株式会社におけるMCP活用とサービス開発
starfish719
0
2k
「待たせ上手」なスケルトンスクリーン、 そのUXの裏側
teamlab
PRO
0
560
1から理解するWeb Push
dora1998
7
1.9k
@Environment(\.keyPath)那么好我不允许你们不知道! / atEnvironment keyPath is so good and you should know it!
lovee
0
120
時間軸から考えるTerraformを使う理由と留意点
fufuhu
16
4.8k
もうちょっといいRubyプロファイラを作りたい (2025)
osyoyu
1
450
Reading Rails 1.0 Source Code
okuramasafumi
0
250
go test -json そして testing.T.Attr / Kyoto.go #63
utgwkk
3
310
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
850
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
113
20k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Writing Fast Ruby
sferik
628
62k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Docker and Python
trallard
46
3.6k
Statistics for Hackers
jakevdp
799
220k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
810
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
We Have a Design System, Now What?
morganepeng
53
7.8k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
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 モックサーバー
まとめ
まとめ ⾊々な技術を使ってるよ 設計をおざなりにしないよ 楽しく開発するために⾊々なものを活⽤してるよ