240 发简信
IP属地:北京
  • ruby并发编程

    ruby并发编程一般使用Thread实现,但是Thread默认使用时通过共享内存的使用的,即在子线程和主线程(或其他子线程)是get/set同一套变量的,不使用锁则会因数据竞...

  • 120
    SelectDB

    什么是SelectDB SelectDB是基于Apache Doris 研发的,基于 MPP 架构[https://developer.aliyun.com/article/...

  • kratos

    install kratos upgrade kratos upgrade 安装依赖 make init 如果 生成的grpc代码是SupportPackageIsVersi...

  • 120
    LSM Tree与go-leveldb

    LSM Tree,即日志结构合并树(Log-StructuredMerge-Tree)。LSM tree 之所以有效是基于以下事实:磁盘或内存的连续读写性能远高于随机读写性能...

  • 120
    bleve源码解析 - index mapping

    bleve是golang实现的一个全文索引库,类似lucene官方使用示例: 我们先来看看他的类型 TypeMapping:它是一个字符串到DocumentMapping指针...

  • 120
    puma源码解析-cluster

    流程解读 Puma 进程(可以有一个或多个)通过 Reactor类中的线程来接受来自套接字的连接。连接一旦完全缓冲并读取,就会移到 todo 列表中,可用的线程会从那里拾取它...

  • 120
    软件架构设计与模式之:事件溯源与CQRS架构

    事件溯源(Event Sourcing) 事件溯源是一种软件架构模式,它将数据存储为一系列有序的事件,而不是直接存储当前状态。每个事件都包含一个操作和它所产生的影响。通过回放...

  • 120
    软件架构设计与模式-幂等性设计及实现

    幂等是来源于数学中的一个概念,用数学语言表达就是 f(x)=f(f(x)),在计算机中幂等性指的是一个操作多次执行的结果与其执行一次的结果相同。 设计具有幂等性的分布式系统可...

  • arel学习-1

    一、什么是arelarel是一个ruby实现的关系代数,用于简化复杂查询,适应多种关系数据库,目前已集成到active-record中。二、具体用法1 怎么运行 生成sql:...

  • pytesseract

    一、安装 安装tesseract:brew install tesseract 安装python包:pip3 install pytesseract 下载中文模型:下载 h...

  • 120
    ruby c扩展 - travel between ruby and c

    什么是ruby c扩展? 我们知道,我们调用的ruby方法,很多都是由c实现的: 上图所示,String类的定义,他的方法都是由c实现的;使用类似的方法我们也可以用c语言实现...

  • 120
    cache

    什么是缓存 缓存就是数据交换的缓冲区(称作Cache),是存贮数据(使用频繁的数据)的临时地方。有cpu缓存、文件系统缓存、应用层缓存等;今天讲的是应用层缓存:应用层缓存指的...

  • http参数传递

    get请求 get请求没有body(有的客户端支持,但浏览器一般不支持),蚕食都是放到url里传递的,经过URL编码 post请求 content-type 为 "appli...

  • kubernete

    什么是kubernete Kubernetes是一个可以移植、可扩展的开源平台,使用 声明式的配置[https://kuboard.cn/learning/k8s-inter...

  • shell三剑客

    awk、grep、sed是linux操作文本的三大利器,合称文本三剑客,也是必须掌握的linux命令之一。 正则表达式 POSIX正则表达式分为基本正则表达式(BRE)和扩展...

  • 120
    sidekiq源码解析

    client调用 perform 放入 queue 队列 perform_at,perform_async(alias方法) 以执行时间为score放入有序集合schedu...

  • rails守护进程

    rails s -p 16052 -druby script/server -p 16050 -d 启动守护进程后,当前路径变为 根路径/ ,所有相对路径的写法就会有问题(D...