标签:GO
时隔20天,OpenAI从v0.0.1升级到了v0.2.0。与v0.0.1版相比,v0.2.0版主要做了以下改动: 把cmd目录下微信公众号的相关服务迁移到了这里 完善了cmd下的测试服务,针对openAI库里实现的各个接口都提供了响应的调用接口,服务运行后可以通过postman进行测试 完成了F
用go设计开发一个自己的轻量级登录库/框架吧(项目维护篇) 本篇将开始讲讲开发库/框架的最开始阶段,也就是搭建一个项目 源码:weloe/token-go: a light login library (github.com) 项目结构 项目结构,不是上一篇所说的代码架构,而是分包,明确的分包更有
用go设计开发一个自己的轻量级登录库/框架吧(业务篇) 本篇会讲讲框架的登录业务的实现。实现三种登录模式: 同一用户只能登录一次 同一用户多次登录多token 同一用户多次登录共享一个token 源码:weloe/token-go: a light login library (github.co
夜莺初探四·mtail插件采集日志指标 前言 上一篇介绍了Categraf的配置,这篇我们尝试通过使用google开源的mtail工具来作为Categraf的插件,从应用日志中提取指标数据。 mtail项目介绍和配置文件说明 通过mtail -h可以很方便看到参数详细,也推荐乔克-从日志中提取指标
1.简介 本文将介绍首先为什么需要主动关闭goroutine,并介绍如何在Go语言中关闭goroutine的常见套路,包括传递终止信号和协程内部捕捉终止信号。之后,文章列举了需要主动关闭协程运行的常见场景,如启动一个协程执行一个不断重复的任务。希望通过本文的介绍,读者能够掌握如何在适当的时候关闭g
golang支持两种随机数生成方式: math/rand // 伪随机 crypto/rand // 真随机 math/rand的用法:rand.Intn(100)。这个起始位置是由一个seed决定的,默认是从1开始。为了尽量随机性,那么我们可以每次使用不同的se
最近熟悉 go 项目时,发现项目中有用到 github.com/yuin/gopher-lua 这个包,之前并没有接触过,特意去看了官方文档和找了些网上的资料,特此记录下。 本次介绍计划分为两篇文章,这一次主要介绍 github.com/yuin/gopher-lua 这个包的介绍以及基础使用
运行命令 go run xx.go或者 go build xx.go + ./xx package main import ( "fmt" ) func main() { fmt.Println("hello world") } ​ 基础语法 package main
1. 简介 本文将从一个资源回收问题引入,引出defer关键字,并对其进行基本介绍。接着,将详细介绍在资源回收、拦截和处理panic等相关场景下defer的使用。 进一步,介绍defer的执行顺序,以及在注册defer函数时,其参数的求值时机等相关特性。最后,重点讲解defer的注意点,如在def
在日常开发工作过程中,很多时候我们都需要在自己的机器上安装多个go版本,像是go1.16引入的embed,go1.18引入了泛型;又或是自己本地使用的是最新版,但公司的项目中使用的go1.14、go1.13甚至是更早的版本。 那么有没有既不影响我们自己的本地环境,又能兼顾历史项目的办法呢?答案当然
最近在看《大话设计模式》,这本书通过对话形式讲解设计模式的使用场景,有兴趣的可以去看一下。 第一篇讲的是简单工厂模式,要求输入两个数和运算符号,得到运行结果。 这个需求不难,难就难在类要怎么设计,才能达到可复用、维护性强、可拓展和灵活性高。 运算符可能是加、减、乘、除,未了方便以后可以拓展其它运算
voidint/g g 是一个 Linux、macOS、Windows 下的命令行工具,可以提供一个便捷的多版本 go 环境的管理和切换。 在这里我们介绍一下在 windows 下的使用,涉及到我们开发所需要用到的 几个 go 项目层环境变量它们分别是 GOPATH,GOPROXY,GO111
Golang基础学习   以下使用goland的IDE演示,包含总计的golang基础功能共20个章节 一、go语言结构: 二、go基础语法: 三、变量: 四、常量: 五、运算符: 六、条件语句: 七、循环: 八、函数: 九、变量作用域: 十、数组: 十一、指针: 十二、结构体: 十三、
Abp是一个基于模块化开发的应用程序框架,提供了模块化基础的架构和模块化加载的引擎。 理解模块 一个模块是对一个功能点的封装,可以独立成为一个包,实现了松耦合的代码组织方式。Abp框架的基本思想就是模块开发,模块就想乐高中的一块块积木,在项目中将不同功能点的模块引用进来,就像搭积木一样构建成一
2019年第一次接触 ABP 框架,那时候还是比较笨重的旧版本的,后来升级到 vNext 版本,我也基于 ABP 模块化的设计方式开发了一些模块用于日常工作。这个系列主要为了系统地记录一下日常工作与学习中的关于 ABP 的一些知识点。 章节目录 初始 ABP ABP - 模块加载机制 ABP
ABP框架 ABP是用于创建现代化Web应用程序的完整体系结构和强大的基础架构,以模块化的方式进行开发,所有模块以nuget包的方式提供,开箱即用,遵循最佳实践和约定,提供SOLID开发经验。 缩写 英文 中文 SRP The Single Responsibility Principle 单一职
前言 在Web开发中,有时需要对网页进行截图,以便进行页面预览、测试等操作。 而使用无头浏览器来实现截图功能,可以避免手动操作的繁琐和不稳定性。 这篇文章将介绍:使用Golang进行无头浏览器的截图,轻松实现页面预览、测试和模拟用户操作。 有趣 这篇文章发完,有朋友在朋友圈留言说:没想到还有这种
解决xorm逆向工程问题 问题 xorm : 无法将“xorm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 今天在用xorm做逆向工程的时候碰到了一个普遍问题,xorm : 无法将“xorm”项识别为 cmdlet、
前言 Nacos 是一个开源的服务发现、配置管理和服务治理平台,是阿里巴巴开源的一款产品。 Nacos 可以帮助开发者更好地管理微服务架构中的服务注册、配置和发现等问题,提高系统的可靠性和可维护性。 本文将介绍 Nacos 的必知必会知识点,包括服务注册与发现、配置管理、命名空间等内容,帮助读者