刷新
ko Easy Go 容器构建

ko 是一个适用于 Go 应用程序的简单、快速的容器镜像构建器 官方网站 镜像包含单个go应用程序,且对os基础镜像没有太多的依赖 ko 通过本地机器上执行go build来构建镜像,因此无需安装docker。非常适合轻量级CI/CD用例 安装 安装 示例 环境变量 KO_DOCKER_REPO: ...

goland2024如何安装?附安装包和激活方式

博主头像 前言 大家好,我是小徐啊。goland是我们开发Go语言时的常用的开发工具,功能强大,今天,小徐就来介绍下如何安装和获取激活方式。文末附获取方式。 如何安装和激活goland 首先,我们双击下goland2024安装包,开始安装。 然后,我们点击下运行按钮。 然后,我们点击下一步按钮。 然后,我们选 ...

Golang sync.pool源码解析

博主头像 sync.Pool 是 Go 中用于对象复用的工具,可减少频繁创建和销毁对象的开销,从而优化内存使用和降低 GC 压力。本文通过分析其用法、真实案例及源码结构,详细解读了 sync.Pool 的读写流程及其背后的高效设计思想,为性能优化提供了实用参考。 ...

Ellyn-Golang调用级覆盖率&方法调用链插桩采集方案

博主头像 在应用程序并行执行的情况下,精确获取单个用例、流量、单元测试走过的方法链(有向图)、出入参数、行覆盖等运行时数据,经过一定的加工之后,应用在覆盖率、影响面评估、流量观测、精准测试、流量回放、风险分析等研发效能相关场景。 ...

golang自带的死锁检测并非银弹

博主头像 网上总是能看到有人说go自带了死锁检测,只要有死锁发生runtime就能检测到并及时报错退出,因此go不会被死锁问题困扰。 这说明了口口相传知识的有效性是日常值得怀疑的,同时也再一次证明了没有银弹这句话的含金量。 这个说法的杀伤力在于它虽然不对,但也不是全错,真真假假很容易让人失去判断力。 死锁检测 ...

实战:Go语言项目之使用JWT实现用户认证

博主头像 实战:Go语言项目之使用JWT实现用户认证 基于cookie-Session 和基于token的认证模式 需求:请求分类 用户认证 HTTP 是一个无状态的协议,一次请求结束后,下次再发送,服务器就不知道这个请求是谁发过来的(同一个 IP 不代表同一个用户),在Web 应用中,用户的认证和鉴权是非常 ...

Go语言基础数据类型详解:整型、浮点型、复数与字符串

博主头像 Go语言基础数据类型详解:整型、浮点型、复数与字符串 Go语言作为一门静态强类型的语言,其数据类型设计简洁而高效。掌握Go的基本数据类型是每个开发者深入理解Go语言的基础。本篇文章将详细介绍Go语言中最常见的基本数据类型,包括整型、浮点型、复数、布尔型、字符串等,并结合实例代码演示如何在Go中使用这 ...

Golang内存模型与源码解析

博主头像 0、引言 本篇笔记用于记录作者在学习Golang的GC模型之前,对Golang内存模型的学习。目前使用的Go版本为1.22.4 1、Golang内存管理宏观结构 假设我们每次向内存池申请空间时,都需要频繁地向操作系统发出请求,这不仅会增加内存分配的时间,还可能引入竞争和锁的开销,从而导致性能瓶颈。尤 ...

[golang]读取常见配置文件

博主头像 前言 主要介绍 yaml、toml、json、ini格式文件的配置读取。 除了以下方式,更方便的做法是用viper,不过配置结构可能不会很清晰。 YAML 假设yaml文件内容如下 # 基本键值对 string_key: "这是一个字符串" integer_key: 42 float_key: 3. ...

内网穿透之http代理服务器

博主头像 在公网访问内网http服务可以用内网穿透工具,例如frp和nps等优秀工具。但我发现这类工具会在服务器启动不止一个端口,对于有些网络审查来说很容易发现在进行内网穿透。因此我想是否可以只在服务器启动一个http服务来完成内网穿透,公网服务只开放一个http服务端口即可。因此我完成了相关代码:点击跳转查 ...

实现不可逆加密文件:探索 GodoOS 的安全机制

在当今数字化时代,数据安全成为了企业和个人关注的重点。为了保护敏感信息不被未授权访问,各种加密技术应运而生。本文将探讨 GodoOS 项目中实现的一种不可逆加密文件的方法,重点介绍其背后的原理和技术细节。 1. 项目背景 GodoOS 是一个基于 Go 语言开发的云存储平台,旨在为用户提供高效、安全 ...

GO语言中string和[]byte的区别及转换

博主头像 区别 在我们日常的开发中经常需要处理字符串,而在GO语言中,字符串和[]byte是两种不同的类型。 首先来看string的底层定义(src/runtime/string.go): type stringStruct struct { str unsafe.Pointer len int } []by ...

Go Vue3 CMS管理后台(前后端分离模式)

博主头像 本后台使用前后端分离模式开发,前端UI为Vue3+Ant Design Vue,后端Api为Go+Gin,解耦前后端逻辑,使开发更专注 技术栈 前端:Vue3,Ant Design Vue,Axios,分页,OTP动态码登录 后端:Go,Gin,Gorm,Mysql,Docker,JWT,跨域,Lo ...

Golang网络模型netpoll源码解析

博主头像 0、引言 在学习完了Socket编程的基础知识、Linux系统提供的I/O多路复用的实现以及Golang的GMP调度模型之后,我们进而学习Golang的网络模型——netpoll。本文将从为什么需要使用netpoll模型,以及netpoll的具体流程实现两个主要角度来展开学习。当前使用的Go的版本为 ...

123···8>