摘要:
第一章 Go环境搭建 1.1 Linux搭建Go环境 1.2 Mac搭建Go环境 1.3 Windows搭建Go环境 第二章 Go语言特性 2.1 Go特征 2.2 Go变量类型 2.3 Go内置函数 2.4 Go与包 fmt 2.5 Hello golang 2.6 Golang命令 2.7 Go 阅读全文
posted @ 2019-07-27 22:12
笑得好美
阅读(405)
评论(0)
推荐(0)
摘要:
14.6 kafka 为什么用消息队列 举例 转化为计算机思想 场景 消息队列工作流程 队列产品 一个app系统消息队列工作流程 1.1. kafka是什么 在流式计算中,Kafka一般用来缓存数据,Storm通过消费Kafka的数据进行计算。 1)Apache Kafka是一个开源消息系统,由Sc 阅读全文
posted @ 2019-07-27 22:08
笑得好美
阅读(138)
评论(0)
推荐(0)
摘要:
14.4 Go Xorm 获取xorm xorm增删改查 xorm命令行工具 项目地址 https://github.com/go-xorm/cmd 设置及mysql数据表,执行xorm命令,生成models 生成的代码,项目中直接使用 1.1. 安装步骤 此处网络可能有问题,下载较慢 编译xorm 阅读全文
posted @ 2019-07-27 22:06
笑得好美
阅读(386)
评论(0)
推荐(0)
摘要:
14.5 Go 爬虫 爬虫库/框架 爬虫数据存储 爬取内容 发现用户 解析html 阅读全文
posted @ 2019-07-27 22:06
笑得好美
阅读(173)
评论(0)
推荐(0)
摘要:
14.3 Go iris 下载 代码示例 运行 1.1. iris笔记 阅读全文
posted @ 2019-07-27 22:05
笑得好美
阅读(413)
评论(0)
推荐(0)
摘要:
14.1 Go数据结构 每一个程序都在学习十八般武艺,学习语言、数据库、HTTP等技能。 而程序中的九阳神功就是数据结构与算,掌握了数据结构与算法,你的内功修炼就会有质的飞跃。 无论从事业务开发,测评代码性能还是资源消耗,还是架构设计,优化设计模式,还是玩转区块链,都必须搞定数据结构与算法。 只要掌 阅读全文
posted @ 2019-07-27 22:04
笑得好美
阅读(133)
评论(0)
推荐(0)
摘要:
14.2 Go性能优化 优化手段 api服务性能优化目标 go性能优化方向 1.1. 性能优化原理 CPU性能优化 1.1.1. PProf 想要进行性能优化,首先瞩目在 Go 自身提供的工具链来作为分析依据,本文将带你学习、使用 Go 后花园,涉及如下: runtime/pprof:采集程序(非 阅读全文
posted @ 2019-07-27 22:04
笑得好美
阅读(199)
评论(0)
推荐(0)
摘要:
13.3 Go章节练习题 练习1:定义1个整数,1个小数,访问变量,打印数值和类型,更改变量的数值,打印数值 练习2:同时定义3个整数, 练习3:同时定义3个字符串 练习4:定义变量后,没有初始值,直接访问变量? 练习5:尝试定义全局变量 练习6:常量组中定义常量,如果没有赋值和上一行一致,写法? 阅读全文
posted @ 2019-07-27 22:03
笑得好美
阅读(234)
评论(0)
推荐(0)
摘要:
13.2 Go练习题答案 练习题1: 创建一个goroutine与主线程按顺序相互发送信息若干次 且打印 package temp import "fmt" //创建一个goroutine与主线程按顺序相互发送信息若干次 且打印 var c chan string //声明一个string管道 fu 阅读全文
posted @ 2019-07-27 22:02
笑得好美
阅读(291)
评论(0)
推荐(0)
摘要:
12.1 Go nsq 1.nsq是Go语言编写的,开源的内存分布式消息队列中间件 2.可以大规模的处理每天数以十亿级别的消息 3.分布式和去中心化拓扑结构,无单点故障 4.地址https://github.com/nsqio/nsq 1.1. nsq应用场景 1.异步处理,把非关键流程异步化,提高 阅读全文
posted @ 2019-07-27 22:00
笑得好美
阅读(331)
评论(0)
推荐(0)
摘要:
13.1 Go练习题 创建一个goroutine与主线程按顺序相互发送信息若干次 且打印 slice在自动扩容后,内存地址变化 goroutine与闭包的坑 练习题汇总 阅读全文
posted @ 2019-07-27 22:00
笑得好美
阅读(408)
评论(0)
推荐(0)
摘要:
11.2 Go 开发博客 1.1. MVC模式 MVC分层简化了分组开发。不同的开发人员可同时开发视图,控制器逻辑和业务逻辑。 耦合性低:视图层和业务逻辑层分离。相互独立,不受影响 重用性高:业务逻辑层可以完全复用 可维护性高:视图层和逻辑层分离,程序可维护性更好 1.2. 需求分析(PM角色) 阅读全文
posted @ 2019-07-27 21:59
笑得好美
阅读(173)
评论(0)
推荐(0)
摘要:
11.1 Go gin 框架一直是敏捷开发中的利器,能让开发者很快的上手并做出应用。 成长总不会一蹴而就,从写出程序获取成就感,再到精通框架,快速构造应用。 Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确。 具有快速灵活,容错方便等特点。 其实对于golang而言,we 阅读全文
posted @ 2019-07-27 21:58
笑得好美
阅读(756)
评论(0)
推荐(0)
摘要:
11.0 Go Http http客户端 客户端添加请求头 1.1. go的标准库 爬虫常用 1.2. 本地go标准库 1.3. go标准库中文网 阅读全文
posted @ 2019-07-27 21:56
笑得好美
阅读(164)
评论(0)
推荐(0)
摘要:
10.2 Go redis redis是NoSQL数据, 不是传统的关系型数据库。linux,windows环境皆可安装。 redis(Remote Dictionary Server)远程字典服务器,性能非常高,单机15W QPS,适合缓存,持久化数据。 1.1. Go操作redis 使用第三方开 阅读全文
posted @ 2019-07-27 21:55
笑得好美
阅读(510)
评论(0)
推荐(0)
摘要:
第十章 Go Mysql 准备好mysql数据库服务端数据。 准备好数据表 person 准备好place表 查看表结构 1.1. mysql驱动 mysql使用 使用第三方开源的mysql库: github.com/go-sql-driver/mysql (mysql驱动)github.com/j 阅读全文
posted @ 2019-07-27 21:54
笑得好美
阅读(107)
评论(0)
推荐(0)
摘要:
9.5 Go 依赖管理 godep是解决包依赖的管理工具,目前最主流的一种,原理是扫描记录版本控制的信息。 godep安装 1.2. godep用法 1.寻找一个使用第三方包的项目,go标准包不需要管理,默认向下兼容 如Godeps文件夹,内有Godeps.json文件 目录结构图 godep工作流 阅读全文
posted @ 2019-07-27 21:53
笑得好美
阅读(164)
评论(0)
推荐(0)
摘要:
9.4 Go 数据格式 1.1. msgpack格式 官方msgpack官网用一句话总结: It’s like JSON. but fast and small. 简单来讲,它的数据格式与json类似,但是在存储时对数字、多字节字符、数组等都做了很多优化,减少了无用的字符,二进制格式,也保证不用字符 阅读全文
posted @ 2019-07-27 21:52
笑得好美
阅读(188)
评论(0)
推荐(0)
摘要:
9.3 Go json json是一种轻量级的数据交换格式,易于机器解析,是种key-value格式。 JavaScript Object Notation是中种主流的数据格式。 json常用于网络传输 1.1. 在线解析json网址 https://www.json.cn/ 1.2. json序列 阅读全文
posted @ 2019-07-27 21:51
笑得好美
阅读(164)
评论(0)
推荐(0)
摘要:
9.2 Go 文件IO操作 1.1.1. bufio包 带有缓冲区的IO读写操作,用于读写文件,以及读取键盘输入 案例结果 1.1.2. 文件读写 文件主要用于保存数据,比如图片、视频、音乐,文档等。 程序的输入和输出流。 1.2. os.File os.File封装了所有文件相关操作。 1.3. 阅读全文
posted @ 2019-07-27 21:50
笑得好美
阅读(270)
评论(0)
推荐(0)
摘要:
9.1 Go 反射 反射:可以在运行时,动态获取变量的信息,比如变量的类型,类别 1.对于结构体变量,还可以获取到结构体的字段,方法 2.实现这个功能的是 reflect包 使用反射场景,json序列化 反射获取基本类型 反射获取结构体 反射elem获取指针指向的变量 理解reflect.Value 阅读全文
posted @ 2019-07-27 21:48
笑得好美
阅读(136)
评论(0)
推荐(0)
摘要:
8.4 Go select Go语言引入了select关键字,用于处理异步IO问题,语义和switch特别相似。语法由select开始,每个条件由case语句来描述。每个case语句必须是IO操作。 案例 使用select可以解决从管道取数据的阻塞问题 1.1.1. waitGroup等待组 阅读全文
posted @ 2019-07-27 21:47
笑得好美
阅读(139)
评论(0)
推荐(0)
摘要:
8.3 Go channel 在Go语言中,关键字go的引入使得Go语言并发编程更加简单而优雅,但是并发编程的复杂性,以及时刻关注并发编程容易出现的问题需要时刻警惕。 并发编程的难度在于协调,然而协调就必须要交流,那么并发单元之间的通信是最大的问题。 之前说了在程序中两种并发通信模型:共享数据和消息 阅读全文
posted @ 2019-07-27 21:47
笑得好美
阅读(151)
评论(0)
推荐(0)
摘要:
8.2 Go 锁 案例(坑):多个goroutine操作同一个map。 go提供了一种叫map的数据结构,可以翻译成映射,对应于其他语言的字典、哈希表。借助map,可以定义一个键和值,然后可以从map中获取、设置和删除这个值,尤其适合数据查找的场景。 但是map的使用有一定的限制,如果是在单个协程中 阅读全文
posted @ 2019-07-27 21:45
笑得好美
阅读(104)
评论(0)
推荐(0)
摘要:
第八章 Go并发 Go语言区别于其他语言的一大特点就是出色的并发性能,最重要的一个特性那就是go关键字。 并发场景: UI小姐姐一边开着PS软件,一边微信疯狂的和产品经理打字交流,后台还听着网易云音乐。。 双11当天。。大伙疯狂的访问淘宝网站 CPU从单核向多核发展,计算机程序不该是串行的,浪费资源 阅读全文
posted @ 2019-07-27 21:45
笑得好美
阅读(161)
评论(0)
推荐(0)
摘要:
7.2 Go type assertion 类型断言是使用在接口值上的操作。 语法x.(T)被称为类型断言,x代表接口的类型,T代表一个类型检查。 类型断言检查它操作对象的动态类型是否和断言类型匹配。 类型断言快速入门 1.1. 类型断言介绍 在类型断言时,如果类型不匹配,程序会直接panic异常退 阅读全文
posted @ 2019-07-27 21:44
笑得好美
阅读(169)
评论(0)
推荐(0)
摘要:
7.1 Go interface 雨痕-Go语言笔记 概念 Go语言的主要设计者之一罗布·派克(Rob Pike)曾经说过,如果只能选择一个Go语言的特 性移植到其他语言中,他会选择接口。 接口在Go语言有着至关重要的地位。如果说goroutine和channel是支撑起Go语言的并发模型 的基石, 阅读全文
posted @ 2019-07-27 21:43
笑得好美
阅读(210)
评论(0)
推荐(0)
摘要:
6.2 Go 匿名字段 Golang匿名字段:可以像访问字段成员那样,访问匿名字段方法,go编译器自动查找。 通过匿名字段可以实现 重写 override 1.1. Go继承实战 写一个学生管理系统,学生类别有(小学生、中学生、大学生),既然是学生群体都可以(查询成绩、设置成绩) 继承给Go程序带来 阅读全文
posted @ 2019-07-27 21:42
笑得好美
阅读(226)
评论(0)
推荐(0)
摘要:
5.8 Go 单元测试 如果你不想后半生的美好时光都在寻找BUG中度过,那么必须写些程序用来检测产品代码的结果和预期的一样。 Go语言的测试依赖于go test测试命令和一组按约定方式编写的测试函数,测试命令可以运行这些测试函数。 Go单元测试对文件名和方法名有严格的要求。 go test是go自带 阅读全文
posted @ 2019-07-27 21:38
笑得好美
阅读(251)
评论(0)
推荐(0)
摘要:
5.7 Go 捕获异常 Go语言处理异常不同于其他语言处理异常的方式。 go语言 2. defer与recover捕获异常 在goroutine中使用recover捕获异常 示例代码 2.1.1. Errors包 阅读全文
posted @ 2019-07-27 21:36
笑得好美
阅读(1851)
评论(0)
推荐(1)
摘要:
5.6 Go 常用函数 最正确的学习模块姿势: 程序开发常用函数 strings处理字符串相关 1.1. 时间日期函数 日期时间相关函数经常用到 time包用法 计算程序执行时间 阅读全文
posted @ 2019-07-27 21:35
笑得好美
阅读(463)
评论(0)
推荐(0)
摘要:
5.4 Go 闭包 闭包(closure):是由一个函数和其相关的引用环境组合的一个整体。(闭包=函数+引用环境) 闭包代码修改 2. 闭包实战 总结: 2.1. 函数式编程 支持将函数作为另一个函数的参数,叫回调函数。 支持将函数作为另一个函数的返回值。 go闭包-斐波那契数列 2.2. pyth 阅读全文
posted @ 2019-07-27 21:34
笑得好美
阅读(123)
评论(0)
推荐(0)
摘要:
5.5 Go defer 程序开发中经常要创建资源(数据库初始化连接,文件句柄,锁等),在程序执行完毕都必须得释放资源,Go提供了defer(延时机制)更方便、更及时的释放资源。 实例 阅读全文
posted @ 2019-07-27 21:34
笑得好美
阅读(114)
评论(0)
推荐(0)
摘要:
5.3 Go 匿名函数 Go支持匿名函数,顾名思义就是没名字的函数。 匿名函数一般用在,函数只运行一次,也可以多次调用。 匿名函数可以像普通变量一样被调用。 匿名函数由不带函数名字的函数声明与函数体组成。 匿名函数赋值给变量 局部变量 全局变量 阅读全文
posted @ 2019-07-27 21:33
笑得好美
阅读(126)
评论(0)
推荐(0)
摘要:
5.2 Go 包与函数 在多个包中相互调用函数,需要用到Go包的知识。 代码组织如下: 思路: 代码 main.go utils.go 包的import方式,详见章节2.4 1.1. 编译可执行程序 对上述代码编译,需要包声明为main,也就是package main,这是语法规范。 阅读全文
posted @ 2019-07-27 21:32
笑得好美
阅读(263)
评论(0)
推荐(0)
摘要:
1 Go函数定义 Go函数是指:一段具有独立功能的代码,然后可以在程序中其他地方多次调用。 Go分为自定义函数,系统函数。 函数可以将一个大的工作拆解成小的任务。 函数对用户隐藏了细节。 Golang函数特点: Go函数基本语法: 1)形参:函数的输入参数 2)执行代码:实现函数功能的代码块 3)函 阅读全文
posted @ 2019-07-27 21:30
笑得好美
阅读(540)
评论(0)
推荐(0)
摘要:
4.4 Go goto continue break Go语言的goto语句可以无条件的跳转到指定的代码行执行。 goto语句一般与条件语句结合,实现条件转义,跳出循环体等。 Go程序不推荐使用goto,以免造成程序混乱,难以阅读。 实例: 1.1. break 用于中断当前循环或跳出switch中 阅读全文
posted @ 2019-07-27 21:26
笑得好美
阅读(165)
评论(0)
推荐(0)
摘要:
4.3 Go for Go的for循环是一个循环控制结构,可以执行循环次数。 语法 打印乘法表,层数由用户输入 三次登录 阅读全文
posted @ 2019-07-27 21:25
笑得好美
阅读(226)
评论(0)
推荐(0)
摘要:
1. Go if-else Golang程序的流程控制决定程序如何执行,主要有三大流程控制,顺序控制、分支控制、循环控制。 条件语句需要定义一个或多个条件,并且对条件测试的true或false来决定是否执行。 1.1. 顺序控制 代码自上而下逐行执行,中间没有判断、跳转,按默认流程执行,即顺序控制。 阅读全文
posted @ 2019-07-27 21:24
笑得好美
阅读(377)
评论(0)
推荐(0)
摘要:
4.2 Go switch switch语句用于基于不同条件执行不同动作,每一个case分支唯一,自上而下逐一测试,直到匹配结束,默认自动终止,不需要break。 2. switch基本语法 7.switch还可以用于判断interface变量实际存储的变量类型。 2.1. switch和if 判断 阅读全文
posted @ 2019-07-27 21:24
笑得好美
阅读(139)
评论(0)
推荐(0)
摘要:
3.11 Go Struct结构体 Golang支持OOP面向对象编程。 Go的结构体struct如同python的class。 Go基于struct实现OOP特性,只有组合composition这个特性。 2. 结构体概念 1)将一类事务特性提取出一个新的数据类型,就是结构体。 2)通过结构体可以 阅读全文
posted @ 2019-07-27 21:23
笑得好美
阅读(408)
评论(0)
推荐(0)
摘要:
3.10 Go Map哈希表 map是key-value类型数据结构,读作(哈希表、字典),是一堆未排序的键值对集合。 map是引用类型,使用make函数或者初始化表达式创建。 map的key必须是支持相等运算符==、!=的类型,如int、bool、channel、string、pointer、ar 阅读全文
posted @ 2019-07-27 21:21
笑得好美
阅读(265)
评论(0)
推荐(0)
摘要:
3.9 Go Slice切片 运行结果 2. 切片原理 slice是一个轻量级数据结构,提供访问数组子序列元素的功能。 slice由三个部分构成,指针、长度、容量 指针:指针指向slice第一个元素对应的数组元素的地址。 长度:slice元素的数量,不得超过容量。 容量:slice开始的位置到底层数 阅读全文
posted @ 2019-07-27 21:20
笑得好美
阅读(142)
评论(0)
推荐(0)
摘要:
3.8 Go Array数组 数组是固定长度的特定类型元素组成的序列。 一个数组由零或多个相同类型元素组成。 数组的长度是固定,因此Go更常用Slice(切片,动态增长或收缩序列)。 数组是值类型,用索引下标访问每个元素,范围是0~len(数组)-1,访问越界会panic异常 注意:赋值和传参是复制 阅读全文
posted @ 2019-07-27 21:17
笑得好美
阅读(134)
评论(0)
推荐(0)
摘要:
1. Go String型 字符串是一个不可改变的字节序列。 Go string通常是用来包含人类可读的文本。 文本字符串通常被解释为采用 UTF8 编码的 Unicode 码点。 Go的字符串由单个字节连接起来。 Go的字符串用双引号识别,识别转义字符"\n \t" Go字符串拼接 Go可以用索引 阅读全文
posted @ 2019-07-27 21:16
笑得好美
阅读(221)
评论(0)
推荐(0)
摘要:
1. Go指针 每个变量在运行时都拥有一个地址,这个地址代表变量在内存中的位置。 Go 语言中使用&作符放在变量前面对变量进行“取地址”操作。 格式: 首先基本数据类型中,如name="yugo" ,变量name存的值是yugo 1)基本数据类型,变量存的是值,称为值类型 2)通过&符号获取变量的地 阅读全文
posted @ 2019-07-27 21:16
笑得好美
阅读(110)
评论(0)
推荐(0)
摘要:
1.Go布尔型 一个布尔类型的值只有两种:true 和 false。 if 和 for 语句的条件部分都是布尔类型的值,并且==和<等比较操作也会产生布尔型的值。 输出结果 阅读全文
posted @ 2019-07-27 21:14
笑得好美
阅读(140)
评论(0)
推荐(0)
摘要:
1.Go浮点型 Go 语言提供了两种精度的浮点数,float32 和 float64,编译器默认声明为float64 小数类型就是存放小数的,如1.2 0.005 -2.32 1.1.1. 浮点数形式 阅读全文
posted @ 2019-07-27 21:13
笑得好美
阅读(151)
评论(0)
推荐(0)
摘要:
1. Go字符型 Golang 中没有专门的字符类型,如果要存储单个字符(字母),一般使用 byte 来保存。 普通字符串就是一串固定长度的字符连接起来的字符序列。 Go 的字符串是由单个字节连接起来的。 也 就是说对于传统的字符串是由字符组成的,而 Go 的字符串不同,它是由字节组成的。 Go的字 阅读全文
posted @ 2019-07-27 21:13
笑得好美
阅读(286)
评论(0)
推荐(0)
摘要:
1. Go整数类型 Go语言的数值类型包含不同大小的整数型、浮点数和负数,每种数值类型都有大小范围以及正负符号。 官方文档解释数据类型 整型的使用 输出结果 输出结果 1.1. 数字类型 阅读全文
posted @ 2019-07-27 21:12
笑得好美
阅读(276)
评论(0)
推荐(0)
摘要:
3.1 Go变量 变量是对内存中数据存储空间的表示,如同门牌号对应着房间,同样的,变量名字对应变量的值。 变量:本质就是一块内存空间。用于存储某个数值。该数值在运行时可以改变。 变量使用步骤 实际案例 结果 变量使用过程 1.1.1. 变量定义方式 变量作用域 如同天气预报,局部地区有雨,全国地区艳 阅读全文
posted @ 2019-07-27 21:10
笑得好美
阅读(134)
评论(0)
推荐(0)
摘要:
Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序,最近使用了一下,非常好用,这里备忘一下。 Mac 下编译 Linux 和 Windows 64位可执行程序 Linux 下编译 Mac 和 Windows 64位可执行程序 Windows 下编译 Mac 和 Linux 64位可执 阅读全文
posted @ 2019-07-27 21:08
笑得好美
阅读(179)
评论(0)
推荐(0)
摘要:
在命令行执行go命令查看相关的Go语言命令: 实用命令 go env用于打印Go语言的环境信息。 go run命令可以编译并运行命令源码文件。 go get可以根据要求和实际情况从互联网上下载或更新指定的代码包及其依赖包,并对它们进行编译和安装。 go build命令用于编译我们指定的源码文件或代码 阅读全文
posted @ 2019-07-27 21:07
笑得好美
阅读(185)
评论(0)
推荐(0)
摘要:
编写第一个hello golang 创建空文件hello.go,尝试执行 产生如下报错 解答: 在go语言中,所有go源码文件必须声明隶属于某一个包,至少一个package main,main为自己创建的包名。 1.1. 正确的hello golang Go代码文件,程序中必须指定启动函数main( 阅读全文
posted @ 2019-07-27 21:06
笑得好美
阅读(253)
评论(0)
推荐(0)
摘要:
1.1Go与包 1.1.1. Go与包 1)开发中,往往要在不同的文件中调用其他文件的函数 2)Go代码最小粒度单位是"包" 3)Go的每一个文件都属于一个包,通过package管理 4)Go以包的形式管理文件和项目目录结构 5)包的命名不要和保留名称重复 6)编译可执行文件,必须包含package 阅读全文
posted @ 2019-07-27 21:05
笑得好美
阅读(173)
评论(0)
推荐(0)
摘要:
内置函数 Go 语言拥有一些不需要进行导入操作就可以使用的内置函数。它们有时可以针对不同的类型进行操作,例如:len、cap 和 append,或必须用于系统级的操作,例如:panic。因此,它们需要直接获得编译器的支持。 init函数 go语言中init函数用于包(package)的初始化,该函数 阅读全文
posted @ 2019-07-27 21:02
笑得好美
阅读(214)
评论(0)
推荐(0)
摘要:
内置类型 值类型: 引用类型:(指针类型) 阅读全文
posted @ 2019-07-27 21:01
笑得好美
阅读(126)
评论(0)
推荐(0)
摘要:
1.1.2. 编程语言类型 静态语言,动态语言 1.1.3. Go程序执行流程 对源代码编译成二进制后运行 对源代码直接运行 二者区别 1.1.4. Go语言注意事项 1.1.5. Go语言的转义字符(escape char) 1.1.6. Go语言注释 代码注释是用于解释程序的文字,注释可以提高代 阅读全文
posted @ 2019-07-27 21:01
笑得好美
阅读(308)
评论(0)
推荐(0)
摘要:
1.下载mac版go开发工具包,源码包或是安装包都可以 2.一键安装完毕即可,配置GOPATH和GOBIN 3.查看go环境变量 阅读全文
posted @ 2019-07-27 21:01
笑得好美
阅读(504)
评论(0)
推荐(0)
摘要:
1.ssh远程登录Linux服务器,可选用iTerm、xshell 2.建议配置好阿里云yum源、epel源 安装git 3.下载go源码包 4.解压缩go源码包,确认当前linux系统版本是32位还是64位,再选择go源码包 5.配置go的工作空间(配置GOPATH),以及go的环境变量 go的代 阅读全文
posted @ 2019-07-27 21:01
笑得好美
阅读(136)
评论(0)
推荐(0)
摘要:
1.1.2. Golang SDK SDK 的全称(Software Development Kit 软件开发工具包) 2) SDK是提供给开发人员使用的,其中包含了对应开发语言的工具包 1.1.3. 下载SDK工具包 windows用户安装golang可以选择两种方式: 1.下载windows下的 阅读全文
posted @ 2019-07-27 20:59
笑得好美
阅读(664)
评论(0)
推荐(0)
摘要:
更多详情参考官方文档:https://www.rabbitmq.com/tutorials/tutorial-six-python.html 参考博客:https://blog.csdn.net/weixin_41896508/article/details/80997828 下载第三方模块pika 阅读全文
posted @ 2019-07-27 20:28
笑得好美
阅读(560)
评论(0)
推荐(0)
摘要:
rabbitmq消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回,由消息系统来确保消息的可靠传递。消息发布者只管把消息发布到 MQ 中而不用管谁来取,消息使用者只管从 MQ 中取消息而不管是谁发布的。这样发布者和使用者都不用知道对方的存在。 官网:https:// 阅读全文
posted @ 2019-07-27 20:21
笑得好美
阅读(238)
评论(0)
推荐(0)
摘要:
消息队列简介 消息队列三角色 队列服务端 队列生产者 队列消费者 消息队列产品 RabbitMQ:Erlang编写的消息队列产品,企业级消息队列软件,支持消息负载均衡,数据持久化等。https://www.rabbitmq.com/ ZeroMQ :saltstack软件使用此消息,速度最快。 Re 阅读全文
posted @ 2019-07-27 20:14
笑得好美
阅读(250)
评论(0)
推荐(0)
摘要:
docker仓库 1.共有仓库 2.私有仓库 阅读全文
posted @ 2019-07-27 20:09
笑得好美
阅读(123)
评论(0)
推荐(0)
摘要:
Dockerfile文件详解 #指定操作系统 FROM scratch #制作base image 基础镜像,尽量使用官方的image作为base image FROM centos #使用base image FROM ubuntu:14.04 #带有tag的base image #定义docke 阅读全文
posted @ 2019-07-27 20:07
笑得好美
阅读(1536)
评论(0)
推荐(0)
摘要:
阅读全文
posted @ 2019-07-27 20:05
笑得好美
阅读(179)
评论(0)
推荐(0)
摘要:
阅读全文
posted @ 2019-07-27 20:03
笑得好美
阅读(163)
评论(0)
推荐(0)
摘要:
docker远程仓库配置: vim ~/.docker/daemon.json { "registry-mirrors" : [ "https://registry.docker-cn.com", "https://docker.mirrors.ustc.edu.cn", "http://hub-m 阅读全文
posted @ 2019-07-27 19:59
笑得好美
阅读(157)
评论(0)
推荐(0)
摘要:
阅读全文
posted @ 2019-07-27 19:56
笑得好美
阅读(92)
评论(0)
推荐(0)
摘要:
官网下载安装说明 1.卸载旧版本 sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logr 阅读全文
posted @ 2019-07-27 19:55
笑得好美
阅读(97)
评论(0)
推荐(0)
摘要:
虚拟化技术 启动快 容器里面的应用,直接就是底层系统的一个进程,而不是虚拟机内部的进程。所以,启动容器相当于启动本机的一个进程,而不是启动一个操作系统,速度就快很多。 资源占用少 容器只占用需要的资源,不占用那些没有用到的资源;虚拟机由于是完整的操作系统,不可避免要占用所有资源。另外,多个容器可以共 阅读全文
posted @ 2019-07-27 19:48
笑得好美
阅读(196)
评论(0)
推荐(0)
摘要:
redis单例数据库 1 #redis单例连接 2 ''' 3 redis-server redis_diy.conf 4 ''' 5 import redis 6 conn=redis.StrictRedis(host='192.168.160.135',port='6380',db=0,pass 阅读全文
posted @ 2019-07-27 19:43
笑得好美
阅读(955)
评论(0)
推荐(0)
摘要:
bind 192.168.160.135 #绑定ip port 7000 #指定port daemonize yes #守护进程,后台运行 protected-mode yes #设置以安全模式启动 requirepass 123456 #设置密码 masterauth 123456 #随机不确定主 阅读全文
posted @ 2019-07-27 19:42
笑得好美
阅读(129)
评论(0)
推荐(0)
摘要:
Redis-Sentinel是redis官方推荐的高可用性解决方案,当用redis作master-slave的高可用时,如果master本身宕机,redis本身或者客户端都没有实现主从切换的功能。 而redis-sentinel就是一个独立运行的进程,用于监控多个master-slave集群,自动发 阅读全文
posted @ 2019-07-27 19:40
笑得好美
阅读(425)
评论(0)
推荐(0)
摘要:
redis主从同步 redis主库机器故障,手动切换主从库 阅读全文
posted @ 2019-07-27 19:35
笑得好美
阅读(270)
评论(0)
推荐(0)
摘要:
reids不重启切换rdb到aof 阅读全文
posted @ 2019-07-27 19:34
笑得好美
阅读(120)
评论(0)
推荐(0)
摘要:
Redis是一种内存型数据库,一旦服务器进程退出,数据库的数据就会丢失,为了解决这个问题,Redis提供了两种持久化的方案,将内存中的数据保存到磁盘中,避免数据的丢失。 rdb:基于快照的持久化,速度更快,一般用作备份,主从复制也是依赖于rdb持久化功能; aof:以追加的方式记录redis操作日志 阅读全文
posted @ 2019-07-27 19:31
笑得好美
阅读(165)
评论(0)
推荐(0)
摘要:
发布订阅 案例测试 阅读全文
posted @ 2019-07-27 19:14
笑得好美
阅读(157)
评论(0)
推荐(0)
摘要:
测试连接 启动客户端之后执行ping得到PONG 密码检测 192.168.160.135:6380> CONFIG get requirepass 没有设置可以直接设置 CONFIG set requirepass "xxxxxx" 基本命令 数据结构 字符串strings 列表lists 集合s 阅读全文
posted @ 2019-07-27 19:13
笑得好美
阅读(131)
评论(0)
推荐(0)
摘要:
Redis简介 redis是以kv存储的nosql非关系型数据库 sql支持事务性,nosql不支持 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件 redis是c语言编写的,支持数据持久化,是key-value类型数据库。 redis支持数据备 阅读全文
posted @ 2019-07-27 19:07
笑得好美
阅读(165)
评论(0)
推荐(0)
摘要:
master主机mysql安装配置 1.下载mariadb(Centos7开始mysql的名字) (1)其它方式(不推荐):rpm安装/软件源安装 (2)yum安装(推荐): ①centos官方的yum源(功能少) ②阿里云的yum源(精简版) 配置yum源仓库:/etc/yum.repos.d(y 阅读全文
posted @ 2019-07-27 19:02
笑得好美
阅读(401)
评论(0)
推荐(0)
摘要:
Vue+Django前后端分离项目部署,nginx默认端口80,数据提交监听端口9000,反向代理(uwsgi配置)端口9999 1.下载项目文件(统一在/opt/luffyproject目录) (1)前端vue wget https://files.cnblogs.com/files/pyyu/0 阅读全文
posted @ 2019-07-27 18:32
笑得好美
阅读(2452)
评论(0)
推荐(0)
摘要:
supervisor是Linux/Unix系统下的一个进程管理工具。 supervisor模块管理项目: 1.物理环境中下载supervisor模块 pip3 install supervisor 2.手动创建supervisor的配置文件 echo_supervisord_conf > /etc/ 阅读全文
posted @ 2019-07-27 18:12
笑得好美
阅读(302)
评论(0)
推荐(0)
摘要:
以配置文件形式运行项目: nginx默认端口80,反向代理(uwsgi配置)端口8000 1.配置pyhton环境 (1)导入django项目,创建虚拟环境,加载项目需要的模块 (2)虚拟环境运行 workon 虚拟环境名称 (3)pip 导入uwsgi模块 pip3 install -i http 阅读全文
posted @ 2019-07-27 18:05
笑得好美
阅读(422)
评论(0)
推荐(0)
摘要:
1.虚拟环境中下载uwsgi模块 pip install uwsgi 2.脚本运行案例 新建一个test.py脚本文件,写入如下内容: 1 def application(env, start_response): 2 start_response('200 OK', [('Content-Type 阅读全文
posted @ 2019-07-27 17:52
笑得好美
阅读(781)
评论(0)
推荐(0)
摘要:
nginx的启停操作 nginx 启动 nginx -s stop 停止 nginx -s reload 重新加载 nginx -t 修改配置文件之后进行语法检验 阅读全文
posted @ 2019-07-27 17:22
笑得好美
阅读(1105)
评论(0)
推荐(0)
摘要:
nginx负载均衡 nginx代理机分发到多台同一项目的服务机 负载均衡器代理机配置:nginx.conf的http{}: #代理池,运行在不同服务机的程序 upstream loadtest{ server 192.168.160.132:8001; server 192.168.160.133: 阅读全文
posted @ 2019-07-27 17:20
笑得好美
阅读(196)
评论(0)
推荐(0)
摘要:
nginx代理功能 至少需要两台主机: 代理机配置 如下: yum安装的/etc/nginx/nginx.conf location / { #服务机的ip端口 proxy_pass http://192.168.160.132:80; } 注意停用防火墙: systemctl stop firew 阅读全文
posted @ 2019-07-27 17:18
笑得好美
阅读(367)
评论(0)
推荐(0)
摘要:
状态模块功能 nginx.conf中的http{}中的server{}中: location /status { #开启nginx状态功能 stub_status on; } 直接在网页中请求status页面即可显示 linux的压力测试功能 1.安装ab命令 yum -y install http 阅读全文
posted @ 2019-07-27 17:16
笑得好美
阅读(379)
评论(0)
推荐(0)
摘要:
虚拟主机功能: 一个nginx下运行多个网址(站点域名) 方式一:nginx.conf中的http{}中的每一个server{}就是一个站点(相同端口): #虚拟主机1 server { listen 80; server_name www.nginx1.com; location / { #den 阅读全文
posted @ 2019-07-27 17:14
笑得好美
阅读(957)
评论(0)
推荐(0)
摘要:
禁止访问功能配置 nginx.conf中的http{}中的server{}的location ..{}中: location / { #拒绝访问,192.168.16.0网段的同学都无法访问 /24是子网掩码的意思 deny 192.168.16.0/24; root html; index ind 阅读全文
posted @ 2019-07-27 17:12
笑得好美
阅读(2303)
评论(0)
推荐(0)
摘要:
站点服务请求功能配置:html/ nginx.conf中的http{}中的server{}: server { listen 85; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; #acc 阅读全文
posted @ 2019-07-27 17:10
笑得好美
阅读(338)
评论(0)
推荐(0)
摘要:
错误日志功能:logs/error.log nginx.conf中: #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #error_log "pipe:rollb 阅读全文
posted @ 2019-07-27 17:02
笑得好美
阅读(1602)
评论(0)
推荐(0)
摘要:
nginx配置文件/conf/nginx.conf 错误日志功能:los/error.log 访问日志功能:logs/access.log 站点服务请求功能配置:html/ 禁止访问功能配置 404页面 虚拟主机功能 状态模块功能 linux的压力测试功能 nginx代理功能 nginx负载均衡 n 阅读全文
posted @ 2019-07-27 16:54
笑得好美
阅读(142)
评论(0)
推荐(0)

浙公网安备 33010602011771号