11 2023 档案

摘要:viper基本使用 导入包: go get -u github.com/spf13/viper 以读取 yaml配置文件为例: func loadConfig() { v := viper.New() v.SetConfigName("config") // 配置文件的文件名(不需要扩展名) v.S 阅读全文
posted @ 2023-11-28 15:48 潜行1 阅读(49) 评论(0) 推荐(0) 编辑
摘要:range时不能动态的增加map的range范围 golang的map是hash表实现的,hash表的遍历就是遍历所有的桶,所以新添加的元素可能出现在之前遍历过的桶中,这样就会有些新添加的元素可能遍历不到。 实际生成环境中,不建议遍历一个正在写入的map,这并不是一种好的设计,如果确实有这样的需求, 阅读全文
posted @ 2023-11-26 23:28 潜行1 阅读(23) 评论(0) 推荐(0) 编辑
摘要:NewPoolWithFunc -> func(data interface{}) -> data.(Task) -> Task.Do 上面的这些函数都是同步的,添加到 NewPoolWithFunc中后,执行 invoke会变成异步 NewPool和NewPoolWithFunc本质是一样的,都是 阅读全文
posted @ 2023-11-21 22:44 潜行1 阅读(151) 评论(0) 推荐(0) 编辑
摘要:草稿 errgroup就是在waitgroup基础上封装了一层。 我还是不喜欢 go的这个控制goroutine的方式。 只贴一下代码: func main() { eg, ctx := errgroup.WithContext(context.Background()) for i := 0; i 阅读全文
posted @ 2023-11-21 21:00 潜行1 阅读(17) 评论(0) 推荐(0) 编辑
摘要:原理 简单来说,main中可以捕获系统的中断信号,并将其传入到 chan中; 原来的main goroutine因为要捕获系统的 interrupt信号,所以需要将原来的代码放入到另外一个goroutine中。 这样做之后,如果不主动处理interrupt信号,程序默认是无法结束的 示例代码: fu 阅读全文
posted @ 2023-11-20 21:32 潜行1 阅读(9) 评论(0) 推荐(0) 编辑
摘要:尝试时间 2023年11月18日11:11:38 就是动态令牌。 github本身并没有直接提供两步验证的app(应该),而是要你使用三方的,专门用于两步验证的app程序。 国内可以直接安装微软的 Authenticator的app,我可以直接在oppo的应用商店中下载。 我不确认是否需要魔法上网, 阅读全文
posted @ 2023-11-18 11:13 潜行1 阅读(211) 评论(0) 推荐(0) 编辑
摘要:个人感觉比bash强。 有脚本需要执行就用 bash -c好了。 阅读全文
posted @ 2023-11-17 23:23 潜行1 阅读(11) 评论(0) 推荐(0) 编辑
摘要:说明 有点类似于 linux下的 使用lsof得到是哪个程序占用了端口,然后再使用 kill结束程序 # 查询占用端口的程序的相关信息 sudo lsof -i:8080 # 停止程序 kill 11111 Windows下使用 # 类似于 lsof netstat -ano | findstr 8 阅读全文
posted @ 2023-11-17 13:40 潜行1 阅读(39) 评论(0) 推荐(0) 编辑
摘要:说明 pgrep和pkill命令某种程度上可以理解成 ps aux|grep [pattern] 的别名。 pgrep就是找出所有符合 pattern的processid,这个p实际上 process的意思。 pgrep用法同 grep,用来过滤所有符合 字符串模板的进程,并获取他们的pid。 pk 阅读全文
posted @ 2023-11-15 21:39 潜行1 阅读(276) 评论(0) 推荐(0) 编辑
摘要:chown <new_user> <file> 阅读全文
posted @ 2023-11-13 12:43 潜行1 阅读(8) 评论(0) 推荐(0) 编辑
摘要:名称规范 算不上规范。 是我使用 Goland生成 test func的时候的自动命令规则,所以记录一下。 为某个函数编写测试方法: func Foo() error func TestFoo(t *testing.T) { } 为某个struct的方法测试: type Client struct 阅读全文
posted @ 2023-11-12 17:00 潜行1 阅读(3) 评论(0) 推荐(0) 编辑
摘要:今天在使用标准库 ioutil时发现已经过时,是通过在注释上添加实现的。 例如: // WsHandlerFunc is like HandleFunc in Gin. // // Deprecated: Not support. type WsHandlerFunc func(*websocket 阅读全文
posted @ 2023-11-12 16:12 潜行1 阅读(101) 评论(0) 推荐(0) 编辑
摘要:go中诸如: 0x,0o是进制前缀,分别表示十六进制和八进制。 0o好像在io操作中作为权限符使用得比较多。 阅读全文
posted @ 2023-11-11 19:36 潜行1 阅读(6) 评论(0) 推荐(0) 编辑
摘要:wc命令全称 word count -l: 统计文件的行数 -w: 统计文件的单词数 -m: 统计文件的字符数 阅读全文
posted @ 2023-11-11 19:11 潜行1 阅读(11) 评论(0) 推荐(0) 编辑
摘要:【知识点】GIT将本地的新分支同步到远程仓库中 切换到新分支,然后使用 git push origin <新的分支名> ,这样远程仓库里对应的分支就可以创建了。 【知识点】 GIT 将其他分支的内容合并到主分支上 切换到主分支 git checkout <目标分支> git merge <源分支> 阅读全文
posted @ 2023-11-09 13:59 潜行1 阅读(10) 评论(0) 推荐(0) 编辑
摘要:groups 可以查看用户组 具体的用法可以参考终端的指南。 usermod -aG sudo <用户名> 将用户添加到sudo组。 将用户添加到指定组,这样就拥有了权限。 scp传输文件: 我自己使用成功的案例: scp -r C:\zzk\env\video\ test@192.168.3.22 阅读全文
posted @ 2023-11-09 13:57 潜行1 阅读(13) 评论(0) 推荐(0) 编辑
摘要:常用的软件入 nginx,redis,ffmpeg等一系列使用make作为构建工具的目录,可以尝试使用以下的方式来编译可执行文件 # 1.下载源码 wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/gnu/gawk/ga 阅读全文
posted @ 2023-11-09 13:55 潜行1 阅读(31) 评论(0) 推荐(0) 编辑
摘要:目的 为了方便在嵌入式设备上操作 SQLite3 CLI 基本操作 apt就可以安装cli。 apt-get install sqlite3 以下的操作都是在cli中进行的 查看所有的表: .tables 查询表的所有数据: 查询的时候显示查询的列 .mode column 显示头 .headers 阅读全文
posted @ 2023-11-08 22:51 潜行1 阅读(7) 评论(0) 推荐(0) 编辑
摘要:Ubuntu版本 ubuntu 22.04 未分类 先参考这个: Link 自动移除不再需要的软件包(推荐) 阅读全文
posted @ 2023-11-07 21:01 潜行1 阅读(11) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示