步骤一:基本概念与建站思路
“硬件使机器快速。软件使快速的机器变慢。”
安知鱼主题官方文档
Hexo-Theme-Acrylic
Hexo
文档 | Hexo
Hexo
什么是Hexo
Hexo是一个快速、简洁且高效的博客框架,是一个开源的静态网站生成器,它使用Node.js编写,旨在帮助用户轻松创建和管理静态网站或博客。Hexo的主要目标是将Markdown(或其他标记语言)文件转换为HTML,并生成整个网站的静态文件,这使得网站可以更快地加载和部署,同时降低了服务器的负担。
Hexo的优势
Hexo作为一个静态网站生成器具有许多优点,适用于不同类型的项目和需求。以下是Hexo的一些主要优点:
速度和性能优越:Hexo生成的网站是纯静态的,因此在访问时非常快速。它不需要动态数据库查询或服务器端处理,提供出色的性能。
低服务器要求:由于Hexo生成的是静态文件,它对服务器资源的要求相对较低。这意味着您可以使用廉价的托管方案来部署您的Hexo网站。
简化部署:Hexo可以轻松部署到各种托管平台,如GitHub Pages、Netlify、Vercel等。这使得部署过 ...
第四十四:Docker
“弱小无知不是生存的障碍,傲慢才是”
【狂神说Java】Docker最新超详细版教程通俗易懂_哔哩哔哩_bilibili
蚂蚁课堂
Docker Docs
初始Docker
什么是Docker
Docker是一种开源平台和工具,用于容器化应用程序。容器是一种轻量级、可移植的封装,其中包含应用程序和其依赖的所有组件,包括代码、运行时、库、环境变量和配置文件。Docker的主要目标是使应用程序在不同的环境中具有一致的运行方式,并提供更高效的资源利用和部署过程。
Docker的优势包括简化应用程序的开发、测试和部署过程,提高了资源利用率,使开发人员能够更容易地构建和交付应用程序。它在容器化技术方面的普及使得容器化应用程序在云计算和DevOps领域得到广泛应用。
Docker为什么会出现
Docker之所以出现,是为了解决软件开发和部署过程中的环境一致性问题。在传统的软件开发过程中,开发环境和生产环境通常是不同的,这可能导致以下问题:
环境差异导致问题:由于开发环境和生产环境的差异,开发人员在开发阶段无法完全模拟生产环境,导致在上线后可能出现意外的问题。这些 ...
第四十三:Nginx
“硬件使机器快速。软件使快速的机器变慢。”
【狂神说】Nginx最新教程通俗易懂,40分钟搞定!_哔哩哔哩_bilibili
蚂蚁课堂
初始Nginx
什么是Nginx
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。2011年6月1日,nginx 1.0.4发布。
其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站。
Nginx 是一个安装非常的简单、配置文件非常简洁(还能够支持perl语法)、Bug非常少的服务。Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软 ...
第四十二:Linux
“知识的最大敌人不是无知,而是对知识的错觉。”
【狂神说Java】服务器购买及宝塔部署环境说明_哔哩哔哩_bilibili
【狂神说Java】Linux最通俗易懂的教程阿里云真实环境学习_哔哩哔哩_bilibili
蚂蚁课堂
阿里云服务器详解(配置选择/使用入门) – 阿里云百科 (aliyunbaike.com)
Linux 教程 | 菜鸟教程 (runoob.com)
入门概述
为什么要学习Linux
linux诞生了这么多年,以前还喊着如何能取代windows系统,现在这个口号已经小多了,任何事物发展都有其局限性都有其天花板。就如同在国内再搞一个社交软件取代腾讯一样,想想而已基本不可能,因为用户已经习惯于使用微信交流,不是说技术上实现不了解而是老百姓已经习惯了,想让他们不用,即使他们自己不用亲戚朋友还是要用,没有办法的事情。
用习惯了windows操作系统,再让大家切换到别的操作系统基本上是不可能的事情,改变一个人已经养成的习惯太难。没有办法深入到普通老百姓的生活中,并不意味着linux就没有用武之地了。在服务器端,在开发领域linux倒是越来 ...
第四十一:微服务-SpringCloud Alibaba
“计算机的速度快、精确,但愚蠢;人类的速度慢、不准确,但聪明。当它们合作时,无比强大。”
【狂神说Java】SpringCloud最新教程IDEA版_哔哩哔哩_bilibili
蚂蚁课堂
Spring Cloud Netflix 中文文档 参考手册 中文版
Spring Cloud API 中文文档 参考手册 中文版
Spring Cloud Alibaba 中文手册
什么是 Nacos
Spring Cloud中国社区
Joker2Yue/SpringCloudLearn: 学习SpringCloud的相关代码、笔记 (github.com)
概念
微服务架构 中的名词
生产者(有的叫提供者) 提供接口
消费者(有的叫使用者) 调用生产者提供的接口
服务注册 生产者将提供的接口存放进注册中心
服务发现 消费者从注册中心找到需要的IP地址和端口号
服务治理 如何保证消费者每次拿到IP和端口号都是可用的
注册中心的重要性
如果生产者提供的接口在不停变动,那么消费者中的配置就必须不停的手动修改。这 ...
在这里记录所有重复使用的代码
“计算机科学是一门让你学会如何思考的科学,而不是一门让你学会如何编程的科学。”
课程-KuangStudy
JDBC
Mysql的配置
8.0以上数据库需要加时区设置
1234jdbc.username=rootjdbc.password=rootjdbc.driver=com.mysql.cj.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
JavaWeb
web.xml4.0配置
123456<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="htt ...
第四十:微服务-SpringCloud Netflex
“计算机的速度快、精确,但愚蠢;人类的速度慢、不准确,但聪明。当它们合作时,无比强大。”
【狂神说Java】SpringCloud最新教程IDEA版_哔哩哔哩_bilibili
蚂蚁课堂
Spring Cloud Netflix 中文文档 参考手册 中文版
Spring Cloud API 中文文档 参考手册 中文版
Spring Cloud中国社区
Joker2Yue/SpringCloudLearn: 学习SpringCloud的相关代码、笔记 (github.com)
背景-微服务架构演变过程
传统架构
传统的架构,也就是为单点应用,也就是大家在早期所学习的JavaEE知识SSH或者SSM架构模式,会采用分层架构模式:数据库访问层、业务逻辑层、控制层,从前端到后台所有的代码都是一个开发者去完成。
该架构模式没有对我们业务逻辑代码实现拆分,所有的代码都写入到同一个工程中里面,适合于小公司开发团队或者个人开发。
这种架构模式最大的缺点,如果该系统一个模块出现不可用、会导致整个系统无法使用。
分布式架构
...
第三十九:微服务-MybatisPlus
“一个好的程序员是在穿越单行道之前总是向两边看的人”
【狂神说Java】MyBatisPlus最新完整教程通俗易懂_哔哩哔哩_bilibili
MyBatis-Plus (baomidou.com)
概述
什么是MybatisPlus
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
特性
无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑
损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作。BaseMapper<>
强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求。以后简单的CRUD表达式能够自动生成
支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错
支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ...
第三十八:微服务-SpringBoot
“真正的危险不是计算机开始像人一样思考,而是人开始像计算机一样思考。”
【狂神说Java】SpringBoot最新教程IDEA版通俗易懂_哔哩哔哩_bilibili
狂神公众号
Spring Boot 中文文档 (springdoc.cn)
蚂蚁课堂
历史回顾与学习安排
历史回顾
JavaSE:OOP思想
Mysql:持久化
HTML+CSS+JS+jQuery+框架:视图。做的不好看的原因是框架不熟练,css技能不好
SSM:框架,简化了我们的开发流程,但是随着版本迭代行新特性更新,配置也开始变得复杂
于是,有了SpringBoot,微服务架构
而后面服务越来越多,也就有了SpringCloud
学习安排
Spring
什么是Spring
一个开源的框架,2003年兴起的一个轻量级Java开发框架。作者:Rod Johnson
它是为了解决企业级应用开发的复杂性而创建的,简化开发。
Spring是如何简化Java开发的
为了降低 Java 开发的复杂性, Spring 采用了以下 4 种关键策略:
基于 POJO ...
第三十七:Git
“真正的危险不是计算机开始像人一样思考,而是人开始像计算机一样思考。”
【狂神说Java】Git最新教程通俗易懂_哔哩哔哩_bilibili
版本控制
什么是版本控制
版本控制( Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。
实现跨区域多人协同开发
追踪和记载一个或者多个文件的历史记录
组织和保护你的源代码和文档
统计工作量
并行开发、提高开发效率
跟踪记录整个软件的开发过程
减轻开发人员的负担,节省时间,同时降低人为错误
简单说就是用于管理多人协同开发项目的技术。
没有进行版本控制或者版本控制本身缺乏正确的流程管理,在软件开发过程中将会引入很多问题,如软件代码的一致性、软件内容的冗余、软件过程的事物性、软件开发过程中的并发性、软件源代码的安全性,以及软件的整合等问题。
无论是工作还是学习,或者是自己做笔记,都经历过这样一个阶段!我们就迫切需要一个版本控制工具!|
多人开发就必须要使用版本控制,否则代价 ...