白话架构(3)- 软件时代的造神者:从PC革命到AI浪潮,这些改变世界的天才你认识几个?
战国《鹖冠子》有云:“欲知来者察往,欲知古者察今。”
在前两篇架构系列文章中,我们追溯了计算机的起源,梳理了几代计算机的迭代脉络。今天,我们把目光聚焦于软件浪潮中的核心推动者——那些以代码为刃、以热爱为炬的“英雄式”人物。
正是他们的孤勇与专注,在软件蛮荒时代劈开了一条通路,构建起如今数字世界的基石。
战国《鹖冠子》有云:“欲知来者察往,欲知古者察今。”
在前两篇架构系列文章中,我们追溯了计算机的起源,梳理了几代计算机的迭代脉络。今天,我们把目光聚焦于软件浪潮中的核心推动者——那些以代码为刃、以热爱为炬的“英雄式”人物。
正是他们的孤勇与专注,在软件蛮荒时代劈开了一条通路,构建起如今数字世界的基石。
戈登·摩尔:摩尔定律终将失效,但创新不会停止……未来需要材料、架构、算法的协同突破。
在前一篇文章中,我们追溯了计算机的起源,见证了数字时代的萌芽。今天,我们将顺着时间线,走进四代计算机的演化历程——从体积庞大的电子管计算机,到如今融入生活的个人电脑,每一次迭代的背后,都是技术与创新的双重突破,更是架构体系不断完善的过程。
达芬奇:“学习如何看。现实中的一切都相互关联”
我们所在的宇宙如何起源?目前科学界最主流的观点是大爆炸宇宙论——一切都源于那一声惊天动地的“嘭”。
而你或许想不到,现代计算机与软件的诞生,也藏着一场大爆炸:从核爆研究中的偶然相遇,到定义行业的经典架构,再到软件开发模式的混沌与觉醒,每一步都环环相扣,最终构筑起如今的数字世界。

1929 年,爱德文·鲍威尔·哈勃(Edwin Powell Hubble,就是冠名哈勃望远镜的那位科学家)总结了红移现象,之后爱因斯坦也来到哈勃工作的威尔逊天文台进行了红移现象的观测。在此基础上,到了 1948 年前后,乔治·伽莫夫(George Gamow)第一个建立了热大爆炸的观念。
二战期间,大名鼎鼎的曼哈顿计划,哈勃并没有直接参与,但他在二战期间为美国海军研究局(ONR)提供咨询,研究雷达技术对天文学观测的干扰问题。在哈勃研究雷达技术时,可能就在他隔壁房间,有一个人正在忙着研究原子弹。
关于宇宙起源,1929 年爱德文·鲍威尔·哈勃(没错,就是哈勃望远镜的冠名者)总结了红移现象;之后爱因斯坦也专程前往哈勃工作的威尔逊天文台,亲自观测这一现象。在此基础上,1948 年前后,乔治·伽莫夫首次提出了热大爆炸的核心观念。
而同一时期的二战战场,另一场“爆炸”相关的研究正在秘密进行——曼哈顿计划。哈勃虽未直接参与,但二战期间他为美国海军研究局(ONR)提供咨询,专注于解决雷达技术对天文学观测的干扰问题。有趣的是,或许就在他隔壁的房间,另一位大佬正忙着攻克原子弹的核心难题。
AI 技术的大力发展下,很多支持辅助写作的大模型如雨后春 笋般出现。
2024年5月,朋友 @东方赞 得到了一批显卡,搭建了多套大模型,为了解决模型应用问题,他调研了当时比较火的一些应用,并重点使用和分析了 Sider AI 和 ChatBox。
最后得出结论,目前没有一个应用能很好的满足:既能对接大模型,又能自定义模型提示词,还能流程化地解决问题。于是我们展望了一下这个需求,梳理出一个核心特性:让多个 AI 模型群聊,流程化、通力解决问题。
在 Micronaut 项目中,使用了 Logback 输出日志。在添加了RollingFileAppender 后,编译 Native Image 就会报错了。
反复搜索后,发现问题原因是:编译 Native Image 也会使用 logback 进行日志输出,这个时候就会打开日志文件句柄,然后编译器发现有文件句柄被打开了,编译就被中止了。
按 GitHub 上大佬的建议,解决文案是定义一个延迟加载的 FileAppender。
当我们不论使用 Micronaut 框架还是其他框架时,如果项目中使用了 AWT 相应特性(仅特性,非 Swing 应用),比如生成图片,在我们将 Java 应用编译为 Native Image 本地应用后,可能就会报出很多和 AWT 相关的异常,导致生成图片相关功能无法使用。
Quarkus 框架给出了官方的解决方案,直接按官方方案使用插件和制作基础镜像即可。
本文将给出一个 Micornaut 框架的完整的指南和项目示例,说明如何配置可以正确正确编译出支持 AWT 特性的项目。
甲辰龙年基本已经过去,等到正月十年元宵节过后,春节就正式结束了。
在过去的一年里,各行各业都遇到了很多瓶颈。身在软件研发行业中,能感受到更多的飘摇。新的一年,我们要怎么做呢?
本文翻译自 How To Implement Synchronous Interactions Between Microservices,原作者:OLEKSII
Micronaut 的英文名字由两部分拼接而成,“micro” 是“微小”,代表微服务,“naut”是船,代表的是载体。两部分的字面意思合并起来,可以理解为微服务的载体、微服务的运载之船 。
上一篇中,我们概览一下 pig 项目的整体结构,并将其运行起来了。本篇我们进一步分析一下各子项目。