windows上的go开发 发表于 2023-06-05 更新于 2023-10-15 分类于 Program , Web Valine: 本文字数: 1.5k 阅读时长 ≈ 1 分钟12PS C:\Users\sangfor> go versiongo version go1.20.3 windows/amd64 一、前言二、好用的第三方库1. wintun golang.zx2c4.com/wireguard 三层网卡的虚拟网卡驱动 使用wireguard的wintun库 到官网下载安装包: https://www.wintun.net/ 解压后是dll库,将dll库 ...阅读全文 »
linux驱动开发 发表于 2023-06-01 更新于 2024-09-24 分类于 Program , C/C++ Valine: 本文字数: 19k 阅读时长 ≈ 17 分钟前言一、环境搭建二、开发指导1. 基本模板1.1. Makefile编写 Makefile第一个M要大写,不然也会报错 12345678910111213141516171819202122232425NAME := helloobj-m := $(NAME).oifeq ($(KERNDIR), )KDIR := /lib/modules/$(shell uname -r)/buildelseK ...阅读全文 »
linu性能观测和排查 发表于 2023-05-25 更新于 2024-07-08 分类于 Program , Shell Valine: 本文字数: 5.2k 阅读时长 ≈ 5 分钟一、性能观测工具1. pidstat 进程状态观测1.1. 选项解释筛选 -p <pid>: 进程id号,不指定就显示所有的进程 信息统计 -r: 显示内存使用情况和页错误 -u: 显示cpu使用情况 -d: 显示io使用情况 -s: 展示栈使用情况,kB为单位,保留和使用的大小 -R: 展示实时优先级和调度策略信息 -v: 展示一些内核表的值,线程数和fd分配 -w: 展示任务调度情 ...阅读全文 »
neovim相关配置 发表于 2023-03-15 更新于 2024-09-23 分类于 Program , Shell Valine: 本文字数: 6.8k 阅读时长 ≈ 6 分钟一、前言neovim是基于vim二次开发的,快捷键配置大部分可以复用vim的,这里就只列举一些插件的配置和处理 一个很不错的nvim的开源配置 https://github.com/ayamir/nvimdots 二、特殊配置1. 剪贴板 没看到neovim有clipboard特性安装上,就先用系统剪贴板共享的方式 需要安装xclip软件,然后设置set clipboard+=unnamedplu ...阅读全文 »
kvm相关学习 发表于 2023-02-06 更新于 2024-09-19 分类于 Program , Shell Valine: 本文字数: 9.1k 阅读时长 ≈ 8 分钟一、前言kvm和云计算息息相关,同时kvm也是linux上虚拟化技术的内核支持 二、qemu命令说明1. 快捷键说明1.1. SDL图形界面下 Ctrl + Alt + f: 全屏显示 Ctrl + Alt + 2: 进入qemu监视器窗口 2. qemu-img2.1. 常用选项 -f fmt: 指定img的格式,可选qcow2、vmdk、vdi、vhd、raw等 2.2. create 创建镜 ...阅读全文 »
shellcode相关笔记 发表于 2023-01-02 更新于 2023-10-15 分类于 Program , Common Valine: 本文字数: 615 阅读时长 ≈ 1 分钟一、前言参考 初探shellcode免杀 1. 简介shellcode是用于利用软件漏洞而执行的代码,一般是机器码,由于作用一般是让攻击者获得shell而得名。由于是机器码,在寄存器eip溢出后,塞入机器码来执行。 2. 基础知识2.1. eip寄存器存放cpu下次要执行的指令地址,只需要修改eip寄存器的值,即可执行shellcode。 3. 免杀3.1. 杀软原理目前的杀软手段一般由两种 基于 ...阅读全文 »
架构师相关知识 发表于 2022-12-28 更新于 2024-01-15 分类于 Program , Web Valine: 本文字数: 1.2k 阅读时长 ≈ 1 分钟见 系统架构师 二、数据库1. 数据库读写分离 读操作和写操作对应不同场景,写操作更耗费性能 将写操作写入主服务器,通过复制的方式到读数据库,加快读数据的响应速度 2. mysql2.1. 备份方案参考 9 Best MySQL Backup Tools 物理备份:二进制文件拷贝,需要重启mysql但是耗时很短,不锁表,占用空间较大,percona开源 首次物理备份后可以通过增量拉取变更数据(基于 ...阅读全文 »
缓存 发表于 2022-11-27 更新于 2023-10-15 Valine: 本文字数: 1.8k 阅读时长 ≈ 2 分钟一、前言1. 影响缓存命中率的因素 缓存键集合 键越少性能越高 可以使用内存空间大小 空间越大,缓存内容越多,命中率越高 使用寿命 2. 缓存为什么可以提升性能 缓存来自内存,比磁盘访问更快 减少数据库、磁盘和网络的压力,减少cpu的io时间 缓存最终结果,不需要再次计算 3. 各种介质数据访问延迟 操作类型 大致时间 本地内存 100ns SSD磁盘搜索 100000ns 网络数据包在同一个数据 ...阅读全文 »
分布式存储 发表于 2022-11-27 更新于 2023-10-15 分类于 Program , Web Valine: 本文字数: 629 阅读时长 ≈ 1 分钟一、前言二、几种分布式存储的架构参考 一篇文章讲透分布式存储 1. 中间控制节点架构 HDFS 由谷歌提出 通过廉价的服务器来提供大规模,高并发场景下的web访问问题 服务器分为两种类型:namenode和datanode 可以横向扩展datanode的数量来增加承载能力,实现动态横向扩展 1.1. namenode 储存管理数据,比如文件在哪个datanode 一般使用主备集群部署 1.2. d ...阅读全文 »
vue使用笔记 发表于 2022-11-07 更新于 2023-10-15 分类于 Program , Web Valine: 本文字数: 537 阅读时长 ≈ 1 分钟一、路由事件1. 点击导航到下一个页面 不会触发beforeDestroy,会触发beforeRouteLeave,可以在里面做一些清理工作 1234567891011121314151617181920212223<script>import { defineComponent, ref } from 'vue';export default ...阅读全文 »