随笔分类 -  golang

初学者的探索
摘要:1.读写锁 2.channel介绍 单纯地将函数并发执行是没有意义的。函数与函数间需要交换数据才能体现并发执行函数的意义。 虽然可以使用共享内存进行数据交换,但是共享内存在不同的goroutine中容易发生竞态问题。为了保证数据交换的正确性,必须使用互斥量对内存进行加锁,这种做法势必造成性能问题。 阅读全文
posted @ 2023-02-11 11:31 易先讯 阅读(236) 评论(0) 推荐(0) 编辑
摘要:33MEHOB8W0-eyJsaWNlbnNlSWQiOiIzM01FSE9COFcwIiwibGljZW5zZWVOYW1lIjoiUG9saXRla25payBNZXJsaW1hdSBNZWxha2EiLCJhc3NpZ25lZU5hbWUiOiJtYWdnaWUgc2VyIiwiYXNzaWd 阅读全文
posted @ 2023-02-05 11:00 易先讯 阅读(1538) 评论(0) 推荐(1) 编辑
摘要:由于一时心血来潮、想针对谷歌三驾马车(MapReduce, GFS, BigTable)分别写点啥,故我上个月在Google File System及其继任者Colossus中针对以GFS为代表的谷歌存储系统写了一篇日志。而这次,以三者中最出名的MapReduce为展开点,让我们随便谈谈相关的有趣东 阅读全文
posted @ 2023-01-29 10:09 易先讯 阅读(33) 评论(0) 推荐(0) 编辑
摘要:概述 Golang 中 slice 极似其他语言中数组,但又有诸多不同,因此容易使初学者产生一些误解,并在使用时不易察觉地掉进各种坑中。本篇小文,首先从 Go 语言官方博客出发,铺陈官方给出的 slice 的相关语法;其次以图示的方式给出一种理解 slice 的模型;最后再总结分析一些特殊的使用情况 阅读全文
posted @ 2023-01-28 15:31 易先讯 阅读(67) 评论(0) 推荐(0) 编辑
摘要:数组是存放元素的容器,Go语言中数组的长度是数组类型的一部分,定义数组时必须指定存放元素的类型和容量(长度) 定义 var a1 [3]bool var a2 [4]int fmt.Printf("a1:%T\na2:%T\n", a1, a2) 复制代码 打印结果: 数组初始化 默认值 定义数组时 阅读全文
posted @ 2023-01-28 11:39 易先讯 阅读(83) 评论(0) 推荐(0) 编辑
摘要:缘起 我一直在想,有什么方式可以让人比较轻易地保持每日学习,持续输出的状态。写博客是一种方式,但不是每天都有想写的,值得写的东西。 有时候一个技术比较复杂,写博客的时候经常会写着写着发现自己的理解有偏差,或者细节还没有完全掌握,要去查资料,了解了之后又继续写,如此反复。 这样会导致一篇博客的耗时过长 阅读全文
posted @ 2022-12-13 16:16 易先讯 阅读(89) 评论(0) 推荐(0) 编辑
摘要:Go语言相比C++/Java等语言是优雅且简洁的,是笔者最喜爱的编程语言之一,它既保留了C++的高性能,又可以像Java,Python优雅的调用三方库和管理项目,同时还有接口,自动垃圾回收和goroutine等让人拍案叫绝的设计。 有许多基于Go的优秀项目。Docker,Kubernetes,etc 阅读全文
posted @ 2022-12-07 14:19 易先讯 阅读(909) 评论(0) 推荐(0) 编辑
摘要:文件校验方式 读取或者写入文件时必须文件进行校验,防止软连接攻击或者提权攻击,如果校验后再打开文件操作,很容易被构造条件竞争攻击。因此较安全的方式是先将文件打开,然后再校验,校验不通过时关闭文件,打开文件后文件不可能再被修改。 常见文件相关攻击路径 OOM(Out of Memory): 角色: 所 阅读全文
posted @ 2022-11-21 14:43 易先讯 阅读(81) 评论(0) 推荐(0) 编辑
摘要:目录 application assembler UserReq.go UserRsp.go dto MessageResult.go UserDTO.go services UserService.go domain aggregates Member.go models IModel.go Us 阅读全文
posted @ 2022-07-25 15:48 易先讯 阅读(128) 评论(0) 推荐(0) 编辑
摘要:1.构造方法 1.1 generate 1.2 构造方法如图 2. 传参数 3. 阅读全文
posted @ 2022-07-17 23:31 易先讯 阅读(22) 评论(0) 推荐(0) 编辑
摘要:1.用户实体和值对象 2. 要做的事 3.常见的四层模型 4.Domin层 5.值对象 阅读全文
posted @ 2022-07-17 17:18 易先讯 阅读(47) 评论(0) 推荐(0) 编辑
摘要:目录 引言: 1.巧妙包装gin.Context为NewContext 2 在使用gin.Use对每一个请求的Context进行组装 3 在路由绑定时解析出NewContext来为应用层函数提供参数,并且调用应用层函数 4 总结 引言:首先给臆造这样一个场景: 假设有web端,有众多用户需要从服务端 阅读全文
posted @ 2022-07-13 11:27 易先讯 阅读(659) 评论(0) 推荐(0) 编辑
摘要:一,概念 RPC:Remote procedure call(远程过程调用),分布式系统中不同节点之间流行的通信方式 服务端: 注: 1、执行下面的代码之后,会相应的启动一个tcp进程 C:\Users\lWX1011939>netstat -aon|findstr 1234 1234是代码中指定的 阅读全文
posted @ 2022-07-08 10:45 易先讯 阅读(181) 评论(0) 推荐(0) 编辑
摘要:在做内存分析时,用到了pprof,这里做一下部署介绍和入门级别的使用。 pprof是golang的性能工具,有两种交互方式:命令行交互和web交互,同时还支持性能分析数据的图形化展示。 部署pprof: 在我们的kubeedge代码的edgecore.go里,import导入两个包,再加入访问ppr 阅读全文
posted @ 2022-06-23 19:07 易先讯 阅读(301) 评论(0) 推荐(0) 编辑
摘要:一,安装用到的库1,gomonkey代码的地址: https://github.com/agiledragon/gomonkey 2,从命令行安装gomonkey go get -u github.com/agiledragon/gomonkey3,goconvey库的代码地址 https://gi 阅读全文
posted @ 2022-06-09 21:54 易先讯 阅读(1074) 评论(0) 推荐(0) 编辑
摘要:大家好 今天为大家讲解的面试专题是: 闭包。 定义 闭包在计算机科学中的定义是:在函数内部引用了函数内部变量的函数。 看完定义后,我陷入了沉思...确实,如果之前没有接触过闭包或者对闭包不理解的话,这个定义着实有点让人上头。 下面让我们先看几个示例,在了解闭包的实际应用后,再去理解这个定义,就不会那 阅读全文
posted @ 2022-05-10 22:01 易先讯 阅读(105) 评论(0) 推荐(1) 编辑

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