C++高性能并行编程与优化 - 课件 - 16 现代 CMake 模块化项目管理指南现代 CMake 模块化项目管理指南 彭于斌( @archibate ) 课件 & 源码: https://github.com/parallel101/course 往期录播: https://space.bilibili.com/263032155 找不到头文 件怎么办呀 CMake Cookbook 小彭老师建议 : ~~-·~·~-·~ -~·-·~·- 第一章:文件 / / 目录组织规范 基于 CMake 的 C/C++ 项目,如何优雅地、模块化地组织大量源文件 ? 推荐的目录组织方式 • 目录组织格式: • 项目名 /include/ 项目名 / 模块名 .h • 项目名 /src/ 模块名 .cpp • CMakeLists.txt 中写: • target_include_directories( 项目名 PUBLIC include) • 源码文件中写:0 码力 | 56 页 | 6.87 MB | 1 年前3
GoFrame框架介绍及设计成都医联科技 架构师 目 录 框架介绍 01 模块化设计 02 统一框架设计 03 代码分层设计 04 对象封装设计 05 DAO封装设计 06 未来发展规划 07 框架介绍 第一部分 • 框架介绍 • 框架架构 • 项目初心 框架介绍 GoFrame是一款模块化、高性能、企业级的Go基础开发框架。 • 模块化、松耦合 • 模块丰富、开箱即用 • 简洁易用、快速接入 跨平台性:基于Golang开发语言强大跨平台特性 框架介绍-项目初心 工程化建设 统一框架 核心组件 项目架构 设计模式 开发规范 开发文档 开发工具 …… 模块化设计 第二部分 • 复用原则 • 单仓包设计 • 模块聚合设计 • 常见问题 模块化设计 什么是模块? 模块化的目标? 模块也称作组件,是软件系统中可复用的功能逻辑封装单位。 在不同的软件架构层次,模块的概念会有些不太一样。 在开发框架层 在开发框架层面,模块是某一类功能逻辑的最小封装单位。 在Golang代码层面中,我们也可以将package称作模块。 软件进行模块化设计的目的, 是为了使得软件功能逻辑尽可能的解耦和复用, 终极目标也是为了保证软件开发维护的效率和质量。 模块化设计-复用原则 REP 发布等同原则 (Release/Reuse Equivalency Principle) 软件复用的最小粒度应等同于其发布的最小粒度。0 码力 | 37 页 | 8.84 MB | 1 年前3
1.2 基于 Golang 构建高可扩展的云原生 PaaS 平台的核⼼架构师 - 开源爱好者, Apache SkyWalking PMC 成员 ⽬ 录 ⾯向云原⽣的软件交付 01 端点⼀站式 PaaS - Erda 02 Erda 架构的思考 03 模块化开发框架 04 开源新时代的挑战 05 ⾯向云原⽣的软件交付 第⼀部分 ⾯向云原⽣的企业软件产品 - 敏捷开发 - 微服务化和容器化 - 交付标准化 - 可观察性 特点: 敏捷的⽬标是提升研发效能 议 - 即将⽀持 skywalking 和 opentelemetry 弹性监控架构 模块化开发框架 第四部分 什么是 Erda Infra 开发框架 Erda Infra 是⼀套轻量级 Go 微服务框架,包含⼤量现成的模块和⼯具,能够快速构 建起以模块化驱动的应⽤程序。 • 以模块化设计⽅式来驱动应⽤系统实现,⽀持模块可插拔 • 统⼀配置读取,⽀持默认值、⽀持从⽂件、环境变量、命令⾏参数读取 提供快速构建模块的代码⽣成⼯具 Erda Infra 如何设计 Erda Infra 有什么不同 - 不是重复造轮⼦ - 不仅是web框架 - 不仅是微服务框架 - 为扩展⽽⽣ - 以模块化的开发为核⼼ VS 模块化开发原则 - ⾯向接⼝进⾏开发,⽽不是⾯向实现 - 模块拆分的粒度尽可能⼩ - 模块内聚,模块间松耦合 - 模块间的引⽤使⽤DI⽽不是直接依赖实现包 - 服务可以由多个模块拼装组成0 码力 | 40 页 | 8.60 MB | 1 年前3
FIT2CLOUD CloudExplorer 产品白皮书 v1.7分权分域多角色多门户......................................................................................... 49 3.4 模块化扩展能力............................................................................................... 俱进,保持 服务化和自动化的覆盖。能够: 快速整合支持新采纳的基础架构云平台,架构设计支持以插件符合开放封闭原则进行扩 展支持,只需要开发插件,不需要动 Web 页面层和中间业务逻辑层; 模块化扩展和整合,能够在现有框架下方便扩展支持新的运维工具整合等功能,比如整 合新采纳的运维、安全平台工具,保持服务交付过程的服务化、高效自动化。 杭州飞致云信息科技有限公司 软件用起来才有价值,才有改进的机会 3.4 模块化扩展能力 模块化扩展能力对于企业 IT 体系演进非常重要,因为企业 IT 内部的各类基础架构、运 维工具本身就是在一个分布建设、与时俱进的,为了保持云管理平台 IT 服务管理门户的服 务化自动化覆盖,就需要不断的与时俱进整合新采纳的 IT 平台工具,就需要能够以一种可 持续的、方便的方式扩展支持。 针对这个认识和需求,FIT2CLOUD 云管理平台整体架构设计为模块化、微服务化设计,0 码力 | 60 页 | 0 Bytes | 1 年前3
Flutter在百度贴吧的落地实践业务package n Plugin n 外界资源 新pubspec.yaml 一键命令 模块化开发 业务框架升级之旅 接下来…… n 技术需求(背景) n 现有业务框架 n 现有业务框架的问题与挑战 n redux到tieba_redux 技术需求(背景) 定制版本、 快速开发新app 细粒度模块化 中台能力 一键配置生成 现有业务框架(传统做法) Model Presenter 带有编码规范的框架 n 满足拦截类开发需求 Ø 网络访问添加通用参数 Ø 打印action序列和State,加速问题定位 Ø 改变跳转,热修复 Redux 模块化 tieba_redux n 概念上的『和』与『分』 n 分之后的代码组织与运行 n 细粒度模块化的编码需求 tieba_redux GlobalRedux Tasks Actions Reducers Store State n0 码力 | 36 页 | 14.75 MB | 1 年前3
RISC-V 开放架构设计之道 1.0.0定义了什么,以及为什么要这么 定义。这本书仅用一百多页(其他架构书籍的三分之一的篇幅)就讲清楚了 RISC-V, 并且原汁原味地解释了 RISC-V 架构与其他架构的不同之处,同时也很好地阐释了 RISC-V 的模块化、扩展性和先进性。 这本书非常适合刚开始学习 RISC-V 架构的学生,是一本非常浅显易懂的教材, 它可以作为计算机体系结构的学习用书之一。在《计算机体系结构:量化研究方法》 中,我们已经可以学习到 非常适合 刚开始学习 RISC-V 的软硬件工程师。本书包含 RISC-V 指令的精确定义,在使用 RISC-V 指令时可以作为随时备查的工具手册。本书内容组织方式高效,按照 RISC-V 模块化的指令定义展开,读者可以按照自己感兴趣的领域有选择地阅读。 本书的出版时间也是恰到好处。我从 2017 年开始接触 RISC-V,亲身经历了 RISC-V 技术高速发展的过程:才 5 年多的时间,RISC-V 公司私有,而是由一 个统一的非营利组织作为主导者和核心规则制定者,任何公司和个人均可免费使用 该架构,无须向任何商业公司支付高昂的授权费。RISC-V 遵循 “大道至简” 的设计 哲学,通过模块化和可扩展的方式,既保持基础指令集的稳定,又保证扩展指令集的 灵活配置,在简洁性、实现成本、功耗、性能和程序代码量等各方面都有较显著的优 势。从最简单的小面积、低功耗的嵌入式微控制器,到功能强大的服务器,都可以基0 码力 | 223 页 | 15.31 MB | 1 年前3
全球架构师峰会2019北京/云原生/阿里巴巴 Kubernetes 应用管理实践中的经验与教训&mdash研发 运维 K8s 团队 Ingress Kubernetes K8s 团队 运维能力的模块化描述 API 运维 研发视角的应用描述 API 研发 K8s 的 All-in-One API K8s + 分层化 API 设计 K8s 原生 API 区分使用者角色的分层应用定义 + 模块化封装的运维能力 = 应用模型 OAM:以应用为中心的 K8s API 分层模型 Kubernetes 团队 Trait + App Config 运维 Component 研发 K8s 原生 API ECS/ FaaS/…… • API复杂:区分使用者/关注点分离 • 能力难上手:模块化封装/统一管理 • 云资源:统一API对接 apiVersion: core.oam.dev/v1alpha1 kind: Component metadata: name: nginx annotations:0 码力 | 26 页 | 6.91 MB | 1 年前3
前端开发者指南(2017)来自 W3C 的 HTML 5.2 3 级选择器 CSS 架构设计: 元素设计 [阅读] BEM ITCSS OOCSS [阅读] SMACSS [阅读][收费] 适用于CSS的可扩展模块化体系结构( SMACSS ) [视频][收费] 学习 HTML 和 CSS 54 SUIT CSS rscss 设计/编写规范: CSS 编码指南 [阅读] css-architecture 应用代码 [阅读] 过时的学习材料: 用 React 和 Ampersand 构建应用 [观看][增值付费] 构建现代的单页网络应用 [观看][增值付费] 流畅的 JavaScript: 模块化 [阅读] 静态应用工作指南 [阅读] 网络应用工作指南 [阅读] 前端参考问卷 [阅读] 对人类友好的 JavaScript [阅读] Nicholas Zakas: 可扩展的 JavaScript Webpack Book [文章] Rollup: Rollup SystemJS: 用 SystemJS 和 jspm 编写现代的,模块化的 JavaScript 代码 [视频][付费] 注释: 开发者使用类似于 Gulp 之类的 JS 模块化打包工具来帮助开发并不鲜见。然而,许多的 Gulp 插件本质上仅仅是利用了 Webpack, Rollup, 或者 SystemJS 而已。0 码力 | 164 页 | 6.43 MB | 1 年前3
RISC-V 手册 v2(一本开源指令集的指南)........................................................................................ 13 1.2 模块化与增量型 ISA .......................................................................................... ,介绍模块化 RISC-V 指令集的每个组 成部分的十章只用了 100 页——即便为了有助于快速阅读,平均每页用到了一张图片(一共 75 张)。 在解释指令集设计的原理之后,我们将阐述 RISC-V 架构师在设计指令集的时候,如何 在过去 40 年的指令集的基础上取其精华,去其糟粕。要评判一个指令集架构,不仅要看它 包括了什么,而且要看它省略了什么。 随后我们会按顺序介绍这个模块化架构的每个组成部分。每一章都会包含一个用 86还有三个相似的指令,分别执行减 法操作(aas),乘法操作(aam),和除法操作(aad)。由于他们都是单字节指令,它们加起来占用了宝 贵的操作码空间的1.6%(4/256)。 1.2 模块化与增量型 ISA 英特尔曾将其未来押在高端微处理器之上,但那时还需要很多年时间。为了对抗Zilog,英特尔开发了 一款过渡产品,并给它起名为8086。它本应该是短命的,没有任何继任者,但事情并非如此。高端处0 码力 | 164 页 | 8.85 MB | 1 年前3
ExtJS和AngularJS比较Model-View-Vie wModel(MVVM) 8. 依赖注入 Ext JS 能够通过扩展( Deft JS)增加依赖注入 ✔ 9. 数据绑定 ✔ ✔ 10. 直接操作DOM元素 ✔ ✔ 11. 模块化 ✔ ✔ 测试 测试 12. 自动测试支持 通过扩展工具实现 ✔ 13. 测试框架或者测试工具 许多第三方的测试框架,比如 Siesta (专门为ExtJS优化), Jasmine and Mocha Deft JS 实现依赖注入 它是基于组件,模块化的 AngularJS: AngularJS是一个对于web应用的HTML扩展。 它被描述为了 'Model-View-Whatever' 框架,它并没有规定使用特定的开发 框架。但是它非常容易支持 Model-View-Controller 或者 Model-View-View Model. 它是模块化的。 它自动装盘HTML元素中的依赖注入模块0 码力 | 6 页 | 244.12 KB | 1 年前3
共 195 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20













