gin 框架:3 中间件使用
1 中间件介绍 中间件就是当用户请求还没有到达路由时需要执行的代码块,我们就可以理解为是中间件 package main import ( "fmt" "github.com/gin-gonic/gin" ) func main() { // 1.实例化引擎 r := gin.Default() // 中间件…
GORM 框架:3 多对多表
3 多对多表 多对多 所谓的多对多就是在我们的多张表中会有一些关联关系。双向的一对多就直接可以理解为多对多,双向一对多需要第三张表来进行表示 Many to Many 会在两个 model 中添加一张连接表。 例如,您的应用包含了 user 和 language,且一个 user 可以说多种 language,多个 user 也可以说一种 lang…
GORM 框架:2 一对多表
2 一对多表 https://gorm.io/zh_CN/docs/has_many.html GORM 定义一个 gorm.Model 结构体,其包括字段 ID、CreatedAt、UpdatedAt、DeletedAt // gorm.Model 的定义,因为在 gorm.Model 中的这几个字段都是数据库中常用字段 type Model s…
namespace delete 操作触发告警 Exporter 开发
1 前言 由于现在云原生场景愈发的多所以必不可少的就需要 Prometheus 等开源监控工具来进行对监控,虽然很多第三方的 exporter 都能对大部分组件进行更好的监控,但是由于最近公司误删除了一个 NS 却没有及时的告警,导致近 10 小时数据丢失(因为 etcd 的数据备份有近 10 小时的空档期),所以为了及时避免损失我们需要做出尽快的…
HTTP 框架 — Hertz 之源码解读:① Engine 才是核心
HTTP 框架 — Hertz 前言 在这个以云原生为技术支撑的背景下,各个公司都开源了自己的微服务框架或者产品,如耳熟能详的 istio、envoy 、kratos、go-zero 等。 当然字节跳动也不会落下对微服务领域的探索与研究,这不前段时间就开源了 超大规模的企业级微服务 HTTP 框架 — Hertz 1 什么是 Hertz 官方 Gi…
GORM 框架:1 GORM-v3 基本使用
1 GORM 入门 当我们学习一个新东西的时候如何快熟入门有以下几个步骤 1.1 什么是 ORM orm 是一种理念而不是软件 orm英文全称object relational mapping ,就是 对象映射关系 程序 简单来说类似python这种面向对象的程序来说一切皆对象,但是我们使用的数据库却都是关系型的 为了保证一致的使用习惯,通过 or…
gin 框架:2 Gin 基本使用-基础篇
2 Gin 基本使用-基础篇 2.1 路由与传参 2.1.1 无参路由 所谓的无参路由最主要的区别就是将处理函数单独拿出来 package main import ( "fmt" "github.com/gin-gonic/gin" ) // 将处理函数 handler 单独拆分开 // 无参数路由 func…
gin 框架:1 框架介绍以及部分源码介绍
gin 框架 1 简介 Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点 对于golang而言,web框架的依赖要远比Python,Java之类的要小。自身的net/http足够简单,性能也非常不错 借助框架开发,不仅可以省去很多常用的封装带来的时间,也有助于团队的编码风格和形成规范 1.1…
GO 从 0 到 1 系列:17 web 开发
[TOC] web 开发 HTTP(超文本传输协议) 规定了客户端和服务器端的请求和响应,所有的服务器端接收的数据和响应都是 HTTP 协议。和语言没有关系 HTTP 协议是访问互联网使用的核心通信协议,也是所有 web 应用程序使用的通信协议 对于 HTTP 协议的消息模型:客户端发送请求消息,服务器端返回响应消息。传输层使用的是 TCP 协议,…
GO 从 0 到 1 系列:16 网络编程
[TOC] Go 网络编程 网络是用来解决数据传输问题的不同电脑间的通讯 ◆网络编程 ➢TCP服务器/客户端开发 ➢UDP服务器/客户端开发 ➢命令行聊天室 ◆web开发 ➢HTTP协议 ➢web应用开发 ➢客户端开发 ◆Web爬虫 ➢HTML结构 ➢Goquery ◆RPC 服务器端: 监听服务(打电话) 接收客户端链接(等待电话) 交换数据(通…