01 2023 档案
Day8 规则引擎 | 青训营笔记
摘要:这是我参与「第五届青训营」伴学笔记创作活动的第 8 天 编译原理 词法分析 词法分析就是将代码字符串转换为词法单元的过程 如何识别Token? 有限自动机是一个状态机,他的状态数量是有限的,该状态机在任何一个状态,基于输入的字符都可以做一个确定的状态转换 语法分析 在词法分析的基础上,识别表达式的语
Day7 gorm dao的使用 | 青训营笔记
摘要:这是我参与「第五届青训营 」伴学笔记创作活动的第 7 天 gorm/gen是一个没有依赖关系的生成工具,可以用于从数据库生成结构 它具有以下特點 簡單,並且可以生成動態可重用的sql 100%类型安全DAO API,无interface{} 数据库结构遵循GORM惯例 GORM底层,支持GORM支持
Day6 kitex-hertz代码生成工具的使用 | 青训营笔记
摘要:这是我参与「第五届青训营 」伴学笔记创作活动的第 6 天 安装代码生成工具 go install github.com/cloudwego/hertz/cmd/hz@latest go install github.com/cloudwego/kitex/tool/cmd/kitex@latest
Day5 go内存管理优化 | 青训营笔记
摘要:这是我参与「第五届青训营 」伴学笔记创作活动的第 5 天 性能优化 性能优化可以从两个层面分析 业务层优化 针对特定场景,具体问题具体分析 语言运行时优化 解决更通用(整体业务)的性能问题 需要考虑更多场景 权衡需要被优化的场景 而以上两个层面的优化都需要靠数据驱动去优化 数据驱动 使用pprof等
Day4 使用grpc-gateway构建微服务网关 | 青训营笔记
摘要:这是我参与「第五届青训营 」伴学笔记创作活动的第 4 天 进行微服务开发的时候会用到网关服务,而原生自己实现一个网关服务会显得费时费力,grpc官方提供了一个网关服务插件grpc-gateway 使用这个插件可以像生成grpc服务一样生成网关服务,同时它还支持生成openapi,这样就可以轻松集成s
golang实现set
摘要:golang没有原生的set 要实现set可以使用map来简易实现 定义一个Set可以这么定义 type Set[T comparable] struct { set map[T]struct{} } 为什么map的值类型用struct{}? 因为struct{}不占内存 package main
Day3 pprof性能調優筆記 | 青训营笔记
摘要:这是我参与「第五届青训营 」伴学笔记创作活动的第 3 天 什麼是pprof? pprof是一個go自帶的性能分析工具,可以對運行的服務進行數據採樣,然後開發者可以就採樣的數據對程序的cpu佔用、內存佔用等資源消耗情況進行直觀的分析 如何啓用pprof? 在入口文件main.go的import列表中加
Day2 golang測試的基礎使用 | 青训营笔记
摘要:这是我参与「第五届青训营 」伴学笔记创作活动的第 2 天 單元測試 基礎使用 所有測試文件的文件名以_test.go結尾 測試函數的名稱格式爲func TestXxx(*testing.T) 初始化的邏輯可以放到TestMain中 TestMain的聲明方式如下 func TestMain(m *t
Day1 golang基础语法实战案例 | 青训营笔记
摘要:这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天 猜谜游戏 流程为 生成一个数字作为答案 获取用户输入的字符并转换为数字 比较答案和用户输入的数字的值,如果相等则结束游戏,否则继续让用户输入 这个流程中要对用户的输入做错误处理,因为用户输入的值并不总是正确的 首先是随机数的生成部分 使用如下