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
fastbuild-前端资源打包平台架构与设计及其他
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Joe Wang
March 25, 2019
Programming
230
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
fastbuild-前端资源打包平台架构与设计及其他
Joe Wang
March 25, 2019
More Decks by Joe Wang
See All by Joe Wang
An Introduction to Reactive Programming based on RxJS
nodew
0
62
Lazy List With Generator and Iterator
nodew
1
760
ddd.pdf
nodew
0
230
An Introduction to Haskell
nodew
2
95
es6 proxy overview
nodew
1
77
Other Decks in Programming
See All in Programming
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
1
550
関数型プログラミングのメリットって何だろう?
wanko_it
0
190
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
1
350
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
190
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
110
FDEが実現するAI駆動経営の現在地
gonta
2
200
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
190
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
170
「正の参照」と 「負の導出」で組む ハーネスエンジニアリング
cottpan
1
150
霧の中の代数的エフェクト
funnyycat
1
420
【やさしく解説 設計編 #1】「ドメイン駆動」と「実装駆動」ってなに? 〜設計の考え方を、たとえ話で学ぼう〜
panda728
PRO
1
120
AI時代のPHPer生存戦略 ~「言語、もうなんでもよくない?」に本気で向き合う~
vivion
0
150
Featured
See All Featured
Darren the Foodie - Storyboard
khoart
PRO
3
3.5k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
320
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
750
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.3k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Automating Front-end Workflow
addyosmani
1370
210k
Chasing Engaging Ingredients in Design
codingconduct
0
240
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
470
How STYLIGHT went responsive
nonsquared
100
6.2k
Leo the Paperboy
mayatellez
8
1.9k
Optimising Largest Contentful Paint
csswizardry
37
3.8k
Transcript
Fastbuild 前端资源打包平台架构与设计及其他 Joe
Why another fxxk build platform ?
None
Known problems • ⼈⾁添加/修改项⺫配置,⽽且添加⼀个项⺫要同步到三个项⺫,上机发布三个项⺫ 的代码 • 任务已经失败退出,前端仍然显⽰打包中 • cancel⼀个任务,拿不到⽇志⽂件 •
任务机显⽰被占⽤,其实是闲置的,但是没办法添加新任务 • 任务机区分node版本,没办法充分利⽤资源 • websocket推送⼤量⽆⽤数据,⼀条消息⼏⼗k的数据 • 前端⻚⾯cpu占⽤⾼(真的没有⽤来挖矿 • 没办法深度扩展
⽼版 build平台 调⽤关系⽰意图
Show some code
None
None
None
“If you could not refactor the fxxk legacy code, just
rewrite it!” - Joe
None
None
None
Show some code
Task Runner Steps
Make Command
ENV
Fastbuild ⽬录结构
Pros and cons in golang • Standalone executable file, no
dll required • Performance • Lightweight channel • Build-in test support • Error handle • Interface{} • Interface • No generics • Lack of functional programming support
Protobuf & GRPC
What are Protocol buffers Protocol buffers are Google's language-neutral, platform-neutral,
extensible mechanism for serializing structured data https://developers.google.com/protocol-buffers/
None
What are GRPC A high-performance, open-source universal RPC framework https://grpc.io/
None
None
None
Next Step • Integration with OPS • Delivery fastbuild with
one click • Improve the user experience • Use NSQ if possible
The end