基于 CentOS7.6 的 Docker 下载常用的容器(MySQL&Redis&MongoDB),解决拉取容器镜像失败问题 mysql选择是8版本,redis是选择4版本、mongoDB选择最新版,也可以根据自己的需要进行下载对应的版本,无非就是容器名:版本号这样去拉去相关的容器镜像。如果你还不会在服务器中安装 docker,可以查看我的这篇文章直接照搬照抄就行!
MacOS本地使用Docker Desktop 搭建Minio容器 docker官网:https://www.docker.com/products/docker-desktop/根据自己的型号进行选择,,记得需要看到最后噢!最后有坑点解决办法!最后有坑点解决办法!最后有坑点解决办法!
gin-vue-admin二开使用雪花算法生成唯一标识 id 雪花算法,由Twitter开源,是一种分布式唯一ID生成算法。这种算法的主要特点是简单、高效,生成的64位整数ID全局唯一,且趋势递增。在单机上,雪花算法生成的ID也能保持递增特性,但在不同的机器上,由于各自有不同的时间戳,因此生成的ID不会冲突。这种算法的性能相当高,每秒中能生成数百万的自增ID。因此,雪花算法被广泛应用于分布式系统中需要唯一ID的场景。例如,美团开源的分布式ID生成器Leaf也采用了雪花算法来保证全局唯一和趋势递增。
Mac 克隆git项目 git clone gitee@git@xxx/xxx.git 错误:fatal: Could not read from remote repositor. 使用 mac 克隆公司项目出现问题;使用下载包以后打开项目,在终端执行go mod tidy出现报错的解决方案,按照以下这个方法可以解决这个问题,亲测有效!
首次使用go-admin 也是需要配置好settings.dev.yml的对应信息,知识两者启动server的时候加载的yml不一样,但是这个比较推荐,可以区分好哪个是开发yml文件,哪个是上线yml文件。settings.yml文件地址在config文件夹中,修改自己数据库的数据库的配置信息,user是数据库的账户,password是数据库连接密码,dbname是数据库名。这里的gen对应的dbname也是需要修改的,不然初始化数据库的时候会报错,切记需要修改一下!打包后的,所以可以直接使用 go-admin。
Go语言基于Viper封装实现 Viper是一个用于Go语言应用程序的配置管理库。它提供了一种简单而灵活的方式来处理应用程序的配置,支持多种格式的配置文件,并提供了一组API来读取和使用这些配置。Viper支持多种配置文件格式,包括JSON、TOML、YAML和HCL等。它还支持环境变量和命令行标志等配置方式。这使得Viper非常适合需要在不同环境中运行(如开发、测试和生产环境)的应用程序,因为可以使用不同的配置文件和设置来管理应用程序的行为。优点:使用Viper,可以轻松地将配置信息加载到应用程序中,并在需要时获取这些信息。
Go语言基于zap的日志封装 Zap是一个高性能、结构化日志库,专为Go语言设计。它由Uber开源,并且在Go社区中非常受欢迎。它的设计目标是提供一个简单易用、高效稳定、灵活可扩展的日志系统。以下是Zap的一些主要特点:1.高性能:Zap的性能非常出色,可以在不影响应用程序性能的情况下记录大量的日志。它的性能比其他Go语言的日志库高出数倍,这使得它成为高负载生产环境中的不错选择。2.结构化日志:Zap支持结构化日志,这意味着你可以在日志中包含结构化数据,而不是只是简单的文本。
go-web(gin框架)中实现本地文件上传 通过读取yaml文件的配置信息进行定义结构体,我们在config包下创建一个conf_upload.go 来装我们的结构体Size int `json:"size" yaml:"size"` // 图片上传的大小 Path string `json:"path" yaml:"path"` // 图片上传的目录 }虽然我们在config包下进行创建一个入口文件enter.go,将我们的结构体帮定进去然后在根目录创建一个global文件夹,并且创建global.go 文件,将其注册为全局。
基于gin-vue-admin[gin+gorm]手动实现crud(全) 在gva框架下自己手动实现一个CRUD的操作,该操作将会结合gen进行探讨学习,具体实现可以看下面代码的实现,项目目录层级分为api层,service层,model层,common层,router层,gen层。我的这个实现方式有些许不太一样就是,我的修改并非传统的restful风格通过json方式进行传递这个id,也确保安全,所以这里的请求我不会用Get请求。
Go开发中的JWT的创建和解析的功能实现 `Json web token (JWT)`, 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准.该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该`token`也可直接被用于认证,也可被加密。下面就以一个标准的jwt功能实现方式进行编码。并且这个jwt也会相对安全一点,因为是有加密过的。一般用户登录后生成的token都
Go开发中如何进行自定义Response.go封装实现 在写接口的时候,我们通过都需要将前端小伙伴发给我们的请求进行校验和返回数据,如果是正确的请求参数,那么也符合我们的校验,则需要返回数据给他们,并且给予提示;反之,如果请求是不符合的我们则需要基于提示用户或让前端小伙伴进行做出对应的修改,比如:参数类型错误、字段错误等信息回返给前端的小伙伴进行做出对应的修改。这时候有些提示信息则会重复,一直写重复的提示难免会有点繁琐,那么作为后端开发的小伙伴们可以选择对于这些`response`进行封装一些方法,减少所谓的重复性代码,也可以提高我们自己的代码可阅读性和质量。
Go开发中配置一个Logger日志的功能实现(结合zap日志库) 一般在开发项目的时候我们都是需要一个存储日志的文件,因为在部署项目以后,我们只能通过去筛查日志进行检索问题,这时候日志是否可以呈现清晰这个对于我们进行排查工作是十分重要的,所以Logger能否展示出我们最想要的错误展示方式是很有必要的!本章节的案例是基于gin框架和`viper`进行编写一个Logger的日志文件,日志会根据`yaml`文件定义的` mode`进行判断是否是开发环境还是线上环境进行写的。
uni-app解决createInnerAudioContext()在IOS下不能静音播放的问题 在使用 创建一个播放后,真机环境测试IOS不可以在用户处于静音的情况下进行播放,安装手机则可以进行自动播放。尝试过将设置为 以及 设置为false,但是都发现不行!可以将下面代码注释写着直接copy到项目中使用。切记使用,uni-app中没有该方法。
JS动态监听用户行为事件,并且添加CSS动画的实现 我们当用户输入完验证码以后会自动进行提交,这时候我们只需要判断这个长度是否达到我们的预定要求,如果达到了我们就可以进行实现跑马灯动画的切换,当然,我们可以使用一些动画库进行实现,下面我是使用原生css进行写这个动画!我们通过Jquery提供的append进行标签的动态加载,最后就可以实现了,下面是大概实现的内容。首先是引入Jquery,我是引入本地的jQuery,也可以引入CDN的方式进行加载Jquery。定义一个div,这边需要实现在按钮中进行实现,我这边通过css将它修饰成一个button。
golang初始化数据库(MySQL) 主要这边还需要安装两个依赖,gorm、viper,具体的可以访问他们的官网()在根目录下打开终端执行:go mod init 项目名称 (例如: go mod init demo )go get github.com/jinzhu/gorm 或 go get -u gorm.io/gorm。