搜索
首页web前端H5教程如何系统学习Web全栈开发?

回复内容:

就是没事儿了就写个网站,一开始先能跑起来,之后页面不能太难看吧?你得学前端,页面逻辑越来越复杂,你得上前端框架了吧,用站的人越来越多了,你得优化服务端性能了吧,发现自己菜成狗的时候,你得上服务器框架了吧……发现数据库io成问题的时候,你得理解数据库了吧……反正觉得实践中遇到问题,解决问题,总结,再反复,这样是我认为的科学的方法。
----------我是华丽的分割线--------------------------------------------
接下来想说说我是怎样变成一个全(dou)栈(bi)工程师的...Orz...也是人生第一次大篇幅回答问题,想想就有点小激动呢Orz...
最前面的话
现在感觉世界上的各种选手,对于全栈工程师褒贬不一。贵知乎上面也是有很多在黑全栈工程师的大大们。我个人的看法是闻道有先后,术业有专攻。每一种的技术栈形态的形成必定都是时代所需,大家都是为了感受coding带来的快感,何必文人相轻,非要较个你高我低。如果看到这里已经忍不住想吐槽怒喷,那还是跪求不要再看下去了。
入门
我的入门是从web前端开始的,然后之后又做了一些gwt相关的项目,对于前后端的开发大致有了一些了解。再后来去了一个稍微大一点的厂进行了实习web前端,当时的感受是每天百分之五十的时间都是跟后端在接口上撕逼,不慎酸爽。再后来到了同学的公司进行实习,于是发现这里的选手都是一个打10个的选手,每天说自己什么都不会但是随便一说虐你10条街, @朱文雷@刘超凡@DoG A@Chao Liu@Dont Panic 于是也不知道自己到底会干什么了。当时做了一个整理一些lib,然后写demo 跑通所有流程的工作,于是遇到了很多平时几乎用不到的问题。也跟着各位大仙们一起学习了很多很多解决问题的姿势。所以我觉得入门最重要的事情就是要多折腾,什么不会玩什么,慢慢就会了....入门要达到的目的就是前后端打通,知道是怎么个流程。
发展
之后就是加入linkedin中国之后的事情,一直在web前端和后台之间游离,甚至还做过一小段安卓的工作,近半年也在做一些自动化测试相关的工作。由于是快速迭代和敏捷开发,之间学习和使用了很多敏捷开发的东西。接触到了一些优秀的前后端的框架以及工具。比如时兴的react和貌似过气的angular,小众的coffeescript,更小众的ruby on rails,以及有我司实习生的merge-request的gin,还有更小众的calabash种种。。。这里面遇到过很多很多问题,绝大多说都是gg解决的,这里感谢@cr同学(顺路吐槽知乎的圈人系统,我关注的人居然圈不到),记得有一次遇到的一个angular的bug居然是我发现的前几天刚刚修好的。这一阶段的感觉就是要不断的尝试,不断地反思,这一次的这样的选择为什么好或者为什么不好,然后下一次在做选择的时候要进行哪些改进。搭车感谢一下放任我随意折腾的老板迪哥和视我的我的代码为粪土的梦南。
反思
对于一个全栈工程师最总要的几点:
1. 勇于折腾,多尝试更多技术,姿势,体位,坚持嘬死。
2. 一个强大的解决问题(gg)的能力,一般踩到的坑大部分人都踩过,感觉总是能搜到的。
3. 善于总结和反思,用于接受打脸和撕逼。
心目中的好的全栈工程师应有的素质:
1. 快速的项目介入和上手能力。
2. 精准的技术选型能力。
3. 强大的问题划分能力和解决能力。
4. 优秀的代码质量。
5. 良好的补位意识和团队意识。

感觉跑题了,题主问的是如何学习,再说就不知道说到哪里去了,愿题主早日把他截的图的东西都学会吧,感觉一年时间应该够了?我去抓猫猫了T_T 不要迷信全栈!
不要迷信全栈!
不要迷信全栈!

知识体系图是什么鬼?naive~
知识爆炸的年代,居然还迷信什么知识体系图啊?找虐还是怎么滴??
光我大前端的知识体系图就够你喝n壶了~

言归正传,我个人支持“业务驱动”。那么问题来了,怎么做?(直接以当前在做的项目为例)

1.全景直播平台的搭建

1.1 需求分析
要做一个全景直播平台的核心需求是什么?
- 支持直播的全景播放器
- 稳定的流媒体服务器
- 直播状态管理服务器
- 其他相关内容(业务优化什么的~)

1.2 知识储备
1.2.1 要做到直播,涉及到三个重要的环节
- 推流(比如使用obs、ffmpeg等推送rtmp或者hls流)
- 转发(这里针推不同的情况,可以推送rtmp/rtsp/hls/other)
- 播放(这里当然就是视频了,根据平台可以分为flash使用的hls或者rtmp、rtsp,移动端hls)

1.2.2 要做到“平台”级别,当然要求是可以支持n个直播!
- 服务器选择,为了应对所谓“高并发”,完全可以放弃服务器渲染,生成静态页面丢到云存储
- 缓存问题,上一步适用云存储存放页面,这里配置cdn来做缓存,基本解决了多人观看的问题
- 另外可选方案是配置负载均衡(加n个服务器,适用轮训之类的方式来对不同区域不同人访问)

1.2.3 状态管理,更新逻辑
- 页面既然已经是静态了,那么状态最好的方式是ajax方式来管理了,设置一定时间的轮询也可以
- 中心服务器当然是要有状态的,至于怎么管理自己决定就好

1.3 其他内容
...

按照当前需求来独立实现这些功能,自然而言,该学习的东西都会学习到了。

完了吗?NO !


我理解的全栈,不是你用了什么技术,不是你解决了什么问题,
而是,你怎么解决问题,如何应对需求,以及需求变更。

熟记一些知识点当然要比我这种用到查文档的人要专业,但是吧,多做一些类似的事情,你会发现,这些坑,填完了,要是能同时记住一些重要的点,对以后做东西是灰常有用的~ 被邀请了两次,就回答一下吧。

说实话,那图(网上还有很多类似的)很唬人,其实基本功好了,就知道那些只是三生万物了。

想学好前端,就从把w3school.com.cn上html,css.javascript三个章节看清楚开始(只看这三个,不包括网站上html5,xhtml,css3等等衍生栏目)。 用java的话,就写个servlet, get, post, 各种方法玩一遍,返回html字符串。然后再用模板引擎,实现html复用。 然后尝试ajax,实现不刷新页面。 代码多了以后,分层,分mvc. 代码有规模后,部署到各种web服务器,架上ga脚本。 用linux,ant自动部署。 再玩memcache以及各种分析工具。 web全栈简单的说来就是自己开发网站, 缺哪补哪, 从头开始搭建保证能够自己一个人做到上线运维即可

从细处讲(目前我在公司做的)
域名购买 => 主机购买 => 域名配置 => 服务器操作系统安装 => 服务器软件运行环境配置(包括用户权限 防火墙) => web数据结构设计(ER图,数据库表) => web页面设计 => web切图写页面 => 后端程序编写(基本的MVC MVVM 数据库CRUD 数据缓存 各种中间件) => 代码压缩混淆自动化上线 => 反向代理配置(nginx) => 代码监控及优化

数据量并发量上来之后
分库分表=>服务器docker化=>自动化部署运维测试=>消息队列引入 等等...

能做的很多, 一点一点去做就好了...

以上
2016年02月17日 先学数据库和简单数据结构, 无论前端后端都用得着。学会这俩,基本上你会对业务有了一定概念在学其他的。 就是什么都学,什么都做一点,接点私活,聪明点大概10年可以完事,笨一点20年也够了。 谢邀。
全栈工程师对各方面能力要求都很高,成为一个全栈工程师是一个远大的目标,但除了知道全栈工程师薪资待遇很高之外,首先你必须先清楚为什么全栈工程师会拥有这样高的待遇和地位。

全栈工程师与其说是掌握某个领域产品的全栈技术,到还不如简单来说是拥有能够独立实现一款产品的能力(拥有这种能力和是否需要你这么做是两件事,这里谈的是需要先拥有这样的能力)。

所以啊,题主如果想成为一个全栈工程师,最快最有效的方式莫过于能够作为多个产品化项目的负责人,全程参与和主导项目的完成。题主需要明白的是,在计算机技术这个领域,哪怕是业界出名的全栈工程师也不可能各个领域全部都能够理解,更多的是水平高的工程师对业务和产品以及技术体系有很深的理解,这样的人哪怕面对新技术、新风格也一定能够快速掌握(要知道,在正式项目中,架构师在做架构设计的时候必定需要考虑风险点,其中所用到技术的可靠性和学习成本是最重要的风险点之一,如果时间不会过分紧的话会有一小段时间供你快速掌握的)。

然而你可能会问,我刚刚毕业,或者还没有毕业的时候,我没办法负责主导一个正式项目,那我该怎么办?根据我个人的经历来说,程序员大多数是一群靠谱的老实人,在你做好本职工作的前提下,你向前辈或者技术领导提出想看一下架构文档,或者需要他来帮你讲解一下架构和技术选型,我想别人如果有空的话一般来说都是很乐意的(程序员装逼基因永远在骚动)。当你得到这些架构设计时,仔细反复研读推敲,推敲设计者在设计时的情景以及做这些技术决策的原因(都说架构实际上是一系列决策的组合),时间长了自然而然就好了。

毕业前想成为真正的全栈工程师,楼主我劝你还是不要把步子迈的太大,反正要是我收到一份自称自己是全栈工程师的应届生简历的话一般觉得99%是来逗我的,1%是遇到神了。

好好研究自己的技术,做好做精,多经历一些实际项目,多思考和探索保持向上之心,每个程序员都能成为全栈工程师。 node.js是通往web全栈的捷径 新手还是不要一上来就全栈,好吓人的好不~
我对全栈的理解是那些大牛在某个技术领域达到一定高度以后,思想+技术逐渐辐射到全局且融会贯通的时候,才能说全栈吧!会用和理解完全是两个维度的概念,后者+时间的。
我觉得全栈一定分面向前端还是面向后端,因为你一定有自己擅长或者主导的技术池。从发展的角度来说,在思想上你需要在某项技术中来不断进步,突破!
个人建议3/7原则,70%的时间专注于自己擅长的领域中,30%的时间专注于其他领域中。
搞开发的,切忌别一瓶子不满半瓶子晃荡,出了问题满世界找bug。。
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
如何使用视口元标记来控制移动设备上的页面缩放?如何使用视口元标记来控制移动设备上的页面缩放?Mar 13, 2025 pm 08:00 PM

本文讨论了使用视口元标记来控制移动设备上的页面缩放,重点是宽度和初始尺度之类的设置,以获得最佳响应和性能。

如何使用地理位置API处理用户位置隐私和权限?如何使用地理位置API处理用户位置隐私和权限?Mar 18, 2025 pm 02:16 PM

本文讨论了使用GeOlocation API管理用户位置隐私和权限,并强调要求权限,确保数据安全性并遵守隐私法律的最佳实践。

如何使用HTML5和JavaScript创建互动游戏?如何使用HTML5和JavaScript创建互动游戏?Mar 10, 2025 pm 06:34 PM

本文使用JavaScript详细介绍了创建Interactive HTML5游戏。 它涵盖了游戏设计,HTML结构,CSS样式,JavaScript逻辑(包括事件处理和动画)以及音频集成。 必需的JavaScript库(Phaser,Pi

如何将音频添加到我的HTML5网站上?如何将音频添加到我的HTML5网站上?Mar 10, 2025 pm 03:01 PM

本文解释了如何使用< audio>元素,包括用于格式选择的最佳实践(MP3,OGG Vorbis),文件优化和JavaScript控件用于播放。 它强调使用多个音频f

如何使用HTML5页面可见性API检测页面何时可见?如何使用HTML5页面可见性API检测页面何时可见?Mar 13, 2025 pm 07:51 PM

本文讨论了使用HTML5页面可见性API来检测页面可见性,提高用户体验并优化资源使用情况。关键方面包括暂停媒体,减少CPU负载以及基于可见性变化管理分析。

如何将HTML5表单用于用户输入?如何将HTML5表单用于用户输入?Mar 10, 2025 pm 02:59 PM

本文解释了如何创建和验证HTML5表格。 它详细介绍了>元素,输入类型(文本,电子邮件,编号等)和属性(必需,模式,最小,最大)。 HTML5的优势比旧方法形成

如何将HTML5拖放API用于交互式用户界面?如何将HTML5拖放API用于交互式用户界面?Mar 18, 2025 pm 02:17 PM

本文介绍了如何使用HTML5拖放API来创建交互式用户界面,详细介绍了使元素可拖动的步骤,处理关键事件并通过自定义反馈来增强用户体验。它还讨论了一个常见的陷阱

如何使用HTML5 Websockets API进行客户端和服务器之间的双向通信?如何使用HTML5 Websockets API进行客户端和服务器之间的双向通信?Mar 12, 2025 pm 03:20 PM

本文解释了HTML5 Websockets API,用于实时双向客户服务器通信。 它详细详细介绍了客户端(JavaScript)和服务器端(Python/Flask)的实现,以应对可伸缩性,状态管理,一个挑战

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),