 Golang 在隐私计算平台建设中的实践 - 刘敬golang 在隐私计算平台建设中的实践 刘敬 杭州趣链科技有限公司 2021-10 ⽬目录 隐私计算介绍 01 隐私计算平台架构 02 构建隐私计算算法框架的实践 03 ⼀一些优化技巧 04 01 隐私计算介绍 趣链科技版权所有©2016 – 2021 4 隐私计算概念 隐私计算(Privacy preserving computation)是指在保证数据提供⽅方不不泄露露原始 原始 数据的前提下,对数据进⾏行行分析计算的⼀一系列列信息技术,保障数据在流通和融合过程 中的“可⽤用不不可⻅见”。 数据提供⽅方 数据提供⽅方 数据使⽤用⽅方 计算结果 趣链科技版权所有©2016 – 2021 5 隐私计算背景 欧盟出台的《通⽤用数据保护条例例》(GDPR)于2018年年5⽉月正式实⾏行行,加强对欧盟境内居 ⺠民的个⼈人数据和隐私的保护。 2021年年7⽉月 统⼀一个⼈人数据保护法案》(UPDPA),明确 提出了了数据处理理相关禁⽌止⾏行行为,确⽴立了了个⼈人数据保护的重要地位。 国内外纷纷出台了了围绕数据使⽤用和保护的公共政策 2021年年6⽉月10⽇日,《中华⼈人⺠民共和国数据安全法》在⼗十三届全国⼈人⼤大常委会正式颁布。 明确指出坚持安全与发展并重,锁定⽀支持促进数据安全与发展的措施;建⽴立保障政务数 据安全和推动政务数据开放的制度措施0 码力 | 37 页 | 6.20 MB | 1 年前3 Golang 在隐私计算平台建设中的实践 - 刘敬golang 在隐私计算平台建设中的实践 刘敬 杭州趣链科技有限公司 2021-10 ⽬目录 隐私计算介绍 01 隐私计算平台架构 02 构建隐私计算算法框架的实践 03 ⼀一些优化技巧 04 01 隐私计算介绍 趣链科技版权所有©2016 – 2021 4 隐私计算概念 隐私计算(Privacy preserving computation)是指在保证数据提供⽅方不不泄露露原始 原始 数据的前提下,对数据进⾏行行分析计算的⼀一系列列信息技术,保障数据在流通和融合过程 中的“可⽤用不不可⻅见”。 数据提供⽅方 数据提供⽅方 数据使⽤用⽅方 计算结果 趣链科技版权所有©2016 – 2021 5 隐私计算背景 欧盟出台的《通⽤用数据保护条例例》(GDPR)于2018年年5⽉月正式实⾏行行,加强对欧盟境内居 ⺠民的个⼈人数据和隐私的保护。 2021年年7⽉月 统⼀一个⼈人数据保护法案》(UPDPA),明确 提出了了数据处理理相关禁⽌止⾏行行为,确⽴立了了个⼈人数据保护的重要地位。 国内外纷纷出台了了围绕数据使⽤用和保护的公共政策 2021年年6⽉月10⽇日,《中华⼈人⺠民共和国数据安全法》在⼗十三届全国⼈人⼤大常委会正式颁布。 明确指出坚持安全与发展并重,锁定⽀支持促进数据安全与发展的措施;建⽴立保障政务数 据安全和推动政务数据开放的制度措施0 码力 | 37 页 | 6.20 MB | 1 年前3
 基于Go的大数据平台-党合萱基于Go的⼤大数据平台 七⽜牛云—党合萱 什什么是Pandora 简单 · 可信赖 Pandora架构图 Export Service API / Portal / 消息 消息 计算 计算 消息 导出任务 导出任务 导出任务 导出任务 导出任务 计算 消息 对象存储服务 HTTP MongoDB 时序数据库 ⽇日志检索服务 XSpark Report Studio 简单 · 可信赖 内容提要 • 系统设计分析与架构 • 多种上下游适配 • ⾼高吞吐/低延迟问题探究 • ⾼高可⽤用与⽔水平扩展 • ⾃自动化运维 • Go的应⽤用 简单 · 可信赖 系统设计分析与架构 构建系统的挑战 export service系统全貌 简单 · 可信赖 数据预取 • export server在向下游推数据的时候预先从上游拉数据回来,保证⽹网络最⼤大的利利⽤用率,同时也减⼩小了了等待时间,提升导出效率。 • 预取时如果⽆无数据可取,则休眠1s再取数据,既然没有数据则休眠时间加倍……⼀一直到32s为⽌止,过程中如果取到数据,则休眠时间重置为 1s,有效减少对底层存储的请求数量量。 简单 · 可信赖 数据推送协议优化 • 优化export0 码力 | 34 页 | 1.26 MB | 1 年前3 基于Go的大数据平台-党合萱基于Go的⼤大数据平台 七⽜牛云—党合萱 什什么是Pandora 简单 · 可信赖 Pandora架构图 Export Service API / Portal / 消息 消息 计算 计算 消息 导出任务 导出任务 导出任务 导出任务 导出任务 计算 消息 对象存储服务 HTTP MongoDB 时序数据库 ⽇日志检索服务 XSpark Report Studio 简单 · 可信赖 内容提要 • 系统设计分析与架构 • 多种上下游适配 • ⾼高吞吐/低延迟问题探究 • ⾼高可⽤用与⽔水平扩展 • ⾃自动化运维 • Go的应⽤用 简单 · 可信赖 系统设计分析与架构 构建系统的挑战 export service系统全貌 简单 · 可信赖 数据预取 • export server在向下游推数据的时候预先从上游拉数据回来,保证⽹网络最⼤大的利利⽤用率,同时也减⼩小了了等待时间,提升导出效率。 • 预取时如果⽆无数据可取,则休眠1s再取数据,既然没有数据则休眠时间加倍……⼀一直到32s为⽌止,过程中如果取到数据,则休眠时间重置为 1s,有效减少对底层存储的请求数量量。 简单 · 可信赖 数据推送协议优化 • 优化export0 码力 | 34 页 | 1.26 MB | 1 年前3
 Go在数据库中间件的应用Go在数据库中间件的应用 基础架构组/刘延允 liuyun827@foxmail.com 2017年9月 1 关于我 • 刘延允——酷狗音乐,基础架构组 • 数据库变更通知服务 • 酷狗消息队列 • 酷狗数据库中间件 • 主要工作:分布式存储、高可用、数据库 • 两年通信设备开发经验,四年互联网 • 五年C/C++使用经验,一年Golang 2 CONTENTS • 程序开发的需求 • 强大的标准库、丰富的第三方库、go test、pprof • 自动内存管理;内存泄漏与野指针是C/C++语言开发者的噩梦 • Go routine + channel;简单的并发与简易的数据同步 5 系统整体方案 mysql-group proxy proxy mysqld(M) mysqld(S) mysqld(S) mysql-group mysql-group mysql-group 主备自动切换(主-主模式)。 • 分表设计——按照Hash分表 • 分表设计——按照范围分表(年、月、日、整形) • 数据库表在多个mysql实例间平滑扩容 • 大表拆分为多个子表情况下的平滑扩容 7 系统整体方案 • 现存问题 • 数据库访问基本采用直连方式 • 无法满足数据访问平台化要求 • 配置管理方式落后,运维压力大 • 为什么采用Go来实现 • go诸多优点,可用性高 •0 码力 | 17 页 | 4.02 MB | 1 年前3 Go在数据库中间件的应用Go在数据库中间件的应用 基础架构组/刘延允 liuyun827@foxmail.com 2017年9月 1 关于我 • 刘延允——酷狗音乐,基础架构组 • 数据库变更通知服务 • 酷狗消息队列 • 酷狗数据库中间件 • 主要工作:分布式存储、高可用、数据库 • 两年通信设备开发经验,四年互联网 • 五年C/C++使用经验,一年Golang 2 CONTENTS • 程序开发的需求 • 强大的标准库、丰富的第三方库、go test、pprof • 自动内存管理;内存泄漏与野指针是C/C++语言开发者的噩梦 • Go routine + channel;简单的并发与简易的数据同步 5 系统整体方案 mysql-group proxy proxy mysqld(M) mysqld(S) mysqld(S) mysql-group mysql-group mysql-group 主备自动切换(主-主模式)。 • 分表设计——按照Hash分表 • 分表设计——按照范围分表(年、月、日、整形) • 数据库表在多个mysql实例间平滑扩容 • 大表拆分为多个子表情况下的平滑扩容 7 系统整体方案 • 现存问题 • 数据库访问基本采用直连方式 • 无法满足数据访问平台化要求 • 配置管理方式落后,运维压力大 • 为什么采用Go来实现 • go诸多优点,可用性高 •0 码力 | 17 页 | 4.02 MB | 1 年前3
 如何消除程序中的数据竞争-周光远如何消除程序中的数据竞争 周光远 华为 从一些问题说起 1 2 3 什么是数据竞争 Go语言中的数据竞争(data race): data race occurs when two goroutines access the same variable concurrently and at least one of the accesses is a write. 数据竞争(data 且至少其中一次访问是写操作。 data Thread1 Thread2 data goroutine1 goroutine2 从微观看数据竞争 时间上:多个并发的读写操作被观察到的顺序无法预知。 空间上:并发读写时观察到非预期的数据。 a:1 b:2 a:2 b:1 a:1 b:2 a:2 b:1 a:1 b:1 a:2 b:2 Thread 1 Thread 2 接收完成(同一个数据); • 对于无缓冲channel:开始接收 → 发送完成(同一个数据); 开始发送 接收完成 其他的对于init函数,锁,协程,原子操作,sync包里的功能,还有许多保证,更详细可以看: https://golang.org/ref/mem https://go101.org/article/memory-model.html 消除数据竞争的原理 消除数据竞争,实质就0 码力 | 30 页 | 1.92 MB | 1 年前3 如何消除程序中的数据竞争-周光远如何消除程序中的数据竞争 周光远 华为 从一些问题说起 1 2 3 什么是数据竞争 Go语言中的数据竞争(data race): data race occurs when two goroutines access the same variable concurrently and at least one of the accesses is a write. 数据竞争(data 且至少其中一次访问是写操作。 data Thread1 Thread2 data goroutine1 goroutine2 从微观看数据竞争 时间上:多个并发的读写操作被观察到的顺序无法预知。 空间上:并发读写时观察到非预期的数据。 a:1 b:2 a:2 b:1 a:1 b:2 a:2 b:1 a:1 b:1 a:2 b:2 Thread 1 Thread 2 接收完成(同一个数据); • 对于无缓冲channel:开始接收 → 发送完成(同一个数据); 开始发送 接收完成 其他的对于init函数,锁,协程,原子操作,sync包里的功能,还有许多保证,更详细可以看: https://golang.org/ref/mem https://go101.org/article/memory-model.html 消除数据竞争的原理 消除数据竞争,实质就0 码力 | 30 页 | 1.92 MB | 1 年前3
 4.GPT 与数据库的生态整合GPT 与数据库的生态整合 王琦智 PingCAP TiDB 开发者生态高级工程师 目 录 自然语言到 SQL 01 自然语言到图表 02 GPTs 调用数据库 API 03 总结 04 自然语言到SQL OSS Insight 自然语言到图表 Thoughts to insights made easy(with AI) GPTs 调用数据库 API Thank You0 码力 | 21 页 | 3.33 MB | 1 年前3 4.GPT 与数据库的生态整合GPT 与数据库的生态整合 王琦智 PingCAP TiDB 开发者生态高级工程师 目 录 自然语言到 SQL 01 自然语言到图表 02 GPTs 调用数据库 API 03 总结 04 自然语言到SQL OSS Insight 自然语言到图表 Thoughts to insights made easy(with AI) GPTs 调用数据库 API Thank You0 码力 | 21 页 | 3.33 MB | 1 年前3
 1.每秒百万数据点 Go 应用监控系统演进每秒百万数据点 Go 应用监控系统演进 张平 AfterShip 高级 SRE 关于 AfterShip 拥抱云原生和开源系统 目 录 监控架构概览 01 如何监控 Go 应用? 02 Metrics 系统架构演进 03 Why VictoriaMetrics so good? 04 总结与展望 05 监控架构概览 第一部分 监控系统架构概览 -- 数据源 监控系统架构概览 2K+ 40K 1Mil+ 2020 年指标数据 业务指标数量 每秒写入数据点 Active Time Series 2018-2020 年架构 2020 年底面临的问题 ● 无法查询超过 30 天的数据 ● 查询慢,平均时间超过 2 分钟 ● 跨集群指标无法聚合 ● Prometheus 集群经常崩溃 ● 维护时 Prometheus 会丢数据 ● 成本高,需要大容量 SSD 磁盘 S3 2022 年中指标数据 14K+ 0.6Mil 30Mil+ 业务指标数量 每秒写入数据点 Active Time Series Thanos 架构优化 Querier Query-Frontend Store Gateway S3 Store Gateway Store Gateway Redis 2022 年底面临的问题 ● 超 100+ 倍数据点增长导致查询缓慢 ●0 码力 | 42 页 | 2.32 MB | 1 年前3 1.每秒百万数据点 Go 应用监控系统演进每秒百万数据点 Go 应用监控系统演进 张平 AfterShip 高级 SRE 关于 AfterShip 拥抱云原生和开源系统 目 录 监控架构概览 01 如何监控 Go 应用? 02 Metrics 系统架构演进 03 Why VictoriaMetrics so good? 04 总结与展望 05 监控架构概览 第一部分 监控系统架构概览 -- 数据源 监控系统架构概览 2K+ 40K 1Mil+ 2020 年指标数据 业务指标数量 每秒写入数据点 Active Time Series 2018-2020 年架构 2020 年底面临的问题 ● 无法查询超过 30 天的数据 ● 查询慢,平均时间超过 2 分钟 ● 跨集群指标无法聚合 ● Prometheus 集群经常崩溃 ● 维护时 Prometheus 会丢数据 ● 成本高,需要大容量 SSD 磁盘 S3 2022 年中指标数据 14K+ 0.6Mil 30Mil+ 业务指标数量 每秒写入数据点 Active Time Series Thanos 架构优化 Querier Query-Frontend Store Gateway S3 Store Gateway Store Gateway Redis 2022 年底面临的问题 ● 超 100+ 倍数据点增长导致查询缓慢 ●0 码力 | 42 页 | 2.32 MB | 1 年前3
 Go 构建大型开源分布式数据库技术内幕Go 搭建大型开源分布式数据库技术内幕 shenli@PingCAP 关于我 ● 申砾 (Shen Li) ● TiDB 技术负责人 ● 网易有道 / 360搜索 / PingCAP ● Infrastructure software engineer 为什么需要一个新的数据库? 从单机数据库到 NewSQL ● 关系型数据库 ● NoSQL ● 中间件 ● NewSQL Processing) ● 24/7 availability, even in case of datacenter outages ● Open source, of course 如何构建分布式数据库? 原则 ● 分层 ● Make it right and make it fast. ● 测试很重要 ● 简单易用 ● 和社区结合 架构 TiKV TiKV TiKV TiKV Metadata / Timestamp request Stateless SQL Layer Distributed Storage Layer gRPC gRPC gRPC 数据分片 ● Hash Based Partition ○ Redis ○ 不利于范围 Scan ● Range Based Partition ○ Hbase ○ Range 需要足够大且足够小0 码力 | 44 页 | 649.68 KB | 1 年前3 Go 构建大型开源分布式数据库技术内幕Go 搭建大型开源分布式数据库技术内幕 shenli@PingCAP 关于我 ● 申砾 (Shen Li) ● TiDB 技术负责人 ● 网易有道 / 360搜索 / PingCAP ● Infrastructure software engineer 为什么需要一个新的数据库? 从单机数据库到 NewSQL ● 关系型数据库 ● NoSQL ● 中间件 ● NewSQL Processing) ● 24/7 availability, even in case of datacenter outages ● Open source, of course 如何构建分布式数据库? 原则 ● 分层 ● Make it right and make it fast. ● 测试很重要 ● 简单易用 ● 和社区结合 架构 TiKV TiKV TiKV TiKV Metadata / Timestamp request Stateless SQL Layer Distributed Storage Layer gRPC gRPC gRPC 数据分片 ● Hash Based Partition ○ Redis ○ 不利于范围 Scan ● Range Based Partition ○ Hbase ○ Range 需要足够大且足够小0 码力 | 44 页 | 649.68 KB | 1 年前3
 大规模高性能区块链架构设计模式与测试框架-李世敬区块链诞生 区块链是互联网发展到一 定阶段的必然产物,是在 低成本、高效、快捷的基 础上对其安全可信及多元 价值传递与贡献分配体系 的完善。 物理世界 价值互联网 移动互联网 互联网 数据可信 资产可信 合作可信 可信 普适 信息 数字世界 5 趣链科技 版权所有 ©2016-2021 5 趣链科技 版权所有 ©2016-2021 5 趣链科技 版权所有 ©2016-2021 ©2016-2021 6 趣链科技 版权所有 ©2016-2021 6 区块链技术定义 区块链是由分布式数据存储、点对点传输、共识机制、加密算法等计算机技术构成的多中心 化系统 不可篡改(可信存证) ü 可对存储的文件、数据进行真实性校验 ü 可信追溯历史数据 去中心化共识(协作共享) ü 多方业务系统数据共享 ü 跨机构业务协作 核心特性 7 趣链科技 版权所有 ©2016-2021 7 趣链科技 交易 区块 块链式数据结构 (狭义区块链) 分布式账本 (广义区块链) 交易指的是导致底层 数据状态发生变化的 一次操作请求,如一 笔转账交易 将一段时间内发生的 所有交易和状态打包 成为一个区块 区块以时间顺序前后相 连,组成一种块链式数 据结构,即“区块链” 一词的由来 多参与方各自部署,互 联互通,每个区块链节 点均会保存相同的链式 数据,通过冗余存储的 方式使数据难以被篡改0 码力 | 39 页 | 56.58 MB | 1 年前3 大规模高性能区块链架构设计模式与测试框架-李世敬区块链诞生 区块链是互联网发展到一 定阶段的必然产物,是在 低成本、高效、快捷的基 础上对其安全可信及多元 价值传递与贡献分配体系 的完善。 物理世界 价值互联网 移动互联网 互联网 数据可信 资产可信 合作可信 可信 普适 信息 数字世界 5 趣链科技 版权所有 ©2016-2021 5 趣链科技 版权所有 ©2016-2021 5 趣链科技 版权所有 ©2016-2021 ©2016-2021 6 趣链科技 版权所有 ©2016-2021 6 区块链技术定义 区块链是由分布式数据存储、点对点传输、共识机制、加密算法等计算机技术构成的多中心 化系统 不可篡改(可信存证) ü 可对存储的文件、数据进行真实性校验 ü 可信追溯历史数据 去中心化共识(协作共享) ü 多方业务系统数据共享 ü 跨机构业务协作 核心特性 7 趣链科技 版权所有 ©2016-2021 7 趣链科技 交易 区块 块链式数据结构 (狭义区块链) 分布式账本 (广义区块链) 交易指的是导致底层 数据状态发生变化的 一次操作请求,如一 笔转账交易 将一段时间内发生的 所有交易和状态打包 成为一个区块 区块以时间顺序前后相 连,组成一种块链式数 据结构,即“区块链” 一词的由来 多参与方各自部署,互 联互通,每个区块链节 点均会保存相同的链式 数据,通过冗余存储的 方式使数据难以被篡改0 码力 | 39 页 | 56.58 MB | 1 年前3
 3.云原生边云协同AI框架实践器、云服务器,利用分布式乃至分布式协同方式实现人工智能的技术 数据在边缘产生 边侧逐步具备AI能力 分布式协同AI 核心驱动力 分布式协同AI核心驱动力 • 随着边侧算力逐步强化,边缘AI持续演变至分布式协同AI 分布式协同AI技术挑战 1. 边缘资源碎片化 2. 边缘数据孤岛 3. 边缘样本少 4. 边缘数据异构 分布式协同AI 技术挑战 边云协同AI框架 第二部分 应用无缝下沉到边缘 为分布式协同机器学习服务 ✓ 降低构建与部署成本 ✓ 提升模型性能 ✓ 保护数据隐私 SIG成员近年发表分 布式协同AI顶会论文 10+ SIG成员在AI顶会IJCAI 上分享分布式协同AI论文 Sedna斩获中国信通院云边协 同应用创新大赛最佳创新奖 ✓ 数据集管理 ✓ 模型管理 ✓ …… 基础框架 ✓ 协同推理 ✓ 增量学习 ✓ 联邦学习 ✓ 终身学习 GlobalCoordinator ⚫ 统一边云协同AI任务管理 ⚫ 跨边云协同管理与协同 ⚫ 中心配置管理 2. LocalController ⚫ 特性本地流程控制 ⚫ 本地通用管理: 模型, 数据集等 3. Worker ⚫ 执行训练或推理任务, 训练/推理程序, 基于现有AI框 架开 ⚫ 按需启动, docker容器或function ⚫ 不同特性对应不同的worker组, 可部署在边上或云0 码力 | 37 页 | 2.36 MB | 1 年前3 3.云原生边云协同AI框架实践器、云服务器,利用分布式乃至分布式协同方式实现人工智能的技术 数据在边缘产生 边侧逐步具备AI能力 分布式协同AI 核心驱动力 分布式协同AI核心驱动力 • 随着边侧算力逐步强化,边缘AI持续演变至分布式协同AI 分布式协同AI技术挑战 1. 边缘资源碎片化 2. 边缘数据孤岛 3. 边缘样本少 4. 边缘数据异构 分布式协同AI 技术挑战 边云协同AI框架 第二部分 应用无缝下沉到边缘 为分布式协同机器学习服务 ✓ 降低构建与部署成本 ✓ 提升模型性能 ✓ 保护数据隐私 SIG成员近年发表分 布式协同AI顶会论文 10+ SIG成员在AI顶会IJCAI 上分享分布式协同AI论文 Sedna斩获中国信通院云边协 同应用创新大赛最佳创新奖 ✓ 数据集管理 ✓ 模型管理 ✓ …… 基础框架 ✓ 协同推理 ✓ 增量学习 ✓ 联邦学习 ✓ 终身学习 GlobalCoordinator ⚫ 统一边云协同AI任务管理 ⚫ 跨边云协同管理与协同 ⚫ 中心配置管理 2. LocalController ⚫ 特性本地流程控制 ⚫ 本地通用管理: 模型, 数据集等 3. Worker ⚫ 执行训练或推理任务, 训练/推理程序, 基于现有AI框 架开 ⚫ 按需启动, docker容器或function ⚫ 不同特性对应不同的worker组, 可部署在边上或云0 码力 | 37 页 | 2.36 MB | 1 年前3
 Go Web编程4 防止多次递交表单 4.5 处理文件上传 4.6 小结 5.访问数据库 5.1 database/sql接口 5.2 使用MySQL数据库 5.3 使用SQLite数据库 5.4 使用PostgreSQL数据库 5.5 使用beedb库进行ORM开发 5.6 NOSQL数据库操作 5.7 小结 6.session和数据存储 6.1 session和cookie 6.2 Go如何使用session 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.4 小结 11.错误处理,调试和测试 11.1 错误处理 11.2 后记得重启Sublime生效,Ctrl+Shift+p打开Package Controll 输入pcip(即“Package Control: Install Package”的缩写)。 这个时候看左下角显示正在读取包数据,完成之后出现如下界面 图1.8 sublime安装插件界面 这个时候输入GoSublime,按确定就开始安装了。同理应用于SidebarEnhancements和Go Build。0 码力 | 295 页 | 5.91 MB | 1 年前3 Go Web编程4 防止多次递交表单 4.5 处理文件上传 4.6 小结 5.访问数据库 5.1 database/sql接口 5.2 使用MySQL数据库 5.3 使用SQLite数据库 5.4 使用PostgreSQL数据库 5.5 使用beedb库进行ORM开发 5.6 NOSQL数据库操作 5.7 小结 6.session和数据存储 6.1 session和cookie 6.2 Go如何使用session 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.4 小结 11.错误处理,调试和测试 11.1 错误处理 11.2 后记得重启Sublime生效,Ctrl+Shift+p打开Package Controll 输入pcip(即“Package Control: Install Package”的缩写)。 这个时候看左下角显示正在读取包数据,完成之后出现如下界面 图1.8 sublime安装插件界面 这个时候输入GoSublime,按确定就开始安装了。同理应用于SidebarEnhancements和Go Build。0 码力 | 295 页 | 5.91 MB | 1 年前3
共 79 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8














 
 