自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

带着笑或是很沉默。

越勇敢,越孤单。

  • 博客(28)
  • 收藏
  • 关注

原创 二分法Go实现

【代码】二分法Go实现。

2022-08-24 11:05:19 163 1

原创 01背包Go实现

代码】01背包Go实现。

2022-08-12 15:59:13 188

原创 Go代码实现 拼手气红包(二倍均值法)

拼手气红包

2022-04-28 19:06:15 778

原创 kafka(一)

文章目录前言消息队列什么是消息队列MQ为什么使用消息队列消息队列的流派有Broker的MQ重Topic轻Topic无Broker的MQ安装使用场景基本概念kafka的安装安装包下载重要配置修改启动kafka生产者和消费者发送消息消费消息单播消息多播消息查看消费组主题和分区主题topic基础概念创建topic查看topic列表查看topic详细信息分区partition基础概念创建多分区topic日志文件内容集群搭建新增配置启动kafka检查是否搭建成功副本概念参考文献前言仅为个人笔记,欢迎交流指正。建议

2022-04-13 18:04:37 2188 1

原创 Go 源码包RWMutex

文章目录前言源码包源码包地址基础定义读加解锁写加解锁参考文献前言读写锁类比于互斥锁,锁的粒度更小了。互斥锁,我们知道,一个资源被一把互斥锁,锁住了,另外的goroutine,在锁定期间,必定不能操作。读写锁就不同了:写锁需要阻塞写锁:一个协程拥有写锁时,其他协程写锁定需要阻塞写锁需要阻塞读锁:一个协程拥有写锁时,其他协程读锁定需要阻塞读锁需要阻塞写锁:一个协程拥有读锁时,其他协程写锁定需要阻塞读锁不能阻塞读锁:一个协程拥有读锁时,其他协程也可以拥有读锁源码包源码包地址src/sync/r

2022-04-11 17:51:13 202

原创 Go 源码包Mutex

文章目录前言源码包源码地址基础定义加锁解锁参考文献前言在高并发场景下,势必会涉及到对公共资源的竞争。当对应场景发生时,我们经常会使用 mutex 的 Lock() 和 Unlock() 方法来占有或释放资源,互斥锁就是并发控制的一个基本手段,是为了避免竞争而建立的一种并发控制机制。简单来说就是控制并发源码包源码地址mutex 的源码主要是在 src/sync/mutex.go文件里基础定义// 锁实例type Mutex struct { state int32 // state记

2022-04-06 14:10:52 426

原创 Zookeeper理解与集群搭建

文章目录前言介绍简介Zookeeper持久化机制Zookeeper特性安装与部署节点znode介绍Zookeeper如何保存数据znode节点信息znode结构znode类型Zookeeper怎么实现分布式锁zk中锁的种类zk中如何上读锁zk中如何上写锁羊群效应(惊群效应)Watch机制权限设置zookeeper集群集群角色介绍集群搭建创建4个节点的文件夹创建myid文件,并设值新增4个zoo.cfg配置文件启动4台zookeeper服务连接Zookeeeper集群ZAB协议什么是ZAB协议ZAB协议定义的

2022-03-04 13:55:52 192

原创 Go 发送QQ邮件

文章目录前言发送到腾讯企业邮箱发送到QQ邮箱前期准备代码前言个人笔记,欢迎指正go使用代码发送邮件到QQ邮箱或腾讯企业邮箱需要引用包go get gopkg.in/gomail.v2发送到腾讯企业邮箱package mainimport ( "gopkg.in/gomail.v2" "log")func main() { sender := "luoqiang@qiye.com" //发送者腾讯企业邮箱账号 password := "pwd123456" //发

2022-02-26 19:44:29 838

原创 布隆过滤器 (BloomFilter)

文章目录布隆过滤器简介应用场景实现原理如何选择哈希函数个数和布隆过滤器长度优缺点Go语言实现布隆过滤器简介布隆过滤器(Bloom Filter) 是由 Howard Bloom在1970年提出的二进制向量数据结构,它具有很好的空间和时间效率,被用来检测一个元素是不是集合中的一个成员,即判定 “可能已存在和绝对不存在” 两种情况。如果检测结果为是,该元素不一定在集合中;但如果检测结果为否,该元素一定不在集合中,因此Bloom filter具有100%的召回率。应用场景垃圾邮件过滤防止缓存穿透爬

2022-02-10 17:41:44 208

原创 阅读笔记 - MySQL Change Buffer

文章目录前言MySQL - Change Buffer什么是Change BufferChange Buffer原理为什么针对非唯一索引页Change Buffer好处适合使用场景相关参数参考文献前言仅为个人笔记,欢迎指正MySQL - Change Buffer什么是Change Buffer在InnoDB中,当对应的数据不存在与Buffer Pool中时,为了避免大量的随机磁盘I/O可能带来的性能瓶颈,InnoDB 在Buffer Pool 中划分出一部分内存,称为Change Buffe

2021-12-27 16:17:05 897

原创 实现一个二叉搜索树(Binary Search Tree)

文章目录定义代码实现一、Github代码地址二、节点三、树实现接口四、4种遍历方式五、搜索六、删除结尾定义二叉搜索树(Binary Search Tree),又名二叉排序树(Binary Sort Tree),它是一种数据结构,支持多种动态集合操作,如 Search、Insert、Delete、Minimum 和 Maximum 等,二叉查找树相比于其他数据结构的优势在于查找、插入的时间复杂度较低,均为O(log n)。若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值;若任意节点

2021-11-02 15:18:18 230

原创 Go二维码生成

前言Go语言生成二维码使用到的库二维码库 go get github.com/skip2/go-qrcode图像处理 go get github.com/nfnt/resize效果展示普通二维码带icon的二维码代码普通二维码func main() { content := "这是二维码内容" //二维码内容 fileName := "output.png" //输出文件名 fileSize := 256 //二维码大小 //生

2021-09-01 17:24:44 571

原创 Linux Shell

文章目录什么是Linux Shell ?概念Shell 基础shell 指令查看 - 当前shell版本查看 - 有哪些Shell版本切换shell版本创建shell脚本文件bash描述环境配置文件zsh描述环境配置文件zsh引用bash配置oh-my-zsh什么oh-my-zsh ?oh-my-zsh功能有哪些安装oh-my-zsh安装失败,被墙解决方案什么是Linux Shell ?概念操作系统的接口分类两类: CLI: command line interface 命令行接口,常见的有: sh

2021-08-06 18:12:12 96

原创 Go 关于Map的底层实现

Go map的底层实现什么是map:由一组对组成的抽象数据结构,并且同一个key只会出现一次 map的模型源码地址:src/runtime/map.go map的实现方式:Go采用哈希查找表方式实现map,并且使用链表方式解决哈希冲突 map的主要数据结构有:哈希查找表: 在go语言中,map是由多个桶(buckets)组成的,每个桶(buckets)里又由多个hmap组成(bmap就是用来存放数据),当将数据存入map时,底层会使用哈希函数得到数据的key的哈希值。此时再通过这哈希值的高8.

2020-09-21 20:33:03 419

转载 什么是单点登录(SSO)

一、什么是单点登录?单点登录的英文名叫做:Single Sign On(简称SSO)。在初学/以前的时候,一般我们就单系统,所有的功能都在同一个系统上。所有的功能都在同一个系统上后来,我们为了合理利用资源和降低耦合性,于是把单系统拆分成多个子系统。拆分成多个子系统比如阿里系的淘宝和天猫,很明显地我们可以知道这是两个系统,但是你在使用的时候,登录了天猫,淘宝...

2019-05-29 11:07:27 2880

转载 【Beego】Filter 过滤器中条件查询不生效的小坑

前言:刚接触beego,最近在ORM中碰到一个条件查询不生效的小坑,经过不断的google终于找到了一篇解决方案的文章,所以在此copy原文章在此记录一番。如果需要看原文请拉倒最下方。在beego中使用ORM做一些查询操作,一般会用到下面这样的代码o := orm.NewOrm()user := new(User)var users []Userqs = o.Query...

2019-05-16 10:06:59 2929

原创 CentOS7 搭建GitLab

一、简介 GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现...

2019-04-01 16:57:08 353

转载 CentOS7 搭建Git服务器

目录一、在服务器上创建一个新用户二、创建一个Git仓库三、在服务器端打开RSA认证四、在客户端创建SSH key五、把步骤四生成的公钥导入服务器六、在客户端clone远程git仓库七、禁止用户git通过shell进行登录八、结束语 - 初始化master分支一、在服务器上创建一个新用户1.添加git用户adduser git2.更改密码...

2019-03-29 18:03:17 169

转载 【Golang】rune数据类型

在学习golang基础的时候,发现有个叫rune的的数据类型,当时不理解这个类型的意义。曾百度过但没过多久又忘了,导致再次碰到时又想不起来,故转载一个博客记录下以此加深印象。查询,官方的解释如下:// rune is an alias for int32 and is equivalent to int32 in all ways. It is// used, by conventio...

2019-03-20 15:35:55 189

转载 golang几种post请求方式

转自:https://www.cnblogs.com/mafeng/p/7068837.htmlGet 请求   //get请求可以直接http.Get方法,非常简单。func httpGet() { resp, err := http.Get("http://www.01happy.com/demo/accept.php?id=1") if err != nil ...

2019-01-18 14:19:19 2431

原创 Go语言 - 广度优先算法(走迷宫)

前言:最近在慕课网看了个视屏学习广度优先算法,通过这个算法来计算出走出迷宫的最短路径,因此在此记录来加深自己对广度优先算法的理解。目录 一、什么是广度优先算法?广度优先算法能做什么?二、代码实现三、最终结果一、什么是广度优先算法?广度优先算法能做什么?广度优先算法(Breadth-First Search),同广度优先搜索,又称作宽度优先搜索,或横向优先搜索,简称B...

2018-11-22 14:22:31 851

原创 Centos7 搭建lnmp (Nginx + MySQL5.7 +PHP7.1)

 目录准备:yum的安装一、安装Nginx二、安装MySQL 5.7三、安装PHP 7.1四、PHP 关联 Nginx五、测试MySQL六、恭喜你!!!准备:yum的安装yum update 一、安装Nginx1.安装Nginx最新源yum localinstall http://nginx.org/packages/centos/7/n...

2018-11-08 17:19:39 504

转载 SmartGit 过期

Windows 上 SmartGit 试用30天过期解决方法  问题:打开SmartGit时发现体验时间过了并弹框提示如下,许可证书过期了。【you commercial smartGit eveluation period ended.please provide the license file you've received by e-mail after purchase】...

2018-11-05 14:26:26 992

原创 Beego下载和安装

【一】Beego的下载和安装安装前需注意:1.您需要安装 Go 1.1+ 以确保所有功能的正常使用。2.在安装Beego前,要先将 $GOPATH/bin 添加到系统环境变量中。开始安装下载安装beego和bee(注意:beego和bee是两个概念,beego是框架,bee是命令工具)1.下载和安装beego,下载安装成功后我们会在 GOPATH 的 src/githu...

2018-11-01 18:13:41 5889 4

原创 Golang time包的基本使用

获取现在的时间//标准时间nowTime := time.Now().Format("2006-01-02 15:04:05") // 2018-10-25 10:59:40//时间戳nowTime := time.Now().Unix() // 1540437645 标准时间转成时间戳//方法一//注意:这样转出来的时间戳为UTC时间,UTC的时间戳比...

2018-10-25 11:37:39 260

原创 纸牌类游戏JS判断类型

 纸牌类游戏判断牌类型牌组定义如下牌面值(除10求整) 方片 梅花 红桃 黑桃 3 31 32 33 34 4 41 42 43 44 ...

2018-09-05 12:04:52 1115 1

原创 Linux Centos 重置Mysql密码

目录不知道密码的情况下知道密码的情况下  不知道密码的情况下 设置数据库免密码登陆 找到mysql配置文件:my.cnf 修改配置文件,在【mysqld】模块添加:skip-grant-tables   保存退出   使配置生效  service mysqld restart                  //重启mysql配置服务   ...

2018-08-30 18:32:58 182

原创 这是我的第一个博客

hello,这是我的第一个博客。

2018-06-28 19:22:05 92

空空如也

空空如也

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

TA关注的人

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