全套学习!mysql2003错误代码

正文

在写这个文章之前,我花了点时间,自己臆想了一个电商系统,基本上算是麻雀虽小五脏俱全,我今天就用它开刀,一步步剖析,我会讲一下我们可能会接触的技术栈可能不全,但是够用,最后给个学习路线。

Tip:请多欣赏一会,每个点看一下,看看什么地方是你接触过的,什么技术栈是你不太熟悉的,我觉得还算是比较全的,有什么建议也可以留言给我。

不知道大家都看了一下没,现在我们就要庖丁解牛了,我从上到下依次分析。

前端

你可能会会好奇,你不是讲后端学习路线嘛,为啥还有前端的部分,我只能告诉你,傻瓜,肤浅。

我们可不能闭门造车,谁告诉你后端就不学点前端了?

前端现在很多也了解后端的技术栈的,你想我们去一个网站,最先接触的,最先看到的是啥?

没错就是前端,在大学你要是找不到专门的前端同学,去做系统肯定也要自己顶一下前端的,那我觉得最基本的技术栈得熟悉和了解吧,丙丙现在也是偶尔会开发一下我们的管理系统主要是VUEReact

在这里我列举了我目前觉得比较简单和我们后端可以了解的技术栈,都是比较基础的。

作为一名后端了解部分前端知识还是很有必要的,在以后开发的时候,公司有前端那能帮助你前后端联调更顺畅,如果没前端你自己也能顶一下简单的页面。

HTMLCSSJSAjax我觉得是必须掌握的点,看着简单其实深究或者去操作的话还是有很多东西的,其他作为扩展有兴趣可以了解,反正入门简单,只是精通很难很难。

在这一层不光有这些还有Http协议和Servlet,requestresponsecookiesession这些也会伴随你整个技术生涯,理解他们对后面的你肯定有不少好处。

Tip:我这里最后删除了JSP相关的技术,我个人觉得没必要学了,很多公司除了老项目之外,新项目都不会使用那些技术了。

前端在我看来比后端难,技术迭代比较快,知识好像也没特定的体系,所以面试大厂的前端很多朋友都说难,不是技术多难,而是知识多且复杂,找不到一个完整的体系,相比之下后端明朗很多,我后面就开始讲后端了。

网关层:

互联网发展到现在,涌现了很多互联网公司,技术更新迭代了很多个版本,从早期的单机时代,到现在超大规模的互联网时代,几亿人参与的春运,几千亿成交规模的双十一,无数互联网前辈的造就了现在互联网的辉煌。

微服务分布式负载均衡等我们经常提到的这些名词都是这些技术在场景背后支撑。

单机顶不住,我们就多找点服务器,但是怎么将流量均匀的打到这些服务器上呢?

负载均衡,LVS

我们机器都是IP访问的,那怎么通过我们申请的域名去请求到服务器呢?

DNS

大家刷的抖音,B站,快手等等视频服务商,是怎么保证同时为全国的用户提供快速的体验?

CDN

我们这么多系统和服务,还有这么多中间件的调度怎么去管理调度等等?

zk

这么多的服务器,怎么对外统一访问呢,就可能需要知道反向代理的服务器。

Nginx

这一层做了反向负载、服务路由、服务治理、流量管理、安全隔离、服务容错等等都做了,大家公司的内外网隔离也是这一层做的。

我之前还接触过一些比较有意思的项目,所有对外的接口都是加密的,几十个服务会经过网关解密,找到真的路由再去请求。

这一层的知识点其实也不少,你往后面学会发现分布式事务,分布式锁,还有很多中间件都离不开zk这一层,我们继续往下看。

服务层:

这一层有点东西了,算是整个框架的核心,如果你跟我帅丙一样以后都是从事后端开发的话,我们基本上整个技术生涯,大部分时间都在跟这一层的技术栈打交道了,各种琳琅满目的中间件,计算机基础知识,Linux操作,算法数据结构,架构框架,研发工具等等。

我想在看这个文章的各位,计算机基础肯定都是学过的吧,如果大学的时候没好好学,我觉得还是有必要再看看的。

为什么我们网页能保证安全可靠的传输,你可能会了解到HTTP,TCP协议,什么三次握手,四次挥手。

还有进程、线程、协程,什么内存屏障,指令乱序,分支预测,CPU亲和性等等,在之后的编程生涯,如果你能掌握这些东西,会让你在遇到很多问题的时候瞬间get到点,而不是像个无头苍蝇一样乱撞(然而丙丙还做得不够)。

了解这些计算机知识后,你就需要接触编程语言了,大学的C语言基础会让你学什么语言入门都会快点,我选择了面向对象的JAVA,但是也不知道为啥现在还没对象。

JAVA的基础也一样重要,面向对象(包括类、对象、方法、继承、封装、抽象、 多态、消息解析等),常见API,数据结构,集合框架设计模式(包括创建型、结构型、行为型),多线程和并发I/O流,Stream,网络编程你都需要了解。

代码会写了,你就要开始学习一些能帮助你把系统变得更加规范的框架,SSM可以会让你的开发更加便捷,结构层次更加分明。

写代码的时候你会发现你大学用的Eclipse在公司看不到了,你跟大家一样去用了IDEA,第一天这是什么玩意,一周后,真香,但是这玩意收费有点贵,那免费的VSCode真的就是不错的选择了。

代码写的时候你会接触代码的仓库管理工具mavenGradle,提交代码的时候会去写项目版本管理工具Git

代码提交之后,发布之后你会发现很多东西需要自己去服务器亲自排查,那Linux的知识点就可以在里面灵活运用了,查看进程,查看文件,各种Vim操作等等。

系统的优化很多地方没优化的空间了,你可能会尝试从算法,或者优化数据结构去优化,你看到了HashMap的源码,想去了解红黑树,然后在算法网上看到了二叉树搜索树和各种常见的算法问题,刷多了,你也能总结出精华所在,什么贪心,分治,动态规划等。

这么多个服务,你发现HTTP请求已经开始有点不满足你的需求了,你想开发更便捷,像访问本地服务一样访问远程服务,所以我们去了解了Dubbo,Spring cloud

了解Dubbo的过程中,你发现了RPC的精华所在,所以你去接触到了高性能的NIO框架,Netty

代码写好了,服务也能通信了,但是你发现你的代码链路好长,都耦合在一起了,所以你接触了消息队列,这种异步的处理方式,真香。

他还可以帮你在突发流量的时候用队列做缓冲,但是你发现分布式的情况,事务就不好管理了,你就了解到了分布式事务,什么两段式,三段式,TCC,XA,阿里云的全局事务服务GTS等等。

分布式事务的时候你会想去了解RocketMQ,因为他自带了分布式事务的解决方案,大数据的场景你又看到了Kafka

我上面提到过zk,像DubboKafka等中间件都是用它做注册中心的,所以很多技术栈最后都组成了一个知识体系,你先了解了体系中的每一员,你才能把它们联系起来。

服务的交互都从进程内通信变成了远程通信,所以性能必然会受到一些影响。

此外由于很多不确定性的因素,例如网络拥塞、Server 端服务器宕机、挖掘机铲断机房光纤等等,需要许多额外的功能和措施才能保证微服务流畅稳定的工作。

Spring Cloud 中就有 Hystrix 熔断器、Ribbon客户端负载均衡器、Eureka注册中心等等都是用来解决这些问题的微服务组件。

你感觉学习得差不多了,你发现各大论坛博客出现了一些前沿技术,比如容器化,你可能就会去了解容器化的知识,像**Docker,Kubernetes(K8s)**等。

微服务之所以能够快速发展,很重要的一个原因就是:容器化技术的发展和容器管理系统的成熟。

这一层的东西呢其实远远不止这些的,我不过多赘述,写多了像个劝退师一样,但是大家也不用慌,大部分的技术都是慢慢接触了,工作中慢慢去了解,去深入的。

好啦我们继续沿着图往下看,那再往下是啥呢?

数据层:

数据库可能是整个系统中最值钱的部分了,在我码文字的前一天,刚好发生了微盟程序员删库跑路的操作,删库跑路其实是我们在网上最常用的笑话,没想到还是照进了现实。

这里也提一点点吧,36小时的故障,其实在互联网公司应该是个笑话了吧,权限控制没做好类似rm -rf 、fdisk、drop等等这样的高危命令是可以实时拦截掉的,备份,全量备份,增量备份,延迟备份,异地容灾全部都考虑一下应该也不至于这样,一家上市公司还是有点点不应该。

数据库基本的事务隔离级别索引,SQL,主被同步,读写分离等都可能是你学的时候要了解到的。

上面我们提到了安全,不要把鸡蛋放一个篮子的道理大家应该都知道,那分库的意义就很明显了,然后你会发现时间久了表的数据大了,就会想到去接触分表,什么TDDLSharding-JDBCDRDS这些插件都会接触到。

你发现流量大的时候,或者热点数据打到数据库还是有点顶不住,压力太大了,那非关系型数据库就进场了,Redis当然是首选,但是MongoDB、memcache也有各自的应用场景。

Redis使用后,真香,真快,但是你会开始担心最开始提到的安全问题,这玩意快是因为在内存中操作,那断点了数据丢了怎么办?你就开始阅读官方文档,了解RDB,AOF这些持久化机制,线上用的时候还会遇到缓存雪崩击穿、穿透等等问题。

单机不满足你就用了,他的集群模式,用了集群可能也担心集群的健康状态,所以就得去了解哨兵,他的主从同步,时间久了Key多了,就得了解内存淘汰机制……

他的大容量存储有问题,你可能需要去了解Pika….

其实远远没完,每个的点我都点到为止,但是其实要深究每个点都要学很久,我们接着往下看。

实时/离线/大数据

等你把几种关系型非关系型数据库的知识点,整理清楚后,你会发现数据还是大啊,而且数据的场景越来越多多样化了,那大数据的各种中间件你就得了解了。

你会发现很多场景,不需要实时的数据,比如你查你的支付宝去年的,上个月的账单,这些都是不会变化的数据,没必要实时,那你可能会接触像ODPS这样的中间件去做数据的离线分析。

然后你可能会接触Hadoop系列相关的东西,比如于Hadoop(HDFS)的一个数据仓库工具Hive,是建立在 Hadoop 文件系统之上的分布式面向列的数据库HBase 。

写多的场景,适合做一些简单查询,用他们又有点大材小用,那Cassandra就再合适不过了。

离线的数据分析没办法满足一些实时的常见,类似风控,那Flink你也得略知一二,他的窗口思想还是很有意思。

数据接触完了,计算引擎Spark你是不是也不能放过……

搜索引擎:

传统关系型数据库和NoSQL非关系型数据都没办法解决一些问题,比如我们在百度,淘宝搜索东西的时候,往往都是几个关键字在一起一起搜索东西的,在数据库除非把几次的结果做交集,不然很难去实现。

那全文检索引擎就诞生了,解决了搜索的问题,你得思考怎么把数据库的东西实时同步到ES中去,那你可能会思考到logstash去定时跑脚本同步,又或者去接触伪装成一台MySQL从服务的Canal,他会去订阅MySQL主服务的binlog,然后自己解析了去操作Es中的数据。

这些都搞定了,那可视化的后台查询又怎么解决呢?Kibana,他他是一个可视化的平台,甚至对Es集群的健康管理都做了可视化,很多公司的日志查询系统都是用它做的。

读者福利

分享一份自己整理好的Java面试手册,还有一些面试题pdf

领取方式;关注+点赞后,戳这里即可免费领取

不要停下自己学习的脚步

字节跳动的面试分享,为了拿下这个offer鬼知道我经历了什么

字节跳动的面试分享,为了拿下这个offer鬼知道我经历了什么

ava面试手册,还有一些面试题pdf

领取方式;关注+点赞后,戳这里即可免费领取

不要停下自己学习的脚步

[外链图片转存中…(img-QIO96wz6-1625826772149)]

[外链图片转存中…(img-fs1vdp81-1625826772150)]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/385678.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

全套学习!mysql命令窗口执行sql文件

阿里P8级架构师核心理论落地篇 再造淘宝,贯穿全系,阿里团队代码落地,详细每个版本迭代,拒绝2-3个月PPT架构师再造淘宝之咚宝-技术支撑-完整搭建DevOps再造淘宝之咚宝-统一规则-代码规范落地解析再造淘宝之咚宝搭建基础服务再造淘…

java招聘职位描述,附学习笔记+面试整理+进阶书籍

面:为什么要使用双亲委派机制去加载类? 答:避免多份同样字节码的加载,浪费内存。 类的加载方式 隐式加载:new显示加载:loadClass、forName等 类的装载过程如下图: 面:loadClass和…

java拦截器和过滤器,2021最新版!

正文 现在市面上的算法资料也五花八门,种类繁多,小编也整理了一份不同于市面且有意思的算法资料,不能说多全面,但是是小编花了很长时间整理归纳出来的,自我感觉还行。分享给同事及群里反响都不错,所以小编…

java排列组合算法优缺点,一招彻底弄懂!

一. 为什么使用spring cloud alibaba 很多人可能会问,有了spring cloud这个微服务的框架,为什么又要使用spring cloud alibaba这个框架了? 最重要的原因在于spring cloud中的几乎所有的组件都使用Netflix公司的产品,然后在其基础…

001 出错处理

函数strerror() 1.1 函数原型 char *strerror(int errnum)分析&#xff1a;此函数将errnum&#xff08;它通常就说errno值&#xff09;映射为一个出错信息字符串&#xff0c;并返回错误此字符串 。 1.2 代码清单 #include <stdio.h> #include <string.h> #inclu…

java接口作用和好处,持续更新大厂面试笔试题

业界常用的服务注册与发现组件对比 了解服务注册与发现的基本原理后&#xff0c;如果你要在项目中使用服务注册与发现组件&#xff0c;当面对众多的开源组件该如何进行技术选型&#xff1f; 在互联网公司里&#xff0c;有研发实力的大公司一般会选择自研或者基于开源组件进行…

第七章 进程环境 | 001 命令形参、gcc与g++的使用

命令形参 命令行参数是使用main()函数参数来处理的&#xff0c;其中&#xff0c;argc是指传入参数的个数&#xff0c;argv[]是一个指针数组&#xff0c;指向传递给程序的每个参数。 应当指出的是&#xff0c; argv[0]存储程序的名称&#xff0c;argv[1]是一个指向第一个命令行…

java接口实例化对象和类实例化对象,附赠课程+题库

面试整体事项 简历要准备好&#xff0c;联系方式一定要正确清晰醒目&#xff0c;项目经历按照时间倒序阐述&#xff0c;注意描述自己在项目中承担的职责&#xff0c;简历的模板尽量选择简洁的&#xff0c;毕竟程序员大部分还是喜欢简单明了的。推荐boss直聘&#xff0c;我觉得…

java接口开发规范,干货满满

第一个模块&#xff1a;数据库 1.1 腾讯数据库面试问题 解释ACID四大特性 原子性的底层实现 数据库宕机后恢复的过程 如何保证事务的ACID特性 MySQL日志类型 这5个题目相对来说是比较普遍的&#xff0c;这里我就不一一给出答案了&#xff0c;给大家看下我的那个数据库学…

001 makefile的使用

标题 标题 当我们有多个源程序时&#xff0c;用gcc每个都编译&#xff0c;这样我们没有修改过的源文件也得重新编译一次&#xff0c;很麻烦&#xff0c;这时候写makefile就派上了用场&#xff0c;可以大大的提高我们的编码和调试速度。( 注意&#xff1a;头文件并不参加链接和…

java接口的修饰符可以为,附架构师必备技术详解

第一章 MySQL入门与初步 1.1 MYSQL 简介 1.2 关系数据库管理系统 1.3 MYSQL 使用的 SQL 语言 1.4 MYSQL 数据处理 第二章 MySQL的安装 2.1 MYSQL 系统的安装布局 2.2 安装 MYSQL 系统的分发 2.3 安装后期的的设置与测试 2.4 系统的升级 2.5 在同一台机器上运行多个 MYSQL 服务…

ALSA【一】

ALSA是Advanced Linux Sound Architecture 的缩写&#xff0c;目前已经成为了linux的主流音频体系结构。 在内核设备驱动层&#xff0c;ALSA提供了alsa-driver&#xff0c;同时在应用层&#xff0c;ALSA为我们提供了alsa-lib&#xff0c;应用程序只要调用alsa-lib提供的API&…

java接口的定义与实现,学习路线+知识点梳理

Spring框架自诞生以来一直备受开发者青睐&#xff0c;有人亲切的称之为&#xff1a;Spring 全家桶。Spring更是避免了重复造轮子的工作并跟随着互联网行业的发展做出不断的更新&#xff0c;很多研发人员把spring看作心目中最好的Java项目&#xff0c;没有之一。 **可以毫不夸张…

第3章 文件IO | 001 文件描述符

概述 在Linux系统中一切皆可以看成是文件&#xff0c;文件又可分为&#xff1a;普通文件、目录文件、链接文件和设备文件。文件描述符&#xff08;file descriptor&#xff09;是内核为了高效管理已被打开的文件所创建的索引&#xff0c;其是一个非负整数&#xff08;通常是小整…

java提取图片中的文字,深入分析

第一个暴击&#xff1a;Spring 上一份Spring的手绘思维脑图&#xff08;就像是个知识大纲总结&#xff09;&#xff0c;预览一下Spring的知识点&#xff0c;心里有个谱。不过这边我是采用的截图方式&#xff0c;为了把全部的内容都截取出来&#xff0c;所以整个就比较小&#…

java基础入门传智播客答案,GitHub已标星16k

选择 在现在这个浮躁而又拜金的社会&#xff0c;我相信很多人做技术并非出于热爱&#xff0c;只是被互联网的高薪吸引&#xff0c;毕竟技术岗位非常枯燥&#xff0c;不仅要面对奇奇怪怪的需求&#xff0c;还要不停的充实自己避免被淘汰。所以想要吃好技术这碗饭并不容易。 我…

java基础入门第二版二手,细节爆炸

一面&#xff1a;70分钟 突击电话面试 正思考着项目功能模块&#xff0c;阿里面试官打来了电话&#xff0c;开始了阿里一面。 阿里面试官自我介绍&#xff0c;介绍了5分钟左右&#xff0c;部门的情况&#xff0c;主要的业务 提问开始 会哪些操作系统 Linux会一点说一下操作指…

进程通讯:管道

管道&#xff0c;通常指无名管道&#xff0c;是 UNIX 系统IPC最古老的形式。 1、特点&#xff1a; 它是半双工的&#xff08;即数据只能在一个方向上流动&#xff09;&#xff0c;具有固定的读端和写端。它只能用于具有亲缘关系的进程之间的通信&#xff08;也是父子进程或者兄…

java基础入门答案谭晓芳,原理+实战讲解

One&#xff1a;JVM实践思维图&#xff08;完整版&#xff09; Two&#xff1a; 走近Java 概述 Java技术体系Java发展史Java虚拟机家族&#xff1a;&#xff08;Sun Classic/Exact VM、HotSpot VM、Mobile/Embedded VM、BEA JRockit/IBM J9 VM、BEA Liquid VM/Azul VM、Apache…

java基础常问面试题,面试必问

一、首先本职工作一定要做好做精 本人之前在干兼职的时候&#xff0c;也忽视过本职工作&#xff0c;从而导致自己落后平均技术水平&#xff0c;虽然之后迎头赶上&#xff0c;但这不能不算是个遗憾。前在接一些活的时候就感觉技术的重要性了&#xff0c;如果当年我技术再好些&a…