Golang
文章平均质量分 78
crazyhl
这个作者很懒,什么都没留下…
展开
-
使用tdd构建golang Web 应用(5)最终篇
前置说明本文以及接下来的文章都是来自 https://quii.gitbook.io/learn-go-with-tests/ 这个系列文章的。主要分析说明的部分是 Build An Application 部分。这并不是原文的翻译,而是记录一些自己的东西。混合式笔记,实现书中代码,加上我的思考正文开始从这篇文章开始,就加上了规则部分,大家可自己看看,我读的有点晕,先假装理解了规则好了。无非就是盲注以及时长相关。先从测试盲注提醒开始。t.Run("it schedules printing o原创 2021-10-08 09:33:59 · 151 阅读 · 0 评论 -
使用tdd构建golang Web 应用(4)
前置说明本文以及接下来的文章都是来自 https://quii.gitbook.io/learn-go-with-tests/ 这个系列文章的。主要分析说明的部分是 Build An Application 部分。这并不是原文的翻译,而是记录一些自己的东西。混合式笔记,实现书中代码,加上我的思考正文开始看到标题,问题就来了,前面的文件结构都是按照我以前的认知来构建的,不过 golang 的结构,和跟以往了解的 php 有一些区别,虽然看了一些 golang 的结构,但是感觉使用起来不是很顺手。正好原创 2021-10-04 15:10:31 · 147 阅读 · 0 评论 -
使用tdd构建golang Web 应用(3)
前置说明本文以及接下来的文章都是来自 https://quii.gitbook.io/learn-go-with-tests/ 这个系列文章的。主要分析说明的部分是 Build An Application 部分。这并不是原文的翻译,而是记录一些自己的东西。混合式笔记,实现书中代码,加上我的思考正文开始又想到了问题,虽然后续有了集成测试,来测试 InMemoryPlayerStore 。但是在常规测试的时候呢,把测试分别存储到了 3 个不同的属性里面。为什么在测试的时候不这样操作呢?难道这样会跟继原创 2021-10-03 10:01:17 · 133 阅读 · 0 评论 -
使用tdd构建golang Web 应用(2)
前置说明本文以及接下来的文章都是来自 https://quii.gitbook.io/learn-go-with-tests/ 这个系列文章的。主要分析说明的部分是 Build An Application 部分。这并不是原文的翻译,而是记录一些自己的东西。混合式笔记,实现书中代码,加上我的思考正文开始上一篇最后还留下了我的几个疑问,看看今天是否解开了。而且今天有了新的需求,新建一个 /league 的路径,返回所有玩家列表,并且返回 JSON。从测试开始吧。func TestLeague(t原创 2021-10-02 08:28:57 · 124 阅读 · 0 评论 -
使用tdd构建golang Web 应用(1)
前置说明本文以及接下来的文章都是来自 https://quii.gitbook.io/learn-go-with-tests/ 这个系列文章的。主要分析说明的部分是 Build An Application 部分。这并不是原文的翻译,而是记录一些自己的东西。混合式笔记,实现书中代码,加上我的思考正文开始我们要创建一个 HTTP 服务,用户可以追踪一个玩家获得胜利的数量。有两个接口GET /player/{name} GET 请求 会返回传入玩家的胜利总数POST /player/{name}原创 2021-10-01 10:33:54 · 208 阅读 · 0 评论 -
golang grpc 开发流程
golang grpc 开发流程定义 proto 文件开发 server 端开发 clientdemoserverclient定义 proto 文件这个部分就参照文档定义吧,总之记住一个个人认为最重要的点就是,别删。不用了注释掉,也别删,留个记录啥的,以免序号乱了。生成对应语言的文件开发 server 端定义结构体,包含上面生成代码中的 UnimplementedXXXServer 紧接着,实现各种方法。设置网络监听的 ip 端口初始化 grpc 服务器注册 server启动服务开发原创 2021-09-04 19:16:07 · 138 阅读 · 0 评论 -
golang 代码生成
目录为什么要写这个先说说 `stringer`再说说 `template`写在正文之后为什么要写这个主要还是为了加深自己的理解。第一次接触代码生成的东西,这玩意原来也可以分为各种流派的。比如,用 template 来生成整个代码文件。比如用 stringer 来生成一些辅助方法啥的。注意这个 stringer 不是 https://pkg.go.dev/fmt#Stringer, 而是 https://pkg.go.dev/golang.org/x/tools/cmd/stringer。不得不说,咱们国原创 2021-09-04 14:30:10 · 1368 阅读 · 0 评论 -
设计模式系列-监听模式
先说点什么设计模式以前也看过,但大都走马观花。最近也是巧,发现了一本书 《人人都懂设计模式》,简单翻了几页,觉得我能开心的读进去,并且我也觉得我到了可以思考设计模式的时候了。在以前,经验比较少,一些场景没接触过,也没法感同身受的思考为什么要这么设计?有时候明明把代码弄得层次多了更复杂了,读起来也麻烦了。为什么还要搞这么个东西呢?随着经验的增多,更多的理解了折中取舍,为了系统的稳定,为了将来开发的更舒爽,一些初期的痛也是要承受的。所以,开始了 设计模式。Let’s do it。什么是监听模式Defin原创 2020-09-03 21:00:05 · 577 阅读 · 0 评论 -
跳表 Golang 实现
前言第一次接触跳表就是在 16 年的时候,那时候看《Redis 设计与实现》了解到了跳表,当时还参考了其他的代码用 php 实现了一份。这次巧了,又一次是看 redis 相关的东西又一次看到了跳表,于是我就找以前的代码,可是找不到了,那么干脆就在实现一次好了目标由于之前是参考代码,我觉得理解的并不是很深,尤其是为什么要用那些属性,为什么没有就不行呢?所以这次我参考了比较偏理论的文章 跳表──没听过但很犀利的数据结构,没有任何代码,事后全部靠自己思考来实现出来。Let’s Go先来个图如果是自原创 2020-08-26 14:25:29 · 862 阅读 · 0 评论