自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (1)
  • 收藏
  • 关注

原创 Redis 学习笔记9 - 使用 redigo 访问 redis

0. 背景Redis 的 API 非常简单和易于编程。处理使用命令行工具来连接,也可以用你喜欢的语言,本文描述使用 Go 语言 通过 redigo 库连接。1.redigo 介绍redigo 是一个连接 Redis 数据库的客户端框架Github地址:https://github.com/gomodule/redigo它是被 redis 官方网站推荐的框架。2. 基...

2020-03-31 18:32:17 645

原创 Redis 学习笔记8 - 使用 go-redis 访问 redis

0. 背景Redis 的 API 非常简单和易于编程。处理使用命令行工具来连接,也可以用你喜欢的语言,本文描述使用 Go 语言 通过 go-redis 库连接。个人更建议 使用 redigo库 来操作redis数据,参考我的另一篇文章使用 redigo 访问 redis。1.go-redis 介绍go-redis 是一个基于 Go 语言的 ,类型安全的 Redis 连接客...

2020-03-31 16:44:39 515

原创 Redis 学习笔记7 - 配置远程连接

0.背景在开发环境使用Redis时,需要做一些配置才行。1. 远程连接配置1.1 操作步骤需要几个步骤:修改配置文件,修改这么几处:1)关闭保护模式 protected-mode2)改为“需要密码”3)修改绑定 IP重启redis,即可下面拆解步骤来描述:1.2 编辑配置文件 redis.conf使用文本编辑工具打开 redis.conf关闭保护...

2020-03-31 16:05:34 124

原创 Redis 学习笔记6 - 管理Redis

1. 管理Redis1.1 config 指令除了通过 redis.conf 文件对 Redis 进行配置外,我们还可以通过 config set 命令来个别值进行设置 config set slowlog-log-slower-than 0可以通过 config get 命令来显示配置中的值config get *log*1.2 Authentication...

2020-03-31 00:26:44 73

原创 Redis 学习笔记5 - 数据结构之外的讨论

1. 数据结构之外的讨论1.1 过期时间30 秒后过期,删除 keyexpire pages:about 30在特定时间删除keyexpireat pages:about 1356933600它 会在2012年12月31日上午 12:00 删除 keyttl 命令ttl 命令 可以找出一条数据还能活多久ttl pages:aboutpersist 中止过期...

2020-03-31 00:15:34 66

原创 Redis 学习笔记4 - 数据结构的使用

1. 数据结构的使用1.1 时间复杂度谈到数据结构,一定会谈到 “时间复杂度”。在计算机科学中,算法的时间复杂度是一个函数,它定性描述该算法的运行时间。时间复杂度常用大O符号表述。时间复杂度可被称为是渐近的,即考察输入值大小趋近无穷时的情况。在 Redis 中,用它来表示,基于我们处理的数据的数量,命令执行的速度将会如何。O(1)最快的应该是 O(1) ,一个常...

2020-03-30 23:45:07 78

原创 Redis 学习笔记3 - 数据结构

1. 数据结构深刻理解这五种数据结构,它们的工作原理,它们提供的方法,以及怎样用这些数据结构去建模,是学习理解 Redis 的关键。 首先要弄明白这些数据结构的具体含义。五种数据结构(1) Strings (字符串结构)(2) Hashes (哈希结构)(3) Lists (列表结构)(4) Sets (集合结构)(5) Sorted Sets (有序集合结构)...

2020-03-30 00:47:39 91

原创 Redis 学习笔记2 - 基础知识

1. 基础知识Redis 通常被描述为一个“键值对”方式的存储的内存型数据库。然而它不仅仅如此,它也可以把数据写到硬盘上用以持久化。在 Redis 提供的五种不同的数据结构中,典型的是键值对结构。深刻理解这五种数据结构,它们的工作原理,它们提供的方法,以及怎样用这些数据结构去建模,是学习理解 Redis 的关键。 首先要弄明白这些数据结构的具体含义。1.1 数据库(Datab...

2020-03-29 23:44:17 104

原创 Go 操作 MySQL 数据库

0. 背景在实际开发中,要用到数据库存储数据。MySQL是一个关系型数据库管理系统 使用非常广泛。在Go语言开发中,会选择一个操作数据的类库来帮助我们完成工作。1. 简单介绍1.1 MySQL 数据库介绍MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,...

2020-03-29 21:17:22 280

原创 Redis 学习笔记1 - 安装 Redis

0. 背景关系型数据库 mysql 通过多个数据表表达事物属性和属性之间的关系,它的一个特点是“用 表 的数据结构表达数据”。Redis 是一种内存数据,它很快,常常作为缓存使用,理解 redis 的关键是要理解它的多种数据结构。1. Redis 简介image.png主要特点:key-value存储系统, 支持多种数据结构数据都是缓存在内存中,周期性存储...

2020-03-29 01:07:42 102

原创 Go 使用 Gorm 操作 MySQL 数据库

0. 背景在实际开发中,要用到数据库存储数据。MySQL是一个关系型数据库管理系统 使用非常广泛。在Go语言开发中,会选择一个操作数据的类库来帮助我们完成工作。1. 简单介绍1.1 MySQL 数据库介绍MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,...

2020-03-29 00:50:09 5912

原创 使用metaWebBlog接口实现博客文章同步

0. 背景想实现自己的文章一处编写,多处发布到各大平台(比如博客园,CSDN)等要怎么实现呢。需要由这些组成:文章管理:一个管理文章知识的平台(网站),在这里撰写,编辑文章。比如:写博客的客户端软件,博客园等。第三方网站(平台)具有开放的 API 接口,比如博客园的metaWebBlog。同步服务:读取文章,调开放的API,将文章发布出去。一般来说,写文章的软件很容易...

2020-03-27 10:17:08 340

原创 将博客搬至CSDN

同步搬迁后具有 和简书文章同步的功能,这个比较好。当然,写文章的话,简书还是最方便的。

2020-03-25 17:18:01 60

原创 CORS解决跨域问题

0. 背景浏览器中,网站A的网络请求访问网站A的资源(图片,HTTP请求)是很顺畅的,而想访问网站B的资源,就要面对跨域资源访问的问题了。面对跨域问题,有很多的解决方案,本文讨论使用 CORS 来解决的方案。本文结构1. 什么是跨域问题,什么是同源策略 1.1 不同源则触发一个跨域的HTTP请求 1.2 同源策略 1.3 源2. CORS 概述3. CORS ...

2020-03-25 13:19:06 341

原创 使用 JWT 实现 Token 验证

0.背景JSON Web ( JWT ) 令牌是一种开放的、行业标准方法,用于安全地表示双方之间的声明。在开发过程中要实现登录,授权的基础功能有很多方法,通过 JWT 来实现非常方便,安全。因为是无状态的,比较于cookie 方式的实现,JWT能很好的解决跨域请求的问题。1. 什么是JSON Web令牌?1.1 简介JSON Web Token(JWT)是一个开放标准...

2020-03-24 14:36:59 1032

原创 算法中的时间复杂度

概述程序员写代码过程中总要用到算法,而不同的算法有不同的效率,时间复杂度是用来评估的算法的效率的一种方式。比如说对于一个功能,可以实现的方法很多种,我们在实现过程中选择效率最佳的方式来实现,它影响了我们在一定的场景下选择的数据结构和算法,比如何时选择使用ArrayList,何时用LinkedList。本文结构:概念 渐进时间复杂度场景示例 场景1 ...

2020-03-20 11:23:10 574

原创 Go web 开发框架 Iris

背景掌握了 Go 语言的基础后就该开始实践了,编写Web应用首先需要一个 web 开发框架。做框架选型时,处理web请求是基本功能,至于MVC是更进一步需要。现在比较流行的web架构是前后端分离,后端响应RESTful的请求,Iris 能满足我们的需要。Iris简介它是用Go编写的一个相当新的web框架。它是精心编写的最快的HTTP/2 web 框架。IRIS提供了相当优美...

2020-03-17 20:19:13 833

原创 Go 学习笔记4 - Go Module 模块及依赖管理

概述在写代码过程中,总要引用其他的库而产生功能模块的依赖。Go 在 版本1.1 开始提供 Module 模块化的支持。在1.4 版本后 鼓励所有用户从其他依赖性管理系统迁移到模块模块概念“模块”是多个Go包 (package)的集合,将这些包作为一个整体一起进行版本控制。“模块”记录了正确的依赖关系和依赖需要,在构建时会很便利。总结 项目工程仓库、模块和包之间的关系:...

2020-03-16 17:14:22 435

原创 Go 学习笔记3 - 编写一个Web应用程序

0. 概述掌握了Go的基础语法后,让我们开始动手实战,尝试写一个 简易的wiki 小应用,它是一个 web 应用项目(网页应用)。本文涉及下面的技术点:定义一个 struct 类型,和通过操作文件实现“读取”和“保存”方法使用 net/http包 构建web应用使用 html/template包 处理 HTML 模板使用 regexp包 正则表达式 验证用户输入闭包...

2020-03-15 16:19:59 269

原创 Go 学习笔记2 - 构建个简单的 http 服务

概述Go 自带的 http 包很强大,通过它可以轻松构建个简单的 http 服务。ListenAndServeListenAndServe 方法可以开启一个 HTTP 服务,这个函数接收 一个地址,和一个 handler 。一般情况下,第二个参数 handler 写成 nil,也就是 使用默认的 DefaultServeMux。通过 Handle 方法 和 HandleFu...

2020-03-13 14:44:42 283

原创 Go 学习笔记1 - 通过http包发送网络请求

概述http 包 提供了 HTTP 客户端实现,和服务端的实现。通过 http 包,我们可以发送网络请求,get, post 等。发送 Get,Post,Head构建 get , 方法,很简单,示例:resp, err := http.Get("http://example.com/")...resp, err := http.PostForm("http://...

2020-03-13 10:20:32 350

原创 Go语言基础6 - 并发

概述我们将用几节来学习Go语言基础,本文结构如下:1. 并发 通过通信共享内存 Go程 信道 信道中的信道 并行化 可能泄露的缓冲区2. 错误 Panic 恢复1. 并发1.1 通过通信共享内存在并发编程中,为实现对共享变量的正确访问需要精确的控制,这在多数环境下都很困难。实际上,多个独立执行的线程从不会主动共享。Go语言另辟蹊径,它...

2020-03-12 20:28:11 137

原创 Go语言基础5 - 方法,接口,空白标识符,内嵌

概述我们将用几节来学习Go语言基础,本文结构如下: 1. 方法 指针 vs. 值 2.接口与其它类型 接口 类型转换 接口转换与类型断言 通用性 接口和方法 3.空白标识符 多重赋值中的空白标识符 未使用的导入和变量 为副作用而导入 接口检查 4.内嵌1.方法指针 vs. 值我...

2020-03-11 23:58:08 150

原创 Go语言基础4 - 数据(基本数据结构)

概述我们将用几节来学习Go语言基础,本文结构如下:数据 new 分配 构造函数与复合字面 make 分配 数组 切片 二维切片 映射 打印 追加 初始化 常量 变量 init 函数数据本节包含了 Go 为变量分配内存的方式,和常用的数组,map两种数据结构。Go提供了两种分...

2020-03-11 13:38:07 299

原创 Go语言基础3 - 函数

概述我们将用几节来学习Go语言基础,本文结构如下: 函数 -多值返回 -可命名结果形参 -Defer函数函数的基本语句结构:func DoSome(a int ) string{ return "do"}func 是关键字,表示函数的开始。参数的写法是 变量名在前,类型在后。返回值写在函数的参数的括号后面,上面的例子返回值是 st...

2020-03-10 18:04:26 99

原创 Go语言基础2 - 控制语句( if, for, switch )

概述我们将用几节来学习Go语言基础,本文结构如下: 控制结构 * If -重新声明与再次赋值 * For * Switch -类型选择控制结构Go不再使用 do 或 while 循环,只有一个更通用的 for;switch 要更灵活一点;if 和 switch 像 for一样可接受可选的初始化语句;此外,还有一个...

2020-03-10 16:50:49 144

原创 Go语言基础1 - 代码风格和代码格式化

概述我们将用几节来学习Go语言基础,本文结构如下:格式化 注释 命名 包名 获取器 接口名 驼峰记法 分号格式化格式化问题总是充满了争议,但却始终没有形成统一的定论。在Go中我们另辟蹊径,让机器来处理大部分的格式化问题。gofmt 程序(也可用 go fmt,它以包为处理对象而非源文件)将Go程序按照标准风格缩进、 对齐,保留注释并在需要时重...

2020-03-10 15:26:24 291

原创 如何使用Go编程(环境准备)

背景本章描述了如何配置本地环境,开始使用Go编程我的机器是 mac ,本文按此环境配置。本文结构介绍 go 的工作空间的概念配置 GOPATH 环境变量介绍 包 的路径名创建第一个程序和包的实践测试框架工作空间go 工具为公共代码仓库中维护的开源代码而设计。 无论你会不会公布代码,该模型设置工作环境的方法都是相同的。Go代码必须放在工作空间内。它其实就是一...

2020-03-10 00:19:46 172 1

原创 Go语言学习之旅 4 - Go 的并发原语

Go语言学习笔记 3 - Go 的并发原语概述连续三节的内容如下:第一节覆盖了基本语法及数据结构第二节讨论了方法与接口第三节则简单介绍了 Go 的并发原语。Go 程Go 程(goroutine)是由 Go 运行时管理的轻量级线程。go 函数名会启动一个新的 Go 程并执行这个函数。比如:go say("world") // 将启动一个线程来执行 say 函...

2020-03-09 22:46:05 409

原创 Go语言学习之旅 3 - 方法与接口

概述连续三节的内容如下:第一节覆盖了基本语法及数据结构第二节讨论了方法与接口第三节则简单介绍了 Go 的并发原语。方法Go 没有类。不过你可以为结构体类型定义方法。方法就是一类带特殊的 接收者 参数的函数。方法接收者在它自己的参数列表内,位于 func 关键字和方法名之间func (v Vertex) Abs() float64 { return ma...

2020-03-09 14:36:20 120

原创 Go语言学习之旅 2 - 基本语法及数据结构

概述连续三节的内容如下:第一节覆盖了基本语法及数据结构第二节讨论了方法与接口第三节则简单介绍了 Go 的并发原语。导入包 import大写开头,导出如果一个名字以大写字母开头,那么它就是已导出的。例如,Pizza 就是个已导出名,Pi 也同样,它导出自 math 包。import 分组import "fmt"import "math"不过使用分组导入语句...

2020-03-09 11:14:20 245

原创 Go语言学习之旅 1 - 简介

Go 是编译型语言要创建并运行 Go 程序,程序员必须执行如下步骤。使用文本编辑器创建 Go 程序;保存文件;编译程序;运行编译得到的可执行文件。为什么要学习Go语言最佳的平衡:快速编译,高效执行,易于开发。Go语言的特性语法简单并发模型Goroutine 是 Go 最显著的特征。它用类协程的方式来处理并发单元并发编程变得极为容易,无须处理回调,无须关注...

2020-03-09 10:58:01 137

java实现局域网互发消息

用java语言编写的局域网互发消息的工具

2007-10-01

空空如也

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

TA关注的人

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