Saki's 研究记录

Saki's 研究记录

MckeeのClub & SAKI’sブログ

Linux 服务器下查看网络连接及抓包分析
环境信息OS: macOS 14.1.1 (23B81)Docker: 24.0.5Image: mysql(8.0.21) Linux 服务器下查看网络连接的状态Linux 服务器下查看网络连接的状态, 通过 netstat 命令查看了当前tcp链接的情况(本地测试,线上实际值大的多) 12345# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'SYN_SENT 106CLOSE_WAIT 1TIME_WAIT 27ESTABLISHED...
MySQL 优化--慢查询日志
环境信息OS: macOS 14.1.1 (23B81)Docker: 24.0.5Image: mysql:8.0.21 慢查询定位定位慢查询问题,可以通过如下几个步骤进行: 开启慢日志; 使用慢日志查询分析管理工具; 基于已有的慢日志分析,对系统本身做优化。 开启慢日志如何开启慢查询日志1、查看慢查询日志是否开启因为开启慢查询日志是有代价的(跟bin log、optimizer-trace一样),所以它默认是关闭的。开启慢日志,执行命令: 123456789show variables like 'slow%';+---------------------+-...
找不到模块“XXX”或其相应的类型声明ts(2307)
问题在基于vue3+vite+typescript的UI组件库时设置了别名会有typescript提示 找不到模块“XXX”或其相应的类型声明ts(2307) 解决办法检查vite.config.ts里面有没有配置alias别名路径,没有就添加上。 12345678export default defineConfig({ plugins: [vue()], resolve: { alias: { '@': path.resolve(__dirname, 'src'), } &...
Golang数组与Slice,以及append函数的陷阱
有时候我们会将slice当做参数传递到函数,给这个slice做一些修改的情况。想到slice是引用传递,可以直接传递slice用作修改,于是可能出现下面这种情况: 12345678910111213141516package mainimport "fmt"func main() { arr := []int{1} modifySlice(arr) fmt.Println(arr) // [1]}func modifySlice(arr []int) { a...
Wails
简介 github: wailsapp/wailsC/S模式,一个后端服务,一个前端页面作为UI。前端可以使用 Vue / React / Angular,可以说很适合偏前端的选手。 Go语言的桌面解决方案来了——Wails,一个能让你使用 Go语言创建漂亮桌面应用的项目。从其官网的描述来看,它提供的解决方案如 Tauri类似,只是后端语言换作了 Go语言,前端开发依旧采用 HTML/CSS/Javascript,采用 Web渲染引擎进行界面绘制。桌面级别的应用开发依然是各个语言争相角逐的领域。 C#有微软推出的 MAUI,以及 WinForm和 WPF,依旧占据桌面应用开发的绝对主导...
Mac M1 安装并配置 OpenJDK
安装 Homebrew使用Homebrew安装OpenJDK,方便管理(查看、更新、卸载)在终端中执行安装脚本: 1/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 安装 OpenJDK@201brew install openjdk@20 配置 OpenJDK@20根据输出的安装信息的提示,为了让 Java wrappers 找到 JDK,需要手动建立链接: 12# For the system Java wrappers...
watchdog 机制
看门狗啥意思如果业务代码没执行完,锁却过期了,这时候其他线程又能抢锁了,线程就不安全啦。所以 redisson内部有个 watchdog(看门狗)的自动延期的机制,意思是定时监测业务是否执行结束,没结束的话你这个锁是不是快到期了(超过锁的三分之一时间,比如设置的 30s过期,现在还剩 10s到期),那就自动续期直到任务结束释放锁,大概是这么个意思。这样做可以防止如果业务代码没执行完,锁却过期了所带来的线程不安全问题。 实际开发中: 1234// 具有 Watch Dog 自动延期机制 默认续 30s 每隔 30/3=10 秒续到 30slock.lock();// 尝试拿锁 10s 后停...
快速搭建本地Temporal环境并运行简单demo
1. 运行 Temporal 集群123git clone https://github.com/temporalio/docker-compose.gitcd docker-composedocker-compose up 2. 创建项目创建项目目录: 1mkdir hello-temporal 初始化项目: 1go mod init hello-temporal 下载最新版本的 Go SDK(或者在最后执行go mod tidy): 123go get -u go.temporal.io/sdk@latest# 用于生成唯一 IDgo get github.com/google/...
git fatal: 拒绝合并无关的历史的错误解决[亲测有效]
问题描述旧项目在拉取/推送版本时失败,报错如下: 1234> git pull origin master来自 gitlab.hahaha.com:backend/server * branch master -> FETCH_HEAD致命错误:拒绝合并无关的历史 或 1234567> git push origin masterTo gitlab.hahaha.com:backend/server.git ! [rejected] master -> master (non-fast-forward)错误:无法推送一些...