千恋*万花

  • 首页
  • 个人简历
  • 文章分类
    • 后端开发
    • 运维
    • 基础知识
    • 笔记
    • 工作运维记录
    • 随笔
    • 未分类文章
学习心得
gin

Gin 中间件的编写和使用——Go Gin框架(六)

中间件 在web应用服务中,完整的一个业务处理在技术上包含客户端操作、服务器端处理、返回处理结果给客户端三个步骤。 在实际的业务开发和处理中,会有更负责的业务和需求场景。一个完整的系统可能要包含鉴权认证、权限管理、安全检查、日志记录等多维度的系统支持。 鉴权认证、权限管理、安全检查、日志记录等这些保障和支持系统业务属于全系统的业务,和具体的系统业务没有关联,对于系统中的所有业务都适用。 由此,在业务开发过程中,为了更好的梳理系统架构,可以将上述描述所涉及的一些通用业务单独抽离并进行开发,然后以插件化的形式进行对接。…

2020-10-04 0条评论 7775点热度 0人点赞 初音萌奈 阅读全文
gin

Gin使用路由组分类处理请求——Go Gin框架(五)

路由组功能 在实际项目开发中,均是模块化开发。同一模块的API接口一般会有相同的接口前缀。 例如,对于一个xx管理模块,会有“xx添加”、“xx删除”、“xx修改”、“xx查询”。 一个学生管理模块的API如下: 学生注册:/student/Add 学生删除:/student/Delete 学生修改:/student/Modify 学生查询:/student/Search 路由组 Gin框架为我们提供了路由组功能。 func group(engine *gin.Engine) { userGroup := engi…

2020-10-04 0条评论 6195点热度 0人点赞 初音萌奈 阅读全文
gin

Gin多数据返回请求结果——Go Gin框架(四)

完整的请求 一个完整的请求应该包含请求、处理请求和返回结果三个步骤,在服务器端对请求处理完成之后,应该将结果返回给客户端。 Gin框架中提供了一下返回请求的数据格式 []byte 和 string 之前的实例中,我们都用[]byte来返回数据。 func (ResponseWriter) Write([]byte) (int, error):用于向接收端输出[]byte切片。该方法被定义于官方的http包中 func (ResponseWriter) WriteString(string) (int, error)…

2020-10-03 0条评论 7974点热度 2人点赞 初音萌奈 阅读全文
gin

Gin请求参数绑定与多数据格式处理——Go Gin框架(三)

请求参数绑定 在开发中,我们总会写username := context.PostForm("username")//解析POST类似的功能,每次只能实现对一个数据操作的方法。 Gin框架提供了实体绑定的功能,可以将表单数据与结构体绑定,从而达到简化上诉过程的方法。 用用户注册功能来实践表单实体绑定的操作: type UserRegister struct{ Username string `form:"username" binding:"required"` Password string `form:"pas…

2020-10-03 0条评论 6190点热度 0人点赞 初音萌奈 阅读全文
gin

Gin网络请求与路由处理——Go Gin框架(二)

创建Engine(引擎) Engine代表Gin框架的一个结构体定义。 其中包括了路由组、中间件、页面渲染接口、框架配置设置等相关内容 Engine 有以下两种创建方式: engine1 = gin.Default() //通常使用,会默认使用Logger和Recovery中间件 engine2 = gin.New() Recovery中间件的作用是:如果程序执行过程中遇到了panic中断了服务,Recovery会恢复程序的执行,并返回服务器500内部错误。 Logger负责打印并输出日志的中间件,方便我们开发调试…

2020-10-02 0条评论 6859点热度 3人点赞 初音萌奈 阅读全文
基础知识

二叉搜索树心得

什么是二叉树? 二叉树像链表一样,属于动态数据结构 二叉树的特点: 二叉树具有唯一的根节点 二叉树的每一个节点最多只有两个孩子 二叉树具有天然的递归结构 每一个节点的左、右子树也是一个二叉树 二叉树不一定是满的 二叉树的节点 //节点 type Node struct{ value int //节点值 Node *left //左孩子 Node *right //右孩子 } //二叉树 type BST struct{ Node root //根节点 int size //二叉树的节点数(大小) } 为什么要发明这…

2020-09-24 0条评论 6201点热度 0人点赞 初音萌奈 阅读全文
笔记

TCP与IP的关系

从OSI的七层模型看两者的区别:IP属于网络层,而TCP属于传输层 两者都属于操作系统层面 由OSI模型可知,传输层在网络层之上 可知:对一个使用TCP/IP协议传送的数据包,其传送的包的结构如下: IP包 = IP包的头部 + IP包的数据 IP包的数据 = TCP包 TCP包 = TCP包的头部 + 需要传送的数据 总结: IP属于面向无连接型。即在发包前,不需要建立与对端目标地址之间的连接。IP只负责将数据发送给目标主机,它不做收到与否的验证。 TCP则负责保证对端主机确实可以收到数据

2020-09-15 0条评论 4206点热度 0人点赞 初音萌奈 阅读全文
golang

Golang append() 切片 追加 切片

Golang append() 切片 追加 切片 在程序中,有时候需要在切片后面再追加一个切片,比如在执行以下代码的时候 a := []int{1, 2, 3} b := []int{9, 8, 7} a = append(a, b) 会遇到 Cannot use 'b' (type []int) as type int 的问题。 根据错误提示,我们很明显能发现是数据类型错误了。 直接上解决办法 将第三行append语句改为 append(a, b...) 即可。注意那三个点 根据官方文档: P…

2020-09-14 0条评论 4105点热度 0人点赞 初音萌奈 阅读全文
12

初音萌奈

我是练习时长 三年半 的后端开发程序员
谢谢你参观我的博客!
本网站现已支持IPv6
☞ 个人简历 ☜

分类
  • 后端开发 / 24篇
    • Elasticsearch (ES篇 / 2篇
    • gin / 6篇
    • golang / 12篇
    • lua / 1篇
    • MySQL / 8篇
    • PHP / 1篇
    • PostgreSQL (pgSQL篇 / 1篇
    • Redis / 1篇
  • 基础知识 / 6篇
    • 算法与数据结构 / 5篇
    • 计算机原理 / 1篇
  • 工作成长 / 1篇
  • 工作运维记录 / 7篇
  • 笔记 / 9篇
  • 运维 / 10篇
    • bash / 3篇
    • Docker / 1篇
    • Kubernetes (k8s篇 / 1篇
    • Linux / 4篇
    • NAS / 1篇
    • Server / 2篇
    • 开发环境 / 1篇
    • 网络 / 4篇
  • 随笔 / 8篇
    • 微博(字面意思) / 4篇
    • 日志 / 2篇
站点统计
  • 17
  • 8,190
  • 320,219
  • 141,691
  • 0
  • 55
  • 7

COPYRIGHT © 2025 HatsuneMona ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

晋ICP备17007130号-4