C++ LLVM生成测试覆盖率
测试覆盖率是衡量软件测试质量的一个重要指标,它表示在运行测试用例时,被执行到的代码占总代码数的百分比。通过测试覆盖率,我们可以评估测试集对源码的覆盖程度及潜在漏洞。
本文将介绍两种使用LLVM实现C++测试覆盖率的方法:
- 方案1 使用lcov和llvm-cov将gcda文件转换为lcov.info文件。
- 方案2 使用grcov。
Rust单元测试完成后自动执行覆盖率测试
在本文将探讨如何在Rust项目中自动完成单元测试并执行覆盖率测试。我们将使用rust-analyzer插件、配置.vscode/settings.json文件以及编写一个Python脚本变相实现cargo命令的hook。最终效果按下“Run Test”按钮后自动完成单元测试及覆盖率测试,实现搭配Coverage Gutters插件实时显示覆盖率结果。

小米音频眼镜与Bose音频眼镜实际体验
作为一个对VR、AR和可穿戴设备充满浓厚兴趣的人,我一直关注着这些领域的发展。本人有耳朵方面的小问题,受医生建议不要长时间佩戴耳机,因此音频眼镜对我来说属于刚需。在此次评测中,我将从音质、漏音、便携性、续航、蓝牙功能、通话质量、佩戴舒适度、外观、防水等级、充电线、操作体验等方面对Bose音频眼镜和小米音频眼镜进行分析并比较。
Bose智能音频眼镜2020年8月14日购于线下官方店,佩戴2年9个月。
小米音频眼镜官方名称叫做MIJIA智能音频眼镜,购于小米有品众筹。2023年5月1日收到货,佩戴13天。
买小米眼镜的原因是Bose眼镜续航太短,听歌3个小时就没电了,只能用一个早上,所以买小米的轮班。

CUDA Toolkit 11.7、11.8与12.1官方下载地址
随着GPU计算能力的不断提升,CUDA(Compute Unified Device Architecture)已经成为了并行计算领域必不可少的工具。NVIDIA推出新版本的CUDA Toolkit时,开发者需要关注其下载地址。本文将向大家介绍CUDA Toolkit 11.7、11.8和12.1的官方下载地址。
- CUDA Toolkit 11.7: https://developer.nvidia.com/cuda-11-7-0-download-archive
- CUDA Toolkit 11.8: https://developer.nvidia.com/cuda-11-8-0-download-archive
- CUDA Toolkit 12.1: https://developer.nvidia.com/cuda-downloads
AI谈编程语言(Rust、Go、TS、Python)
在ChatGPT等AI大模型流行前2年,我的代码就已经有超过50%是AI辅助编程情况下完成的。之所以AI编程有那么大的占比,是因为我的开发基于低代码DSL,编程过程中存在很多“套路”,因此我的开发效率通常是同类型任务开发者的2-6倍(效率与具体工作内容密切相关)。

上图为2022年使用Tabnine辅助编程中,AI自动完成的代码占比情况。
由于ChatGPT对中文注释的理解能力更强,目前我已经由团队版Tabnine切换为Github免费提供给我使用的Github Copilot,效率只增不减。
现今AI辅助编程大行其道,我们再也不用纠结于专精某一门编程语言了。毕竟编程语言设计之初就是为了人类更好的和计算机沟通,如今很多事情可以在AI帮助下快速完成,在掌握主流算法和基础数据结构的基础上,我们可以自由选择对应场景所适合的编程语言,提高效率的同时最大化利用语言优势。
Vue3对接ChatGPT4接口(打字机效果)
本篇文章将介绍如何在 Vue3 中实现与 ChatGPT4 API 的对接。具体的后端 API 对接方式,还请参考这篇文章:《对接ChatGPT3.5/4的API实现打字机效果》。
对接ChatGPT3.5/4的API实现打字机效果
回一个完整的对话文本。我们将介绍一个 Node.js 服务器和一个 HTML 页面的示例代码,这两个组件通过 HTTP 请求和 SSE(Server-Sent Events)协议连接,并实现了基于流式 API 的长时间运行的聊天功能。
对接ChatGPT3.5/4接口本身很简单,但是实现stream以打字机效果展示并且实现自动长回复,不少小伙伴遇到问题,特整理了一份3.5接口开放当天用于临时验证的示例代码供学习参考(千万不要用于生产环境)。
强行修改笔记本风扇转速的方法
在这篇文章中,我们将讨论如何通过修改EC寄存器来调整笔记本电脑的风扇转速。请注意,本文 不会给出直接的解决方案 ,而是提供解决问题的思路和大致方法。对于了解这些概念的用户,他们应该能够知道如何具体实现。对于不熟悉这些知识的用户来说,尝试进行相关操作可能存在很大的风险。
进行操作前,请务必备份当前EC寄存器的值,并确保具备拆机、断电和恢复BIOS的动手能力。
解决pnpm (ERR_INVALID_THIS)异常 Node.js 20
在Node.js 20版本中,你可能会遇到如下异常:
WARN GET https://registry.npmjs.org/chatgpt/-/chatgpt-5.0.10.tgz error (ERR_INVALID_THIS). Will retry in 10 seconds. 2 retries left.
为了解决这个问题,你只需要升级到pnpm v8.3.1或更高版本。可以通过以下命令安装并激活指定版本的pnpm:
corepack prepare pnpm@8.3.1 --activate
解决VSCode Ctrl + . 快捷键被占用
在日常使用Visual Studio Code (VSCode) 的过程中,你可能会遇到Ctrl + .快捷键被占用的问题。这个快捷键在VSCode中本来是用于快速修复(Quick Fixes)的,但有时可能会失效。究其原因,与输入法的中/英文标点切换快捷键冲突有关。本文将为你提供一种解决方法。
问题原因
- 微软拼音输入法 :微软拼音输入法中,中/英文标点切换的快捷键为
Ctrl + .,与VSCode的快速修复快捷键冲突。 - 微信键盘输入法 :在微信键盘输入法中,“中文时使用英文标点”的功能也占用了
Ctrl + .快捷键,同样导致冲突。
hi~
哈喽 轶哥大佬
win11 24H2 26100.2605 ,按照如下修改成功:
Search: 8B 81 38 06 00 00 39 81 3C 06 00 00 75 Replace: B8 00 01 00 00 89 81 38 06 00 00 90 EB
老师你好,我希望能用一个openwrt路由器实现IPv4和IPv6的桥接,请问我该如何实现?我尝试了直接新增dhcpv6的接口,但是效果不甚理想(无法成功获取公网的ipv6,但是直连上级路由的其他设备是可以获取公网的ipv6地)
你好
,为什么我这里是0039 813C 0600 0075 16xx xx xx,只有前6组是相同的,博客中要前8位相同,这个不同能不能照着修改呢?我系统版本是Win1124H2