2.1.5 Processing XML and Spreadsheet Data in GoProcessing XML and Spreadsheet in Go 续 日 Gopher China Conference Beijing 2021 6/26 - 6/27 Self Introduction The author of the Excelize - Go language spreadsheet library. Familiar with Go language (Simple API for XML) • Serialize and Deserialize Control Handle Complex XML 02 • Partial Load • Namespace & Entity • Ser/Deserialize Idempotence High Performance Processing 03 • XML Schema Definition • DOM or SAX OOXML Spreadsheets 04 • Excel XML Specification • Charset Encoding • Streaming I/O Serialize and Deserialize Document Object Model xml version="1.0" encoding="utf-8"?>Tom 0 码力 | 35 页 | 1.34 MB | 1 年前3
Go Web编程WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 3 1.Go环境配置 1.1. Go安装 1.2. GOPATH 与工作空间 1.3. Go 命令 1.4. Go开发工具 1.5. 小结 2.Go语言基础 2.1. 你好,Go 2.2. Go基础 2.3. session和数据存储 6.1 session和cookie 6.2 Go如何使用session 6.3 session存储 6.4 预防session劫持 6.5 小结 7.文本文件处理 7.1 XML处理 7.2 JSON处理 7.3 正则处理 7.4 模板处理 7.5 文件操作 7.6 字符串处理 7.7 小结 8.Web服务 8.1 Socket编程 8.2 WebSocket 8.3 3 controller设计 13.4 日志和配置设计 13.5 实现博客的增删改 13.6 小结 14.扩展Web框架 14.1 静态文件支持 14.2 Session支持 14.3 表单支持 14.4 用户认证 14.5 多语言支持 14.6 pprof支持 14.7 小结 附录A 参考资料 5 1 GO环境配置 1 GO环境配置 欢迎来到Go的世界,让我们开始探索吧!0 码力 | 295 页 | 5.91 MB | 1 年前3
Go 入门指南(The way to Go)下载地址:Download the Go distribution 。 我们接下来也会带你一步步的完成安装过程。 1. 设置 Go 环境变量 我们在 Linux 系统下一般通过文件 $HOME/.bashrc 配置自定义环境变量,根据不同的发行版也可 能是文件 $HOME/.profile ,然后使用 gedit 或 vi 来编辑文件内容。 export GOROOT=$HOME/go 为了确保相关文件 通过源代码编译安装的过程与环境变量的配置与在 Linux 系统非常相似,因此不再赘述。 2.5 在 Windows 上安装 Go 你可以在 下载页面 页面下载到 Windows 系统下的一键安装包。 前期的 Windows 移植工作由 Hector Chu 完成,但目前的发行版已经由 Joe Poirier 全职维护。 在完成安装包的安装之后,你只需要配置 $GOPATH 这一个环境变量就可以开始使用 error: can’t find import: fmt 则说明你的环境变量没有配置正确。 如果你想要在 Windows 下使用 cgo (调用 C 语言写的代码),则需要安装 MinGW,一般推荐安 装 TDM-GCC。如果你使用的是 64 位操作系统,请务必安装 64 位版本的 MinGW。安装完成进行环境 变量等相关配置即可使用。 在 Windows 下运行在虚拟机里的 Linux 系统上安装0 码力 | 380 页 | 2.97 MB | 1 年前3
Go 入门指南(The way to Go)书栈(BookStack.CN) 构建 12.6 用切片读写文件 12.7 用 defer 关闭文件 12.8 使用接口的实际例子:fmt.Fprintf 12.9 格式化 JSON 数据 12.10 XML 数据格式 12.11 用 Gob 传输数据 12.12 Go 中的密码学 第13章:错误处理与测试 13.1 错误处理 13.2 运行时异常和 panic 13.3 从 panic 中恢复(Recover) 址:Download the Go distribution。 我们接下来也会带你一步步的完成安装过程。 1. 设置 Go 环境变量 我们在 Linux 系统下一般通过文件 $HOME/.bashrc 配置自定义环境变量,根据不同的发行版也可能是文件 $HOME/.profile ,然后使用 gedit 或 vi 来编辑文件内容。 1. export GOROOT=$HOME/go 为了确保 来完成这些工具的安装。你 并不需要安装完整的 Xcode,而只需要安装它的命令行工具部分。 你可以在 下载页面 页面下载到 Mac 系统下的一键安装包或源代码自行编译。 通过源代码编译安装的过程与环境变量的配置与在 Linux 系统非常相似,因此不再赘述。 2.4 在 Mac OS X 上安装 Go 2.4 在 Mac OS X 上安装 Go - 32 - 本文档使用 书栈(BookStack.CN)0 码力 | 466 页 | 4.44 MB | 1 年前3
1.5 Go 语言构建高并发分布式系统实践全双⼯工,单客户端,多app复⽤用服务单通道 适⽤用于复杂环境下的⺴⽹网络的接⼊入策略 协议完备、简单、数据安全、可扩展、省流量 接⼊入层 ���� DES+RSA/ ECC+AES/ crossdomain.xml/ � ������/ ������ ����/ ����/ ZooKeeper/ Keeper �� ���� �room/ register/ session ��� ����� 连接监控 push 具有go语⾔言特⾊色的运维: 配置管理 具有go语⾔言特⾊色的运维 Æ 配置⽂文件管理与监控 后台->⽣生成配置⽂文件->全部服务器->调⽤用deployd接⼝口,重启或者reload zookeeper-> 动态修改配置⽂文件 -> 各个服务器上实例通过sdk订阅 profiling 接⼝口 —> 后台定期获取->调⽤用go 后台定期获取-> 进⼊入数据库,展⽰示 具有go语⾔言特⾊色的运维 Æ ⼯工具 -> ⽣生成项⺫⽬目公共⽂文件夹下的.go 配置⽂文件 Æ 客户端sdk -> keeper通信 告知⾝身份-> 原⼦子性的换掉全局配置⽂文件 Æ 客户端sdk->集成profiling功能-> keeper调⽤用并存储 Æ 客户端sdk-> ⾃自定义信息(通信库信息) ->0 码力 | 39 页 | 5.23 MB | 1 年前3
2.5 Go在猎豹移动的应用基于gopush的推送平台&goim; 基于redis sentinel的smart client; rpc框架; gosnowflake发号器集群; goconf统一配置管理; 接入层优化 DNS在移动网络下不适用; 避免劫持、失效,dns提供商故障; 协议压缩:pb+gzip; 节约流量; 协议设计:职责单一不适用; region方式对cache进行 扩展; goconf xml,yaml,json,ini? 阶段1:逐idc,逐机器配置修改; 阶段2:svn统一提交修改,每个idc一份; 阶段3:配置统一管理化(agent模型); 一处修改,统一管理; 节点状态查看、回滚配置; 数据安全、强一致性; goconf /config/ key-value ( {"value":"xxxx", "comment":"x"}) | snapshot/ | | v1.1/ (value是整个配置⽂文件) | agent/ | node/( {"ver":"v1.2"}) gosnowflake 参考twitter0 码力 | 24 页 | 4.26 MB | 1 年前3
2.2.2 深入理解BFEBFE主要设计思想 • 转发模型优化 • 支持多租户 • 引入条件表达式,减少正则表达式使用 • 降低动态配置加载的难度 • 区分“常规配置”和“动态配置” • 增强服务状态监控能力 • 向外展现大量内部的执行状态 • 将大存储功能转移到外部 • 加快启动速度 正则表达式 方案的问题 • 配置难以维护:正则表达式存在严重的可读 性问题 • 性能存在隐患:有可能因编写不当引起严重 的性能退化 Web Monitor框架 • https://github.com/baidu/go-lib • 支持状态、差值、延迟统计等 配置管理 • BFE配置的分类 • 常规配置:.conf • 动态配置:.data • 配置动态加载 • 外部触发,细粒度加载 写配置 func (t *ProductRuleTable) Update(conf productRuleConf) { t.lock lock.Lock() t.version = conf.Version t.productRules = conf.Config t.lock.Unlock() } 读配置 func (t *ProductRuleTable) Search(product string) (*blockRuleList, bool) { t.lock.RLock() productRules := t.productRules0 码力 | 26 页 | 1.78 MB | 1 年前3
1.2 基于 Golang 构建高可扩展的云原生 PaaS 平台业务系统 C 业务 数据 业务系统 A 业务 数据 业务系统 B 资源管理在统⼀平台 应⽤运⾏在统⼀平台 构建标准的交付环境 交付产物标准化 - 业务配置 - 资源配置 - 依赖配置 - 流⽔线配置 配置即代码 : 实现⼤规模交付的部署过程可被验证 PaaS 平台:资源管理,容器编排,基础监控和告警 APM 监控:应⽤诊断,链路追踪,⽇志分析 微服务治理组件 可靠的业务 跨云迁移 多环境调度 业务数据统⼀调度 集群核⼼服务 Helm 镜像服务 Add-on filebeat / telegraf 监控 ⽇志 HPA Operator 注册中⼼ 配置中⼼ API ⽹关 微服务拓扑 全链路追踪 错误分析 ⽇志分析 主动监控 浏览器监控 APP 监控 慢SQL JVM 诊断 ⾃定义告警 APM 微服务管理 资源管理 标签管理 系统监控 开发框架 Erda Infra 是⼀套轻量级 Go 微服务框架,包含⼤量现成的模块和⼯具,能够快速构 建起以模块化驱动的应⽤程序。 • 以模块化设计⽅式来驱动应⽤系统实现,⽀持模块可插拔 • 统⼀配置读取,⽀持默认值、⽀持从⽂件、环境变量、命令⾏参数读取 • 统⼀模块的初始化、启动、关闭 • 统⼀管理模块间的依赖关系 • ⽀持模块间的依赖注⼊ • 包含⼤量现成的微模块 • ⽀持统⼀ gRPC0 码力 | 40 页 | 8.60 MB | 1 年前3
3.云原生边云协同AI框架实践com/kubeedge/sedna 开源分布式协同AI框架KubeEdge-Sedna 1. GlobalCoordinator ⚫ 统一边云协同AI任务管理 ⚫ 跨边云协同管理与协同 ⚫ 中心配置管理 2. LocalController ⚫ 特性本地流程控制 ⚫ 本地通用管理: 模型, 数据集等 3. Worker ⚫ 执行训练或推理任务, 训练/推理程序, 基于现有AI框 架开 language, such as Go. “Kubernetes Operator 是一种特定于应用的控制器,可扩展 Kubernetes API 的功能,来代表 Kubernetes 用 户创建、配置和管理复杂应用的实例。” https://www.redhat.com/zh/topics/containers/what-is-a-kubernetes-operator https://developers -operators-work 为什么使用Operator? • Kubernetes生态系统 比如监控、日志、Dashboard等 • Kubernetes集群基础能力 比如自动化安装、配置、更新等。 • Kubernetes API 避免了重复开发资源的增删改查等框架代码 如何打造一个Operator? Operator组件 描述 Controller 负责资源的reconcile核心0 码力 | 37 页 | 2.36 MB | 1 年前3
大规模高性能区块链架构设计模式与测试框架-李世敬PoS DPoS 可编程货币 可编程⾦融 可编程社会 合约层 智能合约脚本 算法机制 合约执⾏引擎 哈希算法 数字签名 P2P⽹络 传播机制 验证机制 默克尔树 轮胎、悬架等 基础硬件配置 电路油路 等传导系统 引擎、动⼒系统 汽油等润滑系统 车载⾃动化功能 公路、越野等具体场景 公有链基础架构⾃下⽽上分为六层:数据层、⽹络层、共识层、激励层、合约层与应⽤层。如果将区块链⽐作⼀ 数据隐私安全;另一方面可实现交易并行处理,提升系统整体性能。 功 能 特 性 分区机制 业务分区而治 • 通过Namespace进行业务划分 • 业务数据对其他分区不可见 分区性能优异 运维灵活便捷 • 单次部署节点、灵活配置分区,降低运维成本 • 支持分区及分区成员的动态管理,快速适应业 务场景变化 • 不同分区交易并行执行,分区性能不随分区 数据增加而下降 分区机制 节点1 节点2 节点3 节点4 节点5 延迟⾼性能⾼鲁棒性共识算法 NoxBFT : ⽀持1000+节点 的⼤规模⾼性能共识算法 失效恢复&动态准⼊ 新节点 全⽹共识 发起请求 验证更新 l ⾃研Recovery机制,实现动态数据失效恢复 l 基于配置交易机制⽀持节点动态增删灵活扩展 l GPU硬件加速模型,⼤幅提升共识效率 ⽹络复杂度: 从O (n2) /O (n3) O (n) P R node1 node2 node3 node40 码力 | 39 页 | 56.58 MB | 1 年前3
共 53 条
- 1
- 2
- 3
- 4
- 5
- 6













