GIT 六月 30, 2024

【转】10.3 Git 内部原理 - Git 引用

文章字数 6.3k 阅读约需 6 mins.

如果你对仓库中从一个提交(比如 1a410e)开始往前的历史感兴趣,那么可以运行 git log 1a410e 这样的命令来显示历史,不过你需要记得 1a410e 是你查看历史的起点提交。如果我们有一个文件来...

查看全文

WEB 六月 23, 2024

Web Speech API 之 Speech Synthesis

文章字数 11k 阅读约需 10 mins.

Speech synthesis(语音合成,也被称作是文本转为语音,英语简写是 TTS)包括接收 app 中需要语音合成的文本,再在设备扬声器或音频输出连接中播放出来这两个过程。

Web Speech API 对此有一个主要控制接口 —— SpeechSynthesis ,外加一些处理如何表示要被合成的文本 (也被称为 utterances),用什么声音来播出 utterances 等工作的相关接口。同样的,许多操作系统都有自己的某种语音合成系统,在这个任务中我们调用可用的 API 来使用语音合...

查看全文

AI 六月 16, 2024

【译】向量搜索的相似度度量

文章字数 7.4k 阅读约需 7 mins.


你不能比较苹果和橙子。或者你可以吗?像 Milvus 这样的向量数据库允许你比较任何你可以向量化的数据。你甚至可以在你的 Jupyter Notebook 中做到这一点。但是 向量相似性搜索 是如何工作的呢?

向量搜索有两个关键的概念组成部分:索引和距离度量。一些流行的向量索引包括 HNSWIVFScaNN。主要的三种距离度量是:L2 或欧几里得距离、余弦相似度和...

查看全文

BOOK 六月 09, 2024

《实现领域驱动设计》书摘

文章字数 28k 阅读约需 26 mins.

豆瓣评分 8.4

一种能够支撑限界上下文的架构是六边形(Hexagonal)架构,它可以辅助其他架构风格,比如面向服务(Service-Oriented)架构、REST和事件驱动(Event-Driven)等。六边形架构如图G.3所示

在领域模型中,有些业务操作并不能自然地放在实体或值对象上,此时我们可以使用无状态的领域服务(Domain Service,7),如图G.5所示。

就个人来讲,我时刻都在准备着学习,但是我并不喜欢被人教。

“准确传达业务规则”的意思是说,此时的软件就...

查看全文

AI 六月 02, 2024

Vanna 离线环境部署

文章字数 7k 阅读约需 6 mins.

Vanna 是一个 MIT 许可的开源 Python RAG(Retrieval-Augmented Generation)框架,可以用来以对话形式与 SQL 数据库交互。

Vanna 提供两种使用方式:

  1. 代码调用,如 vn.ask("What are the top 10 customers by sales?")
  2. 基于 Flash 的 Web 应用

工作原理

Vanna 的工作原理与通常的 RAG 原理类似,即:

  1. 先将数据库表的元数据信息、DDL 语句、SQL 查...
查看全文

MAC 五月 26, 2024

给 Mac 上一个保险

文章字数 2.4k 阅读约需 2 mins.

如果你体会过在 Mac 上手残 rm -f 了一个重要的文件的痛苦,可以试试 trash

安装 trash 命令:

brew install trash

然后将下面的命令添加到 ~/.bashrc~/.zshrc 文件中:

alias rm='/usr/local/bin/trash -F'

这样,以后使用 rm 命令删除文件时,文件会被移动到回收站(并且可以在回收站使用“放回原处”功能),而不是直接删除。

trash 是一个 MIT 协议的开源命令行工具,可将文件或文件...

查看全文

PYTHON 五月 19, 2024

使用 modelscope 在离线环境部署模型服务关键点

文章字数 8k 阅读约需 7 mins.

在 ModelScope 的 本地启动服务 文档中,介绍了使用 modelscope server 发布模型服务的方法。
简单来说,就是执行如下命令:

modelscope server --model_id=qwen/Qwen-7B-Chat --revision=v1.0.5

但在离线环境中使用上述命令时,可能会遇到各种问题。本文以使用 modelscope 最近的(2024-04-27)发布版本 v1.14.0 为例,介绍在离线环境中部署模型服务的关键点。

共有如下五个关键点需要注意:

  1. 模...
查看全文

PYTHON 五月 12, 2024

识别旋转验证码图片角度

文章字数 6.2k 阅读约需 6 mins.

简单聊聊旋转验证码攻防 中介绍了一些旋转验证码的攻防思路,并提供了 rotate-captcha-crack 实现。

README 文档的 Prepare 部分提到需要支持 CUDA10+ 的设备(GPU),经实测,在 Windows CPU 环境下也可使用,且性能基本满足需求。

为在 Windows CPU 环境执行 test_captcha.py 脚本验证旋转角度预测效果,以及通过 server.py 发布 HTTP 服务,需对仓库中代码进行以下 调整

diff --git a/rotate_captcha_...
查看全文

MAC 五月 05, 2024

MacOS 实现自动切换鼠标滚动方向

文章字数 7.8k 阅读约需 7 mins.

想在 macOS 上实现如下效果:

  1. 连接了(非 Magic Mouse)鼠标时,系统自动切换鼠标滚动方向为“非自然”;
  2. 断开鼠标连接时(使用触控板),系统自动切换鼠标滚动方向为“自然”。

注:本文使用的脚本在 macOS Monterey 12.7.4 上测试通过,其他系统版本可能存在一些差异。

切换滚动方向为 “自然”

scroll-direction-trackpad.applescript

tell application "System Preferences"...
查看全文

SPRING 四月 27, 2024

【译】如何在 Spring 中将 @RequestParam 绑定到对象

文章字数 8.1k 阅读约需 7 mins.

你的请求映射方法中是否有多个用 @RequestParam 注解的参数?是否感觉它们影响了易读性?

当请求只有一两个入参时,这个注解看起来非常直观,但是当参数列表变长时,你可能会感到不知所措。

你不能在对象内部使用 @RequestParam 注解,但这并不意味着你没有其他解决方案。在这篇文章中,我将向你展示 如何在 Spring 应用中将多个请求...

查看全文
加载更多
0%