Gopls高亮template
#
配置
#
{
"gopls": {
"templateExtensions": [
"tpl",
"tmpl",
],
"ui.semanticTokens": true
},
"files.associations": {
"*.tpl": "gotmpl",
"*.tmpl": "gotmpl"
}
// ...
}
当文件扩展名为tpl
, tmpl
时,均会视为是符合Go
的template
文件。
在编辑器里会有变量的高亮和智能提示。
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
在多人协作开发过程中,先定义接口,达到并行开发的目的。
存在单人单服务的开发模式,也存在单人单模块的开发模式。
存在多人单服务的开发模式,也存在多人单模块的开发模式。
更存在存在多人多服务的开发模式,也存在多人多模块的开发模式。
算数
#
定义(数)
计算(数)
使用(数)
期望和方差
#
- 定义
期望(Expectation):度量一个随机变量取值的集中位置或平均水平。
方差(Variance):是表示随机变量取值的分散性的一个数字特征。
- 怎么算?
- 怎么用?
方差越大,说明随机变量的取值分布越不均匀,变化性越强;方差越小,说明随机变量的取值越趋近于均值,即期望值。
技术 -> 图文音画的技术
图文音画的技术 -> 内容