共有 274 篇文章
暴力删除registry镜像文件
2024-01-29 - 2024-09-18

暴力删除registry镜像文件

直接进入这个目录删除仓库 /HHD4/docker/docker_hub/docker/registry/v2/repositories

进入docker实例执行垃圾回收 /bin/registry garbage-collect /etc/docker/registry/config.yml

重启registry

Gorm 数据库操作
2024-01-26 - 2024-09-18

RawMessage Scan&Value

json.RawMessage[]byte形式存储json数据,但在父结构体marshal和unmarshal时不会重复序列化,仅仅将数据复制到新json字符串中

通过继承Scanner和Valuer实现结构体变量写入和读出数据库

合并字体文件
2024-01-22 - 2024-09-18

使用i3的时候终端总是却一些字体,比如FontAwesome, 调了半天也没法解决, 无奈只能将所有用到的字体合并成一个字体

使用FontCreator打开要合并的字体文件

HTTP GET/POST
2024-01-20 - 2024-09-18

接收端

首先我们有这样一段测试代码来接收 POST 请求,并返回其接收到的字段信息。

 1package main
 2
 3import (
 4	"fmt"
 5	"log"
 6	"net/http"
 7)
 8
 9func urlencodedHandler(w http.ResponseWriter, r *http.Request) {
10	err := r.ParseForm()
11	if err != nil {
12		log.Printf("r.ParseForm(): %v", err)
13		return
14	}
15
16	result := ""
17	for k, v := range r.Form {
18		result += fmt.Sprintf("%s:%v\n", k, v)
19	}
20
21	fmt.Fprintf(w, result)
22}
23
24func multipartHandler(w http.ResponseWriter, r *http.Request) {
25	err := r.ParseMultipartForm(4 * 1024 * 1024)
26	if err != nil {
27		log.Printf("r.ParseForm(): %v", err)
28		return
29	}
30
31	result := ""
32	for k, v := range r.MultipartForm.Value {
33		result += fmt.Sprintf("%s:%v\n", k, v)
34	}
35
36	for k, v := range r.MultipartForm.File {
37		result += fmt.Sprintf("%s:%v\n", k, v)
38	}
39
40	fmt.Fprintf(w, result)
41}
42
43func main() {
44	http.HandleFunc("/urlencoded", urlencodedHandler)
45	http.HandleFunc("/multipart", multipartHandler)
46
47	log.Fatal(http.ListenAndServe(":8080", nil))
48}

发送 urlencoded 请求

urlencoded 主要用于纯文本请求,代码如下:

还原鼠标右键 Restore old Right-click Context menu in Windows 11
2024-01-18 - 2024-09-18

右键菜单改回Win10(展开)

1reg add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve
2taskkill /f /im explorer.exe & start explorer.exe

右键菜单改回Win11(折叠)

1reg delete "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}" /f
2taskkill /f /im explorer.exe & start explorer.exe
队列 Queue
2024-01-06 - 2024-09-18

介绍

元素为[]byte的队列的golang实现(适用于多线程环境下,当然单线程也能用 如果想更改队列的元素类型,请自行将queue [][]byte中的[]byte替换为其他类型,同时修改函数中的相关代码

Pake: 打包网页为桌面端应用
2024-01-04 - 2024-09-18

https://github.com/tw93/Pake/tree/master

安装程序

1npm install pake-cli -g 

安装依赖

 1sudo apt install libwebkit2gtk-4.0-dev \
 2    build-essential \
 3    curl \
 4    wget \
 5    file \
 6    libssl-dev \
 7    libgtk-3-dev \
 8    libayatana-appindicator3-dev \
 9    librsvg2-dev
10# 安装rust
11curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

打包网站

Nvidia 显卡驱动
2024-01-03 - 2024-09-18

Nvidia 驱动在Linux下, 必须安装 Xorg

查看显卡信息

 1lspci -k | grep -EA3 'VGA|3D|Display'
 2lspci | grep VGA
 3lspci | grep -i nvidia
 4# 查看指定显卡的详细信息用以下指令
 5lspci -v -s 00:0f.0
 6# Nvidia自带一个命令行工具可以查看显存的使用情况:
 7nvidia-smi
 8# Fan:显示风扇转速,数值在0到100%之间,是计算机的期望转速,如果计算机不是通过风扇冷却或者风扇坏了,显示出来就是N/A; 
 9# Temp:显卡内部的温度,单位是摄氏度;
10# Perf:表征性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能;
11# Pwr:能耗表示; 
12# Bus-Id:涉及GPU总线的相关信息; 
13# Disp.A:是Display Active的意思,表示GPU的显示是否初始化; 
14# Memory Usage:显存的使用率; 
15# Volatile GPU-Util:浮动的GPU利用率;
16# Compute M:计算模式; 
17
18# 如果要周期性的输出显卡的使用情况,可以用watch指令实现
19watch -n 10 nvidia-smi
20
21# 检测显卡驱动是否正常
22sudo apt-get install hwinfo
23hwinfo --display

安装核显驱动

Intel 核显不需要单独安装驱动,系统自带

Keyboard rate
2024-01-03 - 2024-09-18

修改键盘重复频率和延迟

XServer startup options

As alternative to this tool, you can set defaults for the X Server at startup.

For the keyboard repeat rate:

/etc/X11/xinit/xserverrc

1X -ardelay 200 -arinterval 30  # (interval is 1000/rate_in_hz)

For this to configure, you need the privileges to edit X launch properties (probably in your login tool like lightdm).

XServer configuration file

XServer since version 21.1.0 supports the option AutoRepeat. Basically you need an xorg config section like this (the second value again 1000/rate_in_hz):

屏幕保护、息屏
2024-01-03 - 2024-09-18

可以使用xset命令进行操作

1xset dpms force off # 关闭屏幕
2xset s 300 #设置屏保时间为300秒,时间单位为秒
3xset s 0 #关闭屏幕保护
4xset dpms 600 900 1200 # 三个数值分别为Standby、Suspend、Off,具体什么意思就不多说了,单位秒
5xset -dpms #关闭电源管理
6
7xset -q # 查看设置情况。

也可以编辑xorg.conf(或者在/etc/X11/xorg.conf.d/添加.conf结尾的配置文件),添加如下选项把xscreen saver直接关闭:

PPTP VPN
2023-12-29 - 2024-09-18
1# 安装PPTP客户端
2apt-get install pptp-linux

编辑配置文件 vim /etc/ppp/chap-secrets

1# Secrets for authentication using CHAP
2# client	server	secret			IP addresses
3your_username PPTP your_password home.akvicor.com

/etc/ppp/peers/ 下新建一个VPN配置文件,文件名就是VPN的名字 vim /etc/ppp/peers/PPTP