William A

最新文章

用 composer 将 packagist 第三方库变成本地库

之所以有这个想法,是因为部分第三方库版本约束没有做好,导致版本不匹配的库也可以安装,库版本不兼容到运行时才得以暴露,影响很大。 以workerman/mqtt为例,2.1版本跟workerman/workerman:^4.0是不兼容的,但 composer.json 的require是"workerman/workerman" : "^4.0 | …

用 if 和 goto 模拟 switch

很多编程语言都会有switch语句。switch作为选择语句的一种,也是可以用if-else语句来表示。在实现了switch的大部分编程语言中,通常跟break跳转语句配合来进行控制,其一般语法如下: switch (expression) { case constant1: statements1; break; case constant2: statements2; break; . . . …

用 Python 搭一个本地 AI 知识库

本文使用的技术栈为python+qdrant(docker 镜像)+ollama(使用嵌入模型 bge-m3)+deepseek(兼容 openai 接口)。如果连大模型都想用本地部署的,只需要用ollama再下载个deepseek大模型,将配置改成本地即可。 预先启动向量数据库及嵌入模型服务。 $ docker run -d -ti -p 6333:6333 qdrant/qdrant # 启动 …

用原始方法打包一个 macOS 下的 GTK 桌面程序

一直都写服务端,对计算机的运行原理有了一定了解,就想看看自己对其它领域程序的理解是不是可以举一反三。 最简单的GTK程序就是官网入门示例了,安装GTK的过程就不在这描述。代码如下: // hello.c #include <gtk/gtk.h> static void print_hello (GtkWidget *widget, gpointer data) { g_print …