Posts

大概从小开始就没有时间观念,毕竟穷人的时间不值钱。上学时经常通宵敲代码,除了兴趣外,也有时间管不好的原因:大不了拖到晚上搞。最后就一直成了习

之前遇到了很多 timeout,但是仔细看错误提示好像不完全一样,于是就做了个简单的试验: Client 上看到的错误 找不到服务器(no such host)的几种情

先说下标题,所谓独立推项目跟之前的推项目(最多只能叫跟项目)区别在哪里。 跟项目 推项目 项目来源 主版本的大项目,分了一小块给我来跟 由我向上面发起

Go 让人吐槽的点之一就是动态特性低,比如不支持泛型、反射鸡肋等等。所以长期以来一直觉得搞一些动态功能是一件很酷的事情。 这里主要做了两件事: 运行

先说说背景,为什么MacBook还在吃灰,又开始折腾Linux Desktop了 家里组了台PC,只打游戏太浪费,且实在搞不定windows写代

今年接手了一个新项目,不算vendor包,大概6W行代码,接的时候信心满满准备大干一场。结果半年内线上出了100多个bug。 粗糙统计下,80

最开始的项目目录 $ tree . ├── ./api/ ├── ./service/ ├── ./dao/ ├── ./model/ ├── main.go func main(){ flag.Parse() artemis := NewArtemis(flag.String(`config`)) // artemis 是我们的框架,类似beego log.init() service.init() dao.init() worker.init() api.Route(artemis.Router) artemis.Run() } 写个测试吧 packege dao func TestGetNote(t *testing.T){

原以为浮点数是计算机编程的基础知识,后来发现个奇怪的现象:很多人都说浮点很坑,千万不要用,至于为什么却说不出个所以然。更有甚者,以专业民科的

空指针异常 NPE 在所有编程语言里都是个很麻烦的事情,Go 在设计之初已经在尽力减少 null 的使用范围。但是由于 Go 刻意隐藏了值和引用的概念,使得很多新手在

缘起 写代码里有个绕不开的话题就是如何写构造函数 Java 里有 JavaBean 作为标准,空构造参数 + 自定义的 setter C++ 里靠重载实现任意场景的构造 Python 里可以可以支持传你需要的

起因是因为犯懒,随手在一个函数体内定义一个类型 func foo() { type Article = map[string]interface{} } 看起来好像也很正常,突然有一天在 gowatch 的控制台里看到了 runtime: goroutine stack exceeds 1000000000-byte limit fatal error: stack overflow runtime stack: runtime.throw(0x1a556a1, 0xe)

项目逐渐都切到了 go mod,用的时候遇到了各种奇奇怪怪的坑,记录一下。 流程实践 语义化版本 Go mod 在设计时没有支持诸如 >2.0, ~3.4, ^4.0 这样场景的语法。而是以语

迁移自简书,格式可能未经校对。 事件经过: 收到反馈测试环境某个服务打开 swagger ,进程会卡死 根据经验,初步判定是有死循环。 在本地启动该服务,打开 swagger ,发

[TOC] 背景 最近想写一些简单的非技术文章,希望能给其他行业的说明白计算机所能和所不能,方便大家用好计算机这个工具。 为什么数据都有了,但是不让我查询

以前在引入第三包的时候,为了兼容性和定制扩展的考虑,一般会浅浅地封装一层。自从入了 Go 坑,发现连标准库也得小心再小心了。 decode(map) 之后 int 会变成 float64 思考一

迁移自简书,格式可能未经校对。 越来越多的应用里需要依赖大量的对外请求(内部服务或第三方平台)。但是很多的 client 只有基本的请求,这在复杂的场景里根

迁移自简书,格式可能未经校对。 场景还原 先说个场景: APP上某个操作出现了 系统异常。错误码:abc012,我们收到错误码之后,可以一次性查出这

迁移自简书,格式可能未经校对。 Github:https://github.com/Kretech/xgo 缘起是因为 Go 的很多语法太啰嗦,也许 Go

迁移自简书,格式可能未经校对。 这里只会记录在学习 Redis 源码时觉得比较好玩的地方,不会一五一十的讲细节。 内存分配 zmalloc 在实际 malloc 到的内存前面加一个 size 。 void

迁移自简书,格式可能未经校对。 用 Laravel 很久了,whereHas 简直是连表大杀器,本来需要写大量 SQL 的查询用 whereHas 都可以很快的实现。不过在一些场景里,遇