自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vscode手动 安装go插件

1.vscode安装go所有插件vscode版本:1.51.0go版本:version go1.15.2 windows/amd64git客户端版本:Git-2.29.2.2-64-bit2.使用vscode自动安装需要提前安装go、vscode、git客户端,配置git环境,配置go环境,GOPATH这个环境变量 对下面的安装很重要根据go的工程目录要求(go比较奇怪,对工程目录有...

2021-04-11 11:02:22 175

原创 存储简介

存储简介简述历史存储顾名思义就是存放数据的方式,自从人类文明以来,我们可以将信息写入竹简,造纸术、活字印刷等,近代随着电子信息的发展,存储发生的变化,穿孔带,软盘,硬盘,磁盘,U盘等各种存储设备应运而生。同时各种磁盘的组合形成的磁盘阵列,可以存储更大的数据。随着海量数据的发展,数据朝向TB级,PB级,EB级的方向发展,简单的硬盘容量已经不能满足需求了,因此,出现了云存储。云存储的产品•块存...

2020-11-21 15:16:31 156

原创 2020-09-22

搭建vue开发环境的步骤在搭建vue的开发环境之前,一定一定要先下载node.js,,vue的运行是要依赖于node的npm的管理工具来实现,node可以在官网或者中文网里面下载,根据自己的电脑选择是32还是64 ,网址:http://nodejs.cn;下载下载好node之后,打开docs管理工具,先看看node安装成功了没有,输入 node -v ,回车,会输出node的...

2020-09-22 19:31:26 142

原创 实现变长数组

要实现什么函数呢?假设我们要实现一个会自动扩展的数组类,我们需要实现函数呢?先从下面 main 函数使用的功能,看看有什么函数是需要我们实现的。image输出结果:0 1 2 3 4要实现如上的功能,要做哪些事情呢?先列出来:要用动态分配的内存的方式,来存放数组元素,且需要一个指针成员变量重载赋值 = 运算符重载括号 [] 运算符重载复制构造函数实现 push_ba...

2020-07-26 11:09:13 129

原创 78中

题目描述给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3] 输出: [ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], [] ]来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/subsets ...

2020-07-26 10:59:18 52

原创 Go 内存分配器的设计与实现

转自:Go 内存分配器的设计与实现系统设计、微服务架构和云原生技术](https://mp.weixin.qq.com/s/NgBHtBqNixfS_Qol_h8Hxw#)程序中的数据和变量都会被分配到程序所在的虚拟内存中,内存空间包含两个重要区域 — 栈区(Stack)和堆区(Heap)。函数调用的参数、返回值以及局部变量大都会被分配到栈上,这部分内存会由编译器进行管理;不同编程语言使用不同...

2020-07-19 21:59:31 73

原创 Part5

示例:package mainimport ( "fmt")func main() { // 重点1的示例。 var srcInt = int16(-255) // 请注意,之所以要执行uint16(srcInt),是因为只有这样才能得到全二进制的表示。 // 例如,fmt.Printf("%b", srcInt)将打印出"-11111111",后者是负数符号再加上srcInt的绝对值的补码。 // 而fmt.Printf("%b", uint16(srcInt))才会打印出srcI

2020-07-01 09:40:48 169

原创 Part4

变量的声明var s stringvar s2 = string("shijie")s1 := "wenxuwan"fmt.Println(s,s1,s2)第一种方式是最传统的变量声明方式,可以显式的看到变量的类型。第二种是利用go语言的类型推断,在声明s2的时候我们不需要定义s2的类型,它会根据后面表达式返回类型来自动判断s2类型第三种是在go语言的推断上加了点语法糖,只能在函数内部使用,或者写for,if,switch语句的时候用在初始化语句中来声明一些临时的变量。不能作为全局声明。

2020-07-01 09:04:33 210

原创 no copy

no copy 机制 转载Go 语言源码阅读有感:no copy 机制Golang技术分享专注于Go语言的知识分享小菜刀读Go源码时,发现一个高频注释语句“XXX must not be copied after first use“。例如sync包下的Pool、Cond、WaitGroup、Mutex、Map和atomoic.Vaule、strings.Builder等,都有该...

2020-06-30 20:30:34 83

原创 Part3

代码管理总结同一目录下面源码应该声明属于同一个代码包,而且同一个包下面的源文件之间的函数调用是可以屏蔽大小写(私有和共有接口)。源码文件声明的包的名字可以和目录不一致,但编译生成的文件的名字和父目录是一致的。如果声明的包的名字和目录的名字不一致,那么怎么引用这个包里面的接口??第一章里面写过了,go是按照文件地址寻址的。所以规则如下:import 文件夹的路径包名.接口名字()我们导入的时候肯定是文件的路径,但调用的时候要用在源码文件里面声明的package的名字。程序

2020-06-30 17:49:21 169

原创 Part2

GO语言的flag包:flag的定义:flag.String(), Bool(), Int() //这里这是列举了几个然后就是两种定义的方式:var ip = flag.Int("flagname", 1234, "help message for flagname") //ip 为指针类型,Int或者String返回的都是指针类型flag.IntVar(&flagvar, "flagname", 1234, "help message for flagname")//此处需要在外面手

2020-06-30 15:48:43 179

原创 Go简介

开发环境搭建随便学学,平时用的都是WIndows10的操作系统,就在这下面搞了。下载安装下载go安装程序,下载地址:https://golang.org/dl/ (被墙了,打不开)墙内下载地址http://www.golangtc.com/download我下的是这个:go1.9.2.windows-amd64.msi安装就下一步就好了,装完之后验证一下。默认已经把Go的路径加到环境变量中去了,所以可以直接在cmd中输入go命令执行:环境变量装完之后,我装到了D:\Go\,已经帮我们添加好了

2020-06-30 11:30:10 635

原创 Part1

Part1.GO 语言安装的时候主要有三个环境变量:GOROOT、GOPATH 和 GOBIN通过 go env 可以查看go语言的一系列的环境变量的配置.go envGOROOT:代表go的安装路径,一般你安装完go语言之后就有了。GOPATH:一个目录路径,也可以包含多个目录路径,每个目录都代表了go语言的一个“工作区”。目录下面有三个目录,src,bin,pkg。src: 用来存放源代码文件。bin: 目录里面存放的都是通过 go install 命令安装后,由 Go 命令源码文件生成

2020-06-30 11:20:34 290

原创 Go核心36讲笔记

Part1.GO 语言安装的时候主要有三个环境变量:GOROOT、GOPATH 和 GOBIN通过 go env 可以查看go语言的一系列的环境变量的配置.go envGOROOT:代表go的安装路径,一般你安装完go语言之后就有了。GOPATH:一个目录路径,也可以包含多个目录路径,每个目录都代表了go语言的一个“工作区”。目录下面有三个目录,src,bin,pkg。src : 用来存...

2020-06-30 11:18:00 59

原创 计算机是怎样跑起来的

计算机三大原则初级问题,硬件和软件的区别是什么?硬件:看得见,摸得着,真实存在的设备。软件:运行在硬件之上,计算机所执行的程序,即指令和数据。中级问题,存储字符串“中国”需要几个字节?-utf8中占3个字节,GBK中占两个字节。高级问题,什么是编码(Code)?为了便于计算机处理而及经过数字化处理的信息。计算机三大原则:1.计算机是执行输入、运算、输出的机器2.程...

2020-06-23 14:53:52 68

原创 数据结构

稀疏数组image.pngimage.pngimage.pngimage.pngimage.png代码实现:package mainimport ( "bufio" "fmt" "io" "os" "strconv" "strings")type ValNode struct { ...

2020-06-20 15:13:25 80

原创 GoAdvance

image.png指针指针就是地址,指针变量就是存储地址的变量*p : 解引用,间接引用栈帧:用来给函数运行提供内存空间,取内存于stack上。​ 当函数调用时,产生栈帧,函数调用结束,释放栈帧。​ 栈存放:局部变量,形参,内存字段描述值(栈基指针与栈顶指针)。指针使用注意:​ 空指针:未被初始化的指针。​ ...

2020-06-13 16:43:28 153

原创 路线

超级详细Linux环境后台开发C++学习路线,已拿鹅厂offer另一篇文章面试经验:《腾讯C++后台开发面试笔试知识点总结参考笔记》整理了C++后台开发知识点,本文尝试从自身学习过程出发,介绍这些技术点的掌握途径和学习路线。工欲善其事必先利其器,好的书籍能让学习事半功倍,所以每个技能点之后我会推荐一些书,都是我读过且口碑不错的书,供参考。分享的学习路径,如果你也能顺着这个学习路径认真学一遍,...

2020-06-08 06:00:06 76

原创 Go 协程的实现原理

G (goroutine)G是goroutine的头文字, goroutine可以解释为受管理的轻量线程, goroutine使用go关键词创建.举例来说, func main() { go other() }, 这段代码创建了两个goroutine,一个是main, 另一个是other, 注意main本身也是一个goroutine.goroutine的新建, 休眠, 恢复, 停止都受到g...

2020-05-30 22:07:02 98

原创 面试题

image.png以下代码结果是什么image.png如何输出012image.pngimage.pngN=10image.pngimage.pngimage.pngimage.pngimage.pngimage.png全局只可以是以下类型:image.pn...

2020-05-26 14:47:05 62

原创 微服务

微服务:将一个服务写成多个模块。image.pngimage.pngimage.png系统性能方案:image.pngimage.pngimage.png服务管理框架与服务是通过心跳包的方式保持通信。RPC:image.pngimage.pngimage.pngimage.png...

2020-05-23 07:27:36 50

原创 子查询

image.pngimage.png进阶7:子查询/*含义:出现在其他语句中的select语句,称为子查询或内查询外部的查询语句,称为主查询或外查询分类:按子查询出现的位置:select后面:仅仅支持标量子查询from后面: 支持表子查询where或having后面:★ 标量子查询(单行) √ 列子查询 (多行) √ ...

2020-05-21 16:02:08 47

原创 sql99语法连接查询

二、sql99语法/*语法:select 查询列表from 表1 别名 【连接类型】join 表2 别名on 连接条件【where 筛选条件】【group by 分组】【having 筛选条件】【order by 排序列表】分类:内连接(★):inner外连接左外(★):left 【outer】右外(★):right 【outer】全外:full【outer】交叉...

2020-05-19 17:19:33 70

原创 beego框架

image.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.png...

2020-05-16 14:54:35 37

原创 gin框架

Gin是一个用Go语言编写的web框架。它是一个类似于martini但拥有更好性能的API框架, 由于使用了httprouter,速度提高了近40倍。 如果你是性能和高效的追求者, 你会爱上Gin。Gin框架介绍Go世界里最流行的Web框架,Github上有32K+star。 基于httprouter开发的Web框架。 中文文档齐全,简单易用的轻量级框架。Gin框架安装与使用安装下载并安...

2020-05-14 11:08:35 48

原创 influxDB

本文介绍了influxDB时序数据库及Go语言操作influxDB。InfluxDB是一个开源分布式时序、事件和指标数据库。使用Go语言编写,无需外部依赖。其设计目标是实现分布式和水平伸缩扩展。安装下载https://portal.influxdata.com/downloads/这里需要注意因为这个网站引用了google的api所以国内点页面的按钮是没反应的,怎么办呢?按照下图所示,...

2020-05-11 16:18:39 48

原创 etcd

go操作etcdetcd是近几年比较火热的一个开源的、分布式的键值对数据存储系统,提供共享配置、服务的注册和发现,本文主要介绍etcd的安装和使用。etcdetcd介绍etcd是使用Go语言开发的一个开源的、高可用的分布式key-value存储系统,可以用于配置共享和服务的注册和发现。类似项目有zookeeper和consul。etcd具有以下特点:完全复制:集群中的每个节点都可以...

2020-05-10 13:49:37 53

原创 go学习之路

转发:go编程时光[go中文学习资料](https://go.wuhaolin.cn/)下面网站比较多,将它们分成 五大类,你可以根据自己的实际 情况进行选择:入门阶段Web开发进阶阶段工具使用技术社区源码阅读另外,为了方便大家,我制作了张思维导图,这下清晰多了吧(hhhhh视频<noscript>[图片上传中...(image-81ea7-158903446...

2020-05-09 22:29:11 100

原创 函数

进阶4:常见函数/*概念:类似于java的方法,将一组逻辑语句封装在方法体中,对外暴露方法名好处:1、隐藏了实现细节 2、提高代码的重用性调用:select 函数名(实参列表) 【from 表】;特点:①叫什么(函数名)②干什么(函数功能)分类:1、单行函数如 concat、length、ifnull等2、分组函数功能:做统计使用,又称为统计函数、聚合函数、组函数常见函...

2020-05-09 21:31:42 87

原创 数据库简介

数据库优势:实现数据持久化使用完整的管理系统统一管理,易于查询。DB:database(数据库)存储数据的仓库,保存了一系列有组织的数据。DBMS:Database Managenment System (数据库管理系统),数据库软件,数据库是通过DBMS创建和操作的容器。SQL:(结构化查询语言):与DB通信的语言。​ 优点:通用数据库语言。简单易学灵活使用,可进行复...

2020-05-08 10:56:51 62

原创 日志收集项目

日志收集项目架构设计及Kafka目前主流的日志收集方案ELK360截图20200505170804824.jpgELK问题:增加一个日志收集项,需要手动修改配置。部署的时候麻烦,没一个filebeat都需要配置一个配置文件我们的架构图:360截图20200505170932328.jpg学习到的技能:服务端agent开发后端服务组件开发Kafka和zook...

2020-05-07 08:36:18 82

原创 23.NSQ

NSQ是目前比较流行的一个分布式的消息队列,本文主要介绍了NSQ及Go语言如何操作NSQ。组件:nsqdlookupd.exe默认本机的127.0.0.1nsqd.exe -broadcast-address=127.0.0.1 -lookupd-tcp-address=127.0.0.1:4160启动adminNSQNSQ介绍NSQ是Go语言编写的一个开源的实时分布式内存消息队列...

2020-05-04 17:12:17 84

原创 21.连接MySQL

MySQL是业界常用的关系型数据库,本文介绍了Go语言如何操作MySQL数据库。360截图20200503173103802.jpggo文件不是同一个模块,关闭go mod即可。Go操作MySQL原生支持连接池,是并发安全的。这个标准库没有具体的实现,只是列出了一些需要第三方库实现的具体内容。go get 识别问题如果您使用的 Go 版本是 1.13 及以上 (推荐)go...

2020-05-01 08:53:47 49

原创 19.单元测试

不写测试的开发不是好程序员。我个人非常崇尚TDD(Test Driven Development)的,然而可惜的是国内的程序员都不太关注测试这一部分。 这篇文章主要介绍下在Go语言中如何做单元测试和基准测试。go test工具Go语言中的测试依赖go test命令。编写测试代码和编写普通的Go代码过程是类似的,并不需要学习新的语法、规则或工具。go test命令是一个按照一定约定和组织的测试...

2020-04-30 16:13:07 36

原创 进阶:包装类

image.pngpackage com.Hanjiangxue.javase.integer;//java中为8种基本数据类型又对应准备了8种包装类型。8种包装类属于引用数据类型,父类为Object//思考:为什么要再提供8中包装类呢?public class IntegerTest01 { //入口 public static void main(Stri...

2020-04-30 09:20:57 42

原创 17.网络编程

现在我们几乎每天都在使用互联网,我们前面已经学习了如何编写Go语言程序,但是如何才能让我们的程序通过网络互相通信呢?本章我们就一起来学习下Go语言中的网络编程。 关于网络编程其实是一个很庞大的领域,本文只是简单的演示了如何使用net包进行TCP和UDP通信。如需了解更详细的网络编程请自行检索和阅读专业资料。互联网协议介绍互联网的核心是一系列协议,总称为”互联网协议”(Internet Prot...

2020-04-29 17:37:32 39

原创 进阶:String

package com.Hanjiangxue.javase.string;//位于java.lang.String//String表示字符串类型,属于引用数据类型,不属于基本数据类型。//在Java中随便使用双引号括起来的都是String对象。//Java中规定,双引号括起来的字符串是不可变的。//在JDk双引号括起来的字符串存储在方法区的常量池中,因为字符串实际中开发频繁,为了执行...

2020-04-29 14:42:25 34

原创 数组

image.pngimage.pngpackage com.Hanjiangxue.javase.array;//Java中的数组是一种引用数据类型,不属于基本数据类型,数组的父类是Object。//数组实际上是一个容器,可以同时容纳多个元素。(数组是一个数据的集合)//数组字面就是一组数据//数组可以存储基本数据类型数据,也可以存储引用数据类型的数据//数组因...

2020-04-28 21:46:37 39

原创 16.并发

并发是编程里面一个非常重要的概念,Go语言在语言层面天生支持并发,这也是Go语言流行的一个很重要的原因。Go语言中的并发编程并发与并行并发:同一时间段内执行多个任务(你在用微信和两个女朋友聊天)。并行:同一时刻执行多个任务(你和你朋友都在用微信和女朋友聊天)。Go语言的并发通过goroutine实现。goroutine类似于线程,属于用户态的线程,我们可以根据需要创建成千上万个gorou...

2020-04-25 18:02:14 53

原创 进阶:抽象类

image.png抽象类:类与类之间具有共同特征,将这些共同特征提取出来,形成的就是抽象类。类本身是不存在的,所以抽象类无法创建对象(无法实例化)。抽象类属于什么类型:引用数据类型。语法:[修饰符列表] abstract class 类名{类体;}抽象类是无法实例化的,无法创建对象的,所以抽象类是用来被子类继承的。abstract 和final不能同时出现...

2020-04-25 09:05:39 89

Threads.zip

讲述c++11多线程编程,包含线程的创建,互斥量,条件变量,以及互斥量的各种使用,例如:mutex,lock_guard,unique_lock等。其中还比较了windows下,互斥量与c++11的不同,各种函数参数等详解。

2020-01-07

空空如也

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

TA关注的人

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