Gin CORS 跨域请求资源共享与中间件目录Gin CORS 跨域请求资源共享与中间件一、同源策略1.1 什么是浏览器的同源策略?1.2 同源策略判依据1.3 跨域问题三种解决方案二、CORS:跨域资源共享简介(后端技术)三 CORS基本流程1.CORS请求分类2.基本流程四、CORS两种请求详解1.两种请求详解2.解决跨域问题:浏览器对于这两种请求的处理
......
311
0
0
2024-03-27
前言相信大家对于缓存这个词都不陌生,但凡追求高性能的业务场景,一般都会使用缓存,它可以提高数据的检索速度,减少数据库的压力。本文旨在探讨实现一个支持多种 过期、淘汰 机制的本地缓存的核心原理,我将重点讲解如何支持多样化的过期和淘汰策略。如果需要查看完整的代码设计,请前往以下链接:https://github.com/chenmingyong0423/go-g
......
280
0
0
2024-03-27
Gin 是 Golang 生态中目前最受用户欢迎和关注的 Web 框架,但是生态中的 Static 中间件使用起来却一直很不顺手。所以,我顺手改了它,然后把这个改良版开源了。写在前面soulteary/gin-staticGin-static 的改良版,我开源在了 soulteary/gin-static[1],也发布在了 Go 软件包市场:pkg.go.d
......
307
0
0
2024-03-24
在 Go 语言标准库中,archive 包提供了用于处理归档文件(压缩文件和文件集合)的库。本文将详细介绍 archive/tar 和 archive/zip 包,它们分别用于处理 tar 格式和 zip 格式的归档文件。1. archive/tar 包archive/tar 包提供了对 tar 格式的文件归档和解档的支持。tar(tape archive)
......
301
0
0
2024-03-19
目录一、什么是热加载二、Air2.1 介绍2.2 特性特性:2.3 相关文档2.4 安装推荐使用 install.sh使用 go install2.5 配置环境变量2.6 使用三、Fresh3.1 介绍3.2 相关文档3.3 安装与使用四、bee4.1 介绍4.2 相关文档4.3 安装与使用4.4 基本命令五、gowatch5.1 介绍5.2 相关文档5.3
......
256
0
0
2024-03-19
目录前言反向代理的原理Go语言优势使用Go语言实现反向代理的步骤反向代理使用示例结束语前言作为开发者而言,尤其是后端开发者对反向代理并不陌生,其实反向代理是一种常见的网络应用架构,它可以提供负载均衡、安全性增强和高可用性等优势。鉴于抱着学习的态度,本文将详细介绍如何使用Go语言实现一个简单的反向代理服务器,并展现对应的完整的源代码,希望能够帮助读者了解反向代
......
282
0
0
2024-03-19
2024-01-03:用go语言,给你两个长度为 n 下标从 0 开始的整数数组 cost 和 time,分别表示给 n 堵不同的墙刷油漆需要的开销和时间。你有两名油漆匠,一位需要 付费 的油漆匠,刷第 i 堵墙需要花费 time[i] 单位的时间,开销为 cost[i] 单位的钱。一位 免费 的油漆匠,刷 任意 一堵墙的时间为 1 单位,开销为 0,但是必
......
243
0
0
2024-03-18
Gin 路由注册与请求参数获取一、Web应用开发的两种模式1.前后端不分离模式也叫前后端混合开发模式, 需要后端写模板语言(dtl), 返回的是HTML页面浏览器 : 请求动态页面后端 : 返回HTML优点:可以直接渲染页面, 方便处理请求数据缺点:耦合度非常高, 不方便扩展2.前后端分离模式前端 : 只写前端后端 : 只专注于写后端接口, 返回 json,
......
210
0
0
2024-03-17
Gin 框架介绍与快速入门一、Gin框架介绍Gin是一个轻量级的Go语言Web框架,它具有高性能和简洁的设计。由于其快速的路由匹配和处理性能,Gin成为Go语言中最受欢迎的Web框架之一。以下是一些Gin框架的主要特点:1. 快速和轻量级Gin框架的设计注重性能和效率,采用了一些优化措施,使其成为一个快速而轻量级的框架。2. 路由和中间件Gin提供了强大的路
......
226
0
0
2024-03-17
这是 Go 应用程序项目的基本布局。它不是核心 Go 开发团队定义的官方标准;然而,它是 Go 生态系统中一组常见的老项目和新项目的布局模式。其中一些模式比其他模式更受欢迎。它还具有许多小的增强,以及对任何足够大的实际应用程序通用的几个支持目录。 如果你尝试学习 Go,或者你正在为自己建立一个 PoC 或一个玩具项目,这个项目布局是没啥必要的。从一些非常简
......
209
0
0
2024-03-17
1. 背景介绍目前consensus-attack库,基于TBFT共识算法的异常注入功能已实现。但是需要依赖于对consensus-tbft代码库的引入。通过gomonkey对原consensus-tbft代码库中的函数实现打桩替换。使得chainmaker-go在运行时,原本的共识逻辑被篡改,从而实现共识算法的异常注入。1.1 兼容问题由于目前gomonk
......
186
0
0
2024-03-14
👉导读代码的稳健、可读和高效是每一位 coder 的共同追求,写出更高效的代码不仅让自己爽、让 reviewer 赏心悦目,更能对业务带来实际的正面影响。本文将从实践及源码层面对 Go 的高性能编程进行解析,带你进入 Go 的高性能世界。👉目录1 为什么要进行性能优化2 Go中如何对性能进行度量与分析3 常用结构、用法背后的故事4 空间与布局5 并发编程6
......
170
0
0
2024-03-14
对于已上线的 Go 服务,进行调试通常需要在代码中添加调试信息或者利用已有的日志系统。由于直接使用调试器可能会影响服务的性能或者稳定性,因此需要采用一些谨慎的方法。1. 日志在线上服务中,通过日志进行调试是一种常见的方法。以下是一些常用的方法,可以让我们通过日志来进行线上服务的调试:设置详细的日志级别:在开发和测试环境中,我们可能会使用较低的日志级别,例如
......
265
0
0
2024-03-12
1.关于模块模块(Modules)是 Go 1.11 版本引入的一依赖管理机制。一个模块是 Go packages 的集合,定义在项目根目录下的 go.mod 文件。go.mod 文件定义了模块的路径,这也是使用当前项目中包的导入路径。go.mod 文件还定义了模块的依赖项,这些是项目成功构建所需的其他模块。每个依赖项都被编写为模块路径和特定的语义版本。从
......
272
0
0
2024-03-08
carbon 是一个轻量级、语义化、对开发者友好的 golang 时间处理库,支持链式调用。目前已被 awesome-go 收录,如果您觉得不错,请给个 star 吧github.com/golang-module/carbongitee.com/golang-module/carbon安装使用Golang 版本大于等于 1.16// 使用 github 库
......
212
0
0
2024-03-07