仁扬_个人页

个人头像照片 仁扬
个人头像照片
52
0
0

个人介绍

公众号:仁扬 分享Go后端/架构/云原生/面经/互联网资讯 博客:https://imlht.com/

擅长的技术

  • Go
  • 容器
  • Linux
  • 数据库
  • 微服务
  • 前端开发
  • PHP
获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息

2023年08月

  • 08.03 23:15:10
    发表了文章 2023-08-03 23:15:10

    谈谈 Kafka 的幂等性 Producer

    使用消息队列,我们肯定希望不丢消息,也就是消息队列组件,需要保证消息的可靠交付。消息交付的可靠性保障,有以下三种承诺:最多一次、至少一次和精确一次。
  • 08.03 00:10:35
    发表了文章 2023-08-03 00:10:35

    根据首尾字符串截取中间字符串

    今天分享一个函数:虽然它非常简单,但是真的很好用!也很常用!比如 “我今天真的很高兴” 这句话,要把 `今天` 截取出来,我们可以直接调用函数拿到结果,不需要匹配索引、也不用写正则!
  • 08.03 00:10:06
    发表了文章 2023-08-03 00:10:06

    容器化的好处

    容器化,是指使用容器技术(Docker/containerd等)运行应用程序(容器),并使用容器编排技术(例如 K8s)来管理这些容器,那么它有什么好处呢?
  • 08.01 00:20:36
    发表了文章 2023-08-01 00:20:36

    收集 macwk.com 的替代网站

    macwk.com 在 2022-10-05 关站,域名停止解析,已经打不开了。翻了很多资料,收集了几个网站作为替代,大家有需要可以试试,如果有更好的麻烦告诉我哈哈!
  • 08.01 00:18:21
    发表了文章 2023-08-01 00:18:21

    PHP 容器化引发线上 502 错误状态码的修复

    公司的业务逐步推广容器化,其中 PHP 业务的 Pod,由以下 5 个容器组成:nginx、php-fpm、metric(监控)、jaeger(链路追踪)、log(日志收集)。线上滚动部署的时候报错!

2023年07月

  • 07.31 23:50:15
    发表了文章 2023-07-31 23:50:15

    记一次 HTTPS 抓包分析和 SNI 的思考

    日常听说 HTTPS 是加密协议,那现实中的 HTTPS 流量,是真的完全加密吗?答案是,不一定。原因嘛,抓个包就知道了。我们用 curl 命令触发一下!
  • 07.28 23:50:19
    发表了文章 2023-07-28 23:50:19

    微服务性能分析工具 Pyroscope 初体验

    Go 自带接口性能分析工具 pprof,接入方式简单,可以暴露接口后采集服务运行状态分析性能。但是 Pyroscope 更为强大,它有一个非常漂亮的 UI 界面!第一眼看到它我就被迷住了!
  • 07.27 23:19:52
    发表了文章 2023-07-27 23:19:52

    Redis 主从同步原理

    主从同步,就是将数据冗余备份,主库(Master)将自己库中的数据,同步给从库(Slave)。主从同步的必要性,在于数据的高可用。它可以保证机器故障时,还有其他的服务器可以进行故障转移。
  • 07.26 23:41:39
    发表了文章 2023-07-26 23:41:39

    Manjaro Linux 连接公司的 VPN 网络

    用 Linux 和用 Windows/macOS 不一样,它真的需要用户操心很多东西。比如怎么连接公司的 VPN 网络……最后我使用 PPTP Client 连上了,遂写个文章做个记录吧。
  • 07.25 23:49:19
    发表了文章 2023-07-25 23:49:19

    Manjaro Linux 安装 deb 软件包

    “记得上次用 Manjaro Linux 的时候,还是上次:)”。三年前,工作都是在 Linux 下完成的——那时候的我还没买苹果电脑,每天的快乐就是折腾 Linux 发行版……
  • 07.24 23:45:06
    发表了文章 2023-07-24 23:45:06

    Redis 集群偶数节点跨地域部署之高可用测试

    你搭建过偶数节点的 Redis 集群吗?有没有想过它是否具备高可用的能力?会不会脑裂呢?实践出真知!现在 docker 太方便了,搭一个集群模拟一下……
  • 07.23 23:39:59
    发表了文章 2023-07-23 23:39:59

    快速切换 nodejs 的版本

    公司新的后台系统升级了框架版本,旧后台用的是老的 nodejs,也不可能去升级。这个时候,切换 nodejs 版本显然就很重要了!后来我找到一个包,只需全局安装,就可以自由切换版本,非常好用!
  • 07.23 10:41:06
    发表了文章 2023-07-23 10:41:06

    获取客户端真实 IP 地址的最佳实践

    翻遍整个互联网,几乎没有文章能把 “获取客户的真实 IP 地址” 这个看起来很简单的事情捋清楚、讲明白,更不用说最佳实践。这篇文章也是我在这段时间的研究中总结出来的宝贵经验,希望对读者能有些许帮助。
  • 07.21 23:50:48
    发表了文章 2023-07-21 23:50:48

    使用 Dockerfile 构建生产环境镜像

    1202 年了,如果你连 Docker 都不知道是什么,我建议买一本书看看——或者谷歌一下,博客已经写烂了。为什么有这篇文章,是因为我在真正做容器化改造的时候,发现公司生产环境存在大量的坑……
  • 07.20 23:20:01
    发表了文章 2023-07-20 23:20:01

    大白话讲讲 Go 语言的 sync.Map(二)

    上一篇文章《大白话讲讲 Go 语言的 sync.Map(一)》讲到 entry 数据结构,原因是 Go 语言标准库的 map 不是线程安全的,通过加一层抽象回避这个问题……
  • 07.19 23:38:49
    发表了文章 2023-07-19 23:38:49

    大白话讲讲 Go 语言的 sync.Map(一)

    在讲 sync.Map 之前,我们先说说什么是 map(映射)。我们每个人都有身份证号码,如果我需要从身份证号码查到对应的姓名,用 map 存储是非常合适的……
  • 07.18 22:18:28
    发表了文章 2023-07-18 22:18:28

    我是如何组织 Go 代码的(目录结构 依赖注入 wire)

    我们在编写 Go 程序可能会直接新建 main.go,xxx.go,yyy.go……对于小型工程来说简洁明了;但对于大型工程而言,或者团队协作中,没有明确的规范,只会使得项目越来越凌乱……
  • 07.17 23:51:25
    发表了文章 2023-07-17 23:51:25

    巧用 nc 命令传输文件

    今天在业务上云的时候,遇到了些问题。最终发现问题的根源不好排查,于是——把生产环境的全量配置文件,还有日志全量打包下载到开发机器分析!生产和开发机内网不通,都是走公网传输,但是速度特别慢……
  • 07.16 23:42:18
    发表了文章 2023-07-16 23:42:18

    快速搭建 phpmyadmin 开发环境

    真的很喜欢 phpmyadmin 这个 PHP 程序。虽然工作上基本都用 Navicat,但是很多东西都是习惯了,就很难改变!比如建表,执行 SQL 语句,还是觉得 phpmyadmin 更胜一筹……
  • 07.15 19:27:13
    发表了文章 2023-07-15 19:27:13

    gin 接口开发 - 用户输入自动 TrimSpace

    大家用过 gin 的就知道,支持指定某个字段为 required 字段必填。然而,我们不能指望用户输入了,这个字段就是可以用的!用户输入了空格,就成功躲避我们的校验,所以我们不得不再校验一次……
  • 07.14 23:44:14
    发表了文章 2023-07-14 23:44:14

    说说 Go 语言的坑(二)

    上一篇文章说的是 for-range 的,工作中,其实还是遇到蛮多奇奇怪怪的问题,这里也顺便整理了一下,就当作是续集:)
  • 07.13 23:41:53
    发表了文章 2023-07-13 23:41:53

    Linux 如何删除乱码的文件

    你是否在终端 ls 过,发现很多乱码的文件?我搜索了挺多资料,没有一篇文章能真的解决问题(感觉都是抄来抄去的)。用 SFTP 工具、PHPStorm 全家桶,都删不了……你知道如何删除它们吗?
  • 07.12 23:54:39
    发表了文章 2023-07-12 23:54:39

    Go 语言的 nil 能比较自己吗

    nil 是一个预先声明的标识符,代表指针、通道、函数、接口、哈希表或切片的零值。OK,回到问题,nil 能比较自己吗?
  • 07.11 23:56:50
    发表了文章 2023-07-11 23:56:50

    说说 Linux 的 curl 命令

    cURL,熟悉 Linux 的同学,没有人不知道这个命令吧:)我从实用性的角度,说下我比较常用的几个参数。
  • 07.10 23:40:07
    发表了文章 2023-07-10 23:40:07

    巧用 bc 命令测试 Linux 主机的 CPU 性能

    今天向公司申请了一台 Linux 主机,作为平时的开发环境。由于自己并不依赖远程开发(大多数情况下项目都可以本地开发、调试),于是只申请了 4C/8G 的低配机器。突然好奇的是,这台机器的性能怎么样?
  • 07.09 22:23:18
    发表了文章 2023-07-09 22:23:18

    Go 语言 for-range 的两个坑,你踩过吗?

    先看看下面的例子,你知道最终输出的结果是什么吗?不知道的同学,大家可以在 https://play.golang.org/ 这里尝试运行一下。
  • 07.06 22:16:44
    发表了文章 2023-07-06 22:16:44

    巧用 awk 批量杀进程

    我需要批量杀死某台机器的 PHP 进程,该怎么办?如果是一个进程,那就好办了,ps -ef | grep php,找到 PID 然后 kill -9 PID……那批量怎么搞呢?
  • 07.06 00:02:09
    发表了文章 2023-07-06 00:02:09

    tcpdump 常用命令

    Linux 的命令太多,tcpdump 是一个非常强大的抓包命令。有时候想看线上发生的一些问题:nginx 有没有客户端连接过来……客户端连接过来的时候 Post 上来的数据对不对……
  • 07.04 23:27:42
    发表了文章 2023-07-04 23:27:42

    普通用户启动 supervisor 报 HTTP 错误(strace)

    今天操作生产环境的时候,报的错误令人懵逼,SRE 同学折腾了好久,配置来配置去,搞不明白为啥 www 就是启动不了 supervisor !
  • 07.03 22:31:23
    发表了文章 2023-07-03 22:31:23

    分享我的 Shell 环境,git 操作效率提升 100% !

    本文分享我在工作中常用的环境变量 + Shell alias:比如 `git add .` 这样的命令,我只需要敲 `ga` 就好了!
  • 07.03 21:22:20
    发表了文章 2023-07-03 21:22:20

    Go 匿名返回值的坑——这道题据说 90% 的同学都答错了!

    今天分享 Go 的语言特性——命名、匿名返回值!据说 90% 的同学都答错了,你答对了吗?快进来试试看!
  • 07.02 16:25:28
    发表了文章 2023-07-02 16:25:28

    正确处理 CSV 文件的引号和逗号

    CSV(Comma-Separated Values,逗号分割值),就是用纯文本的形式存储表格数据,最大的特点就是方便。但是你真的会处理 CSV 文件吗?数据包含引号或逗号,该怎么办?
  • 07.02 15:16:15
    发表了文章 2023-07-02 15:16:15

    Golang 中文转拼音

    翻遍整个 GitHub , Golang 中文转拼音类库, 怎么就这么难找呢? 于是我造了一个轮子: 中文转拼音类库. 目前来说应该是最好用的了.
  • 07.01 21:39:48
    发表了文章 2023-07-01 21:39:48

    最为常用的Laravel操作(3)-模板

    整理了 Laravel 框架模板最常用的操作,如模板常用语法、模板继承、流程控制、循环等。本系列共有 3 篇文章。
  • 07.01 20:29:17
    发表了文章 2023-07-01 20:29:17

    最为常用的Laravel操作(2)-路由

    整理了 Laravel 框架路由最常用的操作,如路由参数、路由群组、中间件等。本系列共有 3 篇文章。

2023年06月

  • 06.30 23:45:52
    发表了文章 2023-06-30 23:45:52

    最为常用的Laravel操作(1)-Eloquent模型

    整理了 Laravel 框架 Eloquent 模型最常用的操作,包括一些常用的属性、方法,模型关联等。本系列共有 3 篇文章。
  • 06.29 23:26:20
    发表了文章 2023-06-29 23:26:20

    浅析布隆过滤器

    布隆过滤器 (Bloom Filter) 是 1970 年由布隆提出的。它可以检索一个元素是否存在于集合中。它的优点是空间效率高,查询时间极快,缺点是有一定的误判率,而且删除困难。
  • 06.28 23:30:18
    发表了文章 2023-06-28 23:30:18

    Redis的设计与实现-总结

    个人真的很喜欢这本书, 从对C语言一窍不通, 到发现C语言竟然如此简洁, 以至于我喜欢上了C! 整体的感悟吧, 觉得 Redis 的作者, 对每一块内存非常吝啬……
  • 06.27 23:43:43
    发表了文章 2023-06-27 23:43:43

    Redis的设计与实现(6)-压缩列表

    压缩列表 (ziplist) 是列表键和哈希键的底层实现之一. 当一个列表键只包含少量列表项, 并且每个列表项要么是小整数值, 要么是长度比较短的字符串, Redis 会用压缩列表做列表键的底层实现.
  • 06.26 21:55:46
    发表了文章 2023-06-26 21:55:46

    Redis的设计与实现(5)-整数集合

    整数集合(intset)是集合键的底层实现之一: 当一个集合只包含整数值元素, 并且这个集合的元素数量不多时, Redis 就会使用整数集合作为集合键的底层实现.
  • 06.24 17:32:44
    发表了文章 2023-06-24 17:32:44

    Redis的设计与实现(4)-跳跃表

    跳跃表 (skiplist) 是一种有序数据结构,它通过在每个节点中维持多个指向其他节点的指针,从而达到快速访问节点的目的。Redis 使用跳跃表作为有序集合键的底层实现之一。
  • 06.24 15:51:10
    发表了文章 2023-06-24 15:51:10

    Redis的设计与实现(3)-字典

    Redis 的数据库使用字典实现, 对数据库的增, 删, 查, 改也是构建在对字典的操作之上的. 字典是哈希键的底层实现之一: 当一个哈希键包含的键值对比较多, 又或者键值对中的元素都是比较长的字符串时, Redis 将会使用字典作为哈希键的底层实现.
  • 06.24 14:37:26
    发表了文章 2023-06-24 14:37:26

    Redis的设计与实现(2)-链表

    链表在 Redis 中的应用非常广泛, 比如列表键的底层实现之一就是链表: 当一个列表键包含了数量比较多的元素, 又或者列表中包含的元素都是比较长的字符串时, Redis 就会使用链表作为列表键的底层实现.
  • 06.24 12:32:55
    发表了文章 2023-06-24 12:32:55

    Redis的设计与实现(1)-SDS简单动态字符串

    大多数情况下, Redis使用SDS(Simple Dynamic String, 简单动态字符串)作为字符串表示, 比起C字符串, SDS具有以下优点: 1. 常数复杂度获取字符串长度; 2. 杜绝缓冲区溢出; 3. 减少修改字符串时带来的内存重分配次数; 4. 二进制安全; 5. 兼容部分C字符串函数.
  • 06.22 17:27:06
    发表了文章 2023-06-22 17:27:06

    图片转ASCII字符图案的原理(可调整亮度对比度 宽高度)

    平时看代码会看到很多标点符号的字符拼起来的图案, 特别有趣, 像kong(一个高性能API网关), 除了源代码里面有图案, 命令行也藏了彩蛋. 我今天要玩的会深入一点: 基于图片的灰度值来生成图案. 此时的图片不单单有轮廓, 还有光影效果, 也就是素描中提及的黑白灰.
  • 06.22 16:20:06
    发表了文章 2023-06-22 16:20:06

    用 Vue.js 实现一个 JSON Viewer

    JSON 是一种轻量级的数据交换格式, 相信大家用得比较多, 平时也用了很多格式化工具, 例如我最常用的 Json.cn, 还有这个 BeJson, 前者清爽无广告, 后者性能给力(有广告). 本文讲详细讲解如何使用 Vue.js 实现一个 JSON Viewer!
  • 06.21 22:04:07
    发表了文章 2023-06-21 22:04:07

    Composer 镜像原理 (3) —— 完结篇

    Composer 是一个 PHP 的依赖管理工具,它可以帮助开发者轻松地管理和维护 PHP 项目中的依赖关系。你是否好奇过它的镜像仓库是怎么实现的?本文为你揭晓。
  • 06.20 23:24:24
    发表了文章 2023-06-20 23:24:24

    Composer 镜像原理 (2) —— composer.json

    Composer 是一个 PHP 的依赖管理工具,它可以帮助开发者轻松地管理和维护 PHP 项目中的依赖关系。你是否好奇过它的镜像仓库是怎么实现的?本文为你揭晓。
  • 06.20 21:54:34
    发表了文章 2023-06-20 21:54:34

    Composer 镜像原理 (1) —— 初识 Composer

    Composer 是一个 PHP 的依赖管理工具,它可以帮助开发者轻松地管理和维护 PHP 项目中的依赖关系。你是否好奇过它的镜像仓库是怎么实现的?本文为你揭晓。
  • 06.19 22:59:05
    发表了文章 2023-06-19 22:59:05

    Linux下手工编译libiconv库的小问题

    Ubuntu Linux 手工编译 libiconv 库报错,记录一下~
  • 发表了文章 2023-08-03

    谈谈 Kafka 的幂等性 Producer

  • 发表了文章 2023-08-03

    根据首尾字符串截取中间字符串

  • 发表了文章 2023-08-03

    容器化的好处

  • 发表了文章 2023-08-01

    收集 macwk.com 的替代网站

  • 发表了文章 2023-08-01

    PHP 容器化引发线上 502 错误状态码的修复

  • 发表了文章 2023-07-31

    记一次 HTTPS 抓包分析和 SNI 的思考

  • 发表了文章 2023-07-28

    微服务性能分析工具 Pyroscope 初体验

  • 发表了文章 2023-07-27

    Redis 主从同步原理

  • 发表了文章 2023-07-26

    Manjaro Linux 连接公司的 VPN 网络

  • 发表了文章 2023-07-25

    Manjaro Linux 安装 deb 软件包

  • 发表了文章 2023-07-24

    Redis 集群偶数节点跨地域部署之高可用测试

  • 发表了文章 2023-07-23

    快速切换 nodejs 的版本

  • 发表了文章 2023-07-23

    获取客户端真实 IP 地址的最佳实践

  • 发表了文章 2023-07-21

    使用 Dockerfile 构建生产环境镜像

  • 发表了文章 2023-07-20

    大白话讲讲 Go 语言的 sync.Map(二)

  • 发表了文章 2023-07-19

    大白话讲讲 Go 语言的 sync.Map(一)

  • 发表了文章 2023-07-18

    我是如何组织 Go 代码的(目录结构 依赖注入 wire)

  • 发表了文章 2023-07-17

    巧用 nc 命令传输文件

  • 发表了文章 2023-07-16

    快速搭建 phpmyadmin 开发环境

  • 发表了文章 2023-07-15

    gin 接口开发 - 用户输入自动 TrimSpace

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息