随笔分类 -  golang

初学者的探索
摘要:由于一时心血来潮、想针对谷歌三驾马车(MapReduce, GFS, BigTable)分别写点啥,故我上个月在Google File System及其继任者Colossus中针对以GFS为代表的谷歌存储系统写了一篇日志。而这次,以三者中最出名的MapReduce为展开点,让我们随便谈谈相关的有趣东 阅读全文
posted @ 2023-01-29 10:09 易先讯 阅读(76) 评论(0) 推荐(0)
摘要:概述 Golang 中 slice 极似其他语言中数组,但又有诸多不同,因此容易使初学者产生一些误解,并在使用时不易察觉地掉进各种坑中。本篇小文,首先从 Go 语言官方博客出发,铺陈官方给出的 slice 的相关语法;其次以图示的方式给出一种理解 slice 的模型;最后再总结分析一些特殊的使用情况 阅读全文
posted @ 2023-01-28 15:31 易先讯 阅读(91) 评论(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 易先讯 阅读(103) 评论(0) 推荐(0)
摘要:缘起 我一直在想,有什么方式可以让人比较轻易地保持每日学习,持续输出的状态。写博客是一种方式,但不是每天都有想写的,值得写的东西。 有时候一个技术比较复杂,写博客的时候经常会写着写着发现自己的理解有偏差,或者细节还没有完全掌握,要去查资料,了解了之后又继续写,如此反复。 这样会导致一篇博客的耗时过长 阅读全文
posted @ 2022-12-13 16:16 易先讯 阅读(113) 评论(0) 推荐(0)
摘要:Go语言相比C++/Java等语言是优雅且简洁的,是笔者最喜爱的编程语言之一,它既保留了C++的高性能,又可以像Java,Python优雅的调用三方库和管理项目,同时还有接口,自动垃圾回收和goroutine等让人拍案叫绝的设计。 有许多基于Go的优秀项目。Docker,Kubernetes,etc 阅读全文
posted @ 2022-12-07 14:19 易先讯 阅读(1087) 评论(0) 推荐(0)
摘要:文件校验方式 读取或者写入文件时必须文件进行校验,防止软连接攻击或者提权攻击,如果校验后再打开文件操作,很容易被构造条件竞争攻击。因此较安全的方式是先将文件打开,然后再校验,校验不通过时关闭文件,打开文件后文件不可能再被修改。 常见文件相关攻击路径 OOM(Out of Memory): 角色: 所 阅读全文
posted @ 2022-11-21 14:43 易先讯 阅读(144) 评论(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 易先讯 阅读(153) 评论(0) 推荐(0)
摘要:1.构造方法 1.1 generate 1.2 构造方法如图 2. 传参数 3. 阅读全文
posted @ 2022-07-17 23:31 易先讯 阅读(32) 评论(0) 推荐(0)
摘要:1.用户实体和值对象 2. 要做的事 3.常见的四层模型 4.Domin层 5.值对象 阅读全文
posted @ 2022-07-17 17:18 易先讯 阅读(54) 评论(0) 推荐(0)
摘要:目录 引言: 1.巧妙包装gin.Context为NewContext 2 在使用gin.Use对每一个请求的Context进行组装 3 在路由绑定时解析出NewContext来为应用层函数提供参数,并且调用应用层函数 4 总结 引言:首先给臆造这样一个场景: 假设有web端,有众多用户需要从服务端 阅读全文
posted @ 2022-07-13 11:27 易先讯 阅读(737) 评论(0) 推荐(0)
摘要:一,概念 RPC:Remote procedure call(远程过程调用),分布式系统中不同节点之间流行的通信方式 服务端: 注: 1、执行下面的代码之后,会相应的启动一个tcp进程 C:\Users\lWX1011939>netstat -aon|findstr 1234 1234是代码中指定的 阅读全文
posted @ 2022-07-08 10:45 易先讯 阅读(203) 评论(0) 推荐(0)
摘要:在做内存分析时,用到了pprof,这里做一下部署介绍和入门级别的使用。 pprof是golang的性能工具,有两种交互方式:命令行交互和web交互,同时还支持性能分析数据的图形化展示。 部署pprof: 在我们的kubeedge代码的edgecore.go里,import导入两个包,再加入访问ppr 阅读全文
posted @ 2022-06-23 19:07 易先讯 阅读(342) 评论(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 易先讯 阅读(1140) 评论(0) 推荐(0)
摘要:大家好 今天为大家讲解的面试专题是: 闭包。 定义 闭包在计算机科学中的定义是:在函数内部引用了函数内部变量的函数。 看完定义后,我陷入了沉思...确实,如果之前没有接触过闭包或者对闭包不理解的话,这个定义着实有点让人上头。 下面让我们先看几个示例,在了解闭包的实际应用后,再去理解这个定义,就不会那 阅读全文
posted @ 2022-05-10 22:01 易先讯 阅读(121) 评论(0) 推荐(1)
摘要:问题1:什么是包装方法? 下面咱们来验证下包装方法的存在: 首先,定义一个Point类型,表示一维坐标系内的一个点,并且按照Go语言的风格为其实现了一个Get方法和一个Set方法。 package gom ​ type Point struct { x float64 } ​ func (p Poi 阅读全文
posted @ 2022-05-10 19:39 易先讯 阅读(176) 评论(0) 推荐(0)
摘要:附录: 其他书籍的介绍:https://github.com/golang/go/wiki/Books Go程序设计语言 (圣经) 作者 艾伦 A.A.多诺万 Kernighan 下载地址 中文版PDF 英文版PDF 在线网页中文版 网上介绍 Go语言是谷歌推出的一种全新的C语言风格的编程语言,可以 阅读全文
posted @ 2022-04-18 09:51 易先讯 阅读(784) 评论(0) 推荐(0)
摘要:你好,我是郝林。 在2019年的春节来临之际,我恰好也更新完了专栏所有的配图和思考题答案。希望这些可以帮助到你,在新的一年中,祝你新年快乐,Go语言学习之路更加顺利。 基础概念篇 1. Go语言在多个工作区中查找依赖包的时候是以怎样的顺序进行的? 答:你设置的环境变量GOPATH的值决定了这个顺序。 阅读全文
posted @ 2022-04-01 16:55 易先讯 阅读(172) 评论(0) 推荐(0)
摘要:你好,我是郝林。 专栏到这里,就要结束了。 差不多在半年以前(2018年的第二个季度),极客时间的总编辑郭蕾找到我,说想让我写一个关于Go语言的技术专栏。 我那时候还在轻松筹担任大数据负责人,管理着四个技术团队,每天都非常非常忙碌,看起来并没有多余的精力去写这么一个在时间和质量上都有着严格要求的专栏 阅读全文
posted @ 2022-04-01 16:53 易先讯 阅读(42) 评论(0) 推荐(0)
摘要:你好,我是郝林,今天我们继续分享程序性能分析基础的内容。 在上一篇文章中,我们围绕着“怎样让程序对CPU概要信息进行采样”这一问题进行了探讨,今天,我们再来一起看看它的拓展问题。 知识扩展 问题1:怎样设定内存概要信息的采样频率? 针对内存概要信息的采样会按照一定比例收集Go程序在运行期间的堆内存使 阅读全文
posted @ 2022-04-01 16:52 易先讯 阅读(75) 评论(0) 推荐(0)
摘要:有些时候因为效率问题部分代码会 使用Python调用go的编译生成动态链接库go 代码示例//add.gopackage main import "C" //export Addfunc Add(a, b int) int {return a + b} //export Addstrfunc Add 阅读全文
posted @ 2022-03-12 11:04 易先讯 阅读(476) 评论(0) 推荐(0)