- 博客(11)
- 收藏
- 关注
原创 linux tc模拟弱网环境(丢包)
sudo modprobe ifb sudo ip link set dev ifb0 up sudo tc qdisc add dev eth0 handle ffff: ingress sudo tc qdisc add dev eth0 handle ffff: ingress sudo tc filter add dev eth0 parent ffff: u32 match u32 0 0 action mirred egress redirect dev ifb0...
2021-03-05 22:15:59 3387
原创 使用githook格式化c++代码
0. 背景项目研发人员较多,每个人的编码格式不同,需要在团队中推动统一代码规范,提升代码质量。之前golang项目的解决方案为,个人开发者本地编辑器配置自动格式化插件,并增加格式检查的CI。如果git push不符合格式规范,CI流程会失败,这需要本地格式化后才能提交。且个人编辑器的格式化插件配置可能不完全一致,为了避免浪费操作,期望在代码提交前自动化地格式化修改内容。解决方案:使用clang-format结合git钩子(pre-commit)格式化c++githook介绍可以参考文档: 自定义gi
2021-03-05 21:25:21 848
原创 生成golang项目UML图利器--plantuml
背景最近在查看公司的golang项目,需要进行流程的梳理,但由于项目结构较为复杂、梳理起来较为缓慢,故寻求一种自动化的uml生成工具,在uml基础上更方便梳理。采用的uml生成工具为plantuml安装步骤一: 安装go-package-plantumlgo-package-plantuml用于分析golang项目并生成plantuml需要的uml源文件。go get git.oschina.net/jscode/go-package-plantumlgo build git.oschina.n
2020-07-19 14:58:17 5109 4
转载 如何写出优雅的 Go 语言代码
如何写出优雅的 Go 语言代码原文链接:如何写出优雅的 Go 语言代码最近看了一篇很棒的文章,对golang工程实现各个方面总结的很棒,大概内容包括:辅助工具:例如代码静态检测工具可以融入gitlab CI中自动化项目检测介绍golang社区中一种比较常见约定的目录结构模块拆分方案:与java等语言采用的MVC不同的时,golang推崇按照职责模块进行拆分显式初始化,避免init函数中初始化资源和引入复杂的代码逻辑;显式地方法调用。错误处理:使用error实现错误处理;将错误抛给上层;处理
2020-07-18 18:01:59 661
原创 docker中accessTokens拉取私有git仓库
背景当需要git clone拉取私有库时,传统的做法为将本机的ssh配置到gitlab中。但在docker中执行程序时需要拉取私有库,此时无法为每个docker容器配置ssh。网上的一种方案为,将配置好的ssh同步到docker容器中,覆盖其中的ssh秘钥等,但在尝试过程中,发现了问题,ssh秘钥需要验证是否被盗用(可能有解决办法),因此我尝试换种方案。解决办法使用gitlab中的accessTokens。1、登录到GitLab.2、点击右上角的头像,然后选择设置 .3、在" 用户设置"
2020-07-14 22:13:33 1529
转载 深入理解Golang之http server
内容主要转载自 https://juejin.im/post/5dd11baff265da0c0c1fe813#heading-6深入理解Golang之http server前言对于Golang来说,实现一个简单的http server非常容易,只需要短短几行代码。同时有了协程的加持,Go实现的http server能够取得非常优秀的性能。这篇文章将会对go标准库net/http实现http...
2020-05-03 22:32:51 1077
转载 深入理解Golang之Context(可用于实现超时机制)
内容转载自 https://juejin.im/post/5e52688c51882549417fc671#heading-11,并在其基础上增加自己的部分描述深入理解Golang之context前言最近在尝试用Golang实现具备服务治理功能的RPC框架。其中涉及到客户端和服务端的超时机制。请求超时后,需要结束请求相关的执行函数,避免资源浪费和程序逻辑错误。在Golang中可以通过Cont...
2020-04-30 11:16:30 3767 1
原创 分布式追踪
分布式追踪Logging、Metrics、Logging如图所属的韦恩图描述了三个核心概念:Logging:即日志描述,用于记录一系列的离散事件。Metrics:即指标,具有原子性。每个指标是一个逻辑计量单位。用于记录一段时间内的相关指标的状态。Tracing:即追踪。用于记录单次请求范围以内的信息。常用于微服务中分析服务调用路径和排查系统性能问题。这三者之间并不是相互独立的,会...
2020-04-06 21:52:13 1082 1
原创 WSL2遇到的问题
问题背景为了学习分布式日志追踪体系统jeager,在WSL2中部署了jaegertracing/all-in-one和jaegertracing/example-hotrod。问题1:使用localhost:16686可以打开jeager-ui,但使用127.0.0.1:16686则打不开。问题2:但在使用过程中出现了错误,无法将spans信息上传至jeager-agent、在jeager...
2020-04-05 00:33:46 4798
原创 docker的安装与卸载
docker的安装与卸载docker的安装步骤1.由于apt官方库里的docker版本可能比较旧,所以先卸载可能存在的旧版本:$ sudo apt-get remove docker docker-engine docker-ce docker.io2.更新apt包索引:$ sudo apt-get update3.安装以下包以使apt可以通过HTTPS使用存储库(reposito...
2020-04-04 14:50:18 526
原创 WSL1升级至WSL2
WSL1升级至WSL21、WSL1中遇到的问题WSL1中无法安装docker,需要进行升级至WSL2。2、WSL2系统要求目前WSL2处于预览版本,正式版本需要2020年5月份左右才会更新。预览版本需要windows系统至少为专业版,家庭版貌似不可以。且需要将windows系统版本升级至“快速预览版18917”以上!需要注意的是,该系统版本会要求卸载系统其它的虚拟机软件。如何获得该快速预...
2020-04-04 14:32:26 6584
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人