1.2.3 Go 泛型设计Languages》提出了两个概念: 特设多态(ad-hoc): void print(string s) {} void print(int i) {} 参数化多态(Parametric): templateT Add(T a, T b) { return a + b; } 子类型多态,行多态…: ’ alt=‘OCR图片’/> return b } 非常接近最终形态 对之前遗留的问题开始寻找解决方案: 完善了类型推导方案 完善了类型检查方案 3. 问题: 语法:类型参数定义在左边,使用在右边 类型推导虽然提出了方案,但过于复杂不好工程化 ’ alt=‘OCR图片’/> 其他 其他 [] or <>? a, b = w < x, y > (z) => a = w < x ; b = y > Parameters (2021) 泛型类型定义 type parameter type constraint type V any []T 泛型函数定义: 使用[]定义,传递类型参数 定义使用都在右边 使用类型集约束参数范围 支持类型推导 不支持泛型方法 type parameter type constraint func F any (v T) ([]T, error) ’ alt=‘OCR图片’/>0 码力 | 35 页 | 1.31 MB | 1 月前3
CurveFS ChunkID持久化curvefs chunkid 持久化 ## 背景 1. 将原有的获取chunkid的方法从space迁入mds中,并持久化写入etcd中; 2. 只考虑单mds工作的情况; 3. chunkid全局递增。 ## 实现 1. proto/space.proto 中的 message AllocateS3ChunkRequest、message AllocateS3ChunkResponse AllocateS3Chunk 调用 ChunkIDGenerator 对象的 GenChunkID 方法; 6. ChunkIDGenerator 类 1. 构造函数 初始化 2. init 函数:用于初始化或者更改 ChunkIdAllocatorImpl 的一些配置。但是这些配置不会立即生效,而是等到当前 chunkId池枯竭时才会生效。 3. 析构函数 4. GenChunkID0 码力 | 3 页 | 79.38 KB | 1 年前3
Go 2 Generics? A (P)review- 上手时间 - 历史性评述 - 展望 ## 泛型的起源 Origin of Generics 多态是同一形式表现出不同行为的一种特性。在编程语言理论中被分为两类: 临时性多态(Ad hoc Polymorphism)根据实参类型调用对应的版本,仅支持数量有限的调用。也被翻译为特设多态。例如:函数重载 func Add(a, b int) int { return a + b } func 语言中不允许同名函数 Add(1, 2) // 调用第一个 Add(1.0, 2.0) // 调用第二个 Add("1", "2") // 编译时不检查,运行时找不到实现,崩溃 参数化多态(Parametric Polymorphism)根据实参类型生成不同的版本,支持任意数量的调用。即泛型 func Add(a, b T) T{ return a+b } Add(1, 2) // 时,a、b、返回值都可以在运行时表现为不同类型,取决于内部实现如何对参数进行断言: type T interface { ... } func Max(a, b T) T { ... } // T 是接口 当使用泛型时,a、b、返回值必须为同一类型,类型参数施加了这一强制性保障: func Max(a, b T) T { ... } // T 是类型参数 泛型的总体目标就是: 快且安全。在这里: 快 意味着静态类型0 码力 | 41 页 | 770.62 KB | 2 年前3
古月《ROS入门21讲》16.参数的使用与编程方法.pdf### 16. 参数的使用与编程方法 主讲人:古月 ## 参数模型  参数模型(全局字典) ## • 创建功能包 $ cd ~/catkin_ws/src $ catkin_create_pkg learning_parameter [Image](/uploads/documents/5/4/b/6/54b6a244a47b886303397dca4e492261/p3_2.jpg) CMakeLists.txt ## 参数命令行使用 ## YAML参数文件 background_b: 255 background_g: 86 background_r: 69 rosdistro: 'melodic' roslaunch: ● 列出当前多有参数 $ rosparam list ● 显示某个参数值 $ roparam get param_key ● 设置某个参数值 $ roparam set param_key param_value ● 保存参数到文件 $ roparam dump file_name ● 从文件读取参数 $ roparam load file_name ● 删除参数 $ roparam0 码力 | 9 页 | 1.17 MB | 2 年前3
OpenShift Container Platform 4.10 虚拟化ents/0/a/1/f/0a1fa9a06ea4418abd2bd720a7903c5d/p1_1.jpg) ### OpenShift Container Platform 4.10 虚拟化 OpenShift Virtualization 安装、使用和发行注记 Powered by TCPDF (www.tcpdf.org) OpenShift Virtualization 安装、使用和发行注记 观察节点网络状态 243 12.2. 更新节点网络配置 244 12.3. 对节点网络配置进行故障排除 256 第 13 章 日志记录、事件和监控 261 13.1. 查看虚拟化概述 261 13.2. 查看虚拟机日志 263 13.3. 查看事件 264 13.4. 使用事件和条件诊断数据卷 265 13.5. 查看有关虚拟机工作负载的信息 267 13 OpenShift 虚拟化(OpenShift virtualization)是 OpenShift Container Platform 的一个附加组件,可用于运行和管理虚拟机工作负载以及容器工作负载。 OpenShift Virtualization 通过 Kubernetes 自定义资源添加新对象至 OpenShift Container Platform 集群中,以启用虚拟化任务。这些任务包括:0 码力 | 307 页 | 3.45 MB | 2 年前3
OpenShift Container Platform 4.13 虚拟化ents/4/f/a/9/4fa94f5ec11c26725cf4fa7f08efa244/p1_1.jpg) ### OpenShift Container Platform 4.13 虚拟化 OpenShift Virtualization 安装、使用和发行注记 Powered by TCPDF (www.tcpdf.org) OpenShift Virtualization 安装、使用和发行注记 OpenShift 虚拟化(OpenShift virtualization)是 OpenShift Container Platform 的一个附加组件,可用于运行和管理虚拟机工作负载以及容器工作负载。 OpenShift Virtualization 通过 Kubernetes 自定义资源添加新对象至 OpenShift Container Platform 集群中,以启用虚拟化任务。这些任务包括: ● 通过各种控制台和 CLI 工具连接至虚拟机 导入和克隆现有虚拟机 ● 管理虚拟机上附加的网络接口控制器和存储磁盘 在节点间实时迁移虚拟机 增强版 web 控制台提供了一个图形化的门户界面 来管理虚拟化资源以及 OpenShift Container Platform 集群容器和基础架构。 OpenShift Virtualization 的设计和测试,可与 Red Hat OpenShift0 码力 | 393 页 | 4.53 MB | 2 年前3
Kubernetes Operator 实践 - MySQL容器化## Kubernetes Operator 实践 —— MySQL 容器化 刘林 搜狗资深工程师 ## 关于我  刘林 ## 搜狗商业平台研发部资深开发工程师 - 主要从事商业平台研发工作,在构建高性能、高可用大规模系统方面有丰富的实践经验 27e1bdc741/p5_1.jpg) 搜狗商业平台业务系统 搜狗商业平台基础平台 搜索推广 信息流 品牌 账户 CI&CD 物料 计费 模板管理 管理界面 自动化测试 BizNginx ( Load Balancer ) SOA服务框架 PaaS 统一服务管理 统一配置中心 Kafka Zookeeper etcd 项目管理 DevOps [Image](/uploads/documents/4/7/d/d/47dd11b40241e0917f8cd627e1bdc741/p6_8.jpg) elasticsearch ## 有状态服务容器化 ## TABLE OF CONTENTS 大纲 1. 背景介绍 2. Operator 的基本原理 3. MySQL Operator 设计实践 4. 小结 ## 带来的新挑战 无状态服务0 码力 | 42 页 | 4.77 MB | 1 年前3
快速微服务化编程体验## 快速微服务化编程体验 部门名称:开源软件能力中心 作 者 : 巨震、杨波 日期:2018/10/29  ## 目录 1. 案例简介 2. Provider开发 3. Consumer开发 4. Kubernetes部署0 码力 | 12 页 | 2.67 MB | 2 年前3
Service Mesh微服务化和传统框架微服务化混合部署协同实践分享符合NMPA/FDA/EMA法规要求  ## AI智能化 - 整合商业智能系统支持自定义表单,辅助决策 PSUR报告自动生成 · SAE报告自动生成 · 个例中英智能翻译 ## 川 • NMPA反馈报告自动生成 ## 符合国际标准 - ICH0 码力 | 11 页 | 11.76 MB | 2 年前3
Apifox - API调试、API Mock、API自动化测试一体化协作平台设计、开发、测试 一体化协作平台 用友 yonyou ## 关于 Apifox ## 超百万开发者的选择 ## 130 万+ 开发者用户 Apifox(广州睿狐信息科技有限公司)成立于 2021 年,是一家专注于企业 API 研发管理工具及解决方案的创新企业。围绕 API 全生命周期协同与管理需求,提供 API 文档、API 调试、API Mock、API 自动化测试等核心产品能力,致力于为全球研发团队提高 ## 数字化虽好,但给 API 协同带来挑战不少   DevOps 化 移动化 /d/6/dfd6dce8d5091ffc1089925ceabb095d/p3_5.jpg) 物联网化 微服务化  数字化转型 数据来源:《Postman 2022 年 API 调查报告》 API 协同人数激增,管理难度加大0 码力 | 27 页 | 14.01 MB | 2 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100













