自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 Java写继承子类的时候报错There is no default constructor available in ‘子类名‘

Java写继承子类的时候报错There is no default constructor available in ‘子类名’最近因为工作需要,不得不开始学习Java,跟着教程学习过程中也遇到了不少的问题,在这里总结记录一下。我写了一个父类,在写继承子类的时候出现的报错,父类代码如下:public class Person { private String name; private int age; /* public void setName(String nam

2021-09-14 15:06:03 3386

fiddler everywhere iphone手机端抓包配置

fiddler everywhere iphone手机端抓包配置pc端配置iphone手机端配置pc端配置App首页右上角打开设置按钮,选中https tag下的内容,以支持对https请求的获取。connections标签下选择,允许远程计算机连接,这样就允许别的机器把HTTP/HTTPS请求发送到Fiddler上来,使其充当代理。端口默认为8866,也可以更改。iphone手机端配置设置---- 无线局域网—点击所连接Wi-Fi后边的i标识-----划到底部后选择HTTP代理下的“配

2021-04-06 15:52:57 692

原创 Mysql group by查询时报错

Mysql group by查询时报错:ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘student.tt.article’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only

2020-09-20 18:13:10 239

原创 Get和Post的区别

最近在为秋招作准备,看了一些面经发现这个问题出场率还挺高,在这总结并补充一下自己看到过的答案。get主要是从服务器获得资源,post是上传数据;get在回退或者刷新的时候并不会有什么影响而post会重新提交表单;get会将数据写在URL中进行传输,而post不会,就这点来说post会比get更安全一点。但http是基于tcp/ip模型的应用层协议,而get和post只是http请求的两种不同的方法,他们都是基于http实现的,而http是明文传输的,所以本质上来说其实都是不安全的,都可以通过抓包工具

2020-09-04 23:02:37 157

原创 golang中关于字符串的修改(string、rune、byte)

今天在刷算法题的时候遇到了一个小问题,原问题是将字符串中的空格用其他字符进行替换,我选择了在不创建新空间的前提下原地修改实现,提交的时候发现在替换字符的时候出错。去了解了一番发现:string类型是引用类型,它由指针和字节数组两部分组成。整个字符串底层其实就相当于是一个字节数组[]byte,所以一些对数组、切片的操作,比如说截取str[2:]、按索引取值str[6]都可以在字符串中应用。但是对于append操作,字符串是通过+来实现的或者strings.join实现。字符串相当于是长度固定的数组,其值

2020-08-21 15:57:21 1080

原创 网站部属到服务器运行出现502、504错误

将静态文件部属到服务器通过执行可执行文件在后台运行,前端输入url访问发现出现502,504错误。而本地运行正常,排查发现是安全组问题。首先进入实例列表,点击进入实例详情。然后点击“本实例安全组”—“配置规则”...

2020-08-20 10:11:49 524

原创 部属前端静态文件到CDN节点详细步骤记录

记录部属前端的静态文件到CDN节点需要注意的一些问题。只将静态文件部属过去是运行不起来的,还需要将.main文件部属过去进行驱动

2020-08-14 23:20:16 1779

原创 ARP与RARP协议原理解析

ARP是地址解析协议,每台主机都有一个ARP缓存区,里边保存着同网络中IP地址到MAC地址的映射。他只能解析同一物理网络上的MAC地址。下边举个例子来说明ARP协议的工作原理,假设A要向B发送数据,此时只知道B的IP地址,IP包总要通过物理网络传输,它需要知道目的主机的MAC地址。(⚠️IP地址并不标示一台主机而是标示一台主机与网络的一个连接)A首先从自己的ARP缓存表查询是否有B主机IP到MAC的映射,如果有那么向B发送数据即可如果没有查询到那么A会向本网络的所有主机广播ARP请求报文,该数据.

2020-08-05 21:47:49 681

原创 阿里云服务器添加CDN

记录自己第一次的操作首先你需要准备好一个阿里云账号以及一个解析好的域名,然后需要购买服务器。(⚠️只有经过备案的域名才能购买国内的服务器,但是因为备案需要购买三个月以上的服务器且备案时间需要半个月之久,所以我选择了不备案购买香港或者国外的服务器同样可以正常使用)购买服务器:点击首页右上角的“控制台”进入到如下控制台页面,再按箭头提示操作进入到下图页面后点击创建实例购买服务器。因为我是在腾讯云购买的个人域名,备案的话还需要购买腾讯云3个月的服务器,所以我就没有进行备案,没有备案但是又想使用的话

2020-08-05 15:38:21 1236

原创 CDN一些概念以及原理

在这里记录一下项目中遇到的一个问题,项目中用到了CDN(内容分发网络),在网上了解了一些基础知识,在这记录一下。CDN就是在用户和服务器之间增加了cache层,将网站的内容发布到CDN上使得用户可以就近获得所需的资源。它解决了不同地域的用户访问网站时候存在访问速度的差异,大大提高了响应速度,同时还能解决用户访问量大的问题,降低了源网站的压力。一些概念:DNS提供域名到IP地址的映射,为了实现该功能它需要维护叫做资源记录的数据(resource record),资源记录有很多类型比如A(address)

2020-08-05 10:15:33 349

原创 从在浏览器地址栏输入地址到按下回车之后到底都发生了什么?

遇见这个题好久了,看到很多答案,有很多坑也有很多精华,在这里整理出自己的答案~如果有哪些步骤不合理或者存在问题希望小可爱们指正~在浏览器地址栏输入地址的时候,浏览器就已经在从书签或者历史记录等地方中查询并进行智能补全。DNS查询:(1)按下回车后首先会检查浏览器中是否有缓存,如果有且未过期那么直接返回,否则(2)会去查找系统运行内存中的缓存,过程同上,如果依旧没有(3)会去查找本地的hosts文件配置,如果仍无对应地址的IP会去请求(4)本地的网络服务提供商(ISP),因为一些ISP也会提供缓

2020-08-04 22:04:03 1411

原创 goland包导入正常但是方法全部无法解析而编译又不报错

昨天早上一打开goland发现一片红,iris包下的方法全红,鼠标移动到爆红的方法上查看错误提示说是unresolved reference xxx,尝试编译代码发现程序竟然没有错误???虽然不影响程序运行但是满眼的红确实有点闹心且接下来再写代码的时候包里边相关的方法也不会进行提示和自动补全了。在网上找了各种方法尝试今天早上终于恢复了。。在这记录一下。我是用的方法一恢复的。方法一:以上步骤完成以后需要重启Goland。方法二:(该方法是清除缓存,百度发现有的人通过该方法恢复了,但是我没效果。。。

2020-08-04 10:19:30 12641 8

原创 golang实现页面访问权限控制(验证用户是否登陆)

这是对自己最近一个小项目中问题的记录,需求是只有登录的用户才能进入到该页面,所以需要在该页面进行判断用户是否登陆,开发用到了iris框架,这里用到中间件来实现这个功能。主要思路是:要实现该功能需要设置一下cookie,在登录页面提交的表单中将用户ID保存到cookie中,在受到权限的页面获取用户ID并判断是否为空,若为空则跳转到登录页面进行登录,否则则可以进入到该页面。登录相关代码如下:func (c *UserController) PostLogin() mvc.Response{ var

2020-08-03 21:19:19 1533 1

原创 计算机网络相关知识整理——三次握手与四次挥手那些事儿

TCP建立连接的过程叫做握手,在建立可靠的数据传输通道后才会进行数据的传输,断开连接的过程叫做挥手。所谓的三次握手,4次挥手中的次数指的是在建立、断开连接过程中传送的报文段的次数。在介绍握手和挥手之前我们需要先了解在这其中需要用的TCP里边的几个标志位:SYN(请求建立连接),seq(顺序号,作用是使得一个TCP接收端可丢弃重复的报文段),ACK(确认),ack(确认号),FIN(结束即请求断开连接)。1. 三次握手(1)过程解析:客户端A主动向服务器B请求建立连接,在这之前AB都处于closed

2020-07-21 09:42:46 176

原创 go——内存逃逸分析

1.首先解释一下什么是go中的内存逃逸分析:go在编译阶段确定内存分配到栈上还堆上。在go中这个操作是编译器来完成的,我们只需要通过go build -gcflags=-m通过行号即可清楚的观察到内存逃逸现象。2.为什么要进行逃逸分析?我们知道栈内存分配和释放都非常快,而堆内存需要go的垃圾回收机制来回收处理。如果变量都分配到堆空间中,它需要go频繁的调用垃圾回收机制来进行处理,而gc会占用大量的系统开销,所以通过逃逸分析来把不需要分配到堆内存的变量直接分配到栈上,以减少分配堆内存的开销和不必要的g

2020-07-05 10:39:34 1010

原创 golang 通过os包判断一个文件(夹)是否存在

记录一个小功能标题所要实现的功能主要通过os.Stat(fileName)来实现,该方法有两个返回值:(1)返回文件描述的相关信息,包括文件名,大小等,(2)err值通过err==nil与否的值来判断该文件夹是否存在,也可以通过os.IsExist(err)返回的bool值来确定文件是否存在,具体代码如下:func exist(fileName string) bool{ //os.Stat用于获取文件属性 _,err := os.Stat(fileName) return err == nil

2020-06-28 17:41:40 1909

原创 go mysql实现数据库查询结果映射到结构体相应字段中

上一节实现了对数据库查询结果的一个简单操作,将数据保存在map中,以方便进行后续的操作。这一节将继续介绍如何将数据库查询到的结果映射到结构体字段中,映射时主要通过结构体中的tag标签来实现匹配映射。这个操作需要用到go中的reflect包来实现。主要思路是:循环取出映射中的数据,然后比较取出的数据与结构体成员变量的类型是否一致,如果一致直接映射,不一致则先进行类型转换再通过FieldByName().Set()进行映射.下边介绍整个过程中需要注意的点:这个函数的第一个参数是要进行映射的数据,第二个参数

2020-05-21 15:55:30 5563

原创 go mysql 实现数据库不定字段查询匹配

假定已连接数据库,查询分为单条数据查询和所有数据查询。以下将分别介绍这两种情况。单条记录查询(结果暂存map中)首先编写需要查询的sql语句。sql := "select * from “+tableName +" where id = "+Id执行查询语句row,err := db.Query(sql) defer row.Close()。这里要注意其实单条查询可以用QueryRow,但是它返回的是*row类型后边涉及到读取字段名的操作只能用*rows类型。接下来的思路是将从数据库读取到的*Row

2020-05-21 15:09:58 1249 3

原创 计算机网络相关知识整理——数据链路层的那些事儿

数据链路层将物理层的比特封装成帧,在相邻节点间进行帧的传输,其主要是在一条不太可靠的通信链路上实现可靠的数据传输。1.数据链路控制机制停等ARQ基本思想:发送方发送一个数据帧后停下来,等待接收方发送回来的ACk,ACK到达后才继续发送下一帧数据。差错分析:(1)数据帧出错:接收方返回一个NAK,发送方重新发送数据;接收方直接丢弃错误数据,在发送方设置一个定时器,超时直接重发(2...

2020-03-25 14:31:12 342

原创 计算机网络——体系结构

最近在复习计算机网络的一些知识,将其整理出来也算作为一种回顾。这一节简单介绍两种体系结构及其优缺点和差别。后续章节将会具体介绍每一层中的具体知识及相关协议等。1. OSI/RS(开放系统互联参考模型)OSI/RM是一个概念性框架,采用分层结构,每一层都有独立的协议。分层的好处是:(1)结构简单,功能单一(2)层间无关性:上层向下层请求服务,下层向上层提供服务(3)将复杂问题简单化,高层屏蔽了...

2020-03-24 17:21:20 523

原创 golang实现算法-旋转数组

golang实现算法-旋转数组上一篇文章介绍了如何在旋转数组中寻找最小值,接下来介绍以下如何实现旋转数组。描述如下:给定一个数组,一个旋转值k,其操作是将数组元素右移k。想象成所有的数组元素在容器内滚动播放,k决定了滚动量。举例如下arr := []int{1,2,3,4,5},k=2,则右移第一步时,arr = []{2,3,4,5,1}右移第二步时,arr=[]int{3,4,5,1,...

2020-03-06 23:27:27 557

原创 golang实现算法-找出旋转数组中的最小元素

找出旋转数组中的最小元素题:输入一个有序数组的旋转数组,要求输出旋转数组的最小值。我们需要关注以下问题:1.首先理解一下什么是旋转数组,设arr1 = []int{1,2,3,4,5,5},旋转值为2,则其旋转数组为[]int{3,4,5,5,1,2}。可以理解为数组arr=[arr1,arr2]旋转后变为[arr2,arr1]2.因为是一个有序数组的旋转,我们可以发现旋转后数组不再是单调...

2020-03-06 15:53:38 270

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除