自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Phodal's zenthink

待我代码编成,娶你为妻可好 @花仲马

  • 博客(913)
  • 资源 (21)
  • 收藏
  • 关注

原创 Ledge:这可能是距今最好的『DevOps + 研发效能』知识平台

过去的三星期里,因为疫情 + 种种不可告人的原因,我开始建设一个 DevOps 知识平台。GitHub:https://github.com/phoda...

2020-03-30 20:58:00 1445 1

原创 无代码编程

中台之后,便是无代码编程。规模化的组织,经常要面临这样的挑战:每个应用的基础设施是相同的,部分的代码也是相同的,甚至于它们可能只是数据模型不同而已。结果却导致了,他/她们要一次又一次地重新编写一个应用。对于一个新的应用而言,它需要对接大量的三方(非自己团队)服务。服务之间的不断变化 ,导致了对应的使用方也需要发生变化。不断变化的业务,导致了前台的设计不断变化。为了应对快速谈的的前台服务,后...

2019-04-02 09:05:27 14443 16

原创 致JavaScript也将征服的物联网世界

凡是能用JavaScript写出来的,最终都会用JavaScript写出来。—— Atwood定律在那篇《最流行的编程语言JavaScript能做什么?》里,我们列举了JavaScript在不同领域的使用情况,今天让我们来详解一下JavaScript在物联网中的应用。基础:物联网的三个层级开始之前, 先让我们简单地介绍点物联网的基础知识。如果你有点Web开发经验的话,都知道下图是CS架构:相比于一

2016-08-07 22:14:26 32266 29

原创 软件开发工业化:架构语言 Fklang 对下一代架构设计的探索

过去的几个月的业余时间里,一直在设计一个名为 Fklang ( https://github.com/feakin/fklang )的架构 DSL,以 DDD(领域驱动设计)为指导思想构建,除了完成 MVP 原型的编译器与代码生成,还可以使用 Jetbrains IDE 开发(搜索 Feakin)。首先,架构描述语言或者设计语言并不是一个新的东西,Fklang 也是旧瓶新装。我们只是按自己的理解去...

2022-11-20 20:58:18 19

原创 自动增量计算:构建高性能数据分析系统的任务编排

在起始的那篇《金融 Python 即服务:业务自助的数据服务模式》,我们介绍了:使用 Python 如何使用作为数据系统的 wrapper 层?在这一篇文章里,我们将继续之前的话题,介绍如何使用 Python 作为计算引擎核心的胶水层,即:如何使用 Python 构建 DAG(有向无环图,Directed Acyclic Graph) 任务?除此,还可以了解一下,如何设计增量 DAG 计算?先看一...

2022-11-06 20:58:15 149

原创 如何构建高性能可视化架构?一个交互式实时数据引擎的架构设计

在分析 SecDB、Athena、Quartz 几个实时金融与风险分析平台的时候,发现了 Perspective —— 一个 FinTech 开源基金会 FinOS 旗下开源的交互式分析和可视化组件库,由摩根大通(J.P. Morgan Chase)公司开源出去的流式数据可视化组件库。所以,从某种意义上来说也是《金融 Python 即服务:业务自助的数据服务模式》 的后续展开,也可以算是低延迟架构...

2022-10-31 20:58:19 201

原创 低延迟架构体系初探:如何从硬件到应用开发提升性能?

几年前,在通信领域的技术咨询经历,初步了解到预分配内存管理机制,其对于性能的改善是多么的明显。最近,也从点点滴滴的金融科技的领域,看到了高频交易所需要的低延时架构技术(当然了,国内在该领域受限于特色背景),也有点如出一辙的味道。而在未来,“元宇宙” 可能会换个新的名词,但是呢,它依旧也需要一系列的低延迟架构设计模式。在探索的过程中,有感于一系列反直觉的架构模式/设计模式。于是乎,作为低延迟架构领域...

2022-10-24 20:58:30 521

原创 金融 Python 即服务:业务自助的数据服务模式

最近,在研究国外的金融科技公司,他们如何构建他们的平台战略?机缘巧合之间,刚好看到一篇关于Bank Python 相关的文章《An oral history of Bank Python》。在这篇文章里,介绍了 Bank Python 的四种基础构建块:Barbara, the great key value storeDagger, a directed, acyclic graph of fi...

2022-10-16 20:58:14 246

原创 如何用 DDD 给 DDD 建模,破解 DDD 的魔法?

“所有模型都不对,但总有一些是有用的。” —— George BoxDDD 全称是 Domain-Driven Design,而不是我们所擅长的 Deadline-Driven Design。本来,对于再炒这一波冷饭,实在是没有啥乐趣。直到,我发现它可以炒成蛋炒饭 —— 加入 Feakin 的图形生成,适量的编译器知识,还有半勺 WASM。所以,这就是我们所要做的事件,为 DDD 建个模,基于模型...

2022-09-18 20:58:15 271

原创 如何构建一个在线绘图工具:Feakin 是如何设计与构建的?

高中,读过几本 3D 图形编程相关的书。怎么说呢,自那以后,图形学相关的东西,都不在我的兴趣范围里了。直到最近,我重新燃起了一点兴趣:架构治理工具 ArchGuard 依赖于「图即代码」,用于生成架构图,以更好的进行架构治理。年初,开源的知识管理工具 Quake 中,需要支持「概念构建系统」这样一个理念。需要管理多种不同的图形格式。当然了,作为一个 Firefox 浏览器的忠实用户,Firefox...

2022-08-28 20:58:49 201

原创 移动应用架构治理初探:从依赖分析与 Android 应用的生命周期说起

最近的项目比较忙,能腾出的业余时间不多。周内,“机缘巧合” 之下,与国内的某知名手机厂商的架构师们,一起聊了聊如何进行 Android 的架构治理,而其中的出发点是:如何从依赖治理的角度来进行 Android 的架构治理?作为一个非常熟悉 Android 和 Harmony OS 依赖分析的、非专业移动应用开发者,我大抵还算是有一定的经验。先从结论来说,Android 应用与一般的 Web 应用存...

2022-08-21 20:58:52 83

原创 成长的模式:如何从毕业生到技术专家?

过去的一个月里,在帮助其他部门进行毕业生培训。从名称上说是培训,但是实际上则是训战结合。不想一下子给太多,这篇文章会给的建议是:寻找持续成长的动机塑造整洁的编码习惯建立定位问题的方式学习既有的模式频繁性自我总结只凭这五点来说,与《福格行为模型》所定义的三要素也是颇为相似的:要素1 动机(Motivation):找到实现愿望的黄金行为要素2 能力:让行为简单到随时顺便都能做要素3 提示:善用锚点时刻...

2022-08-15 20:46:31 5306 12

原创 图的抽象:如何从概念的定义中提取模型?

最近的业余时间里,一直在研究图相关的领域,顺便构建出 feakin 图形引擎。在研究了 Mermaid、Cytoscape、Drawio/MxGraph/MaxGraph、Excalidraw 等图形库之后,大概写了两个 PoC(概念验证):数据的处理。即将文本转换为可渲染的数据模型。即结合语法解析、图算法来对数据进行处理。图形的渲染。即基于 Konva.js 的 Can...

2022-08-07 20:54:46 74

原创 1000 行输入框的养成:如何平衡体验与灵活性?

在编程的时候,我们会一直考虑所为的「灵活性」的问题。灵活性,可以降低我们变更的成本,减少部署的频率,进而提供更好的开发体验。而与此同时,追求实现的灵活性,可能会影响用户的体验。如何平衡这两种就是一个非常有意思的问题。不过呢,我们一直在关注于所谓的用户的体验,但是有时候对于开发者的开发体验。如何开发体验更好的话,那么它就会带来更好的用户体验。引子在为 ArchGuard 设...

2022-07-31 20:55:49 1356

原创 图表即代码:以代码化的方式构建新一代图形库 —— Feakin

图表即代码是将图表以领域特定语言作为载体,围绕于不同的使用场景,转译生成二次产物 —— 如概念图、架构图、软件架构等。对于造图形库这个库,我的想法由来已久。然而,直到最近,积压的需求越来越多的时候:随着,我们在 ArchGuard 中的架构工作台的进一步深入,需要构建一个架构设计线上化的功能。对于 ArchGuard 平台而言,设计线上化并意味着在线设计架构。在初期,我们...

2022-07-16 20:58:10 325

原创 思维图形化:探索如何重塑知识?

我们学习到的某一个领域的知识,很少会孤立存在的。当我们有意识地去发掘的时候,便会惊讶地发现:它们之间存在联系。这也就是我写这一篇文章的目的,尝试去建立对于思维图形化的推理过程。显然,与结果相比,过程也许是这篇文章的一个重点。虽然,文章的大部分原理来自于认知语义学——即有关语言中概念内容及其结构的现象学。而我并非这方面的专家,我只是偶然间看过相关的书,但是我觉得它们之间...

2022-07-10 22:04:53 319

原创 面向开发者的网站,真的是认真设计过的吗?

最近几年,随着技术产品化的流行,越来越多的公司(如云厂商、开源软件公司)将软件提供给市场,2D(to Developer)成为了一种炙手可热的商业 “风口”。所以,我们会看到各种面向开发者的网站以及各类的服务。只不过,绝大多数的公司并没有考虑开发者们的体验,诸如于:只需要在网站轻松点击三步,你就可以创建一个项目。呵,就不能提供个 CLI 一步到位吗?在页面上拖拉拽就可以构...

2022-07-03 20:58:36 405

原创 社区驱动开发:技术选型的另类浅析

PS:一篇纯吐槽而主的文章,请不要过分代入。六月,在探索一些技术选型的发展趋势 —— 除了研究国内的技术趋势,也研究了一部分的国外技术趋势。当然,结果是显而易见的,国外的技术选型上,依旧还是比国内领先的。但是呢,国内也没有那么差,只是受限于基础不够扎实的原因,还处于追赶状态。为了简化大家的理解,我把这种选择趋势称之为:社区驱动开发。简单来说,就是技术社区上流行什么,那么这...

2022-06-27 20:58:30 499

原创 架构自治服务:构建数据驱动的架构洞察

架构自治服务是一种面向架构分析领域的数据自助服务。它提供了一种集成一体的数据分析方案,让开发人员、架构师、管理者等可以根据不同任务,自由搭配、组合出适用于自身洞察需求的任务/函数。最近,刚好看到两本书名非常有意思的书:《持续 API 管理》、《数据自助服务实践指南》,前者书的内容对不起大纲,后者书的标题对不起内容 —— 内容是好内容,但是标题不对。原书的标题是《The S...

2022-06-26 22:37:05 430

原创 架构治理基石:基于规范 + 模式的工具化

围绕于 ArchGuard,我们一直在探索适合于大多数企业的治理模式。通常来说,对于应用架构的治理来说,我们的预期目标是,对应的架构设计(广义上的)能被采纳和遵守。如果过程中出现有流程上的问题,导致了架构在实施过程中,架构会不断偏离预期的设计。那么,我们就会致力于匹配设计相应的规范、规则和函数,来确保后续在实施过程中是能正确的落地。也因此,在架构治理上,我们可以用一些简单...

2022-06-13 20:58:31 652

原创 解密!第一个开源架构工作台的构建过程

构建一个架构工作台并不是一件容易的事,涉及到了一系列的编译器相关的知识,编辑器相关的知识,当然还有其核心的架构相关的知识。工作台架构图所下所示:在五月底,经历了一系列的磕磕碰碰,我们终于算是 release 了第一个 “可用” 的架构工作台的 alpha 版本(如何定义可用呢?)。在这个早期的 demo 版本里,你可以尝试一下,我们在 ArchGuard 中构建的架构即代...

2022-05-29 20:58:46 998

原创 架构工作台:构建企业(应用)架构的数字孪生

架构工作台是一个环境,其设计初衷用于帮助人们设计架构、演进架构、观测架构,并有效地运用架构所需要的高质量工具,如交互式的架构开发和分析。在上一篇文章《架构即代码:编码下一代企业(应用)架构体系》中,我们介绍了架构即代码的思想,它是如何围绕于架构的一系列模式,将架构元素、特征进行组合与呈现,并将架构决策与设计原则等紧密的与系统相结合。而为了实施及落地架构即代码的理念,还需要...

2022-05-22 20:58:21 3057 4

原创 架构即代码:编码下一代企业(应用)架构体系

架构即代码,是一种架构设计和治理的思想,它围绕于架构的一系列模式,将架构元素、特征进行组合与呈现,并将架构决策与设计原则等紧密的与系统相结合。如我的上一篇文章《为“架构”再建个模:如何用代码描述软件架构?》中所说,要准确描述软件的架构是一件颇具难度的事情。仅就实现的层面来说,也已经很难通过一个标准模型来让所有人达成一致,“哦,这就是架构”。也因此,在无法定义架构的情况下,...

2022-05-15 20:53:00 4784

原创 为“架构”再建个模:如何用代码描述软件架构?

在架构治理平台 ArchGuard 中,为了实现对架构的治理,我们需要代码+模型描述所要处理的内容和数据。所以,在 ArchGuard 中,我们有了代码的模型、依赖的模型、变更的模型等,剩下的两个核心的部分就是架构的模型、架构的治理模型,其它的还有诸如构建的模型等,会在后续的过程中持续引入到系统中。PS:本文里的架构展开是基于自动化分析需求的,模型也是基于这个动机出发...

2022-05-05 20:58:00 1043 1

原创 专家 x 抽象 x 类比

多年以前,我一直对于 “专家” 这一词有大量的困惑。到底怎样才是专家?怎样才算是技术专家?社交媒体上所谓的 “技术专家”,在某方面(如编程)上的实力一般,也算是专家吗?过去,我并没有细入的思考过这个问题,直到看到一个软件的元模型,以及一本名为《表象与本质》的书,才重新构建起一个专家的雏形 —— 感谢公司大佬之前推荐的 GEB。在这里,便尝试性地做出第一次小结。作为第一次小...

2022-04-18 20:58:00 1088 1

原创 国内首个开源架构治理平台 ArchGuard,专治分布式场景下各种不服

过去的 10 年间,软件的架构发生了巨大的变化,从早先流行的单体 MVC 架构,变成了所谓的 5:5 开,即分布式 vs 单体。只是呢,有大量的软件开发人员,无法看到系统的全貌,又或者是从单体的思维转变过来。于是,哪怕是在使用了微服务的情况下,但是实现的却又是一个一个的单体,只是它们变成了“分布式的单体”。

2022-04-08 14:03:18 7406 5

原创 国内首个开源架构治理平台 ArchGuard,专治分布式场景下各种不服

过去的 10 年间,软件的架构发生了巨大的变化,从早先流行的单体 MVC 架构,变成现成 5:5 开的分布式 vs 单体。只是呢,有大量的软件开发人员,并没有从单体的思维转成变化。于是,我们在一个个的组织里,见到了一个又一个的 “分布式单体”。架构治理变得非常迫切。Why ArchGuard?作为一个架构师或者是软件开发人员,在架构治理上,我们面对的诸多挑战有:设计与实现...

2022-04-01 14:02:29 1627

原创 “分布式” 开发规范治理​

PS:本文只是先开个头,思考如何应对这种挑战。如果只是从系统来考虑,标题里虽然说的是 “分布式” 规范治理,但是更多的时候是指多仓库的规范治理。而多仓库本身也充斥着一些不合理性,诸如于一个...

2022-03-07 20:58:00 1179

原创 回到单体架构:一个开源项目的重构

这个月,我和我的同事们正在开源一个内部的架构治理平台:ArchGuard,我们进行了一系列的遗留系统的迁移工作:从 Maven 到 Gradle。原因是灵活的自定义 task,还有自带的增...

2022-02-28 08:15:07 1179

原创 代码分析与自动化重构工具集:Modernizing

遗留系统的现代化演进是一门艺术。Why 开源 + 遗留系统现代化工具在日常的软件开发里,我们经常会遇到一系列的问题,诸如于:如何解决人类智商不够的问题?模式、原则和工具谁应该去解决代码的问...

2022-02-20 20:25:57 1776

转载 开源电子书《代码分析与自动化重构》

PS:根据过去编写 Modernizing 相关的开源工具里,编写的《代码分析与自动化重构》指南。GitHub:https://github.com/modernizing/moderni...

2022-02-20 20:25:57 943

原创 前端技术规划与战略:2022

最近几年,因为前端没啥有意思的东西好玩的,主要精力就在工作相关的后端架构咨询和设计上。只是,刚好最近在编写知识管理元框架 Quake ,应用了一些算是比较新的架构思想,特别好玩。所以,这篇...

2022-01-18 20:58:00 3263 1

原创 无组件架构:你不需要知道的“新一代”前端架构模式

PS:这是一种很好玩的前端架构模式,可以创造出无限的乐趣。你不一定需要知道它,但是它真的很好玩。我写这篇文章主要是因为好玩,也没有啥新东西。很高兴在过去的几年里,微前端已经成为前端架构的一...

2021-12-19 20:57:00 2321

转载 Transflow:Quake 是如何构建以 DSL 为核心的低代码系统?

自我们发布了 Quake 项目之后,我们一直在做各种 Meta 功能。在上次 release 时,可以进行自定义的数据编辑。在这个新的版本里,将会包含一个新的数据可视化特性:Transfl...

2021-12-13 19:33:17 2244

原创 Quake 一个开源的知识管理元框架

本文使用 Quake Web 应用编写,虽然只有基本的 Command + S 来保存标题 + 内容的功能。这个简单粗糙的页面,让我想起了多年前构建 Phodit 的场景,it work...

2021-12-05 19:58:00 2251

原创 元素建模:探索建模的要素

PS:本文有些杂乱无章,偏向于是个人的一些思考。概括来讲,纵观各种语言,其语法成分汇总起来构成一个关键概念集合。—— Leonard Talmy在先前的一系列云研发体系的文章里,我们一直在...

2021-11-29 19:30:00 2120

原创 从 Codecity 到元宇宙:元宇宙的软件形态会怎样的?

PS:作为一个技术人员,对于元宇宙的未来持观望态度。为了向某人证明我买 Oculus Quest 2,是为了用于正道软件开发,而不是用于玩游戏,又或者是玩游戏。我在这周的业余时间,为 In...

2021-11-15 20:58:00 4453

原创 碎片粘合:Tasking DD 启发的思考

标题原来意指 TDD,即 Test Driven Development,用 TDD 来进行碎片化时间的粘合。只是呢,Tasking 才是 TDD 的核心,于是在新的思考之下,我重构了本文...

2021-11-08 20:58:00 1462

原创 开发者体验嗨皮书 ver 0.1 发布:《开发者体验:探索与重塑》

年初,总结了过去在平台与开源软件的一些经验,编写了那篇《开发者体验》。在那之后,陆陆续续地与不同公司、不同行业的人,一起讨论了起了开发者体验。有的是来自于内部平台的开发者,有的是源自于技术...

2021-11-02 20:58:00 1253

原创 为维护而设计:架构设计的首要原则

软件开发总成本 = 开发成本 + 维护成本;软件维护成本 = 理解成本 + 修改成本 + 测试成本 + 部署成本。—— Ken Beck在设计框架、系统架构时,可扩展性是人们想追求的特征之...

2021-11-01 20:58:00 1131

全栈应用开发:精益实践 - 实战篇

这不是一本深入前端、后台、运维、设计、分析等各个领域的书籍。本书以实践的方式,将这一系列的领域及理论知识结合到一起,来帮助读者构建全栈Web 开发的知识体系,并辅以精益及敏捷的思想,来一步步开发Web 应用:从创建一个UI 原型到编写出静态的前端页面;从静态的前端页面到带后台的应用,并部署应用;从Web 后台开发API 到开发移动Web 应用。在这个过程中,我们还将介绍一些相辅相成的步骤:使用构建系统来加速Web 应用的开发;为应用添加数据分析工具来改进产品;使用分析工具来改善应用的性能;通过自动化部署来加快上线流程;从而帮助读者开发出一个真正可用的全栈 Web 应用。同时,我们也将帮助读者把这些步骤应用到现有的系统上,改进现有系统的开发流程。

2017-07-12

我的职业是前端工程师 下载

我的职业是前端工程师 我的职业是前端工程师

2017-04-28

mongodb-win32

mongodb,db,nosql,win32,windows,

2012-06-27

Android,Bash,终端,Term

在Android上使用Bash替代sh, 详细用法可以参考我的博客http://blog.csdn.net/gmszone/article/details/7246761

2012-02-09

Android GCC Term

使用方法可以见一下我博客 http://blog.csdn.net/gmszone/article/details/7246761

2012-02-09

Chameleon Install.exe

变色龙 Chameleon Install.exe

2012-01-16

Hjmac.iso MAC

Hjmac.iso MAC

2012-01-16

The Django Book中文版

The Django Book中文版

2011-12-27

Learning Website Development with Django

Learning Website Development with Django

2011-12-27

Django讲解

Django讲解

2011-12-27

Django Documentation Release1.2

《Django Documentation Release1.2》Django Software Foundation著

2011-12-27

Django 1.2.e-commerce

Django 1.2.e-commerce

2011-12-27

Django 1.0 Template Development

Django 1.0 Template Development - A practical guide to Django template development with custom tags, filters, multiple templates, caching, and more》Scott Newman著 2008年版.pdf

2011-12-27

[经典]ARM体系结构

[经典] ARM体系结构 [经典] ARM体系结构 [经典] ARM体系结构 [经典] ARM体系结构

2011-11-14

简单多任务任务高度

简单多任务 任务高度器 操作系统 OS Almost all embedded systems are event-driven; most of the time they wait for some event such as a time tick, a button press, a mouse click, or the arrival of a data packet. After recognising the event, the systems react by performing the appropriate computation. This reaction might include manipulating the hardware or generating secondary, “soft” events that trigger other internal software components. Once the event-handling action is complete, such reactive systems enter a dormant state in anticipation of the next event.1

2011-11-14

[ActionScript.3.0.Cookbook(第1版)].源代码

ActionScript 3.0 Cookbook(第1版) 源代码

2011-11-14

ADA Language

ADA Language ADA Language ADA Language

2011-08-27

51单片机教程 新概念

单片机教程,PDF格式,来自杂志,转载。不知道作者,如有盗版,请指出

2011-04-10

ICON-XP

ICO图标制作,,,,,,方便快捷

2008-07-21

Llamaworks2d

国外的一款开源的2D游戏引擎

2008-07-21

空空如也

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

TA关注的人

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