diff --git "a/content/posts/windows+wsl2\345\220\216\347\253\257\345\274\200\345\217\221\347\216\257\345\242\203\346\220\255\345\273\272.md" "b/content/posts/windows+wsl2\345\220\216\347\253\257\345\274\200\345\217\221\347\216\257\345\242\203\346\220\255\345\273\272.md"
index d8841f28..081bbde7 100755
--- "a/content/posts/windows+wsl2\345\220\216\347\253\257\345\274\200\345\217\221\347\216\257\345\242\203\346\220\255\345\273\272.md"
+++ "b/content/posts/windows+wsl2\345\220\216\347\253\257\345\274\200\345\217\221\347\216\257\345\242\203\346\220\255\345\273\272.md"
@@ -13,6 +13,8 @@ featuredImage:
draft: false
---
+2023/11/16 Update: wsl2 2.0通过镜像网络解决了所有网络问题,已经不用折腾了。
+
2023/2/2 Update: wsl已经解决了systemd和网络问题,现在已经基本无障碍使用,移除了大部分无用的配置步骤。
就我个人而言,目前感觉最理想的后端开发环境还是Intel CPU的MacOS,基本所有常用的后端依赖都可以用homebrew安装,GUI和命令行的结合也是最方便的。不过Windows从10代之后添加了WSL/WSL2,将Linux命令行和Windows开发环境完美的结合起来,目前来说可用性还算不错了。
@@ -148,7 +150,7 @@ Set-PSReadLineKeyHandler -Key DownArrow -Function HistorySearchForward
参考[WSL 安装](https://learn.microsoft.com/zh-cn/windows/wsl/install),新版wsl安装步骤非常简单,比之前手动安装容易的多。
-安装完成后可以运行`wsl --version`,结果中WSL版本应该>1.0.
+安装完成后可以运行`wsl --version`,结果中WSL版本应该>2.0了。
### 配置linux
@@ -164,8 +166,6 @@ Set-PSReadLineKeyHandler -Key DownArrow -Function HistorySearchForward
### 配置wsl
-参考[这里](https://learn.microsoft.com/zh-cn/windows/wsl/wsl-config).
-
激活systemd,先确定发行版里面已经安装了`systemd`,然后编辑`/etc/wsl.conf`添加:
```
@@ -173,32 +173,19 @@ Set-PSReadLineKeyHandler -Key DownArrow -Function HistorySearchForward
systemd=true
```
-然后重启wsl即可。
-
-然后是将网络改成桥接,在windows的home目录下添加`.wslconfig`文件,配置如下:
-
-```
-[wsl2]
-networkingMode=bridged
-vmSwitch=OUT
-ipv6=true
-```
-
-这里的OUT,是自建的虚拟网卡。在Hyper-V的“虚拟交换机管理器”里,新建一个“外部”的虚拟机网络交换器,名字叫OUT,桥接到外部网络(用来上网的网卡),并勾选“允许管理操作系统共享此网络适配器”,点击确定即可,注意windows会离线一段时间。
+然后重启wsl即可,建议等下面操作结束之后再一起重启。
-重启WSL即可。如果需要静态ip,需要在上面添加`dhcp=false`配置行,并在wsl里面配置`/lib/systemd/network/wsl_external.network`,内容如下:
+配置网络,在windows的home目录下添加`.wslconfig`,里面内容是:
```
-[Match]
-Name=eth0
-[Network]
-Description=bridge
-DHCP=false
-Address=192.168.1.10/24 # 自行修改
-Gateway=192.168.0.1 # 自行修改
+[experimental]
+networkingMode=mirrored
+dnsTunneling=true
+firewall=true
+autoProxy=true
```
-设置桥接网络之后,在windows中,或者局域网中,就可以直接访问wsl中的服务了(注意防火墙)。
+如果你是在windows中安装docker desktop,那么直接用就可以。如果是在wsl里面安装了docker,需要配置`/etc/docker/daemon.json`,在里面加入:`"iptables":false`,否则docker可能无法正常使用。
## 注意事项
@@ -207,7 +194,6 @@ Gateway=192.168.0.1 # 自行修改
3. 如果是本地开发,优先建议在windows下直接使用IDE开发,不要使用wslg,因为很难用;
4. 类似java/python/golang这种高级语言,直接在windows下写代码调试就行;
5. 如果是C++开发,推荐使用CLion+WSL工具链。现在CLion已经支持Makefile工程,所以linux下所有开发都已经无碍;2023版本的CLion甚至支持vcpkg集成,有一说一比rust也差不多了;
-6. 如果是CMake工程,也可以使用VisualStudio+Resharper工具链,不过Makefile工程还不行;
7. 建议wsl直接用root账户,不然会经常遇到各种权限问题,比较迷惑;
8. linux的PATH会自动继承windows的path,不过Linux系统里同名的文件优先级更高;所以像git这种软件到底装Windows还是装Linux要自己想清楚;全部在Linux下也可以,都装不是不行…就是要配置两遍;
9. WSL的命令行可以直接调用windows PATH下的exe文件,如`code`,不过非`/mnt`路径下可能无法正常使用;
diff --git a/docs/authors/index.xml b/docs/authors/index.xml
index ca96bf2d..d51ee868 100644
--- a/docs/authors/index.xml
+++ b/docs/authors/index.xml
@@ -8,15 +8,14 @@
2023/2/2 Update: wsl已经解决了systemd和网络问题,现在已经基本无障碍使用,移除了大部分无用的配置步骤。
+2023/11/16 Update: wsl2 2.0通过镜像网络解决了所有网络问题,已经不用折腾了。
+2023/2/2 Update: wsl已经解决了systemd和网络问题,现在已经基本无障碍使用,移除了大部分无用的配置步骤。
就我个人而言,目前感觉最理想的后端开发环境还是Intel CPU的MacOS,基本所有常用的后端依赖都可以用homebrew安装,GUI和命令行的结合也是最方便的。不过Windows从10代之后添加了WSL/WSL2,将Linux命令行和Windows开发环境完美的结合起来,目前来说可用性还算不错了。
在oh-my-zsh中的z,可以在powershell中安装ZLocation来完成类似功能。
参考WSL 安装,新版wsl安装步骤非常简单,比之前手动安装容易的多。
-安装完成后可以运行wsl --version
,结果中WSL版本应该>1.0.
安装完成后可以运行wsl --version
,结果中WSL版本应该>2.0了。
打开Windows Terminal,安装的linux发行版入口应该会自动加到下拉选单里,选中后进入。
至于怎么配置Linux我就不写了,根据个人习惯来吧。几个点:
@@ -351,29 +352,19 @@参考这里.
激活systemd,先确定发行版里面已经安装了systemd
,然后编辑/etc/wsl.conf
添加:
[boot]
systemd=true
-然后重启wsl即可。
-然后是将网络改成桥接,在windows的home目录下添加.wslconfig
文件,配置如下:
[wsl2]
-networkingMode=bridged
-vmSwitch=OUT
-ipv6=true
+然后重启wsl即可,建议等下面操作结束之后再一起重启。
+配置网络,在windows的home目录下添加.wslconfig
,里面内容是:
+[experimental]
+networkingMode=mirrored
+dnsTunneling=true
+firewall=true
+autoProxy=true
-这里的OUT,是自建的虚拟网卡。在Hyper-V的“虚拟交换机管理器”里,新建一个“外部”的虚拟机网络交换器,名字叫OUT,桥接到外部网络(用来上网的网卡),并勾选“允许管理操作系统共享此网络适配器”,点击确定即可,注意windows会离线一段时间。
-重启WSL即可。如果需要静态ip,需要在上面添加dhcp=false
配置行,并在wsl里面配置/lib/systemd/network/wsl_external.network
,内容如下:
-[Match]
-Name=eth0
-[Network]
-Description=bridge
-DHCP=false
-Address=192.168.1.10/24 # 自行修改
-Gateway=192.168.0.1 # 自行修改
-
-设置桥接网络之后,在windows中,或者局域网中,就可以直接访问wsl中的服务了(注意防火墙)。
+如果你是在windows中安装docker desktop,那么直接用就可以。如果是在wsl里面安装了docker,需要配置/etc/docker/daemon.json
,在里面加入:"iptables":false
,否则docker可能无法正常使用。
注意事项
- wsl2和windows之间传输文件io性能很差;
@@ -381,7 +372,6 @@ 注意事项
- 如果是本地开发,优先建议在windows下直接使用IDE开发,不要使用wslg,因为很难用;
- 类似java/python/golang这种高级语言,直接在windows下写代码调试就行;
- 如果是C++开发,推荐使用CLion+WSL工具链。现在CLion已经支持Makefile工程,所以linux下所有开发都已经无碍;2023版本的CLion甚至支持vcpkg集成,有一说一比rust也差不多了;
-- 如果是CMake工程,也可以使用VisualStudio+Resharper工具链,不过Makefile工程还不行;
- 建议wsl直接用root账户,不然会经常遇到各种权限问题,比较迷惑;
- linux的PATH会自动继承windows的path,不过Linux系统里同名的文件优先级更高;所以像git这种软件到底装Windows还是装Linux要自己想清楚;全部在Linux下也可以,都装不是不行…就是要配置两遍;
- WSL的命令行可以直接调用windows PATH下的exe文件,如
code
,不过非/mnt
路径下可能无法正常使用;
diff --git a/docs/tags/c++/index.xml b/docs/tags/c++/index.xml
index 024205f5..fec148e3 100644
--- a/docs/tags/c++/index.xml
+++ b/docs/tags/c++/index.xml
@@ -8,15 +8,14 @@
zh
© 2021 <a href="https://github.com/YiuTerran">tryao</a>
- Mon, 09 Jan 2023 16:42:44 +0800
+ Mon, 09 Jan 2023 16:42:44 +0800
+
-
CMake速记
https://yiuterran.github.io/blog/posts/cmake%E9%80%9F%E8%AE%B0/
Mon, 09 Jan 2023 16:42:44 +0800
-
https://yiuterran.github.io/blog/posts/cmake%E9%80%9F%E8%AE%B0/
主要参考书籍《Modern CMake for C++》,以及《CMake Best Practices》,使用CMake版本3.25. 建议先看第一本,再看第二本。 使用 一般而言,
-
diff --git a/docs/tags/cmake/index.xml b/docs/tags/cmake/index.xml
index d0ea7477..6e4b90eb 100644
--- a/docs/tags/cmake/index.xml
+++ b/docs/tags/cmake/index.xml
@@ -8,15 +8,14 @@
zh
© 2021 <a href="https://github.com/YiuTerran">tryao</a>
- Mon, 09 Jan 2023 16:42:44 +0800
+ Mon, 09 Jan 2023 16:42:44 +0800
+
-
CMake速记
https://yiuterran.github.io/blog/posts/cmake%E9%80%9F%E8%AE%B0/
Mon, 09 Jan 2023 16:42:44 +0800
-
https://yiuterran.github.io/blog/posts/cmake%E9%80%9F%E8%AE%B0/
主要参考书籍《Modern CMake for C++》,以及《CMake Best Practices》,使用CMake版本3.25. 建议先看第一本,再看第二本。 使用 一般而言,
-
diff --git a/docs/tags/cpp/index.xml b/docs/tags/cpp/index.xml
index 65ec6282..adc69c70 100644
--- a/docs/tags/cpp/index.xml
+++ b/docs/tags/cpp/index.xml
@@ -8,15 +8,14 @@
zh
© 2021 <a href="https://github.com/YiuTerran">tryao</a>
- Wed, 25 Jan 2023 16:49:11 +0800
+ Wed, 25 Jan 2023 16:49:11 +0800
+
-
Makefile要点简记
https://yiuterran.github.io/blog/posts/makefile%E8%A6%81%E7%82%B9%E7%AE%80%E8%AE%B0/
Wed, 25 Jan 2023 16:49:11 +0800
-
https://yiuterran.github.io/blog/posts/makefile%E8%A6%81%E7%82%B9%E7%AE%80%E8%AE%B0/
虽然现代C/CPP一般使用cmake作为工具链,但是如果要看陈年老项目,makefile相关的知识还是要掌握一些的,不然估计很难理清编译逻辑。这也是c
-
diff --git a/docs/tags/devops/index.xml b/docs/tags/devops/index.xml
index d180e1c8..e5816128 100644
--- a/docs/tags/devops/index.xml
+++ b/docs/tags/devops/index.xml
@@ -8,33 +8,28 @@
zh
© 2021 <a href="https://github.com/YiuTerran">tryao</a>
- Mon, 06 Mar 2023 14:37:28 +0800
+ Mon, 06 Mar 2023 14:37:28 +0800
+
-
边缘服务器管理工具选型
https://yiuterran.github.io/blog/posts/%E8%BE%B9%E7%BC%98%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%AE%A1%E7%90%86%E5%B7%A5%E5%85%B7%E9%80%89%E5%9E%8B/
Mon, 06 Mar 2023 14:37:28 +0800
-
https://yiuterran.github.io/blog/posts/%E8%BE%B9%E7%BC%98%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%AE%A1%E7%90%86%E5%B7%A5%E5%85%B7%E9%80%89%E5%9E%8B/
这里我们主要的需求是能够穿透内网管理服务器,服务器大部分情况下应当是linux,但是也可能是windows。我们的服务要通过API和这个服务器管理软件
-
-
SRE读书笔记
https://yiuterran.github.io/blog/posts/sre%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/
Thu, 22 Sep 2022 10:01:11 +0800
-
https://yiuterran.github.io/blog/posts/sre%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/
SRE相关的书籍,截止目前google出了2本,分别是2016年的的《Site Reliability Engineering: How Google Runs Production Systems》和2020年的《The Site Reliability Workbook》
-
-
Zabbix配置记录
https://yiuterran.github.io/blog/posts/zabbix%E9%85%8D%E7%BD%AE%E8%AE%B0%E5%BD%95/
Wed, 13 Jul 2022 12:21:28 +0800
-
https://yiuterran.github.io/blog/posts/zabbix%E9%85%8D%E7%BD%AE%E8%AE%B0%E5%BD%95/
安装服务 这里演示的是物理机环境监控场景,容器场景还是更推荐k8s+prom来搞。 版本是zabbix6.0 LTS,官方已经不提供CentOS7的安装包了
-
diff --git a/docs/tags/edge/index.xml b/docs/tags/edge/index.xml
index 26b4cc8c..da2ae58a 100644
--- a/docs/tags/edge/index.xml
+++ b/docs/tags/edge/index.xml
@@ -8,24 +8,21 @@
zh
© 2021 <a href="https://github.com/YiuTerran">tryao</a>
- Mon, 06 Mar 2023 14:37:28 +0800
+ Mon, 06 Mar 2023 14:37:28 +0800
+
-
边缘服务器管理工具选型
https://yiuterran.github.io/blog/posts/%E8%BE%B9%E7%BC%98%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%AE%A1%E7%90%86%E5%B7%A5%E5%85%B7%E9%80%89%E5%9E%8B/
Mon, 06 Mar 2023 14:37:28 +0800
-
https://yiuterran.github.io/blog/posts/%E8%BE%B9%E7%BC%98%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%AE%A1%E7%90%86%E5%B7%A5%E5%85%B7%E9%80%89%E5%9E%8B/
这里我们主要的需求是能够穿透内网管理服务器,服务器大部分情况下应当是linux,但是也可能是windows。我们的服务要通过API和这个服务器管理软件
-
-
KubeEdge要点笔记
https://yiuterran.github.io/blog/posts/kubeedge%E8%A6%81%E7%82%B9%E7%AC%94%E8%AE%B0/
Tue, 21 Feb 2023 15:07:54 +0800
-
https://yiuterran.github.io/blog/posts/kubeedge%E8%A6%81%E7%82%B9%E7%AC%94%E8%AE%B0/
安装流程 首先要在云端安装k8s,理论上只需要master节点,可以没有worker,换句话说可以是一个单节点集群(但是要关闭NoSchedule的ta
-
diff --git a/docs/tags/gb28181/index.xml b/docs/tags/gb28181/index.xml
index 84912ae8..d1df66c5 100644
--- a/docs/tags/gb28181/index.xml
+++ b/docs/tags/gb28181/index.xml
@@ -8,15 +8,14 @@
zh
© 2021 <a href="https://github.com/YiuTerran">tryao</a>
- Wed, 02 Mar 2022 09:46:50 +0800
+ Wed, 02 Mar 2022 09:46:50 +0800
+
-
Gb28181解析
https://yiuterran.github.io/blog/posts/gb28181%E8%A7%A3%E6%9E%90/
Wed, 02 Mar 2022 09:46:50 +0800
-
https://yiuterran.github.io/blog/posts/gb28181%E8%A7%A3%E6%9E%90/
国标GB28181(以下简称国标或者gb)文档分析的文档我去年其实写过一版,但是由于原来的电脑炸了,文档还没来得及传上去就丢了(痛苦),所以还要重写一
-
diff --git a/docs/tags/gnu/index.xml b/docs/tags/gnu/index.xml
index 1bf34807..68ca26a0 100644
--- a/docs/tags/gnu/index.xml
+++ b/docs/tags/gnu/index.xml
@@ -8,15 +8,14 @@
zh
© 2021 <a href="https://github.com/YiuTerran">tryao</a>
- Wed, 25 Jan 2023 16:49:11 +0800
+ Wed, 25 Jan 2023 16:49:11 +0800
+
-
Makefile要点简记
https://yiuterran.github.io/blog/posts/makefile%E8%A6%81%E7%82%B9%E7%AE%80%E8%AE%B0/
Wed, 25 Jan 2023 16:49:11 +0800
-
https://yiuterran.github.io/blog/posts/makefile%E8%A6%81%E7%82%B9%E7%AE%80%E8%AE%B0/
虽然现代C/CPP一般使用cmake作为工具链,但是如果要看陈年老项目,makefile相关的知识还是要掌握一些的,不然估计很难理清编译逻辑。这也是c
-
diff --git a/docs/tags/golang/index.xml b/docs/tags/golang/index.xml
index 5fbc8e52..30e3a429 100644
--- a/docs/tags/golang/index.xml
+++ b/docs/tags/golang/index.xml
@@ -8,51 +8,42 @@
zh
© 2021 <a href="https://github.com/YiuTerran">tryao</a>
- Tue, 12 Sep 2023 15:22:00 +0800
+ Tue, 12 Sep 2023 15:22:00 +0800
+
-
Sqlx备忘录
https://yiuterran.github.io/blog/posts/sqlx%E5%A4%87%E5%BF%98%E5%BD%95/
Tue, 12 Sep 2023 15:22:00 +0800
-
https://yiuterran.github.io/blog/posts/sqlx%E5%A4%87%E5%BF%98%E5%BD%95/
很少用golang写增删改查,sqlx的用法和java差别很大,用的时候总是要从头看文档。这里写个备忘录方便以后查询,使用sqlx和go-sqlbui
-
-
Tinode源码解析
https://yiuterran.github.io/blog/posts/tinode%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90/
Mon, 14 Nov 2022 19:21:38 +0800
-
https://yiuterran.github.io/blog/posts/tinode%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90/
概述 有朋友需要做一个im,简单做了一下技术调研,开源的实现其实蛮多的,这里挑几个说一下: Synapse/dendrite,matrix系,客户端比较多
-
-
Ginkgo使用笔记
https://yiuterran.github.io/blog/posts/ginkgo%E4%BD%BF%E7%94%A8%E7%AC%94%E8%AE%B0/
Mon, 05 Sep 2022 18:10:06 +0800
-
https://yiuterran.github.io/blog/posts/ginkgo%E4%BD%BF%E7%94%A8%E7%AC%94%E8%AE%B0/
go自带的单元测试比较适合测一个小函数,如果要做一系列的流程测试,则显得较为繁琐。 推荐使用ginkgo来做流程测试,BDD风格写出来的测试代码非常容易
-
-
Influxdb Cluster集成
https://yiuterran.github.io/blog/posts/influxdb-cluster%E9%9B%86%E6%88%90/
Thu, 01 Sep 2022 15:47:56 +0800
-
https://yiuterran.github.io/blog/posts/influxdb-cluster%E9%9B%86%E6%88%90/
本文记录在golang项目中集成influxdb-cluster需要的知识储备。 术语 database 和MySQL中一致 batch \n分割的多行数据,用来批量写入。 influ
-
-
Golang定时器要点
https://yiuterran.github.io/blog/posts/golang%E5%AE%9A%E6%97%B6%E5%99%A8%E8%A6%81%E7%82%B9/
Thu, 07 Apr 2022 09:35:13 +0800
-
https://yiuterran.github.io/blog/posts/golang%E5%AE%9A%E6%97%B6%E5%99%A8%E8%A6%81%E7%82%B9/
golang内置的定时器是基于多个四叉堆封装调度的,增删定时器的效率是O(lgn),所以大量定时器本身可能成为性能瓶颈。可以考虑使用开源的时间轮算法实
-
diff --git a/docs/tags/im/index.xml b/docs/tags/im/index.xml
index 59fc096d..2cc5511f 100644
--- a/docs/tags/im/index.xml
+++ b/docs/tags/im/index.xml
@@ -8,15 +8,14 @@
zh
© 2021 <a href="https://github.com/YiuTerran">tryao</a>
- Mon, 14 Nov 2022 19:21:38 +0800
+ Mon, 14 Nov 2022 19:21:38 +0800
+
-
Tinode源码解析
https://yiuterran.github.io/blog/posts/tinode%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90/
Mon, 14 Nov 2022 19:21:38 +0800
-
https://yiuterran.github.io/blog/posts/tinode%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90/
概述 有朋友需要做一个im,简单做了一下技术调研,开源的实现其实蛮多的,这里挑几个说一下: Synapse/dendrite,matrix系,客户端比较多
-
diff --git a/docs/tags/index.xml b/docs/tags/index.xml
index a43730ae..1d54bd26 100644
--- a/docs/tags/index.xml
+++ b/docs/tags/index.xml
@@ -8,213 +8,168 @@
zh
© 2021 <a href="https://github.com/YiuTerran">tryao</a>
- Fri, 15 Sep 2023 14:57:05 +0800
+ Fri, 15 Sep 2023 14:57:05 +0800
+
-
k8s
https://yiuterran.github.io/blog/tags/k8s/
Fri, 15 Sep 2023 14:57:05 +0800
-
https://yiuterran.github.io/blog/tags/k8s/
-
-
golang
https://yiuterran.github.io/blog/tags/golang/
Tue, 12 Sep 2023 15:22:00 +0800
-
https://yiuterran.github.io/blog/tags/golang/
-
-
sqlx
https://yiuterran.github.io/blog/tags/sqlx/
Tue, 12 Sep 2023 15:22:00 +0800
-
https://yiuterran.github.io/blog/tags/sqlx/
-
-
prometheus
https://yiuterran.github.io/blog/tags/prometheus/
Mon, 24 Jul 2023 11:21:33 +0800
-
https://yiuterran.github.io/blog/tags/prometheus/
-
-
devops
https://yiuterran.github.io/blog/tags/devops/
Mon, 06 Mar 2023 14:37:28 +0800
-
https://yiuterran.github.io/blog/tags/devops/
-
-
edge
https://yiuterran.github.io/blog/tags/edge/
Mon, 06 Mar 2023 14:37:28 +0800
-
https://yiuterran.github.io/blog/tags/edge/
-
-
kotlin
https://yiuterran.github.io/blog/tags/kotlin/
Sun, 05 Mar 2023 12:58:37 +0800
-
https://yiuterran.github.io/blog/tags/kotlin/
-
-
cpp
https://yiuterran.github.io/blog/tags/cpp/
Wed, 25 Jan 2023 16:49:11 +0800
-
https://yiuterran.github.io/blog/tags/cpp/
-
-
gnu
https://yiuterran.github.io/blog/tags/gnu/
Wed, 25 Jan 2023 16:49:11 +0800
-
https://yiuterran.github.io/blog/tags/gnu/
-
-
make
https://yiuterran.github.io/blog/tags/make/
Wed, 25 Jan 2023 16:49:11 +0800
-
https://yiuterran.github.io/blog/tags/make/
-
-
c++
https://yiuterran.github.io/blog/tags/c++/
Mon, 09 Jan 2023 16:42:44 +0800
-
https://yiuterran.github.io/blog/tags/c++/
-
-
cmake
https://yiuterran.github.io/blog/tags/cmake/
Mon, 09 Jan 2023 16:42:44 +0800
-
https://yiuterran.github.io/blog/tags/cmake/
-
-
im
https://yiuterran.github.io/blog/tags/im/
Mon, 14 Nov 2022 19:21:38 +0800
-
https://yiuterran.github.io/blog/tags/im/
-
-
tinode
https://yiuterran.github.io/blog/tags/tinode/
Mon, 14 Nov 2022 19:21:38 +0800
-
https://yiuterran.github.io/blog/tags/tinode/
-
-
sre
https://yiuterran.github.io/blog/tags/sre/
Thu, 22 Sep 2022 10:01:11 +0800
-
https://yiuterran.github.io/blog/tags/sre/
-
-
test
https://yiuterran.github.io/blog/tags/test/
Mon, 05 Sep 2022 18:10:06 +0800
-
https://yiuterran.github.io/blog/tags/test/
-
-
influxdb
https://yiuterran.github.io/blog/tags/influxdb/
Thu, 01 Sep 2022 15:47:56 +0800
-
https://yiuterran.github.io/blog/tags/influxdb/
-
-
tsdb
https://yiuterran.github.io/blog/tags/tsdb/
Thu, 01 Sep 2022 15:47:56 +0800
-
https://yiuterran.github.io/blog/tags/tsdb/
-
-
zabbix
https://yiuterran.github.io/blog/tags/zabbix/
Wed, 13 Jul 2022 12:21:28 +0800
-
https://yiuterran.github.io/blog/tags/zabbix/
-
-
timer
https://yiuterran.github.io/blog/tags/timer/
Thu, 07 Apr 2022 09:35:13 +0800
-
https://yiuterran.github.io/blog/tags/timer/
-
-
wsl
https://yiuterran.github.io/blog/tags/wsl/
Fri, 04 Mar 2022 20:54:01 +0800
-
https://yiuterran.github.io/blog/tags/wsl/
-
-
gb28181
https://yiuterran.github.io/blog/tags/gb28181/
Wed, 02 Mar 2022 09:46:50 +0800
-
https://yiuterran.github.io/blog/tags/gb28181/
-
-
multimedia
https://yiuterran.github.io/blog/tags/multimedia/
Wed, 02 Mar 2022 09:46:50 +0800
-
https://yiuterran.github.io/blog/tags/multimedia/
-
diff --git a/docs/tags/influxdb/index.xml b/docs/tags/influxdb/index.xml
index 36eeffcf..582a6105 100644
--- a/docs/tags/influxdb/index.xml
+++ b/docs/tags/influxdb/index.xml
@@ -8,15 +8,14 @@
zh
© 2021 <a href="https://github.com/YiuTerran">tryao</a>
- Thu, 01 Sep 2022 15:47:56 +0800
+ Thu, 01 Sep 2022 15:47:56 +0800
+
-
Influxdb Cluster集成
https://yiuterran.github.io/blog/posts/influxdb-cluster%E9%9B%86%E6%88%90/
Thu, 01 Sep 2022 15:47:56 +0800
-
https://yiuterran.github.io/blog/posts/influxdb-cluster%E9%9B%86%E6%88%90/
本文记录在golang项目中集成influxdb-cluster需要的知识储备。 术语 database 和MySQL中一致 batch \n分割的多行数据,用来批量写入。 influ
-
diff --git a/docs/tags/k8s/index.xml b/docs/tags/k8s/index.xml
index eb1ac45f..b6b10aa3 100644
--- a/docs/tags/k8s/index.xml
+++ b/docs/tags/k8s/index.xml
@@ -8,60 +8,49 @@
zh
© 2021 <a href="https://github.com/YiuTerran">tryao</a>
- Fri, 15 Sep 2023 14:57:05 +0800
+ Fri, 15 Sep 2023 14:57:05 +0800
+
-
StatefulSet使用思路梳理
https://yiuterran.github.io/blog/posts/statefulset%E4%BD%BF%E7%94%A8%E6%80%9D%E8%B7%AF%E6%A2%B3%E7%90%86/
Fri, 15 Sep 2023 14:57:05 +0800
-
https://yiuterran.github.io/blog/posts/statefulset%E4%BD%BF%E7%94%A8%E6%80%9D%E8%B7%AF%E6%A2%B3%E7%90%86/
一般服务都是使用deployment部署,deploy的使用非常简单,无状态,随意调度。但是各种需要持久化数据的中间件都需要使用StatefulSet
-
-
Configmap挂载的几种情况
https://yiuterran.github.io/blog/posts/configmap%E6%8C%82%E8%BD%BD%E7%9A%84%E5%87%A0%E7%A7%8D%E6%83%85%E5%86%B5/
Fri, 15 Sep 2023 09:33:41 +0800
-
https://yiuterran.github.io/blog/posts/configmap%E6%8C%82%E8%BD%BD%E7%9A%84%E5%87%A0%E7%A7%8D%E6%83%85%E5%86%B5/
ConfigMap挂载的用法比较多,很容易记混淆,这里简单做个梳理: 将某个key的值挂载为环境变量 apiVersion: v1 kind: Pod metadata: name: dapi-test-pod spec: containers: - name: test-container image: gcr.io/google_containers/busybox command: [ "/bin/sh", "-c", "env" ] env: - name: SPECIAL_LEVEL_KEY valueFrom: configMapKeyRef:
-
-
PromQL笔记
https://yiuterran.github.io/blog/posts/promql%E7%AC%94%E8%AE%B0/
Mon, 24 Jul 2023 11:21:33 +0800
-
https://yiuterran.github.io/blog/posts/promql%E7%AC%94%E8%AE%B0/
格式 类似influxdb,prometheus也有自己的line protocol: <--------------- metric ---------------------><-timestamp -><-value-> <---metric name--->{labelname=labelvalue,....} http_request_total{status="200", method="GET"}@1434417560938 => 94355 http_request_total{status="200", method="GET"}@1434417561287 => 94334 上面就表示在某个时间戳系统http GET
-
-
K3s存储插件使用笔记
https://yiuterran.github.io/blog/posts/k3s%E5%AD%98%E5%82%A8%E6%8F%92%E4%BB%B6%E4%BD%BF%E7%94%A8%E7%AC%94%E8%AE%B0/
Mon, 12 Jun 2023 09:20:20 +0800
-
https://yiuterran.github.io/blog/posts/k3s%E5%AD%98%E5%82%A8%E6%8F%92%E4%BB%B6%E4%BD%BF%E7%94%A8%E7%AC%94%E8%AE%B0/
原理 k8s存储主要依赖PV和PVC的机制,前者由运维人员声明可用的存储,如: apiVersion: v1 kind: PersistentVolume metadata: name: nfs spec: storageClassName: manual capacity: storage: 10Gi accessModes: - ReadWriteMany nfs: server: 10.244.1.4 path: "/" 后者是用户(开发人员)声明的需求
-
-
KubeEdge要点笔记
https://yiuterran.github.io/blog/posts/kubeedge%E8%A6%81%E7%82%B9%E7%AC%94%E8%AE%B0/
Tue, 21 Feb 2023 15:07:54 +0800
-
https://yiuterran.github.io/blog/posts/kubeedge%E8%A6%81%E7%82%B9%E7%AC%94%E8%AE%B0/
安装流程 首先要在云端安装k8s,理论上只需要master节点,可以没有worker,换句话说可以是一个单节点集群(但是要关闭NoSchedule的ta
-
-
K8s要点简记
https://yiuterran.github.io/blog/posts/k8s%E8%A6%81%E7%82%B9%E7%AE%80%E8%AE%B0/
Fri, 10 Feb 2023 09:30:19 +0800
-
https://yiuterran.github.io/blog/posts/k8s%E8%A6%81%E7%82%B9%E7%AE%80%E8%AE%B0/
22年的时候需要使用CICD的时候,看了一遍k8s相关的知识点。买了一本《深入剖析Kubernetes》,大致熟悉了常用的概念。 最近因为工作调动需要做
-
diff --git a/docs/tags/kotlin/index.xml b/docs/tags/kotlin/index.xml
index c4ee9da0..67cc954b 100644
--- a/docs/tags/kotlin/index.xml
+++ b/docs/tags/kotlin/index.xml
@@ -8,15 +8,14 @@
zh
© 2021 <a href="https://github.com/YiuTerran">tryao</a>
- Sun, 05 Mar 2023 12:58:37 +0800
+ Sun, 05 Mar 2023 12:58:37 +0800
+
-
Kotlin要点笔记
https://yiuterran.github.io/blog/posts/kotlin%E8%A6%81%E7%82%B9%E7%AC%94%E8%AE%B0/
Sun, 05 Mar 2023 12:58:37 +0800
-
https://yiuterran.github.io/blog/posts/kotlin%E8%A6%81%E7%82%B9%E7%AC%94%E8%AE%B0/
实际上学习kotlin的动力一直不足,因为java is enough. 不过最近打算写一个QQ机器人玩,现在流行的框架是基于kotlin的,虽然可以用HTTP API进行
-
diff --git a/docs/tags/make/index.xml b/docs/tags/make/index.xml
index d557ec6e..eb7a1c16 100644
--- a/docs/tags/make/index.xml
+++ b/docs/tags/make/index.xml
@@ -8,15 +8,14 @@
zh
© 2021 <a href="https://github.com/YiuTerran">tryao</a>
- Wed, 25 Jan 2023 16:49:11 +0800
+ Wed, 25 Jan 2023 16:49:11 +0800
+
-
Makefile要点简记
https://yiuterran.github.io/blog/posts/makefile%E8%A6%81%E7%82%B9%E7%AE%80%E8%AE%B0/
Wed, 25 Jan 2023 16:49:11 +0800
-
https://yiuterran.github.io/blog/posts/makefile%E8%A6%81%E7%82%B9%E7%AE%80%E8%AE%B0/
虽然现代C/CPP一般使用cmake作为工具链,但是如果要看陈年老项目,makefile相关的知识还是要掌握一些的,不然估计很难理清编译逻辑。这也是c
-
diff --git a/docs/tags/multimedia/index.xml b/docs/tags/multimedia/index.xml
index 1fc3744c..d645758f 100644
--- a/docs/tags/multimedia/index.xml
+++ b/docs/tags/multimedia/index.xml
@@ -8,15 +8,14 @@
zh
© 2021 <a href="https://github.com/YiuTerran">tryao</a>
- Wed, 02 Mar 2022 09:46:50 +0800
+ Wed, 02 Mar 2022 09:46:50 +0800
+
-
Gb28181解析
https://yiuterran.github.io/blog/posts/gb28181%E8%A7%A3%E6%9E%90/
Wed, 02 Mar 2022 09:46:50 +0800
-
https://yiuterran.github.io/blog/posts/gb28181%E8%A7%A3%E6%9E%90/
国标GB28181(以下简称国标或者gb)文档分析的文档我去年其实写过一版,但是由于原来的电脑炸了,文档还没来得及传上去就丢了(痛苦),所以还要重写一
-
diff --git a/docs/tags/prometheus/index.xml b/docs/tags/prometheus/index.xml
index c79ce261..4dc627b8 100644
--- a/docs/tags/prometheus/index.xml
+++ b/docs/tags/prometheus/index.xml
@@ -8,15 +8,14 @@
zh
© 2021 <a href="https://github.com/YiuTerran">tryao</a>
- Mon, 24 Jul 2023 11:21:33 +0800
+ Mon, 24 Jul 2023 11:21:33 +0800
+
-
PromQL笔记
https://yiuterran.github.io/blog/posts/promql%E7%AC%94%E8%AE%B0/
Mon, 24 Jul 2023 11:21:33 +0800
-
https://yiuterran.github.io/blog/posts/promql%E7%AC%94%E8%AE%B0/
格式 类似influxdb,prometheus也有自己的line protocol: <--------------- metric ---------------------><-timestamp -><-value-> <---metric name--->{labelname=labelvalue,....} http_request_total{status="200", method="GET"}@1434417560938 => 94355 http_request_total{status="200", method="GET"}@1434417561287 => 94334 上面就表示在某个时间戳系统http GET
-
diff --git a/docs/tags/sqlx/index.xml b/docs/tags/sqlx/index.xml
index 731a3cd7..eb154bb1 100644
--- a/docs/tags/sqlx/index.xml
+++ b/docs/tags/sqlx/index.xml
@@ -8,15 +8,14 @@
zh
© 2021 <a href="https://github.com/YiuTerran">tryao</a>
- Tue, 12 Sep 2023 15:22:00 +0800
+ Tue, 12 Sep 2023 15:22:00 +0800
+
-
Sqlx备忘录
https://yiuterran.github.io/blog/posts/sqlx%E5%A4%87%E5%BF%98%E5%BD%95/
Tue, 12 Sep 2023 15:22:00 +0800
-
https://yiuterran.github.io/blog/posts/sqlx%E5%A4%87%E5%BF%98%E5%BD%95/
很少用golang写增删改查,sqlx的用法和java差别很大,用的时候总是要从头看文档。这里写个备忘录方便以后查询,使用sqlx和go-sqlbui
-
diff --git a/docs/tags/sre/index.xml b/docs/tags/sre/index.xml
index cf2eed5b..408ac317 100644
--- a/docs/tags/sre/index.xml
+++ b/docs/tags/sre/index.xml
@@ -8,15 +8,14 @@
zh
© 2021 <a href="https://github.com/YiuTerran">tryao</a>
- Thu, 22 Sep 2022 10:01:11 +0800
+ Thu, 22 Sep 2022 10:01:11 +0800
+
-
SRE读书笔记
https://yiuterran.github.io/blog/posts/sre%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/
Thu, 22 Sep 2022 10:01:11 +0800
-
https://yiuterran.github.io/blog/posts/sre%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/
SRE相关的书籍,截止目前google出了2本,分别是2016年的的《Site Reliability Engineering: How Google Runs Production Systems》和2020年的《The Site Reliability Workbook》
-
diff --git a/docs/tags/test/index.xml b/docs/tags/test/index.xml
index b5109614..4f6a01cb 100644
--- a/docs/tags/test/index.xml
+++ b/docs/tags/test/index.xml
@@ -8,15 +8,14 @@
zh
© 2021 <a href="https://github.com/YiuTerran">tryao</a>
- Mon, 05 Sep 2022 18:10:06 +0800
+ Mon, 05 Sep 2022 18:10:06 +0800
+
-
Ginkgo使用笔记
https://yiuterran.github.io/blog/posts/ginkgo%E4%BD%BF%E7%94%A8%E7%AC%94%E8%AE%B0/
Mon, 05 Sep 2022 18:10:06 +0800
-
https://yiuterran.github.io/blog/posts/ginkgo%E4%BD%BF%E7%94%A8%E7%AC%94%E8%AE%B0/
go自带的单元测试比较适合测一个小函数,如果要做一系列的流程测试,则显得较为繁琐。 推荐使用ginkgo来做流程测试,BDD风格写出来的测试代码非常容易
-
diff --git a/docs/tags/timer/index.xml b/docs/tags/timer/index.xml
index 9edfcbd0..aac4b82b 100644
--- a/docs/tags/timer/index.xml
+++ b/docs/tags/timer/index.xml
@@ -8,15 +8,14 @@
zh
© 2021 <a href="https://github.com/YiuTerran">tryao</a>
- Thu, 07 Apr 2022 09:35:13 +0800
+ Thu, 07 Apr 2022 09:35:13 +0800
+
-
Golang定时器要点
https://yiuterran.github.io/blog/posts/golang%E5%AE%9A%E6%97%B6%E5%99%A8%E8%A6%81%E7%82%B9/
Thu, 07 Apr 2022 09:35:13 +0800
-
https://yiuterran.github.io/blog/posts/golang%E5%AE%9A%E6%97%B6%E5%99%A8%E8%A6%81%E7%82%B9/
golang内置的定时器是基于多个四叉堆封装调度的,增删定时器的效率是O(lgn),所以大量定时器本身可能成为性能瓶颈。可以考虑使用开源的时间轮算法实
-
diff --git a/docs/tags/tinode/index.xml b/docs/tags/tinode/index.xml
index 91764884..5294cf42 100644
--- a/docs/tags/tinode/index.xml
+++ b/docs/tags/tinode/index.xml
@@ -8,15 +8,14 @@
zh
© 2021 <a href="https://github.com/YiuTerran">tryao</a>
- Mon, 14 Nov 2022 19:21:38 +0800
+ Mon, 14 Nov 2022 19:21:38 +0800
+
-
Tinode源码解析
https://yiuterran.github.io/blog/posts/tinode%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90/
Mon, 14 Nov 2022 19:21:38 +0800
-
https://yiuterran.github.io/blog/posts/tinode%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90/
概述 有朋友需要做一个im,简单做了一下技术调研,开源的实现其实蛮多的,这里挑几个说一下: Synapse/dendrite,matrix系,客户端比较多
-
diff --git a/docs/tags/tsdb/index.xml b/docs/tags/tsdb/index.xml
index fb0aee4e..2bc3740e 100644
--- a/docs/tags/tsdb/index.xml
+++ b/docs/tags/tsdb/index.xml
@@ -8,15 +8,14 @@
zh
© 2021 <a href="https://github.com/YiuTerran">tryao</a>
- Thu, 01 Sep 2022 15:47:56 +0800
+ Thu, 01 Sep 2022 15:47:56 +0800
+
-
Influxdb Cluster集成
https://yiuterran.github.io/blog/posts/influxdb-cluster%E9%9B%86%E6%88%90/
Thu, 01 Sep 2022 15:47:56 +0800
-
https://yiuterran.github.io/blog/posts/influxdb-cluster%E9%9B%86%E6%88%90/
本文记录在golang项目中集成influxdb-cluster需要的知识储备。 术语 database 和MySQL中一致 batch \n分割的多行数据,用来批量写入。 influ
-
diff --git a/docs/tags/wsl/index.html b/docs/tags/wsl/index.html
index e4791546..d554f370 100644
--- a/docs/tags/wsl/index.html
+++ b/docs/tags/wsl/index.html
@@ -94,7 +94,7 @@
"@type":"ListItem",
"position": 1 ,
"name": "Windows+wsl2后端开发环境搭建",
- "description": "2023/2/2 Update: wsl已经解决了systemd和网络问题,现在已经基本无障碍使用,移除了大部分无用的配置步骤。 就我个人而言,目前感觉最理想的后端开发环境还是Int",
+ "description": "2023/11/16 Update: wsl2 2.0通过镜像网络解决了所有网络问题,已经不用折腾了。 2023/2/2 Update: wsl已经解决了systemd和网络问题,现在已经基本无障碍使用,移除了大部分无用的配",
"url": "https://yiuterran.github.io/blog/posts/windows+wsl2%E5%90%8E%E7%AB%AF%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA/"
}
]
@@ -224,7 +224,7 @@ wsl