基于共享内存的跨平台RPC框架 - Veigar

1. 背景在项目开发中时常会遇到需要多个进程间交互/通信的场景,进程间通信(IPC)的方式有很多,比如文件、注册表、网络、管道、共享内存等。 对于简单的交互场景,我们可以随意选择一种合适的方式,如 Google Chrome 使用的是管道的方式。 但在交互场景复杂的情况下,远程过程调用(RPC)的方式则会更新便捷。 目前开源的、功能相对完善的 C++ RPC 框架都是基于网络方式实现的,这种方式存在服务端和客户端的概念,两端相互调用需要各方都启动一个端口监听服务,既然需要监听端口,那就会存在端口被占用的问题,特别是在 Windows 上还会存在端口假可用的问题,端口虽然监听成功,但客户端仍然无法连接的情况。 我一直想找到一个基于共享内存实现的、跨平台的 C++ RPC 框架,但遗憾的是一直没能结缘,于是我决定烹饪一个。

Power By Me

产品级的Electron项目模板

写在前面已经有了那么多的 Electron 项目模板,为什么还要再造一个?是重复造轮子吗? 我相信大多数人选择使用 Electron 开发客户端时,或多或少都看上了 Web 开发的高效率,但Web开发人员在客户端和系统编程方面的经验相对缺乏,又加上 Electron 和前端框架(如 Vue )结合起来也不是那么的轻而易举,开发人员大多会选择基于模板来快速上手搭建Electron项目。 目前,Electron 的模板项目已经有很多,比较流行的有electron-vite、electron-vite-vue等。在这些模板中,有的功能过于完善,代码太复杂,远远超过了很多 Electron 客户端项目本身的代码量,需要花很多时间来熟悉模板,不适合新手快速上手和修改,一旦出现问题也难以维护;有的模板又年久失修,使用的技术早已被淘汰,也不适合用来开发线上产品,而且这些模板都有一个通病,都是在用Web开发的思维来开发客户端。 基于上述原因,我开发了这个 Electron 项目模板,在开发过程中,我一直遵循稳定、易于维护的初衷。 项目地址:https://github.com/winsoft666/electron-vue3-boilerplate

Power By Me

Windows窗口调试利器-WinSpyPlus

在Windows平台进行客户端开发时,不可避免的会遇到需要调试窗口的情况,如查看窗口句柄、窗口位置/尺寸、监听窗口消息等。虽然微软随 Visual Stuido 一同发布了 Microsoft Spy++ 工具,但该工具的功能更新缓慢,这么多年过去了基本没有什么变化,比如: 一直未提供单独的安装包。 强制以管理员权限启动,虽然以管理员权限启动可以避免很多问题(如无法监听管理员权限进程窗口的消息等),但这让用户失去了选择非管理员的权力。 不能通过标题或类名来查找窗口。 查找到的窗口不能自动定位到窗口树中。 不能过滤是否显示隐藏窗口、是否显示无标题窗口。 不能查看 Message-Only 窗口。 不能定时导出窗口树到文件中,以便做后续的对比分析。 默认启动的时32位进程,无法监听 64 位进程窗口的消息,监听失败时也未能提示用户。 未提供对窗口的快速操作指令,如显示/隐藏、最大化/最小化/还原、置顶/置底等。

Power By Me

🔥匠心之作

本篇汇总了在本站中提及的、由我开发的小工具和开源项目。 工具所有工具从实用性出发,力求每个功能能够简单易用,不单纯地做功能的堆砌者,亦不做广告的传播者。 一键启动神器之1key.run TinyTu-跨平台图片压缩软件 Windows窗口调试利器-WinSpyPlus

Power By Me

TinyTu-跨平台图片压缩软件

我平时压缩图片通常会使用类似 tinify 这样的在线压缩网站,这些网站有很多,但使用起来总是感觉不太舒爽,似乎差了点什么,仔细想想它们或多或少有这些缺点: 有的网站需要收费或者半收费。 支持图片格式不全,例如有的网站仅PNG格式,而有的网站又不支持jpg、gif等。 通常还会限制上传图片的数量和大小,毕竟上传和下载都会消耗服务器的网络带宽,网站为了节省成本做出此限制。 图片的压缩速度较慢,毕竟压缩速度越快对服务器的硬件要求越高,成本也会越高。

Power By Me

高速文件下载器的实现

我们下载文件时通常会使用浏览器或者迅雷这样的下载工具,这些工具大多具有高速下载(下载速度快)、断点续传(可以暂停之后继续下载)等特性。 现在我们自己开发的应用软件中也需要支持这些特性,我们该如何设计和实现了?本文主要围绕这一问题进行论述,并在文章最后分享了作者自己开发的高速文件下载库。

Power By Me

一键启动神器之1key.run

1key.run既是产品官网域名,亦是产品名称。 顾名思义,主打一键启动,可以一键启动本地应用、网页搜索,并内置了一些实用功能如日历、科学计算、截图等。

Power By Me