- 博客(38)
- 收藏
- 关注

原创 解决浏览器自动将http跳转至https导致无法访问的问题
最近在宝塔面板申请免费的SSL证书后,部署证书的80端口下的网站可以通过https正常访问,但其他未部署证书的端口也被强制跳转至https请求,导致浏览器提示不安全从而无法访问。宝塔的8888端口也不能访问,当时那是一个慌。在安装配置SSL证书时,可以使用一种能使数据传输更加安全的Web安全协议,即在服务器端上开启HSTS ,它会告诉浏览器只能通过HTTPS访问,而绝对禁止HTTP方式。因此,只要关闭浏览器的HSTS功能就可以解决这个问题,但是只能通过特定的方式,而不是清除浏览器缓存那么简单。
2022-10-27 10:02:23
20830
7
原创 Redis 使用小记
性能方面,对于小型对象,RAM的速度和内存带宽对全局性能的影响不太明显。例如,当哈希、列表、集合由纯整数组成,并且元素数量小于一定数目时,Redis会使用一种非常内存高效的编码方式,这可以节省多达10倍的内存(平均节省5倍内存)。然而,这并不是没有代价的,因为ziplist(一种用于小型哈希、列表和有序集合的内部编码方式)在CPU使用上可能会有所折衷。哈希表适合存储对象的属性或配置信息,支持对每个字段进行单独的操作,如添加((String)是两种基本的数据结构,它们各自有不同的性能特点和适用场景。
2024-04-13 17:42:58
1154
原创 不同类型的 I/O 实现方式和组件
在计算机系统中,输入/输出(I/O)是指计算机和外部设备之间的数据交换。I/O 操作通常涉及到磁盘、网络、键盘、显示器等设备,它们的速度和性能都远低于计算机的内存和处理器。因此,I/O 操作往往是计算机系统中的性能瓶颈,影响着应用程序的效率和用户体验。为了提高 I/O 的性能和并发性,人们设计了不同类型的 I/O 实现方式和组件,它们各有优缺点,适用于不同的场景和需求。
2024-02-10 14:32:14
816
原创 WebSocket 协议的原理和实践
WebSocket 是一种基于 TCP 的双向通信协议,它可以在客户端和服务器之间建立一个持久连接,并且可以在连接生命周期内进行数据的传输。
2023-12-14 23:00:29
1326
1
原创 实时消息推送技术一览
首先,我们来看看基于HTTP的技术。HTTP是一种请求-响应的协议,客户端向服务端发送请求,服务端返回响应。这种模式在传统的网页浏览中很有效,但是在实时通信中有一些缺点。比如,客户端必须主动发起请求,服务端不能主动推送数据;每次请求都需要建立一个新的连接,消耗资源和时间;如果没有新的数据更新,服务端也会返回空响应,造成浪费。 为了解决这些问题,出现了一些基于HTTP的实时消息推送技术。其中最简单的一种是轮询(Polling),即客户端每隔一段时间向服务端发送请求,询问是否有新的数据更新。
2023-05-05 00:37:37
1379
原创 运行VUE项目时,出现npm ERR! A complete log of this run can be found in:...报错
运行VUE项目时,出现npm ERR!A complete log of this run can be found in:报错时,分享以下一种解决方案。
2022-08-06 13:36:19
9580
5
原创 C语言 strlen() 函数与 char 型的一些问题
先来看一个问题:#include<stdio.h>#include<string.h>int main() { char a[1000]; for (int i = 0; i < 1000; i++) { a[i] = -1-i ; } printf("%d %d", strlen(a), sizeof(a)); return 0;}看到这个代码,你认为输出的结果应该是多少呢?输出结果:在解释这个结果前,首先对strlen()
2022-04-14 14:18:57
922
2
原创 Golang——位运算
目录原码、反码、补码位运算符和移位运算符我们知道计算机在进行运算时,是以补码的方式进行运算的,由此先对补码进行简单介绍:原码、反码、补码对于有符号的而言: 二进制的最高位是符号位,0表示正数,1表示负数 正数的原码、反码、补码都一样 负数的反码 = 原码符号位不变,其他位取反 负数的补码 = 反码 + 1 0的反码、补码都是 0 位运算符和移位运算符Go中有三个位运算两个移位运算移位运算和位运算的一些例子:..
2022-03-18 16:47:08
1088
转载 Mysql only_full_group_by与Error 1055问题分析
MySQL错误代码:1055 解决办法一、 MySQL版本 二、 问题描述 1. 问题描述 2.ONLY_FULL_GROUP_BY-SQL示例 三、解决办法 1.方法一 2.方法二(临时) 3.方法三(永久) 四、sql_mode常用值一、 MySQL版本MySQL版本:8.0.11(5.7亦可)二、 问题描述1. 问题描述 ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP B..
2022-03-18 09:08:23
298
原创 Golang——指针,标识符
目录基本介绍使用细节值类型和引用类型值类型引用类型标识符命名规则基本介绍与c的指针类似用&获取变量的地址用*获取自身保存地址中的变量值使用细节值类型,都有对应的指针类型,形式为 *数据类型,比如int的对应的指针就是 *int , float32 对应的指针类型就是 *float32 ,依次类推。值类型和引用类型值类型基本数据类型 int系列,float系列 ,bool , string 、数组和结构体struct变...
2022-03-17 19:14:06
324
原创 Golang——映射
目录映射声明和初始化映射添加项删除项映射中的循环映射大体上来说,Go 中的映射是一个哈希表,是键值对的集合。 映射中所有的键都必须具有相同的类型,它们的值也是如此。 不过,可对键和值使用不同的类型。 例如,键可以是数字,值可以是字符串。 若要访问映射中的特定项,可引用该项的键。声明和初始化映射创建一个包含学生姓名和年龄的映射:package mainimport "fmt"func main() { studentsAge := map[st..
2021-12-31 17:30:11
406
原创 Golang——切片
目录切片了解切片声明和初始化切片向切片中添加元素删除元素创建切片的副本数组和切片的区别数组:切片:切片了解切片与数组一样,切片也是 Go 中的一种数据类型,它表示一系列类型相同的元素。 不过,与数组更重要的区别是切片的大小是动态的,不是固定的。因此,可以将切片看作可以变化大小的数组。遍历切片、访问切片的元素、求长度的操作与数组相同。声明和初始化切片第一种方法:使用makevar slice []int = make([]in.
2021-12-30 12:15:01
456
原创 Golang——数组
目录数组声明数组初始化数组数组声明数组要在go中声明数组,必须定义其元素的数据类型以及该数组可容纳的元素数目。然后,可采用下标表示法访问数组中的每个元素,其中第一个元素是0,最后一个元素是数组长度减去1(也可以看作长度“-1”)。package mainimport "fmt"func main() { var a [3]int a[1] = 10 fmt.Println(a[0]) fmt.Println(a[1]) f...
2021-12-27 18:20:44
724
原创 Golang——选择、循环
目录if/elseif语句的语法复合if语句switch case基本语法使用多个表达式调用函数使逻辑进入到下一个case语句for基本语法空的预处理语句和后处理语句continue&break使用 defer 函数进行控制defer函数if/elseif语句的语法与c语言不同的是,在Go中,你不需要在条件中使用括号,但是,大括号仍然是必须有的。此外,为了减少行,go语言不支持三目运算符“?:“,因此每次都需要编写完整的if语句。
2021-12-26 14:33:25
227
原创 Golang——变量、类型
目录声明和使用变量(go要求使用者声明的变量必须使用,否则会报错)声明变量初始化变量声明常量声明和使用变量(go要求使用者声明的变量必须使用,否则会报错)声明变量若要声明变量,需要使用 var 关键字:var a int//声明一个int型的名为a的变量var b,c string//声明两个类型相同的变量时,可在一行实现同时,可以通过一个“块”来声明变量:var( a int b,c string)初始化变量在声明变量时,你可能需要为...
2021-12-25 14:36:06
314
原创 LeetCode 1447.最简分数
给你一个整数n,请你返回所有 0 到 1 之间(不包括 0 和 1)满足分母小于等于n的 最简分数。分数可以以 任意顺序返回。示例 1:输入:n = 2输出:["1/2"]解释:"1/2" 是唯一一个分母小于等于 2 的最简分数。示例 2:输入:n = 3输出:["1/2","1/3","2/3"]示例 3:输入:n = 4输出:["1/2","1/3","1/4","2/3","3/4"]解释:"2/4" 不是最简分数,因为它可以化简为 "1/2" ...
2021-12-24 16:19:30
275
原创 求最大公约数与最小公倍数
目录求最大公约数的方法一、更相减损法二、辗转相除法条件表达式写法:求最小公倍数的方法求最大公约数的方法阅读前提:具有c语言基础,了解基本数学知识一、更相减损法两个正整数a和b(a>b),它们的最大公约数等于a-b的差值c和较小数b的最大公约数。我来介绍一下这个算法的优点,就是避免了大整数取模导致效率低下,但是运算次数要比辗转相除多得多,所以我们在使用的时候需要判断一下。代码:int gcd(int a,int b){ if(a==b) ...
2021-12-24 16:07:51
472
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人