- 博客(17)
- 收藏
- 关注
原创 node-logger
log4js node文章目录log4js node一,前言二,配置log4js三,日志区分四,小结一,前言koa框架开发的web api 项目,日志直接打印到console中,能够开发的时候确定问题,但是上线后如何通过日志文件来确定问题?成了一个难题,我尝试了多个koa的日志组件,从npm中获取的,都不是很理想。最后还是回到了log4js或是叫 log4node的项目上来。log4js库有很强的普及率,虽然和java的log4j在使用上面不太相似,但是功能是一样的。二,配置log4js
2021-09-09 10:23:37
647
1
原创 数据结构-树的简介
数据结构–树的简介文章目录数据结构--树的简介@[toc]一,树的定义二,节点间的关系三,树的表示法四,二叉树五,总结一,树的定义一对一的数据结构是线性结构,一对多的数据结构中包含树。树是N个节点的有限集合。如果N=0称为空树。有且只有一个特定的称为根的节点。其余节点可分为M个互不相交的有限集合。每一个集合本身又是一颗树,并且称为根的子树。二,节点间的关系节点的子树的根称为该节点的孩子,相应地,该节点称为孩子的双亲(Parent)同一个双亲(parent)的孩子之间互称兄弟(si
2021-08-22 09:52:30
509
1
原创 敏捷软件开发
敏捷管理文章目录敏捷管理@[toc]一,敏捷转型难?二,敏捷的好处!三,ADAPT模型四,敏捷的实施模式五,渐进敏捷六,试点项目七,总结一,敏捷转型难?首先变革不是完全的自上而下或是自下而上的。(主力太弱小了)结束状态不可预知 (这就是命,不断的革命,有点恐怖主义的意思)敏捷无处不在。 (着眼于细节)二,敏捷的好处!更高的生产力和更低的成本 (主力是基层员工,干活的。996)员工参与度和工作满意度增强 (参与度指定是高了,因为责任到人。满意度不知道,应该是不好说)更快的产品
2021-08-21 17:03:52
233
1
原创 ECDSA算法(Hyperledger Fabric 椭圆曲线算法)
ECDSA算法(Hyperledger Fabric 椭圆曲线算法)文章目录ECDSA算法(Hyperledger Fabric 椭圆曲线算法)一,什么是ECDSA算法二,为什么要用签名算法三,基础原理和算法四,椭圆曲线密码学五,椭圆曲线算法六,总结一,什么是ECDSA算法ECDSA全称:Elliptic Curve Digital Signature Algorithm 有兴趣的朋友可以去维基百科看看这个算法的算法原理。椭圆曲线数字签名算法 既然是签名算法,就不是用来加密的。也就是说数据是
2021-08-06 11:43:22
2738
1
原创 字符串的累加分析和优化
字符串的累加分析和优化文章目录字符串的累加分析和优化一,前言二,第一种处理方法三,测试时间差四,总结一,前言开发过程中经常会遇到生成连续的数字字符串,如果连续数字的字符串有哪些技巧和问题呢?二,第一种处理方法通过for循环来处理,条件就是从1开始,小于输入的数字,每次递增。//简单粗暴直接拼接就可以了。func CreateArray1(length int)[]int{ if length > 0 { arr := "" for i := 1; i <= le
2021-07-31 14:47:56
410
1
原创 数据结构--串
目录串--字符串一,前言二,串的比较三,串的顺序存储结构缺点:四,串的链式存储结构缺点:五,字符串匹配1,朴素的字符串匹配2,KMP匹配算法六,总结串–字符串一,前言串的定义串是由零个或多个字符组成的有限序列,又名字符串。空字符串零个字符的串就是空串。也就是常说的 “”二,串的比较字符串的比较实际是比较字符的值,根据不同的编码进行存储,最初的ASCII 到 Unicode。从最初的128个字符,到65w多。字符串的长度一样,每一个相对位置的字符值都一样,就可以说
2021-07-24 17:37:33
275
2
原创 数据结构-栈
目录栈一,栈的定义二,golang实现栈结构1.顺序结构2.链式结构三,双栈共享空间结构四,总结栈一,栈的定义栈是限定仅在表尾进行插入和删除操作的线性表。我们把允许插入和删除的一端称为栈顶(top)。另一端称为栈底(bottom)。不含任何元素的栈称为空栈。栈又称为后进先出的线性表。(Last In Fist Out)LIFO 结构最先进栈的就一定最后出栈吗?当然不是,应该说是不一定,因为第一个进栈如果,第二个进栈前就出栈了,对吧。线性表有顺序结构和链式结构,同样栈也是这样。
2021-07-15 11:49:29
141
1
原创 分布式事务-三阶段提交
目录三阶段提交(3PC)前言改动点第一阶段 CanCommit第二阶段 PreCommit第三阶段 doCommit**执行提交**:**中断事务**总结三阶段提交(3PC)[]前言三阶段提交协议(3PC)主要是为了解决两阶段提交协议的阻塞问题,2pc存在的问题是当协作者崩溃时,参与者不能做出最后的选择。因此参与者可能在协作者恢复之前保持阻塞。三阶段提交(Three-phase commit),是二阶段提交(2PC)的改进版本。改动点引入超时机制。同时在协调者和参与者中都引入
2021-07-15 09:53:00
338
1
原创 分布式事务-两阶段提交
两阶段提交(2PC)目录两阶段提交(2PC)@[TOC](目录)一,两阶段提交(2PC)第一个阶段分为三步:第二阶段(正常情况)第二阶段(异常情况)二,2PC的缺点三,总结分布式事务的基本理论:基本遵循CPA理论,采用柔性事务特征,软状态或者最终一致性特点来保证最终一致性问题。一,两阶段提交(2PC)是一个非常经典的 强一致性,中心化的原子提交协议一个中心化的协调者节点,N个参与者节点组成。两个阶段:一个是投票阶段,提交/执行阶段。第一个阶段分为三步:第一步,协调者向所有的
2021-07-15 09:31:33
445
1
原创 经典排序算法 下篇【快速,堆排序,计数,桶,基数】
经典排序算法 下篇目录经典排序算法 下篇一,准备工作二,快速排序三,堆排序四,计数排序五,桶排序六,基数排序七,总结一,准备工作//获取随机的数组func GetArry(count int) []int { arr := make([]int, count) rand.Seed(time.Now().UnixNano()) for i := 0; i < count; i++ { arr[i] = rand.Intn(100) } return arr}//打印数组
2021-07-03 17:38:40
174
4
原创 经典排序算法 上篇【冒泡,选择,插入,希尔,归并】
经典排序算法 上篇目录经典排序算法 上篇一,准备工作二,冒泡排序三,选择排序四,插入排序五,希尔排序六,归并排序七,总结一,准备工作//获取随机的数组func GetArry(count int) []int { arr := make([]int, count) rand.Seed(time.Now().UnixNano()) for i := 0; i < count; i++ { arr[i] = rand.Intn(100) } return arr}//打印数
2021-07-02 15:59:24
158
2
原创 数据结构和算法--线性表
前言程序运行的基础就是数据结构和算法。数据结构非常的重要,既然是基础就得好好学习。线性表零个或多个数据元素的有限序列数组数组package mainimport "fmt"func main() { arry := []int{1, 5, 4, 8, 7, 6, 3, 11} fmt.Println(arry[2]) fmt.Println(findVal(arry,3))}//查询数组中是否存在要查找的值,返回数组下标,如果没有返回-1func findVal(arry
2021-06-26 20:50:11
148
6
原创 golang源码分析-bufio
前言 流工具包,提供了读取器和写入器的对象创建和一些工具方法。包介绍// Package bufio implements buffered I/O. It wraps an io.Reader or io.Writer// object, creating another object (Reader or Writer) that also implements// the interface but provides buffering and some help for textua
2021-06-20 15:30:41
154
1
原创 Golang源码分析-error
Golang -源码分析文章目录Golang -源码分析前言一, errors 包UnwrapIsAS二,总结前言由于一直用golang开发应用,但是对于底层的实现却是一知半解,所以抽时间就自己看看golang的源码,并把一些源码进行分析,看看能不能学到大师的一点皮毛,也是对于golang这个语言来说有更深层次的学习和理解。抱着这个目的开始了我的golang源码分析。一, errors 包error/wrap.goUnwrap// Unwrap returns the result o
2021-06-10 16:02:04
487
原创 分布式一致性算法,协议
目录前言一,CAP定理二,算法paxos 算法zab 算法raft 算法nwr 协议三,总结前言在分布式系统中,无法忽略的就是数据一致性问题,随着分布式系统的大量应用,产生了很多解决一致性问题的算法。在此参考了一些博客,记录一下。一,CAP定理 一个分布式系统中不可能同时满足一致性,可用性和分区容错性这三个基本需求。最多只能满足其中的2个,不可能三者兼顾。二,算法 paxos 算法 首先多个角色分别是 提议人,接收提议人,执行提...
2021-06-09 14:32:06
143
2
原创 单例模式
单例模式介绍 保证一个类仅有一个实例,并提供一个访问它的全局访问点 懒汉单例 public class Singleton { private static Singleton instance; private Singleton (){} public static Singleton getInstance() { if (instance == null) { instance = new...
2021-05-26 20:05:35
102
原创 TypeScript 联合类型的学习
TypeScript 联合类型的学习首先先介绍下联合类型的作用。比如我有一个函数返回类型是Error,但是如果没有错误呢?我应该返回什么呢?null,undefined,void,never?一般只有null符合。undefined是对象未定义;void是函数不返回任何类型;never是因为特殊原因不会返回。我们这里需要返回类型。但是如果在TypeScript中开启了strictNullChecks:true 的开关的话。...
2021-05-24 20:06:58
137
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人