本文为学习笔记,复习前几天开课吧的李伟杰老师讲的公开课:java网络小项目:让面试官眼前一亮的个人主页。
李伟杰老师的教学流程:
【租云服务器】>【使用阿里云的polarDB数据库】>【最终项目的部署】>【项目访问加速】>【编码分析】
作为公开课,老师站在大家零基础的角度上,拆分解析了这些繁琐的步骤。第一天先把项目成品部署上去,能让我们先看到最后的成品效果,然后再进行编码的解析。总体上感觉非常好理解,思路很清晰。
项目完成结果一睹为快:
课程资源包 提取码:th1z
下面是对知识的一些补充
云环境搭建与项目部署
- README:布局一览
- 一、阿里云的ecs服务器搭建
-
- (1)服务器配置网络安全组:谁可以访问服务器
- (2)宝塔控制面板:云电脑管家
- (3)为什么中小型企业都喜欢上云?
- (4)tomcat服务器中间件
- (5)为什么在tomcat设置中,把tomcat原为8080的端口号改为80呢?
- (6)网址就是一个文件夹
- (7)索引文件中的utf-8
- 二、PolarDB:阿里巴巴自研数据库
-
- (1)用mysql它不香吗?
- (2)数据库的数据规划
- (3)管理数据库的工具:DMS
- (4)设置数据库集群IP白名单:谁可以访问数据库
- (5)用DMS登录数据库,部署数据格式
- (6)部署代码,替换根里面的所有内容
- 三、开发模式的演变:大厂项目的开发流程
-
- (1)瀑布式
- (2)敏捷开发模式
- (3)微服务的架构形态:DevOps开发模式
README:布局一览
一、阿里云的ecs服务器搭建
在阿里云上租一台主机,在主机上部署最终完成的项目内容
阿里云ecs服务器搭建流程
所做操作的补充解释:
(1)服务器配置网络安全组:谁可以访问服务器
端口范围:8888;授权对象:本机的公网IP
8888为后续用到的云服务器管理软件(宝塔)默认的端口号,意思是只有在这个IP下的计算机,并且是8888端口下的软件才能够访问到这个服务器。
我间隔一段时间后再去登录宝塔软件,死活进不去。原来是公网IP(百度搜索IP出来的那个)发生了变化,需要重新加入安全组中。
端口范围:80;授权对象:0.0.0.0/0
IP都是0表示任何的IP都可以访问,即开放所有人访问个人主页项目的权限。
(2)宝塔控制面板:云电脑管家
因为我们在选择服务器镜像源的时候选择的是linux操作系统,可能你并不熟悉这个操作系统的使用,但是人家商家都给你做好了,给你做得简单了。
这个宝塔控制面板相当于一个电脑管家,用图形化的界面,方便你管理电脑,监控电脑的运行状态,方便软件的下载和安装等等。
(3)为什么中小型企业都喜欢上云?
因为企业对程序员的要求越来越高了,你既要会开发,还要懂测试,还得会运维,具备这三个能力后才能说自己是合格的后端开发工程师。想把运维拿下,很难,还不如花钱买服务器,这些企业也省了运维人员的工资。
(4)tomcat服务器中间件
个人主页项目能够被别人访问,电脑(虚拟主机)上就必须有个软件可以把项目暴露出去,供别人访问。这个软件就是java web 开发中用的非常多的:tomcat 服务器中间件。
把电脑中某个文件夹里的某些文件暴露出去,让别人可以通过网址的方式去使用访问这个文件夹。
(5)为什么在tomcat设置中,把tomcat原为8080的端口号改为80呢?
tomcat原来使用的端口号是8080,而80表示使用了HTTP协议默认的端口号。当别人在访问这个网址的时候,就不需要输入“网址+:8080
”
80端口是为HTTP 开放的,此为上网使用次数最多的协议,可以通过网址加“: 80”来访问网站,但因为浏览网页服务默认的端口号都是80,因此只需输入网址即可,不用输入“: 80”了。
(6)网址就是一个文件夹
理解这个网址其实就是一个文件夹,通过访问文件夹的地址,就能访问到文件。
比如:
在一个新的网页中打开Root路径下的source下的img下的图片1.img
可以看到,到了这一步就我们已经能够把服务器的资源共享给别人,别人就可以通过这样的一个网址访问到我们上传的东西。
(7)索引文件中的utf-8
索引文件中,有一行pageEncoding="UTF-8"
是进行编码设置的,你暂且先理解为支持中文显示的编码。
计算机本身不能存储任何文字,计算机只能存储二进制都是0和1,计算机想普及到民用的话就要认识这些文字,才能更好地帮助大家改变生活。
那就给它一本字典,01数字的组合编码代表了文字。UTF-8是一种针对Unicode的可变长度字符编码,又称万国码。
如果出现了乱码,大概率是你的电脑和云端的电脑拿的不是同样的编码(字典不同)
二、PolarDB:阿里巴巴自研数据库
阿里巴巴自研PolarDB使用流程
在创建生成个人简历之前,我们需要获取用户输入的信息,然后放到数据库中统一编排与管理。
(1)用mysql它不香吗?
也香。但还需要搭建环境,需要下载各种各样的软件而且比较繁琐。
很多企业在用数据库的时候都喜欢用云数据库,节省了运维人员的工资,并且性能还比较高,跟开源的mysql相比是5倍性能的提升,并且完全支持mysql的操作。
对于我而言,就是学习有所侧重。
(2)数据库的数据规划
具体这个格式的结构如何建立,这是由DBA(数据库管理员(Database Administrator)来干的。
这里我们只要导入这个文件到数据库中,就能在里面建立相应的格式。
(3)管理数据库的工具:DMS
用什么工具去链接和管理这个数据库呢?用阿里云自带的,非常好用。(要有权限申请才能进行对数据库大的改动,我们是最高的管理者所以直接审批通过)
DMS集群是阿里云提供的图形化的数据管理工具,它是一种集数据管理,结构管理,访问安全,性能与优化等于一体的管理服务。
( 这个软件还有本地软件版的可以下载)
(4)设置数据库集群IP白名单:谁可以访问数据库
设置谁可以访问数据库:电脑(公网)可以去访问,和阿里云的云服务器(公网)
数据库还要申请可以被访问的公网网址,通过这个地址呢,我们就可以在tomcat中对数据库进行访问。
(5)用DMS登录数据库,部署数据格式
在heiheihei数据库中,又有5个库的列表,我们就创建数据库kkbdb。给kkbdb数据库进行数据格式的划分:【数据导入】>【 批量数据导入】
(6)部署代码,替换根里面的所有内容
替换完成后,还要修改数据库的配置。
下面这个文件是对数据仓库信息的配置:修改成自己的数据库地址、账号、密码
除了url,还要加上数据库的名称
注意:空格不要乱加,比如 密码前有个空格,则空格也会成为密码的一部分。
url 就是polarDB数据库集群的公网地址
三、开发模式的演变:大厂项目的开发流程
高效快速的通过自动化的工具协作和沟通来完成软件的生命周期管理。
现在的时代很多大的项目需求也越来越多,东西也越来越复杂。以前所说的大项目在现在看来都是小项目。
(1)瀑布式
二三线小企业依然在用的开发方式
在测试要是出问题了,这个模式就会有一个很大的弊端:很难修改。
当我们写了5万行代码,测试发现写的代码逻辑有问题,不对劲,要改。改的时候发现这个代码被50处地方调用了,零零散散加起来有5万行代码需要调整。
炸了,这时候的感受就是他妈的不想干了。感觉这个项目要推倒重来了。这时候开发的程序员就是最遭罪的那一个。
(2)敏捷开发模式
每两天交付一个小的功能,这个小的功能交给测试人员测试。测试完了有问题当时就改,及时更改。(持续交付概念)
多见于二线城市,也有弊端,到最后运维可能说你这种架构部署方式不合理。
当一个项目并发在万和百万级别的时候所用的架构就肯定不一样。相应的代码的编写方式也不一样。
(3)微服务的架构形态:DevOps开发模式
淘宝有很多各种各样的功能,后面分成的什么天猫,书店,飞猪都是淘宝慢慢延伸出的产品,最初都是在淘宝的。淘宝发展越来越大,就把项目中一个个功能抽分出来成为独立的应用软件。
同时,淘宝,天猫,飞猪等都共用一套账号系统,共用一套订单系统,把一个大的应用拆成n个小的应用去写,最终n个小应用像拼积木一样拼成一个大的软件。
又可以这样理解:
逻辑好理解,但是真正实施起来很复杂。这里就不做详细展开。