Golang 在隐私计算平台建设中的实践 - 刘敬golang 在隐私计算平台建设中的实践 刘敬 杭州趣链科技有限公司 2021-10 ⽬目录 隐私计算介绍 01 隐私计算平台架构 02 构建隐私计算算法框架的实践 03 ⼀一些优化技巧 04 01 隐私计算介绍 趣链科技版权所有©2016 – 2021 4 隐私计算概念 隐私计算(Privacy preserving computation)是指在保证数据提供⽅方不不泄露露原始 原始 数据的前提下,对数据进⾏行行分析计算的⼀一系列列信息技术,保障数据在流通和融合过程 中的“可⽤用不不可⻅见”。 数据提供⽅方 数据提供⽅方 数据使⽤用⽅方 计算结果 趣链科技版权所有©2016 – 2021 5 隐私计算背景 欧盟出台的《通⽤用数据保护条例例》(GDPR)于2018年年5⽉月正式实⾏行行,加强对欧盟境内居 ⺠民的个⼈人数据和隐私的保护。 2021年年7⽉月 人数据保护的重要地位。 国内外纷纷出台了了围绕数据使⽤用和保护的公共政策 2021年年6⽉月10⽇日,《中华⼈人⺠民共和国数据安全法》在⼗十三届全国⼈人⼤大常委会正式颁布。 明确指出坚持安全与发展并重,锁定⽀支持促进数据安全与发展的措施;建⽴立保障政务数 据安全和推动政务数据开放的制度措施。该法⾃自2021年年9⽉月1⽇日起施⾏行行。 2021年年8⽉月20⽇日,⼗十三届全国⼈人⼤大常委0 码力 | 37 页 | 6.20 MB | 1 年前3
大规模高性能区块链架构设计模式与测试框架-李世敬4 趣链科技 版权所有 ©2016-2021 4 趣链科技 版权所有 ©2016-2021 4 区块链诞生 区块链是互联网发展到一 定阶段的必然产物,是在 低成本、高效、快捷的基 础上对其安全可信及多元 价值传递与贡献分配体系 的完善。 物理世界 价值互联网 移动互联网 互联网 数据可信 资产可信 合作可信 可信 普适 信息 数字世界 5 趣链科技 版权所有 ©2016-2021 趣链科技 版权所有 ©2016-2021 6 区块链技术定义 区块链是由分布式数据存储、点对点传输、共识机制、加密算法等计算机技术构成的多中心 化系统 不可篡改(可信存证) ü 可对存储的文件、数据进行真实性校验 ü 可信追溯历史数据 去中心化共识(协作共享) ü 多方业务系统数据共享 ü 跨机构业务协作 核心特性 7 趣链科技 版权所有 ©2016-2021 7 趣链科技 版权所有 区块链作为新基建基础设施之一,是大数据、人工智能、云计算、物联网等其他新型技术的黏合剂,各项技 术相互促进,融合发展,共同开创更大价值空间,加快新兴技术商业落地 利用区块链的去中心化、数据 不能篡改的特性,解决制约云 计算发展的“可信、可靠、可 控”的问题。 融入大数据采集和共享中,作 为数据源接入大数据分析平台。 强化分布式数据存 储和边缘计算能力, 拓展物联安全边界 和应用范围。 为训练深度学习系统提供可信数据,0 码力 | 39 页 | 56.58 MB | 1 年前3
Go 入门指南(The way to Go)传递变长参数 6.4 defer 和追踪 6.5 内置函数 6.6 递归函数 6.7 将函数作为参数 6.8 闭包 6.9 应用闭包:将函数作为返回值 6.10 使用闭包调试 6.11 计算函数执行时间 6.12 通过内存缓存来提升性能 第7章:数组与切片 7.1 声明和初始化 7.2 切片 7.3 For-range 结构 7.4 切片重组(reslice) 7.5 切片的复制与追加 的键值对调 第9章:包(package) 9.1 标准库概述 9.2 regexp 包 9.3 锁和 sync 包 - 3 - 本文档使用 书栈(BookStack.CN) 构建 9.4 精密计算和 big 包 9.5 自定义包和可见性 9.6 为自定义包使用 godoc 9.7 使用 go install 安装自定义包 9.8 自定义包的目录结构、go install 和 go test 以下就是他们讨论得出的对编程语言的设计要求: 能够以更快的速度开发软件 开发出的软件能够很好地在现代的多核计算机上工作 开发出的软件能够很好地在网络环境下工作 使人们能够享受软件开发的过程 Go 语言就在这样的环境下诞生了,它让人感觉像是 Python 或 Ruby 这样的动态语言,但却又拥有像 C 或者 Java 这类语言的高性能和安全性。 Go 语言出现的目的是希望在编程领域创造最实用的方式来进行软件开发。它并不是要用奇怪的语法和晦涩难懂的概念0 码力 | 466 页 | 4.44 MB | 1 年前3
Go 入门指南(The way to Go)以下就是他们讨论得出的对编程语言的设计要求: 能够以更快的速度开发软件 开发出的软件能够很好地在现代的多核计算机上工作 开发出的软件能够很好地在网络环境下工作 使人们能够享受软件开发的过程 Go 语言就在这样的环境下诞生了,它让人感觉像是 Python 或 Ruby 这样的动态语言,但却又拥有像 C 或者 Java 这类语言的高性能和安全性。 Go 语言出现的目的是希望在编程领域创造最实用的方式来进行软件开发。它并不是要用奇怪的语法和晦 Rob Pike 共同开 发了 UTF-8 字符集规范。自 2008 年 1 月起,Ken Thompson 就开始研发一款以 C 语言为目标结果的编 译器来拓展 Go 语言的设计思想。 这是一个由计算机领域 “发明之父” 所组成的黄金团队,他们对系统编程语言,操作系统和并行都有着非 常深刻的见解 图 1.1 Go 语言设计者:Griesemer、Thompson 和 Pike Go入门指南 Go入门指南 - 7 - 本文档使用 看云 构建 1.2.2 为什么要创造一门编程语言 C/C++ 的发展速度无法跟上计算机发展的脚步,十多年来也没有出现一门与时代相符的主流系统编程 语言,因此人们需要一门新的系统编程语言来弥补这个空缺,尤其是在计算机信息时代。 对比计算机性能的提升,软件开发领域不被认为发展地足够快或者比硬件发展更加成功(有许多项目 均以失败告终),同时应用程序的体积始终0 码力 | 380 页 | 2.97 MB | 1 年前3
Go Web编程7.4 模板处理 7.5 文件操作 7.6 字符串处理 7.7 小结 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 参考资料 5 1 GO环境配置 1 GO环境配置 欢迎来到Go的世界,让我们开始探索吧! Go是一种新的语言,一种并发的、带垃圾回收的、快速编译的语言。它具有以下特点: 它可以在一台计算机上用几秒钟的时间编译一个大型的Go程序。 Go为软件构造提供了一种模型,它使依赖分析更加容易,且避免了大部分C风格include文件与库的开头。 Go是静态类型的语言,它的类型系统没有层级。因此用 提供了基本的支持。 按照其设计,Go打算为多核机器上系统软件的构造提供一种方法。 Go是一种编译型语言,它结合了解释型语言的游刃有余,动态类型语言的开发效率,以及静态类型的安全性。它也打 算成为现代的,支持网络与多核计算的语言。要满足这些目标,需要解决一些语言上的问题:一个富有表达能力但轻 量级的类型系统,并发与垃圾回收机制,严格的依赖规范等等。这些无法通过库或工具解决好,因此Go也就应运而生0 码力 | 295 页 | 5.91 MB | 1 年前3
Golang 101(Go语言101 中文版) v1.21.a第21章:通道 - Go特色的并发同步方式 第22章:方法 第23章:接口 - 通过包裹不同具体类型的非接口值来实现反射和多态 第24章:类型内嵌 - 不同于继承的类型扩展方式 第25章:非类型安全指针 第26章:泛型 - 如何使用和解读组合类型 第27章:反射 - reflect标准库包中提供的反射支持 一些专题 第28章:代码断行规则 第29章:更多关于延迟函数调用的知识点 第30章:一些恐慌/恢复用例 Go的核心设计 成员中包括很多有着数十年编程语言研究领域经验的研究者。 Go有很多特性,有一些是独特的,有一些借鉴于一些其它编程语言: 内置并发编程支持: 使用协程(goroutine)做为基本的计算单元。轻松地创建协程。 使用通道(channel)来实现协程间的同步和通信。 内置了映射(map)和切片(slice)类型。 支持多态(polymorphism)。 使用接口(interface)来实现裝盒(value 支持函数闭包(closure)。 支持方法。 支持延迟函数调用(defer)。 支持类型内嵌(type embedding)。 支持类型推断(type deduction or type inference)。 内存安全。 自动垃圾回收。 良好的代码跨平台性。 自定义泛型(从Go 1.18开始)。 除了以上特性,Go还有如下亮点: Go的语法很简洁并且和其它流行语言相似。 这使得具有一定编程经验的 程序员很容易上手Go编程。0 码力 | 821 页 | 956.82 KB | 1 年前3
Golang 101(Go语言101 中文版) v1.21.a函数类型和函数值,以及变长参数个数函数 第21章:通道 - Go特色的并发同步方式 第22章:方法 第23章:接口 - 通过包裹不同具体类型的非接口值来实现反射和多态 第24章:类型内嵌 - 不同于继承的类型扩展方式 第25章:非类型安全指针 第26章:泛型 - 如何使用和解读组合类型 第27章:反射 - reflect标准库包中提供的反射支持 一些专题 第28章:代码断行规则 第29章:更多关于延迟函数调用的知识点 第30章:一些恐慌/恢复用例 Go的核心设计 成员中包括很多有着数十年编程语言研究领域经验的研究者。 Go有很多特性,有一些是独特的,有一些借鉴于一些其它编程语言: 内置并发编程支持: 使用协程(goroutine)做为基本的计算单元。轻松地创建协程。 使用通道(channel)来实现协程间的同步和通信。 内置了映射(map)和切片(slice)类型。 支持多态(polymorphism)。 使用接口(interface)来实现裝盒(value 支持函数闭包(closure)。 支持方法。 支持延迟函数调用(defer)。 支持类型内嵌(type embedding)。 支持类型推断(type deduction or type inference)。 内存安全。 自动垃圾回收。 良好的代码跨平台性。 自定义泛型(从Go 1.18开始)。 除了以上特性,Go还有如下亮点: Go的语法很简洁并且和其它流行语言相似。 这使得具有一定编程经验的程 序员很容易上手Go编程。0 码力 | 608 页 | 1.08 MB | 1 年前3
Golang 101(Go语言101 中文版) v1.21.a第21章:通道 - Go特色的并发同步方式 第22章:方法 第23章:接口 - 通过包裹不同具体类型的非接口值来实现反射和多态 第24章:类型内嵌 - 不同于继承的类型扩展方式 第25章:非类型安全指针 第26章:泛型 - 如何使用和解读组合类型 第27章:反射 - reflect标准库包中提供的反射支持 一些专题 第28章:代码断行规则 第29章:更多关于延迟函数调用的知识点 第30章:一些恐慌/恢复用例 Go的核心设计成员 中包括很多有着数十年编程语言研究领域经验的研究者。 Go有很多特性,有一些是独特的,有一些借鉴于一些其它编程语言: 内置并发编程支持: 使用协程(goroutine)做为基本的计算单元。轻松地创建协程。 使用通道(channel)来实现协程间的同步和通信。 内置了映射(map)和切片(slice)类型。 支持多态(polymorphism)。 使用接口(interface)来实现裝盒(value 支持函数闭包(closure)。 支持方法。 支持延迟函数调用(defer)。 支持类型内嵌(type embedding)。 支持类型推断(type deduction or type inference)。 内存安全。 自动垃圾回收。 良好的代码跨平台性。 自定义泛型(从Go 1.18开始)。 除了以上特性,Go还有如下亮点: Go的语法很简洁并且和其它流行语言相似。 这使得具有一定编程经验的程序 员很容易上手Go编程。0 码力 | 591 页 | 21.40 MB | 1 年前3
Go 2 Generics? A (P)review当使用泛型时,a、b、返回值必须为同一类型,类型参数施加了这一强制性保障: func Max(a, b T) T { ... } // T 是类型参数 泛型的总体目标就是:快且安全。在 这里: 快 意味着静态类型 安全 意味着编译早期的错误甄别 泛型的早期设计 Early Designs on Generics 2020 © Changkun Ou · Go 夜读 · Go 2 Generics 讨论、再实现的过程去精炼一个语言特征。而在模板之后, [...] 实现通常是和这些并行讨论的。有关模板的讨论并没有像他所应该做的 那样广泛,我也缺乏批判性的 实现经验。这就导致后来基于实现和使用经验又对模板进行了多方面的修 订。」 「我确实认为,在开始描述模板机制时自己是过于谨慎和保守了。我们原来就应该把许多特性加进来,[...] 这些特性并没有给实现者增 加多少负担,但是却对用户特别有帮助。」 ——"The operator<(const T&, const T&); };> class vector { /*…*/ }; 不!如此要求用 户就会降低参数机制的灵活性,又不会使 实现变得简单,或使这种功能更安全……」 (1994 年)回头再看,我明白了 这些限制对于可读性和早期错误检测的重要性。』 ——"The Design and Evolution of C++" Chapter 15: Templates0 码力 | 41 页 | 770.62 KB | 1 年前3
Hello 算法 1.1.0 Go版——邓俊辉,清华大学计算机系教授 “如果我当年学数据结构与算法的时候有《Hello 算法》,学起来应该会简单 10 倍!” ——李沐,亚马逊资深首席科学家 计算机的出现给世界带来了巨大变革,它凭借高速的计算能力和出色的可编程性,成为了执行算法与处理数 据的理想媒介。无论是电子游戏的逼真画面、自动驾驶的智能决策,还是 AlphaGo 的精彩棋局、ChatGPT 的自然交互,这些应用都是算法在计算机上的精妙演绎。 妙演绎。 事实上,在计算机问世之前,算法和数据结构就已经存在于世界的各个角落。早期的算法相对简单,例如古 代的计数方法和工具制作步骤等。随着文明的进步,算法逐渐变得更加精细和复杂。从巧夺天工的匠人技艺、 到解放生产力的工业产品、再到宇宙运行的科学规律,几乎每一件平凡或令人惊叹的事物背后,都隐藏着精 妙的算法思想。 同样,数据结构无处不在:大到社会网络,小到地铁线路,许多系统都可以建模为“图”;大到一个国家,小 案。从数据结构与算法的角度看,这种方法本质上是“贪心”算法。 小到烹饪一道菜,大到星际航行,几乎所有问题的解决都离不开算法。计算机的出现使得我们能够通过编程 将数据结构存储在内存中,同时编写代码调用 CPU 和 GPU 执行算法。这样一来,我们就能把生活中的问题 转移到计算机上,以更高效的方式解决各种复杂问题。 Tip 如果你对数据结构、算法、数组和二分查找等概念仍感到一知半解,请继续往下阅读,本书将引导你0 码力 | 383 页 | 18.48 MB | 1 年前3
共 63 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7













