GitHub Pages + 后端 API 的完整实现指南
使用方案二:GitHub Pages + 后端 API 的完整实现指南
第一步:创建 GitHub Personal Access Token
访问 https://github.com/settings/tokens
点击 “Generate new token”
选择权限:
repo (完全控制仓库)
workflow (如果需要使用 Actions)
生成并复制 token(重要:只显示一次)
第二步:准备项目结构
12345678910markdown-editor/├── backend/│ ├── server.js│ ├── package.json│ └── .env├── frontend/│ ├── index.html│ ├── style.css│ └── app.js└── README.md
第三步:后端设置
创建后端目录和文件
123mkdir -p markdown-editor/backendcd markdown-editor/backendnpm init -y
安装后端依赖
1npm install expres ...
Python3初始化工作空间
Python3初始化工作空间
123456789101112# 创建虚拟环境python3 -m venv venv# 激活虚拟环境# Linux/Mac:source venv/bin/activate# Windows:venv\Scripts\activate# 安装依赖pip install requests pandas numpy # 示例包pip freeze > requirements.txt
Aop
Aop
切面:用于实现通知方法的类
横切关注点:在核心业务中分离出来的非核心业务,通知方法的方法体
连接点:用来运行通知方法的位置
切入点:用切入表达式计算出连接点。
通知:每一个横切关注点需要包装成一个方法,这个方法就叫做通知
基于注解
开启自动代理
<aop:aspectj-autoproxy />
@Aspect:切面标记
通知:
@Before :前置
参数:JoinPoint joinPoint
@AfterReturning(returning=“result”) :返回
参数:Object result
@AfterThrowing(throwing=“e”) : 异常
参数:Exception|Throwable e
@After
@Around()
参数:ProceedingJoinPoint joinPoint
切入点:
@Pointcut(“execution=(public int zornage.online.Entity.User.toString(int i))”) = (“* zorange.on ...
Docker安装
更新yum源
步骤 1:备份现有的 YUM 源配置
首先,备份当前的 YUM 源配置文件,以防需要恢复:
1sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
步骤 2:下载阿里云的 YUM 源配置文件
使用 wget 下载阿里云的 CentOS 7 YUM 源配置文件:
1sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
步骤 3:清除缓存并生成新的缓存
清除旧的 YUM 缓存并生成新的缓存:
12 sudo yum clean allsudo yum makecache
步骤 4:验证 YUM 源是否配置成功
运行以下命令查看可用的更新包,确保新源配置正确:
1sudo yum repolist
完成后的效果
你现在已经成功将 CentOS 7 的 YUM 源切换为阿里云镜像源。这将提高下载速度和软件包更新的效率,因为阿里云的镜像服务器 ...
Elasticsearch
Elasticsearch概述
Elasticsearch的特性
实时
理论上数据从写入Elasticsearch到数据可以被搜索只需要1秒左右的时间,实现准实时的数据索引和查询。
分布式、可扩展
天生的分布式的设计,数据分片对于应用层透明,扩展性良好,可以轻易的进行节点扩容,支持上百甚至上千的服务器节点,支持PB级别的数据存储和搜索。
稳定可靠
Elasticsearch的分布式、数据冗余特性提供更加可靠的运行机制,且经过大型互联网公司众多项目使用,可靠性得到验证。
高可用
数据多副本、多节点存储,单节点的故障不影响集群的使用。
Rest API
Elasticsearch提供标准的Rest API,这使得所有支持Rest API的语言都能够轻易的使用Elasticsearch,具备多语言通用的支持特性,易于使用。Elasticsearch Version 8以后,去除了以前Transport API、High-Level API、Low-Level API,统一标准的Rest API,这将使得Elasticsearch更加容易使用,原来被诟病的API混乱问题终于得到完美解决。
高性 ...
Gateway组件
Gateway组件
概述
Gateway是在spring生态系统之上构建的API网关服务,基于Spring5,SpringBoot2和Project Reactor等技术。Gateway旨在提供一种简单而有效的方式来对API进行路由,以及提供一些强大的过滤器功能,例如:熔断、限流、重试等
SpringCloud Gateway是SpringCloud的一个全新项目,基于Spring5.X+SpringBoot2.X和Project Reactor等技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的API路由管理方式。
为了提升网关的性能,SpringCloud Gatway是基于WebFlux框架实现的,而WebFlux框架底层则使用了高性能的Reactor模式通讯框架Netty。
SpringCloud Gateway的目标提供统一的路由方式且基于Filter链的方式提供了网关基本的功能,例如:安全、监控/指标、和限流。
架构图
三大核心概念
Route(路由)
路由是构建网关的基本模块,它由ID,目标URI,一系列的断言和过滤器组成,如果断言为true则匹配该路由
P ...
JDBCUtil
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475package zorange.utils;// 引入Druid数据源工厂类import com.alibaba.druid.pool.DruidDataSourceFactory;import javax.sql.DataSource;import java.io.IOException;import java.io.InputStream;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Properties;/** * JDBC工具类,用于简化数据库连接和关闭资源的操作。 */public class JD ...
JSONUtil
12345678910111213141516171819202122232425262728293031323334353637383940414243444546 package com.atguigu.jxc.util;import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.core.type.TypeReference;import com.fasterxml.jackson.databind.ObjectMapper;import java.io.IOException;import java.util.List;/** * @author orange * @since 2024/11/17 */public class JSONUtil { static final ObjectMapper objectMapper = new ObjectMapper(); public static <T> T StringToOb ...
JUC
JUC
思维导图:https://server.blog.zorange.online/files/de1cdc38f6c34ecb8304253a283acaa3.png
JUC是什么?
在 Java 5.0 提供了 java.util.concurrent(简称JUC)包,在此包中增加了在并发编程中很常用的工具类。此包包括了几个小的、已标准化的可扩展框架,并提供一些功能实用的类,没有这些类,一些功能会很难实现或实现起来冗长乏味。
进程和线程
进程:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。
线程:通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程可以利用进程所拥有的资源,在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位,由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效的提高系统多个程序间并发执行的程度。
并行和并发
wait和sleep ...
JVM
JVM
面试
1.JVM是什么?JVM的内存 区域分为哪些?
2.什么是OOM ?什么是StackoverflowError?有哪些方法分析?
3.JVM 的常用参数调优你知道哪些?
4.GC是什么?为什么需要GC?
5.什么是类加载器?
什么是JVM
是一种规范:规定了字节码文件的格式
JDK=JRE+工具集(java.exe,javac.exe)
JRE=JVM+系统类库
==屏蔽了平台和语言相关性==
JVM:Java Virtual Machine,Java虚拟机
**位置:**JVM是运行在操作 系统之上的,它与硬件没有直接的交互。
主流虚拟机
JCP组织(Java Community Process 开放的国际组织 ):Hotspot虚拟机(Open JDK版),sun2006年开源
Oracle:Hotspot虚拟机(Oracle JDK版),闭源,允许个人使用,商用收费
BEA:JRockit虚拟机
IBM:J9虚拟机
阿里巴巴:Dragonwell JDK(龙井虚拟机),电商物流金融等领域,高性能要求。
JVM结构图
**JVM的作用:**加载并执行Jav ...
