后端框架的学习流程[通俗易懂]

后端框架的学习流程[通俗易懂]有不少初学者问到,我想学习后端,但是又不知道该怎么学,所以我决定把这几年的经验和经历整理成一篇文章,分析后端的路该怎么走,先说明下面仅仅是个人心得,也许与外面的理论有所不同。(文章最后面会附上学习路线地图和一些自己看过的书籍)后端初接触后端首先需要学习的是html,css和js,也许你会问做网页不是前端做的事情吗?答案是对于真实开发环境后端很多时候还兼顾

大家好,又见面了,我是你们的朋友全栈君。

有不少初学者问到,我想学习后端,但是又不知道该怎么学,所以我决定把这几年的经验和经历整理成一篇文章,分析后端的路该怎么走,先说明下面仅仅是个人心得,也许与外面的理论有所不同。(文章最后面会附上学习路线地图和一些自己看过的书籍)

后端框架的学习流程[通俗易懂]

后端初接触

后端首先需要学习的是html,css和js,也许你会问做网页不是前端做的事情吗?答案是对于真实开发环境后端很多时候还兼顾了前端这个角色,对于架构来说优化不仅仅要考虑后端还需要考虑前端。

要学到什么样的程度才可以学下一样技能呢?我的建议是能够搭建起一个简单的页面,最重要的是学会dom操作和ajax。

语言选择

我相信过来人或者正在入门的人都碰到过这个世纪难题,如果你是初学者我建议您使用Java。这里并不是说我喜欢java才推荐你们用java入门,而是java的思想对我们以后开发有很不错的启发。当你学会一种语言的基本语法就可以到下一步了(仅仅是语法,任意语言)。

hello world!

没错,这个时候,你得让浏览器可以看到hello world! 为了实现这个小目标,我们就需要根据语言配置不同的运行环境。由于入门,我建议可以使用一些集成的一键配置环境软件,例如PHP可以用phpstudy,java看看教程,下载一个tomcat然后跟eclipse集成就好,而Python或则ruby则使用一个轻量级的web框架,copy一下官网提供的hello world!例子即可。

高级一些的hello world

这个阶段,你需要实现的是通过浏览器输入不同的网址,你可以输出不同的内容。然后要弄明白什么是get参数,什么是post参数。然后要实现根据不同get参数或者post参数输出不同内容。因为后端研发从根本上来说就是处理这些不同输入,输出特定的内容回去而已,所以这一步,最关键。

数据库

为什么我们要用数据库呢?以一个新闻网站为例,它要保存新闻数据,还得保存用户信息,也要保存评论信息。也许你会问用文件保存就好了,为何还要学习数据库这么庞大的东西呢?首先,我们来看一下什么是数据库,我们可以把数据库每一个table看成excel的sheet,每一个db就是一个excel文件。而sql语句就是一条条指令,可以帮我们操作里面的数据,可以节省我们大量的操作。开始学习数据库的时候,我建议学习MySQL

后端框架的学习流程[通俗易懂]

模板引擎

一项技术的出现,往往在于解决了一些开发难题。在没有模板引擎之前,我们得使用字符串拼接方式,弄成html字符串,但是这种方式很容易出错的。而模板引擎无需字符串拼接,并且可以处理字符串转义问题,并且模板集成,模板引用等功能,可以使代码可以重用,大大提高了开发效率,工程也更容易维护。

后端框架的学习流程[通俗易懂]

MVC框架

首先,我们得明白为什么要用框架?假如是第一次接触,我相信第一感受是用了框架加重自己的开发负担。然后框架存在必然有自己的合理性,我们来看看框架有什么优点。

1. 框架提供了大量的方法封装,我们可以直接调用来解决业务问题,这可以大大提高开发效率。

2. 框架能够帮我们分层编写代码,能够在后期更好的维护我们的项目。

3. 做一些安全防护,处理一些常见的攻击。

所以对于各种语言,大家可以选择一个对应的框架来学习。那么我们应该如何挑选一个框架呢?

1. 多人用的(最起码使用过程中遇到问题,都能找到人问)

2. 文档详细的(文档不详细,怎么去学习呢?)

3. 简单的(未来的趋势估计都是往轻量级框架走的)

后端框架的学习流程[通俗易懂]

Linux与应用部署

开发用window没什么问题,但是我们做的应用绝大部分是要放在Linux系统来对外提供服务器,所以不懂linux的操作是不行的,并且服务器为了尽可能节省资源,都是不使用界面的,所以我们要学好大量的linux命令。

服务器环境我们一般就不会用外面的通用的一键安装环境,往往需要优化的。所以基本的软件安装和配置需要学会,特别是近年来很火的Docker,越来越多都是基于docker来部署的啦。

缓存

缓存可是处理高并发的万能药,每当你写的功能慢的时候,基本上你都可以通过缓存来大大提高网站性能。实现缓存的方法很简单,但是一当在并发下和海量数据面前一切都不容易,还得上分布式集群这些。

http协议

如果上面的你都接触了,恭喜您普通开发估计是没问题了,如果你说很多需求还是做不出,没关系,其实你只是缺乏开发经验而已,只要多写多请教,你就会发现,其实后端研发也没什么难度。这个时候,如果我们想往高级研发工程师方向走,一些底层的高级的东西我们得学会。

后端框架的学习流程[通俗易懂]

浏览器与服务器通过http协议交互,其实就是相互之间传递一串特定格式的字符串。get参数,post参数,url,和cookie等信息其实都包含在这字符串里面。我们平时虽然没有怎么碰到这些底层的东西,其实是框架和tomcat这种软件帮我们处理了。

就像平时一个重定向,其实就在header里面有一句Location: XXX。而我们平时声明返回的是html还是json其实是headers有一句Content-Type:XXX,一切神奇的功能其实仅仅是一段特定的字符串而已,所以http协议怎么可以不研究呢。

nosql

非关系型数据库有很多,例如memcached,RedisMongoDB,coundb等。这些东西都有自己的适用场景,合理利用可以加快开发效率,对提高应用性能有很大的帮助的。

消息中间件

这种技术的出现是为了解耦,当我们业务过于庞大的时候,就会相应的拆分成几个小系统,系统之间的通讯往往是通过http协议调用和基于消息中间件。通过http协议有一个弊端,就是某个系统一旦修改了地址,那么就必须修改调用该服务的系统。如果通过消息中间件调用,那么应用如何迁移,也不会影响到别的系统。

后端框架的学习流程[通俗易懂]

一点点话

你跟所谓的大牛差距在哪里呢?我的看法是差距仅仅在于项目经验。也许你会说后端怎么需要学习这么多东西,并且年年都有新的技术出现怎么学呢?其实对于一种新技术,我们主要是要弄明白我们为什么要用这种技术,因为存在即合理,新技术的出现必然有自己的原因,所以新技术不一定要追求,但是底层建议要理解。然后什么海量数据和高并发下系统优化,一个原则,找到性能瓶颈并解决它而已。

附录

路线图

后端框架的学习流程[通俗易懂]

书单(下面仅仅是一些个人以前看过的书籍,并不是推荐要看,个人建议看看哪种讲解核心的书籍,怎么制作比怎么用更总要)

LINUX操作系统(第2版)

LINUX指令范例速查手册

JSP & SERVLET学习笔记

STRUTS 2.X权威指南(第3版)

HTML 5从入门到精通

JAVA入门经典(第6版)

看透spring MVC:源代码分析与实践

大型分布式网站架构设计与实践

Docker 容器与容器云

Python Cookbook(第3版)中文版

Go语言程序设计

MongoDB大数据处理权威指南(第2版)

NoSQL数据库技术实战

构建高可用Linux服务器(第3版)

大型网站技术架构 核心原理与案例分析

Linux运维之道

高性能MySQL(第3版)

Java核心技术 卷I

Java核心技术 卷II

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/136739.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月4日 下午9:00
下一篇 2022年5月4日 下午9:20


相关推荐

  • 云上OpenClaw(Clawdbot)快速接入钉钉指南

    云上OpenClaw(Clawdbot)快速接入钉钉指南

    2026年3月12日
    2
  • Linux远程连接工具:finalshell

    Linux远程连接工具:finalshell一 finalshell 介绍前面一直使用 xshell 作为 Linux 远程连接的工具 教程请看 通过 xshell 远程连接 ubuntu 但是 xshell 是付费软件 于是 找到一个 finalshell 作为其替换软件 FinalShell 是一体化的的服务器 网络管理软件 不仅是 ssh 客户端 还是功能强大的开发 运维工具 充分满足开发 运维需求 特色功能 云端同步 免费海外服务器远程桌面加速 ssh 加速 本地化命令输入框 支持自动补全 命令历史 自定义命令参数更多介绍 请自行百度 或查看官网介绍 http

    2026年3月19日
    3
  • AT24C02 E2PROM芯片详解

    AT24C02 E2PROM芯片详解24C02 是一个 2KBit 的串行 EEPROM 存储器 掉电不丢失 内部含有 256 个字节 在 24C02 里面有一个 8 字节的页写缓冲器 A0 A1 A2 硬件地址引脚 WP 写保护引脚 接高电平只读 接地允许读和写 SCL 和 SDA IIC 总线可以看出对于不同大小的 24Cxx 具有不同的从器件地址 由于 24C02 为 2k 容量 也就是说只需要参考图中第一行的内容 芯片的寻址 AT24C 设备地址

    2026年3月18日
    2
  • webstrom激活码2021【注册码】

    webstrom激活码2021【注册码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    46
  • 2019安装k8s详细教程

    2019安装k8s详细教程前言学习 k8s 的第一步肯定是安装进行实操 但是对于生产环境搭建一个高可用的 k8s 集群其实还是有点挑战难度的 特别是非专业运维开发人员 因为要涉及到的方面很多 默认配置都不能用于生产环境 性能调优 安全验证等等都是必不可少的 对于入门者来说的话 第一步安装其实有时候已经把一些人挡在了门外 自己也是费了一点功夫 才搭建了在本地能测试的 k8s 集群 用来学习 其中遇到了一些坑 所以记录一下 希望能帮助

    2026年3月18日
    3
  • 使用pycharm创建虚拟环境

    使用pycharm创建虚拟环境为什么创建虚拟环境 一般来说 使用全局环境的话 会出现包版本冲突的情况 这样的话 每当我们需要完成项目时 就需要去不更改包的版本 如果为每个项目创建一个虚拟环境 这样的话 我们的项目的包库都是独立的 不存在冲突的现象 创建流程 1 首先确保你的项目中没有该文件夹 venv 这个文件夹就是用来存放环境的 新建的项目是没有该文件夹的 2 点击 setting3 找到 Interpreter4 完成后继续点击添加 add5 可以看到这里有我们创建好的虚拟环境 点击 OK 即可

    2026年3月20日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号