wails制作自己的项目模板
前言wails本身提供的有官方模板, 但是wails现阶段还未适配移动端, 以及对于原生接口的适配不如electron等, 因此配置自己的跨端模板很有必要
配置过程可参考官方文档的相关章节进行配置 https://wails.io/zh-Hans/docs/guides/templates/
只需要配置好你的前端项目后, 直接整体生成即可, 看图中介绍
然后参考下图, 快速完成创建即可
图中的运行指的是: wails dev
在Win下的GitBash中配置oh-my-posh
下载前往这里下载以.msi为后缀的安装包。
按照我的电脑配置, 应选择install-x64.msi这个安装包。
当然, 您也可以像官网的安装教程中提到的那样, 通过winget或manual或chocolatey来下载安装。不过我不喜欢winget, 不喜欢的原因是: 1.代理的配置问题。2.下载和更新时不时会失败。3.能够使用它下载的东西,几乎都可在官方release中手动下载。4.即使在github的workflows这种不得不用工具的cd脚本中,curl也可以用于下载大多数内容。总之, 我不喜欢winget。manual或chocolatey我没用过, 不予评价。
安装打开下载好的install-x64.msi, 即可完成安装。
检查是否安装成功:
在环境变量中, 检查是否有 POSH_THEMES_PATH 这个新的变量。 有代表安装成功。
在终端中, 使用命令oh-my-posh get shell, 如果正常返回结果(结果为你正在使用的shell的名称), 则代表安装成功。
使用官网使用教程
ok, oh-my-posh get shell命令可以得知你的终端, ...
重构阅读摘录
tips摘录第1章 重构,第一个示例1.2 对程序的评估评价
如果你要给程序添加一个特性,但发现代码因缺乏良好的结构而不易于进行更改,那就先重构那个程序,使其比较容易添加该特性,然后再添加该特性。
需求的变化使重构变得必要。如果一段代码能正常工作,并且不会再被修改,那么完全可以不去重构它。能改进之当然很好,但若没人需要去理解它,它就不会真正妨碍什么。如果确实有人需要理解它的工作原理,并且觉得理解起来很费劲,那你就需要改进一下代码了。
1.3 重构的第一步
重构前,先检查自己是否有一套可靠的测试集。这些测试必须有自我检验能力。
1.4 分解提炼函数
每次想将一块代码抽取成一个函数时,都会遵循一个标准流程,最大程度减少犯错的可能。(作者把这个流程记录了下来,并将它命名为提炼函数(106),以便日后可以方便地引用。)
首先, 需要检查一下,如果我将这块代码提炼到自己的一个函数里,有哪些变量会离开原本的作用域。
其次, 如果离开作用域的变量会被提炼后的函数使用,但不会被修改,那么就可以将它们以参数方式传递进来。 不过, 作者更关心哪些离开作用域且会被修改的变量, 对于这种变量, 可以将它 ...
单元测试与端到端测试——主要区别
在为应用程序设计整体测试策略之前,首先想到的问题是使用哪种测试策略。 两个最重要和广泛使用的测试策略是单元测试和端到端测试。 要决定使用哪一个,重要的是要了解它们的主要区别。单元测试是一种测试策略,我们在其中测试应用程序代码的各个单元。 在端到端测试中,测试人员从用户的角度测试整个应用程序。 我们可以通过模拟用户执行的常见任务来做到这一点。用户可能会遇到不同类型的错误。 有些可能会呈现一些错误,它们可能会返回不正确的数据,而另一些可能会导致功能问题或浏览器问题。 根据错误的类型,我们应该决定是否对应用程序使用单元测试或端到端测试。在本文中,让我们看看单元测试和端到端测试之间的区别以及何时使用它们。
什么是单元测试?我们在代码的开发阶段编写单元测试。 它是白盒测试的经典示例。 这是因为要进行任何白盒测试,我们都需要知道代码的内部机制。 但是,单元测试用例的范围是有限的(即生命周期很窄, 如单个测试用例的覆盖范围单一), 它只能测试一个代码单元。 它无法测试不同代码单元之间的交互。
单元测试的好处编写单元测试用例背后的主要思想是分离程序的不同逻辑部分并正确测试它们各自的行为。 当我们创 ...
WSL2-ubuntu 配置Docker直通显卡
检查WSL2-ubuntu本身, 是否使用了本机的显卡1nvidia-smi
更新软件包列表1sudo apt update && sudo apt upgrade -y
添加 NVIDIA Container Toolkit GPG 密钥1curl -s -L https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
可能需要使用代理才能正确添加
1curl -x socks5h://localhost:7448 -s -L https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
添加 NVIDIA Container Toolkit 仓库123cu ...
如何通过局域网访问WSL2中的服务
假设局域网上有两台主机A和B。主机A的IP:192.168.1.2,并且WSL2开启了Redis服务,端口为6379。现在主机B如何才能访问主机A上的Redis服务呢?
第一步:配置端口转发1、 以管理员权限打开PS,输入命令:
1netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=6379 connectaddress=localhost connectport=6379
listenaddress: 监听地址, 0.0.0.0 表示匹配所有地址。
listenport:监听的Windows端口。
connectaddress:要转发的地址。这里设置为 localhost, 是因为我们可以通过 localhost 来访问WSL2。
connectport: 转发的WSL2端口。
2、 通过以下命令,查看当前所有的转发设置。
1netsh interface portproxy show all
也可以通过以下命令来删除转发设置:
1netsh interface portpro ...
WSL2-ubuntu 安装Docker
配置Systemd
启动WSL并进入Ubuntu实例。
查看WSL配置文件,cat /etc/wsl.conf 确保在引导选项中systemd被设置为true。若尚未设置,需在配置中添加:
12[boot] systemd = true
执行wsl.exe shutdown命令,让WSL重启以启用systemd。
重新进入Ubuntu实例后,通过systemctl status检查systemd状态,可看到控制组的树形输出,其中会列出所有进程及其PID,确认系统功能正常。通过systemctl list-unit-files –type=service可发现当前无Docker服务运行。
安装Docker
访问Docker官网,在文档中找到适用于Ubuntu的快速安装脚本。
首先通过curl下载脚本:
1curl -fsSL https://get.docker.com -o get-docker.sh
执行脚本安装Docker:
1sudo sh get-docker.sh
等待20秒
安装完成后,可通过docker ve ...
win注册表路径收集
开机自启动相关
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_USERS\S-1-5-21-3537855019-2302690-1239136465-1001\Software\Microsoft\Windows\CurrentVersion\Run
以上三处均为开机自启动的注册表配置路径, 任选其一即可(推荐第3个)。
win终端下可用的使之接近bash体验的工具
下方提到的所有工具, 如无特殊说明, 皆可通过复制粘贴的形式, 在原目录重命名, 以获得更好的bash体验。
chcp 命令查看和设置字符编码。常见的编码有 GB2312(936)和 UTF-8(65001)。我们可以通过此命令指定终端使用的字符编码。
在 Windows 系统中,可以通过 C:\Windows\System32 下的 chcp.com实现此功能。
当我们在Windows的控制台下输入chcp,可以查看到当前字符编码。
当我们在Windows的控制台下输入chcp 65001, 可以将字符编码设置成UTF-8(65001), 也是开发中最常用的编码格式。
WSL2-ubuntu 中通过code命令打开win上的vscode
前言只需在win上的vscode中安装WSL插件即可。
可能遇到的bug及解决方案可能遇到在wsl中, 无法使用code打开相关项目的问题, 此时可通过命令code --version的输出结果判断是否有问题。
若正常输出版本信息, 则说明没有问题。
输出内容演示
1234# code --version1.103.0e3550cfac4b63ca4eafca7b601f0d2885817fd1fx64
否则, 则说明有问题
输出内容演示
12# code --version/mnt/c/Users/srackHall/AppData/Local/Programs/Microsoft VS Code/bin/code: 61: /mnt/c/Users/srackHall/AppData/Local/Programs/Microsoft VS Code/Code.exe: Exec format error
需要通过命令sudo systemctl restart systemd-binfmt来解决此问题(注意, 由于docker依赖与systemctl, 因此此重启命令会造成d ...

.png)