Go框架三件套——Web/RPC/ORM | 青训营笔记

218 阅读3分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 6 天

今天我学习了Go录播课的“Go框架三件套详解(Web/RPC/ORM)”,录播视频总时长大约120分钟,我通过学习本节课程,将前面所学的内容串联到项目中总体上复习了一遍,并且掌握了Hertz、Kitex、Gorm的基本用法。

一、本堂课重点内容:

  • 本堂课的知识要点有哪些?
  1. Gorm是一个已经迭代了十年多的功能强大的ORM框架
  2. Kitex是字节内部的Golang微服务RPC框架
  3. Hertz是字节内部的HTTP框架

二、详细知识点介绍:

  • 本堂课介绍了哪些知识点?
  1. Gorm可以提交事务,增删改查操作数据
  2. Kitex可以注册服务,然后生成代码
  3. Hertz可以建立路由,然后生成代码
  4. 更多精彩内容尽在框架官方文档:www.cloudwego.io/

三、实践练习例子:

  • 有什么实践举例帮助理解知识点?
    这里需要感谢掘金团队学习手册中让我们下载下来的一个学习项目,用于新手在学习Hertz的使用当中对于工具的学习理解,如果有后来人也可以就此拉取Git项目:
    github.com/cloudwego/h… (以上是Hertz新手任务的地址)
    此外还有在实战环节,笔记服务项目的地址:

四、课后个人总结:

  • 本章有什么知识点不容易掌握?
    可能Hertz的代码设计不太好掌握吧,课后学习团队为此还专门为我们发了一套完整的博客,介绍了字节跳动开源 Go HTTP 框架 Hertz 的项目起源、架构设计、功能特性以及性能表现:www.cloudwego.io/zh/blog/202…
  • 什么地方容易与其他内容混淆?
    可能接下来我要说的内容不是本次的核心知识点,但是我还是想说一下这件事情:感觉很多人连框架和架构是什么都搞不清,拿着框架当架构。作为一个软件工程人表示这真的是令人血压升高…
    • 什么是架构?
      一个系统在其所处环境中所具备的各种基本概念和属性,具体体现为其所包含的各个元素,元素之间的关系以及架构的设计和演进原则。
      架构是针对某种特定目标系统的具有体系性的、普遍性的问题而提供的通用解决方案。
      架构往往是对复杂系统的一种共性的体系抽象。
    • 什么是框架?
      框架是一个框子——指其约束性,也是一个架子——指其支撑性。
      它是一个基本概念上的结构,用于去解决或者处理复杂的问题。
    二者的区别在IT领域,简而言之——框架就是软件,架构不是软件。
    框架并不能提供完整的解决方案,他像是一种特殊的软件,它的服务中会被应用直接调用,为构建解决方案提供良好的基础。
    架构则是关于软件如何设计的策略,是比具体代码高一个抽象层的概念。

五、引用参考:

  • 我参考了哪些外部博客/笔记/文章?
    我参考了掘金录播课中的“Go框架三件套详解(Web/RPC/ORM)”,也就是此次掘金内部课程:
    live.juejin.cn/4354/989924…
    另外还参考了Foxtail-Grass Studio的专辑封面,作为此次笔记的封面
  • 文章中有什么地方是我参考引用了外部博客/笔记/文章的?
    主要是课程的主要知识点总结,采用了一边阅读课件一边记录的方式进行了个人的一些学习总结。