golang SQL 优化 使用SQL生成器
为啥不用ORM?
使用ORM的好处显而易见,能够自动帮我们处理好面向对象和数据库之间的映射
但是目前的ORM有个明显问题,要么使用复杂,要么导致服务器崩溃(内存占用高或者频繁 GC)
使用sqlx + squirrel
- sqlx 用法入门 [https://github.com/jmoiron/sqlx/blob/master/sqlx_test.go]
- squirrel 用法参见库里面的测试用例 https://github.com/Masterminds/squirrel
快速例子插入数据
startship 命令行皮肤插件使用
介绍
Starship 是由 rust 编写的命令行主题,跨平台,简单高效、容易配置
安装
字体问题
使用主题可以提升使用的体验,但是需要额外的字体支持,不配置字体会出现乱码显示
下载字体 https://www.nerdfonts.com/font-downloads 选择字体在分辨
|1lLiIoO08A这种易混淆的情况下好区分的推荐 字体
Source Code Prodownload link v3.0.2喜欢尝试的 推荐字体
mononoki Nerd Font,非等宽字体,同屏内容会更多 download link v3.0.2
MacOS 安装 oh-my-zsh autojump
oh-my-zsh 介绍
oh-my-zsh 是基于zsh的功能做了一个扩展,方便的插件管理、主题自定义,以及漂亮的自动完成效果
安装 zsh
macOS 系统 10.15 开始,默认就是 zsh 不需要重复安装
查看zsh版本
golang 内存池sync.pool使用及如何降低IO密集应用的GC频率
在go语言的世界里,内存池有两种
- 一种是官方的 sync.pool 临时对象池
- 另一种是利用 channel实现的自定义内存池
下面将首先介绍这两种内存池的特点
标准库sync.pool
用法很简单,如下所示:
python pyenv 使用
安装前检查
建议安装依赖 设置 pyenv 的环境https://github.com/pyenv/pyenv/wiki#suggested-build-environment
安装前需要安装依赖