golang 开发小工具

3 月 31 日
阅读 2 分钟
325
{代码...}

验证签名方法 go

3 月 31 日
阅读 3 分钟
284
{代码...}

Redis 中 分布式锁的使用

3 月 31 日
阅读 1 分钟
154
github.com/cr-mao/goredislock package {代码...}

Get 与Post请求示例

3 月 31 日
阅读 1 分钟
148
{代码...}

Redis 延迟队列的使用

3 月 31 日
阅读 2 分钟
229
主要参考 [链接] 包 {代码...}

linux 安装 golang

2023-12-14
阅读 1 分钟
476
{代码...}

Clickhouse-client 安装

2023-12-08
阅读 1 分钟
358
建议使用Debian或Ubuntu的官方预编译deb软件包。运行以下命令来安装包: {代码...} 参考文章: [链接]

ffmpeg 去水印以及切分视频

2023-11-20
阅读 2 分钟
411
{代码...}

海外移动端转化归因

2023-10-17
阅读 1 分钟
460
移动端转化归因是指由于移动端 App 从广告点击,到 App 下载安装过程的非连续,导致该环节数据无法直接追踪,所以需要一套机制来判断用户的App下载激活行为是由哪个推广活动带来的实际转化,该机制即为转化归因。

Clickhouse 新建分布式表以及本地表

2023-10-12
阅读 3 分钟
713
Canal-Server完成binlog的解析,并且将解析后的json写入Kafka;Canal-Server可以根据正则表达式过滤数据库和表名,并且根据规则写入Kafka的topic;ClickHouse使用KafkaEngine和Materialized View完成消息消费,并写入本地表;image.png

gin自定义中间件解决requestBody不可重复读问题

2023-10-10
阅读 1 分钟
430
使用中间件,注意,这个中间件,需要在第一个执行。参考 其它方式: [链接] {代码...}

go-redis 封装使用

2023-08-03
阅读 9 分钟
1k
{代码...}

分布式锁的实现

2023-06-17
阅读 1 分钟
957
由于 setnx 这个指令本身无法设置超时时间,所以一般会采用两种办法来做这件事:1、采用 lua 脚本,在使用 setnx 指令之后,再使用 expire 命令去给 key 设置过期时间。 {代码...} 2、直接使用 set(key,value,NX,PX,timeout) 指令,同时设置锁和超时时间。 {代码...} 以上两种方法,使用哪种方式都可以。释放锁的脚本两...

Go中Gzip 与 json 搭配使用压缩数据

2023-05-24
阅读 2 分钟
1.6k
在日常工作中,如果遇到数据量大的情况,在db中是不能直接存储某些字段的,一般会用json进行marshal为 byte存入。但是如果此时占用空间依旧过大,则可以考虑再用gzip 还进一步压缩。

go websocket 使用

2023-04-26
阅读 2 分钟
711
github => [链接]文档: [链接][链接] {代码...} 使用melody三方库github: [链接] {代码...}

Gin渲染 html代码

2023-04-26
阅读 3 分钟
765
Gin渲染html代码,参考文档:[链接]后端代码: {代码...} templates/index.html 代码 {代码...}

Clickhouse MergeTree系列

2023-03-17
阅读 2 分钟
1.2k
1、AggregatingMergeTree继承自 MergeTree,存储上和基础的MergeTree其实没有任何差异,而是在数据Merge的过程中加入了“额外的合并逻辑”,AggregatingMergeTree 会将相同主键的所有行(在一个数据片段内)替换为单个存储一系列聚合函数状态的行。以文章开头部分的表结构为例,使用AggregatingMergeTree表引擎的建表语句如下:

数据分层

2023-03-06
阅读 2 分钟
639
一、数据运营层ODS数据运营层:Operation Data Store 数据准备区,也称为贴源层。数据源中的数据,经过抽取、洗净、传输,也就是ETL过程之后进入本层。

一个账号能同时登录若干台设备终极方案

2023-02-27
阅读 1 分钟
937
1、一个账号在登录的时候,都给其分配一个token. token在 redis中的对应关系是【key: token , vaule: userId】(使用Redis字符串类型保存),然后userId在 redis中的对应关系也还是【key: userId , value: userInfo】(使用Redis有序集合来保存).但是 userInfo 里面不再是用户的基本信息了,这里面需要增加一个属性 loginToken...

ClickHouse 使用 EXPLAIN 分析 SQL 执行计划

2023-02-13
阅读 1 分钟
1.3k
1.EXPLAIN AST: 用于查看抽象语法树(Abstract Syntax Tree)。支持查看所有类型的语句,不光是SELECT语句。2.EXPLAIN SYNTAX: 查询经过AST层优化后的 SQL 语句;3.EXPLAIN PLAN: 用于查看执行计划(Execution Plan),等价于直接使用EXPLAIN

如何在Golang中为字符串添加单引号?

2023-01-13
阅读 1 分钟
1.7k
我在Go中有一个字符串切片,我想将其表示为逗号分隔的字符串。这是切片 {代码...} 如何输出字符串 'apple', 'Bear', 'kitty' {代码...}

golang sql 转 struct 插件实现

2022-10-20
阅读 16 分钟
2.2k
写go curd的时候,经常需要sql 转 struct,比较麻烦,写个自动转换的代码:main.go {代码...} tableTostruct.go 代码: {代码...} 目录结构截图:转换的struct: {代码...}

Clickhouse 查询去重

2022-10-19
阅读 1 分钟
5.8k
1、select语句+final的话,会对表的order字段进行排序去重。注意主键要加上分区字段(虽然跨分区不会去重,但select会合并结果)(试验过)。

go 泛型的使用

2022-10-19
阅读 1 分钟
726
泛型参考文章: [链接] {代码...}

Cobra Command 详解

2022-10-19
阅读 1 分钟
917
参考:[链接]

Golang 遍历日期(参数:开始日期和结束日期)

2022-10-19
阅读 2 分钟
2.1k
输出:一个string array 包含着所有遍历过的时间day 的话是开始和结束中的所有日期("2022-07-14")month 则是所有月份("2022-07")

组件

2022-10-09
阅读 1 分钟
1.4k
系统平台 (Hadoop、CDH、HDP)监控管理 (CM、Hue、Ambari、Dr.Elephant、Ganglia、Zabbix、Eagle)文件系统 (HDFS、GPFS、Ceph、GlusterFS、Swift 、BeeGFS、Alluxio)资源调度 (YARN、Mesos、)协调框架 (ZooKeeper 、Etcd、Consul)数据存储 (HBase、Cassandra、ScyllaDB 、MongoDB、Accumulo 、Redis 、Ignite...

docker 安装 clickhouse

2022-09-27
阅读 1 分钟
729
如果出现 Err:2 [链接] focal-security InRelease Temporary failure resolving 'security.ubuntu.com' 问题

Hbase 基本理解

2022-09-27
阅读 2 分钟
1k
HBase的数据模型: HBase本质上其实就是Key-Value的数据库.HBase中是有表的概念的一个表中可以包含多个列族一个列族可以包含很多的列每一个列对应的单元格(值、timestamp)