首页
学习
活动
专区
工具
TVP
发布

jiajia_deng

专栏作者
383
文章
269190
阅读量
38
订阅数
合理的设置 libcurl 几种超时参数
使用 libcurl 发送 HTTP 请求时根据业务需求需要对不同场景设置不同的超时时间,但 libcurl 提供了多种使请求超时的机制,不同的机制有不同的使用场景,一旦使用错误或未进行正确配置可能会导致一些出乎意外的情况。
我与梦想有个约会
2023-12-22
5360
自定义 npm 包读取外部 npm install 时传入的命令行参数
正常情况下我们安装一个 npm 包只需要执行 npm install 或者 yarn 就可以了,这基本上都是在发布环境。当我们自定义的 npm 包需要在测试阶段根据环境动态设置一些参数时就显得有些麻烦了。如果能在 npm install 时传递一些参数来提供内部 npm 包读取就会变的比较方便。本文介绍如何通过 npm install 增加的命令行参数和 .npmrc 来动态配置自定义 npm 包的行为。
我与梦想有个约会
2023-10-21
2820
主流编辑器、IDE 开启 clang-format 自动格式化能力
clang-format 是 LLVM 下的一款代码风格格式化工具,它支持多种代码格式化风格,如:Visual Studio, LLVM, Google, Chromium, Mozilla, WebKit。团队中也可以根据配置定义自己的代码格式化风格保存到 .clang-format 配置文件中并放在项目工程目录下提供所有项目参与者使用,但如何让 .clang-format 工作起来呢?本文将讨论各类主流编辑器、IDE 是如何让 .clang-format 配置工作并且在代码粘贴或保存时自动进行格式化。
我与梦想有个约会
2023-10-21
5380
CMake 自动安装 git pre-commit hooks
在日常开发中,我们经常通过各类 IDE 工具来自动修正代码风格,但由于部分 IDE 工具与 clang-format 配合不是特别完善,导致保存或者按下分号、冒号以后代码自动格式化导致错乱,或者格式化时间过长等问题。这在日常开发中是很难让人接受的。 那么我们有没有办法在开发过程中不去让 clang-format 自动格式化,而是在提交代码时检查一次就够了呢?答案是可以的。Git 天生提供了 pre-commit hooks 能力,允许我们预设一些检查脚本在提交前做一些检查。手动编写脚本是比较麻烦的,而且不同开发者的不同环境适配也是棘手的问题。其实早就有人想到了这些事情,pre-commit 工具就是为这个而生的。
我与梦想有个约会
2023-10-21
2500
使用 Conan、CMake 组织跨平台 Qt 工程
创建 Qt 工程时,我们通常使用 Qt 提供的 Online installer 安装 Qt Creator 和 Qt 库来创建、编译、发布 Qt 项目,这对开发环境和 CI Agent 环境有较强的要求,一旦环境安装不对或者安装时缺少了一些组件,可能导致无法编译出产物。最近一段时间,Qt 也拥抱 Conan,使我们可以通过 Conan 管理 Qt 库,这样我们就可以真正实现一套 CMake 脚本来管理和发布 Qt 的应用了。以下我们将演示如何通过 CMake + Conan 来组织 Qt 工程和实现程序的发布流程。
我与梦想有个约会
2023-10-21
4630
Jenkins pipeline macOS agent 报错:cmake: command not found
在一台 macOS 的 anget 中,我们的 pipeline 脚本一直报错:cmake: command not found,但实际系统中已经通过 brew 安装过 cmake。并且在系统中通过使用命令 cmake --version 也能显示正常版本。那是不是 cmake 所在的目录并不在 Jenkins agent 的环境变量中呢?为了验证这个问题我们在 Jenkinsfile 中增加一行打印当前环境变量信息的语句:
我与梦想有个约会
2023-10-21
1580
量化你团队的代码质量
在疫情背景下各大公司都有所异动,toB 的团队企业内卷也越来越明显。此时此刻如果团队中的产品又出现各种低级问题无疑是雪上加霜。本文围绕团队在产品质量攻坚工作中做的一些质量检查手段,介绍如何让你团队的代码质量可以量化,并保留最珍贵、可维护、可持续、可传承的工程化代码。
我与梦想有个约会
2023-10-21
5040
Qt6 QML 中渲染自定义视频帧的改进 2023-05-30 更新
最近在升级音视频的项目 Qt 版本,从 5.15.0 升级到 6.4.3(6.5 也一样),除了一些 QML 中删除了一些 Qt Quick Controls 1 的控件以外,最重要的就是自定义视频渲染的改进。
我与梦想有个约会
2023-10-21
5002
macOS 应用正确签名并公证后分发依然提示“无法验证开发者”
应用使用正确的证书签名并使用 Apple 推荐的新公证手段公证后,将应用分发给其他人使用时,依然提示无法验证开发者,如下图所示:
我与梦想有个约会
2023-10-21
3810
使用 CMakePresets.json 简化 CMake 项目初始化繁杂步骤
刚开始做纯 C++ 跨端的项目时,为了考虑项目的统一工程化管理选择使用 CMake + Conan,因为各平台下使用的工具链、 IDE 都不一样。如 Windows 更多人习惯使用 Visual Studio IDE、针对 iOS 和 macOS 的开发更多人喜欢使用 Xcode,而 Linux 开发往往是 VSCode 配套。针对不通平台的 CMake 初始化命令都不太一样,主流的配置有如下几种:
我与梦想有个约会
2023-10-21
1.4K0
cmake-conan 2.0 接入指南
Conan 2.0 版本已经发布很久了,配套的 cmake-conan 工具也同时得到了更新,在原有 Conan 1.x 版本上增强了功能,对开源项目和公司内部已有的 CMake 项目非常友好,接入简单。本文主要介绍 cmake-conan 的应用场景以及交叉编译的实战。
我与梦想有个约会
2023-10-21
7680
递归修改当前目录 .cpp、.h、.md 文件为 UTF8 或 UTF8-BOM 格式
有些代码目录下的文件格式不同,会导致一些编译错误或者中文出现错误等等问题,下面脚本就是解决这个问题而生的。使用 Autoit3 编译脚本后放到你要转换的目录中,运行脚本会转换所有 .cpp、.h、.md 文件为 UTF8 格式,如果你希望修改成 UTF8-BOM 格式,可以将 FO_UTF8_NOBOM 修改为 FO_UTF8
我与梦想有个约会
2023-10-21
2230
使用 CMake + Git Submodule 方式管理项目三方库
在项目开发过程中,避免不了要使用一些开源的三方库,我参加过的一些团队有不同的管理三方库的方式。不同的方式都各有优缺点,我们先列举一下碰到过的管理方式,说一些他们的优缺点,最后再来讨论我们今天介绍的管理方式弥补了哪些缺点。
我与梦想有个约会
2023-10-21
3130
Qt Quick 5.15.0 Connections 新语法
对于日常开发中,新的写法有助于我们定义槽函数的形参个数和实际作用。代码看起来更容易读懂。另外 Qt 官方文档中也介绍了一些其他好处,见:Qt官方文档 如果你使用 Qt 15.5.0 版本打开了一个旧的工程并使用的是旧的写法,那么会收到一个警告:
我与梦想有个约会
2023-10-21
1280
node-pre-gyp 应用场景介绍及使用方法
Node.js 提供了使用 C++ addon 方案作为扩展的能力。我们可以编写 C++ 的代码来扩展 Node.js 或封装自己产品相关的能力接口为 Node.js 接口提供用户或者开发者使用。将编写好的源代码上传至 npm publish 平台,开发者通过 npm install 就可以使用你的扩展包了。但使用的前提是引入方必须要具备编译 C++ 代码的环境,比如在 Windows 下需要安装 MSVC 的编译工具链。而正常的前端开发者并不会将这些组件安装到系统里面,他们更关注的是前端业务逻辑。
我与梦想有个约会
2023-10-21
4200
Qt Quick QML 中使用自定义字体文件
为了视觉上的统一,有时你需要保持 UI 上的字体与其他端字体一致,但是又不是所有字体所有系统都带有的,所以有时需要加载一个自定义字体来满足需求。本文重点介绍如何加载以及使用自定义字体。
我与梦想有个约会
2023-10-21
2840
Qt Quick QML MouseArea 事件穿透
MouseArea 是 QML 中一个不可见的鼠标操作区域,可响应所有鼠标事件。一般情况下在自定义按钮、自定义需要鼠标交互的区域时使用。有时你只需要它的 hover 通知来做一些事情,而另外的点击等操作需要传递给其下层的控件,这时你就需要忽略其自身的鼠标按下释放等操作让其消息传递到下层了。
我与梦想有个约会
2023-10-21
4490
NSIS 打包 Electron 项目的注意事项(拖拽、权限、兼容性等)
我自己本人不做 Electron 的开发,但有一位合作伙伴在使用 NSIS 打包 Electron 应用的时候遇到了一些问题,主要问题有以下几个,先记录下来,然后追个击破。
我与梦想有个约会
2023-10-21
5930
个人喜欢及常用编程字体推荐
我与梦想有个约会
2023-10-21
1300
解决 CEF 76+ 内核默认禁用 Flash 插件提示 “右键点击即可运行 Adobe Flash Player”
CEF 76+ 内核在编译后即使增加了 ppapi-flash-path 和 ppapi-flash-version 也无法在页面中使用 Flash,在命令行参数中确定两个参数是生效的,如图:
我与梦想有个约会
2023-10-21
1980
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
【玩转EdgeOne】征文进行中
限时免费体验,发文即有奖~
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品·最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档