自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

云水木石

有木石心 具云水趣

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

原创 聊一聊Chromium 项目的构建系统

对于 C/C++ 等编译型语言,源代码需要经过编译转化为目标文件。在简单的开发场景中,开发者可以直接使用如 gcc 等命令进行编译。然而,面对复杂系统时,传统的编译方式显得效率低下,因此各种构建工具应运而生。这些工具可以明确指定构建规则,使编写过程更加简便。例如,make、CMake 等就是常见的构建工具代表。Chromium 作为一个大型项目,一直致力于探索更高效的构建方法。在其发展过程中,源代...

2025-01-17 23:12:17 452

原创 不要重复发明轮子!谷歌:我偏要

在程序员的圈子里,有一句话广为流传:“Stop Trying to Reinvent the Wheel”,翻译成中文即为“不要重复发明轮子”。其核心意思是,对于一些已经成熟且高效的功能或模块,我们应当直接使用,而不是重复开发。对于大多数程序员来说,这句话确实有其道理。直接采用现有的模块和方案,不仅能避免重复劳动,还能大幅提高开发效率,减少时间和精力的浪费。而且,自己重新编写的代码,未必能达到现有...

2025-01-15 21:49:30 841

原创 前端框架那么多,为啥还要整出 Web Components

在定制浏览器的工作中,工作量最大的就是 Chromium WebUI,这也是容易被忽视的。当时的想法是,将这部分工作交给前端开发工程师。但做起来才发现,工作很难交出去。且不说 WebUI 与 C++代码的绑定,就连 Web 框架,Chromium WebUI 也使用了独特的一套。前端开发常用的框架有 React、Vue、Angular 等,而最新的 Chromium 中,则前面转向 Web Com...

2025-01-14 09:17:40 262

原创 Linux 基金会要接管 Chromium 了吗?

纵观浏览器的发展历程,有三个重要节点。第一个节点是网景公司成立,发布第一款商用浏览器 Netscape Navigator,拉开互联网走向大众的序幕。第二个节点是微软 IE 击败 Netscape Navigator,成为浏览器的新霸主,然后不思进取,拖慢了 Web 发展的进程。第三个节点是谷歌 Chrome 浏览器崛起,甚至微软也不得不屈服,放弃自家的浏览器引擎,基于 Chromium,开发新一...

2025-01-13 23:39:00 334

原创 离职后,有必要拉黑前同事吗?

就着电诈的热度,线上看了去年很火的一部电影《孤注一掷》。电影开头的一幕,男主角潘生在公司大会上满怀期望地等待公司宣布他出任CTO,结果最终上位的却是他人,这让他感到非常失望和愤怒。失望之余,他把工作牌甩在会场上,扭头就走。更为离谱的是,还黑进了会议的后台,在大屏幕上留下了一大堆表情包。如果说他愤而辞职,还情有可原,但是黑进后台,让同事难堪,这就太没职业素养了。近来,经济形势较为严峻,互联网上弥漫着...

2025-01-12 21:21:31 133

原创 Chromium 中的 WebUI

这段时间在基于 Chromium 做浏览器的定制工作,少不了需要修改 Chromium 的 UI。Chromium 中的 UI 主要有两大部分组成,一部分是原生 UI,也就是使用 C++ 等语言,利用操作系统原生 UI 框架开发的界面,另一部分则是采用 Web 技术开发的界面,称之为 WebUI。WebUI 开发起来比较麻烦,因为涉及到与 C++ 代码的交互,让前端开发人员开发,需要安装 Chro...

2025-01-11 21:53:12 498

原创 从电影《解密》,简单聊一聊现代密码学

上个周末,我在线上观看了电影《解密》。这部电影改编自麦家同名小说,是其谍战三部曲中的一部。影片给我最深刻的印象是主角刘昊然的表现,他完全摒弃了偶像形象,成功塑造了一个沉迷于解密、专注到忘我的天才疯子形象。刘昊然把角色的木讷、偏执和执着演绎得淋漓尽致,演技真的不错。电影的背景设定在四十年代到六十年代,那个时期电子计算机已被发明,现代密码学也已诞生。在影片中,几次出现了计算机的画面,是不是暗示着:最后...

2025-01-10 08:45:28 580

原创 一文带你弄懂安可、信创和国产系统

这一段时间在做一些信创产品,所以聊了一些国产化相关的话题。在介绍国产化系统时,就会有网友质疑,国产系统使用的 Linux 内核,算什么国产。还有的朋友会问,听你介绍了这么多国产系统,好像周围没什么人使用国产系统。其实我们可以参考其它的行业,就拿汽车工业来说吧。从一汽成立算起,中国汽车工业也是发展了 70 年。改革开放之后,开始引入外资,以市场换取技术,然后满大街的合资车、进口车,国产车一直步履蹒跚...

2025-01-09 09:18:31 587

原创 都是软件版本兼容惹的祸:龙芯 UOS 系统上 Qt Creator 启动失败

在《在龙芯迷你电脑上搭建开发环境》一文中,我详细介绍了如何在龙芯 UOS 系统上搭建开发环境,这其中就介绍了 Qt 开发工具 Qt Creator 的安装过程。然而,Qt Creator 安装之后,从菜单上启动,没有任何反应,从终端上启动,提示如下:alex@alex-loongson-MiniPC:~$ qtcreatormesa: CommandLine Error: Option'he...

2025-01-08 08:22:36 832

原创 工作是属于公司的,而职业生涯却是属于你自己的

2025年伊始,我不可免俗为自己制定了几个新年计划,这其中有一个就是读 12 本书。2025 年,我读的第一本书是《软技能:代码之外的生存指南(第二版)》。这本书还没读完,但我已经迫不及待的想和大家分享一下。这本书一开始就引用了厄尔·南丁格尔的一段话:你所能犯的最大错误就是相信自己是在为别人工作。这样一来你对工作的安全感已然尽失。职业发展的驱动力一定是来自个体本身。记住:工作是属于公司的,而职业生...

2025-01-07 08:35:57 646

原创 从 X11 到 Wayland,迈出这一步为何如此艰难?

在 IT 世界中,Linux 系统无处不在。从嵌入式系统到手机、桌面和服务器,Linux 扮演着不可或缺的角色。在嵌入式领域,Linux 系统几乎独占市场;在手机领域,基于 Linux 内核的 Android 与 iOS 分庭抗礼;在服务器领域,Linux 早已确立了绝对统治地位。然而,唯独在桌面领域,尽管 Linux 发行版种类繁多,却始终未能撼动 Windows 的地位。甚至连 Mac OS ...

2025-01-06 08:31:31 871

原创 FUSE 文件系统和 libfuse 介绍

前言这几天为了解决浏览器产品中的一个问题,研究了一下 FUSE(Filesystem in Userspace)。通常,应用程序开发只需要使用系统 API 进行文件读写操作,不需要了解文件系统的细节。在 Chromium 中为了实现跨平台,甚至对各操作系统的文件 API 进行了封装。在代码中使用封装 API,都不需要了解各操作系统所提供的文件系统 API。但由于我们的浏览器产品中使用了 FUSE ...

2025-01-05 08:23:55 759

原创 UOS 系统 Qt 版本切换

最近在 UOS 1070 版本上编译Union Code 软件,结果出现如下错误:-- process ts file: /home/alex/work/deepin-community/deepin-unioncode/assets/translations/en_US.tsCMake Error at assets/CMakeLists.txt:25 (message): process...

2025-01-04 08:32:23 496

原创 注意,使用这款 Python 软件可能会带来麻烦

在上一篇文章《龙芯 UOS 系统升级 Python》中,介绍了 UOS 系统上多种 Python 版本共存并切换的方法。有朋友问,为什么不使用 Anaconda 这款工具呢?的确,在 AI 时代,Anaconda 的确是非常优秀的 Python 包管理工具。它不仅支持多种 Python 版本,还可以支持虚拟环境,避免不同项目之间 Python 包出现冲突。没有使用 Anaconda 的原因之一是,...

2025-01-03 08:52:32 822

原创 龙芯 UOS 系统升级 Python

Python 是目前最流行的编程语言之一,特别是进入 AI 时代,Python 语言是当之无愧的老大。作为一名 C/C++ 程序员,在工作中也难免用到 Python。比如 Chromium 开源项目中,大量使用了 Python 脚本。一般 Linux 系统都预装了 Python 环境,比如 UOS V20 版本默认的 python 为 python 2.7.16。$ python --versio...

2025-01-02 08:08:16 358

原创 在龙芯迷你电脑上搭建开发环境

之前我写过一篇文章《龙芯迷你主机,用来办公怎么样?》,到现在已经使用了一段时间。整体体验下来,系统是可用的,但离完美仍有差距,主要原因是龙芯生态中的应用还非常匮乏。原本在 UOS 系统下,应用就比 Windows 少很多,而龙芯版 UOS 系统的应用更加稀缺。面对这样的困境,我们可以抱怨,但并没有太大意义。反过来思考,龙芯上的应用稀缺,国家又决心推广,这是否意味着开发人才存在缺口?这或许是一个机遇...

2024-12-31 19:26:48 706

原创 我的2024

时间飞逝,2024年已接近尾声。很多公司都有提交年终工作总结的要求,想必很多朋友已经提交了年度工作总结。由于我到新公司才几个月,今年得以免除。不过,不管过去的一年是好是坏,都值得做一个回顾。借此机会,我想简要总结一下我的2024年。一今年,我的职业生涯又有新的变动,从一家小公司进入到一家行业领先的中型软件企业。能够在奔五的年龄重新就业,说起来也是因为这个公众号。虽然坚持写了多年,关注度一直不高,阅...

2024-12-27 22:04:39 740

原创 浏览器中的国密应用接口规范

最近,有客户咨询浏览器中是否提供了国密标准中的 js 接口。说实话,接到这个问题还有点懵。之前做浏览器中的国密,实现的是 sm2、sm3、sm4算法已经 ssl 通信的国密支持,并没有涉及 js 接口。上网搜索一下国密 js,得到的结果都是使用 js 代码实现 sm2/sm3/sm4算法。这肯定不是客户想要的答案。如果纯 js 实现国密算法,那就不需要浏览器做什么了。又进行了一番搜索,还是没找到答...

2024-12-19 21:44:45 309

原创 龙芯迷你主机,用来办公怎么样?

在《国产芯片+国产操作系统打造办公系统》这篇文章中,我分享了用国产统信 UOS 系统替代 Windows 系统办公的体验。当时使用的是一台搭载兆芯 CPU 的迷你主机。最近关注国产 CPU 的进展时,发现有一款搭载龙芯 CPU 的迷你主机上市了,顿时心动不已。本想趁双十一薅点羊毛,搭上政府购物补贴的便车,但等了许久,这款主机始终未列入补贴名单。最终还是原价拿下——虽然说是原价,但实际上稍有优惠,原...

2024-12-07 11:45:16 884

转载 Wine 开发系列之 —— 入门

这篇文章最早写于 2019 年的公司内网,后来经过多方辗转,开始在网络上流传。经过 5 年多的发展,现在的 Wine 和当时相比略有不同,本着负责任的原则,本文在原有基础上进行更新。为了与原始文章作对比,更新的内容添加在文章末尾。说起 Wine,稍微资深一点的 Linux 用户应该都听过,但是真要说起 Wine 到底是怎么回事,可能大多数人不见得说得清。这篇文章会简单的介绍 Wine 的工作原理,...

2024-11-28 09:49:57 132

原创 Linux 系统下的硬件视频加速

在浏览器研发中,GPU 硬件加速相关的问题常常令人头疼,而这些问题中,视频播放更是棘手。回顾以往,在基于 Android 系统开发浏览器时,我曾撰写了一系列与浏览器视频播放相关的技术文章:Chromium HTML Video 媒体播放代码梳理选择最新 Chromium,支持 H264 / H265Chromium 改造实录:增加 MPEG TS 格式支持Chromium 改造实录:增加 MP2 ...

2024-11-17 12:08:03 727

原创 QCefView 在信创项目中的应用

虽然使用 C/C++ 编程语言多年,但直到去年才开始使用 Qt 开发软件。使用了 Qt 之后,才感觉使用 C/C++ 开发应用软件也并没有想象中那么困难。Qt 的跨平台特性也非常适合信创项目开发,因为信创项目大多基于国产 Linux 系统进行开发。Linux 系统虽然在服务器端取得了非常大的成功,但桌面端的应用软件开发却一直没有什么起色。采用 Qt 开发,可以兼顾主流的 Windows 和 Mac...

2024-11-11 20:24:00 771

原创 AI 心目中的我

这两天网上有个很流行的游戏,就是向 ChatGPT 提问:根据你对我的所知,请绘制一张图,画一下你心目中我现在生活的样子。然后 ChatGPT 就画出了下面这张图:当然,第一次问这个问题的回复是:然后图下面给的描述是:这是根据我对你工作与生活环境的想象绘制的画作。它展示了一个现代化的开发者工作台,包含了大屏显示器、技术设备、书籍和咖啡,营造出舒适而专注的氛围,窗外的都市夜景也为场景增添了一份静谧感...

2024-11-10 14:27:06 416

原创 点赞!微信4.0原生国产系统版本和 Windows、 MacOS 版本同步发布,还支持龙芯、麒麟等国产芯片...

在此前的文章《国产芯片+国产操作系统打造办公系统》中,我分享了在 UOS 系统上工作的体验。尽管未提及微信,原因是微信主要定位于移动通讯软件。但在工作过程中,微信 PC 版的使用频率还挺高,比如在和外部客户、合作伙伴沟通,很多时候都是通过微信。在电脑上使用,打字,收发文件,都比在手机上方便很多。尽管 UOS 应用商店早早上线了微信,最初的版本却是基于 Wine 运行的 Windows 版,随后微信...

2024-11-07 20:53:09 1355

原创 对标 Windows Copilot 的 UOS AI,升级后更能打了

进入 2024 年,AI 应用迎来大爆发,不仅各类应用纷纷宣称“AI 赋能”,操作系统也不例外。前有 Windows Copilot,后有 Apple Intelligent,手机行业更是积极,各种 AI 手机纷纷发布。国产信创系统自然也不甘落后,UOS AI 正是其中的代表。在 Deepin V23 正式发布时,我就注意到了这款对标 Windows Copilot 的 UOS AI,当时我还写了...

2024-11-04 21:33:34 697

原创 能在 CPU 上运行的开源大模型推理框架

如今,大模型的发展势头迅猛,而且,大模型的演进出现了两种分化趋势:一方面,开源大模型的规模不断扩大,从最初的数十亿参数迅速扩展到数千亿参数,照这个趋势,很快就会突破万亿级的超大规模。这类巨型模型通过引入更丰富的语义理解、复杂的推理能力和跨领域知识整合,展现出强大的智能。各大厂商开展军备竞赛,为了追求更高的准确率和更强的泛化能力,大模型的“无上限”扩展不断突破技术和硬件的边界。另一方面,模型也在向小...

2024-10-28 23:20:18 1165

原创 Deepin V23 / 统信UOS 下安装与配置 tftp

几个月前,我将开发系统从 ubuntu 切换到 Deepin,当时写过一篇文章《使用国产操作系统作为开发系统》。几个月下来,没有感觉有什么不适应,Ubuntu 能做的事情,在 Deepin 上都能做。而且有 UOS 应用商店的加持,很多 Windows/Linux 应用程序,可以直接从应用商店安装,不需要自己去配置安装,所以总体感觉比 Ubuntu 用得更顺手一些。昨天有个朋友在《统信UOS / ...

2024-10-20 19:03:11 1408

原创 乘坐地铁通勤的日子里 - 续篇

去年,由于喜提大礼包,被动的换了一份工作,又因为陪读,从光谷搬到汉口居住,通勤时间陡然增加。每天乘坐地铁上下班,来回需要将近两个小时。不过,我并未感到特别辛苦,还曾写过一篇文章:乘坐地铁通勤的日子里,记录了这段特殊的通勤时光。今年,我又换了工作,而这次的工作地点更远,位于光谷东,通勤距离直接翻倍。起初,我并没有太在意,毕竟此前每天通勤两小时已经习惯了,况且在地铁上还能利用时间阅读、听音乐或冥想。漫...

2024-10-19 23:12:13 687

原创 走,让我们卷到国外去

这几年,“内卷”这个词频繁出现,大家动不动就会抱怨卷。不仅个人觉得卷,老板也觉得卷。过去,我们的角色更像是“世界工厂”,只需开足马力生产,将产品销往全球各地即可。然而,随着全球市场的变化,出口渠道开始受阻,国内需求尚未充分激活。商品能源源不断的提供,但需求不足,这不就得内卷吗?但是,卷来卷去,大家都觉得累,还挣不到钱。以前读过九边和卢克文的文章,提到过一个有趣的观点:比我们发达的国家没有我们勤奋,...

2024-10-18 08:13:35 587

原创 将 QT 应用程序打包成如意玲珑软件包

在上一篇文章《国产系统之如意玲珑》中,我为大家介绍了一款创新的国产软件包管理工具——如意玲珑(Linyaps)。该工具集致力于解决 Linux 系统下传统软件包格式带来的复杂性和依赖问题,提供了一种更独立、更简洁的打包和管理方式。本文将通过一个简单的 QT 应用示例,带大家走一遍如何将其打包成玲珑包的过程。虽然如意玲珑项目的官网提供了一些文档和示例,但在实际项目中仍会遇到不少问题,我也在这次探索中...

2024-10-13 22:08:23 982

原创 国产系统之如意玲珑

在使用 Deepin/UOS 系统时,我注意到应用商店新增了一个“玲珑应用”的类别。经过一番了解,发现这是一种最新研发的国产软件包格式——如意玲珑。那么,什么是如意玲珑?为什么要开发这样一种全新的软件包格式?这篇文章就带大家深入探索如意玲珑的世界。如意玲珑(Linyaps)是一种新型的独立包管理工具集,专注于解决Linux系统下由传统软件包格式的复杂性和交叉依赖关系引起的兼容性问题。1许多从 Wi...

2024-10-11 07:59:31 1103

原创 期待中的鸿蒙 PC 版系统,恐怕还得等一等

余承东在最近的一次直播中提及的鸿蒙 PC,激发了公众的广泛想象。众多媒体纷纷预测,鸿蒙 PC 操作系统可能即将问世。在前一篇文章《鸿蒙系统 PC 版要来了?和现有国产 PC 系统有什么不同?》中,我对鸿蒙系统进行了分析,由于采用微内核架构,鸿蒙其实并不太适合做 PC 系统,除非华为在微内核架构上有着重大大的突破。显然这个突破短期内难以达到,况且华为现在精力都放在手机、平板等终端设备上。而 PC 生...

2024-10-09 08:34:50 316

原创 在 UOS 下利用 QEMU 搭建飞腾 ARM64 的开发环境

近年来,在政府的推动下,国产操作系统(主要是统信 UOS 和麒麟 OS)以及相关软件的市场份额不断扩大。越来越多的企业和事业单位开始采用国产操作系统和软件,国产化替代进程正如火如荼地进行。目前,信创产业链上下游百花齐放,国产芯片领域更是群雄并起,如麒麟、兆芯、海光、龙芯、飞腾、申威等。作为产业链中的一环,软件开发者也面临一个普遍问题:需要适配多种硬件平台。前几天,一位客户询问我们是否提供飞腾架构统...

2024-09-30 21:51:43 1861

原创 鸿蒙系统 PC 版要来了?和现有国产 PC 系统有什么不同?

最近关于鸿蒙系统的消息不断。9月20日,央视新闻全程直播了上海南京东路华为全球最大旗舰店的华为 Mate XT 非凡大师三折叠屏首销活动。这场直播的焦点无疑是华为 Mate XT 三折叠屏手机,令人印象深刻。在直播过程中,余承东无意中提及了鸿蒙 PC,就是下面这一段:在视频中,余承东表示,由于美国新一轮制裁,Windows PC 停止供货。目前的华为PC将是最后一批搭载 Windows 系统的笔记...

2024-09-29 12:19:48 3874

原创 统信打印管理器新版发布,办公打印不用愁

在之前的文章《国产芯片+国产操作系统打造办公系统》中,我分享了自己使用统信 UOS 作为办公系统的体验。有人反馈说,国产信创系统对打印机的支持不太好。其实,很多人对于国产操作系统,甚至是 Linux 系统的认识,依旧停留在过去。如今,国产系统对打印机的兼容性和支持已显著提升。就拿我目前使用的统信 UOS 来说,它内置了一个非常好用的打印管理器 App,极大简化了打印机的管理,成为我工作中的得力助手...

2024-09-25 20:46:39 509

原创 统信UOS / Deepin系统任务栏卡死解决方法

在使用统信 UOS / Deepin 系统时,偶尔会出现任务栏卡死的现象。具体说来就是系统底部的任务栏点了没有反应,此时已经打开的窗口可以响应,但是没法切换窗口,也无法从任务栏打开新的应用程序。我之前在 Windows 下遇到过类似的问题,解决方法是杀掉任务栏进程,系统会自动再重启一个任务栏进程。在 UOS / Deepin 下是不是也有类似的解决方法?首先按 Ctrl + Alt + Del 组...

2024-09-18 07:23:37 1507

原创 国产芯+国产系统休闲娱乐之体验

在《国产芯片+国产操作系统打造办公系统》一文中,我分享了使用国产系统替代 Windows 办公电脑的体验。这是一台迷你主机,有一点方便,就是可以装在包里,带回家使用。所以这样一台电脑,平时放在办公室作为办公电脑,偶尔也会带回家,用作休闲娱乐。不过,说到家中的娱乐中心,手机已经几乎取代了电脑的位置。手机轻便易携,躺在沙发上刷刷短视频,快活似神仙。然而,作为一名曾经经历过电脑时代的老玩家,我依旧钟爱电...

2024-09-14 19:17:37 946

原创 Deepin V23下 EasyConnect VPN 问题之解决

今天是周末,在家休息,突然想起有个文档还需要修改(苦命的打工人)。文档存放在公司内网,因此我需要通过 VPN 来访问。如今,许多公司都采取内外网隔离的部署方式,但为了满足远程办公的需求,通常需要在外部电脑上安装 VPN 软件。VPN 的主要功能是通过公共网络建立一个专用的加密通道,借助 VPN 网关实现数据加密传输和远程访问。按照 IT 支持部提供的指南,需要下载一个 EasyConnect 软件...

2024-09-08 11:34:16 1062

原创 国产芯片+国产操作系统打造办公系统

在《使用国产操作系统作为开发系统》一文中,我介绍了将开发系统从 Ubuntu 替换为 Deepin 系统的过程。经过一个多月的使用,Deepin 系统已然成为我的主力开发平台,其顺手程度让我对国产操作系统的信心大增。于是,我开始将目光瞄向公司的办公电脑。在公司,每位开发人员都有两台电脑:一台配置较高的开发机,另一台则是用于普通办公的 Mail 机。Mail 机配置相对低下,M是那种低配高价的办公电...

2024-08-31 14:09:38 894

原创 在 Deepin 系统中搭建 Node.js 开发环境

Node.js 是基于 Chrome V8 JavaScript 引擎的运行时环境。它使得 JavaScript 不再仅限于前端,而可以扩展到后端开发,从而在传统由 C/C++、Java、Go 等语言主导的领域中占据一席之地。JavaScript 语言本身简洁易用,加上 Node.js 提供的大量模块,使得开发者能够快速构建和部署应用程序。如今,Node.js 在开发可扩展的网络应用和实时应用方面...

2024-08-26 21:52:40 624

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关注的人

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