Toggle navigation
ALOVN
Home
About
Archive
Portfolio
Open Source
Archive
keep hungry keep foolish
Show All
167
Golang
61
Kubernetes
17
Linux
11
MySQL
10
gRPC
9
ESXI
7
Git
6
Java
6
Redis
6
MacOS
5
Protobuf
5
前端
4
Docker
4
RabbitMQ
4
Tensorflow
4
算法
3
网络
3
软件
3
DevOps
3
ETCD
3
Kafka
3
安全
2
微服务
2
架构
2
计算机
2
Python
2
汇编
1
硬件
1
设计模式
1
随笔
1
C#
1
2024
diskpart恢复烧录的优盘
Recovering a burned USB drive from diskpart
哈夫曼树与哈夫曼编码
Huffman tree and huffman codeing
Termux android 6.0 安装笔记
termux android
Golang 1.22新特性
Golang 1.22 feature
了解 Base64 算法编码原理
Base64 algorithm
2023
Golang多值赋值
Golang multiple assignment
iptables
iptables
Kubernetes 证书更新
Kubernetes certificate renewal
ESXI linux虚拟机磁盘扩容
ESXI linux virtual machain disk expansion
双绞线的分类
twisted pair classfication
IPv4地址分类
IP v4 address classification
ESXI 主机显卡和USB设备直通
ESXI GPU and USB device passthrough
CPU分支预测
cpu branch prediction
HTTP协议multipart/form-data文件上传
HTTP multipart/form-data file upload
2022
SD卡和Micro SD卡引脚定义
SD card and Micro SD card pin definitions
Homebrew更换国内镜像
Homebrew replace mirrors
前端缓存简介
HTTP Cache
P2P NAT类型
P2P NAT
Golang之抽象语法树(ast)
Golang Abstract Syntax Tree
Golang并发编程之singleflight
Golang singleflight
CORS跨域原理
CORS(Cross-Origin Resource Sharing)
Golang 函数内联
Golang inline
Golang 闭包变量捕获分析
Golang closure variable capture analysis
Golang Fuzzing测试
Golang fuzzing test
Golang使用httptest对HTTP服务进行Mock
Golang uses httptest to Mock HTTP services
Golang使用httptest测试返回结果
Using httptest to test return results in Golang unit tests
2021
Golang组合式继承
Golang composite inheritance
MySQL的备份架构
MySQL backup architecture
MySQL死锁等待与超时事务回滚
MySQL InnoDB death lock timeout and transaction rollback
关闭brew自动更新检测
Disabled brew auto update check
Golang通过修改源码编译的方式获取goroutine id
Golang source compile and get goroutine id
MySQL中的InnoDB行锁
MySQL InnoDB Record lock、Gap Lock and Next-Key Lock
MySQL的自增长列(auto-increment)实现机制
MySQL auto-increment
如何在一台机器上安装多个版本的Go
how to install multiple versions of Go on the same machine
MySQL中哪些字段应该加索引
which fields should be add index in MySQL
MySQL之Online DDL
MySQL Online DDL
MySQL之分区表
MySQL partition
MySQL的二进制日志(binlog)
MySQL binary log
MySQL的慢查询日志
MySQL slow query log
汇编指令中lea与mov的区别
The difference between lea and mov in Assembly
理解原码、反码和补码
Understand the Original code、 Inverse code and Complement code
解决salt gitfs lock无法正常更新的问题
Solve 'salt gitfs lock'
解决git error: invalid path
Solve 'git error: invalid path'
Go语言之类型转换规则
Type Convert in Golang
解决ESXI磁盘错误无法启动
ESXI Disk Repair
Go语言中的nil
Golang nil
Go语言之火焰图
Flame Graph
Go语言之内存泄露
Memory Leak in Golang
Go语言之sync.Pool
sync.Pool in Golang
Go语言之内存垃圾回收
Memory Garbage Collection in Golang
Go语言之内存堆栈分配(逃逸分析)
Stack and Heep Memory in golang
Go语言中sync.Cond的用法
The usage of sync.Cond in Golang
Go语言之估值顺序
The Order of Variable Expression Valuation In Golang
openwrt软路由
Openwrt Soft Router
Go语言之条件编译
Golang Conditional Compilation
React函数式组件使用生命周期和State
React Function Component use Hook and State
Nginx与后端上游服务保持长连接
nginx upstream connection keepalive
Go语言之unsafe
Golang Unsafe Pointer
Go语言之浮点数
Golang float
将Github仓库镜像同步到自建Git仓库
Using GitHub token to synchronize mirror repository to self git repository
LVS-DR模式的负载均衡
LVS-DR Load Balance
查看Go语言编译后的汇编指令
Golang compile assembly
基于Envoy的服务发现
Envoy Service Discovery
负载均衡算法
Load balancing algorithm
在MacOS下通过brew link切换golang版本
Switch golang version through brew in MacOS
Go1.16新特性
go1.16 feature
Go语言中的协程调度GMP
golang gmp
Go语言中的反射
golang reflect
Go语言中的接口
golang interface
Go语言中的类型系统
golang type
Go语言中的panic和recover
golang panic and recover
Go语言中的defer
golang defer
Go语言中的闭包
golang closure function
Go语言中的函数调用栈
golang function
Go语言中的map
golang map
Go语言中的内存对齐
golang memory alignment
Go语言中的切片
golang slice
Go语言中的字符串
golang string
2020
Kubernetes RBAC 鉴权
Kubernetes RBAC
Kubernetes 使用NFS动态卷
Kubernetes uses NFS dynamic volumes
Kubernetes 部署 Metrics-Server
Deploying Kubernetes Metrics-Server
在 Kubernetes 中部署 Redis 集群
Deploying Redis Cluster on Kubernetes
Kubernetes StatefulSet
Kubernetes StatefulSet
Kubernetes Dashboard v2.0.4 通过 Ingress 暴露访问
Kubernetes dashboard v2.0.4 exposed access through ingress
Kubernetes 如何从私有镜像仓库拉取镜像
How does kubernetes pull images from a private image repository
Kubernetes Ingress
Kubernetes Ingress
Kubernetes DaemonSet
Kubernetes DaemonSet
如何理解K8S中cpu和内存的资源requests与limits
How to understand the resource requests and limits of cpu and memory in K8S
Harbor镜像仓库的安装
Harbor
解决Jenkins下shell脚本运行Docker权限报错
Solve the problem of Docker permission error for shell script running under Jenkins
解决K8S报错: network open /run/flannel/subnet.env: no such file or directory
K8S network: open /run/flannel/subnet.env: no such file or directory
Linux 下使用 NFS 文件共享
Linux NFS
解决k8s docker镜像启动过程中错误:write /proc/self/attr/keycreate: permission denied
Resolve k8s docker error: write /proc/self/attr/keycreate: permission denied
docker使用代理下载k8s官方镜像
How doses docker use proxy to download k8s official image
git fetch 与 git pull 和 git pull --rebase之间的区别
the diffrence between git fetch and git pull and git pull--rebase
解决vi中文乱码
resoved chinese garbled code in vi editor
关于SSL与TLS
about SSL and TLS
Let's Encrypt配置通配符证书(泛域名通用)
Let's encrypt configure wildcard Certificate
VMware ESXI 删除无效虚拟机
VMware ESXI remove invalid vm
项目中使用go mod管理etcd client时遇到的问题
go mod etcd problems
Golang中结构体指针内容拷贝
Golang struct pointer content copy
ETCD 中的RBAC账号角色授权
Role base access control in ETCD
RabbitMQ死信队列
RabbitMQ dead letter
RabbitMQ安装指定版本
RabbitMQ install with the special version
阿里云ECS CentOS7 无公网IP的情况下如何访问外网
How to access the network when Alibaba Cloud ECS CentOS7 has no public IP
在macOS下sublime中 替换成换行
\r\n replace with newline in sublime under macOS
解决python使用requests使用shadowsocks代理时报错: Missing dependencies for SOCKS support
python requests shadowsocks proxies: Missing dependencies for SOCKS support
Golang 设置 http response 响应头的坑
Golang http set response header
Golang中数组反转的实现方式
The array or slice reverse in golang
Golang中array和slice的区别
The difference between array and slice in golang
matplotlib jupyter notebook 图像可视化 plt.imshow 色差问题解决办法
matplotlib jupyter notebook imshow
Ubuntu如何调整虚拟机里面的分辨率
ubuntu xrandr
2019
利用 github actions 自动发布 github pages
github actions
redis之maxmemory与maxmemory-policy
redis maxmemory and maxmemory-policy
win10连接samba提示帐号密码不正确
win10 connect samba
CentOS7 设置时区
centos 7 set timezone
gRPC 中的泛型
gRPC generic type in golang
网易考拉架构分享学习
NetEast Kaola Communication
grpcurl工具学习
grpcurl tools
gRPC gateway同时提供gRPC和HTTP服务
GRPC gateway provides both gRPC and HTTP services
gRPC 通过 ETCD 实现服务注册发现
gRPC etcd discovery
MySQL中整数类型后面的数字的含义
MySQL Integer Types
高并发限流之令牌桶算法
Token Bucket RateLimiter
GopherChina 2019
GopherChina 2019 Video & PPT
Golang 简单实现并发限流
Golang Simple Ratelimit
gRPC middleware
gRPC middleware
gRPC 拦截器 Interceptor
gRPC Interceptor
gRPC TLS证书认证
gRPC TLS secure
生成 Outline AccessKey
generate outline app accesskey
Protobuf 与 gRPC
Protobuf gRPC
Protobuf 之 Varint 编码
Protobuf Varint
了解 Golang Context
golang context
SpringBoot事务提交后执行后续操作
sprintboot transaction after commit
Go语言基础之包
Golang package
Go语言基础之结构
Golang struct
kubernetes 增加 workder 节点
kubernetes add worker node
go-micro安装笔记
go-micro installation notes
微信红包的架构设计
weixin red packets design
Kafka 数据删除策略
The kafka data delete strategy
git merge 和 git merge --no-ff的区别
The diffrence between git merge and git merge --no-ff
MSBuild Task获取Assemly版本号
msbuild task get assembly version
通过 kubeadm 快速部署 Kubernetes
Quickly deploy Kubernetes with kubeadm
配置ssh无密码登录服务器
Configure the ssh certificate login server
Tensorflow笔记: reduce_mean 函数
tensorflow reduce_mean
librdkafka 输出连接断开日志的问题
The problem of librdkafka output connection disconnect
Tensorflow 中 matmul 和 multiply 的区别
The difference between matmul and multiply in Tensorflow
Mac 安装 Tensorflow 运行出错
Mac installation Tensorflow running error
理解Tensorflow中的张量
Understand the tensor in Tensorflow
SpringBoot中的过滤器、拦截器的区别
The difference between filter and interceptor in SpringBoot
PriorityQueue 优先队列
PriorityQueue
理解Java中String.intern()方法
java string.intern
Mac上InteIIij IDEA使用springboot热部署
spring boot devtools
SpringBoot中WebMvcConfigurerAdapter已过时
WebMvcConfigurerAdapter is deprecated
无重复字符的最长子串
longest-substring-without-repeating-characters
RabbitMQ 消息队列
RabbitMQ
设计模式
Design Patterns
redis 集群
redis cluster
redis 的过期策略
redis expiration policies
redis 不同数据类型适用的场景
redis data types
关于缓存的使用、雪崩和穿透
about cache
如何保证消息队列的可靠性
how to ensure the reliable transmission of messages
安装Mac App提示应用损坏,不能打开怎么办
“App” is damaged and can’t be opened. You should move it to the Trash.
consul 服务注册中心
consul registry service
对超出4T的磁盘进行分区
partition the disk larger than 4T
ESXI 虚拟机直接挂载磁盘
ESXI disk mount
2018
开始使用 Git
Git Getting Started
Hello 2018
"Hello World, Hello Blog"