首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏喵叔's 专栏

    浅谈C4模型

    C4模型(C4 Model)是一种用于描述软件系统架构的轻量级模型,其目标是通过简化、清晰和易于理解的方式来表达系统的不同层次的架构信息。 C4代表了“上下文”(Context)、“容器”(Container)、“组件”(Component)和“代码”(Code)这四个层次。 C4模型的作者是Simon Brown,他在其著作《Software Architecture for Developers》中首次提出了这一模型。 在使用C4模型时,可以按照以下步骤进行: 绘制上下文图: 理解系统与外部实体之间的关系,标识系统的上下文,绘制上下文图。 C4模型的优势在于能够以层次化和结构化的方式呈现系统架构,使得开发人员、架构师和其他利益相关者能够更容易地理解和交流系统设计。

    1.6K10编辑于 2023-12-29
  • 来自专栏搜狗测试

    软件框架图——C4模型

    方法 在这里给大家介绍的框架图就是利用C4模型进行绘制的,C4 代表上下文(Context)、容器(Container)、组件(Component)和代码(Code)——一系列分层的图表,可以用这些图表来描述不同缩放级别的软件架构 C4 模型使用容器(应用程序、数据存储、微服务等)、组件和代码来描述一个软件系统的静态结构。同时它还考虑到使用软件系统的人。 下面案例来自互联网 1. 系统上下文(System Context) ? 结语 利用C4模型进行框架图绘制,可以通过抽丝剥茧的方式将整个框架一层一层的分离,不仅使得作图之人有的放矢,同时也使得看图之人理解的更加清晰。

    7.2K30发布于 2019-09-08
  • 来自专栏代码学习

    C4代码学习

    自定义中间代码(在虚拟机中运行的伪汇编代码,可以用 -d 参数在命令行中打印查看)

    23500编辑于 2024-01-17
  • 来自专栏潇涧技术专栏

    Python Algorithms - C4 Induction and Recursion and Reduction

    Python算法设计篇(4) Chapter 4: Induction and Recursion and Reduction

    99630发布于 2018-08-01
  • 来自专栏开发者

    架构图最佳实践 - “C4模型”

    C4 模型是一种易于学习、开发人员友好的软件架构图绘制方法(图1,图片来自互联网)。相较于强大的 UML,它更像是一个“简单实用”的好工具。 C4 模型是什么? 在此层级的C4模型会用到目前已有的标示方式,例如统一建模语言、ER模型或是集成开发环境产生的示意图。

    82610编辑于 2025-06-06
  • 来自专栏Small Code

    C4 数据集基本信息速览

    Raffel et al. (2020) 提供了重新创建 C4 的脚本,但是运行这些脚本大概需要数千刀。 删除非英文文档,非英文的标准是使用 langdetect 得到的英文概率小于 0.99,所以 C4 主要是英文文档。 C4 中存在 benchmark data contamination 现象,即下游任务的训练集或测试集出现在 C4 中,造成了数据污染。 作者发现有 2-50% 的 GLUE input 出现在 C4 中。 C4 带有明显的种族偏见,“Jewish”更容易与积极情绪挂钩,而“Arab”更容易与消极情绪挂钩。

    2.5K10编辑于 2022-10-05
  • 来自专栏研发管理

    详析UML工具Visual Paradigm支持的C4模型

    软件架构的通用模型:C4模型C4模型由Simon Brown提出,是一种分层描述软件系统的结构化方法,包含 System Landscape(系统全景)、System Context(系统上下文)、Container 六大C4模型图表的原生支持Visual Paradigm此次更新直接解决了这些问题。 通过将 C4 模型深度集成到桌面端产品中,用户现在可以像使用 UML 或 BPMN 那样,调用专为 C4 设计的图形元素库。 所有图表类型——包括 C4 系统全景图、系统上下文图、容器图、组件图、动态图和部署图——均已原生支持。这些图表不仅自动遵循 C4 官方推荐的视觉语法,还能在项目内保持样式与语义的一致性。 Visual Paradigm支持了C4模型行为的定义,架构师可以快速使用C4动态图定义组件间的交互,并用C4部署图将软件映射到硬件。

    26110编辑于 2026-01-05
  • 来自专栏【腾讯云开发者】

    一篇文理解架构:企业架构、技术架构、C4模型、TOGAF、互联网模型

    其实从技术架构、C4 模型、TOGAF 框架,到互联网时代的企业架构,它们共同构成了我们理解复杂系统的不同层次。 1.2 C4模型 C4 模型是由 Simon Brown 在2006年至2011年之间创建,在4+1模型的基础上建立( https://c4model.com/ ),实际上就是以下4个单词的缩写: 上下文 C4 模型基于4+1模型,但是也有些差异。如果说4+1重点是横看成岭侧成峰。那 C4 模型则是一窥到底的放大镜。 C4 模型告诉我们,不同抽象层次的关注点、挑战点、问题域都是不同的,站在不同的层次就要思考对应的事情。 高层次是低一层的抽象,低层次是高一层的具化。

    68911编辑于 2025-11-07
  • 企业架构与技术架构深度解析:TOGAF、C4 模型及互联网架构实践

    面对 TOGAF、C4 模型、互联网分层模型这些名词,不知道它们之间的关联和适用场景? 其实,这些架构方法论本质上都是为了让复杂的系统更清晰、团队协作更高效。 03 C4 模型:技术架构的 “可视化神器” 如果说 TOGAF 是企业架构的 “宏观框架”,那么 C4 模型 就是技术架构的 “微观可视化工具”。 C4 模型由英国架构师 Simon Brown 提出,它把系统架构分为 4 个层级,从宏观到微观逐步拆解: 1. 04 互联网分层模型:技术架构的 “另一种视角” 除了 C4 模型,我们在日常开发中还经常用到 互联网分层模型 。 用 C4 模型描述技术架构细节:把 TOGAF 确定的技术架构,拆分成分层的可视化图表,方便团队协作。

    36010编辑于 2025-12-31
  • 来自专栏VRPinea

    CESA:观界科技发布便携式VR摄像机IDEALOEYE C4

    2017年6月8日下午,成都观界创宇科技有限公司(IDEALOEYE,简称“观界科技”)在CESA上举办媒体见面会,正式发布便携式VR全景摄像机IDEALOEYE C4。 4目小机身 可搭载无人机航拍 IDEALOEYE C4是一款机身紧凑小巧、便于携带的4K直/录播全景摄像机,可拍摄4K 2D直/录播画面,兼具高画质和高移动性,适用于多种拍摄场景,支持搭载无人机/平台航拍 IDEALOEYE C4搭载4目185°FOV Sony背照式传感器,可拍摄4K画质,进行360度全景直播,分辨率可达3840 ✕1920@30fps,支持3D全景收音。 IDEALOEYE C4预计将于今年9月量产上市,主机的建议零售价格为12999元。 另外,C4搭配观界科技的高性能缝合主机和视频拼接软件,整套全景拍摄系统售价为32599元。 此外,观界科技还推出了版权共享计划:与观界科技共享版权的作品,可与“IDEALOEYE优秀VR视频”评选活动,获奖用户即可获赠IDEALOEYE C4一台。

    1K60发布于 2018-05-16
  • 来自专栏芯智讯

    国产碳化硅功率器件厂商「基本半导体」完成C4轮融资

    近日,深圳基本半导体有限公司宣布完成C4轮融资。该轮融资由新股东德载厚资本、国华投资、新高地等机构联合投资,现有股东屹唐长厚、中美绿色基金等机构继续追加投资。

    56020编辑于 2022-10-05
  • 来自专栏运维开发王义杰

    探索软件架构的艺术:C4模型与4+1视图模型的比较与应用

    C4模型和4+1视图模型是软件架构领域两种重要的架构设计方法。虽然它们在目标和方法上有所不同,但都旨在提供一种系统的、多角度的方式来描述软件系统的架构。 在这篇文章中,我们将深入探讨C4模型和4+1视图模型的定义、特点、应用场景以及它们之间的联系和差异。 C4模型概述 C4模型,由Simon Brown提出,是一种用于软件架构可视化和文档化的方法。 C4模型与4+1视图模型的联系与差异 尽管C4模型和4+1视图模型在表现形式和侧重点上有所不同,但它们都致力于提供一种全面的方法来描述和理解软件架构。 表达方式:C4模型强调的是从大到小的层次递进,而4+1视图模型则是通过不同的视图来展现系统的不 同方面。

    1.4K10编辑于 2024-02-05
  • 来自专栏京东技术

    软件架构可视化及C4模型,架构设计不仅仅是UML

    2.1 C4模型的统一抽象 团队需要统一语言进行高效沟通 !!! C4模型在不同的级别提供了统一的抽象以表达软件系统的静态结构。 在C4模型上下文中,组件不是独立部署的单元,一般情况下运行于容器之中。 C4模型并没有对实现层面的可视化进行统一抽象,开发人员可以选择UML类图、E-R图等进行可视化。 ,并对依赖进行明确说明 图形化的过期问题 C4模型本身也是一种文档化机制,同样也存在过期问题。 为什么C4不涉及业务流、状态机、数据模型等建模 C4模型仅对系统的静态结构进行建模,并不试图囊括或替代其它建模方式,C4模型并不适合所有维度的可视化表达。

    1.7K50编辑于 2023-09-11
  • 纵慧芯光完成数亿元C4轮融资,华为与小米再度跟投!

    8月20日消息,据企查查资料显示,近日,国产VCSEL(垂直腔面发射激光器)芯片厂商常州纵慧芯光半导体科技有限公司(以下简称“纵慧芯光”)完成了数亿元的C4轮融资。

    29710编辑于 2026-03-20
  • 来自专栏实战docker

    disruptor笔记之六:常见场景

    依赖C2和C3: C1和C2独立消费,C3和C4也是独立消费,但C3和C4都依赖C1和C2,然后C5依赖C3和C4: C1和C2共同消费,C3和C4也是共同消费,但C3和C4都依赖C1和C2,然后 C5依赖C3和C4: C1和C2共同消费,C3和C4独立消费,但C3和C4都依赖C1和C2,然后C5依赖C3和C4: C1和C2独立消费,C3和C4是共同消费,但C3和C4都依赖C1和C2,然后C5 也是独立消费,但C3和C4都依赖C1和C2 .then(c3, c4) // 然后C5依赖C3和C4 .then 也是共同消费,但C3和C4都依赖C1和C2,然后C5依赖C3和C4 * @date 2021/5/23 11:05 */ @Service("scene8") public class Scene8 独立消费,但C3和C4都依赖C1和C2 .then(c3, c4) // 然后C5依赖C3和C4 .then

    36630编辑于 2021-12-07
  • 来自专栏完美Excel

    20211202,爱的对称日,Excel也能判断

    (即第一个字母与最后一个字母、第二个字母与倒数第二个字母等) 使用: MID(C4,ROW(OFFSET(A1,,,LEN(C4))),1) = MID(C4,LEN(C4)-ROW(OFFSET(A1 我们将其放置在SUMPRODUCT公式中,以便检查C4中是否是回文: =IF(SUMPRODUCT((MID(C4,ROW(OFFSET(A1,,,LEN(C4))),1)=MID(C4,LEN(C4) -ROW(OFFSET(A1,,,LEN(C4)))+1,1))+0)=LEN(C4),"是回文", "不是!") 原理相同,也可以使用下面的公式: =IF(SUMPRODUCT((MID(C4,ROW(INDEX(A:A,1):INDEX(A:A,LEN(C4))),1)=MID(C4,LEN(C4)-ROW(INDEX (A:A,1):INDEX(A:A,LEN(C4)))+1,1))+0)=LEN(C4),"是回文","不是!")

    1.1K20编辑于 2021-12-06
  • 来自专栏Python爬虫与数据挖掘

    使用Pandas完成data列数据处理,按照数据列中元素出现的先后顺序进行分组排列

    'C3', 'C4', 'D5', 'D3'], 'new': ['A1', 'A1', 'D3', 'D3', 'B2', 'B2', 'C4', 'C4', 'A2', 'B3', 'C3' C4', 'C4', 'A2', 'B3', 'C3', 'D5'] }) print(df) df['newnew'] = [*chain(*([k]*v for k, v in Counter(df C4', 'C4', 'A2', 'B3', 'C3', 'D5'] }) print(df) df['new2'] = df['data'].unique().repeat(df['data'].value_counts C4', 'C4', 'A2', 'B3', 'C3', 'D5'] }) print(df) df['new3'] = df['data'].astype('category').cat.reorder_categories C4', 'C4', 'A2', 'B3', 'C3', 'D5'] }) print(df) df['new4'] = sorted(df['data'].tolist(), key=df['data

    3.6K10编辑于 2022-06-05
  • 来自专栏Python学习者

    Python实现求多个集合之间并集的方法

    , 33, 14, 55, 66},则它们之间的并集应该为:C1 & C2 & C3 = {11}、C1 & C2 & C4 = {14}、C1 & C3 & C4 = {22}。 = c4 - all_union_elems c123_union_elems = c1 & c2 & c3 c124_union_elems = c1 & c2 & c4 c134 _union_elems = c1 & c3 & c4 c234_union_elems = c2 & c3 & c4 if c123_union_elems: print ( = c1 & c3 c14_union_have = c1 & c4 c23_union_have = c2 & c3 c24_union_have = c2 & c4 c34 print ('only c4 have ', c4)if __name__ == "__main__": content = [[11, 22, 13, 14], [11, 32, 23, 14

    57310编辑于 2024-07-29
  • 来自专栏完美Excel

    Excel公式:谁出镜最多,就找到谁——查找出现次数最多的项

    第2个问题 首先找出指定顾客对应的购买项目,不对应的位置使用行号填充,然后查找这些项目所在的位置,查找到的相同位置最多的就是最常购买的项目位置,最后将其取出来,公式如下: =INDEX(C4:C270, MODE(MATCH(IF(B4:B270=G4,C4:C270,ROW(INDIRECT("1:"&COUNTA(B4:B270)))),IF(B4:B270=G4,C4:C270,ROW(INDIRECT =INDEX(C4:C270,MODE(IF(B4:B270=G5,MATCH(C4:C270,C4:C270,0)))) 或者: =INDEX(C4:C270,MATCH(TRUE,COUNTIFS( C4:C270,C4:C270,B4:B270,G6)=MAX(COUNTIFS(C4:C270,C4:C270,B4:B270,G6)),0)) 或者: =INDEX(C4:C270,MATCH(MAX (COUNTIFS(B4:B270,G7,C4:C270,C4:C270)),COUNTIFS(B4:B270,G7,C4:C270,C4:C270),0)) 这些都是数组公式,输入完成后要按Ctrl+

    2.9K20编辑于 2022-11-16
  • 来自专栏开源部署

    MySQL索引优化深入

    'c3','c4','c5'); insert into `test` (`id`, `c1`, `c2`, `c3`, `c4`, `c5`) values('4','d1','d2','d3','d4 * FROM test WHERE c1='a1' AND c4='a4' AND c3='a3' AND c2='a2' ④ EXPLAIN SELECT * FROM test WHERE c4= >'c4'):范围右边索引列失效(c4右边已经没有索引列了),注意索引的顺序(c1,c2,c3,c4),所以c4右边不会出现失效的索引列,因此4个索引全部用上。 结论:范围右边索引列失效,是有顺序的:c1,c2,c3,c4,如果c3有范围,则c4失效;如果c4有范围,则没有失效的索引列,从而会使用全部索引。 =const,const可以看出来,查询使用了c1和c2索引,由于使用了c4进行排序,跳过了c3,中间断了,也无法使用c4的索引进行排序,出现了Using filesort。

    42410编辑于 2022-08-18
领券