DuckDB是一款集轻量级、高性能于一体的嵌入式分析型数据库。在单机内存不断增大以及 SSD 存储逐渐普及的背景下,大部分数据处理工作可以在单机上完成,且很多 OLAP(在线分析处理)场景也能在单机上进行。DuckDB 就是为了满足这种在单机环境下进行高效数据分析的需求而诞生的。它是荷兰 CWI 数据库组的一个项目,学术气息浓厚,架构清晰,适合学习和研究。
一、主要特点
- 安装:DuckDB 提供了多种安装方式,包括命令行安装(如在 Windows 上使用 winget 包管理器,在 macOS 上使用 Homebrew)、编程语言的库安装(如在 Python 中使用 `pip install duckdb`,在 Java 中通过添加依赖项来集成)等。
More... 
使用过WSL的都知道, Ubuntu22.04 LTS ,它作为Windows App默认被安装到了C盘。随着使用的时间越来越长,wsl占用的磁盘空间也越来越大。C盘很快就红了。现在我们来将wsl从C盘迁移到别的磁盘。
1.准备工作 打开CMD ,输入wsl -l -v查看wsl虚拟机的名称与状态。
PS C:\Users\Laptop> wsl -l -v                                                                                                                                                                                      
NAME            STATE           VERSION                                                                                                                                                                       
 * Ubuntu-22.04    Running         2        了解到本机的WSL全称为Ubuntu-22.04,以下的操作都将围绕这个来进行。
More... 
QUIC 的大多数杀手级功能都不明显或没有记录在案。 是时候改变这种状况了。
基础知识 
在我们介绍高级内容之前,我们需要介绍基础知识。
愤怒的诱饵,但这是真的 
 
 
 
More... 
Monica 是由 GPT-4 驱动的人工智能助手,现在注册赠送你 100 个免费 GPT 次数,包括 GPT-4,GPT-3.5,AI 画图。 https://monica.im/?c=Q1WKG1YR 
More... 
  Linux是开源操作系统,有很多软件包需要从国外网站上下载,而其中大部分国外网站是被墙的,这时我们需要通过代理来访问这些网站。下面我们介绍Linux bash shell终端代理设置方法,包括socks代理,http代理。
一、linux shell终端代理设置方法: 
  linux要在shell终端为http、https、ftp协议设置代理,值需要设置对应的环境变量即可。下面是一些关于代理的环境变量:
More... 
yum 源准备
More... 
milvus是一个强大的向量数据库,详细介绍可以看   Milvus 2.0 新版本一览:重新定义向量数据库 
在使用go访问milvus的过程中,发现milvus-go-SDK的相关的接口设计实现比较原始,在使用的过程中,
感觉原作者也是在使用SQL的思路来设计接口,但并没有提供SQL的接口,
于是简单的尝试了下,想通过sql词法解析,再转换成milvus-go-SDK来访问milvus,
简单的实现了基本的SQL的select来查询milvus, 后面可以添加其它的语句支持.
建立了一个开源项目 https://github.com/0xsky/sqlmilvus
More... 
linux下使用docker 安装 milvus命令记录
More... 
dockerfile 是一种可以被 docker 程序解释的脚本,由一条条指令组成。通过编写 dockerfile 可以做到:
定制化 docker 镜像。 
整合下载镜像、启动容器、编辑可写层等等操作,可重复构建,提升效率。 
随时维护、修改、分享 dockerfile。 
 More... 
Milvus 是什么 
Milvus 是一款开源的向量数据库,支持针对 TB 级向量的增删改操作和近实时查询,具有高度灵活、稳定可靠以及高速查询等特点。Milvus 集成了 Faiss、NMSLIB、Annoy 等广泛应用的向量索引库,提供了一整套简单直观的 API,让你可以针对不同场景选择不同的索引类型。此外,Milvus 还可以对标量数据进行过滤,进一步提高了召回率,增强了搜索的灵活性。
More... 
什么是 MinIO? 
Minio 是个基于 Golang 编写的开源对象存储套件,基于Apache License v2.0开源协议,虽然轻量,却拥有着不错的性能。它兼容亚马逊S3云存储服务接口。可以很简单的和其他应用结合使用,例如 NodeJS、Redis、MySQL等。
More... 
什么是Prometheus? 
Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本。
Prometheus的特点 
More... 
https://github.com/xwb1989/sqlparser   
来自Vitess的SQL词法解析器, 被单独抽出来做为一个独立库,可以用来实现很多好玩的东西
Vitess使用SQL的词法解析来实现像数据自动分片这类功能.
sql := "SELECT * FROM test_table WHERE a = 'abc'"
stmt, err := sqlparser.Parse(sql)
if err != nil {
	// Do something with the err
}
// Otherwise do something with stmt
switch stmt := stmt.(type) {
case *sqlparser.Select:
	_ = stmt
case *sqlparser.Insert:
} 
More... 
1.概述--美观、强大的可视化监控指标展示工具
1.1基本概念
每个数据源的查询语言和能力都是不同的。你可以把来自多个数据源的数据组合到一个仪表板,但每一个面板被绑定到一个特定的数据源,它就属于一个特定的组织。
More... 
0x01 问题由来 
最近使用gRPC-Gateway实现一个GRPC的服务HTTP网关时,遇到一个数据类型转换的问题。
在PB中定义的类型为uint64字段,在通过http接口访问返回JSON结果到本地之后却是一个string类型.
 
0x02 原因分析 
为什么gRPC-Gateway要把int64转为string类型呢,他们的回答是遵循proto3的序列化规则,proto3的json-mapping中规定了int64/uint64/fixed64类型映射的json类型为string 。
 
文档 里的有的话是这样说的:
More... 
最近 ChatGPT 着实火了一把,据说 GTP4 也即将发布。现在Large Language Model(LLM )也受到了类似图像生成的 Stable Diffusion 那种高光时刻。
在之前我一直有一个错误的观念,认为谁掌握着计算能力,谁才能得到最好的AI模型。直到 Facebook 2023 年二月 24 号发布了论文“LLaMA: Open and Efficient Foundation Language Models ”。粗略阅读之后,我才知道原来在一个限定的预算下,大参数模型并不如小参数模型用更多的数据进行训练。
当前,许多 AI 模型都依赖 CUDA,比如 nanoGPT ,这也就意味着必须有 NVIDIA 的 GPU来训练和运行。有这样的硬件限制,对于我这种只是想初步了解一下 LLMs 的一些基本概念的业余爱好者变成了一个比较高的门槛。
More... 
使用MYSQL8对 California Housing 加利福尼亚的房价数据集,进行统计分析
More... 
解协议:
More... 
Shared Memory Concurrency Roadmap 
过去很多年, 单核处理器性能基本沿摩尔定律的预测不断提速. 然而, 设计上越来越复杂, 也越来越接近物理极限, 引起了生产成本和功耗的增大, 性价比降低. 2005年前后, CPU制造商, 开始从原来提升单核处理器的ILP(instruction-level parallelism), 转向在单个芯片上增加核数, 挖掘multicore processor的性能[1].
目前, 市面上, 商用廉价或高端服务器, 一般都采用shared memory multicore multiprocessor. 高端服务器有几十~几百core, 几百GB甚至上TB的内存. 例如: Intel® Xeon® Processor E7-8894 v4支持8 socket * 24 core, 3.07TB内存[2]. 服务器提供了强大处理的能力, 可将系统dataset(比如in-memory database)可以全驻于内存, 采用multi-threaded编程, 共享地址空间, 提升计算性能[3][4].
shared memory concurrency涉及三个方面: parallelism, performance和correctnesss.
More... 
到现在,我已经做了超过 21 年开发,可以说,我生命中超过一半的时间都在编程,那既是我的职业,也成了我的习惯。
下面是我在开发过程中学到的 10 条最有价值的经验。
1 你永远不可能什么都知道 
尤其是在开始的时候,我以为我什么都能学会,在开发生涯的大部分时间里,我都是这样想的。但是,每次我学了什么新东西,就打开了一个全新的世界,里面有不同的概念和技术。
那似乎很有吸引力,你很愿意尝试,希望把什么都学会,但这是一个没有终点的旅程。如果要学的话,总是有其他的库、框架以及其他很酷的东西可以学。
因为似乎永远无法达成自己的目标,所以最终你的热情会慢慢冷却。最好是立足于你最擅长的东西,然后因需而学,即在真正需要的时候才学习新东西。这可以让你保持清醒,维持学习的动力。
你还可以把这一点应用在任何其他的领域。不是什么都知道才能达成预期的结果。利用这一点来打造自己的优势,在需要的时候学习。
More... 
rd_kafka 的常见发布和订阅配置选项的整理。这些选项可以用于设置 Kafka 生产者(发布者)和消费者(订阅者)的行为和属性。
发布者配置选项: 
bootstrap.servers:Kafka 集群的地址列表,用于引导连接。
rd_kafka_conf_set(conf, "bootstrap.servers", "localhost:9092", errstr, sizeof(errstr)); 
 
 
More... 
         C/C++等底层语言在提供强大功能及性能的同时,其灵活的内存访问也带来了各种纠结的问题。如果crash的地方正是内存使用错误的地方,说明你人品好。如果crash的地方内存明显不是consistent的,或者内存管理信息都已被破坏,并且还是随机出现的,那就比较麻烦了。当然,祼看code打log是一个办法,但其效率不是太高,尤其是在运行成本高或重现概率低的情况下。另外,静态检查也是一类方法,有很多工具(lint, cppcheck, klockwork, splint, o, etc.)。但缺点是误报很多,不适合针对性问题。另外好点的一般还要钱。最后,就是动态检查工具。下面介绍几个Linux平台下主要的运行时内存检查工具。绝大多数都是开源免费且支持x86和ARM平台的。
首先,比较常见的内存问题有下面几种:  More... 
关于开源图书 有热心的伙伴和网友在网络上做了大量整理,本文为大家刊载免费编程类中文开源电子书合集全集,转载自 LinuxStory
暂无同学编辑和校对的文章 https://linuxstory.org/free-chinese-programming-books/ ,(原始 GitHub 地址:https://github.com/justjavac/free-programming-books-zh_CN )转载的原因是未来开源工场的小伙伴会就这个 repo 和话题做更加细致的整理,包括技术类、非技术类等等,希望帮到更多的小伙伴。如果你有兴趣一起做这件事情,请考虑联系工场电报群管理员或者 QQ 群群主。
书山有路勤为径,学海无涯苦作舟!
开源不仅局限于软件领域,开源同样意味着自由选择的权利和对知识开放的追求
 
 
 
More... 
FFMPEG 可以使用下面的参数进行基本信息查询。例如,想查询一下现在使用的 FFMPEG 都支持哪些 filter,就可以用 ffmpeg -filters 来查询。详细参数说明如下:
参数 说明
-version 显示版本。
-formats 显示可用的格式(包括设备)。
-demuxers 显示可用的demuxers。
-muxers 显示可用的muxers。
-devices 显示可用的设备。
-codecs 显示libavcodec已知的所有编解码器。
-decoders 显示可用的解码器。
-encoders 显示所有可用的编码器。
-bsfs 显示可用的比特流filter。
-protocols 显示可用的协议。
-filters 显示可用的libavfilter过滤器。
-pix_fmts 显示可用的像素格式。
-sample_fmts 显示可用的采样格式。
-layouts 显示channel名称和标准channel布局。
-colors 显示识别的颜色名称。
More... 
作者先简单介绍 Redis 6 会给大家提供的新功能,包括:
一、对用户使用有直接影响的功能 
ACL用户权限控制功能 
RESP3:新的 Redis 通信协议 
Cluster 管理工具 
SSL 支持 
 
二、Redis 内部的优化 
IO多线程支持 
新的Module API 
新的 Expire 算法 
 
三、外部工具 
Redis Cluster Proxy 
Disque 
 
More... 
在CCleaner中点击注册表,在注册表清理中勾选所有,之后点击扫描问题,然后点击修复选定的问题,重复多次此步骤,直到出现没有发现问题 
然后重装就OK了 
More... 
矩阵规范 
Matrix定义了一组用于分散通信的开放API,适用于通过全局开放式服务器联合安全发布,持久化和订阅数据,而无需单一控制点。用途包括即时消息(IM),IP语音(VoIP)信令,物联网(IoT)通信以及将现有通信孤岛联系在一起 - 为新的开放式实时通信生态系统提供基础。
More... 
改善程序与设计的55个具体做法(第3版) 的读书笔记
More...