Cliff 的笔记

记录一些心得和思考

构建移动版图像分类模型

看到 Google 的一篇例子教程,折腾了一天。然后发现跟实际需求有偏差,没必要深入分析。为了让自己浪费的这一天显得不是那么浪费,还是把学到的东西记录一下。 Google 的例子教程讲述了如何构建一个移动图像分类(Image Classification)模型。具体一点,根据例子构建得到的图像分类模型,可以运行在手机等…

2024 年 07 月 16 日

微信支付收款开发备忘

要为应用实现微信收款功能,因此忙了几天。感觉这件事技术本身不复杂,但微信支付在产品设计和文档上比较复杂,让人难以轻松上手。因此简单记录一下过程,作为备忘。 目标功能和方案 要实现微信收款,也就是要使用微信支付这个产品,完成以下功能: 允许用户使用微信支付。 根据用户支付的结果完成后续操作。 如果不需要功能 2,那么…

2024 年 07 月 03 日

AI 大模型怯魅

离开上家公司之后,暂时没上班,一直在跟朋友一起做一些 AI 相关的尝试。在研究的过程中,发现很多人对 AI 的观点已经近乎于玄学,哪怕是有技术背景的人也可能会出现这种情况。也就是说,很多人因为不了解 AI 的实现原理,所以对其脑补了太多貌似合理的理论。对于我这种理性逻辑比较强的人来说,这完全不合逻辑。所以,我想根据我现…

2024 年 06 月 24 日

vue-advanced-chat 学习笔记

最近在做 LLM 相关的 Web 应用,需要一个前端的聊天界面。简单研究了一下,大部分都不太适合。有的跟后端关联比较紧密,有的使用人数太少,有的使用到我不熟悉的框架,各种原因,不一而足。为了做项目,我先简单实现了一个前端界面,但临时赶鸭子上架,不管是功能上还是界面效果上,都难以让自己满意。于是又看了一圈之后,选了 vu…

2024 年 05 月 28 日

离职之后

4 月底离职了,第一次这样离开一家公司,五味杂陈。今后再也不想跟这类公司有任何交集了。 《高效能人士的七个习惯》一书中说,“以终为始”。那么接下来应该如何开始呢? 虽然不是完全不想找工作,但确实想尝试一点不一样的东西。 于是,看了两个星期的 AI 知识,学了点 python,拿 colab 和 kaggle 的 GPU…

2024 年 05 月 13 日

三方库移植OpenHarmony笔记

工作需要,把 audit-userspace 2.8.5 移到 OH 4.0 上,记录一下完整的移植过程和自己的理解。 移植工作通常来说并不复杂,但由于移植过程中可能会遇到各种想不到的问题,因此运气成分还是比较大的。如果运气不好的话,就需要处理更多的细节问题。从我个人理解,通用的三方库移植工作按照以下步骤进行。 理解编…

2024 年 04 月 19 日

打造个人工作室系列一:思路整理

作为一个 coder,工作无聊的时候,总想着搞一些 side project 调剂。但是,有时找到灵感,想要动手实验的时候,总是会被各种各样的客观条件限制。比如说,手边没有合适的机器,工作机上有监控,工作机环境不凑手之类。 因此,我想搞这样一套方案,希望能够随时随地做自己想做的工作。不管是在咖啡馆,还是在工作的间隙,只…

2023 年 09 月 29 日

对 iperf3 的一些研究

iperf3 是一个流行度很高的网络性能测试工具。近来因为工作需要,对 iperf3 进行了一些研究。 版本差异问题 截止到 2023 年 2 月,iperf3 源码最新的版本是 3.12。但官方释出的 Windows 下的最高版本只有 3.1.3。 从实际使用的情况来看,自行编译的 3.12 版本在 UDP 测试时,…

2023 年 02 月 25 日

一次失败的问题解决经历

这周因为染上 Omicron,获得了几天在家办公的时间。状态不是太好,很难做些实际的工作,所以整理一下以前的笔记。大部分都没法发出来,只有这篇还有一点点价值。 问题背景 正在开发的 Open Harmony 设备,使用 USB 连接 PC 时,默认是作为一个 hdc 的客户端设备连接的。但项目上,希望这个 USB 同时…

2022 年 12 月 22 日

软路由和 Cloudflare Tunnels 的用途

实在是受不了给每台机器配置网络了,于是买了个软路由,友善电子的 R5S。 机器拿回家,刷了个看起来差不多的版本,按照官方 wiki 配置好了 PPPoE,然后加上了科学的工具,手头几台设备都可以科学的工作了,真科学。 不过,等等,我发现了什么?!我的公网 IP 呢?! 给电信打电话,原因果然不出所料,装监控的理由也不好…

2022 年 08 月 23 日

从 OTA 应用实现看系统架构设计和限制

OTA(Over-The-Air)是什么,应该不用做过多解释了。只要不是打算做一锤子买卖,每个系统都会带一个;不管是为了修正错误,还是增加功能,有了它,才有后续持续改善(和收费)的可能性。 OTA 的特别之处 相对于其他应用,OTA 其实是有一点特别的。 广义上的 OTA 系统 从广义上,或者说从一个比较高的角度上去看…

2022 年 08 月 12 日

nodejs 交叉编译

换了新东家,又开始面对各种奇怪的需求。这次是要让 nodejs 在开发板上运行。 需求方一开始的想法是利用开发板的编译系统,仔细看了看还是作罢。两套编译系统整合在一起,这工作量不是开玩笑的。 我一开始的想法是仅仅使用开发板的工具链,但试了多次都是失败,似乎工具链不全,不足以编译 nodejs。 最后没办法,看了一下 c…

2022 年 08 月 05 日

zola 建站笔记

心路历程 从 wordpress 转到 static site generator 很长时间了。 各种 ssg 工具试用过不少。以前用过 jekyll,但觉得不太好用。react/angular/vue 都是用来做 SPA 合适,建站不是主要功能。gatsby 和 nuxt 偏重于前端 js 实现功能,而我需要的更偏重…

2022 年 07 月 18 日

最近的几个小工程

离职在家,最大的好处就是有了足够的空闲时间。不做点什么的话,真对不起自己。于是我做了几个自己需要的小工程。 一个简单的http服务器 首先是serva,一个简单的http服务器。说实话,这个题目都做滥了,随便哪种语言,找个web框架库,几行代码就可以撸一个。但市面上的现成的工具里面,很难同时满足我的几个需求: 简单+…

2022 年 07 月 10 日

ssh 远程连接 wsl2 主机

这段时间离职在家,没什么具体事情好做,于是自己给自己写点工具玩。 时间来到七月,神兽们都回家了,要跟我抢我的日常用机来玩游戏。没办法,拿了台旧机器,开始研究如何远程连接到原来主机上的wsl2环境。 本质上,wsl2是一台虚拟机,其网络是通过NAT方式,连接到主机上的vEthernet (WSL)接口。因此直接的解决思路…

2022 年 07 月 04 日

设计系统

在实现自己的网站的时候,我经常会感到混乱。这并非是因为我不知道某些效果在技术上如何实现。 真正的问题在于:我不知道应该如何设计。 页面应该如何布局?某个控件应该居中还是靠左?上下左右补白多少?某个按钮的样式应该是方的还是圆的?等等…… 这些问题在所有的页面上都困扰着我。有时拿到一些现成的模板页面,照着改起来的时候挺轻松…

2022 年 02 月 10 日

新年的最佳实践

赶上封城,在家隔离了好多天。工作的项目没有任何 Bug 出现,实在是无聊。因此这段空闲时间,我终于下定决心把网站重构了一版。重构时试验了一些新的工具和框架,下面是一些值得总结的最佳实践。 静态网站生成器(SSG):Zola 说起来,我已经试验过好多种 SSG 了。不夸张地说,Jamstack 上面的 SSG,我至少试验…

2022 年 01 月 01 日

一种保存常用脚本的方式

背景问题说明 将常用脚本放在一处是个方便的做法,实现方式也很多,但常见的实现方式有以下问题: bash 配置中使用 alias / function 等方式,如 .bashrc / .bash_profile 等;这种做法有以下几个问题: 脚本会跟已有的文件内容混合,显得混乱 修改脚本需要重新加载,调试起来比较麻烦…

2021 年 11 月 24 日

软件设计中的限制和适配

程序的创造,也就是程序的设计和实现,跟艺术创作是很相似的,都是将存在于人类大脑中的东西具象化。但跟艺术创作相比,程序的设计和实现所需要的顾及的因素可能会更多,而逻辑要求必须更精确。人们可以接受断臂的维纳斯,但不能接受一个有明显缺陷或者功能缺失的程序。 在一个实际的项目中,软件的设计者一定会面对诸多限制,例如: 工具库…

2021 年 04 月 28 日

如何将 rust 库封装为 Android AAR

前一段时间用Rust实现了一些功能,最近需要将这些实现搬到Android上来跑。这种问题,说简单也简单,就是用JNI(Java Native Interface)实现。但实际做起来,从来就没有那么简单。 工程相关问题 这里希望的是在Android App中使用Rust代码,因此Rust代码必须是library。虽然bi…

2021 年 02 月 08 日

Top