免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 48121 | 回复: 9

【话题讨论+送书福利】一个年薪30万的Web全栈工程需要掌握哪些秘密武器? [复制链接]

论坛徽章:
0
发表于 2021-03-01 09:49 |显示全部楼层

获奖名单:

东风玖哥  3楼  @东风玖哥
Fl_wolf   4楼  @Fl_wolf
jieforest   6楼   @jieforest
renxiao2003  7楼   @renxiao2003
aloki        10楼     @aloki
请各位小伙伴4月20日之前站内短信联系我获奖邮寄地址


话题背景:

当前Web开发的场景越来越复杂,涉及计算机界面、手机界面、微信小程序界面、支付宝小程序等,Web开发的门槛也越来越高,涉及前端、数据库和后端开发,需要掌握JavaScript、Node.js、Vue.js、MongoDB、MySQL等技术。Web开发逐渐从之前的“后端+模板”的MVC模式逐渐向Web全栈开发的模式转变,这是一种趋势。这使得Web全栈开发工程师的技术门槛陡增,相应地他们的薪资水平也水涨船高,30万年薪已经不是新鲜事了。如何掌握这些技术并融汇贯通是Web全栈工程师需要面对的问题。近期机械工业出版社出版的《Vue.js+Node.js开发实战:从入门到项目上线 》正好是一本介绍Web全栈开发技术的书籍,可以带领小白读者通过项目实践的方式掌握Web全栈开发需要的常见技术。本次活动便是以此为契机,和各位读者就Web全栈开发技术的相关话题展开讨论,欢迎大家踊跃发言。

讨论范围:

1.你所知道的Web全栈技术有哪些?请具体罗列几种并简单介绍一下这些技术的特性。
2.从零开始开发一个小型的全栈项目一般需要几步?请简单描述一下。
3.你认为Vue.js+Node.js开发全栈项目有哪些优势?请具体描述一下。
4.你认为Vue.js+Node.js开发全栈项目是否有劣势?请具体分析一下。

活动时间:2021年3月3日-3月23日

作者介绍:

张帆,产品经理,互联网创业者。曾在巨人网络等互联网企业担任Web工程师和项目经理等职务。长期从事Web开发,有丰富的项目经验,擅长Python、PHP及Node.js后端服务构建,以及JavaScript客户端开发、微信客户端开发及网站前端开发等。长期研究如何利用各种新技术提升开发效率,解决实际问题。


本期奖品:

最佳积极参与经验分享奖5名,奖励价值89元的《Vue.js+Node.js开发实战:从入门到项目上线 》图书1本。

Vue.js+Node.js开发实战:从入门到项目上线
张帆  编著
书号:978-7-111-67065-0
印张:20(共320页)
定价:89.00元
定价:89.00元
上架建议:计算机/Web开发

Vue.js+Node.js开发实战:从入门到项目上线-立体封面.jpg


参与方式:

直接在该主题下回帖即可。


图书购买:

京东:https://item.jd.com/13061724.html
当当:http://product.dangdang.com/29177720.html


图书试读:

内容简介+前言+目录    第1-2章(试读) 试读样章.pdf (2.15 MB, 下载次数: 0)

论坛徽章:
0
发表于 2021-03-01 13:36 |显示全部楼层
热门图书,欢迎拍砖。lol

论坛徽章:
8
15-16赛季CBA联赛之青岛
日期:2017-05-25 14:27:3415-16赛季CBA联赛之深圳
日期:2017-07-19 09:39:23CU十四周年纪念徽章
日期:2017-08-29 16:08:0115-16赛季CBA联赛之佛山
日期:2017-08-30 19:12:5515-16赛季CBA联赛之山西
日期:2017-12-20 13:50:5519周年集字徽章-19
日期:2019-09-12 16:11:0719周年集字徽章-庆
日期:2019-09-12 16:13:3215-16赛季CBA联赛之北控
日期:2020-04-26 16:30:57
发表于 2021-03-01 20:50 |显示全部楼层
1.你所知道的Web全栈技术有哪些?请具体罗列几种并简单介绍一下这些技术的特性。
基于React的React Native和基于VUE的Weex,此外还有HBuilder和AppCan等,有利用Bridge将HTML标签转化为Android或iOS原生控件的,也有直接利用WebView嵌入网页的。

2.从零开始开发一个小型的全栈项目一般需要几步?请简单描述一下。
只考虑国内场景,只考虑对性能要求不高的小型项目,可以采用以下步骤
(1)利用Node.js搭建后台
(2)利用VUE进行微信公众号网页开发
(3)开发小程序(TypeScript可以视为JavaScript的补集)
(4)利用Weex(相当于Vue Native)开发Android和iOS应用

3.你认为Vue.js+Node.js开发全栈项目有哪些优势?请具体描述一下。
(1)只需要学习一种语言就能开发全栈项目,学习成本低,上手快
(2)JavaScript开发速度快,适合快速迭代

4.你认为Vue.js+Node.js开发全栈项目是否有劣势?请具体分析一下。
(1)Node.js是单线程模型,不适合高并发,对性能要求高的项目不适合
(2)JavaScript是解释型语言,不适合长期维护
(3)外国开发者用VUE比较少,对跨国合作不利

评分

参与人数 1可用积分 +10 收起 理由
飘絮絮絮丶 + 10 很给力!

查看全部评分

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-25 06:20:002017金鸡报晓
日期:2017-01-10 15:13:292017金鸡报晓
日期:2017-02-08 10:33:2115-16赛季CBA联赛之新疆
日期:2018-04-23 13:55:2315-16赛季CBA联赛之辽宁
日期:2018-07-23 08:59:12
发表于 2021-03-02 09:18 |显示全部楼层
1.你所知道的Web全栈技术有哪些?请具体罗列几种并简单介绍一下这些技术的特性。我自己在用的  就是 vue + django ,特点应该就是适用性比较广吧。
后端也可以用 flask
2.从零开始开发一个小型的全栈项目一般需要几步?请简单描述一下。
前端语言+后端语言,做为一个真正的全栈,系统环境搭建,系统内核与访问优化也是必不可少的

3.你认为Vue.js+Node.js开发全栈项目有哪些优势?请具体描述一下。
说实话我NodeJS没有怎么太多去了解过。
字面上看就只需要学JS,学习难度比较低。
相对django,更适合高并发与密级IO的系统
4.你认为Vue.js+Node.js开发全栈项目是否有劣势?请具体分析一下。


由于JS是单线程的原因,如果有长时间运行的计算(比如大循环),
将会导致CPU时间片不能释放,使得后续I/O无法发起;

评分

参与人数 1可用积分 +10 收起 理由
飘絮絮絮丶 + 10 很给力!

查看全部评分

论坛徽章:
93
2015年辞旧岁徽章
日期:2019-10-10 10:51:15CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2020-10-15 16:55:55CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2019-10-10 10:55:38季节之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季节之章:冬
日期:2019-10-10 10:57:17CU大牛徽章
日期:2014-02-21 14:22:52CU大牛徽章
日期:2014-03-13 10:40:30CU大牛徽章
日期:2014-02-21 14:23:15
发表于 2021-03-02 10:58 |显示全部楼层
强大的 js。

论坛徽章:
31
CU大牛徽章
日期:2013-05-20 10:45:13每日论坛发贴之星
日期:2015-09-07 06:20:00每日论坛发贴之星
日期:2015-09-07 06:20:00数据库技术版块每日发帖之星
日期:2015-12-13 06:20:0015-16赛季CBA联赛之江苏
日期:2016-03-03 11:56:13IT运维版块每日发帖之星
日期:2016-03-06 06:20:00fulanqi
日期:2016-06-17 17:54:25IT运维版块每日发帖之星
日期:2016-07-23 06:20:0015-16赛季CBA联赛之佛山
日期:2016-08-11 18:06:41JAVA
日期:2016-10-25 16:09:072017金鸡报晓
日期:2017-01-10 15:13:292017金鸡报晓
日期:2017-02-08 10:33:21
发表于 2021-03-05 09:33 |显示全部楼层
1.你所知道的Web全栈技术有哪些?请具体罗列几种并简单介绍一下这些技术的特性。
所谓Web全栈,就是从前端做到后端,所有的开发自己干完。
1)PHP全栈
早些年最常用的全栈解决方案有LAMP,即Linux + Apache + MySQL + PHP,基于这几个技术,一个网站就能建设完成。
随着技术的演进,LAMP被替代成LNMP,Apache被Nginx替代。
2)Ruby on Rails,早些年比较火的Web全栈解决方案
3)Python on Django,Python语言的Web全栈解决方案
4)Node.js + Express + MongoDB + Vue.js,JavaScript语言的Web全栈解决方案
5)其他
以第四种为例,前端开发和后端开发都是以JavaScript语言为基础,在开发语言层面实现了统一,对开发团队友好,且整套解决方案的学习曲线平滑,易于掌握,属于不错的Web全栈解决方案。

2.从零开始开发一个小型的全栈项目一般需要几步?请简单描述一下。
小型的全栈项目这种需求,可以优先考虑用微信小程序、百度小程序、头条小程序、支付宝小程序等方式来实现,这种方式实现需求很快,能够快速上线。
无论什么Web项目,一般都需要如下几步:
1)原型设计
2)UI绘图、切图
3)前端开发 + 后端开发
4)功能测试
5)产品上线

3.你认为Vue.js+Node.js开发全栈项目有哪些优势?请具体描述一下。
Vue.js+Node.js开发全栈项目有很多优势:
1)组件库丰富。基于Vue的UI框架多的很,比如ElementUI、Antd、iView、Vue Admin、vue-material等等。
2)技术成熟。Vue和Node都经历了多年的发展,在技术上趋于成熟。
3)都基于JavaScript语言,在语言层面上比较统一。哪怕目前在拥抱TypeScript,这一点仍然没有改变。
4)开发者众多,社区规模庞大。以Node.js为例,npm的库已经有数百万个之多,这规模哪怕是互联网巨头公司都完不成,这是全世界开发者的合力。
5)技术问题易于解决。紧接上一条,开发者众多,遇到的各种问题都有人先解决了,不容易陷进坑里出不来。

4.你认为Vue.js+Node.js开发全栈项目是否有劣势?请具体分析一下。
Vue.js+Node.js开发全栈项目也有一些劣势:
1)Node.js并非完美,它对ES6引入的Promise接口、async函数和ES模块的支持都不好,另外npm也过于复杂,以至于Node.js的创始人Ryan Dahl就放弃了Node.js,搞了一个替代品deno。
2)Vue 3发布一段时间了,它与Vue 2完全不兼容,现有的Vue 2项目要升级迁移到Vue 3,改动工作量比较大。另外,绝大多数基于Vue的UI框架目前仍然处于Vue 2阶段,对Vue 3的支持并不好。

论坛徽章:
58
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
发表于 2021-03-05 14:52 |显示全部楼层
本帖最后由 renxiao2003 于 2021-03-15 17:10 编辑

1.你所知道的Web全栈技术有哪些?请具体罗列几种并简单介绍一下这些技术的特性。
前端:HTML/HTML5、CSS/CSS3、Javascript、jQuery、RequireJS、AngularJS、Vue
前端技术主要是负责界面的显示,如HTML/HTML5和CSS/CSS3,而JavaScript及一堆JavaScript的框架主要是富客户端时代的产物,同时将原来很多在服务器端完成的检测工作移动到客户端来完成。很多后期的JavaScript框架还实现了MVC/MVVM的功能。
后端:Java、Struts2/Spring MVC、JPA/Mybatis、Spring Boot、PHP、Python、Perl、Ruby 、.Net等。
后端处理语言主要完成后端对数据的存储、访问及分析等业务。相关的PHP、Python、Perl、Ruby、.Net也有很多成熟的框架来支持全栈的开发和运维。
安全:Shiro、Spring Security
安全主要完成单点登录,访问控制,权限控制的作用。
中间件:Dubbo、ActiveMQ/RabbitMQ、Nginx
中间间主要完成消息的转发,服务的提供等。
数据库:MySQL/Oracle、Redis、MongoDB
数据库分析关系型数据库和NoSQL数据库,主要完成结构化和非结构化数据的存储和访问。
搜索引擎:Lucene、Elasticsearch
搜索引擎更多的是完成数据的分析供前端使用。
代码管理:svn、git
现在代码管理工具主要集中在SVN、Git,VSS基本已经被VSTS代替。但VSTS还比较小众。
构建工具:Maven、Jenkins/Hudson
构建工具主要完成项目的构建和自动编译发布等工作。
2.从零开始开发一个小型的全栈项目一般需要几步?请简单描述一下。
需要从框架的选择,开发语言的选择,开发,测试,上线运芝、维护等工作。
3.你认为Vue.js+Node.js开发全栈项目有哪些优势?请具体描述一下。
1)组件库很多。基于Vue的UI框架比较流行的有Vue-Blu、vue-strap、vuetify、iView、Element;这些组件库方便UI的快速开发。
2)技术稳定成熟。Vue和Node都经历了多年的发展,在技术上趋于成熟稳定。
3)都基于JavaScript语言的技术框架,在语言层面上比较统一。。
4)大量开发者,庞大的社区规模。以Node.js为例,npm的库已经有数百万个之多,这是全世界开发者的合力。并且npm库安装和卸载简单易用,一个简单的命令就可以搞定。
5)技术问题易于解决。当出现问题的时候资料很多,在社区提问也能得到及时的回复。
4.你认为Vue.js+Node.js开发全栈项目是否有劣势?请具体分析一下。
1)大量匿名函数使异常栈变得不好看。
2)无法以 request 为单位 catch 异常,必须确保不要在不 catch异常的第三方库的回调里的抛异常,这在一个异步操作链条里是一件比较麻烦的事。解决方法之一是对那些不 catch异常的第三方库做一些封装,把所有的异常变成事件,改成 on('error') 形式的 API。
3)Vue.js基于对象配置文件的组件写法,背后做了一大堆重挂this之类的魔法操作,对编辑器的语义理解很不友好,组件内自动重构(比如vscode的f2/f12)基本就残废了(所以vue3会有新的class语法);
4)Vue.js官方配件(router/vuex)和社区都流行直接往Vue.prototype上挂东西,this.$router this.$store this.$xxx满天飞,照样不利于编辑器的语义理解,大项目里面很难简单地做项目内跨文件自动搜索引用/自动重构(还是import/export对编辑器比较友好);
5)vuex的commit/dispatch的魔法字符串语法,照样对编辑器语义理解不友好。

论坛徽章:
0
发表于 2021-03-05 16:53 |显示全部楼层

感谢提醒 哈哈哈

论坛徽章:
0
发表于 2021-03-06 10:30 |显示全部楼层
语言

论坛徽章:
8
2017金鸡报晓
日期:2017-01-10 15:13:2915-16赛季CBA联赛之天津
日期:2019-06-20 14:25:4015-16赛季CBA联赛之天津
日期:2019-08-20 23:06:5319周年集字徽章-庆
日期:2019-08-27 13:24:4219周年集字徽章-19
日期:2019-09-06 18:55:5019周年集字徽章-年
日期:2019-09-06 18:55:5019周年集字徽章-周
日期:2019-09-20 17:18:2220周年集字徽章-CU
日期:2020-11-11 13:06:03
发表于 2021-03-06 16:40 |显示全部楼层
1.你所知道的Web全栈技术有哪些?请具体罗列几种并简单介绍一下这些技术的特性。
前端
HTML、CSS 和 JavaScript 是必须掌握的,你还需要学习 React、Vue 或 Angular 等前端框架或库。

后端
Digital Ocean——用于简单的服务器。
Heroku——用于简单和集成的服务器和部署。
Now——用于超级简单的部署。
Firebase——用于托管基础设施和数据库。
AWS——几乎任何你想要的东西,你可以永远不需要考虑自己管理服务器。

2.从零开始开发一个小型的全栈项目一般需要几步?请简单描述一下。
域名购买 => 主机购买 => 域名配置 => 服务器操作系统安装 => 服务器软件运行环境配置(包括用户权限 防火墙) => web数据结构设计(ER图,数据库表) => web页面设计 => web切图写页面 => 后端程序编写(基本的MVC MVVM 数据库CRUD 数据缓存 各种中间件) => 代码压缩混淆自动化上线 => 反向代理配置(nginx) => 代码监控及优化
数据量并发量上来之后:分库分表=>服务器docker化=>自动化部署运维测试=>消息队列引入 等等...

3.你认为Vue.js+Node.js开发全栈项目有哪些优势?请具体描述一下。
(1)同样不优化,性能比大部分语言好。即使优化,也比其他语言简单,比如Java。
(2)有足够多的选择和架构的平衡。
(3)给了我们足够的选择工具
·可以采用面向过程
·可以面向对象
·可以函数式
甚至可以用各种编译器 coffee、typescript、babel(es)等。对于从 0 开始的团队来讲,可以先面向过程、然后随着团队的成熟度,一点一点增加难度。
(4)提供好的基础和包管理工具
·测试相关 tdd / bdd 测试覆盖率
·规范化 standard、各种 lint、hint
·构建相关 gulp、grunt、webpack,大量插件
·生成器 yo 等
·包管理工具 npm 足够简单易用
(5)开发效率,Node.js 本身比较简单,开发效率还是比较高的。完善的生态,比如测试、工具、npm 大量模块。
(6)Node.js 的 Web 开发框架 Express、Koa 等,简单,小巧,精致


4.你认为Vue.js+Node.js开发全栈项目是否有劣势?请具体分析一下。
(1)缺少 Rails 一样的大杀器,scaffold 脚手架,ORM 太弱。
(2)Node.js 的 Web 开发框架集成度不够

评分

参与人数 1可用积分 +10 收起 理由
飘絮絮絮丶 + 10 很给力!

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2021中国系统架构师大会

【数字转型 架构重塑】2021年5月20日-22日第十三届中国系统架构师大会将在云端进行网络直播。

大会为期3天的议程,涉及20+专场,近120个主题,完整迁移到线上进行网络直播对会议组织来说绝非易事;但考虑到云端会议的直播形式可以实现全国各地技术爱好者的参与,也使ITPUB作为技术共享交流平台得到更好的普及,我们决定迎难而上。
http://sacc.it168.com/


大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP