简单博客

Gopls Hightlight Template

Gopls高亮template #

配置 #

{
    "gopls": {
        "templateExtensions": [
            "tpl",
            "tmpl",
        ],
        "ui.semanticTokens": true
    },
    "files.associations": {
        "*.tpl": "gotmpl",
        "*.tmpl": "gotmpl"
    }

    // ...
}

当文件扩展名为tpl, tmpl时,均会视为是符合Gotemplate文件。

在编辑器里会有变量的高亮和智能提示。

Vscode选中所有匹配项

vscode选中所有匹配项 #

快捷键:ctrl+shift+l

  • 使用ctrl+f,找到匹配内容后,使用上述快捷键即可将所有匹配内容选中。

Wsl2 Config

wsl2的一些配置 #

以下是在wsl虚拟机里面的配置

配置 #

$ cat /etc/wsl.conf 
[boot]
systemd=true # 启用systemd

[interop]
appendWindowsPath = false

[network]
generateResolvConf = false # 关闭自动生成resolv.conf

更新resolv.conf #

$ cat Script/generateResolvConf.sh 
#!/bin/sh

echo 'nameserver 192.168.8.44' > /etc/resolv.conf

systemd service在开机时执行脚本:

$ cat /etc/systemd/system/generateResolvConf.service
[Unit]
Description=Run generateResolvConf.sh to set dns of wsl2 at Startup

[Service]
ExecStart=/home/jd/Script/generateResolvConf.sh

[Install]
WantedBy=default.target

更新wslhost #

wsl启动时,注册虚拟机ip到主机hosts:

$ cat Script/wsl2host.sh 
#!/bin/bash
HOSTS_FILE_WIN='/mnt/c/Windows/System32/drivers/etc/hosts'
TEMP_DIR_PATH='~/tmp/dns'
TEMP_FILE_PATH=${TEMP_DIR_PATH}'/dns_back'

# inetIp=`ifconfig eth0 | grep -o "inet [0-9]*\.[0-9]*\.[0-9]*\.[0-9]* netmask" | cut -f 2 -d " "` # 获取本机ip
inetIp=`ip a | grep eth0 | grep -o "inet [0-9]*\.[0-9]*\.[0-9]*\.[0-9]*" | cut -f 2 -d " "`
hnetIp=`ip route show | grep -i default | awk '{ print $3}'`

nu=`cat -n ${HOSTS_FILE_WIN} | grep localwsl2 | awk '{print $1}'` # 获取已设置dns行号

dnsIp=`cat ${HOSTS_FILE_WIN} | grep -o "[0-9]*\.[0-9]*\.[0-9]*\.[0-9]* localwsl2 #" | cut -f 1 -d " "` # 获取已设置dns ip 

echo "wsl's ip is: ${inetIp}"
echo "wsl host's ip is: ${hnetIp}"
echo "win's dns line number is: ${nu}"
echo "win's dnsIp is: ${dnsIp}"

if [ -z ${inetIp} ]
then
        echo 'inet ip is null, please check the command'
fi

set -e
if [ ${nu} ] # 若已设置
then
        if [ -z ${dnsIp} ] || [ ${inetIp} != ${dnsIp} ] # 已设置dns不正确
        then
                echo reset
                if [ ! -e ${TEMP_FILE_PATH} ]
                then
                        echo "will mkdir ${TEMP_DIR_PATH} and file ${TEMP_FILE_PATH}"
                        mkdir -p ${TEMP_DIR_PATH} && touch ${TEMP_FILE_PATH}
                fi
                cp -f "${HOSTS_FILE_WIN}" "${TEMP_FILE_PATH}"
                sed -i "${nu}d" ${TEMP_FILE_PATH} # 删除对应行
                echo "${inetIp} localwsl2 #wsl2 dns config" >> ${TEMP_FILE_PATH} # 重新设置
                cat ${TEMP_FILE_PATH} > ${HOSTS_FILE_WIN}
                echo set success!!!
        fi
else # 未设置
        echo "will append localwsl2 ip:host to windows hosts"
        echo "${inetIp} localwsl2 #wsl2 dns config" >> ${HOSTS_FILE_WIN} # 直接设置
        echo "${hnetIp} winhost #wsl2 dns config" >> ${HOSTS_FILE_WIN} # 直接设置, ip route show | grep -i default | awk '{ print $3}' [拿到主机地址](https://learn.microsoft.com/en-us/windows/wsl/networking)
        echo "finish append localwsl2 ip:host to windows hosts"
fi

systemd service在开机时执行wsl2host.sh脚本:

...

刺破

刺破的过程 #

拥挤,互相推搡;

往外走,发现气壁;

尝试推,遭遇阻挠;

用力打,鼻青脸肿;

怎么办?陷入迷茫…

带路人,合力突刺。

更多人,集齐元气!

好坏

如果世界真的有好坏,那么坏人的猖狂就来源于好人的软弱。

模块化和服务化

模块化和服务化 #

面向接口

模块化 #

type I interface {
    A()
    B()
    C()
}

服务化 #

  • GET /user
  • POST /user
  • PUT /user
  • DELETE /user

在多人协作开发过程中,先定义接口,达到并行开发的目的。

存在单人单服务的开发模式,也存在单人单模块的开发模式。

存在多人单服务的开发模式,也存在多人单模块的开发模式。

更存在存在多人多服务的开发模式,也存在多人多模块的开发模式。

算数

算数 #

  1. 定义(数)

  2. 计算(数)

  3. 使用(数)

期望和方差 #

  1. 定义

期望(Expectation):度量一个随机变量取值的集中位置或平均水平。

方差(Variance):是表示随机变量取值的分散性的一个数字特征。

  1. 怎么算?

公式

  1. 怎么用?

方差越大,说明随机变量的取值分布越不均匀,变化性越强;方差越小,说明随机变量的取值越趋近于均值,即期望值。

转向

技术 -> 图文音画的技术 图文音画的技术 -> 内容

软弱

软弱 #

容易被包装为心慈仁善,实则是放虎归山、助纣为虐。

威望

威望 #

权力、财富、名声。

威望带来威亚。

可以快速达成一致,也会阻碍想象和实践。