Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment
hexo使用github action实现自动部署到云服务器
使用 github action 脚本,当我们把 hexo 文章源文件上传至 github 时,会自动帮我们打包,如果你开启 page 功能,那么将会自动 push 至所指定的分支上,实现自动化部署功能同理,也可以实现将编译好的 html 文件上传至服务器
编译 Hexo
首先创建一个仓库,你可以设置为私有或者公有
进入仓库主页,点击 Actions,点击New workflow创建一个名为build.yml的 action
配置 hexo 编译 action 脚本这里用到的是peaceiris/actions-gh-pages@v3的脚本,有需要的可以直接找 hexo 的部署脚本
123456789101112131415161718192021222324252627282930313233343536name: Build # action nameon: push: branches: - master # 当 master 分支发生 push 请求时执行jobs: pages: runs-on: ubuntu-latest permissio ...
springcloud+alibaba+nacos常见问题
说明此贴收集在使用springcloud-springcloud-alibaba-nacos中常见问题版本说明
名称
版本
nacos
2.1.1
spring-boot
2.7.6
spring-cloud
2021.0.5
spring-cloud-alibaba
2021.0.5.0
问题集锦spring-cloud开启@LoadBalanced后,仍报服务找不到错误问题原因:在新版本中spring-cloud中,官方放弃了ribbon,使用loadbalancer
12345<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-loadbalancer</artifactId> <version>2.2.0.RELEASE</version></dependency>
nacos调整权重不生效,还是轮询问题原因 ...
mysql开启主从复制
原理mysql主从复制主要是通过监听master(主库)的binlog日志,slave(从库)的IO Thread将所有改动操作写入relay log日志,然后在slave中的SQL Thread执行对应的sql语句来实现的
Master主库在事务提交时,会把数据变更记录在二进制日志文件Binlog中
从库读取主库的二进制日志文件Binlog,写入到从库的中继日志Relay Log
slave重做 relay 日志中的事件,将改变反映它自己的数据
实现步骤
准备两台数据库服务器
使用docker创建elasticsearch
官网地址https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#_install_docker_desktop_or_docker_engine
安装elasticsearch
下载elasticsearch8
1docker pull docker.elastic.co/elasticsearch/elasticsearch:8.6.1
为 Elasticsearch 和 Kibana 创建新的 docker 网络
1docker network create elastic
运行elasticsearch容器启动后会生成一个有限期30分钟的token,用于后续的kibana的登录,如果没有跳至第6步
123docker run --name es01 --net elastic -p 9200:9200 \ -v plugins:/usr/share/elasticsearch/plugins \ -it docker.elastic.co/elasticsear ...
keytool生成证书
123456789101112131415161718# 第一步: 生成Netty服务端私钥和证书仓库命令,用于将客户端的证书保存到服务端的授信证书仓库中keytool -genkey -alias securechat -keysize 2048 -validity 365 -keyalg RSA -dname "CN=localhost" -keypass sNetty -storepass sNetty -keystore sChat.jks# 第二步:生成Netty服务端自签名证书 用于颁给使用者 从 证书仓库中导出证书keytool -export -alias securechat -keystore sChat.jks -storepass sNetty -file sChat.cer# 第三步:生成客户端的私钥和证书仓库,用于将服务端的证书保存到客户端的授信证书仓库中keytool -genkey -alias smcc -keysize 2048 -validity 365 -keyalg RSA -dname "CN=localhos ...
Vue3组件继承
有些情况第三方的UI组件库不能满足我们自己的需求,需要定制一些功能上去,有没有一种可能,vue也可以写像写面向对象语言一样,继承一个组件,然后定制一些功能呢以下案例基于vue3实现
例如我现在有一个组件NButton,现在想给这个组件加上一个权限判断,当登录用户没有此按钮的权限时,将对此按钮不可见或禁用等
extends文档地址:https://cn.vuejs.org/api/options-composition.html#extends
详细信息:使一个组件可以继承另一个组件的组件选项。
我们通过extends: NButton继承一个组件库
1234567891011121314151617181920// YButton.vue<script lang="ts">import { defineComponent } from 'vue'import { NButton } from "naive-ui"export default defineComponent ...
git常用命令(救命版)
git -h 获取帮助
命令解释
HEAD 是指当前的快照HEAD~1 指回退一个快照,可以简写为 HEAD~,HEAD~2 指回退两个快照
commit
添加并提交已修改的文件(仅已被add的文件)1git commit -m 'message'
push
推送当前分支所有commit至远程1234# 默认提交到与当前分支同名称的远程分支,远程没有则自动创建git push# 提交到指定remote,指定分支git push origin master
reset
撤销已提交的记录HEAD~1,表示
1234# 还未 pushgit reset --soft HEAD~1# 已经 push,从远程分支上撤销,同时执行以下命令git push origin <branch> --force
已经 commit,从远程分支上撤销当前提交
1git
rebase
合并多条 commitgit log 记录从上至下如 A > B > C > D若要合并 A ~ C 的记录
1234# 查看历史记录,找到记录 C 的 idgit ...
算法思想之滑动窗口
练习传送门https://leetcode-cn.com/tag/sliding-window/problemset/
算法描述滑动窗口指的是这样一类问题的求解方法,在数组上通过双指针同向移动而解决的一类问题。其实这样的问题我们可以不必为它们专门命名一个名字,它们的解法其实是很自然的。使用滑动窗口解决的问题通常是暴力解法的优化,掌握这一类问题最好的办法就是练习,然后思考清楚为什么可以使用滑动窗口。
算法思路滑动窗口的核心是使用两个指针,left和right来指定一个窗口(范围)中的数据是否满足要求。在最长字串中,如果找到了结果就继续扩大范围(right右移),不满足时缩小范围(left右移)在最短字串中,如果找到了结果就继续缩小范围(left右移),不满足时扩大范围(right右移当left == right时,扩大窗口,直到right > length
如:🐶🐷🐷🐶🐶🐷🐶🐶🐷🐷🐷🐶,长度12
🐶
🐷
🐷
🐶
🐶
🐷
🐶
🐶
🐷
🐷
🐷
🐶
0
1
2
3
4
5
6
7
8
9
10
11
我们需要找到在以上表 ...
51实现数码管动态显示数字
在学习单片机点亮数码管的时候,为实现0-9数字的依次显示
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768#include "reg52.h"typedef unsigned char u8;typedef unsigned int u16;// #define P0 P0sbit P22 = P2^2;sbit P23 = P2^3;sbit P24 = P2^4;void delay(unsigned int ms) //@12.000MHz{ unsigned char i, j; while (ms--) { /* code */ i = 2; j = 239; do { while (--j); } ...