一直想着在 macos 上利用 qemu 整一个独立的 linux 子系统,于是学习了一下 qemu 不过一般情况来说启动虚拟机之后都直接打开了一个窗口终端,然后我就发现了 tty 重定向到终端这个有意思的东西。 1、配置 GRUB 我这里安装的操作系统是 debian,并且使用了 GNU GRUB 作为启动引导。gr...
  • 2024-02-13
在这之前我理解中的文件描述符 (fd) 一直认为就是一个进程创建的虚拟文件,然后就是大家口口相传的 fd 是属于一个进程的一个有序标识,当进程打开一个文件时系统就会为当前进程分配一个文件描述符。 然后这周末在做一个文件接口的时候,就想着能不能直接利用 fd 来对数据进行传递,这样我就不用考虑清理缓存(错误理解:按照自己...
  • 2024-01-03
刚刚准备发一个测试包,可是当我 git tag v1.1.x 然后 git push --tag 一把唆的时候发现不对劲, 只打了一个 v1.1.x 的 tag 啊为啥推送了一大堆?坏,我又闯祸了。我估计是之前产品要求降版本然后同事辛辛苦苦一个一个删掉的远程 tag 因为我本地没删又给人家推送回去了(狗头 经过小伙伴的...
  • 2023-12-04
修复问题的前提条件肯定是重现问题,但是想要重现问题最好就是能够定位问题。客户端一般都是给客户安装在自己设备上进行使用的,客户的设备很难具备远程调试的条件,所以在客户端中收集日志用于分析和定位问题是很有必要的。 虽然前端日志收集工具已经很多了,但是对接和注重日志收集的项目还是比较少。当然对于个人项目我倾向还是自己弄一个简...
  • 2023-11-05
[前方废话预警,喜欢直接看结论的可以直接划过] 之前我一直只负责 IOS 的客户端开发,Android 和 PC 端的客户端其实本来是由另外一个同事负责的。现在由于工作调整那个同事需要去做工厂 OEM 相关程序,于是全部客户端就需要交给我来维护了。我们项目客户端 UI 部分虽然都是 Vue 写的,但是我们俩代码风格上区...
  • 2023-09-06
当想将大部分共用功能抽离成一个包进行管理时,就会想起要是多个项目依赖我这个包,但是我要弃用某一个功能,然后就会影响其他人的使用,当然这种情况还可以不升级包版本来解决。但要是现在版本中有一个新功能又不得不用的时候呢?如何在 NPM 中安装同一包的多个版本? 其实在 npm 6.9.0 就添加了 package alias...
  • 2023-08-29
Swift Server Workgroup (SSWG) 成立后一直致力于提供更好用更标准的 Swift 网络相关依赖库,推动 Swift 在服务端的工作,今天本博客的主角 async-http-client 就是 SSWG 孵化项目之一,async-http-client 是基于 swift-nio 构建的异步 h...
  • 2023-08-27
这几天外接显示器用一段时间后风扇就呼呼转,起初我也没当回事,直到它开始触发 kernel_task 温控导致 CPU 一直占用极高,直接卡的我难受。我起初还以为是之前扫描移动硬盘同样的问题又出现了,但是排查了之后发现罪魁祸首是 kernel_task 这玩意,于是查一下这东东发现是 MacOS 用来温控降频的保护进程。...
  • 2023-08-05
通常情况当 DOM 从页面中删除或者重建后,组件的 scroll 位置就会丢失,在 Vue 和 React 这类 ASP 框架中路由切换说到底其实就是 DOM 的删除和重建,这就会导致长列表页面在 ASP 应用中切换路由后再返回列表页面会重新构建列表 DOM 使列表被跳转到顶部丢失用户滑动位置这种糟糕的用户体验,这种情...
  • 2023-07-23
作为前端开发的我们应该知道,所有的面向用户的客户端代码其实都不安全。Android 和 IOS 相比与前端代码可能还相对安全(当然,其实现在各种反编译工具都非常成熟了,要是没做任何安全措施也差不多相当于裸奔),不过前端就更裸奔了,而且前端的代码由于是在浏览器中执行的,所以一般来说大部分前端网页或者应用都是 JavaSc...
  • 2023-06-25