首页
Mrhan Blog
取消

Clickhouse 数据库源码分析

0x1 初识LLVM-为什么学?

计算思维

计算思维: 合理抽象、高效算法 特点: 概念化的,不是程序化的 基础的,不是器械的技能 人的思维,不是计算机的 数学和工程思维的互补和融合 面向所有人,所有地方 是思想,不是人造品 计算思维最根本内容:抽象 (Abstraction)、自动化 (Automation)

CI/CD

1. CI/CD Continuous Integration/Continuous Deployment 是一种持续集成和持续部署的软件开发方法论。 它的目标是通过自动化的方式来加快软件开发和交付过程,同时保证软件质量和稳定性。 具体来说,CI/CD包括以下几个步骤: 持续集成(CI): 开发人员在提交代码到代码仓库后,自动触发编译、测试和代码静态分析等过程,以确保代...

Gitlab Runner 安装教程

1. Gitlab Runner 在极狐GitLab 中,runners 是运行 CI/CD 作业的代理。 您可能已经有可用于您的项目的 runner,包括共享 runner,它们可用于您的实例中的所有项目。 要查看可用的 runner: 转到 设置 > CI/CD 并展开 Runners。 只要您至少有一个有效的 runner,旁边有一个绿色圆圈,您就有一个 runner 可...

Gitlab CI/CD

1. Gitlab CI/CD 关于CI/CD的理论概念可以查看前面这篇文章: CI/CD,详细的 gitlab ci/cd 配置可查看gitlab 官网文档 如果需要使用到gitlab ci/cd 功能,则需要在代码仓库中创建一个 .gitlab-ci.yml 配置文件,用来描述在何时 采用 什么方式 进行 持续集成和构建 .gitlab-ci.yml 简单的例子: # 构建...

部署Nexus 私有仓库

1. 概述 在单位项目开发的过程中,不同模块存在于不同代码仓库中,难免不了存在模块之间的依赖。 例如: 有如下项目, 有如下业务模块 user-module: 用户基础信息管理 order-module: 负责管理订单信息 message-module: 负责消息通知 user-module message-module order-module

Clickhouse 基于表引擎去重

问题是这样的,线上有个任务系统,这个系统会主动采集大量数据进行处理分析。采集的范围和目标是可根据用户实际需要而发生改变的。系统上的采集任务支持周期性定时采集。 将每一次的数据采集给存放到数据库中,将所有采集的数据进行汇总暂时,例如: 两次采集的目标一样,进行更新,展示最后一条 。目前使用的是Clickhouse 作为数据库的存储方案。 1. 现有方案 create table t_...

GCC 编译参数

1. 常用GCC编译器参数 参数 说明 实例 描述 -o 输出指定名称的文件 gcc -o tool mian.c 编译输出名称为tool的目标文件 -Wall 启动所有警告 gcc -o ...

Makefile 说明

1. 概述  makefile文件描述了人C/C++工程的编译规则,它根据我们事先写好的MakeFile文件,自动化编译C/C++项目。 一个大型项目的源文件可能多达千个,他们按照功能、模板、类型 分别放在不同目录中,通过Makefile 定义了一些列规则, 指明了源文件的编译顺序、依赖关系、是否需要重新编译。 1.1 为什么要用Makefile 通常我们在开发c/c++程序的过程中...