首页
学习
活动
专区
工具
TVP
发布

phodal

专栏作者
294
文章
288392
阅读量
62
订阅数
低延迟架构体系初探:如何从硬件到应用开发提升性能?
几年前,在通信领域的技术咨询经历,初步了解到预分配内存管理机制,其对于性能的改善是多么的明显。最近,也从点点滴滴的金融科技的领域,看到了高频交易所需要的低延时架构技术(当然了,国内在该领域受限于特色背景),也有点如出一辙的味道。而在未来,“元宇宙” 可能会换个新的名词,但是呢,它依旧也需要一系列的低延迟架构设计模式。
Phodal
2023-01-04
7870
架构自治服务:构建数据驱动的架构洞察
架构自治服务是一种面向架构分析领域的数据自助服务。它提供了一种集成一体的数据分析方案,让开发人员、架构师、管理者等可以根据不同任务,自由搭配、组合出适用于自身洞察需求的任务/函数。 最近,刚好看到两本书名非常有意思的书:《持续 API 管理》、《数据自助服务实践指南》,前者书的内容对不起大纲,后者书的标题对不起内容 —— 内容是好内容,但是标题不对。原书的标题是《The Self-Service Data Roadmap》,重点在于介绍各种数据自助服务的模式和路线图。 回到正题上来,这两本书的书名让我开始思
Phodal
2022-06-27
4990
架构治理基石:基于规范 + 模式的工具化
围绕于 ArchGuard,我们一直在探索适合于大多数企业的治理模式。通常来说,对于应用架构的治理来说,我们的预期目标是,对应的架构设计(广义上的)能被采纳和遵守。如果过程中出现有流程上的问题,导致了架构在实施过程中,架构会不断偏离预期的设计。那么,我们就会致力于匹配设计相应的规范、规则和函数,来确保后续在实施过程中是能正确的落地。 也因此,在架构治理上,我们可以用一些简单的元素来进行概括。 模式。寻找坏的味道,并使用好的设计来改进它。 规范。一个关于架构决策的文档化。 规则 。规范的工具化与形式化表示 于
Phodal
2022-06-14
3680
解密!第一个开源架构工作台的构建过程
构建一个架构工作台并不是一件容易的事,涉及到了一系列的编译器相关的知识,编辑器相关的知识,当然还有其核心的架构相关的知识。工作台架构图所下所示: 在五月底,经历了一系列的磕磕碰碰,我们终于算是 release 了第一个 “可用” 的架构工作台的 alpha 版本(如何定义可用呢?)。在这个早期的 demo 版本里,你可以尝试一下,我们在 ArchGuard 中构建的架构即代码的理念,以及如何围绕于一个系统构建出一个工作台?更有意思的是,当你掌握了构建工作台的能力之后,你就看到到处都是工作台,比如 API
Phodal
2022-05-30
1.1K0
架构工作台:构建企业(应用)架构的数字孪生
架构工作台是一个环境,其设计初衷用于帮助人们设计架构、演进架构、观测架构,并有效地运用架构所需要的高质量工具,如交互式的架构开发和分析。 在上一篇文章《架构即代码:编码下一代企业(应用)架构体系》中,我们介绍了架构即代码的思想,它是如何围绕于架构的一系列模式,将架构元素、特征进行组合与呈现,并将架构决策与设计原则等紧密的与系统相结合。 而为了实施及落地架构即代码的理念,还需要构建一个运行这些代码的平台,我们称它称为架构工作台。可是,为什么我们要构建一个架构工作台?仅仅是为了好玩。 为什么构建架构工作台? 在
Phodal
2022-05-23
3010
架构即代码:编码下一代企业(应用)架构体系
架构即代码,是一种架构设计和治理的思想,它围绕于架构的一系列模式,将架构元素、特征进行组合与呈现,并将架构决策与设计原则等紧密的与系统相结合。 如我的上一篇文章《为“架构”再建个模:如何用代码描述软件架构?》中所说,要准确描述软件的架构是一件颇具难度的事情。仅就实现的层面来说,也已经很难通过一个标准模型来让所有人达成一致,“哦,这就是架构”。也因此,在无法定义架构的情况下,也很难无法给出一个让所有人信服的架构治理模型。毕竟:模型只有合适的,永远没有对的。 ( 示例代码见:https://github.com
Phodal
2022-05-16
5020
为“架构”再建个模:如何用代码描述软件架构?
在架构治理平台 ArchGuard 中,为了实现对架构的治理,我们需要代码 + 模型描述所要处理的内容和数据。所以,在 ArchGuard 中,我们有了代码的模型、依赖的模型、变更的模型等,剩下的两个核心的部分就是架构的模型、架构的治理模型,其它的还有诸如构建的模型等,会在后续的过程中持续引入到系统中。 PS:本文里的架构展开是基于自动化分析需求的,模型也是基于这个动机出发的。 架构是什么?? 对单个语言的代码建模并不难,对于一个语言有特别的概念,如 package、class、field、function
Phodal
2022-05-06
2280
国内首个开源架构治理平台 ArchGuard,专治分布式场景下各种不服
过去的 10 年间,软件的架构发生了巨大的变化,从早先流行的单体 MVC 架构,变成现成 5:5 开的分布式 vs 单体。只是呢,有大量的软件开发人员,并没有从单体的思维转成变化。于是,我们在一个个的组织里,见到了一个又一个的 “分布式单体”。 架构治理变得非常迫切。 Why ArchGuard? 作为一个架构师或者是软件开发人员,在架构治理上,我们面对的诸多挑战有: 设计与实现不匹配。设计的软件架构与真正实施后的架构,存在着巨大的差异。而这个差异,往往需要实施一段时间之后才能发现。 代码量巨大,难以识别。
Phodal
2022-04-02
5530
“分布式” 开发规范治理​
PS:本文只是先开个头,思考如何应对这种挑战。 如果只是从系统来考虑,标题里虽然说的是 “分布式” 规范治理,但是更多的时候是指多仓库的规范治理。而多仓库本身也充斥着一些不合理性,诸如于一个代码仓库内,可能包含着多个模块,如 monorepo。从这个角度来看,只是讨论分布式系统,可能有一些单薄。但是呢,我们在写规范,针对的是系统吗?难道不是团队中的开发人员?所以,我们所想的治理的是分布式协作的规范性问题。 回顾开发规范及其工具化 对于软件研发来说,效能的提升是一个非常宏大的史诗级话题,在这个话题里,规范的建
Phodal
2022-03-08
7420
代码分析与自动化重构工具集:Modernizing
应对于这些问题,其中的一个解决方案就是:自动化的工具,有些人喜欢称之为器。支撑这些工具的便是一系列的原则与模式,将它们融入到工具之中。另外一个解决人成长的方案就是:元元(meta-meta),这是另外一个故事。
Phodal
2022-03-04
1.3K0
回到单体架构:一个开源项目的重构
这个月,我和我的同事们正在开源一个内部的架构治理平台:ArchGuard,我们进行了一系列的遗留系统的迁移工作:
Phodal
2022-03-04
5830
Guarding:开源的多语言架构守护工具
这是一篇姗姗来迟的文章 ,我本应该紧接着在《架构守护代码化:架构文档即测试》一文之后,详细介绍我们在 Uncode 中引入的『架构守护代码化』工具 Guarding。不过呢,从时间点上来看,现在也不算太晚,笑。
Phodal
2021-07-15
7400
架构守护代码化:架构文档即测试
早先呢,我只是因为使用 Java 编写的 ArchUnit 不支持其它语言,而在其它语言的生态里呢,也没有这样的合适的工具。所以呢,我就想着在 Uncode 里设计一个全新的架构守护工具,也就是 Inherd 开源小组里的 Guarding:https://github.com/inherd/guarding/,一个多语言的架构守护工具 —— 基于 Tree Sitter 解析各类编程语言。它设计了一套外部 DSL,其借鉴于 ArchUnit 设计的内部 DSL 语法。
Phodal
2021-07-15
5000
分层架构演化:从单体的插件化演化所引起的思考
最近,在为 Coco 优化分层架构之时,我陷入了各种决策困难之中。所以我通过不断地延迟决策,以摸清更适合现有系统的现状。换个简单来说,在危险边缘徘徊,以期待能获取最大的收益。
Phodal
2021-04-02
4120
第三个系统
最近,我刚好在和我的同事一起重写 VSCode 的一部分小功能,重写过程中有一些特定的感受。正好就着最近流行的操作系统话题,写写我的想法。因为某种协议的存在,不想为自己寻找麻烦,我这里就称为第三个系统。
Phodal
2020-09-18
4030
精炼:如何打造有用的工具?
过去的几年里,我一直在打造各式各样的编程相关的工具。这些工具有的是用于指导软件开发工作,有的是用来进行编程学习,还有的纯粹是为了提升技术而写的。在我写了越来越多的工具,接触了越来越多的工具思路之后。我便想写一篇文章,用于记录一下过程中发生的一些变化。
Phodal
2020-04-22
3990
IT,大一,这里我有点建议
学好C可能不会让你找到个好工作,不知道你们用的是什么书,如果是清华大学的那本就直接丢垃圾桶吧。图书馆负一层的好书(ps:我们学校的计算机书都在负一层,看的人少。。)多得是,还有C语言作者写的,首选国外的书,然后是国内的。C的重要就是指针+数据结构。有一本不错的书,如《C和指针》及《C专家编程》。不过,如果不是搞嵌入式的话,C可能会用得很少,多数都是Java的面向对象。图书馆有很多,很不错的书。。这是我们学校的一个不算是优点的优点,我不知道你们系的老师怎样,但是请相信多数情况下只有混得不好的才来当老师(ps:很一般的二本院校)。只是少部分老师也很优秀,至少在我们专业中——电子信息工程是这样的。在我们专业领域,C才是神器相比于汇编语言,只是这个时代汇编语言用于提升运行效率显得有点。。。
Phodal
2018-10-09
5170
操作系统Emacs是如何沦落为一代编辑器的?
(本文根据史实改编,如有雷同纯属巧合) 我正在用Emacs替换IDE和Sublime Text,至于理由看另外一篇文章《Emacs是最好的编辑器~~》。 开始之前,先让我们知道今天的Emacs是长怎样
Phodal
2018-01-29
1.9K0
\b深入浅出全栈工程师: 提高效率的工具
节选自《Growth: 深入浅出全栈工程师》 在提交效率的N种方法里:有一个很重要的方法是使用快捷键。熟练掌握快捷键可以让我们随着自己的感觉编写程序——有时候如果我们手感不好,是不是就说明今天不适合写
Phodal
2018-01-29
5890
没有更多了
社区活动
RAG七天入门训练营
鹅厂大牛手把手带你上手实战
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档