自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 对于windows11软件打不开的解决方案

你在电脑上下载的软件本来可以好好运行,但是某一天突然不行了,就感觉很奇怪。

2023-11-08 10:01:46 1049

原创 git保姆级操作

网上有很多git相关的教程和文章,解决各种问题冲突,实际上只需要记住几个命令和场景就可以了不能说百分之百,但如果你这样敲,出错的概率不会很大!!!!

2023-10-23 15:57:52 134

原创 亚信科技面试

首先先吐槽一下,随便投的亚信,上面要求会一种后端语言即可,我golang的就投了。今天晚上8点突然打电话说有空吗,我以为是约面试,谁知道是直接面试,赶紧找个地方坐。主要是我的简历上全是golang,怎么全部问java,幸好学过。2.有没有转正机会(他说肯定有啊,他们这个实习需要大四就待在他们公司,一个月就3300.。4.后面会有二面三面吗(他说应该没有了,之后人事部门会来给我对接)3.建立一个快速的springboot微服务,核心依赖是什么。6.mysql的联表查询有几种方式,各个关键字的不同点。

2023-05-16 08:39:05 1036 9

原创 go导入mysql库出现错误

go get: module github.com/go-sql-driver/mysql: Get "https://proxy.golang.org/github.com/go-sql-driver/mysql/@v/list": dial tcp 142.251.42.241:443: connectex: A connection attempt failed because the connected party did not properly respond after a period o

2023-04-06 20:33:53 465

原创 go后端项目服务器部署

花了几天时间把两种方式做了一遍,把思路彻底理清,第二种docker需要你去学一下docker。

2023-02-25 11:16:57 1027

原创 Spring boot项目出现500错误

我们在学习过程中碰见最多的除了404,几乎就是这个500,有很多大佬说的过于复杂了,其实在出现所谓的空指针而早就的500,更多的就是数据库的问题,自己的表里的键与实体类的变量名,变量类型不一致造成的,还有就是注解的遗忘,这些都是小问题,但我们总是遗忘,就出现了这种实际上很简单但是解决起来比较麻烦的问题。

2022-12-19 19:53:03 6054

原创 简单解决go出现大量 undefined

go程序运行出现大量undefined,多文件加载问题

2022-11-22 08:57:38 3954

原创 在navicat里初始化表后添加字段,字段在前段不能显示

这段时间一直在忙发热信息统计的项目,里面涉及到权限管理,还有token,jwt的使用,权限管理使用casbin,连接mysql使用gorm,今天我说的是在接口测试的过程中,出现的一些mysql操作上的小问题,都是平常的细节没有处理到位。...

2022-07-19 14:39:44 1602 2

原创 goland连接外部服务器

刚把linux操作系统的相关配置搞完,对于自己的电脑上存在了两个不同的操作系统,就想要把两个主机连接起来,只不过我的linux使用的是虚拟机,但是不妨碍,在用goland连接之前,我用了一些第三方APP来连接两个主机,从而完成文件的交互,下面我就着重说说我的goland连接外部服务器。打开goland→点击文件→点击设置→点击插件→在搜索框里输入Remote Hosts Access我的已经安装过了,没有安装的下载后,需要重启IDE点击设置→点击(构建,执行,部署)→点击部署第一次肯定是空的,点击左上角

2022-07-12 15:07:34 1254

原创 session与cookie

我下面的故事是自己由别人的思路编的,故事思路是模仿小奇,很有意思的一个博主,你百度搜一下就行,我编的不好,说实话我自己都看不下去,我花黑线的都是重点,这些题的答案都是我自己说的,主要是便于理解但,是如果你连基本的客户端与服务端都扯不清,就不要看了你叫老六,在一个晴朗的星期天,你拿着手中已经满是皱纹的简历去一个不大不小的园区,心中一直有个疑问,为什么我会被安排在星期天来面试呢(其实我也想问不应该在线上面吗),算了不管了,来都来了。你赶紧啃完最后几口的馒头,是的已经穷的只能吃馒头了。刚进去,OL小姐姐就开始领着

2022-07-09 14:57:16 343

原创 分布式与集群

你问我什么是分布式,我这样给你说,一个餐请本来只有一个厨师,生意开始越来越火,没办法又找了一个厨师,我们结社这两个厨师都会做一样的菜,而且菜的口味都差不多,这个时候他们就是一个集群,为了方便工作,有多找了个洗菜的。那么洗菜的与厨师就是分布式。经典的web应用三层:客户端(表现层),web服务器(中间控制层),数据库服务器(数据层)表现层就是前端的页面,HTML/JSP中间控制层:各种接口,项目开发中一般处理前端数据以及数据库数据的增删改查,也包括对于前端页面的联系列如gin框架数据层:不仅包括数据库里的

2022-07-09 14:49:19 288

原创 Nginx的项目部署方案

Nginx的反向代理功能反向代理功能是Nginx的最常用功能之一,反向代理就是由代理服务器来接收Internet上的连接请求,并把它发送给内部网络的服务器,从内部网络上返回的信息结构返回到Internet上的客户端上,这时的代理服务器对外表现就是一个反向代理服务器。至于为什么要使用代理,在实际的开发中,我们服务器的内网往往与外网是不同的,这时就需要一台代理服务器既可以访问外网又可以访问内网来做中转,这个代理服务器也就是反向代理服务器。Nginx作为反向代理服务器,简单的配置如下:Nginx的负载均衡功能

2022-06-22 10:58:01 771

原创 Resful API项目的各个部分功能理解

HTTP API服务器的启动流程这是文档上的原图,非常清晰。也如图所示,在启动一个API后,会先解析配置文件,一般日志对应的配置信息都存在,加载日志包就可以初始化函数来初始化日至实例,供后面的程序使用。接下来建立数据库连接,服务于数据库的CRUD操作,数据库连接之后就要设置HTTP,通常包括设置Header,注册路由,以及注册中间件。一般都是调用net/http第三方库中的ListenAndServe()方法启动http服务器。在启动Http服务之前,程序会go一个协程,来ping /sd/health接

2022-06-21 16:26:25 271

原创 HTTPS加密协议

而HTTPS的安全基础是SSL。两种基本的加解密算法类型1.对称加密:就是一直只用一个密码,客户端与服务端所有的加密解密只使用一个钥匙,加密解密速度快。2.非对称加密:密钥是成对出现的,但是根据公钥是无法退出私钥的,反之亦然。加密解密的密码是不同的,公钥是由私钥解密的,私钥通过公钥解密,加密解密速度慢那么对于两者的优缺点,我们可以进行混合加密,就是交换密钥的时候采用非对称加密,而在客户端以及服务端之间的通信我么采用对称加密数字证书为了应对身份伪装的问题,我们引入数字证书的概念。服务端首先向一个大家都认

2022-06-18 17:05:54 501

原创 go简单操作redis

安装包的下载这两种都可以,一般引用第一个,go get不用多说了吧这个上一篇说过,这次把截图附上monitor命令是监听的意思,可以帮我们看看go操作redis的记录,便于我们理解123456是我自己的密码,大家改成自己的就行结果如下提醒一下,如果运行不了,报出runtime.main_main·f: function main is undeclared in the main package,你把ConnRedis() 改为main()就行了,我这里便于后面区分主要就是set以及ge

2022-06-08 21:01:54 3398

原创 grom的理解与掌握

前言什么是gormgorm是一种数据库操作辅助工具,在我们go的结构体和数据库之间产生映射,让我们对数据库的关系,标的内容,直观的体现在结构体上,使用结构体即可完成增删改查操作使用gorm进行数据库操作gorm如何链接数据库导入gorm-------导入mysql驱动器----------使用open链接得到数据库操作对象(以mysql为例)do,err:=gorm.Open(“mysql”,“user:password@/dbname?charset=utf8&parseTime=Tr

2022-05-07 09:49:53 854

原创 go基础开发的聊天室(二)

前言前一篇说了聊天室客户端的实现,这一篇就接着上篇讲服务端,与很多聊天室不同,我在服务端里加入了管理员,管理员与普通用户的功能相比多了屏蔽发言,以及踢出群聊的功能数据的接收与发送和客户端的没什么不同func recv(recvData chan string, conn net.Conn) { for { buf := make([]byte, 1024) n, err := conn.Read(buf) if err != nil { connection <-

2022-04-23 15:29:26 563

原创 使用go基础开发的聊天室(一)

前言以前从来没有开发过像聊天室这样的通讯项目,所以刚开始写的时候有点茫然,在百度上搜了大量的博客,我不太喜欢看视频。发现很多博主写的都太简单了,功能只有群发消息,私发。还有一些写的很好大事涉及到了go的框架,还有就是使用了redis,不是我说很少见写聊天室使用mysql的,我的百度搜的就是这些。最终结合视频(还是要看视频)以及自己的筛选,写了这个聊天室。我准备分两篇来写。功能介绍1.服务端添加了管理员,管理员可以屏蔽某个人,给某个人私发消息,群发通知,把某人踢出群聊2.客户端主要是群发,私发,3.

2022-04-23 10:40:07 206

原创 使用go开发的并发爬虫

前言以前使用过python写过爬虫,python丰富的第三方库为我提供了很大的便利。那么对于go语言,它的优点就在于协程的使用,如果把协程的思想用于爬虫,实现并发,是不是更方便呢。基本思路1.初始化一个数据管道2.爬虫写出:创建多个协程用于添加图片,我这里添加50个协程向管道中添加图片链接3.任务统计协程:检查50个任务是否都完成,完成则关闭数据管道4.下载协程:从管道里读取链接并下载先来看看我们用到的标准库...

2022-04-21 22:14:58 2825 5

原创 go初学篇(八)之并发,通道

前言go语言是并发语言,至于并发与并行的区别,简单来说就是,并发就是同时处理很多事情,它强调的是处理能力,并不是同时在做,并行就是同时在做多个事情,举个简单的例子,你在敲代码,口渴了去喝水(水杯就在旁边),你能同时处理这两件事,就叫并发,你也可以边敲代码边听音乐,这就是并行,并发强调事务的交叠性,并行则强调事务的同时运作。进程,线程,协程进程这有什么难理解的,你电脑上每时每刻都有多个进程,简单说就是正在执行的程序,是cpu资源分配与调度的独立单位,进程创建,撤销以及切换的开销是比较大的线程 被称为轻

2022-03-22 21:13:44 384

原创 go初学篇(七)之接口

前言面向对象中对于接口的定义是“接口定义对象的行为”,侧重于指定对象应该做什么,java面向对象中的java就是为了解决java类不能多继承的短板。但是在go中,接口就是一组方法集合,规定实现它的类的行为规范,一个对象实现了这个接口的全部方法就是继承了这个接口1.接口的定义type 接口名 interface{方法方法方法}代码实例type Phone interface { call()}type privatePhone struct {}func (taoPho

2022-03-21 17:03:22 634

原创 go初学篇(六)之结构体

前言众所周知数组是存取同一类型的数据,要存储不同类型该怎么办呢,结构体由此而生,java,C语言中也都有结构体结构体的定义和初始化一般格式:type 结构体名称 struct{变量变量变量}初始化按照变量的顺序提供,注意顺序不能乱,因为类型不一p:= person{“Tom”,25}加上变量名,可以任意顺序p:=person{age:25,name:“Tom”}new方式未设置类型,会赋予默认类型p:=new(person)p.age=24一般通过点.操作符来访问结

2022-03-21 08:24:45 397

原创 go初学篇(五)之指针

前言对于指针,C语言可是靠着这个东西混的游刃有余,go创作初继承了大量C的属性,所以指针就是必不可少的,而go的指针和C也有很大不同。咱们也不用深究不同点,只要知道指针是存储一个变量内存地址的,它本身也是一个变量。1. 获取变量的地址 在go语言中取地址符为&,往往放到一个变量的前面,用来返回相应的内存地址 var a int = 1 fmt.Printf("变量的地址: %x\n", &a) 变量的地址: c0000aa0582. 声明

2022-03-19 14:34:44 596

原创 go初学篇(四)之Map

前言:上一篇着重说了数组与切片,这一篇我们就来说说说Map映射,对于Map很多语言都有,它是将值与键关联起来的集合,一般都是用相应的键去检索值,虽然我们可以和数组和切片一样去迭代它,但是它迭代返回的结果是无序的,因为Map是通过hash表来实现的,所以使用Map需要注意以下几点:map是无序的,每次打印的结果都不一样,只能通过键key获取map的长度不是确定的,也是一种引用类型map同样使用len函数,可以返回其中key的数量map的key可以是所有可以比较的类型,布尔型,整形都可以

2022-03-18 15:26:02 1141

原创 go初学篇(三)之数组切片

前言上一篇将go的初级语法(主要是变量和常量的内容),基础数据类型简单说了一下,到了这里大家一般都已经了解到了go的初级基础,那么对于任何一门语言数组是离不开的,数组的一系列操作在语言代码中有着很大的不同,相比于大多数语言,go的数组显得局限,因为在go中数组是一种值类型,一旦被定义,他的容量必须是固定,所以想要对其进行扩容就是不可能的,为了解决这个比较尴尬的场景,go团队引入了切片的概念,而切片的功能比其他语言的数组还要厉害几分。数组1.一维数组的定义与使用1.1.定义一个数组数组的格

2022-03-17 17:30:25 2583

原创 go初学篇(2)

前言:上一节把go的相关环境以及配置,以及goland的下载创建项目说了一下。做完这些以后我们就可以开始好好认识学习这门语言了,在学习之前,要知道go语言是C系的,与java等面向对象不同,它没有面向对象的概念,也没有类,但并不是说它难学,相反它的写法看上去和js弱语言相似,但是确实一门地地道道的强语言(后面敲代码就可以看出来),学过C语言的同学应该学的更快,上手更利索一些,因为go的研发者就是奔着让C系的程序员容易快速上手去的。好了,废话不多说,我们这篇主要围绕go的基本语法,变量,数据类型来说。

2022-03-16 16:19:13 568

原创 go初学篇(1)

1.go简介go是由goole2007到2009年开发并发行的开源性语言,设计者都很牛逼就不多说了。设计的初衷就是希望拥有和C语言一样的执行效率以及和PHP一样的开发效率,让复杂的事变得简单,由于其语言特性,很多人都觉得其实他就是想要将C和python的优点结合。go容易学习上手,设计初就是套着C语言的框架来的(goole当时大多数程序员都是C系的)2.go环境搭建 因为我用的是window系统,对于mac以及Linux我没用过,而且网上教程那么多,我一个小菜鸡就只发表自己在window上..

2022-03-15 21:59:38 565

空空如也

空空如也

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

TA关注的人

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