你适合做救火队长嘛?

换换口味今天不写纯技术文章,分享一个 high level 的话题。假如公司或部门的微服务频繁出现故障,Boss 让你去负责稳定性建设,俗称救火队长,你会怎么做???

Read More

你真的了解泛型嘛

泛型 Generic Programming 通常指允许程序员在强类型程序设计语言中,编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类型,即类型参数化

Read More

小技巧!Wireshark 让调试 GRPC 不再困难

以前用 wireshark 分析过 GRPC 流量,非常方便,年初用同样方法分析了HOL blocking 问题,感兴趣的可以看看。今天记录下全过程,分享给大家,贼好用^^

1
ssh root@some.host 'tcpdump -i eth0 port 80 -s 0 -l -w -' | wireshark -k -i -

Read More

一文了解 rust lifetime

本篇分享部分案例来自 The Rust Book, 在很多模糊的地方增加自己的理解

上次分享了 Rust 引用, 不熟悉的可以先回顾下前文。首先什么是 lifetimes? 生命周期定义了一个引用的有效范围,换句话说 lifetimes 是编译器用来比对 owner 和 borrower 存活时间的工具,目的是尽可能的避免悬垂引用(dangling pointer)

Read More

再批 MySQL JSON

上一篇弱智的 MySQL NULL, 居然有小伙伴在业务中依赖 NULL 使联合索引不唯一的特性,比如有的用户就要多条记录,有的仅一条

Read More

Rust 让人头大的引用与借用

本篇尽量深入浅出,不想学 Rust 的也可以读读,多种语言对比很有很大的收获,Go 再好也不是所有场景通吃^_^

上周分享了Rust Ownership 三原则, 要谨记这三点:

Read More

如何用 Go 实现 Jit compiler

原文作者是 Sidhartha Mani 首发于 Medium,曾由 jiangwei161002010 翻译后发布在 Go 语言中文网

Read More

弱智的 MySQL NULL

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

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

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

Read More

Go cmd 服务无法退出的小坑

上家公司的案例。先说下使用背景,服务在每台服务器上启动 agent, 用户会在指定机器上执行任务,并将结果返回到网页上。执行任务由用户自定义脚本,一般也都是 shell 或是python,会不断的产生子进程,孙进程,直到执行完毕或是超时被 kill

问题

最近发现经常有任务,一直处于运行中,但实际上己经超时被 kill,并未将输出写到系统,看不到任务的执行情况

Read More

Rust ownership 三原则

本文参考 The Book Understanding Ownership 4.1, 还在更就说明没劝退^_^

Read More