在 Node-API (或者称为 N-API) 发布之前,通常的 native 组件都是依赖特定版本的 v8 以及 NAN API 来实现 C/C++ 的调用。随着 NodeJS 的版本或者 v8 API 的版本变动,这会导致使用了 native 组件的项目升级其 node 版本都需要考虑其版本之间的兼容性,特别是遇到...
- 2024-11-27
还记得大概在一年前写下的 NodeJS 实现 http client proxy 请求转发,在博客结束时挖了一个坑说要在 IOS 中实现一个 HTTP Proxy 反代的,到现在还没填上呢。今年年初在做 懒猫微服 通过 wifi 局域网扫描设备功能的时候发现,在 IOS 中 network extension 中向网关...
- 2024-08-25
在治理 IOS 应用崩溃之前我们肯定得需要先收集应用的 Crash 日志,然后可以参考我前几天写的 IOS Crash 日志分析调查入门实践 定位并解决问题。至于在得到设备的情况下能够在手机的设置中导出应用 Crash 日志或者使用 Xcode 导出日志的常规操作有很多前辈都在博客里提到了,我就不重复赘述了。那我们如果...
- 2024-06-03
在之前没记录任何日志的时候,想要分析 IOS 应用崩溃只能靠重现步骤,然后在自己设备上重现后通过调试 crash 崩溃断点分析具体原因。但其实到后期很多明显的 crash 都已经被解决的差不多了,于是我就利用 NSSetUncaughtExceptionHandler 接口捕获异常并通过 Thread.callStac...
- 2024-05-29
在 IOS 客户端上,为了方便开发且我们小伙伴们前端技术栈也会更熟悉一些,所以 IOS 客户端的架构我选择了用 WKWebView + Vue3 来开发客户端的 UI 部分。 当然既然选择了 WebVIew 的方式来写,有几个点肯定是绕不开的,首先就是目前的 SPA 单页应用无法直接通过 file://index.ht...
- 2024-05-08
Node.js v21.7.1 支持将 JavaScript 代码 “打包” 为单个可执行文件了,那么在此之前怎么把自己应用程序打包发布给别人呢? 我:你先去 https://nodejs.org/en 下载安装一个 nodejs,然后下载我这 app.js,最后打开你的终端或 CMD 执行 node app.js 那...
- 2024-03-14
three.js 作为一个知名 JavaScript 的 3D 模型加载库,当我们想要在 web 中展示模型就可以尝试使用一下,接下来我将梳理一遍我尝试在 vue3 中使用 three.js 来进行模型的加载,本博客中的模型来自于 @zixisun02 提供的免费 Shiba 模型 基于 CC-BY-4.0 许可引用,...
- 2024-03-10
一直想着在 macos 上利用 qemu 整一个独立的 linux 子系统,于是学习了一下 qemu 不过一般情况来说启动虚拟机之后都直接打开了一个窗口终端,然后我就发现了 tty 重定向到终端这个有意思的东西。 1、配置 GRUB 我这里安装的操作系统是 debian,并且使用了 GNU GRUB 作为启动引导。gr...
- 2024-02-13
在这之前我理解中的文件描述符 (fd) 一直认为就是一个进程创建的虚拟文件,然后就是大家口口相传的 fd 是属于一个进程的一个有序标识,当进程打开一个文件时系统就会为当前进程分配一个文件描述符。 然后这周末在做一个文件接口的时候,就想着能不能直接利用 fd 来对数据进行传递,这样我就不用考虑清理缓存(错误理解:按照自己...
- 2024-01-03
修复问题的前提条件肯定是重现问题,但是想要重现问题最好就是能够定位问题。客户端一般都是给客户安装在自己设备上进行使用的,客户的设备很难具备远程调试的条件,所以在客户端中收集日志用于分析和定位问题是很有必要的。 虽然前端日志收集工具已经很多了,但是对接和注重日志收集的项目还是比较少。当然对于个人项目我倾向还是自己弄一个简...
- 2023-11-05