开篇gin
网络攻击技术开篇——SQL Injection
网络攻击技术开篇——SQL Injection 1.1.1 摘要 日前,国内最大的程序员社区CSDN网站的用户数据库被黑客公开发布,600万用户的登录名及密码被公开泄露,随后又有多家网站的用户密码被流传于网络,连日来引发众多网民对自己账号、密码等互联网信息被盗取的普遍担忧。 网络安全成为了现在互联网 ......
如何基于 Gin 封装出属于自己 Web 框架?
思路 在基于 Gin 封装出属于自己的 Web 框架前,你需要先了解 Gin 的基本用法和设计理念。 然后,你可以通过以下步骤来封装自己的 Web 框架: 封装路由:Gin 的路由是通过 HTTP 方法和 URL 路径进行匹配的,你可以根据自己的需求,封装出符合应用的业务需求的路由。你可以考虑将路由 ......
gin学习笔记(二)—— 获取参数和文件上传
获取参数和文件上传 获取参数 url传参 在我们使用网页时,我们有时会看到地址栏上带有 ?后面还跟着一些数据,这就是 url 传参,?后面携带的就是参数。例如:用必应搜索 what is a url,地址栏为 https://cn.bing.com/search?q=what is a url,携带 ......
gin学习笔记(一)—— 了解gin
了解gin Web编程基础 客户端和服务端 HTTP 客户端和服务器之间的请求响应一般都是使用 HTTP/HTTPS 协议,它规定了如何从网站服务器传输超文本到本地浏览器。 HTTP请求 当你在网页上点击一个链接、提交一个表单、或者进行一次搜索的时候,浏览器会发送一个 HTTP 请求给服务器。HTT ......
Go+Gin+xorm+MySql实现增删改查
一、概述 承接上一篇(ps:原生增删改查),本篇使用xorm实现增删改查。 之所以要使用xrom是因为xrom可以极大的缩小操作数据库的成本。 使用rom之前需要导入响应的包 go get github.com/go-xorm/xorm #安装xorm go get xorm.io/core go ......
开篇词|人人都要会点密码学
开篇词|人人都要会点密码学 你好,青椒 2020 年,庚子年。如果你问我,2020 年有什么愿望,我想说,这一年,咱们能不能重启?如果一切真的可以重启,哪些事情是我们可以做得更好的?哪些问题是我们依然无法避免的?如果可以重来,我想,Zoom 最想做的,一定是聘用密码学领域的专家,提高研发人员的密码学 ......
gin生成结构体数据
1.先声明个最深层结构体 type PictureList struct { Id int `json:id"` Class int `json:class"` Name string `json:name"` Cover_img string `json:cover_img"` Url strin ......
Gin CORS 跨域请求资源共享与中间件
Gin CORS 跨域请求资源共享与中间件 目录Gin CORS 跨域请求资源共享与中间件一、同源策略1.1 什么是浏览器的同源策略?1.2 同源策略判依据1.3 跨域问题三种解决方案二、CORS:跨域资源共享简介(后端技术)三 CORS基本流程1.CORS请求分类2.基本流程四、CORS两种请求详 ......
go的gin框架学习以及初始化---安装篇
1. 编辑器使用 vscode 设置中文,加载go语言相关插件 https://code.visualstudio.com/ 2.下载go运行环境 https://go.dev/dl/ 3.新建项目目录 bin pkg src(项目目录可存放多个项目) 每个项目文件下必须要有 go.mod 文件 4 ......
Go Gin+MySQL实现增删改查
一、概述 使用Gin框架+MySQL数据库实现增删改查(原生sql) 实现步骤: 1.导入Gin框架 go get -u github.com/gin-gonic/gin 2.引入MySQL驱动 go get -u github.com/go-sql-driver/mysql 3.注册Gin路由 / ......
Go 引入Gin框架并实现Get请求
一、概述 学习一下Go语言,主要为了观察一下其语言特性。了解一下其与Java/Kotlin/C/C++/Python其语言的区别 二、搭建步骤 1.使用LiteIDE新建目录并创建一个.go文件 2.引入Gin库 a.创建mod文件,并下载导入gin go mod init go_workspace ......
那些日子 开篇词
最近有时还在刷编程网友给的相关课程,而自己之前随便分享的东西有人要看,而且大概有超过5个人明确要看,不知道为什么,这挺打击我记录这么多技术博客的,不过我现在给这些日子定义为特别能治愈内卷,治愈不幸福的(可能看别人挺难受的就是显得自己还挺幸福的,就是想拉屎一个坑,你蹲那儿了,我只能忍着抽烟装淡定),这 ......
Gin框架初体验__Goland操作
前提:搭建好Golang环境 首先新建project,Goland会自动生成go.mod文件。 下载并安装Gin框架,并将其添加到你的项目的Go模块中(引入Gin框架依赖至本地) go get -u github.com/gin-gonic/gin 在这一步,我阻碍了将近一个下午|||^_^,由于类 ......
Shell条件测试开篇_读取用户输入
读取用户输入: shell变量出了直接赋值,或者脚本传参,还有read命令读取。 read是内置命令 read命令参数: -p 设置提示信息 -t 等待用户输入超时,timeout read -p "请输入:" vars ......
Gin 项目引入热加载
一、什么是热加载 热加载(Hot Reloading)是指在应用程序运行时,对代码进行修改后,系统能够自动重新加载这些修改,而无需停止和重新启动整个应用程序。这使得开发者能够在不中断应用程序运行的情况下进行代码的调试和修改。 热加载的主要目的是提高开发效率,减少开发过程中的重复操作,以便更快地验证和 ......
Gin 路由注册与请求参数获取
Gin 路由注册与请求参数获取 一、Web应用开发的两种模式 1.前后端不分离模式 也叫前后端混合开发模式, 需要后端写模板语言(dtl), 返回的是HTML页面 浏览器 : 请求动态页面 后端 : 返回HTML 优点:可以直接渲染页面, 方便处理请求数据 缺点:耦合度非常高, 不方便扩展 2.前后 ......
Gin 框架介绍与快速入门
Gin 框架介绍与快速入门 目录Gin 框架介绍与快速入门一、Gin框架介绍1. 快速和轻量级2. 路由和中间件3. JSON解析4. 支持插件5. Gin相关文档二、基本使用1.安装2.导入3.第一个Gin 应用三、应用举例四、Gin 入门核心1.gin.Engine2.gin.Context 一 ......
00-开篇导读:学习分库分表开源框架的正确方法
1 前言 互联网高速发展带来海量的信息化数据,也带来更多的技术挑战。各种智能终端设备(比如摄像头或车载设备等)以每天千万级的数据量上报业务数据,电商、社交等互联网行业更不必说。这样量级的数据处理,已经远不是传统关系型数据库的单库单表架构所能支撑的,如何高效存储和访问这些数据,成为一个非常现实且亟待解 ......
『Flutter』开篇
什么是 Flutter Flutter 是由 Google 开发的开源框架 Flutter 用于构建跨平台的移动应用程序 Flutter 它允许开发者使用同一套代码来同时为 IOS 和 Android 平台开发应用程序 Flutter 使用 Dart 语言开发,特点是拥有高性能的渲染引擎和丰富的组件 ......
Gin中使用jwt-go实现JWT鉴权登陆
在Go语言中,JWT(JSON Web Token)鉴权可以使用第三方库来实现,比如jwt-go。 库的介绍和使用可见文档:jwt package - github.com/golang-jwt/jwt/v5 - Go Packages 创建JWT令牌 在服务器中,我们可以使用以下代码创建JWT令牌 ......
gin 中间件流程控制:Next()、 Abort()
Next() 源码注释:Next应该只在中间件内部使用。它执行调用处理程序内部链中的挂起处理程序。 通俗的说,就是中间件放行,当一个中间件代码执行到Next(),会先执行它之后的函数,最后再来执行完本函数。 package main import ( "fmt" "github.com/gin-go ......
gin框架是如何处理panic
保护gin构建的web app不panic的方式,简单来说: 1)主程中的panic本身是会被gin拦截的2)协程中的panic需要手动使用defer和recover进行保护 情景在用gin构建项目,运行web app并上线了之后,或许有一些请求会经过业务,在特定的情况下出发会触发golang中的p ......
Chrome扩展开发系列开篇
基于 Chromium 的浏览器占了全球市场的 7 成!对于前端开发来说,Chrome 更是形影不离的饭碗级软件 ?。既然 Chrome 这么重要,那么把它研究透一定大有裨益。在我看来,Chrome 值得深入研究的地方有两块:DevTools 和 Extension。 ......
11道Gin基础高频题整理(附答案背诵版)
Gin框架如何文件上传 ? Gin框架中实现文件上传的基本步骤可以分为以下几个部分: 设置路由:首先,在Gin框架中,你需要为文件上传功能设置一个路由。这个路由会指向一个处理函数,用于处理上传的文件。 router := gin.Default() router.POST("/upload", up ......
go gin 基于令牌桶实现的接口限流
令牌桶实现接口限流 简单有效. 但是不一定对得上我现在需要使用的业务. 新建 main.go package main import ( "github.com/gin-gonic/gin" "sync" "time" ) // 令牌桶demo func main() { r := gin.Defa ......
golang 生成excel文件,或者结合gin框架返回文件流
package main import ( "errors" "fmt" "github.com/gin-gonic/gin" "github.com/xuri/excelize/v2" ) func ReadExcel(file string, sheet string) ([][]string, ......
1、开篇 - 编程指导系列文章
笔者进行软件编程已经有十多年的时间了。这些年,最主要的学习内容在开始的那些年,后面因为转了管理方向,所以其它技术内容就是知道有这么个东西,但是没实际去编程。这段时间没啥事,就想把原来的代码进行下重构,解决一些技术问题,然后,就想着把编程这类事情做一个指导系列的文章,用来记录下编程开发的过程例子,于是 ......
gin使用Logger中间件时不显示特定 api path的访问日志
gin使用默认Logger跳过某些api path 一般初始化一个gin.Engine会使用 gin.Default 将你需要过滤的api path添加到Logger的config中: r := gin.New() r.Use(gin.LoggerWithConfig(gin.LoggerConfi ......
处理golang gin框架下载文件时中文文件名乱码问题
func Download(c *gin.Context) { c.Writer.WriteHeader(http.StatusOK) //设置文件类型 c.Header("Content-Type", "application/vnd.ms-excel;charset=utf8") // Path ......