自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

kaifei的博客

improving

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

原创 待整理知识点

goroutine 并发go 异常处理,defer,panicsingal 信号量acl,rbac 访问控制sync.map 并发下的 map

2019-01-17 14:06:10 119

转载 32. 布隆过滤器-Bloom Filter

Bloom Filter

2022-12-07 17:14:35 120

原创 images

2021-11-03 15:23:59 133

转载 31. CA 证书的签发和使用

文章目录RefRefhttps://www.cnblogs.com/xdyixia/p/11610102.html

2021-01-28 21:37:00 192

原创 2. elasticsearch 学习笔记-进阶-1

文章目录原理写数据原理读数据原理写数据底层过程优化filesystem cache数据预热冷热分离Document 设计分页优化Ref原理写数据原理req send to cordinating nodecordinating node find primary shardprimary shard write datareplica shard sync data from primary shardall data write are completed, response send t

2020-12-31 17:27:49 148

原创 30. 分页查询优化

文章目录问题描述优化方案最大 id 查询书签模式limit id延迟关联问题描述一般分页查询的写法如下:select * from xx where ... order by xxx limit 400000, 10即使查询使用到了索引,但随着 limit 中 skip 跳过的行数越多,即扫描的记录数越多,分页查询速度会越来越慢。优化方案最大 id 查询将 limit 分页数据,转化为上一页 id 的值,sql 语句写法为:select * from xx where id > 400

2020-11-06 15:36:50 112

原创 29. Finite State Machine 有限状态机

文章目录What is FSMWhy use FSMHow to useWhat is FSMFSM(Finite State Machine) 有限状态机Why use FSMFSM 可用来描述有限状态和触发事件以及转换行为的数学模型,只要是满足 FSM 特点的事物,都可以使用统一的数学模型来描述How to use有限状态机的特点:状态有限离散型有限状态机构成:State: 状态Event: 事件Transition/Action: 执行状态转换的过程Guard: 检

2020-10-20 13:53:07 292

翻译 9. Golang 点滴

JetBrains Goland 激活方式:激活时选择License server 填入 http://idea.imsxm.com 点击Active即可。GoInAction pdf 下载:https://github.com/GNUSource/tutorial-goGo 基础教程:Go 基础教程Go web 编程正则表达式:正则语法正则函数操作...

2020-10-16 11:59:55 758

原创 1. elasticsearch 学习笔记-基础知识-1

elasticsearch 学习笔记文章目录What is elasricsearchHow to useIndexcreate indexput mappingQSLCompoundLeaf query clausesTermFull text queriesMatch allNestedWhat is elasricsearchyou can use elasticsearch to store, search and analytics dataoffice document: https

2020-08-05 16:19:11 240

原创 27. 互斥锁与读写锁

文章目录Golang 锁互斥锁读写锁Golang 锁Go中锁分为两种:互斥锁读写锁互斥锁并发程序对公共资源访问的限制最常见的就是使用互斥锁的方式。在Go中,sync.Mutex 提供了互斥锁的实现。简单使用示例:func main() {var mutex sync.Mutexcount := 0for r := 0; r < 50; r++ { go func() { mutex.Lock() count += 1

2020-07-07 15:46:50 523

原创 26. Context 工具包

文章目录What is contextContext 结构Context 的继承派生Why use contextselect + channel 协程间的通信How to useContext 使用原则What is contextContext 中文为 上下文,可以用来简化单个请求多个 goroutine 之间关于数据共享,取消信号,截止时间等操作。Context 结构Context 在 golang 工具包中,是一个 interface,其结构如下:type Context interfac

2020-07-07 12:04:04 250

原创 27. 进程,线程和 CPU

文章目录CPU进程线程CPUCPU 个数:实际看到的 CPU 数量CPU 核心数:单个 CPU 上集成的多个运算核心,理论上 1 个运算核心至少对应一个线程进程定义:操作系统进行资源分配的最小单元(分配的资源包括但不仅限于:cpu, 内存, 硬盘等)对于单个 CPU 的计算机,同一时刻只能运行一个进程,依靠 CPU 的 分时复用 的机制达到了类似 并发 的效果。线程定义:CPU 调度和分配的基本单位与进程的关系:进程:线程=1:n,一个进程最少有 1 个线程(主线程),多线程共享进程

2020-06-29 19:31:11 107

原创 26. TLS & HTTPS

TLS & HTTPS文章目录TLS加密身份认证HTTPSWhat is HTTPSHTTPS 数据加密过程TLSSSL(Secure Socket Layer)安全套接层。主要用于保证 WWW(Wrold Wide Web) 通讯的安全。通过提供 加密,信息完整性,身份认证 来保证安全通讯。TLS(Transport Layer Security)安全传输层协议。用于在两个应用程序之间提供保密性和数据完整性。TSL 是基于 SSL3.0 改进而来。加密TLS 协议是基于 TCP 协

2020-06-12 16:22:49 215

原创 25. TCP 三次/四次握手

TCP 三次/四次握手文章目录TCP 建立连接 - 3 次握手TCP 释放连接 - 4 次握手TCP 建立连接 - 3 次握手建立过程:client 发送 SYN=1, seq=x: SYN=1 建立连接的标识,seq=x 是客户端初始化的序号server 发送 SYN=1, seq=y, ACK=1, ack=x+1: seq=y 服务端初始化的序号,ACK=1 确认字符,ack=x+1 确任序号(=clientSeq+1)client 发送 ACK=1, ack=y+1, seq=x.

2020-06-12 14:08:25 141

转载 24. 控制反转与依赖注入

文章目录第一章:小明和他的手机第二章: 小明的快乐与忧伤第三章:造物主的智慧第四章:小明的感悟第一章:小明和他的手机从前有个人叫小明小明有三大爱好,抽烟,喝酒…… 咳咳,不好意思,走错片场了。应该是逛知乎、玩王者农药和抢微信红包小明的三大爱好我们用一段简单的伪代码,来制造一个这样的小明class Ming extends Person{ private $_name; private $_age; function read() { //逛知

2020-05-22 16:53:06 342

原创 1. nodejs tutorial

文章目录Nodejs tutorialES6 教程NestJsNodejs tutorialnodejs 教程ES6 教程ES6 入门教程NestJsNest.js 中文教程

2020-05-21 16:14:38 114

原创 23.事务&锁

事务&锁文章目录事务ACID 原则事务的隔离性锁悲观锁乐观锁悲观锁 VS 乐观锁细化锁粒度事务事务,由一组 sql 语句组成的执行单元,要么都执行成功,要么回滚。事务符合 ACID 原则ACID 原则Atomicity-原子性:执行单元,要么执行成功,要么回滚Consistency-一致性:事务开始和结束之后,数据库的完整性约束没有破坏Isolation-隔离性:多个事务并发执行时,彼此之间并不会相互影响Durability-持久性:事务对数据库所做的更改会持久的保存

2020-05-14 17:30:12 138

原创 25. NSQ 简介及教程

NSQ 简介及教程文章目录What is nsqWhy use nsqHow to use nsqExampleInstallTestCaseConsumerProducerWhat is nsqNSQ is a realtime distributed messaging platform.IntroduceLinksNSQ源码解析(1)–设计理念浅析NSQ 解析Why use...

2020-04-30 14:44:07 1323

原创 22. 关于定时任务指定的时间间隔内没有完成任务的处理

关于定时任务指定的时间间隔内没有完成任务的处理问题:定时任务如果在指定的时间间隔内,并没有完成任务,那么这些未完成的任务是如何处理?是将被放弃,重新开始下一遍定时任务?结论:如果定时器处理的任务耗时超过设定的间隔时间,那么直到该次任务处理完成后定时器才会开始下一轮执行。测试样例ticker := time.NewTicker(5 * time.Second)defer func() {...

2020-03-19 19:04:55 2868

原创 21. 浮点数的处理

文章目录浮点数的表示浮点数的运算解决方式浮点数的表示在计算机中所有的数字都是以 2 进制来表示,但 10 进制的小数,在计算机中就不能够精确的表示,只能无限的接近,而不能精确的表示。0.1-0.9 中只有 0.5 能够使用二进制精确的表示,其他均需要截取指定的位数来表示原理参见引用文章:https://www.jianshu.com/p/9f5a494d24cf浮点数的运算由于浮点...

2020-01-20 10:51:01 380

原创 9.文件操作

文章目录Python 文件操作Python 文件操作https://juejin.im/post/5c57afb1f265da2dda6924a1#heading-0https://realpython.com/working-with-files-in-python/

2020-01-03 13:50:00 159

原创 20. gRPC and Protocal Buffer 3

文章目录gRPCWhat is gRPCWhy use gRPCHow to useprotocol buffer 3What is protocal bufferWhy use protocal bufferHow to usegRPCWhat is gRPCA high performance, open-source universal RPC frameworkgRPC guid...

2020-01-02 11:35:45 145

原创 24. Fixed moudle configuration for non public moudles

Fixed moudle configuration for non public moudles文章目录How to sloveSlove ExampleHow to sloveThere are two methods can slove problem:Module_configuration_for_non_public_moduleshttps://goproxy.io/ (...

2019-12-26 18:43:31 175

原创 19. JSON Schema

文章目录What is JSON SchemaWhy use itHow to useWhat is JSON Schemaa meta type for describing json documentsWhy use itJSON schema is a vocabulary that allows you to annotate and validate json docume...

2019-12-17 11:27:15 103

原创 18. Bech32 Encode & Decode

文章目录What is Bech32Why need itHow to useWhat is Bech32This document proposes a checksummed base32 format, “Bech32”, and a standard for native segregated witness output addresses using it.See Detai...

2019-12-11 16:36:04 1109

原创 17. Proxy-Re-Encryption

文章目录What is Proxy-Re-EncryptionWhy need itHow to useWhat is Proxy-Re-Encryption中文详解:代理重加密Why need it解决存储网络中加密数据共享的问题How to use代码实现:pyumbral...

2019-12-11 16:07:18 404 1

原创 16. 架构设计

架构设计文章目录需求分析需求分析的输入及输出需求优先级架构设计概要设计总体设计模块设计数据结构设计详细设计模块详细设计需求分析需求分析的输入及输出输入:需求文档 + 客户输出:产品的信息架构(功能点及有哪些实体对象)需求优先级当前阶段要做哪些下一阶段要做哪些未来会做的哪些当一个新需求出现后,我们需要思考在现有信息架构的基础之上,进行归纳,总结,优化进而实现新需求中的功能...

2019-11-05 16:53:54 351

原创 23. 文件操作

文章目录文件目录的创建和删除文件的创建文件的读取和写入文件的读取文件的写入文件目录的创建和删除package mainimport( "fmt" "os")func main(){ //创建目录和权限 os.Mkdir("./benben",0777) //创建多级目录和设置权限 os.MkdirAll("./benben/test",...

2019-06-06 18:53:12 179

原创 4. mongodb 索引

文章目录mongodb 索引原理什么是索引为什么要使用索引mongodb 索引类型单字段索引复合索引多 key 索引其他类型索引索引的额外属性Tips:mongodb 索引原理什么是索引索引就是将文档按某个(或某些字段)顺序组织起来,以达到根据该字段高效查询的目的。为什么要使用索引索引索引的好处:高效查询,降低服务器开销更新/删除操作时,能够快速定位文档快速排序mongodb...

2019-05-15 11:54:06 284

原创 5. X-Forwarded-For 与 Remote Addr

文章目录简介Remote addrX-Forwarded-For配置反向代理简介X-Forwarded-For 是一个 HTTP 扩展头部,主要是为了让 Web 服务器能够获取到客户端真实的 ip。(可以被伪造,客户端发送请求时可以 override 这个请求头)REMOTE_ADDR 表示与服务器进行 TCP 连接的 IP,这个值不能够被伪造。(TCP 连接会经过三次握手,如果伪造了,便没...

2019-03-14 16:59:25 790

原创 4. Content-Disposition 详解

文章目录文件下载响应头的设置Server 端实现文件下载文件下载响应头的设置content-type 指示响应内容的格式content-disposition 指示如何处理响应内容。一般有两种方式:inline:直接在页面显示attchment:以附件形式下载Server 端实现文件下载打开文件,将文件内容写入到 reponse 中设置 Response header(co...

2019-03-04 15:48:15 43467 10

原创 22. break 跳出循环

文章目录select 与 for 结合使用时,break 语句无法跳出循环跳出循环的几种方式break labelgoto labelreturnselect 与 for 结合使用时,break 语句无法跳出循环func TestBreakInSelectAndFor(t *testing.T) { quitChan := make(chan bool) runForever := mak...

2019-02-28 19:32:09 1290

原创 21. 资源库 - zap.loggger

文章目录日志概述Zap 简介Zap 用法实例日志概述日志的级别从低到高可分为:debuginfowarnerrorfatal实际使用中可根据不同的场景,使用不同级别的日志来记录。使用日志框架的目的:一般程序语言自带的日志函数,在效率、易用性及功能上并不能满足项目需求,所以通常需要借助第三方日志框架来实现。这次我们选择使用 uber 的日志框架 zap。Zap 简介B...

2019-02-14 19:29:13 548 1

原创 20. 权限控制模式:ACL、RBAC、ABAC

文章目录权限控制模式ACLRBACABACGo casbin 权限库的使用权限控制模式ACL概述:权限访问列表实现原理:给每个用户指定相应的权限。典型的用例为,微软的文件系统权限缺点:对权限的管理比较分散,无法集中管理。如无法一次性将某种权限分给一群用户,也无法一次性回收。RBAC概述:基于角色的访问控制实现原理:权限的分配和回收都是基于角色的,只有对于的角色有相应的权限...

2019-01-24 18:54:54 6396

原创 19. Signal 信号处理

传送门:https://colobu.com/2015/10/09/Linux-Signals/

2019-01-24 18:10:57 476

原创 18. Go 异常处理 defer panic recover

Go 异常处理 defer panic recover文章目录deferpanicrecover代码示例Go语言追求简洁优雅,所以,Go语言不支持传统的 try…catch…finally这种异常,因为Go语言的设计者们认为,将异常与控制结构混在一起会很容易使得代码变得混乱。因为开发者很容易滥用异常,甚至一个小小的错误都抛出一个异常。在Go语言中,使用多值返回来返回错误。不要用异常代替错误,...

2019-01-18 19:34:55 144

原创 17. Goroutine 的并发与超时控制

Goroutine 的并发与超时控制文章目录并发按序返回超时控制并发限制并发package mainimport ( "fmt" "time")func run(task_id, sleeptime int, ch chan string) { time.Sleep(time.Duration(sleeptime) * time.Second) ch...

2019-01-18 18:24:19 1145

原创 16. Cobra And Viper

文章目录CobraDocsExampleViperDocsExample - Bind with viper and viper read config from fileCobraCobra 是一个 Command Line LibraryDocsCobra-A Commander for modern Go CLI interactionsExampleCode Example...

2018-12-06 10:55:57 467

原创 5. Docker 容器通信实例

概述实例1. 创建 networkdocker network create net-erp2. 需要相互通信的 container 使用同一 networkmongodbversion: '2'services: erp-mongo: image: mongo container_name: erp-mongo ports: - &amp;quot;272...

2018-11-14 10:49:40 332

原创 4. Docker 网络模式-bridge

文章目录概述默认网络创建自定义的网络使用 busybox 测试容器连通性使用默认网桥 docker0使用自定义网桥 my-net对比自定义 bridge(my-net)与默认 bridge(docker0)自定义 bridge 提供更好的隔离性和容器间的互操作性自定义 bridge 提供容器间的自动 DNS 解析容器可以在运行中与自定义 bridge 网络连接和分离每个自定义的 bridge 网络...

2018-11-14 10:32:06 314

空空如也

空空如也

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

TA关注的人

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