跳过正文

博客

博客专栏收纳已有 Markdown 文档和后续日常技术沉淀。原有文章的分类和标签会继续保留,用于检索和聚合。

文档建设网站之 docify

·16 字·1 分钟
docsify # https://docsify.js.org/#/ 安装 npm i docsify-cli -g 搭建项目 docsify init ./docs 启动 docsify serve .\docs\

玩转 Github 搜索技巧

·94 字·1 分钟
Github # github官方文档 https://docs.github.com/cn/search-github/searching-on-github/searching-for-repositories 操作技巧 # 按s 快速定位到搜索栏 按t 将项目目录树以列全部呈现 按. 将项目在在线vscode中查看 搜索技巧 # 搜索仓库https://docs.github.com/cn/search-github/searching-on-github/searching-for-repositories

开发环境

·76 字·1 分钟
系统环境 # 环境 # python go node git、svn 编辑器 # pycharm pro、webstome、goland、IntelliJ IDEA、 vscode typora sublime text 终端 # Xshell git bash WSL、window terminal 工具 # 谷歌浏览器 VMware chatGPT postman、apifox、easydoc GripData、navicate、RedisInsight、mongosh、compass、pgAdmin、neo4j Desktop 百度网盘、阿里云盘 bandzip ide-eval-resetter、navicat cracker fileZilla、Xftp7 wireshark UML、亿图图示 utools microsoft To Do 配置 # jetbrains全家桶编辑器配置 vscode编辑器配置 镜像 # ubuntu-20.04-live-server 其他 # WPS 有道 geek.exe、软媒全家桶exe snipaste wechat、Tim ToDesk、向日葵 KMPlayer 支付宝开放平台开发助手 vnc Viewer Linux环境 # python node redis、mysql、postgre、mongodb、elasticsearch、clickhouse kafka、rabbitMQ git、 nginx、gunicorn、uWSGI ssh-server docker、portainer.io supervisor、pm2 jenkins vmware vsphere

进程管理工具之 pm2

·151 字·1 分钟
PM2 # 参考:https://mp.weixin.qq.com/s/S8Gw2XzuflnN2QMSVXhLhg 场景 # node 应用跑的时候突然抛了个错,崩溃了,是不是需要重新跑起来?这时候是不是就需要另一个进程来自动做重启这件事情? node 应用的日志默认输出在控制台,如果想输出到不同的日志文件,是不是可以让另一个进程获取 node 应用的输出,然后写文件来实现? node 是单线程的,而机器是多个 cpu 的,为了充分利用 cpu 的能力,我们会用多个进程来跑 node 应用,来提高性能。这种通用逻辑是不是也可以放到一个单独进程里来实现? node 运行时的 cpu、内存等资源的占用,是不是需要监控?这时候是不是可以让另一个进程来做? 线上的 node 应用不只是跑起来就行了,还要做自动重启、日志、多进程、监控这些事情。

缓存简介

·82 字·1 分钟
缓存 # # 简介 # 简而言之,即是数据存储的缓冲区。使用缓存之后,可以减轻访问数据库的压力,显著的提升系统的性能。

代码提交规范之 Conventional Commits

·98 字·1 分钟
引言 # 在软件开发中,良好的版本控制实践是维持项目健康和可持续发展的关键。一个清晰、一致的提交历史不仅可以加强团队合作,还能提高代码的可维护性。本文将介绍 Conventional Commits 规范,一种帮助您实现这一目标的提交信息格式规范。 什么是 Conventional Commits? # Conventional Commits 是一个轻量级的、社区驱动的提交信息格式规范。它的核心目的是使提交信息更加可读和易于理解。遵循这一规范,可以让您的 Git 历史成为一个清晰的故事,而不仅仅是代码的变更记录。

代码提交规范之 Conventional Commits

·87 字·1 分钟
Conventional Commits:让您的Git历史更加清晰和有意义 # 引言 # 在软件开发中,良好的版本控制实践是维持项目健康和可持续发展的关键。一个清晰、一致的提交历史不仅可以加强团队合作,还能提高代码的可维护性。本文将介绍 Conventional Commits 规范,一种帮助您实现这一目标的提交信息格式规范。

博客建设网站之 hexo

·39 字·1 分钟
Hexo # framework based on node.js 官网: https://hexo.io doc:https://hexo.io/docs/ 简单教程: 【bilibii】 https://b23.tv/xyiGVIV 安装 # npm install -g hexo-cli 创建自己的blog项目 # hexo init blog 博客文件存放路径 # source/_posts,将自己平时的md文件放入其中即可

ubuntu 上安装部分开发软件

·373 字·2 分钟
ubuntu20.04安装部分软件 # 安装docker # 1、卸载可能存在的或者为安装成功的Docker版本 # sudo apt-``get` `remove docker docker-engine docker-ce docker.io 2、添加阿里云的GPG密钥 # curl -fsSL http:``//mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - 3、使用以下命令设置存储库 # sudo add-apt-repository ``"deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" 4、安装最新版本的Docker # sudo apt-``get` `update sudo apt-``get` `install docker-ce docker-ce-cli containerd.io docker-compose-plugin 5、验证Docker是否安装成功 # -- 查看docker 版本 docker version 二、安装postgresql # 1、Add Postgre SQL 13 repository # sudo apt update sudo apt install curl gpg gnupg2 software-properties-common apt-transport-https lsb-release ca-certificates add the APT repository,importing GPG key # curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg add repository contents # echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" |sudo tee /etc/apt/sources.list.d/pgdg.list 2、Install PostgreSQL 13 # sudo apt update sudo apt install postgresql-13 postgresql-client-13 systemctl status postgresql@13-main.service 3、Configure remote Connection # sudo vi /etc/postgresql/13/main/postgresql.conf # Listen on all interfaces listen_addresses = '*' # Listen on specified private IP address listen_addresses = '192.168.10.11' sudo vi /etc/postgresql/13/main/pg_hba.conf # Accept from anywhere host all all 0.0.0.0/0 md5 # postgres用户通过密码登录 host all postgres trust # Accept from trusted subnet host all all 10.10.10.0/24 md5 sudo systemctl restart postgresql 4、修改默认postgres用户的密码 # # 进入psql sudo -u postgres psql 修改密码 \password postgres 并输入密码dizai123456 docker安装rabbitMQ:3.8.9 # 1、创建需要映射的目录 # mkdir -p /home/sjcl/docker_file/rabbitmq3.8.9/{data,conf,log} # 记得文件授权! chmod -R 777 /home/sjcl/docker_file/rabbitmq3.8.9/{data,conf,log} 2、下载并启动 # docker run -d -it --privileged=true --name rabbitmq3.8.9 -p 5672:5672 -p 15672:15672 -v /home/sjcl/docker_file/rabbitmq3.8.9/data:/var/lib/rabbiitmq -v /home/sjcl/docker_file/rabbitmq3.8.9/conf:/etc/rabbitmq -v /home/sjcl/docker_file/rabbitmq3.8.9/log:/var/log/rabbitmq -e RABBITMQ_DEFAULT_USER=dizai -e RABBITMQ_DEFAULT_PASS=123456 rabbitmq:3.8.9-management 3、开启rabbitmq_management插件 # # 进入容器中 docker exec -it <容器id> /bin/bash # 开启插件,则UI可访问 rabbitmq-plugins enable rabbitmq_management docker安装geoserver:2.18.0 # 1、创建需要映射的目录 # mkdir /home/sjcl/docker_file/geoserver2.18.0/data chmod 777 /home/sjcl/docker_file/geoserver2.18.0/data 2、下载并启动 # docker run -d --name geoserver2.18.0 -p 48080:8080 -v /home/sjcl/docker_file/geoserver2.18.0/data:/opt/geoserver/data_dir -e GEOSERVER_DATA_DIR=/opt/geoserver/data_dir -e GEOSERVER_ADMIN_PASSWORD=dizai123456 kartoza/geoserver:2.18.0 apt # 配置目录:/etc/apt

ssh 连接过程

·16 字·1 分钟
用户密码方式验证登入过程分析 # 客户端ssh向服务器发送连接请求,传递用户名及ip端口 服务端接收到请求,检查用户名是否存在,不存在则拒绝。反之,会将公钥及指纹(公钥对应的sha256值)发送给客户端 若客户端是第一次请求连接,则会提醒用户确认该指纹是否来自目的服务器,若用户输入yes确认则会将指纹存放到known_host中,下次再连接时,当发现服务器传过来的指纹与已存入到known_host中的指纹一致,则服务器身份直接验证通过,无需提醒确认。反之会发出警告:提醒说该公钥和指纹可能是由于中间人拦截而被篡改的或者可能是服务器更新了新的公私钥对。 客户端完成公钥接收及指纹对比后,需要输入密码,将密码使用服务器公钥进行加密发送到服务器,服务器私钥解密验证成功则允许登入。 公钥身份验证登入过程分析 # 客户端在本地生成一对密钥,包括一个公钥和一个私钥。且将自己的公钥放到到服务器上的 ~/.ssh/authorized_keys 文件中 客户端ssh向服务器发送连接请求 服务端检查用户名存在后,生成一个随机串返给客户端 客户端自己的私钥对随机串进行签名并发送给服务器 服务器使用已存入authorized_keys 中的公钥进行验签,若验签通过则客户端身份认证成功