GORM Hook 使用误区
0x01 背景在 office-gateway 三期优化过程中,对任务数据实现了缓存机制,旨在提高查询性能。考虑到数据写操作频繁,且当前仅有一个接口负责读取,属于典型的写多读少场景。于是决定选用 GORM 的 Hook 机制来更新缓存。 ...
0x01 背景在 office-gateway 三期优化过程中,对任务数据实现了缓存机制,旨在提高查询性能。考虑到数据写操作频繁,且当前仅有一个接口负责读取,属于典型的写多读少场景。于是决定选用 GORM 的 Hook 机制来更新缓存。 ...

0x01 传统的错误处理方式在 GORM 的使用过程中,gorm.ErrNotFound 是最基础且使用最广泛的错误类型。作为开发者,我们习惯性地使用这种方式来处理查询未找到记录的情况: ...
动态规划(Dynamic Programming)往往是算法面试中的一道坎。它的核心思想其实并不复杂,但难点在于如何把一个大问题拆解成状态转移公式。 ...

转载于公司技术委员会 0x01 Markdown Markdown Guide Cheat Sheet Basic Syntax Extended Syntax Recommended Apps, Tools, Markdown Tables Generator GitHub Flavored Markdown 0x02 EWikihttps://ewiki.baijiashilian.com/ 内部链接、标题链接 1 2 3 4 [技术规范](./index.md) [首页](../index.md) [技术分享](../技术培训/技术分享计划&记录.md) [Markdown](#markdown) 0x03 检查工具 EWiki 内嵌实时检查工具 手动检查工具 https://lint-md.baijiashilian.com/ 相关文档,Chrome、VS Code 插件 https://github.com/lint-md/lint-md ...
在链表操作中,快慢指针 (Fast & Slow Pointers) 是一种极其经典且优雅的技巧。它主要用于解决链表中的环路检测、中点寻找等问题。其背后的理论基础通常被称为 Floyd 判圈算法 (Floyd’s Cycle-Finding Algorithm),有时也形象地被称为「龟兔赛跑算法」。 ...

CI/CD 变量是环境变量的一种,通过设置 CI/CD 变量可以: 控制 job 与 pipeline 的行为 存储想复用的变量 避免在 .gitlab-ci.yml 文件中硬编码 CD/CD 的变量定义主要通过两种方式: 通过配置文件 通过项目设置 0x01 1. 通过配置文件在 .gitlab-ci.yml 文件中,使用 variables 关键词可以定义变量。 ...

0x01 背景过去,我一直在使用 x86_64 架构的 MacBook Pro 进行开发,服务器环境则是 x86_64 架构的 CentOS,因此从未担心过多架构的 Docker 镜像构建问题。 然而,公司最近更新了一批 M1 MacBook Pro。 ...

0x01 悬挂镜像sonarnotify 在 CI/CD 中用到了 Docker 多阶段构建。 在构建完成后,即使每次都删掉了构建后的镜像,通过 docker images 还是能发现一些标签为 的镜像。经过查阅资料发现,这些镜像称为悬挂镜像(dangling image)。 ...
0x01 简介在官方文档中,关于 relabel 的介绍并不多,介绍下配置项格式就结束了。但在实际使用上,我们却离不开这个利器。 本文将结合实际使用经验,将 relabel 的使用场景做一个总结。 ...
0x01 tcpdump 抓包 1 tcpdump -Xnlps0 -nn -iany port 9001 -w 9001.pcap 参数说明: -X: 显示包的内容(十六进制和 ASCII) -n: 不将地址转换为名字 -l: 使标准输出行缓冲 -p: 不让网卡进入混杂模式 -s0: 抓取完整的数据包 -nn: 不将协议和端口转换为名字 -iany: 监听所有网络接口 -w: 将原始数据包写入文件 0x02 容器 DebugKubectl Debug 1 kubectl debug -it redis-sentinel-master-ss-0 --image=reg.smvm.cn/appbase/debug-tools:latest --target=redis-master 这个命令会创建一个新的容器,共享目标容器的网络、PID 和 IPC 命名空间,方便进行调试。 ...