docker容器打包成本地压缩镜像并load
docker容器打包成镜像和压缩(1)将容器保存成新的镜像相当于加了一层,使用docker commit 1sudo docker commit -a 'run_code' b4293c3b9202 myimage:v2 (2)将镜像打包 1docker save -o mask_detection_v5.tar myimage:v5 (3) 将镜像包压缩 1sudo tar -zcvf myimage.tar.gz myimage.tar 还有一种容器的打包和压缩一步到位的方法: 1docker save myimage:v5 | gzip > myimage.tar.gz docker镜像压缩包解压及镜像载入 一步加载压缩的镜像命令 12docker load < myimage.tar.gz (1)压缩包解压 1tar -zxvf myimage.tar.gz 得到.tar格式的镜像包 (2)镜像载入 1sudo docker load -i myimage.tar 载入后查看已经加载的镜像 1sudo...
查询深度学习环境python torch cuda版本
1234567import sysimport torch#sys模块提供了一系列有关Python运行环境的变量和函数。print(sys.version)print(torch.__version__)print(torch.cuda.is_available())
开机自启WSL
在C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp 目录下,新建vbs文件 文件内容拷贝下边内容,注意bash.exe 要替换为你电脑中的地址 123456Set ws = WScript.CreateObject("WScript.Shell")cmd = "C:\Windows\System32\bash.exe -c ""bash /init.sh"""'运行命令不显示cmd窗口ws.Run cmd, 0, falseSet ws = NothingWScript.quit
git更新仓库地址
使用如下命令 1git remote set-url origin https://gitee.com/xxxxx
设置github 同步到gitee
复制自己电脑的私钥到github 复制自己电脑的公钥到gitee 获取gitee 的私人令牌 创建.github/workflows/xxx.ymal 12345678910111213141516171819202122232425name: Pageson: push: branches: - master # default branchjobs: pages: runs-on: ubuntu-latest permissions: contents: write steps: - uses: actions/checkout@v2 - name: Sync to Gitee uses: wearerequired/git-mirror-action@master env: # 注意在 Settings->Secrets 配置 GITEE_RSA_PRIVATE_KEY SSH_PRIVATE_KEY:...
Golang 使用new创建slice
在 Go 语言中,new 关键字用于分配类型为 T 的零值并返回其地址,即类型为 *T 的值。对于 slice 来说,可以使用 new 来分配一个指向 slice 的指针,但是通常我们不这样做,因为 slice 是引用类型,我们更倾向于直接使用 make 函数来创建 slice。 然而,如果确实需要使用 new 来创建一个 slice 的指针,可以这样做: 12var s *[]int // 声明一个指向int类型slice的指针s = new([]int) // 分配一个int类型的slice,并将其地址赋给s 但是,这样创建的 slice 是一个空的 slice,它没有任何底层数组(即 nil 的数组),并且长度和容量都是 0。如果需要一个具有特定长度和容量的 slice,应该使用 make 函数: 1s := make([]int, length, capacity) // 创建一个长度为 length,容量为 capacity 的int类型slice 如果使用 new 创建了一个 slice 指针,并且想要初始化它,可以这样做: 12s :=...
依赖注入
依赖注入使用接口来实现依赖注入,降低模块间的耦合。概念: 依赖注入是一种设计模式,它允许你将组件的依赖关系(即其他组件或服务)从组件本身中分离出来,并在组件外部进行配置。这样做可以减少组件之间的耦合,使得代码更加模块化,易于测试和维护。 Go 语言实现: 在 Go 语言中,可以通过接口来实现依赖注入。接口定义了组件所需的行为,然后你可以在运行时注入任何实现了这些行为的具体类型。 优点: 降低耦合:组件不直接依赖于具体的实现类,而是依赖于接口,这降低了组件之间的耦合度。 提高灵活性:可以轻易地替换依赖的具体实现,而不需要修改组件的代码。 易于测试:可以为测试注入模拟对象(mocks),从而可以隔离测试组件,不依赖于外部服务或组件。 1234567891011121314151617181920212223242526272829303132333435package maintype Logger interface { Log(message string)}type ConsoleLogger struct{}func (l...
回调函数和直接调用的区别
...
vue3快速实践
教程 | Vue.js (vuejs.org) 声明式渲染你在编辑器中看到的是一个 Vue 单文件组件 (Single-File Component,缩写为 SFC)。SFC 是一种可复用的代码组织形式,它将从属于同一个组件的 HTML、CSS 和 JavaScript 封装在使用 .vue 后缀的文件中。 Vue 的核心功能是声明式渲染:通过扩展于标准 HTML 的模板语法,我们可以根据 JavaScript 的状态来描述 HTML 应该是什么样子的。当状态改变时,HTML 会自动更新。能在改变时触发更新的状态被称作是响应式的。我们可以使用 Vue 的 reactive() API 来声明响应式状态。由 reactive() 创建的对象都是 JavaScript Proxy 123456789import { reactive } from 'vue'const counter = reactive({ count: 0})console.log(counter.count) //...