当前位置: 代码网 > 服务器>服务器>Linux > 怎么自学web全栈

怎么自学web全栈

2025年03月30日 Linux 我要评论
自学web全栈的方法:首先我们要了解web开发过程的三层架构,即表示层、业务逻辑层、数据库层;然后我们还要掌握服务管理、云主机平台、web服务器、数据库、日志系统等知识。互联网行业现今一直都很火热,相
自学web全栈的方法:首先我们要了解web开发过程的三层架构,即表示层、业务逻辑层、数据库层;然后我们还要掌握服务管理、云主机平台、web服务器、数据库、日志系统等知识。

怎么自学web全栈

互联网行业现今一直都很火热,相信未来也会是一直保持火热的状态。所以有很多朋友都开启了学习互联网学习的计划,有人选择培训,有人选择自学。但是对于学习互联网技术,应该有很多朋友都会感到迷茫吧。前几天,就有朋友问想自学web全栈应该怎么去做。下面我将和大家一起谈谈如何自学web全栈。

(推荐教程:html教程)

首先,你要了解什么是web全栈,以及知道web全栈需要学习哪些知识。

其次,你要知道自学web全栈,不是一件简单的事情,需要你有足够的毅力去坚持,也需要你有高效学习的能力,才能在尽量短的时间内学好它。

一个web开发过程有三层架构:

表示层:表示层也被称为网站的前端部分。它处理网站的用户界面相关问题。

业务逻辑层:业务逻辑层也被称为网站的后端层,负责数据验证和动态处理。

数据库层:最后是数据访问层,利用api为网站提供数据。

以上三层共同称为全栈web开发。

作为web全栈工程师你需要知道以下知识:

1、服务管理/运维

一个开发者必须了解基础的服务器管理知识。包括当不限于以下知识:

通过终端或其他没有用户界面的环境来远程连接服务器

会写基本的shell脚本

服务器上的用户和群组管理

管理像apache和nginx这样的服务器程序来提供应用

防火墙管理和权限管理

安装和更新软件

除了这些基础技能,开发者必须懂得怎样去创建一个好的、健康的、分离的开发环境,在 docker 或者像 vagrant 这样的虚拟机环境中。如果上面所有的技术你都不熟悉,那我必须给你推荐一本超棒的书,点这里购买。

开发者必须对版本控制系统非常熟练,为了让开发有靠谱的生产备份和可分享、可协同的代码库,这些代码库能够根据时间来跟踪代码变化。现在已经没有开发者的工作流是完全离开版本控制的了。我们有一个非常棒的关于版本控制的视频教程,点这里购买。

2、云

和实际管理或者虚拟服务器不同,一个开发者也许要知道云主机平台,比如heroku, google cloud, azure, aws等等。

有一点必须说明的是,平台和工具更多的是为了炒作而不是其实用性。尽管有很多平台和工具的实用性并不如宣传的那么好,但是了解这些大家都在谈论的服务,从长远来看会很有用――客户可能会随时要求更换服务提供商。幸运的是,我们拥有这些云主机部署权威指南。

3、后端

在后端,除了要懂选择什么语言以外,比如 php 和众多的框架 and cmses,一个全栈开发者必须熟悉:

web服务器,比如nginx和apache,和运维紧密相关

不幸的是,nodejs 已经可以将 js、css 和其他资源文件编译成静态可以方便缓存的文件了。幸运的是,也有办法避免学习 nodejs,用php也是可以的

像composer这样的php(http://www.ujiuye.com/zt/php/)包管理工具在现代化的开发环境中已经离不开了

好的api 设计,自从大部分新型网页都基于 api 而且仅仅为前端服务(下面会详细描述)

elasticsearch (introduction here)这样的搜索引擎对于网站性能的提高是非常重要的

cronjobs 和后端的工作,使用gearman 或者 crunz 这类的库

了解缓存,varnish, redis 等牛b的工具可以分片存储数据,这样可以将一个项目部署的多个主机上

4、数据库

数据库是一个单独的部分,因为除了很好地掌握我们基本上不会有结构变化的关系数据库(mysql或者postgresql)的数据模式之外,一个全栈工程师应该对非关系型数据库有所了解,如mongodb, redis,或cassandra ,更不用说像neo4j这样的图形数据库了。

不幸的是,这些都是服务器上的东西,都在全栈工程师的控制下。也有几个类似 mong 的远程解决方案,像restdb或者google-owned firebase等。

5、前端

想知道一个正常的前端知识图谱是怎么样的,可以在javascript 版块看这篇绝世好文。但是作为一个全栈工程师,你需要了解

nodejs and npm

yarn

预处理器和编译器(如babel),用来编译 typescript, es6, less, scss, sass

构建工具,如 grunt 和 gulp

框架,如 vuejs、react、angular

模块打包工具,如 webpack、browserify、rollup

6、设计

在设计方面,全栈开发者需要了解怎样在一个产品变成真正可用的 html 、css 代码之前,画一个原型图。然后就可以去用 js 写交互、后端也可以用假数据来模拟生产环境。只有这个关键的原型图完成,用户体验设计和接口设计就绪,真正的开发才能开始。这本身就是一项艰巨的任务,需要一套特殊的工具:

photoshop和illustrator 或者一些开源的工具比如gimp/inkscape。访问design channel来了解更多这样的工具。

一个牛的、快速的编辑器,比如atom或sublime text(这儿有十种好用的sublime插件)

像subtlepatterns的背景选择器和颜色选择器能够搭配一些颜色

css的栅格系统

上面所说的前端所需要了解的所有知识和 js 数据模拟

将原型图发表到网上供大家浏览并给于反馈,ngrok就非常好用

7、日志系统

为了高效监控应用的健康度,全栈开发者必须能够追踪错误,找到错误日志然后从中提取出有用的信息。全栈开发者也需要从日志中预测一些趋势,比如 cpu 或者 i/o 占用率的上涨,以防应用不知道什么时候就挂了。这部分和运维也有一些关系,但是需要一些特别的技能:

推荐一篇非常棒的elk stack的文章,这会帮助你了解做日志系统所需要的知识。里面包括了查找日志的elasticsearch ,收集日志的logstash,把日志用非常棒的图表展现出来的的kibana,甚至还有提供解决方案的logz.io。

8、移动端

最后,我们该说说移动端了。随着ios和安卓上的的webview变得越来越高效,还有 pwa(渐进式web应用)的到来,native 应用正在变得黯淡,因为他们开发起来实在是太复杂了。所以一个全栈工程师必须了解 pwa 或者 react native,或者像nativescript, tabris, cordova, phonegap或者其他webview来让客户端应用调用 api跑起来。

以上就是怎么自学web全栈的详细内容,更多请关注代码网其它相关文章!

(0)

相关文章:

  • Golang 免费的吗?

    Golang 免费的吗?

    golang 免费的吗?golang是免费的,该语言一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言,主要用于服务器端开发,而且适合于多人合作开发大... [阅读全文]
  • Laravel开发环境部署之homestead 安装配置过程(windows系统)

    这篇文章主要介绍了关于laravel 开发环境部署之homestead 安装配置过程(windows系统),有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下larave…

    2025年03月30日 服务器
  • 什么是集群和LVS?

    什么是集群和LVS?

    集群是一组通过告诉网络互联的计算机组,并以单一系统的模式加以管理;将很多服务器集中起来一起,提供同一种服务,在客户端看来就象是只有一个服务器。lvs(linux... [阅读全文]
  • 使用Docker compose编排Laravel应用

    使用Docker compose编排Laravel应用

    这篇文章主要介绍了关于使用docker compose编排laravel应用 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下前言laravel官... [阅读全文]
  • 一份程序员的正版清单,这些正版软件你用过吗?

    一份程序员的正版清单,这些正版软件你用过吗?

    使用正版是对我们本身职业的一种尊重,不是吗?好吧,聊点其它的话题,就聊一聊做为一个程序员,你有没有使用盗版软件?我电脑上没有任何盗版,无论是编程工具还是其它软件... [阅读全文]
  • 运维监控工具zabbix概述

    zabbix是一个基于web界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管…

    2025年03月30日 服务器

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com