2.1.1 Golang主动式内存缓存的优化探索之路播 Maxwell是一个能实时读取MySQL二进 制日志binlog,并生成JSON格式的消 息,作为生产者发送给Kafka、 RabbitMQ、Redis、文件或其它平台的 应用程序 数据管理 如何像SQL一样灵活? 多维度查询 03. 业务数据的查询条件复杂,数据在内存中该如何组织 Q1:已开始的公益直播,且公开显示 直播1 Q2:2021-06-27 10:00:00之后 数据存储、数据传输 带宽减少40% 2GB -> 1.2GB MaxwellConsumer 03. 通过golang接口的方式,实现业务与框架代码分离 DataManager 04. 工程化的通用数据管理器,提供正排、倒排等丰富的查询模式 数据存储 倒排更新过程 冷热数据交换后,DataManager中 部分数据可能交换到远端存储 本地没有数据实体,数据发生更新, 只知道变更后的新数据0 码力 | 48 页 | 6.06 MB | 1 年前3
Hello 算法 1.2.0 繁体中文 Go 版7.1 二元樹 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 7.2 二元樹走訪 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 7.3 二元樹陣列表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 7.4 二元搜尋樹 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 7.5 AVL 樹 * . . . . . . . . . 12.2 分治搜尋策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 12.3 構建二元樹問題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 12.4 河內塔問題 . . . .0 码力 | 385 页 | 18.80 MB | 10 月前3
03. Golang 在隐私计算平台建设中的实践 - 刘敬赖其他⽅方某⼀一⽅方计算逻辑产⽣生数据 趣链科技版权所有©2016 – 2021 17 隐私计算算法流程抽象 计算逻辑抽象 • 将部分计算逻辑抽象成⼀一个 函数(元函数) • ⼊入参是该部分计算逻辑需要 的中间数据 • 返回值是返回到本⽅方给其他 元函数的⼊入参 • 需要发送给其他⽅方的数据, 通过context对象指定参与 ⽅方发送 Context中包含本次隐私计算任务的详细信息 趣链科技版权所有©2016 主动终⽌止算法 基于元函数出⼊入参类型,算法流程⾃自组 织执⾏行行,框架可介⼊入控制 05.解耦算法流程和⽹网络io ⽆无需再关注⽹网络通信 06.声明式的算法嵌套 ⽆无需关注嵌套算法的调⽤用时机,框架⾃自 动触发调⽤用 本地计算 元函数 嵌套调⽤用其他算法 元函数 接 ⼝口 算法流程 异常处理理 … 流 程 控 制 元函数 异步执⾏行行 元函数⼊入参 ⾃自动注⼊入 及算法实例例 中 元函数的调度,框架根据算法实例例会⾃自动⽣生成对应的控制器器 protocol instance:⼀一个instance对应对应具体的算法的⼀一中实现,包含算法的配置和所有元函 数的 集合 趣链科技版权所有©2016 – 2021 20 隐私计算算法框架-instance 声明算法实例例的配置 通⽤用流程的回调函数 按照隐私计算中的⻆角⾊色 配置元函数列列表 由于算法的⼀一部分逻辑是以独⽴立的函数存在0 码力 | 37 页 | 6.20 MB | 1 年前3
Hello 算法 1.1.0 Go版例三:货币找零。假设我们在超市购买了 69 元的商品,给了收银员 100 元,则收银员需要找我们 31 元。他 会很自然地完成如图 1‑3 所示的思考。 1. 可选项是比 31 元面值更小的货币,包括 1 元、5 元、10 元、20 元。 2. 从可选项中拿出最大的 20 元,剩余 31 − 20 = 11 元。 3. 从剩余可选项中拿出最大的 10 元,剩余 11 − 10 = 1 元。 4. 从剩余可选项中拿出最大的 从剩余可选项中拿出最大的 1 元,剩余 1 − 1 = 0 元。 5. 完成找零,方案为 20 + 10 + 1 = 31 元。 第 1 章 初识算法 hello‑algo.com 13 图 1‑3 货币找零过程 在以上步骤中,我们每一步都采取当前看来最好的选择(尽可能用大面额的货币),最终得到了可行的找零方 案。从数据结构与算法的角度看,这种方法本质上是“贪心”算法。 小到烹饪一道菜,大到星际航 较大,TB 级别 较小,GB 级别 非常小,MB 级别 速度 较慢,几百到几千 MB/s 较快,几十 GB/s 非常快,几十到几百 GB/s 价格 较便宜,几毛到几元 / GB 较贵,几十到几百元 / GB 非常贵,随 CPU 打包计价 我们可以将计算机存储系统想象为图 4‑9 所示的金字塔结构。越靠近金字塔顶端的存储设备的速度越快、容 量越小、成本越高。这种多层级的设计并非偶然,而是计算机科学家和工程师们经过深思熟虑的结果。0 码力 | 383 页 | 18.48 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Go 版例三:货币找零。假设我们在超市购买了 69 元的商品,给了收银员 100 元,则收银员需要找我们 31 元。他 会很自然地完成如图 1‑3 所示的思考。 1. 可选项是比 31 元面值更小的货币,包括 1 元、5 元、10 元、20 元。 2. 从可选项中拿出最大的 20 元,剩余 31 − 20 = 11 元。 3. 从剩余可选项中拿出最大的 10 元,剩余 11 − 10 = 1 元。 4. 从剩余可选项中拿出最大的 从剩余可选项中拿出最大的 1 元,剩余 1 − 1 = 0 元。 5. 完成找零,方案为 20 + 10 + 1 = 31 元。 第 1 章 初识算法 www.hello‑algo.com 13 图 1‑3 货币找零过程 在以上步骤中,我们每一步都采取当前看来最好的选择(尽可能用大面额的货币),最终得到了可行的找零方 案。从数据结构与算法的角度看,这种方法本质上是“贪心”算法。 小到烹饪一道菜,大 较大,TB 级别 较小,GB 级别 非常小,MB 级别 速度 较慢,几百到几千 MB/s 较快,几十 GB/s 非常快,几十到几百 GB/s 价格 较便宜,几毛到几元 / GB 较贵,几十到几百元 / GB 非常贵,随 CPU 打包计价 我们可以将计算机存储系统想象为图 4‑9 所示的金字塔结构。越靠近金字塔顶端的存储设备的速度越快、容 量越小、成本越高。这种多层级的设计并非偶然,而是计算机科学家和工程师们经过深思熟虑的结果。0 码力 | 384 页 | 18.49 MB | 10 月前3
Hello 算法 1.0.0 Golang版例三:货币找零。假设我们在超市购买了 69 元的商品,给了收银员 100 元,则收银员需要找我们 31 元。他 会很自然地完成如图 1‑3 所示的思考。 1. 可选项是比 31 元面值更小的货币,包括 1 元、5 元、10 元、20 元。 2. 从可选项中拿出最大的 20 元,剩余 31 − 20 = 11 元。 3. 从剩余可选项中拿出最大的 10 元,剩余 11 − 10 = 1 元。 4. 从剩余可选项中拿出最大的 从剩余可选项中拿出最大的 1 元,剩余 1 − 1 = 0 元。 5. 完成找零,方案为 20 + 10 + 1 = 31 元。 第 1 章 初识算法 hello‑algo.com 13 图 1‑3 货币找零过程 在以上步骤中,我们每一步都采取当前看来最好的选择(尽可能用大面额的货币),最终得到了可行的找零方 案。从数据结构与算法的角度看,这种方法本质上是“贪心”算法。 小到烹饪一道菜,大到星际航 较大,TB 级别 较小,GB 级别 非常小,MB 级别 速度 较慢,几百到几千 MB/s 较快,几十 GB/s 非常快,几十到几百 GB/s 价格 较便宜,几毛到几元 / GB 较贵,几十到几百元 / GB 非常贵,随 CPU 打包计价 我们可以将计算机存储系统想象为图 4‑9 所示的金字塔结构。越靠近金字塔顶端的存储设备的速度越快、容 量越小、成本越高。这种多层级的设计并非偶然,而是计算机科学家和工程师们经过深思熟虑的结果。0 码力 | 382 页 | 17.60 MB | 1 年前3
Hello 算法 1.0.0b5 Golang版例三:货币找零。假设我们在超市购买了 69 元的商品,给了收银员 100 元,则收银员需要找我们 31 元。他 会很自然地完成如图 1‑3 所示的思考。 1. 可选项是比 31 元面值更小的货币,包括 1 元、5 元、10 元、20 元。 2. 从可选项中拿出最大的 20 元,剩余 31 − 20 = 11 元。 3. 从剩余可选项中拿出最大的 10 元,剩余 11 − 10 = 1 元。 4. 从剩余可选项中拿出最大的 从剩余可选项中拿出最大的 1 元,剩余 1 − 1 = 0 元。 5. 完成找零,方案为 20 + 10 + 1 = 31 元。 第 1 章 初识算法 hello‑algo.com 12 图 1‑3 货币找零过程 在以上步骤中,我们每一步都采取当前看来最好的选择(尽可能用大面额的货币),最终得到了可行的找零方 案。从数据结构与算法的角度看,这种方法本质上是“贪心”算法。 小到烹饪一道菜,大到星际航 这么多。另一方面,为了防止频繁扩容,扩容一般都会乘以一个系数,比如 ×1.5 。这样一来, 也会出现很多空位,我们通常不能完全填满它们。 � 在 Python 中 初 始 化 n = [1, 2, 3] 后, 这 3 个 元 素 的 地 址 是 相 连 的, 但 是 初 始 化 m = [2, 1, 3] 会发现它们每个元素的 id 并不是连续的,而是分别跟 n 中的相同。这些 元素地址不连续,那么 m 还是数组吗?0 码力 | 379 页 | 30.70 MB | 1 年前3
Hello 算法 1.0.0b4 Golang版例三:货币找零。假设我们在超市购买了 69 元的商品,给收银员付了 100 元,则收银员需要给我们找 31 元。他会很自然地完成以下思考: 1. 可选项是比 31 元面值更小的货币,包括 1 , 5 , 10 , 20 元。 2. 从可选项中拿出最大的 20 元,剩余 31 − 20 = 11 元。 3. 从剩余可选项中拿出最大的 10 元,剩余 11 − 10 = 1 元。 4. 从剩余可选项中拿出最大的 1 元,剩余 1 1 − 1 = 0 元。 5. 完成找零,方案为 20 + 10 + 1 = 31 元。 在以上步骤中,我们每一步都采取当前看来最好的选择(尽可能用大面额的货币),最终得到了可行的找零方 案。从数据结构与算法的角度看,这种方法本质上是「贪心算法」。 1. 初识算法 hello‑algo.com 9 Figure 1‑3. 货币找零过程 小到烹饪一道菜,大到星际航行,几乎所有问题的解决都 。这样一来, 也会出现很多空位,我们通常不能完全填满它们。 4. 数组与链表 hello‑algo.com 69 � 在 Python 中 初 始 化 n = [1, 2, 3] 后, 这 3 个 元 素 的 地 址 是 相 连 的, 但 是 初 始 化 m = [2, 1, 3] 会发现它们每个元素的 id 并不是连续的,而是分别跟 n 中的相同。这些 元素地址不连续,那么 m 还是数组吗?0 码力 | 347 页 | 27.40 MB | 1 年前3
Golang 101(Go语言101 中文版) v1.21.a关于本文中的内容和一些解释 本文只介绍算术运算符、位运算符、比较运算符、布尔运算符和字符串衔接运 算符。 这些运算符要么是二元的(需要两个操作数),要么是一元的(需要一 个操作数)。 所有这些运算符运算都只返回一个结果。操作数常常也称为操作 值。 本文中的解释不追求描述的完全准确性。 比如,当我们说一个二元运算符运算 需要其涉及的两个操作数类型必须一样的时,这指: 如果这两个操作数都是类型确定值,则它们的类型必须相同,或者其中一 默认类型的任何值可以被隐式转换到此类型确定操作数的类型。 如果这两个操作数都是类型不确定的,则它们必须同时都为两个布尔值, 同时都为两个字符串值,或者同时都为两个基本数字值。 类似的,当我们说一个运算符(一元或者二元)运算要求其涉及的某个操作数 的类型必须为某个特定类型时,这指: 如果这个操作数是类型确定的,则它的类型必须为所要求的特定类型,或 者此操作数可以被隐式转换为所要求的特定类型。 如果一个操作 一个常量表 达式的估值是在编译阶段进行的。一个常量表达式的估值结果依然是一个常 量。 如果一个表达式中涉及到的操作数中至少有一个不为常量,则此表达式称 为非常量表达式。 算术运算符 Go支持五个基本二元算术运算符: 字面形式 名称 对两个运算数的要求 + 加法 两个运算数的类型必须相同并且为基本数值类型。 - 减法 * 乘法 / 除法 % 余数 两个运算数的类型必须相同并且为基本整数数值类型。0 码力 | 608 页 | 1.08 MB | 1 年前3
Golang 101(Go语言101 中文版) v1.21.a关于本文中的内容和一些解释 本文只介绍算术运算符、位运算符、比较运算符、布尔运算符和字符串衔接运 算符。 这些运算符要么是二元的(需要两个操作数),要么是一元的(需要 一个操作数)。 所有这些运算符运算都只返回一个结果。操作数常常也称为 操作值。 本文中的解释不追求描述的完全准确性。 比如,当我们说一个二元运算符运 算需要其涉及的两个操作数类型必须一样的时,这指: 如果这两个操作数都是类型确定值,则它们的类型必须相同,或者其中一 默认类型的任何值可以被隐式转换到此类型确定操作数的类型。 如果这两个操作数都是类型不确定的,则它们必须同时都为两个布尔值, 同时都为两个字符串值,或者同时都为两个基本数字值。 类似的,当我们说一个运算符(一元或者二元)运算要求其涉及的某个操作数 的类型必须为某个特定类型时,这指: 如果这个操作数是类型确定的,则它的类型必须为所要求的特定类型,或 者此操作数可以被隐式转换为所要求的特定类型。 如果一个操作 个常量表达式的估值是在编译阶段进行的。一个常量表达式的估值结果依然是 一个常量。 如果一个表达式中涉及到的操作数中至少有一个不为常量,则此 表达式称为非常量表达式。 算术运算符 Go支持五个基本二元算术运算符: 字面形式 名称 对两个运算数的要求 + 加法 两个运算数的类型必须相同并且为基本数值类型。 - 减法 * 乘法 / 除法 % 余数 两个运算数的类型必须相同并且为基本整数数值类型。0 码力 | 821 页 | 956.82 KB | 1 年前3
共 24 条
- 1
- 2
- 3













