240 发简信
IP属地:湖北
  • golang基于标签体系的发布订阅机制实现

    发布订阅 在程序开发过程中,发布订阅模式是常见的一种架构设计,通过一个消息代理,可以完美解耦各系统服务之间的依赖关系。在一些系统内部,也经常需要通过发布订阅这种模式,来降低各...

  • golang实现优先级队列

    优先级队列 优先级队列是一种特殊队列。于对进入队列的数据,指定该数据的优先级priority,然后根据队列的优先级顺序,进行提取数据。 同等优先级的数据,可以是FIFO、LI...

  • golang实现磁盘缓存队列(FIFO)

    队列 队列是我们常说的一种数据结构,通常指:queues (FIFO) ,特点就是数据先进先出。当然还有 stacks (LIFO) 这种后进先出的数据结构。队列的实现非常简...

  • 120
    Go:字符串 len 和 == 判断空值对比

    判断空字符串 判断字符串是否为空的常用方法如下: 那么通过直接判断空字符串和判断字符串长度两种方法,有什么性能区别呢 benchmark性能测试 执行编译指令: 通过测试可以...

  • 120
    进程间通信方式

    进程间通信方式 按类型分为三种:管道、系统IPC、套接字 管道 普通管道 属于单工通信,即仅允许一端发送一段接收,常用于父子进程之间的通信 流式管道 属于双工通信,即允许两端...

  • 数组、哈希表、布隆过滤器

    历史书太小,装不下一个人的波澜壮阔的一生。历史书又太大,装下了中华上下五千年时光。 简介 检查一个元素是否存在于另一个集合/容器中,可以说是非常普遍的需求了。 具体实现的方法...

  • 120
    基于docker搭建gitlab-runner

    参考自官方文档https://docs.gitlab.com/runner/install/docker.html[https://docs.gitlab.com/runne...

  • Docker 常用指令

    前言 万能方法一:调用 --help,eg:docker run --help万能方法二:看官网,https://docs.docker.com/get-started/[h...

  • 120
    分布式唯一键算法(SnowFlake雪花算法)

    SnowFlake简介 雪花算法由Twitter开源的分布式ID算法。该算法计算出来的是一个包含64bit位的长整型值,由时间戳、机房、机器、序列号组成。 组成 首位:1bi...

  • 120
    CICD(持续集成/交付/部署)

    持续集成(CI:Continuous Integration) 持续集成,强调在开发人员提交代码后,立即对代码进行单元测试与构建,根据执行结果,我们可以确定新代码与旧代码是否...

  • 120
    敏捷开发&瀑布模式

    敏捷开发 以用户模糊需求的演变为核心,追求以最简单的方式解决问题,而不是贪婪的拓展能力。如果不需要这项功能,那就不要在模型中增加它。 这是一种增量式的开发,在初期用户就可以看...

  • 120
    Jenkins使用

    1.创建并初始化jenkins项目1.1 首先创建gitlab项目,并在项目中新建jenkinsfile文件,文件内容参考https://www.jenkins.io/doc...

  • 120
    GIT多版本协作规范

    为什么要规范 GIT作为最常见的分布式版本控制软件,能够记录用户每一次的新增、删除与修改等操作,特别是当多位开发共同维护一套系统时,分布式版本控制就能体现出很大的优势。 但是...

  • aria2c

    工具下载 aria2c[https://github.com/P3TERX/Aria2-Pro-Core/releases/download/1.35.0_2021.02.1...

  • 120
    工作迷茫进阶

    邓宁-克鲁格心里效应 一个正常的学习过程: 不知道自己不知道 知道自己不知道 知道自己知道 不知道自己知道

  • Nginx参数

    Nginx配置文件由三个模块组成,即:全局块、events块、http块 全局快 events http locationroot: 表示请求资源的真实路径,比如 locat...

  • defer

    多个defer 在一个函数内定义多个defer,则其遵循类似 后进先出 的原则,最后定义的defer最先执行 defer在return之前执行 输出结果为:

  • Postgres - 草稿

    隔离级别 Read Uncommitted:不会出现脏读 Repeatable Read:不会出现幻读 多版本并发控制即意味着每个SQL语句看到的都是一小段时间之前的数据快照...

  • 问题记录:Golang判断interface为nil

    interface类型的错误判断 对于interface类型的数据,建议不要通过简单的interface == nil进行判断,否则会出现误判。 即使该interface类型...