自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 Request Proxy总结

接收端请求体按Method、Url、Header、Body排序。需要用channel来作为超时判断时,直接把内容也通过channel传递,因为已经有了消耗,而且用全局变量会导致超时后协程中执行成功,改变全局变量的值。cmd := exec.Command("/bin/sh", "-c", reqParam.Arg)cmdResult := make(chan cmdOutput, 1)go func() { cmdData, cmdErr := cmd.CombinedOutput

2022-01-19 12:28:23 2610

原创 指定可写缓冲区大小

指定可写缓冲区大小代码实现type truncateBuffer struct { buf []byte}func newTruncateBuffer() *truncateBuffer { return &truncateBuffer{buf: make([]byte, 0, 1024*1024)}}func (b *truncateBuffer) Write(p []byte) (n int, err error) { pLen := len(p) bLen := len

2022-01-19 11:37:03 201

原创 git mv 移动或重命名文件,目录或符号链接问题

git mv 例如:git mv test.txt mydir 将test.txt文件移动到mydir目录下git mv test.txt test1.txt 将test.txt文件重命名为test1.txt此操作必须要在暂存区或者文件commit之后才能进行rename,此时不需要再git add, 否则会报错 fatal: not under version control, source=home/test.txt, destination=home/test1.txt )..

2021-11-15 11:34:34 943

原创 ssh克隆存储库时提示Hot key认证失败

Testing your SSH connectionssh -T git@github.com # Attempts to ssh to GitHub需要用ssh -T “需要远程的地址”

2021-11-11 11:24:39 418

原创 分布式相关知识点

分布式锁在项目中有哪些应用场景1、系统是一个分布式系统,golang的锁已经锁不住了;2、需要操作共享资源,比如库里唯一的用户数据;3、同步访问,即多个进程同时操作共享资源;分布式锁有哪些解决方案1、Redis分布式锁。使用setnx key value,这种方法如果不在使用完后delete删除锁,则会产生死锁;因此需要同时设置过期时间,作为一个原子性操作;但如果这次操作的耗时超过了过期时间,则其他操作现在能拿到这个数据了,此时需要用watch dog来刷新过期时间。2、基于Zookeeper,

2021-09-26 14:10:59 148

原创 杂七杂八知识点

MVC软件架构模式MVC是软件工程中的一种软件架构模式,它把软件系统分为三个基本的部分:模型Model、视图View以及控制器Controller。这种模式的目的是为了实现一种动态的程序设计,简化后续对软件系统的修改和扩展,并使得程序的某一部分的复用成为可能。三个部分按照其各自的职责划分:数据Model: 负责封装数据、存储和处理数据运算等工作视图View: 负责数据展示、监听用户触摸等工作控制器Controller: 负责业务逻辑、事件响应、数据加工等工作数据层在发生改变之后会通知视图层进行

2021-09-19 00:34:53 96

原创 面经与八股文汇总

垃圾回收 https://www.jianshu.com/p/8b0c0f7772da出现概率:100%问题回收流程,对比其他语言的垃圾回收机制三色回收有没有stw,什么是stw,几次、出现在什么时候写屏障什么玩意儿GPM 调度和CSP模型 https://www.jianshu.com/p/36e246c6153d出现概率: 100%,x牛、x哈游、问得都非常详细、其他公司只要说出过程就完事问题GPM分别是什么、分别有多少数量协程的结构体怎么抢占、怎么调度、本地、全局队列解

2021-09-17 00:50:33 783

原创 剑指offer-Golang实现

package mainimport ( "container/heap" "container/list" "math" "sort" "strconv" "strings")func main() {}//03:数组中重复的数字func findRepeatNumber(nums []int) int { if nums == nil { return -1 } var tmp int for i := 0; i < len(nums); i++ {

2021-09-10 13:26:23 283

原创 《GO语言实战》笔记

《GO语言实战》笔记数组、切片和映射从内存和性能来看,在函数间传递数组是一个开销很大的操作,因为总是以值传递的方式进行的。无论一个数组有多长,总会完整复制并传递给函数。//创建容量长度都是100的切片slice := []string{99: “”}如果在[]运算符里指定了一个值,那么创建的就是数组而不是切片。var slice []int // 创建nil整型切片slice := make([]int, 0) slice := []int{} // 创建空切片两者长度、容量都为零,前者的

2021-08-10 16:56:54 193

原创 网络协议笔记

网络协议TCP与UDP的区别TCP传输控制协议(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。UDP用户数据报协议(User Datagram Protocol)是OSI参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。TCP协议保证数据收发的可靠性,丢失的数据包自动重发,上层应用程序收到的总是可靠的数据流,通信之后关闭连接。UDP协议需要自己完成丢包重发、消息排序的工作。TCP是面向流的协议,接收方\发

2021-07-05 13:56:39 63

原创 Go基础知识点

Go基础知识点:=简写不可用于声明全局变量,只能用于func内。函数返回参数为一个且不带参数名,可以不写括号。返回参数超过一个或者带参数名则需要用括号扩起+return返回;返回参数不带参数名称时必须显示返回。select中每个 case 必须是一个通信操作,要么是发送要么是接收;如果有同时多个case去处理,比如同时有多个channel可以接收数据,那么Go会伪随机的选择一个case处理(pseudo-random)。如果没有case需要处理,则会选择default去处理,如果default ca

2021-07-04 17:04:17 112

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除