自定义 npm 包读取外部 npm install 时传入的命令行参数

正常情况下我们安装一个 npm 包只需要执行 npm install 或者 yarn 就可以了,这基本上都是在发布环境。当我们自定义的 npm 包需要在测试阶段根据环境动态设置一些参数时就显得有些麻烦了。如果能在 npm install 时传递一些参数来提供内部 npm 包读取就会变的比较方便。本文介绍如何通过 ...

node-pre-gyp 应用场景介绍及使用方法

Node.js 提供了使用 C++ addon 方案作为扩展的能力。我们可以编写 C++ 的代码来扩展 Node.js 或封装自己产品相关的能力接口为 Node.js 接口提供用户或者开发者使用。将编写好的源代码上传至 npm publish 平台,开发者通过 npm install 就可以使用你的扩展包了。但使...

基于 git flow + gitlab 协作开发:02 解决问题

上一篇文章中我们提到了在一个周维度或者月维度发布产品的小型协作项目中,会遇到各类协作上的问题,随着发布的越来越紧凑,问题也就越来越突出。本文主要对上一篇文章中提到的问题解决方案做细化,让大家可以清楚的知道如何通过合理的 git 工作流来解决这些问题,让原来发布时的手忙脚乱不再出现。通过 git flow 我们可以...

Qt 通过自定义 URL Scheme 给已经运行的应用传参(Windows&macOS)

在传统的应用程序设计中,我们可以看到很多通过浏览器唤起本地应用的案例,比如百度网盘、迅雷等工具,他们在浏览器访问一个非 http/https 协议开头的地址时,会自动打开其自己的应用程序并传递一定的参数。该功能的实现方式网络上有很多示例,在 Windows 和 macOS 不同平台下他们分别需要如下设置...

基于 git flow + gitlab 协作开发:01 抛出问题

很久以来,我一直在寻找一个适合小型团队独立项目的 git 协同工作流。主要原因是实际工作中很难在繁忙的迭代中兼顾真正的协同和代码质量管理。造成的现象就是在一个以月维度发布版本的产品中出现各种各样的分支、hotfix。到底哪个是主线,哪个分支修复了哪些问题、不同的分支是否与主线同步更新都是未知数。如果不叫一个从开始...

Qt Quick 5.15.0 Connections 新语法

过去的 Connection 连接某个对象的信号时是这样写的: 12345678910Connections { target: authManager onError: { busyContainer.visible = false buttonJoi...

使用 CMake + Git Submodule 方式管理项目三方库

在项目开发过程中,避免不了要使用一些开源的三方库,我参加过的一些团队有不同的管理三方库的方式。不同的方式都各有优缺点,我们先列举一下碰到过的管理方式,说一些他们的优缺点,最后再来讨论我们今天介绍的管理方式弥补了哪些缺点。 统一管理三方库一些团队是直接将三方库编译好放到 CI 机器上,在本地开发或者 CI 出项目...

Qt Quick Windows 下实现无边框窗口阴影效果

Qt Quick 中实现一个无边框窗口阴影效果的中心思想是将 Window 容器背景设置为透明的,在 Windows 容器中添加一个填满窗口的容器(如 Page、Rectangle 等),然后将这个容器设置一些边距,再给这个容器附加一个阴影效果,实现的效果如下: 注意:本文所描述的方案会有严重的性能损耗,尤其是在...

Qt QML qtquickcontrols2.conf 使用系统未安装的自定义字体

现在很多视觉设计最终给出的字体可能并不是所有系统都安装过的,所以项目中可能需要单独把字体文件打包进去在程序运行的时候加载。Qt QML 有多种方式加载一个自定义字体,本文将介绍所有我知道的方式,大家根据自己的需要选择使用任意一种即可。 使用 FontLoader 方式加载并使用FontLoader 在 QML ...

2020 新的开始

2019 年是“进展缓慢”的一年,也是我人生中具有重要意义的一年,更是在经历了诸多波折后回到人生正常状态的一年。虽然还有很多遗憾(包括家庭、感情、工作),但我还是要感谢这一年所有遇到过的人和经历过的事情,这些都无形中让我慢慢走向一个三十而立的人。 我将原有的个人博客域名指向了这个站点,这也意味着未来只会维护这一个...