Kretech

在 Go 里用 reflect 和 ast 实现动态特征

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

HttpClient 的几个点

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

关于日志的几个想法

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

整理一套 Go 的轮子

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

Redis 学习笔记

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

Laravel Eloquent whereHas 的一个优化

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

好用的 Cache API

迁移自简书,格式可能未经校对。 最近看到了几种加缓存的方法,整理对比一下。 拿一个case来说,我们要去数据库取一条用户记录,迫于性能,还要加一

Laravel 学习路线

迁移自简书,格式可能未经校对。 入门 官方文档 英文 中文 深入理解 《From Apprentice To Artisan》 讲Laravel内部设计的小册子,能帮你了解lara

Laravel ORM 模块图

迁移自简书,格式可能未经校对。 还会更新,只是懒得整理,先堆这里了 PlatUML 代码: @startuml ' 底层驱动部分 class DatabaseManager{ connection() factory的大脑 } class ConnectionFactory{ newConnection() } interface Connection { defaultBuilder defaultGrammar defaultProcesser run() //

理想的数据库操作库

ORM 于创业项目快速迭代的重要性不言而喻。我也一直在不停地寻找更好的方案。 造了个轮子:Loulan-java 市面上有些不错的 orm 框架,诸如 Lara