后端开发
Go 标签描述

用go封装一下二级认证 本篇为用go设计开发一个自己的轻量级登录库/框架吧秋玻博客园(cnblogs.com)的二级认证业务篇,会讲讲二级认证业务的实现,给库/框架增加新的功能。 源码:https://github.com/weloe/token-go 在一个系统中,为了保证账号安全性,我们除了登录之外可能还会进行二次校验,例如游戏中的交易密码认证,博客园登录的两步验证等等。因此,我打算为token-go封装下二级认证的功能。 实现思路 对于二级认证我们的认证对象是token也就是一个登录对象,为了兼容各种业务还要加上service业务,最后就是这个认证生效的时间time,毕竟总不能一次认证过...

  9ipYLJ409GOt   2023年11月02日   50   0   0 Go

在Go语言中,结构体是核心的数据组织工具,提供了灵活的手段来处理复杂数据。本文深入探讨了结构体的定义、类型、字面量表示和使用方法,旨在为读者呈现Go结构体的全面视角。通过结构体,开发者可以实现更加模块化、高效的代码设计。这篇文章旨在为您提供关于结构体的深入理解,助您更好地利用Go语言的强大功能。 关注公众号【TechLeadCloud】,分享互联网架构、云服务技术的全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。 1.结构体概述 在计算机编程中,数...

  MQD0xJmbEOnQ   2023年11月02日   35   0   0 Go

  Context本质 golang标准库里Context实际上是一个接口(即一种编程规范、一种约定)。 typeContextinterface{ Deadline()(deadlinetime.Time,okbool) Done()<-chanstruct{} Err()error Value(keyany)any }   通过查看源码里的注释,我们得到如下约定: Done()函数返回一个只读管道,且管道里不存放任何元素(struct{}),所以用这个管道就是为了实现阻塞 Deadline()用来记录到期时间,以及是否到期。 Err()用来记录Done()管...

  hW4gxmCFCxfQ   2023年11月02日   29   0   0 Go

Merkle树(MerkleTree)是一种树状数据结构,通常用于验证大规模数据集的完整性和一致性。它的名字来源于其发明者RalphMerkle。Merkle树在密码学、分布式系统和区块链等领域得到广泛应用,尤其在区块链中,它用于验证交易和区块的完整性,确保数据不被篡改。 下面是Merkle树的介绍: 1.结构 Merkle树是一种二叉树,其中每个叶子节点包含数据块的哈希值,而每个非叶子节点包含其子节点哈希值的组合(通常是子节点哈希的拼接或哈希)。这种结构使得Merkle树具有高效的验证能力,因为任何时候,只需要验证一小部分节点的哈希值即可验证整个数据集的完整性。 Merkle树的根节点称为M...

  SLI5qvYxXXnE   2023年11月02日   41   0   0 Go

在开发应用程序时,记录日志是一项关键的任务,以便在应用程序运行时追踪问题、监视性能和保留审计记录。Go语言提供了灵活且强大的日志记录功能,可以通过多种方式配置和使用。其中一个常用的日志记录库是github.com/natefinch/lumberjack,它提供了一个方便的方式来处理日志文件的轮换,以防止日志文件无限增长。 本文将详细介绍github.com/natefinch/lumberjack,包括其主要特点、如何使用它以及示例代码。让我们一起深入了解这个有用的Go语言日志记录库。 主要特点 github.com/natefinch/lumberjack的主要特点包括: 日志轮换:它允...

  SLI5qvYxXXnE   2023年11月02日   95   0   0 Go

十六、基于TCP协议的网络通信 创建客户端 【1】调用Dial函数:(net包下) 【2】代码: packagemain import( "fmt" "net"//所需的网络编程全部都在net包下 ) funcmain(){ //打印: fmt.Println("客服端启动。。") //调用Dial函数:参数需要指定tcp协议,需要指定服务器端的IP+PORT conn,err:=net.Dial("tcp","127.0.0.1:8888") iferr!=nil{//连接失败 fmt.Println("客户端连接失败:err:",err) return } fmt.Println("连接...

  KHyRtDudSAa3   2023年11月02日   36   0   0 Go

关注公众号【TechLeadCloud】,分享互联网架构、云服务技术的全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。 语句 语句是Go编程语言中完成特定操作的单个逻辑指令。语句是组成程序的基本单元,它们可以控制程序流程、进行赋值、声明变量等。 1.声明语句 1.1变量声明 用于定义一个或多个变量,但不一定要赋值。 举例 varageint varname,addressstring 1.2常量声明 定义一个或多个常量值。 举例 constPI=3....

  MQD0xJmbEOnQ   2023年11月02日   35   0   0 Go