Golang基础知识

优势 简单的部署方式 可直接编译成机器码 不依赖其他库 直接运行即可部署 静态类型语言 编译的时候检查出大多数的问题 语言层面的并发 强大的标准库 runtime系统调度机制 高效的GC垃圾回收 丰富的标准库 简单易学 25个关键字 c语言支持 面向对象 跨平台 成就 Docker Kubernetes 缺点 包管理,大部分都托管在github上 无泛化类型 …

使用Go module创建项目

项目实例 最终目录结构 创建项目目录 创建一个目录作为项目根目录(目录名随意,我这里使用 go_practice ),在在其下面创建一个子目录(sub_pkg)用于演示package的引用方式 初始化GOMODULE 在 go_practice 目录下执行命令 go mod init hunt/practice 其中 hunt/practice 是该 …

软件版本Alpha、Beta、RC、GA、Release解惑

Alpha(α内测版):Alpha是内部测试版,一般不向外部发布,会有很多Bug.除非你也是测试人员,否则不建议使用.是希腊字母的第一位,表示最初级的版本。alpha 就是α,beta 就是β,alpha 版就是比beta还早的测试版,一般都是内部测试的版本。 Beta(β公测版):该版本相对于α版已有了很大的改进,消除了严重的错误,但还是存在着一缺陷,需 …

线程安全与锁优化

多个线程访问同一个对象时,如果不用考虑这些线程在运行时环境下的调用和交替执行,也不需要额外的同步,或者在调用方进行任何协调操作,都能获得正确的结果,那么这个对象是线程安全的 可以将java语言中的各种操作共享数据分为5类 不可变:Immutable对象、String或被finnal修饰的基本数据类型。对引用类型,只要其地址不变,且其不会暴露出影响其状态的方法 …

正则匹配a,b之间的内容

比如我想匹配 <a>bingo</a> 中的 bingo 可以使用正则 (?<=<a>).*(?=<\a>) 其中的(?<=X)为正后发断言,(?=X)为正先行断言,断言只是条件,帮助你找到需要的字符串,本身不会被匹配到结果中 规则 描述 (?=X) 零宽度先行断言,匹配右侧有表达式X (?!X) 零宽度负先行断言,匹配右侧没有表达式X (?<=X) 零宽度 …

敏捷开发中的一些概念

PO:产品负责人(Product Owner):主要负责确定产品的功能和达到要求的标准,指定软件的发布日期和交付的内容,同时有权力接受或拒绝开发团队的工作成果。 SM:流程管理员(Scrum Master):主要负责整个Scrum流程在项目中的顺利实施和进行,以及清除挡在客户和开发工作之间的沟通障碍,使得客户可以直接驱动开发。 ST:开发团队(Scrum …

字符集编码

将每个字符都使用一个数字表示,显示的时候自动将该数字替换为对应的字符,这就是现代的字符编码的意思 一开始,电脑只有西方在用,所以它们将26个英文字母和一些常用字符使用0-127这些数字表示,即一个字符只占一个字节,这就是最初的ASCII码表 后来越来越多非拉丁字符的地区需要使用电脑,于是各个地区或国家都创建了对应自己国家文字的编码表,比如中国大陆就创建了 …

Zookeeper 学习笔记

什么是Zookeeper Zookeeper分为服务端和客户端 一个服务端可以理解为多个节点容器,节点被成为ZNode,一个节点类似于一个文件,用于保存数据,例如字符串。同时,一个节点也可以理解为一个目录,即可以在一个节点下新建其他节点。 一个Zookeeper集群可以有多个服务端,每个服务端在启动时就已经在配置文件中配置了其他服务端的信息,例如ip和通信 …