自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SQL练习

# 1、 查询Student表中的所有记录的Sname、Ssex和Class列。select Sname, Ssex, Class from Student;# 2、 查询教师所有的单位即不重复的Depart列。select distinct Depart, Tname from Teacher;# 3、查询Student表的所有记录。select * from Student;...

2019-09-23 17:48:27 588

原创 Go:100道Go语言面试题

1.【初级】下面属于关键字的是()A. funcB. defC. structD. class参考答案:AC2.【初级】定义一个包内全局字符串变量,下面语法正确的是()A. var str stringB. str := ""C. str = ""D. var str = ""参考答案:AD3.【初级】通过指针变量 p 访问其成员变量 ...

2019-09-03 14:20:36 13206 1

原创 Go:yaml配置文件集成

目录  Yaml配置介绍  Yaml配置文件解析  Koala配置项梳理  Koala配置文件生成器开发Yaml配置文件介绍基本语法 大小写敏感 使用缩进表示层级关系 缩进时不允许使用Tab键,只允许使用空格...

2019-08-30 08:58:12 1861

原创 Go:普罗米修斯中间件开发

目录  Prometheus介绍  Grafana介绍和使用  Prometheus中间件开发  测试Prometheus中间件Prometheus介绍 分布式监控系统 完全被开源,使用Go进行开发 ...

2019-08-30 08:36:57 2725

原创 Go:中间件

目录 中间件是什么?  中间件设计  中间件代码开发中间件是什么?中间件:是一类连接软件组件和应用的计算机软件,它包括一组服务。以便于运行在一台或多 台机器上的多个软件通过网络进行交互。该技术所提供的互操作性,推动了一致分布式体系架 构的演进,该架构通常用于支持并简化那些复杂的分布式应用程序,它包括web服务器、事务 监控器和消息队列软件。 ...

2019-08-29 06:09:41 438

原创 Go:微服务框架开发三(代码生成工具开发)

目录 共性抽象  代码生成工具设计  代码生成工具开发共性抽象package mainimport( "log" "net" pb "github.com/ibinarytree/koala/example/grpc_example/hello" "golang.org/x/net/context" "google.golang...

2019-08-29 05:43:25 1480

原创 Go:微服务框架开发二

目录 Http2 协议协商  https 密码交换协商  grpc使用示例HTTP2使用示例Golang默认支持http2问题: 如何兼容老的浏览器或客户端? 通过协议协商进行解决协议协商  Upgrade机制  ALPN机制,Application Layer Protocol Neg...

2019-08-29 05:25:41 293

原创 Go:微服务框架开发一

目录 微服务框架整体架构  http/2介绍  grpc介绍微服务框架整体架构微服务框架的意义性能  专业的人做专业的事情  专注框架层面的优化稳定性  专门的团队进行维护  Bug快速fix效率  解决共性问题 ...

2019-08-29 04:35:08 1964

原创 Go:序列化和反序列化

目录 为什么要序列化和反序列化  Json简介和使用  Msgpack简介和使用  Protobuf简介和使用为什么需要序列化和反序列化?微服务特点 1.每个服务专注做好一件事 2.微服务之间需要进行交互 3.每个服务可以使用任何语言进行开发为什么需要序列化和反序列化?服务之间进行沟...

2019-08-29 02:27:51 1743

原创 Go:微服务架构

微服务架构全景图服务注册和发现Client side implement 1.调用需要维护所有调用服务的地址 2.有一定的技术难度,需要rpc框架支持Server side implement 1.架构简单 2.有单点故障问题:在微服务架构中,为什么不选择传统的LV...

2019-08-29 01:57:17 1154

原创 Go:负载均衡组件开发

目录  场景分析  基本算法介绍  接口设计  功能开发场景分析分布式系统 1.每个服务都有多个实例 2.请求如何路由?传统解决方案 DNS+LVS 1...

2019-08-29 01:51:36 700 1

原创 Go:服务发现开发

服务发现 使用DNS进行服务发现 服务注册&发现原理 服务发现接口定义 基于etcd的服务发现开发服务发现的两种方案 1.使用DNS进行服务发现 2.基于SDK的形式进行服务发现使用DNS进行服务发现传统D...

2019-08-29 01:29:16 554

原创 Go:服务注册组件开发

服务注册&发现原理 注册中心选型选项模式介绍问题描述type Options struct{ StrOption1 string StrOption2 string StrOption3 string IntOption1 int IntOption2 int IntOption3 int}...

2019-08-29 01:13:17 325

原创 Go:微服务概述

单体应用概念 1.所有业务功能都在一个应用程序里面 2.研发人员开发并维护同一个代码库 3.架构简单,典型的三层架构单体应用的横向扩展单体应用的优势(规模不大) 1.架构简单,容易上手 2.部署简单,没有复杂的依赖 3.测试方便,...

2019-08-28 18:08:42 715

原创 Go:struct

struct声明和定义1. Go中⾯向对象是通过struct来实现的, struct是⽤户⾃定义的类型type User struct { Username string Sex string Age int AvatarUrl string} 注意:type是⽤来定义⼀种类型2. struct初始化⽅法var...

2019-08-28 17:20:35 212

原创 Go:切片

切⽚定义1. 切⽚是基于数组类型做的⼀层封装。它⾮常灵活,可以⾃动扩容。var a []int//定义⼀个int类型的空切⽚2. 切⽚初始化, a[start:end]创建⼀个包括从start到end-1的切⽚。package mainimport ( "fmt")func main() { a := [5]int{76, 77, 78, 79, 80} ...

2019-08-28 16:48:27 147

原创 Go:map声明和定义

map声明和定义1. map类型是⼀个key-value的数据结构。//var a map[key的类型]value类型var a map[string]intvar b map[int]stringvar c map[float32]string注意:map必须初始化才能使⽤,否则panic2. map类型的变量默认初始化为nil,需要使⽤make分配map内存pa...

2019-08-28 16:21:19 1579

原创 Go:指针

变量和内存地址1. 每个变量都有内存地址,可以说通过变量来操作对应⼤⼩的内存var a int32a = 100fmt.Printf(“%d\n”, a)fmt.Printf(“%p\n”, &a)注意:通过&符号可以获取变量的地址2. 普通变量存储的是对应类型的值,这些类型就叫值类型指针类型3. 指针类型的变量存储的是⼀个地址,所以⼜叫指针类型...

2019-08-28 16:08:56 136

原创 Go:性能优化

性能优化背景以及原理1. 性能优化背景 2. 常见性能优化手段 A. 尽可能的减少 HTTP 的请求数。合并css和js以及图片。 B. 使用CDN系统,实现就近访问。 C. 启用gzip压缩,降低网页传输的大小。 D. 优化后端api服务的性能。...

2019-08-28 15:17:59 1058 1

原创 Go:gin框架

Gin框架介绍1. 简介 A. 基于httprouter开发的web框架。http://github.com/julienschmidt/httprouter B. 提供Martini风格的API,但比Martini要快40倍 C. 非常轻量级,使用起来非常简洁2. Gin框架安装与使用 ...

2019-08-28 14:58:19 1727

原创 Go:依赖管理和Mysql开发

依赖管理介绍1. 简介 A. 所有的第三方包都放在$GOPATH的src目录下。 B. 如果不同程序依赖的版本不一样,怎么管理 C. 每个程序依赖的包,没有版本号的概念。2. godep安装 a. 安装方法: go get github.com/tools/godep ...

2019-08-28 04:04:53 385

原创 Go:数据格式

数据交换格式简介1. 简介 A. 分布式系统 B. 打包和解包操作 C. 传输模式:1. 网络传输,API接口。2. 文件传输。2. JSON数据格式 a. 对象, key-value形式。{} b. 数组,[]{ "dates":{ ...

2019-08-28 03:37:17 353

原创 Go:Web编程

Web编程基础1. Web工作方式HTTP协议详解1. http 请求包体GET /domains/example/ HTTP/1.1 //请求行: 请求方法 请求URI HTTP协议/协议版本Host:www.iana.org //服务端的主机名User-Agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.4 (KHTM...

2019-08-28 03:24:02 275

原创 Go:NSQ消息队列

NSQ介绍1. 简介 A. NSQ是Go语言编写的,开源的内存分布式消息队列中间件 B. 可以大规模地处理每天数以十亿计级别的消息 C. 分布式和去中心化拓扑结构,无单点故障 D. Github地址:https://github.com/nsqio/nsq2. NSQ应用场景1....

2019-08-27 21:48:30 760

原创 Go:Redis

Redis介绍1. 简介 A. 开源的、内存中的数据结构系统。 B. 支持多种数据结构,string、hash、列表、集合以及有序集合 C. 性能非常好,单机能够达到15wQPS。 D. 通常用来做缓存系统,完全可以替代memcache2. 应用场景 ...

2019-08-27 21:34:18 1087

原创 Go:反射

变量介绍1. 变量的内在机制 A. 类型信息,这部分是元信息,是预先定义好的 B. 值类型,这部分是程序运行过程中,动态改变的var arr [10]intarr[0] = 10arr[1] = 20arr[2] = 30arr[3] = 40arr[4] = 50type Animal struct { Nam...

2019-08-27 17:25:59 217

原创 Go:测试和调试

自动化测试框架1. testing A. testing包提供了自动化测试相关的框架 B. 支持单元测试和压力测试import ( "testing")测试规范2. Go中的测试约定 A. 用来测试的代码必须以_test.go结尾 B. 单元测试的函数名必须以Tes...

2019-08-27 17:08:34 740

原创 Go:接口实战(日志库开发)

日志库需求分析1. 日志库产生的背景 A. 程序运行是个黑盒 B. 而日志是程序运行的外在表现 C. 通过日志,可以知道程序的健康状态2. 日志打印级别设置 A. Debug级别:用来调试程序,日志最详细。对程序性能影响比较大。 B. Trace级别:...

2019-08-27 17:00:10 251

原创 Go:接口

1. 接口定义了一个对象的行为规范 A. 只定义规范,不实现 B. 具体的对象需要实现规范的细节2. Go中接口定义 A. type 接口名字 interface B. 接口里面是一组方法签名的集合type Animal interface { Talk() E...

2019-08-27 16:53:31 154

原创 Go:并发与多线程

1. 概念 A. 并发:同一时间段内执行多个操作。 B. 并行:同一时刻执行多个操作。2. 多线程 Goroutine初探 A. 线程是由操作系统进行管理,也就是处于内核态。 B. 线程之间进行切换,需要发生用户态到内核态的切换。 C. 当系统中运行大量线程,系统...

2019-08-27 16:14:42 311

原创 Go:网络

TCP/IP协议介绍1. 互联网起源 1. 起源于美国五角大楼,它的前身是美国国防部高级研究计划局 主持研制的ARPAnet。 2. 互联网的基础是TCP/IP协议 3. TCP/IP 是供已连接因特网的计算机进行通信的通信协议。2. TCP/IP协议 1. TCP ...

2019-08-27 15:47:04 352

原创 Go:线程安全介绍

1. 现实例子 A. 多个goroutine同时操作一个资源,这个资源又叫临界区 B. 现实生活中的十字路口,通过红路灯实现线程安全 C. 火车上的厕所,通过互斥锁来实现线程安全2. 实际例子, x = x +1 A. 先从内存中取出x的值 B. CPU进行计算,x+1...

2019-08-27 15:08:52 822

原创 Go:Select语义介绍和使用

1.多channel场景 多个channel同时需要读取或写入,怎么办? 串行操作? NOpackage mainimport ( "fmt" "time")func server1(ch chan string) { time.Sleep(6 * time.Second) ch <- "from server1"...

2019-08-27 14:57:21 231

原创 bat批量修改文件名

1.将文件全部存入同一文件夹,打开cmd,进入到文件夹。2.输入命令:dir /b>rename.xls3.打开rename.xls,将A内容复制到B,选中B,ctrl+H,将文件名批量替换成要修改的文件名。4.输入公式:="ren "&A1&" "&B1,将C中内容下拉至完整5.创建bat文件ren.bat ,将C中内容复制到bat文件中,双击ba...

2019-08-26 23:47:15 7244

原创 多线程与并发

1.1进程和线程的区别 1.进程和线程的由来 串行:初期计算机只能床行执行任务,并且需要长时间等待用户输入 批处理:预先将用户的指令集中成清单,批量创行处理用户指令,仍然无法并发执行。 进程:进程独占内存空间,保存各自运行状态,相互间不干扰且可以互相切换,为并发处理任务提供了可能 线程:共享进程的内存资源,相互间切换更快速...

2019-08-19 16:38:51 143

原创 Redis

1.1缓存中间件,Memacache 和Redis的区别:1.Memacache: 代码层次类似Hash。 Memacache的优点在于它非常简单易用,并且它跟Hash是非常类似的。是可以通过Hash这个数据结构来实现的 1.支持简单的数据类型 2. 不支持数据持久化存储,一旦服务器宕机之后,数据没有办法保存下来的 3. 不支持M...

2019-08-19 16:12:11 199

原创 数据库

1.1数据库设计:1.存储(文件系统): 将数据最终磁盘化存入硬盘中,如机械硬盘,或固态硬盘2.程序实例(用逻辑结构映射出物理结构来,并且在程序中,提供、获取、以及管理数据的方式,还有必要的问题追踪机制):频繁的IO,会使数据库的执行效率慢如蜗牛,因为一次IO读取多条数据,和单条数据花费的时间并没有多大的区别,我们可 以一次性的区读取多行,提升IO的效能,所以行就失去了它的意义。实...

2019-08-19 15:47:19 215

原创 eclipse源码下载地址

http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.6.2-201102101200/eclipse-sourceBuild-srcIncluded-3.6.2.zip

2019-07-08 17:30:53 1480

原创 .NoClassDefFoundError: com/fasterxml/jackson/annotation/JsonMerge

解决:将下面三个包替换掉项目中的那个。<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version> 2.9.9</version>&...

2019-07-04 16:33:21 7707 2

原创 classcastexception: com.github.pagehelper.pagehelper cannot be cast to org.apac site:blog.csdn.net

解决:将SqlMapConfig.xml 文件中修改为

2019-07-04 16:06:31 367

空空如也

空空如也

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

TA关注的人

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