自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

云水木石

有木石心 具云水趣

  • 博客(488)
  • 资源 (3)
  • 收藏
  • 关注

原创 用 AI 解 AI 写的代码 BUG:一次 AI 辅助编程实践

只是 AI 的发展速度太快了,也许在不久的将来,AI 就能替代大部分程序员,那个时候我也该退休了,那时程序员或许该考虑升级自己的生产力角色了。花了半天实践,修复了 3 个问题,对于新手我来说,效率还是挺高的,但比起资深的前端开发人员,估计还是差了点。不要认为 AI 多次修改后会更好,我发现第一次修改的范围比较小,基本上已经完成了所需功能,结果经过几次迭代,修改的范围更大,反而出问题了。在这个过程中,我不断调整指令,给出信息,全程我都没进行代码分析,只是使用修改的代码进行测试,看是否达到预期。

2025-05-17 20:59:35 587

原创 鸿蒙 PC 正式亮相,有图有真相

做一套操作系统的不难,但打造一个成功的操作系统很难,因为这涉及到系统生态,不是靠一两家公司的力量就能做到的。注意,这里的「专属电脑生态应用」,指的是行业软件,比如中望 CAD、浩辰 CAD 等电脑专业应用。一般来说,行业应用软件用户面窄,用户群体比较固定,很难有意愿去做新平台的适配,这次华为能拉拢这些软件厂商适配,不知道是怎么做到的。普通消费者更为熟知的第三方应用,比如 WPS、钉钉、飞书、美图秀秀、剪映、万兴喵影等,都完成了电脑端的适配,可以满足基础办公及核心场景的需求。你对鸿蒙 PC 有怎样的期待?

2025-05-08 19:57:26 267

原创 迈入龙芯新世界,可用星火应用商店

企业微信貌似不是微信团队开发的,微信早就适配了各种架构的 Linux 系统,而企业微信依然按兵不动。非常简单,星火应用商店本质上也是一个应用,如果是 UOS 系统,可以通过官方应用商店安装。星火应用商店由社区运营,收录了很多开源工具、小众软件及开发者适配的实用程序,尤其适合我这种喜欢尝鲜的用户。用上了星火应用商店后,尝鲜也算是成功,之前在 UOS 系统上能用的软件,现在也能用。》,在尝鲜龙芯新世界后,发现 deepin v23龙芯版没有应用商店,费了好大劲才让微信 Linux 版在龙芯新世界上运行起来。

2025-05-06 19:48:13 300

原创 这个五一假期,我借助 AI 将国密算法移植到 BoringSSL

在本次移植过程中,AI 只是作为一种辅助工具,帮助我分析代码,找到修改的关键点,并在调试上提供分析帮助,但离自主智能还差得远。现在也有不少的 AI Agent,能够实现提出需求,然后自动写代码的功能,但是对于大型复杂的项目来说,效果并不是很好,所以说 AI 替代程序员,还没那么容易。的确,有了 AI 后,开发的效率提高了很多。1. 同样,使用 DeepWiki 分析 BoringSSL 开源项目,BoringSSL 虽然是托管在谷歌的代码服务器上,但在 github 上有镜像站点,所以可以直接搜索到。

2025-05-05 20:49:52 585

原创 龙芯新世界之路,道长且阻

龙芯公司也意识到新旧世界的切换不会是那么顺利的一件事,也提供了自己的解决方案,目前这套方案还未公开,希望龙芯能够从底层完美解决新旧世界应用的兼容问题,再也不要像我运行一个微信应用都要这么折腾了。“打破旧世界,拥抱新世界”——作为程序员,自然要第一时间尝鲜,于是立刻将这台龙芯迷你主机安装了 Deepin V23 龙芯版(目前仍为 Preview 版本,但足够试水)。安装过程十分顺利,进入系统后依旧是熟悉的 Deepin 界面,内置应用齐全,只是暂未集成应用商店,浏览器默认 Firefox。

2025-04-30 22:33:15 598

原创 定制一款国密浏览器(12):分析SM2签名算法的实现

分析 SM2 签名算法在 Tongsuo 中的实现

2025-04-26 21:34:26 100

原创 定制一款国密浏览器(11):SM2算法的椭圆曲线参数定义

本文介绍了如何在 boringssl 中定义 SM2 命名曲线。

2025-04-26 18:25:36 172

转载 国产化终端磁盘加密技术斩获大奖

招商银行与统信软件通过“国产化终端磁盘加密”项目,不仅为金融行业树立了可复制的安全范式,更通过自主可控的技术路径,为政企用户提供了应对数据安全挑战的创新解决方案。该方案支持分区级灵活加密和断点续接功能,既确保数据全链路安全,又兼顾政企多场景业务的连续性需求,为信创终端提供了更加易用、可靠的安全解决方案。招商银行与统信软件联合推出的“国产化终端磁盘加密”方案,凭借在金融数据安全领域的技术突破,从86项参赛案例中脱颖而出,荣获“金融数据安全赛道-卓越奖”,其创新成果也得到了国家级专家组的高度评价。

2025-04-25 10:49:22 128

原创 定制一款国密浏览器(10):移植SM2算法前,解决错误码的定义问题

BoringSSL 和 OpenSSL 关于错误代码定义的不同。

2025-04-19 23:24:57 167

原创 定制一款国密浏览器(9):SM4 对称加密算法

说明SM4对称加密算法在BoringSSL上的移植要点

2025-04-19 22:46:07 238

原创 定制一款国密浏览器(8):SM3 摘要算法

本文介绍 SM3 摘要算法的移植要点。

2025-04-13 21:11:41 75

原创 定制一款国密浏览器(7):铜锁和BoringSSL

简单介绍了一下国密算法,本章开始进入实战,进行国密算法的移植。算法的移植以为蓝本,移植到 BoringSSL 中。BoringSSL 也是由 OpenSSL fork 而来,那能否修改 Chromium 的源码,使用库呢?这种方式我也考虑并尝试过,最后发现两者的接口差别太大,Chromium Net 部分的代码写的很复杂,修改起来工作量更大,所以这里还是选择修改 BoringSSL,加入国密算法支持。

2025-04-12 19:32:06 325

原创 定制一款国密浏览器(6):初识国密算法

GmSSL 基于 OpenSSL 开发,是一个开源的密码库以及工具箱,支持 SM2/SM3/SM4/SM9/ZUC 等国密(国家商用密码)算法、 SM2 国密数字证书及基于 SM2 证书的 SSL/TLS 安全通信协议,支持国密硬件密码设备,提供符合国密规范的编程接口与命令行工具,可以用于构建 PKI/CA、安全通信、数据加密等符合国密标准的安全应用。一般来说,国标 / 行标之类的标准发布很严谨,颁布周期比较长,发布之后不会修改,除非制定了新的标准,才会将老标准废弃。最近发现一个更好的开源项目,那就是。

2025-04-12 11:26:25 414

原创 定制一款国密浏览器(5):修改浏览器名称

本章重点介绍如何修改 Chromium 字符串资源。

2025-04-11 23:44:05 86

原创 定制一款国密浏览器(4):修改浏览器logo

浏览器logo的修改涉及到 png、svg 以及 chromium 内部的 vector_icon 格式。

2025-04-11 20:46:12 211

原创 武汉跑步圣地:汉口篇

在最初的阶段,单调的步伐、急促的呼吸常常让人望而却步,许多跑者就在这个门槛前选择了放弃,无法体会到跑步带来的身心愉悦。有的人选择在跑步机上慢跑,边刷剧边跑步,既锻炼了身体,又收获了精神食粮,一个不错的方法。武汉作为千湖之省的省会,市区就有不少湖泊,有不少依山傍水的风景优美的跑步路线。四季轮转间,从春樱到冬梅,从湖心亭的晨雾到张公亭的夕照,这座32.8万平方米的城市绿洲,用91%的绿化率为跑者打造出移步换景的理想跑道。汉口江滩绿道,一侧是浩浩汤汤的长江,对岸是武昌的城市天际线,武汉地标绿地中心巍然矗立。

2025-04-10 09:15:32 716

原创 定制一款国密浏览器(3):修改浏览器应用程序安装路径

本章介绍根据统信 UOS 应用打包规范调整浏览器的安装路径。

2025-04-06 23:06:35 92

原创 ChatGPT-4o 在汉字显示上进步巨大

在上面的提示语中,没有复杂的描述,仅仅几个简单的句子,AI 就很好的理解了我的意图。去年的时候,stable diffusion 在英文字符的显示上取得重要进步,可以非常好的按照指示显示英文单词,但在汉字的显示上依然拉胯,到现在仍未解决。目前 ChatGPT 免费用户每天只能能生成四张图,想要更好的体验,就得升级到 plus 会员,期待国内的 AI 也能很快赶上来,最后放一张网络上别人用 ChatGPT 做的四格漫画,按照 AI 的这种发展速度,以后只需要创意,其他的都可以交给 AI 了。

2025-04-05 20:43:01 488

原创 定制一款国密浏览器(2):修改包名

介绍修改 deb 包的包名。

2025-04-05 18:15:56 345

原创 定制一款国密浏览器(1):Chromium 源码获取和构建

基于chromium定制国密浏览器第一步,获取chromium源码和构建 deb 包。

2025-04-05 16:42:33 262

原创 deepin V25 磐石系统下添加系统服务

中介绍了在国产系统 UOS/deepin 下添加 VNC 服务,实现远程桌面访问,但是将该方法应用到 deepin V25 上时,却碰到了问题。后来还是被我找到了,磐石系统虽然根文件系统是只读的,但允许在 /etc/systemd/system/ 下添加服务文件,因为这些目录位于独立可写分区。这也不难理解,因为服务是绑定在用户会话上的,不登录进去,服务自然也就无法启动。查了一下资料,发现 systemd 有用户级服务(user service)的概念,即在用户 HOME 目录下创建服务文件,然后通过。

2025-04-03 19:05:24 366

原创 配置 UOS/deepin 系统远程桌面,实现多台电脑协同办公

一台是 i7 配置的电脑,运行 UOS V20 系统,作为主力办公电脑,负责处理企业微信、OA 等任务,并偶尔进行代码编译和验证软件在 UOS V20 系统下的兼容性;此外,我还有两台迷你主机,一台搭载兆芯 CPU,运行 UOS V20 系统,由于 CPU 性能有限,通常用来进行一些应用测试;在配置界面中,选择 Remmina VNC 插件作为协议,填写被控端计算机的 IP 地址,并输入该计算机系统的用户名和密码。对于普通的命令行操作,使用 ssh 连接即可满足需求,但大部分情况下,我需要使用图形界面。

2025-04-01 21:31:19 983

原创 第二个荆州马拉松赛记

赶紧加快了一点速度,追上了 215 的兔子,在离终点还有 200 米的时候,我又加了一点速度,超过了 215 的兔子,在 2:14:48 到达终点,完成本次荆州马拉松的半马。起跑之后,发觉这个天气太适合跑步了,感觉挺好,应该可以在 2:15 之前完赛,所以在赶上全马 430 的兔子后,就决定跟着兔子匀速跑。洗漱完毕,吃了面包,喝牛奶。这次定酒店也做好了价格翻番的心理准备,没想到在百度地图上用 68.95 元就订到了如家华驿精选酒店,还是荆州比较繁华的地段,在六中附近,对面就是大大的中国黄金招牌。

2025-03-31 23:15:05 767

原创 Google 停止开源 Android?

谷歌此举并不意味着Android正在封闭源,将继续发布新的Android版本的源代码,因此,Google今年晚些时候发布Android 16时,我们依然能够获得更新的源代码。但是,Google 主导了开发,贡献了大部分的代码,而且Google对合并到AOSP以及发布新版本源代码拥有最终决定权。对于 Android 应用开发人员而言,影响微乎其微,为 Android 系统开发应用,并不需要时刻跟踪最新的系统,为了应用面更广泛,开发者通常会选择早期的 API。通常,AOSP的公共分支经常落后于内部分支。

2025-03-27 23:06:38 971

原创 走在奔五的路上

当我首次接触到电脑时,一个像电视机一样的显示器,闪烁着 a:> 字符界面,只有键盘,连系统都需要插上随身携带的软盘才能启动。今天看到一篇文章,美国达特茅斯学院的经济学教授戴维·布兰弗罗跟踪了145个国家和地区的数据后发现,人的幸福感与年龄呈现U型变化,而在谷底的平均年龄为48.3岁。至于 AI 帮忙生成的初级代码,只是减轻了我的记忆负担,也减少了上网的搜索时间,总体来说提高了效率,让我有点空闲时间发发呆。虽然说中国的环境对技术人员不太友好,但我坚信,程序员就如同旧社会的手艺人,总归是有口饭吃的。

2025-03-26 22:45:37 293

原创 LXC 容器技术简介

总体看下来,LXC 的命令和 docker 类似,但需要了解一下命名空间和 cgroup 的概念,否则和内核开发人员沟通起来就比较困难。尽管 chroot 在文件系统层面提供了一定的隔离,但它并不能完全防止安全漏洞,后续的pivot_root 技术在 2000 年被引入,以增强文件隔离的安全性。提到 LXC 容器,估计很多开发人员都没听说过。随着时间的推移,Linux 内核不断添加新的名称空间类型,包括 UTS、IPC 等,直到最新的 Linux Kernel 5.6 支持八种资源的隔离。

2025-03-25 20:23:14 818

原创 安卓应用兼容新方案:Android Translation Layer(ATL)

另外 ATL 项目起步较晚,面对 WINE 的日益成熟,越来越多的 Windows 应用可以运行在 Linux 系统上,ATL 的市场前景并不乐观。它通过用户空间的兼容层直接翻译安卓应用的系统调用(syscall),直接调用 Linux 系统的原生 API,从而对内核版本无要求,适应面更广。ATL 借鉴了 WINE 的设计哲学,通过重新实现 Android 框架 API(类似 WINE 对 Windows API 的转译逻辑),试图以更轻量、更原生的方式实现安卓应用与 Linux 桌面的无缝集成。

2025-03-23 23:07:55 396

原创 deepin V23 下运行安卓应用程序

估计会有些困难,从代码上看,KMRE 对内核的版本要求较高,目前未提及对 4.x 系列内核的支持,而 UOS V20 的稳定内核版本是 4.19,如果移植过去可能存在比较大的工作。不过 KMRE 对 5.x 系列内核有较好的适配,官方明确支持的版本包括 5.4、5.8、5.10、5.11、5.13、5.14,如果 UOS V20 切换到比较新的内核,也可能可以支持起来。安装源里没有的依赖包时,出现依赖错误,碰到这种问题,可以通过手动执行 apt install 命令,将缺失的包装起来。

2025-03-22 22:35:12 785

原创 钞票准备好了吗?鸿蒙电脑 5 月见

需要比较顶级的配置,才可能提供过得去的体验。如果鸿蒙 PC 版仅仅是将鸿蒙手机版上的应用扩充到 PC 上,且不说两者形态的差异,而且两者定位也不同。上,华为常务董事、终端BG董事长、智能汽车解决方案BU董事长余承东正式宣布:搭载全栈自研鸿蒙操作系统的鸿蒙电脑将于2025年5月亮相,标志着华为终端全面进入鸿蒙生态时代。3月20日,在华为 Pura 先锋盛典及鸿蒙智行新品发布会上,华为常务董事、终端BG董事长、智能汽车解决方案BU董事长余承东表示,华为终端全面进入鸿蒙时代,今年5月将推出鸿蒙电脑。

2025-03-21 23:09:06 1091

原创 Linux 系统运行 Android 应用的几种方案

比如我在办公室使用最多的企业微信,一直没有开发 Linux 版本,就是通过 Wine 运行的。听起来很美好,但该项目已于2023年停止更新,究其原因,可能是兼容性差,依赖非标准内核模块 binder (进程间通信)和 ashmem (共享内存),显卡兼容性也不好,很多应用只是那能用,但跑起来存在诸多问题。但这种方案的缺点也是非常明显,模拟器启动非常缓慢,使用 Android 模拟器做过开发的同学应该深有体会,而且模拟器还需要模拟 ARM 指令,效率低下,所以在模拟器里运行安卓程序也是非常缓慢。

2025-03-20 23:52:42 661

原创 Python环境管理新利器:UV工具详解

所以这段时间我也一直在寻找 Python 环境管理工具,终于给我找到了,就是这款由 Astral 团队开发的下一代 Python 环境管理工具:UV。这个 python 应用需要一些 python 包,而我切到 Python 3.8,这个 Python 版本没有安装所需的包,运行出错。但是在工作中,确实又存在需要切换不同 Python 版本的需求,比如编译 Chromium 需要 Python 3.8 以上的版本,而打开 D-feet 软件又只限定只能使用 Python 3.7。所以我在公司都是使用《

2025-03-19 23:48:37 1080

原创 通过浏览器扩展获取本机 MAC 地址

这种方法不需要修改浏览器内核,在 Linux、Windows 等系统都适用,甚至在 firefox 等浏览器上也有类似的机制,适应面广。这种方案不需要修改浏览器内核,插件开发也相对比较简单,缺点是部署有些麻烦,需要将本地应用(脚本)部署到指定的位置。通过这种机制,开发者能在保证安全性的前提下,将浏览器功能扩展到本地系统层级,广泛应用于企业工具、硬件控制等复杂场景。在上面的界面中,我们还可以在插件中给本地应用发送消息,并接收本地应用返回的消息。希望本文提供的方法对大家有用,如果有更好的方案,欢迎交流。

2025-03-18 21:36:20 1184

原创 华为 PC 亮相两会!但不是鸿蒙 PC,而是统信 UOS

这几天,两会正如火如荼进行,这场汇聚国计民生议题的盛会,一举一动都会引发人们的广泛关注。在聚光灯下,一台搭载国产操作系统的华为笔记本电脑悄然亮相央视报道——这不仅是一场产品展示,更暗含着"科技自立自强"战略下的深层叙事。【看!他们的上会“利器”】在分秒必争的现场,将海量信息流凝练为时代切片,一起见证中国科技自立自强的力量。不过,人们期待的“鸿蒙PC”仍未现身,取而代之的是搭载Linux系统的笔记本...

2025-03-10 23:35:58 1299

原创 使用 CherryStudio 搭建浏览器知识库

上个周末去参加了一个 WHLUG 的线下活动,了解了 CherryStudio 这个 AI 工具。虽然在 UOS 系统中也有 UOS AI 助手,但作为技术从业者,别的产品也该体验一下,看看别人的产品有什么值得借鉴的地方。前几天 CherryStudio 发布了一个里程碑版本 1.0,这标志着 CherryStudio 开始稳定成熟。CherryStudio 是一个开源的跨平台版本,在 Linux...

2025-03-06 20:46:16 962

原创 交叉编译 ARM 架构浏览器(补充)

在上一篇文章《deepin Linux 系统上交叉编译 ARM 架构浏览器》中,我们探讨了 Chromium 浏览器交叉编译的基本流程。但在后续的调整编译参数的过程中,发现一些新的问题。为此,这篇文章对上一篇文章进行一个补充,补充一些遗漏的细节。一在编译 Chromium 源码的过程中,你可能会碰到如下错误:../../chrome/browser/ui/webui/top_chrome/webu...

2025-03-03 19:52:23 353

原创 deepin Linux 系统上交叉编译 ARM 架构浏览器

随着国产信创系统的逐步发展,越来越多的设备采用了非 x86 架构的 CPU,如 ARM、龙芯、申威和 RISC-V 等。其中,ARM 架构的市场份额最高,主要厂商包括飞腾和华为麒麟。在为这些国产系统开发软件时,通常需要支持上述架构。在之前的开发中,我们一般选择直接在 ARM 的机器上编译和调试代码。这种方式虽然简单,但对于大型应用程序,尤其是像浏览器这样的复杂系统来说,却面临着不少挑战。以 Chr...

2025-03-01 22:57:46 1053

原创 你在 DeepSeek,我在 deepin Coding

2025年春节期间 DeepSeek 带起的人工智能热潮依然滚烫。百度、腾讯、阿里这些巨头纷纷将 DeepSeek 融入到他们的产品中,而更多竞争对手也发布了各自的大模型,宣称已经超越了 DeepSeek。看着这一波接一波的消息,仿佛我们的世界即将被 AI 颠覆:AI 公务员、DeepSeek 推理、一体机AI 智能体、裁员风波等等,消息乱飞,似乎一夜之间人类社会要发生翻天覆地的变化。作为一名开发...

2025-02-25 23:27:14 595

原创 浏览器的 GPU 兼容处理

最近 DeepSeek 让 AI 彻底出圈了,同时也让大家认识到了GPU(显卡)的重要性。以前,我们只是觉得显卡就是用来玩游戏的。其实除了 AI 和玩游戏,显卡还有很多重要作用,比如音视频编解码、图形渲染、3D建模、科学计算等等。甚至在浏览器中,GPU 也发挥着重要作用,比如渲染网页,有 GPU 加速不仅能降低 CPU 占用率,还能提升渲染速度,从而提升用户体验。但是,浏览器碰到的渲染问题,大多是...

2025-02-14 23:52:56 691 1

原创 AI Agents 技术栈

随着生成式人工智能(如 ChatGPT)的快速发展,AI Agents(人工智能体)正从概念走向大规模应用。2025 年被广泛视为“AI Agent 元年”,其技术栈的成熟标志着智能系统从“被动响应”向“自主决策”的跃迁。那么什么是 AI Agents 呢?构成 AI Agents 的技术栈有哪些关键组成部分?本文参考了一些资料,尝试解释这一概念,主要参考了以下内容:AI Agents Stack...

2025-02-11 22:23:47 1081

原创 专门针对 DeepSeek 的纯 C++ CPU 端推理框架

在介绍这个项目之前,先声明几点:项目尚未成熟—— 作者明确表示,这是出于兴趣和好奇心开发的。对内存需求极高—— 例如,运行 DeepSeek V3 F8E5M2 版本大约需要 650GB 内存,在尝试之前请掂量一下你的设备。尽管如此,我认为这个项目依然值得关注:纯 C++ 实现,不依赖任何第三方框架,便于集成,同时也能部署到低端终端设备。代码量不到 2000 行,对研究推理框架的开发者而言,这...

2025-02-08 22:16:32 831

HTML5 Video实现浅析

文章分析了WebKit中HTML Video的实现,配有类关系图和代码,有助于理解HTML5 Video的实现原理。

2019-01-10

Blink in JavaScript

如何在blink中使用Javascript而不是C++来实现DOM特性,请参考这篇文档。使用js实现DOM特性,具有很大的灵活性,同时能够保持内核精简。

2019-01-10

blink oilpan项目设计文档

C++也有GC机制,这不是异想天开,blink已经启动oilpan项目,就是要在C++中也能享受到GC,同时还能提升性能。如果你想要知道他们是如何做到的,请看这一篇设计文档。

2015-11-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除