2024年3月17日...大约 51 分钟
cactus-vue-pro
单体-基于 Java 的一流的快速开发平台
cactus-cloud
微服务-基于 Java 的一流的快速开发平台
api-gateway-all
API 网关项目
db-router-spring-boot-starter
自研的分库分表组件
cactus-clottery
微信小程序和pc抽奖项目
本文主要介绍JDK中Collection和Map相关知识体系,后续章节将对主要对类进行源码解读。
- Collection 类关系图
2024年3月6日...大约 3 分钟
一、密码设置
1. 基本密码修改
$ passwd [用户名] # 不带用户名则修改当前用户密码
2024年10月25日...大约 3 分钟
1. 安装fastdfs所需文件
文件名 | 文件说明 | 本次安装版本 |
---|---|---|
libfastcommon | 从 FastDFS 和 FastDHT 中提取出来的公共 C 函数库 | V1.0.75 |
libserverframe | 从 FastDFS 中提取的网络服务框架库 | V1.2.5 |
fastdfs | FastDFS 源码,包含 tracker 和 storage 服务 | V6.12.2 |
fastdfs-nginx-module | FastDFS 与 Nginx 关联模块,实现访问和下载文件 | V1.24 |
nginx | 使文件能够通过http访问 | 1.22.0 |
2024年10月25日...大约 8 分钟
Git强制删除文件历史记录
-
确保已经备份(重要): 首先,请确保你对当前仓库有备份,
git filter-repo
是一个不可逆的操作,执行后所有删除的数据将无法恢复。 -
运行
git filter-repo
命令: 使用git filter-repo
来完全删除指定文件的历史,确保文件在所有 commit 中都被清除。$ git filter-repo --path '/d/Company_projects/application/cactus-vue-pro/cactus-server/src/main/resources/application.yaml' --invert-paths
如果路径中有误,请检查并确保路径完全正确。如果你想删除所有版本中的
application.yaml
文件,可以使用通配符:$ git filter-repo --path-glob '*/application.yaml' --invert-paths
这个命令将删除任何目录下名为
application.yaml
的文件。$ git filter-repo --path-glob '*/application-dev.yaml' --invert-paths $ git filter-repo --path-glob '*/application-local.yaml' --invert-paths $ git filter-repo --path-glob '*/logback-spring.xml' --invert-paths
-
强制推送到远程仓库: 如果你正在处理的是一个远程仓库,删除文件历史后,你需要强制推送修改。
注意: 这会覆盖远程仓库的历史,其他开发者可能会受到影响,所以建议在推送之前先与团队沟通。
$ git push origin --force --all $ git push origin --force --tags
这样会强制将本地的修改(包括历史记录的修改)推送到远程仓库。
-
清理本地及远程缓存: 执行以下命令以确保远程仓库的垃圾数据也被清理掉:
$ git gc --prune=now --aggressive $ git repack -ad
-
验证结果: 你可以通过以下命令来验证是否已完全删除文件的历史:
$ git log --all --full-history -- '**/application.yaml'
如果没有任何输出,说明该文件及其历史已完全删除。
2024年10月23日...大约 2 分钟
基础命令
创建存储库
# 创建一个新的本地存储库
$ git init [项目名称]
# 克隆存储库(代码仓库)
$ git clone <git_url>
# 将存储库克隆到指定目录
$ git clone <git_url> 指定目录
# 将存储库克隆到指定目录,并指定分支
$ git clone <git_url> -b <分支名称> 指定目录
2024年10月23日...大约 1 分钟
Docker 入门
安装
官网安装:https://docs.docker.com/engine/install/
利用脚本进行安装:
$ curl -sSL https://get.docker.com/ | sh
$ sudo chmod 777 /var/run/docker.sock
2024年9月30日...大约 2 分钟
1. 问题需求
如一台机器上有个 346MB 的 cactus.tar 文件,需要把这个文件通过 rsync 或 scp 传输到另一台机器上,现在网络的速度限制在每秒传输1.1MB ,需要多长时间能传输完成整个文件?
要计算传输文件的时间,我们可以使用以下公式:
2024年9月26日...大约 3 分钟
命令速查表
系统相关命令
命令 | 解释 |
---|---|
uname |
显示 linux 系统信息 |
uname -r |
显示内核版本信息 |
cat /etc/os-release |
显示 linux 系统详细信息 |
uptime |
显示系统运行的时间(包括平均负载) |
hostname |
显示系统主机名 |
hostname -i |
显示系统的IP地址 |
last reboot |
显示系统重新启动历史记录 |
date |
显示当前系统日期和时间 |
timedatectl |
查询和更改系统时钟 |
cal |
显示当前日历的月份和日期 |
w |
显示系统中当前登录的用户 |
whoami |
显示您的登录身份 |
finger username |
显示有关用户的信息 |
2024年9月26日...大约 7 分钟
1. 手动优化镜像体积【推荐】
1.1 新建 Dockerfile 并 build 为镜像
新建 Dockerfile文件,用于制作后端项目的 Docker 镜像。编写内容如下:
## AdoptOpenJDK 停止发布 OpenJDK 二进制,而 Eclipse Temurin 是伸,提供更好的稳定性
FROM eclipse-temurin:17
## 创建目录,并使用它作为工作目录
RUN mkdir -p /cactus-server
WORKDIR /cactus-server
## 将后端项目的 Jar 文件,复制到镜像中
COPY cactus-server.jar app.jar
## 设置 TZ 时区
## 设置 JAVA_OPTS 环境变量,可通过 docker run -e "JAVA_OPTS=" 进行覆盖
ENV TZ=Asia/Shanghai JAVA_OPTS="-Xms512m -Xmx512m"
## 暴露后端项目的 48080 端口
EXPOSE 48080
## 启动后端项目
ENTRYPOINT java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar app.jar
2024年9月25日...大约 3 分钟