摘要: mongoDB是目前比较流行的一个基于分布式文件存储的数据库,它是一个介于关系数据库和非关系数据库(NoSQL)之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 mongoDB介绍 mongoDB是目前比较流行的一个基于分布式文件存储的数据库,它是一个介于关系数据库和非关系数据库(NoS 阅读全文
posted @ 2020-02-08 23:32 boy° 阅读(639) 评论(0) 推荐(1) 编辑
摘要: NSQ是目前比较流行的一个分布式的消息队列,本文主要介绍了NSQ及Go语言如何操作NSQ。 NSQ NSQ介绍 NSQ是Go语言编写的一个开源的实时分布式内存消息队列,其性能十分优异。 NSQ的优势有以下优势: NSQ提倡分布式和分散的拓扑,没有单点故障,支持容错和高可用性,并提供可靠的消息交付保证 阅读全文
posted @ 2020-02-08 23:26 boy° 阅读(310) 评论(0) 推荐(0) 编辑
摘要: Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据,具有高性能、持久化、多副本备份、横向扩展等特点。本文介绍了如何使用Go语言发送和接收kafka消息。 sarama Go语言中连接kafka使用第三方库:github.com/Shopify/sarama 阅读全文
posted @ 2020-02-08 23:21 boy° 阅读(580) 评论(0) 推荐(0) 编辑
摘要: etcd是近几年比较火热的一个开源的、分布式的键值对数据存储系统,提供共享配置、服务的注册和发现,本文主要介绍etcd的安装和使用。 etcd etcd介绍 etcd是使用Go语言开发的一个开源的、高可用的分布式key-value存储系统,可以用于配置共享和服务的注册和发现。 类似项目有zookee 阅读全文
posted @ 2020-02-08 23:19 boy° 阅读(4157) 评论(1) 推荐(1) 编辑
摘要: psutil是一个跨平台进程和系统监控的Python库,而gopsutil是其Go语言版本的实现。本文介绍了它的基本使用。 Go语言部署简单、性能好的特点非常适合做一些诸如采集系统信息和监控的服务,本文介绍的gopsutil库是知名Python库:psutil的一个Go语言版本的实现。 安装 go 阅读全文
posted @ 2020-02-08 23:14 boy° 阅读(695) 评论(0) 推荐(0) 编辑
摘要: 本文介绍了influxDB时序数据库及Go语言操作influxDB。 InfluxDB是一个开源分布式时序、事件和指标数据库。使用Go语言编写,无需外部依赖。其设计目标是实现分布式和水平伸缩扩展。 安装 下载 https://portal.influxdata.com/downloads/ 这里需要 阅读全文
posted @ 2020-02-08 23:12 boy° 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 本文简单介绍了ES、Kibana和Go语言操作ES。 Elasticsearch 介绍 Elasticsearch(ES)是一个基于Lucene构建的开源、分布式、RESTful接口的全文搜索引擎。Elasticsearch还是一个分布式文档数据库,其中每个字段均可被索引,而且每个字段的数据均可被搜 阅读全文
posted @ 2020-02-08 23:10 boy° 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 日志是程序中必不可少的一个环节,由于Go语言内置的日志库功能比较简洁,我们在实际开发中通常会选择使用第三方的日志库来进行开发。本文介绍了logrus这个日志库的基本使用。 logrus介绍 Logrus是Go(golang)的结构化logger,与标准库logger完全API兼容。 它有以下特点: 阅读全文
posted @ 2020-02-08 23:07 boy° 阅读(822) 评论(1) 推荐(0) 编辑
摘要: 本文先介绍了Go语言原生的日志库的使用,然后详细介绍了非常流行的Uber开源的zap日志库,同时介绍了如何搭配Lumberjack实现日志的切割和归档。 在Go语言项目中使用Uber-go的Zap Logger 介绍 在许多Go语言项目中,我们需要一个好的日志记录器能够提供下面这些功能: 能够将事件 阅读全文
posted @ 2020-02-08 23:04 boy° 阅读(4054) 评论(0) 推荐(1) 编辑
摘要: Cookie和Session是Web开发绕不开的一个环节,本文介绍了Cookie和Session的原理及在Go语言中如何操作Cookie。 Cookie Cookie的由来 HTTP协议是无状态的,这就存在一个问题。 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直 阅读全文
posted @ 2020-02-08 22:58 boy° 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 在计算机性能调试领域里,profiling 是指对应用程序的画像,画像就是应用程序使用 CPU 和内存的情况。 Go语言是一个对性能特别看重的语言,因此语言中自带了 profiling 的库,这篇文章就要讲解怎么在 golang 中做 profiling。 Go性能优化 Go语言项目中的性能优化主要 阅读全文
posted @ 2020-02-08 22:51 boy° 阅读(706) 评论(0) 推荐(0) 编辑
摘要: 本文介绍了Go语言版经典的排序算法–快速排序、归并排序和堆排序。 排序算法 快速排序 func quickSort(data []int) { if len(data) <= 1 { return } base := data[0] l, r := 0, len(data)-1 for i := 1 阅读全文
posted @ 2020-02-08 22:50 boy° 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 用Go语言刷LeetCode记录,只是为了练习Go语言,能力有限不保证都是最优解,只能在此抛转引玉了。 数据结构和算法 数据结构和算法是程序员的命根子,没了命根子也就没有了尊严。 1. 两数之和 题目描述 力扣(LeetCode)链接 给定一个整数数组 nums 和一个目标值 target,请你在该 阅读全文
posted @ 2020-02-08 22:30 boy° 阅读(569) 评论(0) 推荐(1) 编辑
摘要: 本文主要介绍了Go语言中函数式选项模式及该设计模式在实际编程中的应用。 为什么需要函数式选项模式? 最近看go-micro/options.go源码的时候,发现了一段关于服务注册的代码如下: type Options struct { Broker broker.Broker Cmd cmd.Cmd 阅读全文
posted @ 2020-02-08 22:28 boy° 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 在过去的几年中,Go语言的发展是惊人的,并且吸引了很多由其他语言(Python、PHP、Ruby)转向Go语言的跨语言学习者。 Go语言太容易实现并发了,以至于它在很多地方被不正确的使用了。 Go语言中的单例模式 在过去的几年中,Go语言的发展是惊人的,并且吸引了很多由其他语言(Python、PHP 阅读全文
posted @ 2020-02-08 22:23 boy° 阅读(502) 评论(0) 推荐(0) 编辑
摘要: gorm是一个使用Go语言编写的ORM框架。它文档齐全,对开发者友好,支持主流数据库。 gorm介绍 Github GORM 中文官方网站内含十分齐全的中文文档,有了它你甚至不需要再继续向下阅读本文。 安装 go get -u github.com/jinzhu/gorm 连接数据库 连接不同的数据 阅读全文
posted @ 2020-02-08 22:21 boy° 阅读(2833) 评论(0) 推荐(0) 编辑
摘要: 1,进入博客后台,点击设置 2,页面定制 CSS 代码 空着就行 禁用模板默认CSS 3,博客侧边栏公告(支持HTML代码) (支持 JS 代码) 支持JS这个点击一下申请 以下控件根据自己喜好,复制到博客侧边栏公告 4,页首 HTML 代码 5,页脚 HTML 代码 点击保存,大功告成,看一下效果 阅读全文
posted @ 2020-02-08 21:57 boy° 阅读(223) 评论(0) 推荐(0) 编辑
摘要: CRUD通常指数据库的增删改查操作,本文详细介绍了如何使用GORM实现创建、查询、更新和删除操作。 CRUD CRUD通常指数据库的增删改查操作,本文详细介绍了如何使用GORM实现创建、查询、更新和删除操作。 创建 创建记录 首先定义模型: type User struct { ID int64 N 阅读全文
posted @ 2020-02-08 20:42 boy° 阅读(519) 评论(0) 推荐(0) 编辑