Archive

keep hungry keep foolish
2024

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


阿里云ECS CentOS7 无公网IP的情况下如何访问外网

How to access the network when Alibaba Cloud ECS CentOS7 has no public IP


RabbitMQ安装指定版本

RabbitMQ install with the special version


在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"