小技巧!如何用 systemtap 排查问题

霸爷博客,干货满满。有两篇文章现在还记得,《Linux下如何知道文件被哪个进程写》《巧用Systemtap注入延迟模拟IO设备抖动》,周末突然想起来,发现能看懂了:)

Mehr lesen

小白的 redis 1 安全漏洞

大概在 2011 年第一次听说 redis, 由于其丰富的数据结构,高性能,经过几年的发展 redis 己经成了构建高并发服务的标配。吐糟一下 aws redis 真贵…

在赶集网的时候开始真正使用 redis, 陆陆续续也做过相关的开发工作,也遇到过各种各样的问题,所以想系统的梳理下 redis 相关的知识。计划将小白的 redis做成一个系列,由浅入深,分享从简单的数据结构使用到底层原理的实现,涉及到部份 c 代码。

Mehr lesen

聊聊时钟源为什么会影响性能

前几天帮同事看问题时,意外的发现了时钟源影响性能的 case, 比较典型,记录一下。网上也有人遇到过,参考虾皮的[Go] Time.Now函数CPU使用率异常Two frequently used system calls are ~77% slower on AWS EC2

Mehr lesen

聊聊为什么 IDL 只能扩展字段而非修改

前几年业界流行使用 thrift, 比如滴滴。这几年 grpc 越来越流行,很多开源框架也集成了,我司大部分服务都同时开放 grpc 和 http 接口

Mehr lesen

什么是 Pause 容器

都知道 k8s 的调度最小单位是 POD, 并且每个 POD 都有一个所谓的 Infra 容器 Pause, 那么到底什么是 Pause 容器呢?长什么样?有什么做用?

分析源码

废话不多,直接上源码,来自官方 pause.c

Mehr lesen

弱智的 MySQL NULL

MySQL 字段一定要 NOT NULL, 并且设置合理的 default 值!!!

MySQL 字段一定要 NOT NULL, 并且设置合理的 default 值!!!

MySQL 字段一定要 NOT NULL, 并且设置合理的 default 值!!!

Mehr lesen

分享一个 UT failed 引出的思考

我司使用 mono repo, 某个服务 ut 失败,导致别人无法构建。查看下源代码以及 ut case, 发现槽点蛮多,讲一下如何修复,展开聊一下写单测要注意的一些点,和设计模式中的概念依赖反转、依赖注入、控制反转

Mehr lesen

聊聊如何做技术分享

最近在组织公司内部的技术分享,简单的聊聊如何写 tech slide, 以及现场 present 时要注意的地方,希望对大家能有帮助。当然个人理解,难免有错误,欢迎讨论。

分享的目的

要纯粹,不能有任何功利,初心错了,做任何事情都会变形。

Mehr lesen

聊聊 Go 并发安全

并发安全是最基本的常识,也是最容易忽视的前提,更考验一个工程师 enginner 的语言基本功和代码规范。

并发访问修改变量,会导致各种不可预期的结果,最严重的就是程序 panic, 比如常见的 go 语言中 map concurrent read/write panic

Mehr lesen

Rust trait 入门

学 Rust 的一定离不开 trait, 告诉编译器某些类型拥有的,且能够被其他类型共享的功能,官方的定义叫做 Defining Shared Behavior 共享行为,同时还可以对泛型参数进行约束,将其指定为某些特定行为的类型。读过 你真的了解泛型嘛 朋友肯定知道,rust 的 trait 和 go interface 非常像,但是远比后者强大

Mehr lesen