2025-04-26 11:39:39 +08:00
|
|
|
|
# go18
|
|
|
|
|
|
|
|
|
|
|
|
课件的地址: https://gitee.com/infraboard/go-course/blob/master/v2.md#%E9%A1%B9%E7%9B%AE%E8%AF%BE
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 开发语言
|
|
|
|
|
|
|
|
|
|
|
|
1. 无数据结构解释型: Bash(没有数据结构), 简单的任务, 不适合做 API集成, 工作当中的提效工具(个人话)
|
|
|
|
|
|
2. 动态解释型: 脚本执行引擎(解释器): PHP, Python, Javascript, Lua, Perl, Ruby,Grovy 可以做项目, 逻辑简单的小型项目, 简单API任务的处理(高级脚本)
|
|
|
|
|
|
3. 静态解释型(gc): 大型运行时: Java, C# 大型项目(业务开发的主流, 框架成熟)
|
|
|
|
|
|
4. 静态编译型(gc): Go, 仓颉 (LLVM)
|
|
|
|
|
|
5. 静态编译型(不带gc):C, C++, Zig, Rust, Swift
|
|
|
|
|
|
|
|
|
|
|
|
程序设计:
|
|
|
|
|
|
1. 需求收集,具体问题分析, 给出具体的解
|
|
|
|
|
|
2. 问题抽象,建立这类问题的 通用解决模型(程序设计)
|
|
|
|
|
|
3. 架构与实现
|
|
|
|
|
|
|
|
|
|
|
|
## 关于项目 项目课整体介绍(16天)
|
|
|
|
|
|
|
|
|
|
|
|
+ Book Api Server
|
|
|
|
|
|
+ 用户中心
|
|
|
|
|
|
+ 应用中心
|
|
|
|
|
|
+ 审计中心
|
|
|
|
|
|
+ 资源中心(CMDB)
|
|
|
|
|
|
+ 发布中心
|
|
|
|
|
|
+ 应用流水线
|
|
|
|
|
|
|
|
|
|
|
|
## 项目课要求与注意事项,以及课件使用方式
|
|
|
|
|
|
|
|
|
|
|
|
项目课的环境: mac/linux, windows
|
|
|
|
|
|
+ go1.24.1
|
|
|
|
|
|
+ vscode
|
|
|
|
|
|
+ 我很多操作是在命令行
|
|
|
|
|
|
|
|
|
|
|
|
注意事项:
|
|
|
|
|
|
+ 代码要自己一行一行的写,不要copy代码, 如何学会排除问题,才是开发的起步
|
|
|
|
|
|
+ 思维的转变, 不怕报错,认真查看报错原因, 节奏AI工具帮忙分析: 程序一次写完,能正常运行是巧合,一运行 就报错 这才是正常情况
|
|
|
|
|
|
+ 持之以恒, 每天都写一点, 如果时间不够,写一个函数或者少写,程序开发 是吃熟练读的工作, 程序开发 是偏实践,需要大量练习
|
|
|
|
|
|
+ 项目里面 添加自己的文档和思考, 也会查阅 周边资料,都是你回顾的重要途径
|
|
|
|
|
|
+ 如何在群里面问项目相关的问题? 最后提出 项目的代码链接
|
|
|
|
|
|
|
|
|
|
|
|
关于项目的作业:
|
|
|
|
|
|
+ 创建一个自己的代码仓库: github/gitee, 要public, 然后给到我, 同学们相互参考
|
|
|
|
|
|
+ 作业评分(完成程度, 自己的思考(文档), 是否自己有扩展实现, 是否有demo), 成绩优秀者 有奖品
|
|
|
|
|
|
|
2025-04-26 12:03:45 +08:00
|
|
|
|
项目仓库使用方式:
|
2025-04-26 11:39:39 +08:00
|
|
|
|
+ 每一小节 打一个tag, 更加tag 来看 视频章节的代码
|
2025-04-26 11:41:43 +08:00
|
|
|
|
+ 可以随时浏览 项目代码,加深理解 (不要等到有环境的时候才开始看代码)
|
2025-04-26 12:03:45 +08:00
|
|
|
|
+ 程序中所有的项目都会放到 这个仓库, 这是为了方便你们好找项目代码,如果是自己做项目,就自己一个项目一个仓库,这才是企业里面的主流方式
|
|
|
|
|
|
|
2025-04-26 15:58:40 +08:00
|
|
|
|
整个Go18 是一个工程, 里面示例代码 分为多模块
|
|
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
|
# 你的这个包, 就能直接被 外部通过import使用
|
|
|
|
|
|
go mod init "122.51.31.227/go-course/go18"
|
|
|
|
|
|
|
|
|
|
|
|
# go mod init go18
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2025-09-27 16:28:42 +08:00
|
|
|
|
本[项目代码](http://122.51.31.227:3000/go-course/go18)
|
|
|
|
|
|
|
2025-04-26 11:39:39 +08:00
|
|
|
|
|
|
|
|
|
|
## Gin + GORM 开发简单的Book API Server
|
|
|
|
|
|
|
|
|
|
|
|
从写脚本开始 与 学会合理使用包来组织你的项目工程
|
2025-09-27 16:28:42 +08:00
|
|
|
|
|
2025-12-27 21:07:54 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## GO18期更新点
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. RPC部分 新增JSON RPC的封装
|
|
|
|
|
|
1. JSON RPC详情介绍
|
|
|
|
|
|
2. JSON RPC 封装
|
|
|
|
|
|
3. 基于JSON RPC的RPC服务端和客户端实现
|
|
|
|
|
|
2. 新增消息总线模块
|
|
|
|
|
|
1. 消息总线的整体设计与介绍
|
|
|
|
|
|
2. 消息总线 支持 Kafka, RabbitMQ, Nats
|
|
|
|
|
|
3. 基于Kafka和RabbitMQ的消息总线实现
|
|
|
|
|
|
3. DevOps平台全新UI设计与实现
|
|
|
|
|
|
1. 基于DevOps的平台UI框架介绍与实现
|
|
|
|
|
|
2. 多模块系统的重构与升级
|
|
|
|
|
|
3. 应用服务树的设计与实现
|
|
|
|
|
|
4. CMDB系统开发模块升级
|
|
|
|
|
|
1. 新增任务调度执行模块, 完成任务的调度与执行
|
|
|
|
|
|
2. 基于任务调度模块重构 资产同步的逻辑
|
|
|
|
|
|
5. 审计系统开发模块升级
|
|
|
|
|
|
1. 基于消息总线的 重构审计系统的 事件发生和订阅逻辑
|
|
|
|
|
|
6. k8s operator开发模块升级
|
|
|
|
|
|
1. 升级到最新版本,默认支持v4
|
|
|
|
|
|
2. 支持指定namespace的资源同步
|
|
|
|
|
|
3. 支持指定wroker节点数量,改善并发同步效率
|
|
|
|
|
|
|