自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

假正经Leo先生

越努力,越幸运。

  • 博客(177)
  • 收藏
  • 关注

原创 Git常见命令

文章目录远端同步到本地分支操作本地同步到远端查看Git 日志Git比较操作回滚操作远端同步到本地git clone <git远端仓库链接> "克隆一个远端仓库到本地,-b branch检出分支"git pull origin <branch> "更新<branch>仓库的远端分支到本地"分支操作git checkout -b feature_x...

2020-04-29 10:13:13 261

原创 剑指offerC++解析和答案

1)二维数组中的查找2)替换空格3)从尾到头打印链表4)重建二叉树5)用两个栈实现一个队列6)旋转数组的最小数字7)斐波那契数列8)跳台阶9)变态跳台阶10)矩形覆盖11)二进制中1的个数12)数值的整数次方13)调整数组顺序使奇数位于偶数前面14)链表中倒数第k个节点15)反转链表16)合并两个有序的链表17)树的子结构18)二叉树的镜像19)顺时针打印矩阵...

2019-04-24 11:07:06 7208

原创 C++服务器项目概述

项目代码:https://github.com/xiaoweixiao/HTTP

2019-02-13 17:07:00 3374

原创 GitHub使用教程

ssh方法使用GitHub1、首先需要有一个GitHub账号,这个自己搞定。2、在GitHub首页,点击New repository(创建新仓库)3、填写仓库名称、仓库描述、点击Create repository,默认仓库属性是Public(公开的)。4、复制ssh的URL,然后进入Linux系统终端(windows用户需要下载安装Git)5、git clone ssh的URL,之...

2018-12-16 01:36:31 2314 1

原创 包含min函数的栈

文章目录方法一:辅助栈list模拟栈定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。方法一:辅助栈要做出这道题目,首先要理解栈结构先进后出的性质。对于栈来说,如果一个元素 a 在入栈时,栈里有其它的元素 b, c, d,那么无论这个栈在之后经历了什么操作,只要 a 在栈中,b, c, d 就一定在栈中,因为在 a 被弹出之前,b, c, d 不会被弹出。因此,在操作过程中的任意一个时刻,只要栈顶的

2022-11-04 18:06:41 158

原创 剑指offer题解(Go语言实现)

最近开启了二刷剑指offer,大学习惯使用C++刷题,最近发现自己习惯了Go语言,也爱上了使用Go语言进行编码,所以这次再发布一版Go版本的剑指offer题解。

2022-11-04 18:06:08 194

原创 两个栈实现一个队列

文章目录双栈用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )type CQueue struct {}func Constructor() CQueue {}func (this *CQueue) AppendTail(value int) {}func (this *CQueue) DeleteH

2022-11-04 18:05:28 212

原创 Go语言自己实现Itoa和Atoi,字符转数字,数字转字符

Itoa不适用任何库,纯代码实现func itoa(i int) (ret string) { neg := false if i < 0 { i = -i neg = true } else if i == 0 { return "0" } var cs []string for i > 0 { cs = append(cs, string(i%10+'0')) i /= 10 } for i, j := 0, len(cs)-1; i < j;

2022-05-15 17:43:53 499 1

原创 Go语言代码优化

string和[]byte之间的下相互转换import ( "encoding/json" "fmt" "unsafe")func string2bytes(s string) []byte { return *(*[]byte)(unsafe.Pointer(&s))}func bytes2string(b []byte) string { return *(*string)(unsafe.Pointer(&b))}type Man struct { Age

2022-04-29 17:08:33 369

原创 初识PySpark

PySpark简介:https://www.codingdict.com/article/8880安装配置Java、Scala、PySpark环境

2022-04-07 17:14:07 1963

原创 解决vscode中go插件下载失败的问题

由于网络的原因,vscode自动下载go插件时大概率是失败的,但vscode又经常弹出窗口要安装插件。为了解决这个问题,我们需要手动下载go插件go env -w GO111MODULE=ongo env -w GOPROXY=https://goproxy.cn,direct然后重启vscode,重新去下载,就可以下载下来了。...

2021-11-20 19:58:56 1281

原创 ElasticSearch简介

什么是ElasticSearch基于Apache Lucene构建的开源搜索引擎采用Java编写,提供简单易用的RESTFul API轻松的横向扩展,支持PB级的结构化和非结构化的海量数据梳理可用场景海量数据分析引擎站内搜索引擎数据仓库...

2021-08-08 13:54:34 174

原创 【数据结构】数据结构常见链表面试题剖析(上)

反转链表定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。来自:https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof//** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} *

2021-07-31 18:36:21 160

原创 欢迎使用CSDN-markdown编辑器(* ̄︶ ̄)

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-02-28 18:08:54 123

原创 thrift协议

Server(single-threaded, event-driven etc)服务器进程调度Processor(compiler generated)RPC接口处理函数分发,IDL定义接口的实现将挂接到这里面Protocol (JSON, compact etc)协议Transport(raw TCP, HTTP etc)网络传输

2020-12-02 16:31:53 167

原创 学习资源链接

梯子教程:https://www.tizi365.com/archives/257.html编程之家:https://www.jb51.cc/go/187657.html菜鸟教程:https://www.runoob.com/

2020-11-24 10:29:10 128

原创 抽象工厂

抽象工厂抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。主要解决:主要解决接口选择的问题。何时使用:系统的产品有多于一个的产品族,而系统只消费其中某一族的产品。如何

2020-09-05 23:02:48 180

原创 简单工厂模式

简单工厂package mainimport "fmt"type Food interface { Eat()}type Rice struct {}func (r *Rice) Eat() { fmt.Println("Eat rice")}type Noodles struct {}func (r *Noodles) Eat() { fmt.Println("Eat Noodles")}func NewFood(choose string) Food { i

2020-09-01 09:00:30 168

原创 Go Modules 详解使用

文章目录创建一个新模块添加依赖项升级依赖项删除未使用的依赖项总结自从 Go 官方从去年推出 1.11 之后,增加新的依赖管理模块并且更加易于管理项目中所需要的模块。模块是存储在文件树中的 Go 包的集合,其根目录中包含 go.mod 文件。 go.mod 文件定义了模块的模块路径,它也是用于根目录的导入路径,以及它的依赖性要求。每个依赖性要求都被写为模块路径和特定语义版本。从 Go 1.11 开始,Go 允许在 $GOPATH/src 外的任何目录下使用 go.mod 创建项目。在 $GOPATH/sr

2020-08-27 22:42:56 393

原创 C++迭代器失效

文章目录序列式容器vectordeque关联式容器序列式容器vector向量容器。底层是动态开辟的一维数组,内存可增长,Linux每次增长2倍,Windows每次1.5倍。erase(it)会使it之后节点的迭代器失效。避免方法就是it=erase(it);push_back()会导致若干节点迭代器失效。deque双端队列容器。底层是动态开辟的二维数组,一位数组里全部存的是指针,二维数组是动态开辟的,所以说deque的底层是一个部分连续整体不 连续的结构erase(it)指向的是de

2020-06-21 14:29:21 204

原创 顺序表存储,文件保存

#include<fstream>#include<iostream>#include<string>#include<sstream>using namespace std;class student{ string ID; string name;public: bool operator<(student stu); friend ostream & operator<<(ostream & s,

2020-06-13 08:41:17 691

原创 C++实现单链表

文章目录C++实现单链表C++对象构建与使用,error: taking address of temporary [-fpermissive]error: default argument given for parameter 1 of ‘’ [-fpermissive]C++实现单链表C++对象构建与使用,error: taking address of temporary [-fpermissive]class Node{private: int val; Node *ne

2020-05-21 15:15:57 359

原创 设计模式0

Golang语言是面向接口语言,并非面向对象语言。为了方便使用,有了接口:https://blog.csdn.net/Vickers_xiaowei/article/details/104630797文章目录封装继承多态封装import包封装隔离,大小写实现封装,小写对象外不可见,大写对象外可见。type Human struct{ name string}func(h* Human...

2020-04-28 11:06:01 207

原创 数据库表的约束

表的约束为了保证数据的合法性,除了数据类型限制,还需要有其它约束:表的约束很多,这里主要介绍如下几个: null/not null,default, comment, zerofill,primary key,auto_increment,unique key 。空属性两个值:null(默认的)和not null(不为空)数据库默认字段基本都是字段为空,但是实际开发时,尽可能保证字段不...

2020-04-12 21:52:48 554

原创 MySQL基础类型

数据类型为了保证数据的合法性,除了数据类型限制,还需要有其它约束:表的约束很多,这里主要介绍如下几个: null/not null,default, comment, zerofill,primary key,auto_increment,unique key 。空属性两个值:null(默认的)和not null(不为空)数据库默认字段基本都是字段为空,但是实际开发时,尽可能保证字段...

2020-04-08 22:38:50 202

转载 Go: 谨慎使用 math/rand 包中的默认随机数函数

https://mozillazg.com/2019/05/go-be-careful-of-math-rand-functions.html

2020-03-25 13:07:51 564

原创 Go语言实现简单的聊天程序

服务器package mainimport ( "bufio" "fmt" "net" "os")func log(msg string, err error) { fmt.Println(msg, err) os.Exit(-1)}func work(sock net.Conn) { for { var buf [1024]byte n, err := ...

2020-03-10 11:44:34 884

原创 Go语言基础之并发(并发安全和锁)

文章目录互斥锁读写锁sync.Once实现单例模式sync.Map原子操作互斥锁使用互斥锁能够保证同一时间有且只有一个goroutine进入临界区,其他的goroutine则在等待锁;当互斥锁释放后,等待的goroutine才可以获取锁进入临界区,多个goroutine同时等待一个锁时,唤醒的策略是随机的。package mainimport ( "fmt" "sync")va...

2020-03-08 15:18:05 711

原创 Go语言基础之并发(channel通信)

文章目录channelchannel操作有缓冲通道和无缓冲通道从通道取值单向通道channel单纯地将函数并发执行是没有意义的。函数与函数间需要交换数据才能体现并发执行函数的意义。虽然可以使用共享内存进行数据交换,但是共享内存在不同的goroutine中容易发生竞态问题。为了保证数据交换的正确性,必须使用互斥量对内存进行加锁,这种做法势必造成性能问题。Go语言的并发模型是CSP(Commu...

2020-03-08 11:57:15 505

原创 Go语言基础之并发(Goroutine)

文章目录并发与并行Go语言实现并发的方式goroutine的使用goroutine之间的通信channel并发是编程里面一个非常重要的概念,Go语言在语言层面天生支持并发,这也是Go语言流行的一个很重要的原因。并发与并行并发:同一时间段内执行多个任务(我边微信和女朋友聊天边玩王者荣耀。我在自己复活阶段这个短暂的时间去回复一下微信消息。并不意味着我能在同一时刻玩游戏和陪女朋友)。并行:同一时...

2020-03-08 09:30:00 562 1

原创 Golang语言基础之反射

Go语言中的变量是分为两部分的:类型信息:预先定义好的元信息。值信息:程序运行过程中可动态变化的。反射概念反射是指在程序运行期对程序本身进行访问和修改的能力。程序在编译时,变量被转换为内存地址,变量名不会被编译器写入到可执行部分。在运行程序时,程序无法获取自身的信息。支持反射的语言可以在程序编译期将变量的反射信息,如字段名称、类型信息、结构体信息等整合到可执行文件中,并给程序提供接口...

2020-03-06 20:04:31 403

原创 Go语言文件操作

文章目录File方法读取文件File方法写入操作bufio读取文件bufio写入文件ioutil读取整个文件ioutil写入文件File方法读取文件文件的打开和关闭os.Open()函数能够打开一个文件,返回一个*File和一个err。对得到的文件实例调用close()方法能够关闭文件。为了防止文件忘记关闭,我们通常使用defer注册文件关闭语句。读取文件file.Read()Rea...

2020-03-03 21:58:20 200

原创 Go语言基础之接口

接口(interface)定义了一个对象的行为规范,只定义规范不实现,由具体的对象来实现规范的细节。接口类型在Go语言中接口(interface)是一种类型,一种抽象的类型。interface是一组method的集合,是duck-type programming的一种体现。接口做的事情就像是定义一个协议(规则),只要一台机器有洗衣服和甩干的功能,我就称它为洗衣机。不关心属性(数据),只关心行...

2020-03-03 14:59:50 341

原创 Go语言基础之time包

package mainimport ( "fmt" "time")func main() { fmt.Printf("-----------------------时间类型和时间戳----------------------\n") now := time.Now() //返回值now是time.Time类型,time.Time是个时间结构体 timestamp ...

2020-03-03 13:14:10 555

原创 Golang关于return原理和defer的执行时机

简单介绍的deferdefer是什么?在Go语言中,可以使用关键字defer向函数注册退出调用,即主函数退出时,defer后的函数才被调用。defer语句的作用是不管程序是否出现异常,均在函数退出时自动执行相关代码。defer的用途在函数中,程序员经常需要创建资源(比如:数据库连接、文件句柄、锁等) ,为了在函数执行完 毕后,及时的释放资源,Go 的设计者提供 defer (延时机制)。...

2020-03-02 17:43:34 595

原创 Golang语言map的应用

文章目录统计一个字符串中的单词数目采用map实现成绩管理统计一个字符串中的单词数目package mainimport ( "fmt" "strings")func main() { //统计一个字符串中的单词数目 str := "I am xiaoming, I am 12 years old. \ I like eat noodles and I'd like to p...

2020-03-02 13:28:17 175

原创 Golang结构体

结构体模拟继承Golang语言没有继承概念,只能通过struct嵌套struct模拟实现package mainimport "fmt"type animal struct{ habitat0 string//栖息地 life0 int//寿命 eat0 string//生存方式}func newAnimal(habitat,eat string,life int)*ani...

2020-03-02 11:39:49 380

原创 Golang下标访问和range访问的区别

package mainimport "fmt"var spl = make([]int, 0, 10)func main() { a := 10 b := 20 spl = append(spl, a) for _, val := range spl { fmt.Printf("range方式修改前:%v\n",val) val = b fmt.Printf("r...

2020-03-02 10:46:32 934

原创 Golang学生成绩管理系统

package mainimport ( "fmt" "os")type student struct { name0 string num0, score0 int}func newStudent(name string, num, score int) *student { //模拟student的构造函数 return &student{ ...

2020-03-02 10:29:40 1160

原创 Golang的函数和闭包

文章目录多个参数可变参数多个返回值定义函数类型函数作为参数匿名函数闭包多个参数package mainimport "fmt"func add(x, y int) (ret int) { //x的类型省略,x和相邻的y同类型,返回值指定为ret int,如果返回值仅int,则可返回任意的int数据 ret = x + y //ret直接使用,无须再定义 return /...

2020-03-01 10:04:00 277

空空如也

空空如也

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

TA关注的人

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