作者stillboy (joey)
看板Soft_Job
标题Re: [请益] web前後端的选择
时间Mon Dec 16 15:29:03 2019
我自己full stack 对两端都有粗浅的了解
但
看到这麽多前端的hater就觉得无奈QQ
你不懂前端 你要说啊! bro
客观来说好了 台湾的後端??
除了几家走出国际的大数据公司 or 本来就是国际大公司
有多少公司的後端达到C10K的等级? (新手不知道的 请自行Google)
据上个月vpon座谈 如果我没记错 最复杂的子系统 qps约6000~7000左右吧?
// 澄清一下R 并没有说vpon目前的架构 无法处理C10K的问题喔
// 同场加印 "江蕙演唱会抢票造成系统挂掉"的事情分析 by jserv
//
https://www.slideshare.net/jserv/ticket-vending
// 各位看官自行评论吧
如果连C10K都没有的话 这种规模和复杂度就不要拿出来嘴惹
如果是大陆的一二线软体公司的後端 C100K C1000K都有
这种後端 我举双脚和双手赞成 如果是台湾的
台湾 除了少数的公司 其他去了 就算年资10年 最後还是领低薪
解决问题的scale就在那里 ..你解决问题的等级多高 薪水就多高
领底薪也是合情合理
然後
顺便厘清一下
真正的前端 跟 美术
一 点 关 系 都 没 有
说有关系的 大概还停留在dreamweaver 和 fontpage的时代吧
或 所待个公司和产业 太过老旧.
在现代
美术和体验的职位 叫做『UI/UX』 看公司大小 有些公司例如Google
会再细分 叫做 UX researcher 这种相关职等的人 会跟工程的人有许多讨论。
前端在近10年来因为硬体日新月异 导致client端能做的事情变爆干多
原本的架构是後端处理所有的事情 client端收到资料 显示出来
but 现在可能一个页面有几百个api的需求 加上行动装置的出现
导致原本back-end request数量变超级大
比较烂的解法当然就是直接买更多机器 但成本会变很高
所以 有人想 既然前端硬体效能变好 那为啥不好好利用前端?
所以前後端分离出现了 也就是所谓的SPA 之後为了改善SEO and initial loading slow
的问题 又走到了 进阶版的server-side rendering 但是 based on SPA.
走到这个SPA level之後 前端有自己的server 後端也有自己的server
因为这样的配置 导致後端的工作量大为减少 而把这些工作量丢给client端
从而後端可以handle更多的工作量
所以为啥会看到 有些前端职位的需求要会redis node.js nginx
but 这只适用於不需要太复杂的情况 复杂一点的情况的client server
还是需要考群以及分散式的需求 这样的话 可能还是会由後端来处理。
而此时的前端基本上就变成应用程式软体一样
需要什麽资料跟後端要 要回来自己处理
同时也要效能 安全性 兼容性 design pattern 也是不容忽视的一环
所以说 为啥前端有些你看徵才文 薪水不比後端差
就是因为前端 早就不是以前的前端了
最後总结一下
走到极端的後端 VS 极端的前端
论复杂度 毫无疑问 後端屌打前端
但前提是 产品的scale要很大 (例如server的数量及至少至少要 > 50)
且 有很多real-time和巨量的数据的issues需要处理
这种架构以上都是分散式或微服务 跨区以上的等级
需要处理很多race condition/一致性/...等 复杂的问题
而一堆公司的後端常常会包含DBA 那就更复杂
如何取舍该功能是使用sql or nosql 并且对sql or nodql底层原理有通盘的了解
但台湾走到这种scale的软体公司 屈指可数
所以如果要在台湾工作的话 选自己爽的比较重要
什麽叫做自己爽? 有些人天生喜欢面对client 喜欢面对画面
有些人喜欢always面对程式码 有些人喜欢自己写一些web or app应用来玩
只要你在任何一端强的话 薪水早就不会是什麽大问题了
当然普遍来说 後端天花板会比较高
最後 不建议新手 走什麽full-stack拉
full-stack 要顾 前後端 devops 然後五年後 全部都半桶水(半桶水其实是很高估)
很多事情欲速则不达 full-stack代表你要做的事情就是爆干多
根本没时间反刍 根本没时间好好理解原理 基础根基根本就不稳
比较好的path是你先走任何一端5~7年以上 再走任外一端5~7年以上
先把一端的基础好好打好 念熟 到讲一堆观念 就像吃饭喝水一样的解释给旁人听
当然一个最重要的前提是 你们公司做的产品是很有挑战性的
所谓有挑战性就是 後端至少朝C10K 甚至C100K走
前端 朝做tool走 而不是一直在那边单纯无脑刻画面
而不是 product的 level一直在 0~1 1~10打转
在这种有挑战的公司各呆至少五年 我想 应该可以自称 junior full-stack惹
看到一堆人 写没几年 react+node.js+mongoDB就自称full-stack
问他为什麽是node.js 为什麽mongoDB 也说不出个所以然
也是没错 大概是产品scale < 100 简单应用的 full-stack . 也没啥问题!
好拉 讲太多惹 大概是这样
--
嘘 flyoverthemo:你知道你妈在这里PO废文吗? 02/24 01:01
→ flyoverthemo:打错... 02/24 01:02
→ flyoverthemo:你妈知道你在这里PO废文吗? 02/24 01:02
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.160.155.140 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1576481357.A.3C8.html
※ 编辑: stillboy (1.160.155.140 台湾), 12/16/2019 15:31:06
1F:推 highland: 这篇 清新 专业 必须推 12/16 15:56
2F:推 plsmaop: 台铁跟 KKTIX 有 c100k ㄅ 12/16 16:05
3F:→ MOONY135: 现在全端其实是好听...实际上就是东一点西一点 12/16 16:44
4F:推 vi000246: 专业推 前後端的天花板都很难达到 12/16 16:55
5F:→ vi000246: 选自己喜欢的就好 12/16 16:55
6F:推 DCTmaybe: 前端真的跟美术没什麽关系,推推 12/16 16:59
7F:推 tangblack: 符合我能看到的状况 12/16 17:15
8F:推 GLaDOS1105: 推这篇 12/16 17:19
9F:推 brianwu1201: 专业 12/16 17:20
10F:推 johnny4753: 你也太认真了,就文人相轻阿,这问题其实跟白人歧视 12/16 17:25
11F:→ johnny4753: 黑人有87分像 12/16 17:25
12F:推 oneword416: 推 12/16 17:26
13F:推 BignoZe: 有分享有推 不过跟我理解满大差异的的 做个记号有空来补 12/16 17:26
14F:→ BignoZe: 文 12/16 17:26
15F:嘘 pig2014: 你让我射出来了 12/16 17:29
16F:推 SmallpTsai: 推这篇 12/16 17:48
17F:推 a90100: 请问前端朝 tool 走是什麽意思啊? 12/16 17:50
18F:推 mrmoneyc: C100K 的话,KKTIX 有喔… 现正缺队友(招手 12/16 18:09
19F:推 y3226999: 推 12/16 18:12
20F:推 m3gl4a: 推 前端还是常常遇到要处理画面给人看,每个人观感不同就 12/16 18:28
21F:→ m3gl4a: 让一格画面调两三次 12/16 18:28
22F:嘘 alihue: 後端又不只有 c10k 问题 12/16 18:29
23F:推 sharku: 推 12/16 18:37
24F:推 shaomi: 推 获益良多 12/16 19:47
25F:推 LERICAL: 推 12/16 20:04
26F:→ x000032001: C10K已经是10年前的事了 安安你听过SLA吗 12/16 20:13
27F:推 max533: 专业,推推 12/16 22:11
28F:推 invidia: 感谢分享 12/16 22:15
29F:推 jj0321: 痛哭流涕 12/16 22:45
30F:推 shieldsky: 感谢分享 12/16 23:03
31F:推 bheegrl: 推 12/16 23:18
32F:推 LinuxKernel: 台湾九成後端=CRUD工程师 12/17 00:02
33F:推 pika377: 赞感恩分享 12/17 00:22
34F:推 bomin0624: 推 12/17 06:03
35F:推 twgamerave: 推这篇,台湾一堆工程师相轻真的挺白痴的 12/17 07:19
36F:推 yujufang: 推 12/17 07:35
37F:推 cloudskyblue: 推这篇 历程跟理解都跟你一样 12/17 07:48
38F:→ cloudskyblue: fullstack就是会乱凹你负责不相干东西的意思 12/17 07:49
39F:→ cloudskyblue: 到最後什麽都学不好 12/17 07:49
40F:推 lk2986706we: 说前端要设计很简单跟说後端不就捞资料库一样 12/17 08:19
41F:推 sppqre: 推 选自己爽的领域比较重要 12/17 08:25
42F:推 chialin7: 好文! 12/17 10:58
43F:推 zased: 是不是有些以管窥天了 屈指可数...?你真的走访过每间企业 12/17 11:38
※ 编辑: stillboy (1.160.155.140 台湾), 12/17/2019 15:13:44
44F:推 nfsong: 推 12/17 16:30
45F:→ alihue: 以管窥天没错啊,常见的电信商,广告商,电商不管qps或要 12/17 18:16
46F:→ alihue: 处理的log量都很大,更别说很多你没听过但技术量也很高的 12/17 18:16
47F:→ alihue: 公司或博弈 12/17 18:16
48F:推 LinuxKernel: 看来有後端很气喔XD 12/17 19:13
49F:推 viper9709: 推这篇~原来是这样 12/17 21:35
50F:推 marc47: 推这篇,别求一人full stack,分工就大家脑力激荡才能做出 12/18 01:29
51F:→ marc47: 有竞争力的产品 12/18 01:29
52F:推 b85040312: 感谢 这篇的内容可以解我一大部分的疑惑了,另外我想 12/18 08:22
53F:→ b85040312: 问问要怎样分得出来一间公司是把前端当成专门写画面的 12/18 08:22
54F:→ b85040312: 还是当成专门作功能的,因为我最近面试一直都碰到强调 12/18 08:22
55F:→ b85040312: 画面的,然後就被电的很惨,但是我注重的不是画面那个 12/18 08:22
56F:→ b85040312: 方向。还是说新手向的公司可能比较少这一种的工作呢 12/18 08:22
57F:推 vi000246: 可以问问他们有没有专做美术的设计师 12/18 09:09
58F:→ superpandal: 全端也是可以 只要你有能力自己做较底层的 但台商给 12/18 10:42
59F:→ superpandal: 不起高薪 业界大部分的派系都是用框架 所以会做人的 12/18 10:43
60F:→ superpandal: 赢 12/18 10:43
61F:→ superpandal: 反正我有方法解决 看我愿不愿意而已 12/18 10:45
62F:→ superpandal: 业界很烦的 派系内还有再细分 12/18 10:51
63F:推 b85040312: @vi000246 你意思是说在约面试的时候先问他们吗? 12/18 12:50
64F:→ b85040312: super 说的是鄙视链吗? 12/18 12:51
65F:→ jim7434: 台湾很少 C10K 的公司? 科科,你觉得是就是吧... 12/18 13:04
66F:→ jim7434: 後端工程师也不是每个系统都需要考量 C10K 以上的问题吧 12/18 13:07
67F:推 s106667: 现在不少公司前端比後端还复杂勒 後端就出api而已 12/18 14:38
68F:推 s106667: 前端还常常要和PM、业务、设计沟通,累阿,有问题也都先 12/18 14:41
69F:→ s106667: 找前端 因为他们看不出是前端还後端的问题 只知道画面这 12/18 14:41
70F:→ s106667: 里怪怪的 12/18 14:41
72F:→ vi000246: 看来这张图要反过来了 後端出api而已 满简单的 12/18 15:31
73F:推 b85040312: 因为现在都流行前後端分离 後端几乎都只要负责出 api 12/18 15:56
74F:→ b85040312: 然後捞资料而已吧XD 画面甚至资料运算都交给前端... 12/18 15:56
75F:嘘 daddy29: 我以为c10k是基本的 12/18 17:39
76F:→ rocwild: 我还真的没听过C10K。是在算程式码吗? 12/18 22:09
77F:推 jamselee: 跪了 12/19 00:31
78F:→ Ekmund: 有点规模的游戏公司随便都过10K吧 压测都不只这数字 12/19 14:53
79F:→ Ekmund: 问题是 很多验证在功能迭代过程中都变无效的 12/19 14:54
80F:→ Ekmund: 真正会去回头注重这种软体工程问题的才是少数 12/19 14:55
81F:推 ihave3cm: 跪着看 12/19 17:32
82F:→ superpandal: 还不只鄙视链 hahaha 12/20 14:57
83F:→ washqwe: Node.js现在worker thread 直接share memories效能已经不 12/21 21:02
84F:→ washqwe: 是问题,问题在会不会写 12/21 21:02
85F:推 newhandfun: 推。 12/29 23:55
86F:→ newhandfun: 楼上一些人说後端只要api的可能理解错楼主说是後端的 12/29 23:55
87F:→ newhandfun: 意思了。後段难办的是高流量跟严苛环境下遇到的案例, 12/29 23:55
88F:→ newhandfun: 绝非是"仅仅api"这几个字可以带过的 12/29 23:55
89F:→ newhandfun: 当然前端随着使用者需求跟硬体能力激增也是累((游戏前 12/29 23:55
90F:→ newhandfun: 端表示:干 12/29 23:55
91F:→ acgotaku: full stack没啥不好呀觉得前端的数据流很有趣 01/07 17:10
92F:→ acgotaku: 跟後端很不一样 前端在应用端的深度很深 01/07 17:12
93F:推 curtIsMe: 符合+1 03/01 15:52