- 博客(71)
- 收藏
- 关注
原创 ChatGPT初学者最佳实践
其实使用ChatGPT没有什么密码可言,最重要的是对需求的描述,如果你平时能对自己的目标比较清晰,能够准确描述自己的需求,则ChatGPT会让你如鱼得水,而反之,如果你只是将ChatGPT理解成普通的问答机器人,那么你可能会觉得这个工具对你的帮助并不大。这些技巧是对初次使用ChatGPT用户的一些建议,我相信随着使用的熟练,你能在更多的实践中总结出更多的技巧来提高工作效率。我们不必神话ChatGPT可能产生的颠覆性,对于普通人来说,将工具为我所用,不被时代的洪流淘汰才是硬道理。本文由博客一文多发平台。
2023-05-17 19:16:03
768
1
原创 云原生灾备产品HyperBDR自动化测试实践
本文从云原生灾备产品HyperBDR测试遇到的痛点触发进行详细分析,根据自身需求,总结出自动化测试需求,利用Terraform和Python开发出符合自身需求的自动化测试工具集。
2023-02-07 08:00:00
241
原创 7.4 Go语言中并发运行数量
自 Go 1.5 开始,Go的GOMAXPROCS 默认值已经设置为CPU的核数,这允许我们的Golang程序充分使用机器的每一个 CPU, 最大程度的提高我们程序的并发性能。Golang的调度器采用M-P-G。更多详细的原理部分,请查阅参考文档,在一些特定场景下(例如容器),可能会遇到与并发量有关的问题,需要合理的对参数进行设定。通过设置GOMAXPROCS环境变量可以控制P的数量。来看下程序中通过runtime获取该变量。
2023-01-31 08:00:00
48
原创 7.3 Go语言中通过WaitGroup控制并发
Channel能够很好的帮助我们控制并发,但是在开发习惯上与显示的表达不太相同,所以在Go语言中可以利用sync包中的WaitGroup实现并发控制,更加直观。如果不想在函数中传递WaitGroup,也可以采用以下这种方式,通过并发匿名函数的方式,在主函数逻辑中对并发进行精准控制。WaitGroup传入给函数时,需要以指针方式传递,否则会造成Deadlock。我们将之前的示例加以改造,引入sync.WaitGroup来实现并发控制。
2023-01-30 08:00:00
59
原创 8.1 Go语言中文件操作
os包提供了处理文件的API接口,遵循Unix标准,平台无关,所有操作系统都可以使用。错误处理上是Go语言独有的,失败时,返回的是错误类型而非系统错误编号,对于调试很有帮助。和其他语言类似,读取文件主要使用Open, Read等函数,文件处理最底层是基于原始字节的,在这个抽象之上,可以进一步构建更方便的接口。我们尝试使用一个文件拷贝的样例,来学习写入的方式,这里除了刚才使用的os包,还是用了io包,最终将显示一共拷贝了多少字节。改代码执行后将生成一个为空的sample.txt文件。
2023-01-29 17:06:00
298
原创 7.2 什么是Go语言中的管道Channel
为了解决与Groutines间的通讯问题,Go中提供给了管道Channel。Channel有点像是Linux系统的双向通讯管道,既可以发送消息,也可以接受消息。管道需要明确处理的数据类型,也就是在声明管道时必须还要声明类型。})
2023-01-29 08:00:00
155
原创 7.1 Go语言中什么是Goroutines
程序运行后,虽然mian函数和ready函数中都print了开始执行的语句,但是很明显,在Goroutine内的函数并没有执行完成。所以我们为了更精准的控制Goroutine的并发,需要使用Channel进行控制。我们再通过这个例子看一下,这个例子中,main函数需要等待2秒,而Goroutine内执行的函数则需要等待5秒。上面的示例中,我们在主函数刻意的等待了3秒,如果没有这3秒会发生什么呢?与普通函数类似,我们调用Goroutines时只需要在函数前加上go关键字。
2023-01-28 08:00:00
25
原创 从Notion迁移至语雀的图片问题
从2013年创业开始,一直在寻求一款团队内部的知识共享平台,从早期自建Mediawiki、Remine再到后来的Teakki,几经辗转,最后终于将全部的知识共享移动到语雀上,目前语雀的功能几乎满足了团队协作中的全部需求,从最基本的基于Markdown文档共享、编辑、历史版本,再到PlantUML时序图绘制能力,再到画板,完美覆盖了原有全部知识体系软件的功能。第六,此时你应该可以在浏览器中看到完整的文档,你需要做的需要全选后复制,直接粘贴到你语雀的文档后,图片就会正常的显示了。
2022-11-28 10:19:43
499
原创 6.4 Go语言中的空接口
空接口即interface{},也就是其中并没有对任务方法进行描述,既然没有约束,那么任务对象都满足空接口,简言之,空接口就是通配符。
2022-11-26 09:49:55
35
原创 6.4 Go语言中的空接口
空接口即interface{},也就是其中并没有对任务方法进行描述,既然没有约束,那么任务对象都满足空接口,简言之,空接口就是通配符。
2022-11-26 09:47:20
46
原创 6.1 Go语言中接口使用样例
正如前文提到,Go语言并没有类的定义,接口可以说Go语言最接近于类的实现方式,但是更轻量。对于接口的学习,如果从原理层面理解学习起来比较慢,所以建议先从代码使用维度进行理解,最终回归到原理层面加深理解。
2022-11-23 20:00:00
228
原创 5.3 Go语言中构造函数与复合声明(Constructors and composite literals)
本节将重点介绍构造函数和复合声明的使用方法
2022-07-27 08:00:00
144
原创 5.1 Go语言中的指针
从本节开始讲进入Go语言的进阶课程。Go语言中仍然有指针,但是没有指针运算,所以不同于C语言指针,更像是引用。Go语言调用函数时,是传递的值,所以为了提高效率,仍然保留指针。
2022-07-25 21:41:17
254
原创 3.8 Go语言中函数可变参数(Variadic Parameter)
我们经常在Go中看到这种方式,首先三个点的英文是Ellipsis,翻译成中文叫做“省略”,可能各位看到这个词就比较好理解三个点的作用了。在不同的位置上有不同的作用,比如在上述数组的定义中,省略了数组长度的声明,而是根据数组初始化值来决定。在Go语言中,也有类似的实现方式,只不过Go中只能实现类似*args的数组方式,而无法实现**kwargs的方式。在Python中,在函数参数不确定数量的情况下,可以使用如下方式动态在函数内获取参数,args实质上是一个list,而kwargs是一个dict。...
2022-07-16 20:00:00
235
原创 3.7 Go语言中的异常处理(Panic和recovering)
本节主要讲解Go语言中的异常处理,Go语言中并没有try...catch机制,需要通过panic()和recover()机制实现。
2022-07-13 08:00:00
363
原创 2.10 Go语言中的注释、关键字、内置函数和操作符
本节主要讲解Go语言基础知识中的注释、关键字、内置函数和操作符的知识,适当记忆就可以,如果忘了回来查查就好。
2022-07-04 12:00:00
74
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人