gitlab提交MR通知飞书的golang代码实现
公司团队是使用gitlab来管理源代码的,一直以来当提交了一个MR后,需要手动在内部IM群里贴出PR链接和摘要,然后@目标同事来帮忙review代码,其实大部分流程是可以自动化的。
公司团队是使用gitlab来管理源代码的,一直以来当提交了一个MR后,需要手动在内部IM群里贴出PR链接和摘要,然后@目标同事来帮忙review代码,其实大部分流程是可以自动化的。
假设 a 是一个大slice,而 b 只引用了一小部分,这就造成了底层数组其他未被引用的部分内存泄漏。
1 | func sliceLeak() { |
因为协程被永久阻塞而造成的永久性内存泄露。
未正确释放文件、数据库连接等资源,导致内存无法释放。
延迟调用函数导致的临时性内存泄露。
全局变量或长生命周期的对象持有大量数据,无法被垃圾回收。
在一些复杂的数据结构中,可能会出现循环引用,导致垃圾回收器无法回收。
使用time.Timer或time.Ticker时,未及时调用Stop方法。
使用 Rclone 可以轻松实现备份同步文件到各大网盘,简化了备份方案,也可以用来迁移 2 个不同的网盘程序文件,甚至可以直接挂载网盘到本地用来扩充磁盘食用。
Mermaid 是一种基于 Javascript 的绘图工具,使用类似于 Markdown 的语法,使用户可以方便快捷地通过代码创建图表。Typora 支持渲染 Mermaid。
Apache Kafka 是一个开源的分布式事件流平台 (Distributed Event Streaming Platform)。
忘掉 “ 消息队列 “ 这个狭隘的标签。虽然它能当消息队列用,但这好比说一台 MacBook Pro 只是个打字机。它的核心是一个分布式的、分区的、可复制的、持久化的提交日志 (Commit Log)。数据被 “ 追加 “ 到日志末尾,并且可以被多个消费者在任意时间点、以任意速度重复读取。
一句话类比: Kafka 就像一个拥有无数个频道的、永不停止的数字电视台。