react前端 go后台_前端工程师吐后端工程师(第一讲)——前端工程师的尴尬

792e52b8fc593ddb5105a3442fb4d68d.png

前端工程师发展到一定程度就会出现自己的瓶颈,因为越到职业发展后期我们越能发现,如果想要做成一个技术上的项目,需要的不仅仅是前端技能。其中还涉及到很多技术,比如:你要做个人博客肯定需要有一个后台服务器,要搭建一个服务器比如:Apache、nginx、Nodejs等。然后选择一门后端业务语言比如:Java、PHP、JavaScript、Python、Go等语言,然后选择一种数据存储方式比如:MySQL、MoongoDB、Oracle、Elasticsearch、Redis或者文件存储等存储方式存储数据。

当然这些还远远不够,技术与技术之间的衔接点也是前端工程师不擅长的,比如:连接redis需要释放连接,连接数据库什么时候该释放连接,什么时候要一直持有连接。后端服务不是前端页面,刷新一下所有的东西重新开始。内存泄露、服务器资源打满不像前端那么难。

我们举一个实际中的例子,我有一个同事叫小黑,是一名很不错的前端工程师。上层应用做的溜的起飞,Angular、React、Vue。以及各种周边类库用的滚瓜烂熟。我感觉业务层面让他做一个东西就难不倒他,下到JavaScript内能运行机制、内存CG流程无所不知,他之前问我的一个问题,我至今记忆犹新。『你说JavasScript里,是 + 号运算快,还是 * 运算快』。我如遭雷击......通过各种论证方式证明+号更快。但是最后,他让我执行了下面这部分代码,结果总是那么意料之外,又在情理之中。

var MaxTest = 10000000000;

var getNumber = () => {

return 3;

return Math.floor(Math.random() * 100);

};

console.time('加法运算');

for (let i = 0; i < MaxTest; i++) {

let b = MaxTest + getNumber();

}

console.timeEnd('加法运算');

console.time('乘法运算');

for (let i = 0; i < MaxTest; i++) {

let b = MaxTest * getNumber();

}

console.timeEnd('乘法运算');

但是就是这样一个人,在突然有一个要做个人站想法之后,开发个人站的时候却处处碰壁。他的第一个问题就是不懂得任何后端语言,他个人对Go非常感兴趣,我也不知道他到底对开发语言有没有做过横向的对比。用他的话说凭直觉就行了,他要是都了解完,然后去对比估计他都不见得做技术了。就这样他在莫名其妙的情况下选择了Go。

紧接着又面临一个问题是选择WebServer也就是服务器。好在他使用Go作为个人站的开发语言,Go的net/http模块跟,nodejs的http模块一样好用。所以WebServer这一环他可以暂时省掉了。

紧接着又是数据库选型,他大学时候的MySQL学的还不错,然后又很渴望MongoDB这种Json形式的存储方式。纠结了很久之后,最后选择了他的大学。

后来在他设计数据库表的时候又碰到了问题。什么样的值要用什么样的类型来存储,什么样的字段适合加索引,数据库中到底要存些什么东西。

后来......

后来.......

后来他放弃了只做个人站。

这样的一个技术牛人毅力在我的认知力应该是很强的,但是他仍然被这种困难打败,让我意识到一个前端工程师想要掌握后端知识,乃至转型成为一个后端工程师的困难之大,超乎我的想象。

另外,也有很多研发的弟弟妹妹跟我反馈前端天花板低,成长受限。也来咨询我如何学习后端,或者转型成为一名后端工程师。所以就此挖挖坟,每隔一段时间更新一篇文章,讲解一下前端工程师要如何学习后端知识。我会以类比法来跟大家谈到这个过程,争取每一个后端知识点,能找到一个前端知识点进行类比对应,类比只是为了方便大家理解,千万不要以为他们是一个东西。

陈辰(CC老师) 978563552@qq.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值