会员
周边
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
技术控
~山外青山楼外楼~
博客园
首页
新随笔
联系
订阅
管理
[置顶]
剖析nsq消息队列目录
摘要: 剖析nsq消息队列(一) 简介及去中心化实现原理 剖析nsq消息队列(二) 去中心化源码解析 剖析nsq消息队列(三) 消息传输的可靠性和持久化[一] 剖析nsq消息队列(三) 消息传输的可靠性和持久化[二]diskqueue 剖析nsq消息队列(四) 消息的负载处理
阅读全文
posted @ 2019-11-15 17:23 li-peng
阅读(2382)
评论(0)
推荐(1)
[置顶]
go微服务框架go-micro深度学习-目录
摘要: "go微服务框架go micro深度学习(一) 整体架构介绍" "go微服务框架go micro深度学习(二) 入门例子" "go微服务框架go micro深度学习(三) Registry服务的注册和发现" "go微服务框架go micro深度学习(四) rpc方法调用过程详解" "go微服务框架g
阅读全文
posted @ 2019-03-13 11:44 li-peng
阅读(5726)
评论(2)
推荐(2)
2022年1月10日
关于代码质量退化的思考
摘要: 一个软件项目从探索阶段到发展方向明确阶段,会经历从简单到复杂的一个过程,需求的不断叠加,会让系统越来越庞大,功能繁多,公司业务的扩展也让软件系统的生命周期变的更长。在业务变复杂软的过程中,各种原因的驱使,代码质量会退化,维护和开发新功能的成本也会相应的变高,推倒重新开发的成本也是高的吓人。 代码质量
阅读全文
posted @ 2022-01-10 09:55 li-peng
阅读(9698)
评论(22)
推荐(29)
2021年11月30日
一次奇怪的的bug排查过程
摘要: 公司对底层基础库进行了重构,线上稳定跑了几天,在查看订单系统的log时,有几条error信息非常的奇怪, orderID:80320180 statemachine error: no event [Revoked] at current state [Paid] orderID:81983045
阅读全文
posted @ 2021-11-30 10:00 li-peng
阅读(1755)
评论(2)
推荐(3)
2021年5月8日
分解uber依赖注入库dig-源码分析
摘要: 上一篇帖子 分解uber依赖注入库dig-使用篇 把如何使用dig进行代码示例说明,这篇帖子分析dig的源码,看他是如何实现依赖注入的。 dig实现的中心思想:所有传入Provide的函数必须要有除error外的返回参数,返回参数供其他函数的形参使用。 比如上一篇的第一个例子里,一个函数func()
阅读全文
posted @ 2021-05-08 09:36 li-peng
阅读(1606)
评论(3)
推荐(1)
2021年5月6日
分解uber依赖注入库dig-使用篇
摘要: golang的依赖注入库非常的少,好用的更是少之又少,比较好用的目前有两个 谷歌出的wire,这个是用抽象语法树在编译时实现的。 uber出的dig,在运行时,用返射实现的,并基于dig库,写了一个依赖框架fx 本系列分几部分,先对dig进行分析,第一篇介绍dig的使用,第二篇再从源码来剖析他是如何
阅读全文
posted @ 2021-05-06 09:43 li-peng
阅读(4342)
评论(0)
推荐(0)
2021年3月29日
dot 语法总结
摘要: 在使用pprof分析go的项目时,经常会查看各项指标的有向图 原理是使用Graphviz(Graph Visualization Software)解析生成的dot脚本得到最终展示给我们的图信息。 dot是Graphviz用于画有向图和无向图语言,语法简单。 dot的抽象语法 [ strict ]
阅读全文
posted @ 2021-03-29 09:46 li-peng
阅读(4366)
评论(1)
推荐(0)
2020年12月30日
grpc系列- protobuf详解
摘要: Protocol Buffers 是一种与语言、平台无关,可扩展的序列化结构化数据的方法,常用于通信协议,数据存储等等。相较于 JSON、XML,它更小、更快、更简单,因此也更受开发人员的青眯。 基本语法 syntax = “proto3”; package model; service MySer
阅读全文
posted @ 2020-12-30 13:46 li-peng
阅读(7585)
评论(4)
推荐(2)
2020年12月15日
c++ 解析yaml文件
摘要: 一直用c++操作`ini`做配置文件,想换成`yaml`,在全球最大的同性交友网站`github`上搜索,看有没有开源的库,功夫不负有心人,找到了[yaml-cpp](https://github.com/jbeder/yaml-cpp),试着解析了一个`yaml`文件,给个满分。分享一下如何使用他
阅读全文
posted @ 2020-12-15 10:33 li-peng
阅读(9716)
评论(0)
推荐(1)
2020年10月20日
白话k8s-Pod的组成
摘要: k8s的所有功能都是围绕着Pod进行展开的,我们经常会看到类似这样一张图 告诉我们,Pod是一组container的集合,container之间可以通过localhost:port的方式直接访问。 感觉很神奇,明明是不同的container怎么做到共用一个IP的,在随便一个容器内通过localhos
阅读全文
posted @ 2020-10-20 11:58 li-peng
阅读(974)
评论(0)
推荐(0)
2020年8月31日
rust 模块组织结构
摘要: rust有自己的规则和约定用来组织模块,比如一个包最多可以有一个库crate,任意多个二进制crate、导入文件夹内的模块的两种约定方式... 知道这些约定,就可以快速了解rust的模块系统。 先把一些术语说明一下: 包是cargo的一个功能,当执行cargo new xxxx的时候就是创建了一个包
阅读全文
posted @ 2020-08-31 09:34 li-peng
阅读(10804)
评论(7)
推荐(7)
2020年7月21日
go test 测试用例那些事(二) mock
摘要: 关于go的单元测试,之前有写过一篇帖子go test测试用例那些事,但是没有说go官方的库mock,很有必要单独说一下这个库,和他的实现原理。 mock主要的功能是对接口的模拟,需要在写代码的时候定义抽象很多接口,有时为了能方便go test可能会多写一些冗余代码,但这些工作会让你的单元测试更灵活。
阅读全文
posted @ 2020-07-21 10:01 li-peng
阅读(2166)
评论(0)
推荐(0)
下一页
公告