使用tdd构建golang Web 应用(4)

前置说明 本文以及接下来的文章都是来自 https://quii.gitbook.io/learn-go-with-tests/ 这个系列文章的。 主要分析说明的部分是 Build An Application 部分。 这并不是原文的翻译,而是记录一些自己的东西。混合式笔记,实现书中代码,加上我的思考 正文开始 看到标题,问题就来了,前面的文件结构都是按照我以前的认知来构建的,不过 golang 的结构,和跟以往了解的 php 有一些区……

阅读全文

使用tdd构建golang Web 应用(3)

前置说明 本文以及接下来的文章都是来自 https://quii.gitbook.io/learn-go-with-tests/ 这个系列文章的。 主要分析说明的部分是 Build An Application 部分。 这并不是原文的翻译,而是记录一些自己的东西。混合式笔记,实现书中代码,加上我的思考 正文开始 又想到了问题,虽然后续有了集成测试,来测试 InMemoryPlayerStore 。但是在常规测试的时候呢,把测试分别存储到了 3 个不同的属性里……

阅读全文

使用tdd构建golang Web 应用(2)

前置说明 本文以及接下来的文章都是来自 https://quii.gitbook.io/learn-go-with-tests/ 这个系列文章的。 主要分析说明的部分是 Build An Application 部分。 这并不是原文的翻译,而是记录一些自己的东西。混合式笔记,实现书中代码,加上我的思考 正文开始 上一篇最后还留下了我的几个疑问,看看今天是否解开了。而且今天有了新的需求,新建一个 /league 的路径,返回所有玩家……

阅读全文

使用tdd构建golang Web 应用(1)

前置说明 本文以及接下来的文章都是来自 https://quii.gitbook.io/learn-go-with-tests/ 这个系列文章的。 主要分析说明的部分是 Build An Application 部分。 这并不是原文的翻译,而是记录一些自己的东西。混合式笔记,实现书中代码,加上我的思考 正文开始 我们要创建一个 HTTP 服务,用户可以追踪一个玩家获得胜利的数量。有两个接口 GET /player/{name} GET 请求 会返回传入玩家的胜利总数 POST……

阅读全文

聊聊 PHP 的 OPcache

前两天被问到了问题,关于 OPcache 我配置过有多少?当时简单的想了一下,貌似这个东西我没配置过几个,就说了调整了五六个选项。然后又大概说了一下这五六个都调整了什么,我就说了一下缓存时长,跳过文件,内存大小,文件数量什么的。因为自己印象里面貌似能记住的就这几个了,然后对方告诉我 OPcache 有 30 多个可调……

阅读全文

golang 代码生成

为什么要写这个 主要还是为了加深自己的理解。第一次接触代码生成的东西,这玩意原来也可以分为各种流派的。比如,用 template 来生成整个代码文件。比如用 stringer 来生成一些辅助方法啥的。注意这个 stringer 不是 https://pkg.go.dev/fmt#Stringer, 而是 https://pkg.go.dev/golang.org/x/tools/cmd/stringe……

阅读全文

聊聊近况

又是一个半月没有写东西,前一段一直在弄的算法相关的东西也一直在弄着,不过最近进度有些慢,外加从树开始写代码我觉得已经不是重点了重点是理解其思想(其实我不想说懒得写 + 写不出来)。 孩子出生以后心态有了些许变化,承担的东西也更多了,做事情也需要更谨慎。 最近又陷入了迷茫期,未来一片迷雾,……

阅读全文

跳表

跳表这个东西第一次接触还是在16年准备深入了解 redis 的时候才知道的,以前学数据结构和算法都是浅尝辄止的。 在2年前自己实现了一次,磕磕绊绊最终写完。 这次看算法的时候用 go 再次自己实现一次,还是有点慢,不过思路清晰多了。 这个东西让我面试肯定过不了,了解原理就够了,对于我来说 1 2 3 4 5 6 7 8……

阅读全文

快排和归并排序

代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 func quickSort(intArr []int) []int { if len(intArr) <= 1 { return intArr } val := intArr[0] var left []int var middle []int var right []int middle = append(middle, val) for i := 1; i < len(intArr); i++ { if intArr[i] > val { right = append(right, intArr[i]) } else if intArr[i] < val { left = append(left, intArr[i]) } else { middle = append(middle, intArr[i]) } } intArr = append(left, append(middle, right...)...) //return intArr left……

阅读全文

插入排序

最近在晚上会看一些算法的东西,最近可能看的比较细外加笔记做得很好。所以弄得比较踏实。 看到排序部分了,插入、冒泡和选择排序,冒泡和选择自己写的比较多,插入排序几乎没怎么写。 所以今晚就自己实现了一份插入排序,写了二十几分钟,陌生的东西写的比较慢,另一个问题是应该提前用笔纸写写画画的,……

阅读全文