Loading

摘要: 亲测好用 step1: 在服务器安装 lrzsz 官网 这个跟官网走就行,没啥要求 step2: 本地安装 lrzsz brew install lrzsz step3: 新建两个文件,拷贝下面代码并赋运行权限 /usr/local/bin/iterm2-recv-zmodem.sh #!/bin/ 阅读全文
posted @ 2025-01-22 10:30 _小孟同学 阅读(261) 评论(0) 推荐(0)
摘要: 在测试时,获取返回值正常,在发布后直接不好用,怎么改都不好用写法也没问题 task_instance = context["task_instance"] task_instance.xcom_pull(key="return_value", task_ids="xxx") xxx = BashOp 阅读全文
posted @ 2024-11-28 15:27 _小孟同学 阅读(41) 评论(0) 推荐(0)
摘要: 获取路由参数 import { useRouter } from 'vue-router'; const router = useRouter(); console.log(router.currentRoute.query); 设置路由参数 import { useRouter } from 'v 阅读全文
posted @ 2024-09-02 14:06 _小孟同学 阅读(758) 评论(0) 推荐(0)
摘要: osrm-extract osrm 第一步,将 osm.pbf 文件取出来需要用的数据 docker run -t -v "${PWD}:/data" ghcr.io/project-osrm/osrm-backend osrm-extract -p /opt/car.lua /data/thail 阅读全文
posted @ 2024-04-08 09:43 _小孟同学 阅读(255) 评论(0) 推荐(0)
摘要: 介绍 shell 是 linux 下的脚本,可以很方便的执行一些操作,而不用编写程序编译 解释器 注:可以省略 脚本不指定的话就会采用系统默认的解释器去执行,但可以在脚本中进行指定,格式 #!/bin/bash 其必须在基本文件的第一行,并且以#!开头,后面接解释器路径,如果指定没有解释器,则会报错 阅读全文
posted @ 2023-12-16 17:18 _小孟同学 阅读(26) 评论(0) 推荐(0)
摘要: 近期遇到一个问题 golang 在多协程情况下,对一个 error 进行赋值,本意是无论多少个协程,只要有个一个 error,那么就认为是 error 错误. 但是在实际写的过程中遇到问题就是需不需要加锁,不加锁会影响什么 代码如下(伪代码) func main(){ var err error v 阅读全文
posted @ 2023-12-16 11:46 _小孟同学 阅读(75) 评论(0) 推荐(0)
摘要: golang select是多 channel 并行的利器 不要拿 switch 和 select 比,根本不是一个东西好嘛,差不少,只是名字稍微有点像 前置操作 golang 对 select 做了一些优化 select 结构体为空 当 select 里面为空的时候会直接 panic 只有一个 c 阅读全文
posted @ 2023-11-22 21:26 _小孟同学 阅读(30) 评论(0) 推荐(0)
摘要: 在 golang 中,有原子包,能够实现原子操作,在我分析和猜想下,感觉解开了谜团 具体用法不说了,网上一大堆什么 cas,add,load,store 等,主要是底层实现 arm 架构 在 amd 架构下,通过汇编指令加锁来实现 代码在src/runtime/internal/atomic/ato 阅读全文
posted @ 2023-11-22 21:25 _小孟同学 阅读(33) 评论(0) 推荐(0)
摘要: golang的内存分配思想从 tcmalloc 而来,思路是把对象分配成小对象减少锁的力度或无锁增加效率 定义 golang 内部的页(Page)大小为 8B 空间大小 golang 内部把要申请或使用的空间大小分为了三大类:微对象 (<16B),小对象(16B~32KB),大对象(>32KB), 阅读全文
posted @ 2023-11-22 21:23 _小孟同学 阅读(205) 评论(0) 推荐(0)
摘要: 垃圾回收器,最高占用 cpu25% 历史 Go1.1 STW Go1.3 Mark STW, Sweep 并行 Go1.5 三色标记法 Go1.8 混合写屏障 STW stw 就是 stop the wrod,意思就是程序停下来,然后标记所有的对象,然后再将所有不用的对象清除,没啥技术难点,但是性能 阅读全文
posted @ 2023-11-19 21:43 _小孟同学 阅读(44) 评论(0) 推荐(0)
摘要: 定义 G:Goroutine的缩写,一个G代表了对一段需要被执行的Go语言代码的封装 M:Machine的缩写,一个M代表了一个内核线程 P:Processor的缩写,一个P代表了M所需的上下文环境 定义都在源码 runtime/runtime2.go M M 的定义在runtime/runtime 阅读全文
posted @ 2023-11-17 14:56 _小孟同学 阅读(92) 评论(0) 推荐(0)
摘要: ”不要以共享内存的方式来通信,相反,要通过通信来共享内存“ golang 的一个思想,不整文的,整点武的,具体来看channel 怎么做的 有一个很关键的 golang MPG 模型再单独分析,这篇先只分析 channel 定义 // runtim/chan.go type hchan struct 阅读全文
posted @ 2023-11-16 20:22 _小孟同学 阅读(52) 评论(0) 推荐(0)
摘要: golang 的 map 使用的是 hash map 基本结构 下面截取自源码,已翻译 // runtime/map.go:117 // go map 定义,hashmap 缩写 type hmap struct { count int // map 里文件数 flags uint8 // map 阅读全文
posted @ 2023-11-16 14:24 _小孟同学 阅读(125) 评论(0) 推荐(0)
摘要: slice 是 golang 的切片,动态数组 底层结构 // runtime/slice.go type slice struct { array unsafe.Pointer // 底层数组 len int cap int } golang 的 slice 底层是一个数组,也就是可以通过 &s[ 阅读全文
posted @ 2023-11-15 14:03 _小孟同学 阅读(23) 评论(0) 推荐(0)
摘要: 在搜索内容后面加上: ``` -site:*.csdn.net ``` 阅读全文
posted @ 2023-09-04 17:38 _小孟同学 阅读(117) 评论(0) 推荐(0)
摘要: ``` sudo killall -HUP mDNSResponder ``` 阅读全文
posted @ 2023-09-04 15:35 _小孟同学 阅读(89) 评论(0) 推荐(0)
摘要: 今天登录堡垒机发现 ssh 登录失败,报错如下所示 ``` @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@ 阅读全文
posted @ 2023-09-04 10:26 _小孟同学 阅读(51) 评论(0) 推荐(0)
摘要: vscode开启golangdebug 第一 要选择对golang版本,然后安装 我的是mac m1就选择如图 第二 安装对dlv go get -u github.com/go-delve/delve/cmd/dlv 否则可能报错 could not launch process: can not 阅读全文
posted @ 2022-09-09 14:27 _小孟同学 阅读(174) 评论(0) 推荐(0)
摘要: 在使用vscode进行debug golang 时,出现test结果缓存的情况 导致若干次test结果一致问题 设置go test不用缓存 官方说明 https://pkg.go.dev/cmd/go#hdr-Test_packages 设置: 找到设置 找到test设置 添加"-count=1" 阅读全文
posted @ 2022-09-09 14:26 _小孟同学 阅读(74) 评论(0) 推荐(0)
摘要: 1. 读取整个文件 直接读取 os.ReadFile() ioutil.ReadFile() 在go 1.16 之后ioutil.ReadFile 就等价于 os.ReadFile,所以推荐用os.ReadFile package main import ( "fmt" "os" ) func ma 阅读全文
posted @ 2022-04-26 10:06 _小孟同学 阅读(1828) 评论(0) 推荐(0)