自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (17)
  • 收藏
  • 关注

原创 mysql的事务内常用锁

众所周知,在mysql数据库内要想一次更改多条数据,且保证此期间不被其他语句打断,大家都会选择事务和锁。但是事务内的锁到底是锁住了全表还是锁住某行呢,与什么有关呢?什么情况容易造成死锁呢?纸上得来终觉浅,绝知此事要躬行 。在看完极客时间的mysql实战课程和搜索了大量博客后,我做了如下测试以验证这些结论。1、单一索引/unique列/主键 查询到已有行:mysql:5.7.32; innodb引擎表模型:CREATE TABLE `transaction_test` (...

2021-07-29 15:01:42 287

原创 mongo 设置分片键

1、mongo分片集群相关知识点mongo集群介绍:https://www.cnblogs.com/clsn/p/8214345.html分片键的选择:https://www.cnblogs.com/lijiaman/p/14289713.html再结合官网确认一下相关版本的规定:https://docs.mongodb.com/manual/sharding/2、设置分片键在MongoDB4.2以及4.2之前,文档的分片字段只有一个,且是不可以修改的。从4.2版本开始,除非分片键.

2021-04-23 19:07:28 2629

原创 go database/sql 库 连接池管理

1.了解DB结构体里的有关连接数变量type DB struct {.....freeConn []*driverConn //空闲连接队列connRequests map[uint64]chan connRequest //正在阻塞的sql请求,等有空闲连接来处理numOpen int //程序内已开启和正在开启的连接数maxIdle int //连接池内空闲连接的最大个数maxOpen int //连接池内最大可以开

2021-03-20 00:49:06 800 2

原创 mysql NULL值影响

1.NULL值比较只可以使用IS NULL或者IS NOT NULL来进行NULL值比较使用算术比较操作符= > < <>等是无法测试的。在mysql中,如果列类型是bool时,NULL表示false使用DISTINCT,GROUP BY或时ORDER BY时两个NULL值被视为相等。ORDER BY:ASC时NULL放在最前面,DESC时NULL放在最后。聚集函数比如 COUNT(), MIN()和SUM()都会忽略NULL值,只有CO...

2021-03-16 10:38:28 342

原创 http2.0协议学习总结

1、http1.1一些瓶颈问题 同一个域名下的并发连接数有限,一般是6个;即使使用了http长连接,减少tcp三次握手,但是单连接上是串行请求,当发出请求再等待会浪费大量时间,所以网络带宽增加时,并发发送的消息提升有限,网络延迟没有改善。http1.1请求之间是无状态的,有时为了传输cookie,会导致http头部体积膨胀,并且重复传输时,仍然每次都要携带,带宽利用率太低。2、http2.0改进的地方2.1、多路复用 http2.0中一个tcp连接可以多个...

2021-03-11 14:56:52 572

原创 protobuf与grpc

1.protobuf如何提升编码格式本篇知识点来自:https://time.geekbang.org/column/article/247544protobuf是一种针对多种语言的编解码工具。它的编码速度很快,并且编码后的字符流体积远远小于json等格式,能节约大量带宽。grpc的底层编解码协议就是protobuf。原理:它是通过把消息里的ASCII字段名省略,用proto中定义的数字代替。这样在编解码时就可以大量降低带宽。protobuf消息序列是按照字段序号、值类型、字段值的顺序来编码的。

2021-03-08 20:17:05 308

原创 时区+0800 CST 与+0805 LMT转换

1、+0800 CST 与+0805 LMT区别 大多数计算机保留的有关时区的数据来自IANA时区数据库(Time Zone Database, TZDB)。TZDB 中"Asia/Shanghai"的时区偏移 不止 +08:00 一个,在 1850-1900 年,偏移量为 +08:05:43,1901年以及后,偏移量才是 +08:00。所以时区+0800 CST 与+0805 LMT都是中国时区,不过对应的是不同的阶段。 更详细的就是以LMT时间1901年,也就是UTC时间1...

2021-03-06 16:50:58 4833

原创 数据库time类型存储

1.mongomongoISODate是一种存储时间的object,它支持到毫秒精度,如果要存储到纳秒精度,则最好用long存储时间戳的方式。golang time.Time是带有时区的时间,在存到Mongo时驱动会转化为ISODate类型,ISODate类型在数据库存储为UTC时间,ISODate.toLocaleString()可以显示当前带有当前时区的字符串。go mongo驱动读取时没有转化为当前时区,还是UTC时区存到time.Time,即time.Time.loc=nil /...

2021-03-01 19:31:29 4076 1

原创 sql数据库的char,varchar,text,blob类型比较

1.charchar(n):n表示字符数,最大长度是255个字符。如果是utf8编码方式, 那么char类型占255 * 3个字节。(utf8下一个字符占用1至3个字节)。1.1mysql数据库mysql官网参考手册提到这句话“一个长度CHAR列被固定在创建表声明的长度。长度可以是0到255之间的任何值。CHAR 存储值时,它们会用空格右填充到指定的长度。当CHAR被检索到的值,拖尾的空格被删除。”这句话怎么理解呢,用以下实验验证: 当定义n=5时,传入字符串"abc",那么实际存储...

2021-02-25 10:27:13 1912

原创 grpc-gateway转化grpc与http api规则

1、介绍gRPC Transcoding 是一种定义了grpc与http rest api转化规则,这种规则适用于 Google APIs, Cloud Endpoints, gRPC Gateway等,目前已被广泛使用。英文文档见:https://cloud.google.com/endpoints/docs/grpc-service-config/reference/rpc/google.api#google.api.HttpRule代码可见:https://github.com/g

2021-02-09 15:54:01 2436

原创 protobuf 自定义extend

1、proto2 extensionproto2 extensions 官网指导说明:https://developers.google.com/protocol-buffers/docs/proto#extensions定义:https://github.com/golang/protobuf/blob/4846b58453b3708320bdb524f25cc5a1d9cda4d4/internal/testprotos/proto2_proto/test.proto#L266使用.

2021-01-12 20:07:10 3056

原创 go函数值传递

func testarr(a []int) { a = []int{1}}func testint(a int) { a = 1}func testarrptr(a *[]int) { b := []int{1} a = &b}func testintptr(a *int) { b := 1 a = &b}func testarrptrval(a *[]int) { b := []int{1} *a =.

2020-12-15 11:57:26 109

原创 数据库upsert实现

1、mysql使用方法: 假设name是主键,则name不存在就插入VALUES后面的值,否则将对应的addr修改为testINSERT INTO user (name, age, addr)VALUES('test',20, 'here')ON DUPLICATE KEY UPDATEaddr = 'test';除了上述用法,在使用中还需要注意一些以下几点:1. user表的部分列如果有默认值,则可以省略,类似insert语法2. 默认优先判断是否需要...

2020-12-15 11:50:26 652

原创 数据库auto属性

1.sqlite3 两种方式设置auto:建表时隐式创建它INTEGER PRIMARY KEY 使用AUTOINCREMENT关键字显式创建方式1利用了rowid; 方式2是另一套不同的算法,采用了中间表SQLITE_SEQUENCE table记录增长。详细介绍见官网:https://sqlite.org/autoinc.htmlAUTOINCREMENT: AUTOINCREMENT的主键必须是INTEGER类型,但是INTEGER类型的主键本身默认就是自动...

2020-12-02 10:26:32 1110

原创 go reflect 与slice

1. sliceslice底层存储的其实一个结构,如下:type slice struct { array unsafe.Pointer len int cap int}先提供一篇文章加深理解slice对象的文章:https://segmentfault.com/a/1190000017910165?utm_source=sf-related以下我用go1.13.8 linux/amd64,再次测试:func testsl

2020-12-02 10:17:09 1514

原创 《投资者的未来》

1.书籍介绍 这本书加深了我对股票长期投资方面的认知,作者指出了一些投资陷阱,比如传统观点追求高增长率是合理的,但作者指出这是一件高风险低收益的事。由于作者都是用美股做实验的,出于兴趣,我也测试A股的情况,后面会给出一些A股的测试结果。 纵览全书,全文分为5个部分,前两部分阐述了投资者容易陷入的两个陷阱:追求高增长率和高估新事物,接着说明股东的收益应该来自哪里,然后展望未来,探讨人口危机和未来全球经济强国的转变,最后给出可供参考的投资组合策略。 下面按照书籍顺序摘...

2020-12-02 10:12:10 566

原创 通过反射深入学习go接口

1. 常见的interface用法1.1 作为方法的集合,提供方法type Animal interface { Eat()}type Dog struct {}func (d *Dog) Eat() { fmt.Println("Dog eat")}var ani Animalani = &Dog{}ani.Eat() //output: "Dog eat"1.2 作为类型容器,接受和转换各种基础类型var a interface{}nu.

2020-12-02 09:55:39 101

原创 简单的个人博客搭建过程

这几天心血来潮搭个博客玩玩。这是第一次搭建,先用最简单的方法。以下从建站开始说起,1、创建域名+dns解析 域名后缀有com、top、cn等,其中com是国际通用域名,其他的都有点非主流,因此我也选择了com。但是com域名已经被人注册了很多,可以加数字之类的避免重复已存在的域名。dns解析,就是根据让你的域名加上www,别人可以根据你的域名解析到你的服务器IP。 域名和dns我都用的是阿里云,两个每年续费也就才100左右,第一次买还有优惠。阿里云第一次买需要实名认证后才...

2020-12-02 09:49:28 192

新一代视频压缩编码标准-H.264_AVC

新一代视频压缩编码标准-H.264_AVC(第二版).rar, 人工智能时代,视频编解码技术很重要!!

2017-11-14

Go语言实战

Go语言实战.pdf ,看完了go语言圣经,这本书仍值得一看!!

2017-11-14

Go并发编程实战

Go并发编程实战_郝林著_北京:人民邮电出版社+,+2015.01_P558.rar

2017-11-14

Python.Cookbook(第2版)中文版

Python.Cookbook(第2版)中文版pdf, 比较全,有快800多页

2017-11-14

Boost程序库完全开发指南

Boost程序库完全开发指南——深入C++“准”标准库高清版.rar,里面是高清版PDF

2017-11-14

go语言圣经

go语言圣经, 中文版, 适合入门查看,语法讲解比较详细!

2017-11-14

书籍COM本质论

Microsoft 提供的 。老资料了,有兴趣可以看看。 对理解C++ 会更有帮助!!!

2017-11-14

网页开发手记.HTML.CSS.JavaScript实战详解

网页开发手记.HTML.CSS.JavaScript实战详解

2017-01-08

UNIX网络编程 卷2:进程间通信(第2版)

UNIX网络编程 卷2:进程间通信(第2版)

2017-01-08

Python源码剖析

Python源码剖析

2017-01-08

深入理解linux内核(第三版中文)

深入理解linux内核(第三版中文)

2017-01-08

浙大和北邮机试题

浙大和北邮的复试机试题集,可以拿来练练手。

2015-03-17

算法课件华科本科生

华科本科生的算法课件,华科考研复试笔试算法的可以参考一下。

2015-03-17

华科2014复试机试题及答案

华科2014复试机试题及答案,是图片版的哦!!

2015-03-17

同济高等数学第六版上册习题全解指南

适合初学或考研用的指定教材答案 同济高等数学第六版上册习题全解指南

2013-11-16

Java 2实用教程第4版

Java 2实用教程第4版 作者耿祥义 清华大学出版社

2013-05-05

空空如也

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

TA关注的人

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