 使用 Graphviz 绘画 UML 图使用 Graphviz 绘画 UML 图 Milo Yip 2019/10/28 目录 1 简介 2 1.1 使用 Graphviz dot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 类图 4 2.1 继承 . . . . . . . . . . . . . . . . . . 1 Chapter 1 简介 本文为开放文档,可在 GitHub 提交 issue / PR。本文的 PDF 版本可在 在此下 载。 Graphviz 是 AT&T 实验室开发的一个开源软件,它以一种文本语言去描述图(graph),然后 自动排布节点和边去生成图片。它已有近 30 年历史。 UML(unified modeling language,统一建模语言)是一种常用的面向对象设计的方法。其中 能自动排布节点位置,在大型复杂的图特别方便。 3. 统一文档风格。 实际上,文档生成工具Doxygen 也是采用 Graphviz 生成类图的。不过,我们在软件设计中, 经常以类图表示系统中某个部分,并且按需展示某些重点,而不是简单地全部列出,所以还是 需要手工去描述我们想要画什么,表示我们的软件设计。 1.1 使用 Graphviz dot 首先,下载 Graphviz 安装包。macOS 用户可以 brew install0 码力 | 20 页 | 331.51 KB | 1 年前3 使用 Graphviz 绘画 UML 图使用 Graphviz 绘画 UML 图 Milo Yip 2019/10/28 目录 1 简介 2 1.1 使用 Graphviz dot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 类图 4 2.1 继承 . . . . . . . . . . . . . . . . . . 1 Chapter 1 简介 本文为开放文档,可在 GitHub 提交 issue / PR。本文的 PDF 版本可在 在此下 载。 Graphviz 是 AT&T 实验室开发的一个开源软件,它以一种文本语言去描述图(graph),然后 自动排布节点和边去生成图片。它已有近 30 年历史。 UML(unified modeling language,统一建模语言)是一种常用的面向对象设计的方法。其中 能自动排布节点位置,在大型复杂的图特别方便。 3. 统一文档风格。 实际上,文档生成工具Doxygen 也是采用 Graphviz 生成类图的。不过,我们在软件设计中, 经常以类图表示系统中某个部分,并且按需展示某些重点,而不是简单地全部列出,所以还是 需要手工去描述我们想要画什么,表示我们的软件设计。 1.1 使用 Graphviz dot 首先,下载 Graphviz 安装包。macOS 用户可以 brew install0 码力 | 20 页 | 331.51 KB | 1 年前3
 应用 waPC (rust) 做软件测试工具第三届中国 Rust 开发者大会 应用 waPC (rust) 做软件测试工具 Alan poon 潘泳权 大家好! @rustropy_gaming ruito_89 PhoTto / image / chart Webassembly Procedures Call waPC 协议标准化了本机代码调用 WebAssembly 和 WebAssembly 调用本机代码的通信 (messaging) Microservices • Multiple backend product line with complex upstream • Common testing platform 大公司抓包工具的需求 软件测试工具 • 模拟数据规则 • 自动化测试 • Supports http/https/tcp/websocket(MITM) • Can use rust to construct own Support websocket stand in for wasm API 抓包 - Wasm Mock Server wasm 工具 does not invent the wheel 软件测试工具 • 模拟数据规则 • 自动化测试 ModifyRequest(req *http.Request) error{ … req_,err:=wasm.Invoke(ctx,req.url0 码力 | 30 页 | 2.50 MB | 1 年前3 应用 waPC (rust) 做软件测试工具第三届中国 Rust 开发者大会 应用 waPC (rust) 做软件测试工具 Alan poon 潘泳权 大家好! @rustropy_gaming ruito_89 PhoTto / image / chart Webassembly Procedures Call waPC 协议标准化了本机代码调用 WebAssembly 和 WebAssembly 调用本机代码的通信 (messaging) Microservices • Multiple backend product line with complex upstream • Common testing platform 大公司抓包工具的需求 软件测试工具 • 模拟数据规则 • 自动化测试 • Supports http/https/tcp/websocket(MITM) • Can use rust to construct own Support websocket stand in for wasm API 抓包 - Wasm Mock Server wasm 工具 does not invent the wheel 软件测试工具 • 模拟数据规则 • 自动化测试 ModifyRequest(req *http.Request) error{ … req_,err:=wasm.Invoke(ctx,req.url0 码力 | 30 页 | 2.50 MB | 1 年前3
 领域驱动设计&中台/化繁为简--DDD驱动复杂业务软件架构的演进化繁为简 DDD驱动复杂业务软件架构的演进 广联达科技 白彦磊 CONTENTS CONTENT 产品介绍 业务挑战及架构目标 架构演进 总结展望 CONTENTS CONTENT 产品介绍 业务挑战及架构目标 架构演进 总结展望 全过程、全流程、一站式平台 产品特点 业务复杂 多专业领域 BIM全过程流转 人机交互频繁 产品规模大 350万+代码行 150+人团队0 码力 | 33 页 | 1.25 MB | 1 年前3 领域驱动设计&中台/化繁为简--DDD驱动复杂业务软件架构的演进化繁为简 DDD驱动复杂业务软件架构的演进 广联达科技 白彦磊 CONTENTS CONTENT 产品介绍 业务挑战及架构目标 架构演进 总结展望 CONTENTS CONTENT 产品介绍 业务挑战及架构目标 架构演进 总结展望 全过程、全流程、一站式平台 产品特点 业务复杂 多专业领域 BIM全过程流转 人机交互频繁 产品规模大 350万+代码行 150+人团队0 码力 | 33 页 | 1.25 MB | 1 年前3
 2021信创“大比武”鲲鹏基础软件开发赛道
基于Rust语言的openGauss驱动2021信创“大比武”鲲鹏基础软件开发赛道 基于Rust语言的openGauss驱动 目录 1. 背景及要求 2. 方案介绍 3. 遇到的问题 4. 团队简介 3 背景 Rust是一门新兴的系统编程语言 ,专注于安全 ,尤其是并发安全,支持函数式和命令式以及泛型等编程范 式的多范式语言。 openGauss数据库是一款高性能、高安全的数据库,社区支持Rust驱动可以更方便Rust语言开发者更好地基0 码力 | 14 页 | 566.24 KB | 1 年前3 2021信创“大比武”鲲鹏基础软件开发赛道
基于Rust语言的openGauss驱动2021信创“大比武”鲲鹏基础软件开发赛道 基于Rust语言的openGauss驱动 目录 1. 背景及要求 2. 方案介绍 3. 遇到的问题 4. 团队简介 3 背景 Rust是一门新兴的系统编程语言 ,专注于安全 ,尤其是并发安全,支持函数式和命令式以及泛型等编程范 式的多范式语言。 openGauss数据库是一款高性能、高安全的数据库,社区支持Rust驱动可以更方便Rust语言开发者更好地基0 码力 | 14 页 | 566.24 KB | 1 年前3
 PyWebIO v1.5.2 使用手册session 模块 pywebio.session 模块提供了对会话的更多控制。 • 使用set_env() 来为当前会话设置标题、页面外观、输入栏等内容。 • info 对象提供了关于当前绘画的很多信息,比如用户 IP 地址、用户语言、用户浏览器信息等。 • local 是一个 session-local 的存储对象, 用于存储会话独立的数据。 • run_js() 让你在用户浏览器中执行 能启动一个进程来处理请求。 如果仍然希望使用多进程来提高并发,一种方式是使用 Uvicorn+FastAPI,或者你也可以启动多个 Tor- nado/aiohttp 进程,并在它们之前添加外部的负载均衡软件(如 HAProxy 或 nginx)。这些后端使用 WebSocket 协议与浏览器进行通信,所以不存在上述问题。 4.7. 高级特性 77 PyWebIO, 发布 1.5.2 PyWebIO0 码力 | 125 页 | 1.72 MB | 1 年前3 PyWebIO v1.5.2 使用手册session 模块 pywebio.session 模块提供了对会话的更多控制。 • 使用set_env() 来为当前会话设置标题、页面外观、输入栏等内容。 • info 对象提供了关于当前绘画的很多信息,比如用户 IP 地址、用户语言、用户浏览器信息等。 • local 是一个 session-local 的存储对象, 用于存储会话独立的数据。 • run_js() 让你在用户浏览器中执行 能启动一个进程来处理请求。 如果仍然希望使用多进程来提高并发,一种方式是使用 Uvicorn+FastAPI,或者你也可以启动多个 Tor- nado/aiohttp 进程,并在它们之前添加外部的负载均衡软件(如 HAProxy 或 nginx)。这些后端使用 WebSocket 协议与浏览器进行通信,所以不存在上述问题。 4.7. 高级特性 77 PyWebIO, 发布 1.5.2 PyWebIO0 码力 | 125 页 | 1.72 MB | 1 年前3
 PyWebIO v1.6.0 使用手册session 模块 pywebio.session 模块提供了对会话的更多控制。 • 使用set_env() 来为当前会话设置标题、页面外观、输入栏等内容。 • info 对象提供了关于当前绘画的很多信息,比如用户 IP 地址、用户语言、用户浏览器信息等。 • local 是一个 session-local 的存储对象, 用于存储会话独立的数据。 • run_js() 让你在用户浏览器中执行 能启动一个进程来处理请求。 如果仍然希望使用多进程来提高并发,一种方式是使用 Uvicorn+FastAPI,或者你也可以启动多个 Tor- nado/aiohttp 进程,并在它们之前添加外部的负载均衡软件(如 HAProxy 或 nginx)。这些后端使用 WebSocket 协议与浏览器进行通信,所以不存在上述问题。 PyWebIO 静态资源的托管 PyWebIO 默认使用 CDN 来获取前端的静态资源,如果要将0 码力 | 123 页 | 1.72 MB | 1 年前3 PyWebIO v1.6.0 使用手册session 模块 pywebio.session 模块提供了对会话的更多控制。 • 使用set_env() 来为当前会话设置标题、页面外观、输入栏等内容。 • info 对象提供了关于当前绘画的很多信息,比如用户 IP 地址、用户语言、用户浏览器信息等。 • local 是一个 session-local 的存储对象, 用于存储会话独立的数据。 • run_js() 让你在用户浏览器中执行 能启动一个进程来处理请求。 如果仍然希望使用多进程来提高并发,一种方式是使用 Uvicorn+FastAPI,或者你也可以启动多个 Tor- nado/aiohttp 进程,并在它们之前添加外部的负载均衡软件(如 HAProxy 或 nginx)。这些后端使用 WebSocket 协议与浏览器进行通信,所以不存在上述问题。 PyWebIO 静态资源的托管 PyWebIO 默认使用 CDN 来获取前端的静态资源,如果要将0 码力 | 123 页 | 1.72 MB | 1 年前3
 PyWebIO v1.5.0 使用手册session 模块 pywebio.session 模块提供了对会话的更多控制。 • 使用set_env() 来为当前会话设置标题、页面外观、输入栏等内容。 • info 对象提供了关于当前绘画的很多信息,比如用户 IP 地址、用户语言、用户浏览器信息等。 • local 是一个 session-local 的存储对象, 用于存储会话独立的数据。 • run_js() 让你在用户浏览器中执行 能启动一个进程来处理请求。 如果仍然希望使用多进程来提高并发,一种方式是使用 Uvicorn+FastAPI,或者你也可以启动多个 Tor- nado/aiohttp 进程,并在它们之前添加外部的负载均衡软件(如 HAProxy 或 nginx)。这些后端使用 WebSocket 协议与浏览器进行通信,所以不存在上述问题。 4.7. 高级特性 77 PyWebIO, 发布 1.5.0 PyWebIO0 码力 | 125 页 | 1.72 MB | 1 年前3 PyWebIO v1.5.0 使用手册session 模块 pywebio.session 模块提供了对会话的更多控制。 • 使用set_env() 来为当前会话设置标题、页面外观、输入栏等内容。 • info 对象提供了关于当前绘画的很多信息,比如用户 IP 地址、用户语言、用户浏览器信息等。 • local 是一个 session-local 的存储对象, 用于存储会话独立的数据。 • run_js() 让你在用户浏览器中执行 能启动一个进程来处理请求。 如果仍然希望使用多进程来提高并发,一种方式是使用 Uvicorn+FastAPI,或者你也可以启动多个 Tor- nado/aiohttp 进程,并在它们之前添加外部的负载均衡软件(如 HAProxy 或 nginx)。这些后端使用 WebSocket 协议与浏览器进行通信,所以不存在上述问题。 4.7. 高级特性 77 PyWebIO, 发布 1.5.0 PyWebIO0 码力 | 125 页 | 1.72 MB | 1 年前3
 PyWebIO v1.6.3 使用手册session 模块 pywebio.session 模块提供了对会话的更多控制。 • 使用set_env() 来为当前会话设置标题、页面外观、输入栏等内容。 • info 对象提供了关于当前绘画的很多信息,比如用户 IP 地址、用户语言、用户浏览器信息等。 • local 是一个 session-local 的存储对象, 用于存储会话独立的数据。 • run_js() 让你在用户浏览器中执行 能启动一个进程来处理请求。 如果仍然希望使用多进程来提高并发,一种方式是使用 Uvicorn+FastAPI,或者你也可以启动多个 Tor- nado/aiohttp 进程,并在它们之前添加外部的负载均衡软件(如 HAProxy 或 nginx)。这些后端使用 WebSocket 协议与浏览器进行通信,所以不存在上述问题。 PyWebIO 静态资源的托管 PyWebIO 默认使用 CDN 来获取前端的静态资源,如果要将0 码力 | 123 页 | 1.72 MB | 1 年前3 PyWebIO v1.6.3 使用手册session 模块 pywebio.session 模块提供了对会话的更多控制。 • 使用set_env() 来为当前会话设置标题、页面外观、输入栏等内容。 • info 对象提供了关于当前绘画的很多信息,比如用户 IP 地址、用户语言、用户浏览器信息等。 • local 是一个 session-local 的存储对象, 用于存储会话独立的数据。 • run_js() 让你在用户浏览器中执行 能启动一个进程来处理请求。 如果仍然希望使用多进程来提高并发,一种方式是使用 Uvicorn+FastAPI,或者你也可以启动多个 Tor- nado/aiohttp 进程,并在它们之前添加外部的负载均衡软件(如 HAProxy 或 nginx)。这些后端使用 WebSocket 协议与浏览器进行通信,所以不存在上述问题。 PyWebIO 静态资源的托管 PyWebIO 默认使用 CDN 来获取前端的静态资源,如果要将0 码力 | 123 页 | 1.72 MB | 1 年前3
 PyWebIO v1.7.1 使用手册session 模块 pywebio.session 模块提供了对会话的更多控制。 • 使用set_env() 来为当前会话设置标题、页面外观、输入栏等内容。 • info 对象提供了关于当前绘画的很多信息,比如用户 IP 地址、用户语言、用户浏览器信息等。 • local 是一个 session-local 的存储对象, 用于存储会话独立的数据。 • run_js() 让你在用户浏览器中执行 能启动一个进程来处理请求。 如果仍然希望使用多进程来提高并发,一种方式是使用 Uvicorn+FastAPI,或者你也可以启动多个 Tor- nado/aiohttp 进程,并在它们之前添加外部的负载均衡软件(如 HAProxy 或 nginx)。这些后端使用 WebSocket 协议与浏览器进行通信,所以不存在上述问题。 PyWebIO 静态资源的托管 PyWebIO 默认使用 CDN 来获取前端的静态资源,如果要将0 码力 | 127 页 | 1.73 MB | 1 年前3 PyWebIO v1.7.1 使用手册session 模块 pywebio.session 模块提供了对会话的更多控制。 • 使用set_env() 来为当前会话设置标题、页面外观、输入栏等内容。 • info 对象提供了关于当前绘画的很多信息,比如用户 IP 地址、用户语言、用户浏览器信息等。 • local 是一个 session-local 的存储对象, 用于存储会话独立的数据。 • run_js() 让你在用户浏览器中执行 能启动一个进程来处理请求。 如果仍然希望使用多进程来提高并发,一种方式是使用 Uvicorn+FastAPI,或者你也可以启动多个 Tor- nado/aiohttp 进程,并在它们之前添加外部的负载均衡软件(如 HAProxy 或 nginx)。这些后端使用 WebSocket 协议与浏览器进行通信,所以不存在上述问题。 PyWebIO 静态资源的托管 PyWebIO 默认使用 CDN 来获取前端的静态资源,如果要将0 码力 | 127 页 | 1.73 MB | 1 年前3
 PyWebIO v1.5.1 使用手册session 模块 pywebio.session 模块提供了对会话的更多控制。 • 使用set_env() 来为当前会话设置标题、页面外观、输入栏等内容。 • info 对象提供了关于当前绘画的很多信息,比如用户 IP 地址、用户语言、用户浏览器信息等。 • local 是一个 session-local 的存储对象, 用于存储会话独立的数据。 • run_js() 让你在用户浏览器中执行 能启动一个进程来处理请求。 如果仍然希望使用多进程来提高并发,一种方式是使用 Uvicorn+FastAPI,或者你也可以启动多个 Tor- nado/aiohttp 进程,并在它们之前添加外部的负载均衡软件(如 HAProxy 或 nginx)。这些后端使用 WebSocket 协议与浏览器进行通信,所以不存在上述问题。 4.7. 高级特性 77 PyWebIO, 发布 1.5.1 PyWebIO0 码力 | 125 页 | 1.72 MB | 1 年前3 PyWebIO v1.5.1 使用手册session 模块 pywebio.session 模块提供了对会话的更多控制。 • 使用set_env() 来为当前会话设置标题、页面外观、输入栏等内容。 • info 对象提供了关于当前绘画的很多信息,比如用户 IP 地址、用户语言、用户浏览器信息等。 • local 是一个 session-local 的存储对象, 用于存储会话独立的数据。 • run_js() 让你在用户浏览器中执行 能启动一个进程来处理请求。 如果仍然希望使用多进程来提高并发,一种方式是使用 Uvicorn+FastAPI,或者你也可以启动多个 Tor- nado/aiohttp 进程,并在它们之前添加外部的负载均衡软件(如 HAProxy 或 nginx)。这些后端使用 WebSocket 协议与浏览器进行通信,所以不存在上述问题。 4.7. 高级特性 77 PyWebIO, 发布 1.5.1 PyWebIO0 码力 | 125 页 | 1.72 MB | 1 年前3
共 344 条
- 1
- 2
- 3
- 4
- 5
- 6
- 35














 
 