自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 golang刷leetcode--13. 罗马数字转整数

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-10-09 19:01:30 190

原创 rand随机数生成

1.rand.Intn()随机数生成func main(){ n := rand.Intn(100) fmt.Println(n)}输出:81我们会发现每次运行的随机数都一样。2.rand.Seed(seed int64)func main(){ rand.Seed(time.Now().Unix()) n1 := rand.Intn(100) fmt.Println(n1)}输出:52我们会发现每次输出的值都不一样。3.如果不使用rand.Seed(se

2021-03-18 10:39:22 525

原创 Linux远程服务器上文件压缩及解压、下载文件

1.压缩方法:tar -zcvf 打包后生成的文件名全路径 要打包的目录eg: 要打包 /user/share/ 下的flowrian文件,生成一个flowrian.tar.gz的压缩文件,并存放在/usr/share/目录下命令:/usr/share命令行下:tar zcvf /usr/share/flowrian.tar flowrian或者tar zxvf /usr/share/flowrian.tar.gz flowrian2. 解压方法:1.如果后缀为 .tar则命令为:

2021-01-12 11:15:59 2666 1

原创 elasticsearch 出现all shards failed异常?

一、问题描述:elasticsearch 分页查询数据,刚开始数据还可以正常显示,但是到后面就报错:elastic: Error 500 (Internal Server Error): all shards failed [type=search_phase_execution_exception]二、原因分析:搜索了下,有什么 ElasticSearch排序引起的all shards failed异常原因分析? 解决方案还有就是跟我这个问题一样的,不是因排序引起all shards fa

2020-09-25 20:30:47 34013

原创 你可能会用到的awk命令!了解一下,不用再来来回回更改你的代码...

一、awk 到底是什么?AWK是一个优良的文本处理工具。简单来说,awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。下面给大家介绍几个我这几天搞数据用到的awk命令。二、按任意行比较,去重当我们导出的数据可能会有很多重复的内容,而我们只在乎这个是否出现过,并不想看他所有数据的时候,可以使用这个命令:cat file.txt |awk -F , '!a[$1]++{print}' > newfile.text解释:-F , :按,号分割[$1] :第一

2020-09-08 17:57:44 203

原创 golang刷leetcode---105.从前序与中序遍历序列构造二叉树

一、题目描述:根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复元素。示例:前序遍历:preorder=[3,9,20,15,7]中序遍历:inorder=[9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7二、思路分析二叉树前序遍历顺序:中左右。即先遍历根节点,随后遍历左子树,最后遍历右子树。二叉树中序遍历顺序:左中右。即先遍历左子树,再遍历根节点,最后遍历右子树。二叉

2020-05-22 11:53:50 349

原创 golang刷leetcode---5.最长回文子串

一、题目描述:给定一个字符串s,找到s中最长的回文子串。可以假设s的最大长度为1000。示例1:输入:“babad”输出:“bab”注意:"aba"也是一个有效答案示例2:输入: “cbbd”输出: “bb”二、解题思路:回文串:从左向右读和从右向左读都一样的字符串.回文串有轴对称的特点.子串:是原始字符串的一个连续的子集;子序列:原始字符串的一个子集.对于一个子串而言,如果它是回文串,并且长度大于2,那么将它首尾的两个字母去除之后,它仍然是个回文串.例如对于字符串"ab

2020-05-21 15:14:08 434

原创 golang刷leetcode---69.x的平方根

一、题目描述:实现int sqrt(int x)函数。并返回x的平方根,其中x是非负整数。由于返回类型是整数,结果只保留整数部分,小数部分将被舍去。实例1:输入: 4输出:2实例2:输入:8输出:2说明:8的平方根是 2.82842…,由于返回类型是整数,小数部分被舍弃。二、代码实现:方法1:使用go语言中内置函数math.Sqrt(float64) float64{}func mySqrt(x int) int { a:=math.Sqrt(float64(x))

2020-05-09 15:32:10 333

原创 golang刷leetcode---221.最大正方形

一、题目描述:在一个由0和1组成的二维矩阵内,找到只包含1的最大正方形,并返回其面积。实例:输入:1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出: 4二、代码实现:func maximalSquare(matrix [][]byte) int{ maxside:=0 //判断是否为空矩阵 if len(matrix)==0||len(mat...

2020-05-08 16:06:30 208

原创 golang刷leetcode---572.另一个树的子树

一、题目描述:给定两个非空二叉树s和t,检验s中是否包含和t具有相同结构和节点值的子树。s的一个子树包括s的一个节点和这个节点的所有子孙。s也可以看作它自身的一颗子树。实例1.给定的树 s : 3 / \ 4 5 / \ 1 2给定的树 t: 4 / \1 2返回true,因为t与s的一个子树拥有相同的结构和节点值。实例2:给定的...

2020-05-07 12:03:26 194

原创 日常学习总结golang(day5)---文件操作

文件操作文件是什么?计算机中的文件是存储再外部介质(通常是磁盘)上的数据集合,文件分为文本文件和二进制文件。1. 打开和关闭文件os.Open()函数能够打开一个文件,返回一个*File和一个err。对得到的文件实例调用close()方法能够关闭文件。func main() { //只读的方式打开当前目录下的demo.go file,err:=os.Open("./demo.go")...

2020-03-28 11:23:50 158

原创 日常学习总结golang(day4)---包、接口

1. 包(package)包的定义:package关键字,包名通常是和目录名一致,不能含有-一个文件夹就是一个包,文件夹里存放的都是.go文件包的导入:使用import关键字。a.包导入路径是从$GOPATH/src后面的路径开始写起的;b.可以单行导入,也可以多行导入;c.可以给导入的包起别名,也可以匿名导入:import _"包的路径"。匿名导入的包与其它方式导入的包一样都会被...

2020-03-27 23:48:36 138

原创 日常学习总结golang(day3)---结构体

1.递归递归:函数自己调用自己,适合处理那种问题相同、问题规模越来越小的场景。注意:递归一定要有一个明确的退出条件,否则很容易成死循环。计算n的阶乘func f(n uint64) uint64 { if n<=1{ return 1 } return n*f(n-1)}func main() { ret:=f(5) fmt.Println(ret)//1...

2020-03-26 22:51:51 116

原创 日常学习总结golang(day2)---函数、闭包、defer

1.map:Go语言中,提供映射关系容器的为map,其内部结构使用hash实现,引用类型,必须初始化才能使用。2.函数:函数是组织好的,可重复使用的,用于执行指定任务的代码块。函数存在的意义:一段代码的封装;把一段逻辑抽象出来封装到一个函数中,给它起一个名字,每次用到它的时候直接调用就可以啦;使代码结构更清晰,更简介。变量作用域(1) 全局变量(2)函数作用域i....

2020-03-25 23:11:21 147

原创 日常学习总结golang(day1)---数组、切片、指针

对于go语言的语法还是简单易懂的,不过还是要多看看,加深一下印象。而只学基本语法是根本无法满足开发的需求的。最近跟着视频学习,除了基本语法还有并发、中间件、日志库、互联网协议、Mysql、redis、gin、docker等等。为了以后自己复习方便,看完后进行一些总结。有需要的同学也可以看一下!1. for…range(键值循环)Go语言中可以使用for...range遍历数组、切片、字符串、...

2020-03-24 23:19:11 222

原创 go语言使用sqlite3

1、在运行命令窗口创建数据库和SQL表D:\go\src\MyTest>sqlite3创建数据表,使用.open命令,如果有这个数据库打开,若没有则创建;sqlite> .open userDB.db查看当前使用的数据库:sqlite> .databasemain: D:\go\src\MyTest\userDB.db创建表:“userinfo”,“userdet...

2020-03-22 22:07:55 7192 2

原创 Powershell 进行用户账号管理和远程设置

一、概述windows系统下类似Linux的shell语言。可以用于获取windows系统信息,进行系统设置等。windows Powershell 是一种命令行外壳程序和脚本环境。启动方式Win10 系统可以在Cortana 搜索(win+Q,搜索的快捷键)框中输入powershell就可以打开;在win开始文件中查找;win+R打开运行命令,输入powershell打开;从cmd...

2020-03-22 21:17:13 2512

原创 sqlite3介绍、安装及基本语法

一、sqlite3的简介与语法什么是SQLite3?sqlite3是一个进程内的库,实现了自给自足、无服务器、零配置、事务性的SQL数据库引擎。它是一个增长最快的数据库引擎。它不是一个独立的进程,可以按应用程序需求进行静态或动态连接,SQLite直接访问其存储文件。为什么要使用sqlite?不需要一个单独的服务器进程或操作的系统(无服务器的)。SQLite 不需要配置,这意味...

2020-03-21 11:28:57 6256

原创 关于TCP建立连接需要三次握手总结

一、三次握手介绍第一次握手:建立连接。客户端发送连接请求报文段,将SYN位置1,Seq 为x;然后客户端进入SYN_Send状态,等待服务器确认;第二次握手:服务器收到SYN报文段,并发送SYN+ACK报文段。服务器收到客户端的SYN报文段,需要对这个SYN报文段进行确认,设置ACK为 x+1 ;同时,自己还要发送SYN请求信息,将SYN位置为1,Seq为 y ;服务器端将上述所有信息放...

2020-03-18 21:12:05 1498

原创 TCP/IP协议

一、TCP/IP协议的介绍:TCP/IP协议事一个协议簇。TCP/IP是供已连接因特网的计算机进行通信的通信协议。它是利用IP进行通信时所必须用到的协议群的统称。具体来说,IP 或 ICMP、TCP 或 UDP、TELNET 或 FTP、以及 HTTP 等都属于 TCP/IP 协议。TCP/IP协议组,采用分组交换。二、计算机网络体系结构分层:OSI七层模型TCP/IP模型功能...

2020-03-17 22:34:20 163

原创 TCP和UDP的区别

一、基本介绍:TCP:传输控制协议。tcp是一种面向连接的、可靠的、基于字节流的传输层通信协议。是专门为了在不可靠的互联网络上提供一个可靠的端对端的字节流设计的,面向字节流。UDP:用户数据报协议。udp是一个简单的面向数据报的运输层协议。它不提供可靠性,只是把应用程序传给IP层的数据包发送出去,但是不能保证他们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超...

2020-03-17 21:32:28 178

原创 并发技术:CSP并发理论

异步(async)并行:多个任务并发执行同步(sync)串行:多个任务依次执行阻塞(block)某个并发任务由于拿不到资源没法干活,从而无所事事地干等进程并发–线程并发–协程并发异步回调(async callback)A线程唤起B线程,令其干活,同时给B一个回调函数,命令B在干完活以后,执行这个回调函数。这个回调函数会与A线程发生交互。A不必阻塞等待B执行结果,AB两个线程可以并...

2020-03-12 22:42:37 590

原创 从文件中读取数据,计算时间差并记录到excel表格中

接到一个任务,将类似如下图中的十万条数据:格式:本地接收时间 [编号] Recived on [hello]: ‘发送的消息|发送时间|test’要求:计算出每两条的时间差,接收时间与发送时间的时间差思路:创建excel—>读取文件—>取出接收时间和发送时间—>进行比较代码实现:package mainimport ( "bufio" ...

2020-01-16 17:48:43 311

原创 稀疏数组sparseArray

一、稀疏数组的介绍当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。二、稀疏数组的处理方法:记录数组一共有几行几列,有多少个不同的值;思想: 将具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模。举例说明:代码实现:package mainimport "fmt"type ValNode struct { row in...

2020-01-16 16:55:43 113

原创 Go语言每天一篇(day79)----类型的 String() 方法

一、今日题目:下面代码有什么问题?func main() { c:=&ConfigOne{} c.String()}type ConfigOne struct { Daemon string}func (c *ConfigOne) String() string { return fmt.Sprintf("print:%v",c)}二、答案与解析:无限...

2019-11-21 10:46:06 169

原创 Go语言每天一篇(day78)----switch...case语句

一、今日题目:关于switch语句,下面说法正确的是?A. 单个case中,可以出现多个结果的选项;B. 需要使用break来明确退出一个case;C. 只有在case中明确添加fallthrought关键字,才会继续执行紧跟的下一个case;D. 条件表达式必须为常量或者整数。下面代码能编译通过嘛?可以个话,输出什么?func main() { switch always...

2019-11-20 15:17:03 469

原创 Go每天一篇(day77)----cap()函数、测试函数、可变函数

一、今日题目关于cap函数适用下面哪些类型?A. 数组B. channelC. mapD. slice下面的代码输出什么?func main() { t := &testing.T{} Test13(t)}func hello(num ...int) { num[0] = 18}func Test13(t *testing.T) { i := []in...

2019-11-20 14:27:45 1043

原创 Go每天一篇(day65)----defer(),recover(),painc()进阶

一、今日题目flag是bool型变量,下面if表达式符合编码规范的是?A.if flagB.if flagC.if flag==falseD.if !flag下面的代码输出什么,请说明:func main() { defer func() { fmt.Print(recover()) }() defer func() { defer func() { de...

2019-11-07 16:52:34 172

原创 Go每天一篇(day64)----panic()和recover()

一、今日题目下面列举的是recover()的几种调用方式,哪些是正确的?A.func A() { recover() panic(1)}B.func main() { defer recover() panic(1)}C.func main() { defer func() { recover() }() panic(1)}D.func main...

2019-11-06 17:31:57 117

原创 Go每天一篇(day63)----匿名函数和defer()

一、今日题目:下面选项正确的是:A. 类型可以声明在函数体内;B. Go语言支持 + + i 或者 - - i;C .nil是关键字;D. 匿名函数可以直接赋值给一个变量或者直接执行。下面的代码会输出什么? package main import "fmt" func main() { f := F(5) defer func() { fmt.Pr...

2019-11-05 11:44:23 117

原创 golang 通过fsnotify监控文件

一、 需要下载的包go get github.com/fsnotify/fsnotify二、使用fsnotify监控文件type Watch struct { Watch *fsnotify.Watcher}func (w *Watch) WatchDir(dir string) { //通过walk来遍历目录下的所有子目录 filepath.Walk(dir, func(p...

2019-10-22 17:08:09 3233 1

转载 程序员必须掌握的核心算法有哪些(转载)

程序员必须掌握的核心算法有哪些

2019-10-22 15:35:01 1656

原创 力扣----删除链表的倒数第N个节点

题目要求:给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?解题思路:方法一:两次遍历算法:首先分析问题,问题可以简化为:删除从...

2019-09-24 22:13:26 176

原创 力扣----删除链表中的节点

题目要求:请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表 – head = [4,5,1,9],它可以表示为:示例 1:输入: head = [4,5,1,9], node = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例 ...

2019-09-24 12:15:21 225

原创 基于Go语言与MySQL和Redis的交互实现二级缓存的小案例

此小案例是对Go语言实战:二级缓存框架的学习后,自己进行了总结与修改,视频中用的是sqlx的库,本文采用gorm数据库。实现的功能:优先从Redis获取数据,当Redis没有数据时从MySQL加载并同步缓存到Redis,缓存时间60秒。实现过程:连接redis数据库,MySQL数据库(注意导入包:_ “github.com/go-sql-driver/mysql”)根据命令是否进行查...

2019-08-29 11:20:23 1526

原创 有关channel的相关知识(2)

1.channel阻塞初始化定义的intchan的长度是10,所以当循环写入100数字是会发生channel阻塞的问题。func main() { intChan := make(chan int, 10) go write(intChan) time.Sleep(10 * time.Second)//为了避免主程序的快速退出}func write(ch chan int) { f...

2019-08-23 14:00:48 6149

原创 有关channel的相关知识总结(1)

1.channel的特点类似Unix中的管道(pipe)先进先出,类似队列线程安全,多个goroutine同时访问,不需要加锁channel是有类型的,一个整数的channel只能存放整数多个goroutine之间通过channel进行通信支持任何类型channel在使用之前必须先进行初始化2.channel的声明int类型的声明 var intchan chan...

2019-08-22 18:12:39 34124

原创 Go语言格式化输出

Go语言格式化输出欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,...

2019-06-25 12:54:45 1463

原创 开启写博客之旅

第一次开始写不知道写点啥,说说为啥想写博客吧。不知不觉马上毕业一年了,工作也有半年之余,这段时间在老大的带领下成长了很多,学习了很多。随着工作的需要,也渐渐地意识到自己成长的空间还是很大的,学习的东西也远远不够。之前会在印象笔记上记录一些经验,利用琐碎的时间学到的知识,对工作遇到的问题进行总结,还有各种坑,但是经常有各种情况下会忘记。正式开通博客,一是为了更好的学习,提升自己,努力沉淀;二是鞭...

2019-06-19 11:15:00 202

空空如也

空空如也

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

TA关注的人

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