12 2020 档案

channel用法和源码
摘要:源码分析https://mp.weixin.qq.com/s/eCwZMwGjU2yoXu6K2nGF3g 1 当chan用close关闭时,无论是有缓存的还是无缓存的,返回已缓冲数据或零值,如果重复用close关闭chan或对关闭的chan写入值都会报错, https://blog.csdn.ne 阅读全文

posted @ 2020-12-31 22:56 吃我一枪 阅读(12249) 评论(0) 推荐(0)

golang的坑
摘要:https://tonybai.com/2015/01/13/a-hole-about-variable-scope-in-golang/ 阅读全文

posted @ 2020-12-31 22:14 吃我一枪 阅读(72) 评论(0) 推荐(0)

golang调度器原理
摘要:三个常见的线程模型。 一个是N:1的,即多个用户空间线程运行在一个OS线程上。这个模型可以很快的进行上下文切换,但是不能利用多核系统(multi-core systems)的优势。 一个是1:1的,即可执行程序的一个线程匹配一个OS线程。这个模型能够利用机器上的所有核心的优势,但是上下文切换非常慢, 阅读全文

posted @ 2020-12-27 20:45 吃我一枪 阅读(148) 评论(0) 推荐(0)

context源码
摘要:Context接口有四个方法, Deadline方法是获取设置的截止时间的意思,第一个返回式是截止时间,到了这个时间点,Context会自动发起取消请求;第二个返回值ok==false时表示没有设置截止时间,如果需要取消的话,需要调用取消函数进行取消。 Done方法返回一个只读的chan(我感觉不是 阅读全文

posted @ 2020-12-27 20:34 吃我一枪 阅读(135) 评论(0) 推荐(0)

make和new比较
摘要:new(T) 返回 T 的指针 *T 并指向 T 的零值。make(T) 返回的初始化(不是零值)的实例T(不是*T),只能用于 slice,map,channel。 https://zhuanlan.zhihu.com/p/438542710 https://zhuanlan.zhihu.com/ 阅读全文

posted @ 2020-12-26 18:48 吃我一枪 阅读(72) 评论(0) 推荐(0)

golang垃圾回收
摘要:1 使用写屏障的原因:对于和用户程序并发运行的垃圾回收算法,用户程序会一直修改内存,所以需要记录下来。就问为了记录引用的修改,写屏障通俗的说就是垃圾回收的同时,由于程序还在运行,所以变量间的引用也会发生变化,这时如果仍然只执行三色标记就会发生错误,所以需要插入写屏障,对那些修改变量间引用的程序进行标 阅读全文

posted @ 2020-12-26 18:46 吃我一枪 阅读(147) 评论(0) 推荐(0)

学习资料
摘要:https://www.yuque.com/zhangjian-mbxkb/spkqgr/mirgmq https://www.cnblogs.com/williamjie/p/11187470.html https://www.yuque.com/zhangjian-mbxkb/spkqgr/mi 阅读全文

posted @ 2020-12-26 17:33 吃我一枪 阅读(46) 评论(0) 推荐(0)

jwt认证
摘要:https://www.ruanyifeng.com/blog/2018/07/json_web_token-tutorial.html 阅读全文

posted @ 2020-12-22 19:37 吃我一枪 阅读(39) 评论(0) 推荐(0)

别人的仓库转存到自己的仓库
摘要:1 删除 .git的时候用rm -rf .git https://www.codeleading.com/article/21572517402/ 推送到远程 git push origin master 阅读全文

posted @ 2020-12-22 17:40 吃我一枪 阅读(126) 评论(0) 推荐(0)

git教程
摘要:http://marklodato.github.io/visual-git-guide/index-zh-cn.html#checkout https://backlog.com/git-tutorial/cn/stepup/stepup2_5.html 阅读全文

posted @ 2020-12-22 10:22 吃我一枪 阅读(42) 评论(0) 推荐(0)

http源码
摘要:ServeHTTP函数调用在三个地方,它们三个都实现了Handler接口, 一是serverHandler{c.server}.ServeHTTP(w, w.req),它是serverHandler调用的,里面有ListenAndServe初始化时生成的Server对象,因为Server中有注册的路 阅读全文

posted @ 2020-12-19 19:44 吃我一枪 阅读(691) 评论(0) 推荐(0)

学习资料
摘要:https://www.shipengqi.top/network-protocol-learn/tcp.html 操作系统: http://c.biancheng.net/cpp/u/xitong/ https://www.cnblogs.com/inception6-lxc/p/9073983. 阅读全文

posted @ 2020-12-19 15:45 吃我一枪 阅读(40) 评论(0) 推荐(0)

resty包
摘要:1 resty包用于服务间的调用,服务间是用http协议通信的,即它可以实现发送http请求,并接受响应的功能, https://www.mdeditor.tw/pl/gkN7 阅读全文

posted @ 2020-12-19 13:21 吃我一枪 阅读(111) 评论(0) 推荐(0)

分支合并
摘要:1 利用goland自带的合并功能合并时,Git下有个Merge Changes,进去后一旦点击merge,代码就合并了,只是没具体确定,用之前可以做个副本来先合并, m分支生成了a分支,当a分支与另一个b分支merge后,即把b合并到a里(没有commit,只是add了),若a中此时新增了文件,则 阅读全文

posted @ 2020-12-17 21:10 吃我一枪 阅读(478) 评论(0) 推荐(0)

技巧
摘要:1 编程习惯 // 当传入的参数需要和当前的对象的某个参数一起调用其它的函数时,往往会这样写, // 遇到一个函数里面直接调用另一个函数时,很多都是这种情况, func (r *Resource) RenderRelatedCards(items types.IRecItemList) { r.Re 阅读全文

posted @ 2020-12-16 20:38 吃我一枪 阅读(70) 评论(0) 推荐(0)

git stash
摘要:git分支切换前,执行了git add .,没有commit,结果导致切换分支又切换回来后直接返回最初的版本了,最先的注释也没有了,切换前执行了git stash保存了进度,切换回来后利用git stash list查看所有的stash,直接利用git stash pop没有找到原先的代码,要用gi 阅读全文

posted @ 2020-12-14 20:14 吃我一枪 阅读(127) 评论(0) 推荐(0)

gin源码
摘要:分析如下代码 func Index(c *gin.Context) { c.JSON(200, gin.H{"message":"kkkkkkkkk"}) fmt.Println("first") func main() { r := gin.Default() k := r.GET("/ping" 阅读全文

posted @ 2020-12-13 20:30 吃我一枪 阅读(266) 评论(0) 推荐(0)

httprouter源码
摘要:1 源码解读 httprouter是一个golang实现的路由组件。httprouter使用一个前缀树(也叫基数树,压缩前缀树)来维护映射的父子关系,通过前缀树快速路由。同时其里面的Router结构体实现了golang的net.http.server的Handler接口下的ServeHTTP方法,可 阅读全文

posted @ 2020-12-11 16:28 吃我一枪 阅读(290) 评论(0) 推荐(0)

空接口
摘要:1 注意下面这样用空接口的时候,类型无法传递 package main import "fmt" func main() { a := [][]string{{"a","b","c"}} fmt.Println(a) test1(a) // interface{}可以接受任意类型,但这里不能这样传递 阅读全文

posted @ 2020-12-10 15:01 吃我一枪 阅读(81) 评论(0) 推荐(0)

http状态码与业务状态码
摘要:1 http状态码和业务状态码不是一个东西 https://cloud.tencent.com/developer/article/1540087 阅读全文

posted @ 2020-12-07 10:31 吃我一枪 阅读(1308) 评论(0) 推荐(0)

gin中间件
摘要:1 Gin中的中间件必须是一个gin.HandlerFunc类型,它是个函数签名,在gin源码中是如下定义的,即输入类型为 *Context,没有返回值的函数, Gin支持设置全局中间件和针对路由分组设置中间件,设置全局中间件意思就是会拦截所有请求,针对分组路由设置中间件,意思就是仅对这个分组下的路 阅读全文

posted @ 2020-12-02 20:35 吃我一枪 阅读(286) 评论(0) 推荐(0)

导航