CORS(Cross-Origin Resource Sharing 跨源资源共享)是一种认证机制。
同源策略
CORS 中的源由协议,域名和端口三部分组成。这三部分一样则认为是一个源,可以简单理解为浏览器认为他们是同一个站点。
访问同一个源下资源不会有限制,这个机制叫做同源策略。
当想从一个源访问另一个源的资源时就需要一种机制来保证安全了,这就是 CORS。
CORS(Cross-Origin Resource Sharing 跨源资源共享)是一种认证机制。
CORS 中的源由协议,域名和端口三部分组成。这三部分一样则认为是一个源,可以简单理解为浏览器认为他们是同一个站点。
访问同一个源下资源不会有限制,这个机制叫做同源策略。
当想从一个源访问另一个源的资源时就需要一种机制来保证安全了,这就是 CORS。
这不是 vscode 本身的问题,是一个 macOS 的一个功能,叫做 “Press and Hold for Keys “,默认情况下,macOS 允许长按某个键时展示一个额外的字符选择菜单而不是重复这个按键。
所以可以通过禁用某个程序的这个功能来实现普通的长按的效果。
我是为了查询哪个容器用了过多的流量,然后查到了 docker-74b27c0b 这样一个网卡,但是不知道具体是哪个容器。
通过 ip addr show | grep 74b27c0b 查到了这样的信息。
6: docker-74b27c0b: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
inet 172.21.0.1/16 brd 172.21.255.255 scope global docker-74b27c0b
16: dockerc81b796@if15: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker-74b27c0b state UP group default
这一步也可以通过 brctl 查
依赖注入和控制反转在 Java 里应该很常见了,不过 Go 里并不那么流行。
Go 的很大一个特点就是简单,Less is more 深入人心。我也是因为这个原因从 Java 转向了 Go。用 Go 写项目没有那么多条条框框,比如一个简单的 web 项目结构可能是这样的。
我有三台 VPS,希望通过 wireguard 将他们组成内网。
(我使用的是 debian,下面的 centos 命令没有测试过)
# Debian/Ubuntu
apt update
apt install wireguard
# CentOS/RHEL
yum install epel-release elrepo-release
yum install kmod-wireguard wireguard-tools
# 在每台服务器上执行
cd /etc/wireguard
wg genkey | tee privatekey | wg pubkey > publickey
chmod 600 privatekey
这里使用 VPS1 作为主节点,其余机器都连它。
有些时候我们需要通过 OpenVPN 连接到特定的内网环境。但是用了 OpenVPN 之后,本地所有的流量都走 OpenVPN 了,这个时候可能Clash 或者其他的本来在用的代理就会出现冲突。两个代理只能同时开一个。
最好的状态是什么样的了,日常的代理还是能继续用,然后特定内网的 IP 和 域名流量走 OpenVPN。
研究了一下,目前可以用这样的方式实现。(如果可以修改 OpenVPN 服务端参数,会有另外的改法,这里只是讲单纯在客户端怎么改)
https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
helm 是部署一组 k8s 资源的,核心概念是 Chart。
Chart 用来描述一组 k8s 资源怎么部署,资源比如 deployment,servife, pvc 等等。
Chart 的结构如下
写文章总是要分段,最近发现在 obsidian 里写文章分段体眼很差,我明明回车换了一行了,但是看起来和上一段一点差距都没有。
我希望的分段是这样的,不换行是连在一起的一整段内容,换行直接写的就是新的一段,和上一段需要有一点间距。
然后如果我换行还空了一行再写的内容就是一个新的小节(这个小节的概念是我自己定义的,目前不知道正确的名称是什么),它需要比上一段有更大的间隔。

这部分原本的 markdown 是这样的。
节之间空行,段之间换行。(换行这里要注意,正确的 markdown 语法要求是两个空格,有些编辑器会做兼容,正常的回车也行)
apt-get install openvpn easy-rsa
make-cadir ~/openvpn-ca
cd ~/openvpn-ca
vim vars
在文件底部找到类似下面这样的行,这些值是提供给 vpn 的默认配置值,可以随便修改,但是不要为空
Go Mock 是 Go 官方开源的一套 Go 测试框架。
我们需要安装 gomock 包 http://github.com/golang/mock/gomock 和代码生成工具 mockgen http://github.com/golang/mock/mockgen。
go get github.com/golang/mock/gomock # go mock 代码项目依赖
go get github.com/golang/mock/mockgen # 代码生成工具
基本使用步骤
使用 mockgen 为你想要 mock 的接口生成 mock 代码。