- 博客(32)
- 收藏
- 关注
原创 Air实现Go程序实时热加载
怎样才能在基于gin框架开发时实现实时加载功能呢?像这种烦恼肯定不会只是你一个人的烦恼,所以我报着肯定有现成轮子的心态开始了全网大搜索。。
2023-10-11 20:46:23 112
原创 Token认证模式以及JWT介绍
⼀旦签发,就会在有效期内⼀直可⽤,⽆法在服务端废⽌,当⽤户进⾏登出操作,只能依赖客户端删除掉本地存储的 JWT Token。的⽆状态会话管理⽅式诞⽣了,所谓⽆状态,就是服务端可以不再存储信息,甚⾄是不再存储 Session。,使得服务端认证鉴权业务可以⽅便扩展,避免存储 Session 所需要引⼊的。默认是不加密的,任何⼈都可以读到,所以不要把秘密信息放在这个部分。除了官⽅字段,开发者也可以⾃⼰指定字段和内容,例如下⾯的内容。的缩写,是为了在⽹络应⽤环境间传递声明⽽执⾏的⼀种基于。
2023-10-11 20:31:52 196
原创 BlueBell注册功能逻辑及其实现
json 的tag用于绑定参数,binding参数是gin内置validator校验的tag,required代表此字段是传入参数中必须要有的,eqfield=xxx,代表此字段与结构体中的xxx字段值需要相等,否则会校验失败,返回错误。由于validator校验返回的错误信息是英文,为方便用户读取,做一个翻译器,将错误类型为validator.ValidationErrors的内容翻译成中文。调用mysql中的CheckUserExist方法,判断该用户是否已存在,如果存在,说明该用户已经注册过了。
2023-10-06 23:43:37 110
原创 Redis入门级知识
位图是字符串类型的扩展,可以使用一个string类型来模拟一个bit数组,数组的下标就是偏移量,值只有0和1,支持一些位运算,与或非异或。set 是一种无序集合,它和列表的区别就是列表中的元素可以重复,而set中的元素不能重复,set中的元素不像列表中的元素那样有顺序。和集合的区别:每个有序集合中的元素都会关联一个浮点数,按照这个数,从小到大排序,有序集合的元素是唯一的,分数可以不唯一。基数:如果集合中的每个元素都是唯一且不重复的,那么这个集合的基数就是集合中元素的个数。
2023-09-26 19:56:57 30
原创 桶排序(GoLang)
若是3位,则进行三次循环,每次先计算好这一轮循环的那一位的数字(0-9)的个数是多少,用count存储,count数组的大小为10,然后从尾到头将数组中的数存在Bucket中对应的位置(count[j]-1),j代表将要存进去的那个数的此轮的这一位的数字,count[j]-1代表此数应在Bucket中的索引位置。最后将Bucket中的数从头到尾赋值给arr数组。这样这一轮的这一位上的数字就从小到大给排序好了。首先,得到最大的数的位数(100为3位数),方便在其他低于3位数的数前补上0。
2023-09-14 23:58:33 72
原创 堆排序(GoLang)
heapInsert函数:将加入的节点的数与父节点的数值进行比较,若父节点的数值大于该新加入节点的数值,那么就不做变化,若父节点的数值小于该新加入节点的数值,那么就将该节点与父节点进行调换,然后继续再与下一个父节点进行比较,直到该节点成为根节点或者父节点大于该节点的情况就停。这样做的目的是为了将此完全二叉树变成一个大根堆。时间复杂度O(NlogN)
2023-09-14 23:43:24 74
原创 简单排序算法
简单来说,插入排序就是i遍历1到n-1,每一次将i之前的数组序列给排序好。因为在i之前的数组序列已经是有序的了,所以只要确定arr[i]在i之前的数组序列中的位置即可,找到他的位置之后将其插入进去。简单来说,就是将每次遍历的最大值放到最后,两两比较,将较大的值换到后面的位置,直到将最大值放到最后。其实说白了,就是依次将数组中的当轮最小值调到了当轮数组序列的最前面。以上排序算法的时间复杂度都为O(N^2)
2023-09-08 18:07:55 30
原创 Vue基础知识汇总
自定义指令总结:一、定义语法:(1).局部指令:new Vue({new Vue({directives:{指令名:配置对象} 或 directives{指令名:回调函数})})(2).全局指令:Vue.directive(指令名,配置对象) 或 Vue.directive(指令名,回调函数)二、配置对象中常用的3个回调:(1).bind:指令与元素成功绑定时调用。(2).inserted:指令所在元素被插入页面时调用。(3).update:指令所在模板结构被重新解析时调用。
2023-05-17 15:47:50 1319
原创 Java接口
final修饰的变量是引用类型:那么变量存储的地址值不能发生改变,但是地址指向的对象内容是可以发生变化的(例如类)。接口是用来被类实现的(类似于抽象类必须被子类继承),实现接口的类称为实现类。一个类实现接口,必须重写完全部接口的全部抽象方法,否则这个类需要定义成抽象类。私有方法:private修饰,jdk9开始才有的,只能在接口内部被调用。final关键字是最终的意思,可以修饰(类,方法,变量)接口和接口的关系:多继承,一个接口可以同时继承多个接口。接口可以被类单实现,也可以被类多实现。
2023-05-08 23:58:23 31
原创 Java面向对象(static,继承)
static是静态的意思,可以修饰成员变量和成员方法。static修饰成员变量表示该成员变量只在内存中只存储一份,可以被共享访问,修改。(static修饰,属于类,内存中加载一次):常表示如在线人数信息等需要被共享的信息,可以被共享访问。访问格式:类名.静态成员变量(推荐)对象.静态成员变量(不推荐)(无static修饰,存在于每个对象中):常表示姓名name,年龄age,等属于每个对象的信息。访问格式:对象.实例成员变量(有static修饰,归属于类),建议用类名访问,也可以用对象访问。
2023-04-20 23:12:42 58
原创 Go语言学习-----Gorm数据库框架基础(Day6)
gorm定义Model是通过结构体的方式,gorm使用名为ID的字段作为主键,使用结构体的蛇形复数作为表名(在没有定义表名的情况下),字段名的蛇形作为列名(在没有主动定义列名的情况下)使用CreatedAt,UpdatedAt字段作为创建,更新时间。// gorm.Model 的定义Code string // 设置默认值Price uint // 设置默认值。
2023-01-23 11:50:15 243
原创 Go语言的自动内存管理及优化(字节跳动Balanced GC优化方案)(Day5)
自动内存管理概念介绍和Go语言的自动内存管理及优化介绍(字节跳动Balanced GC优化方案)
2023-01-20 11:06:03 456
原创 Java运算符
java学习笔记1.&逻辑与, 必须都是true,结果才是true,只要有一个是false,结果一定是false2.|逻辑或,只要有一个为true,结果就是true3.!逻辑非,!false=true4.^逻辑异或,如果两个条件都是false或者都是true则结果是false。两个条件不同的结构是true5.&&短路与,若前面为false,后面不再执行,相对于单&提升了运行效率6.||短路或, 前一个为true,后一个条件不执行了。
2022-12-28 09:17:08 40
原创 腾讯云Ubuntu部署Django(Django + uwsgi +nginx + MySQL)
本文将介绍django + uwsgi + nginx + mysql如何部署在腾讯云Ubuntu18.04。
2022-12-19 21:57:02 1327
原创 爬虫报错requests.exceptions.ProxyError:/Failed to establish a new connection: [WinError 10061]
报错:requests.exceptions.ProxyError: HTTPSConnectionPool(host='www.baidu.com', port=443): Max retries exceeded with url: / (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('
2022-11-09 16:46:05 1084 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人