Go 构建大型开源分布式数据库技术内幕Go 搭建大型开源分布式数据库技术内幕 shenli@PingCAP 关于我 ● 申砾 (Shen Li) ● TiDB 技术负责人 ● 网易有道 / 360搜索 / PingCAP ● Infrastructure software engineer 为什么需要一个新的数据库? 从单机数据库到 NewSQL ● 关系型数据库 ● NoSQL ● 中间件 ● NewSQL0 码力 | 44 页 | 649.68 KB | 1 年前3
03. Golang 在隐私计算平台建设中的实践 - 刘敬– 2021 4 隐私计算概念 隐私计算(Privacy preserving computation)是指在保证数据提供⽅方不不泄露露原始 数据的前提下,对数据进⾏行行分析计算的⼀一系列列信息技术,保障数据在流通和融合过程 中的“可⽤用不不可⻅见”。 数据提供⽅方 数据提供⽅方 数据使⽤用⽅方 计算结果 趣链科技版权所有©2016 – 2021 5 隐私计算背景 欧盟出台的《通 算研究范畴及发展趋势》 ⾸首次提出了了隐私计算概念 2021年年国内正式提 出了了隐私计算+区 块链,并达成业内 共识 趣链科技版权所有©2016 – 2021 7 隐私计算技术分类 • 安全多⽅方计算 纯密码学技术实现数据的可 ⽤用不不可⻅见 • 可信执⾏行行环境 基于TEE硬件保障计算环境安全 可信,提供计算模型及数据双维 度安全 • 联邦学习 结合机器器学习和密码学算 法,数据联邦化训练,充 OPRF协议 ⿊黑名单匹配 ⾦金金融反欺诈 联合征信 应 ⽤用 同态加密 算法体系 隐私计算算法体系 03 构建隐私计算算 法框架的实践 趣链科技版权所有©2016 – 2021 13 隐私集合求交算法示例例 2.发送 和 N fp(A) 3.1随机⽣生成秘钥q 3.2加密数据集B的每个元素 3.2再次加密 的每个元素 fq(B) = {fq(b1), fq(b2), …,0 码力 | 37 页 | 6.20 MB | 1 年前3
Go Web编程8.Web服务 8.1 Socket编程 8.2 WebSocket 8.3 REST 8.4 RPC 8.5 小结 9.安全与加密 9.1 预防CSRF攻击 9.2 确保输入过滤 9.3 避免XSS攻击 9.4 避免SQL注入 9.5 存储密码 9.6 加密和解密数据 9.7 小结 10.国际化和本地化 10.1 设置默认地区 10.2 本地化资源 10.3 国际化站点 4 10 kie的话,此种方案将会是首选。 Go实现session管理 Go实现session管理 通过上面session创建过程的讲解,读者应该对session有了一个大体的认识,但是具体到动态页面技术里面,又是怎 么实现session的呢?下面我们将结合session的生命周期(lifecycle),来实现go语言版本的session管理。 session管理设计 session管理设计 Go如何使用session 下一节: 预防session劫持 146 6.4 预防session劫持 6.4 预防session劫持 session劫持是一种广泛存在的比较严重的安全威胁,在session技术中,客户端和服务端通过session的标识符来维 护会话, 但这个标识符很容易就能被嗅探到,从而被其他人利用.它是中间人攻击的一种类型。 本节将通过一个实例来演示会话劫持,希望通过这个实例,能让读者更好地理解session的本质。0 码力 | 295 页 | 5.91 MB | 1 年前3
大规模高性能区块链架构设计模式与测试框架-李世敬区块链发展历程 2008 2009 • 中本聪发表了比特币的创世论文 《比特币: 一种点对点的电子现 金系统》,标志着区块链作为一 项完整的集成创新技术正式诞生 • 比特币诞生,是世界上首个区 块链应用系统。发展至今有力 地证明了区块链技术的创新性、 颠覆性和顽强的生存能力 中本聪 比特币Bitcoin 2013 • 以太坊发布以太坊白皮书, 引入智能合约,推出首个 图灵完备的区块链平台, 区块链联盟,致力于探索区块链 技术在金融行业的应用产品,自 此联盟链技术逐渐获得广泛关注 R3 CEV区块链联盟 2015 2015 2020 6 趣链科技 版权所有 ©2016-2021 6 趣链科技 版权所有 ©2016-2021 6 趣链科技 版权所有 ©2016-2021 6 区块链技术定义 区块链是由分布式数据存储、点对点传输、共识机制、加密算法等计算机技术构成的多中心 化系统 不可篡改(可信存证) 多方业务系统数据共享 ü 跨机构业务协作 核心特性 7 趣链科技 版权所有 ©2016-2021 7 趣链科技 版权所有 ©2016-2021 7 趣链科技 版权所有 ©2016-2021 7 区块链技术定义 Code is the rule . 8 趣链科技 版权所有 ©2016-2021 8 趣链科技 版权所有 ©2016-2021 8 趣链科技 版权所有 ©2016-2021 8 交易 区块0 码力 | 39 页 | 56.58 MB | 1 年前3
Go 入门指南(The way to Go)前最全面的学习 资源。本书通过对官方的在线文档、名人博客、书籍、相关文章以及演讲的资料收集和整理,并结合我自 身在软件工程、编程语言和数据库开发的授课经验,将这些零碎的知识点组织成系统化的概念和技术分类 来进行讲解。 随着软件规模的不断扩大,诸多的学者和谷歌的开发者们在公司内部的软件开发过程中开始经历大量的挫 折,在诸多问题上都不能给出令人满意的解决方案,尤其是在使用 C++ 来开发大型的服务端软件时,情 goroutine 这种轻量级线程的概 念来实现这个目标,然后通过 channel 来实现各个 goroutine 之间的通信。他们实现了分段栈增长和 goroutine 在线程基础上多路复用技术的自动化。 这个特性显然是 Go 语言最强有力的部分,不仅支持了日益重要的多核与多处理器计算机,也弥补了现存 编程语言在这方面所存在的不足。 Go 语言中另一个非常重要的特性就是它的构建速度( 看起来并不相同。但是它通过接口 (interface)的概念来实现多态性。Go 语言有一个清晰易懂的轻量级类型系统,在类型之间也没有层级 之说。因此可以说这是一门混合型的语言。 在传统的面向对象语言中,使用面向对象编程技术显得非常的臃肿,它们总是通过复杂的模式来构建庞大 的类型层级,这违背了编程语言应该提升生产力的宗旨。 函数是 Go 语言中的基本构件,它们的使用方法非常灵活。在第六章,我们会看到 Go 语言在函数式编程0 码力 | 380 页 | 2.97 MB | 1 年前3
Go 入门指南(The way to Go)前最全面的学习资源。本书 通过对官方的在线文档、名人博客、书籍、相关文章以及演讲的资料收集和整理,并结合我自身在软件工程、编程语 言和数据库开发的授课经验,将这些零碎的知识点组织成系统化的概念和技术分类来进行讲解。 随着软件规模的不断扩大,诸多的学者和谷歌的开发者们在公司内部的软件开发过程中开始经历大量的挫折,在诸多 问题上都不能给出令人满意的解决方案,尤其是在使用 C++ 来开发大型的服务端软件时,情况更是不容乐观。由于 goroutine 这种轻量级线程的概念来实现这个目标,然 后通过 channel 来实现各个 goroutine 之间的通信。他们实现了分段栈增长和 goroutine 在线程基础上多路 复用技术的自动化。 这个特性显然是 Go 语言最强有力的部分,不仅支持了日益重要的多核与多处理器计算机,也弥补了现存编程语言在 这方面所存在的不足。 Go 语言中另一个非常重要的特性就是它的构建速度( 看起来并不相同。但是它通过接口(interface)的 概念来实现多态性。Go 语言有一个清晰易懂的轻量级类型系统,在类型之间也没有层级之说。因此可以说这是一门混 合型的语言。 在传统的面向对象语言中,使用面向对象编程技术显得非常臃肿,它们总是通过复杂的模式来构建庞大的类型层级, 这违背了编程语言应该提升生产力的宗旨。 函数是 Go 语言中的基本构件,它们的使用方法非常灵活。在第六章,我们会看到 Go 语言在函数式编程方面的基本0 码力 | 466 页 | 4.44 MB | 1 年前3
Golang 101(Go语言101 中文版) v1.21.a第32章:代码块和标识符作用域 第33章:表达式估值顺序规则 第34章:值复制成本 第35章:边界检查消除 并发编程 第36章:并发同步概述 第37章:通道用例大全 第38章:如何优雅地关闭通道 第39章:其它并发同步技术 - 如何使用sync标准库包 第40章:原子操作 - 如何使用sync/atomic标准库包 第41章:Go中的内存顺序保证 第42章:一些常见并发编程错误 内存相关 第43章:内存块 第44章:关于Go值的内存布局 语句。这样的语句 常常会包含很多子语句。 上面所提及的流程控制语句都属于狭义上的流程控制语句。 下一篇文章中将 要介绍的协程、延迟函数调用、以及恐慌和恢复(第13章),以及今后要介绍 的并发同步技术(第36章)属于广义上的流程控制语句。 本文余下的部分将只解释三种基本的流程控制语句和各种代码跳转语句。其它 上面提及的语句将在后面其它文章中逐渐介绍。 if-else条件分支控制代码块 一个 这些情形被称为数据竞争(data race)。并发编程的一大任务就是要调度不同 计算,控制它们对资源的访问时段,以使数据竞争的情况不会发生。 此任务 常称为并发同步(或者数据同步)。Go支持几种并发同步技术,这些并发同 步技术将在后面的章节中逐一介绍。 并发编程中的其它任务包括: 决定需要开启多少计算; 决定何时开启、阻塞、解除阻塞和结束哪些计算; 决定如何在不同的计算中分担工作负载。 上一节中这个并发程0 码力 | 821 页 | 956.82 KB | 1 年前3
Golang 101(Go语言101 中文版) v1.21.a第32章:代码块和标识符作用域 第33章:表达式估值顺序规则 第34章:值复制成本 第35章:边界检查消除 并发编程 第36章:并发同步概述 第37章:通道用例大全 第38章:如何优雅地关闭通道 第39章:其它并发同步技术 - 如何使用sync标准库包 第40章:原子操作 - 如何使用sync/atomic标准库包 第41章:Go中的内存顺序保证 第42章:一些常见并发编程错误 内存相关 第43章:内存块 第44章:关于Go值的内存布局 条语句。这样的语句 常常会包含很多子语句。 上面所提及的流程控制语句都属于狭义上的流程控制语句。 下一篇文章中将要 介绍的协程、延迟函数调用、以及恐慌和恢复(第13章),以及今后要介绍的 并发同步技术(第36章)属于广义上的流程控制语句。 本文余下的部分将只解释三种基本的流程控制语句和各种代码跳转语句。其它 上面提及的语句将在后面其它文章中逐渐介绍。 if-else条件分支控制代码块 一个 这些情形被称为数据竞争(data race)。并发编程的一大任务就是要调度不同 计算,控制它们对资源的访问时段,以使数据竞争的情况不会发生。 此任务常 称为并发同步(或者数据同步)。Go支持几种并发同步技术,这些并发同步技 术将在后面的章节中逐一介绍。 并发编程中的其它任务包括: 决定需要开启多少计算; 决定何时开启、阻塞、解除阻塞和结束哪些计算; 决定如何在不同的计算中分担工作负载。 上一0 码力 | 608 页 | 1.08 MB | 1 年前3
Golang 101(Go语言101 中文版) v1.21.a2 第33章:表达式估值顺序规则 第34章:值复制成本 第35章:边界检查消除 并发编程 第36章:并发同步概述 第37章:通道用例大全 第38章:如何优雅地关闭通道 第39章:其它并发同步技术 - 如何使用sync标准库包 第40章:原子操作 - 如何使用sync/atomic标准库包 第41章:Go中的内存顺序保证 第42章:一些常见并发编程错误 内存相关 第43章:内存块 句。这样的语句常常 会包含很多子语句。 上面所提及的流程控制语句都属于狭义上的流程控制语句。 下一篇文章中将要介绍 的协程、延迟函数调用、以及恐慌和恢复(第13章),以及今后要介绍的并发同步 技术(第36章)属于广义上的流程控制语句。 本文余下的部分将只解释三种基本的流程控制语句和各种代码跳转语句。其它上面 提及的语句将在后面其它文章中逐渐介绍。 if-else条件分支控制代码块 第12章:基本流程控制语法 这些情形被称为数据竞争(data race)。并发编程的一大任务就是要调度不同计 算,控制它们对资源的访问时段,以使数据竞争的情况不会发生。 此任务常称为并 发同步(或者数据同步)。Go支持几种并发同步技术,这些并发同步技术将在后面 的章节中逐一介绍。 并发编程中的其它任务包括: 决定需要开启多少计算; 决定何时开启、阻塞、解除阻塞和结束哪些计算; 决定如何在不同的计算中分担工作负载。 上一节中这个并0 码力 | 591 页 | 21.40 MB | 1 年前3
Hello 算法 1.1.0 Go版个汉字。在 GBK 的编码方案中,ASCII 字符使用一个字节表示,汉字使用两个字节表示。 第 3 章 数据结构 hello‑algo.com 61 3.4.3 Unicode 字符集 随着计算机技术的蓬勃发展,字符集与编码标准百花齐放,而这带来了许多问题。一方面,这些字符集一般 只定义了特定语言的字符,无法在多语言环境下正常工作。另一方面,同一种语言存在多种字符集标准,如 果两台计算机使用 还处于发展早期,那时候使用 16 位的编码就足以表示所有的 Unicode 字符了。 ‧ C# 使用 UTF‑16 编码,主要是因为.NET 平台是由 Microsoft 设计的,而 Microsoft 的很多技术(包 括 Windows 操作系统)都广泛使用 UTF‑16 编码。 由于以上编程语言对字符数量的低估,它们不得不采取“代理对”的方式来表示超过 16 位长度的 Unicode 字符。这是一个 场普及。 ‧ 缓存的大容量和高速度难以兼得。随着 L1、L2、L3 缓存的容量逐步增大,其物理尺寸会变大,与 CPU 核心之间的物理距离会变远,从而导致数据传输时间增加,元素访问延迟变高。在当前技术下,多层级 的缓存结构是容量、速度和成本之间的最佳平衡点。 图 4‑9 计算机存储系统 Note 计算机的存储层次结构体现了速度、容量和成本三者之间的精妙平衡。实际上,这种权衡普遍存在于0 码力 | 383 页 | 18.48 MB | 1 年前3
共 51 条
- 1
- 2
- 3
- 4
- 5
- 6













