- 博客(23)
- 收藏
- 关注
原创 自建 Bitwarden 服务器并配置 HTTPS
我时常因为要记住各种平台的账户密码而担忧,因为怕忘记,然后就想找一款可以保存密码的软件,市面上有 1password ,我使用过它,它确实好用,我通过 Github 学生认证包,免费尝试了一年,但是续费比较贵,所有我选择买一台服务器,自建服务器,数据在自己手里更放心。如何安装 Docker 可以参考:[[CentOS 7.6 安装 Docker 与 Compose]]由于我是部署给自己使用,我会关闭服务端的注册功能,所以会有一个先简易部署,进行账户注册,然后再次部署。先访问该服务端,然后通过。
2024-03-24 10:56:33
2086
原创 CentOS 7.6 安装 Docker 与 Compose
Docker Compose 是 Docker 官方提供的一个工具,用于定义和管理多个 Docker 容器的应用程序。它允许您使用一个 YAML 文件来定义应用程序的服务、网络、卷等,并通过简单的命令来启动、停止和管理整个应用程序。Docker Compose 简化了多个容器之间的交互和管理,使得开发人员能够更加轻松地构建和部署复杂的应用程序。[3] Eniso. (2019.02.27). # CentOS 7 安装 Docker 和 Docker-Compose.出现以上信息,说明安装完成。
2024-03-23 16:21:07
1550
原创 使用 SCL 给 Centos7.6 升级 GCC 版本
SCL 软件集是为了给 RHEL / CentOS 用户提供一种方便、安全的安装和使用应用程序和运行时环境的多个(而且可能是更新的)版本的方式,同时避免把系统搞乱。
2024-03-20 23:15:28
1137
原创 CentOS 7 编译安装 Nginx
Nginx 主要提供两个版本,分别为:Mainline version 与 Stable version,前面是主线版本,有新的特性会在此版本中体现,但是 BUG 的出现的可能性也会比 稳定版本高,故以下使用写这篇博客下最新的稳定版作为演示。一开始使用 docker 搭建了一个 web 服务器,但是由于 docker 不太方便的部署 TLS 证书,故使用 Nginx 做反向代理,实现 https 连接。由红框中指出的是 Linux 下,应该下载的源码包,获取它的下载链接。
2024-03-18 21:22:02
563
原创 CentOS 7 编译安装 Git
这个选项,故没有办法,就选择了编译安装 Git。,但是由于 CentOS 7 源中的 Git 包版本太低,不支持。选项,这样就不用安装新版本的 Git 了,哈哈哈。如果是多核,可以采用多线程编译,加快编译速度。目前最新版的 v2.44.0 的版本。中 tags 找到最新版的源码。为什么要安装新版本呢?
2024-03-17 21:37:46
570
1
原创 SSH 免密码登录
Ed25519 是一种椭圆曲线加密算法,具有较高的安全性和效率,并且比 RSA 更安全些,以下使用 Ed25519 算法生成密钥对,以实现 SSH 免密码登录。SSH 中常常使用两种算法 RSA 与 Ed25519 ,以前存在其它算法,但是被正式证明不安全,现在普遍都是这两种算法。将 PasswordAuthentication 修改为 no,PubkeyAuthentication 修改为 yes。输入以上命令后,会提示是否为密钥进行加密,直接 Enter 就是不对密钥进行加密。
2024-03-08 22:11:50
666
1
原创 解析 Mybatis Plus 中 BaseMapper 构造 SQL 流程
这里判断了,调用的方法是否为 Object 类中的方法(比如: toString() 等等),如果成立,则直接执行方法,不做增强,如果不成立,就执行。最终调用 Mybatis 执行器进行执行 SQL ,这里击中的 Mybatis 的缓存,故是 CachingExecutor 进行执行最终 SQL。Mybatis Plus 在启动时,会为扫描到的每一个 mapper 接口,生成对应代理类,并交由 spring ioc 容器进行管理。接下来就是对方法进行一个缓存(加快多次操作的速度),并且生成一个。
2024-02-22 23:58:03
778
1
原创 解决 IDEA 终端输出中文乱码问题
而导致的(通常我们在 IDEA 中一般都是以 UTF-8 编码去编辑文件的)。(设置了一个 Java 系统属性,它指定 JVM 在处理输入和输出操作时所使用的字符编码。在 Windows 平台下,在日常的开发过程中,我们常常会遇到输出中文乱码问题,这是由于 Windows 系统编码不是。换 mac 电脑 / 换为 Linux 系统,它们默认系统编码均为 UTF-8。,由于解码或编码使用的字符集不一样,从而会导致乱码问题的出现。重启电脑,电脑默认编码变设置为 UTF-8 了。,按照以上图片修改为我的配置。
2024-02-21 23:55:42
1033
原创 程序员的电脑,为何永不关机?
而电脑的快速启动,无疑为他们节省了宝贵的时间。对于程序员而言,时间就是金钱,电脑的快速启动,让他们能够将更多的时间投入到工作中,创造更大的价值。如果电脑关闭,则无法进行远程访问,这对于需要随时随地处理工作问题的程序员来说,无疑是巨大的障碍。因此,对于程序员而言,电脑就像他们的“第二大脑”,保存着他们最珍贵的记忆和财富。总而言之,程序员不关电脑的原因,并非简单的“电脑上瘾”,而是基于工作效率、数据安全、远程访问等多方面的考虑。他们认为,电脑的运行状态就像一个温暖的陪伴,即使没有人使用,也能带来安心感。
2024-02-20 20:43:44
228
原创 探索科技的电影之旅:计算机专业人士必看的影片
通过观看这些电影中的程序员角色,我们可以深入思考程序员在职业生涯中的轨迹、人生选择,以及面临的挑战和机遇。电影中的程序员往往是科技领域的英雄,他们通过编程解决问题、创造创新,不仅令人着迷,更激励着现实中的计算机专业人士。这也提醒我们,计算机专业不仅是一项技术工作,更是一场充满激情和探索的人生旅程。在这部电影之旅中,让我们一同探索编程的奥秘,感受科技的魅力,为自己的职业生涯注入更多的激情和动力。这不仅仅是电影,更是对计算机专业人士的一次深刻的思考和启示。
2024-02-20 20:37:16
472
原创 算法基础 - 二分
因为整数除法是向下取整,当 mid = (l + r) / 2,l = mid ,如果 l = 0 ,r = 1 时,由于向下取整, mid = 0 ,l = mid = 0 ,那么就陷入的死循环。二分的本质是解决在某一个区间中,存在一个性质可以将区间一分为二,便可以使用二分找到符合该性质的点。浮点数二分,不存在整数除法的向下取整,所以不存在整数二分的情况。当答案唯一时,二个模板,没有任何区别。在整数二分中,分为二个模板。
2024-02-19 12:47:43
269
1
原创 JS Hook 与 过 debugger
常常利用 javascript 构造出 debugger 使用 Function.constructor / setInterval / eval。JS 变量是有作用域的,只有当被 hook 函数和 debugger 断点在同一个作用域的时候,才能 hook 成功。原理:debugger 关键字。一般相关代码会被混淆。
2024-02-16 20:11:45
1028
1
原创 算法基础 - c++语法
注:绝大多数容器均可以通过迭代器遍历容器里的元素,除了队列、栈、优先队列(因为他们本身用于不同的规则,即不需要遍历元素,以破坏这个规则)。getchar 是用来读入 1 byte 的数据并将其转换为 char 类型的函数,且速度很快。系统为某一程序分配空间时,所需时间与空间大小无关,与申请次数有关。通过统一的接口,对不同的容器进行遍历,类似与指针,可以进行解引用。putchar() 用来将数字输出为单个字符的函数。先执行一次 statement 语句,再进行判断。none() 判断是否都为0。
2024-02-15 22:34:12
1233
1
原创 回车与换行的区别
回车(carriage return):将光标移动到本文开头!换行(Line feed):将光标移动到下一行(不一定是行首)!
2024-02-14 22:06:07
553
1
原创 算法基础-质数-约数
的自然数中,除了1和该数自身外,无法被其他自然数整除的数(也可定义为只有1与该数本身两个正因数的数)。大于1的自然数若不是素数,则称之为合数(也称为合成数)。这里要优化利用到了: 如果 x $ a == 0 ,那么 x / a = b , x / b = a ,从而不用全部循环一遍。(英语:Number theory)是纯粹数学的分支之一,主要研究整数的性质,被称为“最纯”的数学领域。,是一个常见的数学名词,用于描述自然数。题型二:求一个数中所有约数的个数。题型一:求一个数的所有约数。
2024-02-05 22:32:40
1224
1
原创 docker 常用的命令
列出所有容器(去除 -a 参数,仅查看在运行容器)作为一名开发,平常用到的命令,也就以上几个了。查看 docker 详细详细。将主机文件复制到容器内部。删除所有没有使用的镜像。查看 docke 版本。
2024-02-04 23:17:28
268
1
原创 windows 配置 Java 环境变量并解释原因
保存系统会去搜索的目录路径,如果你准备运行的程序不在当前目录,操作系统便会依次搜索 Path 环境变量中的目录,如果在这些目录中找到待运行的程序,操作系统便可以运行。官网下载老版本 JDK 需要账号才可以下载,账号资源可在网上寻找。系统变量可以看作为一个系统提供给程序的变量,提供程序指定文件的索引。选择一个合适的安装位置,点击下一步即可。选择一个合适的安装位置,点击下一步即可。等待进度条,然后会让你安装 JRE。成功安装 JDK8 ,点击关闭即可。显示以下信息,就安装好了。验证是否成功安装 JDK8。
2024-02-04 22:47:12
469
1
原创 使用 k8s 搭建 wordpress
对于 mysql 需要密码等敏感信息,故可以使用 k8s 中的 secret 去保存密码,但是 secret 中是使用 base64 进行保存的,并不是特别安全,可以使用其他更安全的方式进行存储。查看进行服务信息,如上图,名为 wordpress 栏的 PORT(s) 列,其中 30122 为外部地址访问的端口。搭建 wordpress ,需要了解搭建一个完整的 wordpress 服务并且对外开放,所需要的服务。由于镜像可能有点慢,等待时间可以会有点久。,等等优秀的特性,被常常在企业中使用。
2024-02-03 21:50:46
1786
1
原创 解决 windows 11 hyper-v 占用端口问题
此时重启电脑,Hyper-V 就会从 55000 - 65565 范围内选取一些端口进行占用,而不会占用日常开发的端口。这段输出的意思是:从 55000 - 65535 范围内的端口都可能会被 hyper-v 随机占用。命令,去查找是什么进程占用的端口,但是有时端口明明被占用了,但是输入这段命令确没有任何输出。在我们日常的开发中,会经常遇到端口被占用,比如:8080、8081 等。如果以上端口范围包含:8080 等端口,就会出现占用。命令,查看已经被 hyper-v 占用端口。
2024-02-01 15:27:04
828
1
原创 git 三种合并方式(rebase / merge / squash)
会将 master 与 Feature 的最新 commit (E / H) 打包,在 master 分支提交为一个新的 commit (G)。squash 顾名思义是压缩,图 6 将 新分支的 commit (F / H) 进行打包压缩在与 master 分支进行 merge 操作。图 2 ,当 master 分支与 feature 分支都存在新的 commit 时,那么在 master 分支使用。在使用 Git (分布式版本控制系统),往往不会直接在主分支上面直接开发,而是新建一个分支进行开发。
2024-02-01 15:24:09
2478
1
原创 软件中各种安装版本的区别
installer后缀名如 .exe/ .dmp / .rpm / .msi ,执行程序,直接安装。source程序的源码,需要经使用对应的编译器,进行编译安装。binary / archive二进制包,已经过编译,一般可以直接使用。
2024-01-30 12:33:52
144
原创 取模运算与取余运算的区别
如果有两个整数 a 和 b ,则 a mod b ,需要满足 a = b * q + r ,q 为商, r 为结果。的含义也不一样,如 Python 是取模, Java 是取余。以下仅探讨两者符号不同时的区别(由于它们取商值不同,所导致的)取余结果的符号与被除数的符号相同。取模结果的符号与除数的符号相同。取模运算的商尽可能向负无穷靠近。取余运算的商尽可能向 0 靠近。取模是计算机中的概念。
2024-01-30 12:33:36
348
原创 深入了解二进制
由于计算机的硬件决定,计算机中任何数据都是以二进制码存储的。对于一名程序员,深入了解一下二进制和各个进制间的转换,我认为是一个基本功。
2024-01-30 11:34:01
375
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人