MoonBit月兔编程语言 现代编程思想 第四课 多元组, 结构体,枚举类型 - 结构体与相同类型集合构成的多元组同构 ☐ 集合 A 与 B 之间存在一一映射的关系 ☐ 存在一对映射 f: (A) → B 与 g: (B) → A 使得 ■ g(f(a)) == a ■ f(g(b)) == b - 例:struct PersonalInfo { name: String; age: Int } 与 (String, Int) 同构 1. fn f(info: PersonalInfo) 我们将多元组、结构体、枚举类型等称为代数数据类型,它们具有代数结构 - 类型相等:同构 - 类型相乘:积类型 - 类型相加:和类型 - 加法的单位元:enum Nothing {} • 乘法的单位元:():Unit ## 代数数据类型 • $ 1 \times n = n $ 对于任意类型 T,(T,Unit)与 T 同构 1. fn f[T](t: T) -> (T, Unit) { Unit)) -> T { pair.0 } • 0 + n = n 对于任意类型 T,enum PlusZero[T] { CaseT(T); CaseZero(Nothing) } 与 T 同构 1. fn f[T](t: PlusZero) -> T { 2. match t { 3. CaseT(t) => t 4. CaseZero(_)0 码力 | 26 页 | 435.86 KB | 2 年前3
大规模高性能区块链架构设计模式与测试框架-李世敬业务组织形式不同,异构链/系统难适配 性能扩展问题 ■ 数据量、网络复杂度指数上升,架构难扩展 ## 多☑异构并行区☑架构模型 主链 节点 锚节点 节点 锚节点 节点 共识节点 同构子链 节点 节点 轻节点 非共识节点 同构子链 锚节点 二层子链 节点数量有限,参与交易的共识,存储全量数据,节点间采用GRPC全连接方式互联 ## 共识节点 轻客户端 锚节点 异构子链 锚节点 二层子链 sip协议同步数据 ## 非共识节点 轻节点 节点数量较多,存储部分数据, 用于交易的证明验证 ## 主链 • 存证 • 权限控制 • 治理 • 监管友好 ## 基础子链 - 同构子链直接通过主链互通 异构子链需借助网关实现互通 ## 扩展子链 按需可扩展多层子链,基础子链为扩展子链提供存证、互通等能力 ## 轻客户端 节点数量较多,一般为物联网终端设备,主要进行数据的可信采集0 码力 | 39 页 | 56.58 MB | 2 年前3
Service Mesh的延伸 — 论道Database Mesh态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar这3款产品组成。3款产品提供标准化的数据分片、读写分离、柔性事务和数据治理功能,可适用于如Java同构、异构语言、容器、云原生等各种多样化的应用场景。 了解更多 ## Sharding-Sphere:官档 ### http://shardingsphere.io/document/current/ 由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar这3款相互独立的产品组成。他们均提供标准化的数据分片、读写分离、柔性事务和数据治理功能,可适用于如Java同构、异构语言、容器、云原生等各种多样化的应用场景。 Sharding-Sphere定位为关系型数据库中间件,旨在充分合理地在分布式的场景下利用关系型数据库的计算和存储能力,而并非实现一个全新的关系型0 码力 | 35 页 | 4.56 MB | 1 年前3
Apache ShardingSphere(Incubating)云架构演化态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar这3款产品组成。3款产品提供标准化的数据分片、读写分离、柔性事务和数据治理功能,可适用于如Java同构、异构语言、容器、云原生等各种多样化的应用场景。 了解更多 ## Sharding-Sphere Sharding-Sphere > 概览 1. 概览 2. 快速入门 3. 概念 & 由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar这3款相互独立的产品组成。他们均提供标准化的数据分片、读写分离、柔性事务和数据治理功能,可适用于如Java同构、异构语言、容器、云原生等各种多样化的应用场景。 Sharding-Sphere定位为关系型数据库中间件,旨在充分合理地在分布式的场景下利用关系型数据库的计算和存储能力,而并非实现一个全新的关系型0 码力 | 34 页 | 5.07 MB | 2 年前3
Apache ShardingSphere(Incubating) 云架构演化态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar这3款产品组成。3款产品提供标准化的数据分片、读写分离、柔性事务和数据治理功能,可适用于如Java同构、异构语言、容器、云原生等各种多样化的应用场景。 了解更多 ## Sharding-Sphere 1. 概览 2. 快速入门 3. 概念 & 功能 4. 使用手册 ,上下文切换时延 3us、中断延迟 2us。 未来还将提供: 南向生态:RISC-V、龙芯支持。 混合关键性部署框架:围绕生命周期管理、跨 OS 通信、服务化框架、多 OS 协同构建 4 个方面持续打造标准混部框架,支持更多的软实时和硬实时 OS 接入 openEuler 生态中。 • 嵌入式弹性底座:持续完善 Jailhouse 和 ZVM 虚拟化能力,支持更广泛的南向生态,提供更好的时延优化。0 码力 | 48 页 | 5.62 MB | 2 年前3
美团点评2018技术年货,但整体的效果不够明显,所以最终未投入规模使用。 ## 前端优化 前端优化我们主要做了下面几件事情: • 前后端分离 图片优化 • 域名收敛、减少请求 • 离线化 • 首屏Node后端同构渲染 ## 前后端分离 在之前的项目中,页面是“Java直出”的方式,由Java后端项目中通过FTL模板引擎拼装,前端团队会维护另外一个前端的项目,存放相应的CSS和JS文件,最后通过公司内部的Cortex系统打包发布。 一次加载页面是没有加速效果的,因为只有第一次访问之后才会把资源缓存下来。而离线包框架则可以做到真正的预加载,它会监听APP正常启动事件,当APP启动后即可开始加载更新离线资源。 ## Node服务端同构渲染 前面介绍了前后端分离的架构,HTML主文档可以利用CDN加速,另外前后端同学很好的解耦开了,前端可以更方便的做组件化沉淀。但这种架构除了SEO时的问题还有另外一个问题,先看一下前后端分离下的一个页面加载过程: 可能还不如“Java直出”:  同构渲染,结合了Java直出和前后端分离的优势: 1. 通过在Java API之前加入Node层,Node由前端同学来维护,这样仍然可以做到前后端解耦,后端同学只需要写Ajax 返回JSON,甚至只需要通过RPC接口。0 码力 | 229 页 | 61.61 MB | 2 年前3
01 Sharding JDBC概览harding-JDBC、Sharding-Proxy和Sharding-Sidecar(计划中)这3款相互独立的产品组成。他们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如Java同构、异构语言、容器、云原生等各种多样化的应用场景。 当前版本:3.0 官网地址:https://shardingsphere.apache.org/index_zh.html ShardingSphere构成:0 码力 | 6 页 | 781.70 KB | 2 年前3
共 121 条
- 1
- 2
- 3
- 4
- 5
- 6
- 13













