1.Golang工具链选择_水羽哲⼯工具链选择 创业公司 CuriosityChina is a digital and tech company focusing on the development of social CRM, building a one stop social media customer/ user management platform - CURIO. By tracking, analyzing 2 历史与现状 • 开发环境 • 测试环境 • ⽣生产环境 统⼀一开发环境 应⽤用程序运⾏行环境的依赖描述! + + + + Docker Compose 简单的测试⼯工具 gor ngrok 封装你的业务 Generator gor Godep ngrok goconvey 线上应⽤用 项⺫⽬目太多 定制化 服务状态管理 Supervisor0 码力 | 55 页 | 5.09 MB | 1 年前3
2.1.7 谈如何构建易于拆分的单体应用谈如何构建易于拆分的单体应⽤ 郑渊 腾讯公司 ⾼级⼯程师 ⽬ 录 微服务架构的困境与突破 01 建模:通过表象看本质 02 基于go-kit构建易拆分的单体应⽤ 03 总结 04 微服务架构的困境与突破 第⼀部分 微服务架构的困境与突破 01 Monolith to Microservices To move from Monolithic to Microservices (职责划分和架构选型不 合理,为了微服务⽽微服务) • 监控,告警,CI/CD,服务治理,分布式追踪等基础 设施不完善,维护成本⾼(⾃建—>云原⽣) 02 困境 MVC架构 微服务架构的困境与突破 ➢ 构建合理的业务模型(Monolith or Microservice) 1. 建模⽅法不只有领取驱动设计-DDD,还有⽤例驱动 设计-UDD等; 2. 并不是开始进⾏微服务拆分的时候才⽤到对应的建 ⽅案:尽量去映射,采⽤相似的命名,减少理解 上的差异! 建模:通过表象看本质 09 业务架构图 ➢ 分层架构:变与不变 ➢ 实现⽅式:单体架构 vs 微服务架构 实战:基于go-kit构建易拆分的单体应⽤ 第三部分 实战:基于go-kit构建易于拆分的单体应⽤ 01 Go-kit Instruction https://github.com/go-kit/kit Go-kit is a programming0 码力 | 27 页 | 13.04 MB | 1 年前3
使用Go与redis构建有趣的应用使⽤用 Go 和 Redis 构建有趣的程序 ⻩黄健宏 @ huangz.me 关于我 • ⻩黄健宏,⽹网名 huangz ,⼴广东清远⼈人。 • 计算机技术图书作者和译者,偶尔也写⼀一点⼩小程序⾃自娱⾃自乐。 • 精通 Go、 Python 、 Ruby 、 PHP、 C 等数⼗十种语⾔言……的 Hello World ! • 著作:《Redis 设计与实现》,《Redis 使⽤用教程》(写作中)。 Redis 简介 ⼆二. 使⽤用 Redis 构建锁 路路线图 ⼀一. Redis 简介 ⼆二. 使⽤用 Redis 构建锁 三. 使⽤用 Redis 构建在线⽤用户统计器器 路路线图 ⼀一. Redis 简介 ⼆二. 使⽤用 Redis 构建锁 三. 使⽤用 Redis 构建在线⽤用户统计器器 四. 使⽤用 Redis 构建⾃自动补完程序 Redis an open “great” w5, “guide” 输⼊入与候选结果 权重与候选结果 使⽤用有序集合储存权重表 构建权重表 构建权重表 现有的权重表 分值 成员 320 “google” 300 “gmail” 278 “great” 277 “gopher” 210 “guide” 构建权重表 现有的权重表 获得三个新的输⼊入 分值 成员 320 “google” 300 “gmail”0 码力 | 176 页 | 2.34 MB | 1 年前3
1.5 Go 语言构建高并发分布式系统实践go语⾔言在基础服务开发领域的优势? 我遭遇了哪些挑战? ⺫⽬目录 具有go特⾊色的运维 go语⾔言原⽣生提供的各组⼯工具,构建分布式系统配套设施⽅方⾯面,提供了 便利 配套设施= 测试 + 调优 + 监控 + 运维 便利 = 原⽣生profiling⼯工具 + 开协程模拟测试终端+协程协作模拟业务 go语⾔言运维管理⽅方⾯面的独特魅⼒力…… 具有go语⾔言特⾊色的运维 后台定期获取->调⽤用go pprof⽣生成⽂文件->存储 通信库实时数据http接⼝口-> 后台定期获取-> 进⼊入数据库,展⽰示 具有go语⾔言特⾊色的运维 Æ ⼯工具 -> ⽣生成项⺫⽬目公共⽂文件夹下的.go 配置⽂文件 Æ 客户端sdk -> keeper通信 告知⾝身份-> 原⼦子性的换掉全局配置⽂文件 Æ 客户端sdk->集成profiling功能-> 能服务的通⽤用⽅方案 内存池+对象池使⽤用 与 代码可读性与整体效率的权衡 go语⾔言原⽣生提供的各组⼯工具,构建分布式系统配套设施⽅方⾯面,提供了便利 ⽣生态圈 = 测试 + 调优 + 监控 + 运维 便利 = 原⽣生profiling⼯工具 + 通信库集成监控+协程协作模拟业务压测 谢 谢 ! 北京奇虎科技有限公司0 码力 | 39 页 | 5.23 MB | 1 年前3
1.2 基于 Golang 构建高可扩展的云原生 PaaS 平台基于 Golang 构建⾼可扩展的云原⽣ PaaS 平台 刘浩杨 端点 技术专家 个⼈简介 - 18年加⼊端点,现任微服务和监控团队负责⼈ - 端点开源 PaaS Erda 的核⼼架构师 - 开源爱好者, Apache SkyWalking PMC 成员 ⽬ 录 ⾯向云原⽣的软件交付 01 端点⼀站式 PaaS - Erda 02 Erda 架构的思考 03 模块化开发框架 平台来⽀撑敏捷开发的落地 这⾥需要有⼀个标准的交付平台 运⾏环境 业务 数据 业务系统 C 业务 数据 业务系统 A 业务 数据 业务系统 B 资源管理在统⼀平台 应⽤运⾏在统⼀平台 构建标准的交付环境 交付产物标准化 - 业务配置 - 资源配置 - 依赖配置 - 流⽔线配置 配置即代码 : 实现⼤规模交付的部署过程可被验证 PaaS 平台:资源管理,容器编排,基础监控和告警 • 统⼀模块的初始化、启动、关闭 • 统⼀管理模块间的依赖关系 • ⽀持模块间的依赖注⼊ • 包含⼤量现成的微模块 • ⽀持统⼀ gRPC 和 HTTP 接⼝设计、以及拦截器 • 提供快速构建模块的代码⽣成⼯具 Erda Infra 如何设计 Erda Infra 有什么不同 - 不是重复造轮⼦ - 不仅是web框架 - 不仅是微服务框架 - 为扩展⽽⽣ - 以模块化的开发为核⼼0 码力 | 40 页 | 8.60 MB | 1 年前3
Go 构建大型开源分布式数据库技术内幕Processing) ● 24/7 availability, even in case of datacenter outages ● Open source, of course 如何构建分布式数据库? 原则 ● 分层 ● Make it right and make it fast. ● 测试很重要 ● 简单易用 ● 和社区结合 架构 TiKV TiKV TiKV TiKV0 码力 | 44 页 | 649.68 KB | 1 年前3
Go 入门指南(The way to Go)安装目录清单 2.7 Go 运行时(runtime) 2.8 Go 解释器 第3章:编辑器、集成开发环境与其它工具 3.1 Go 开发环境的基本要求 3.2 编辑器和集成开发环境 3.3 调试器 3.4 构建并运行 Go 程序 3.5 格式化代码 3.6 生成代码文档 3.7 其它工具 3.8 Go 性能说明 3.9 与其它语言进行交互 第4章:基本结构和基本数据类型 4.1 文件名、关键字与标识符 变量 4.5 基本类型和运算符 4.6 字符串 4.7 strings 和 strconv 包 4.8 时间和日期 4.9 指针 - 2 - 本文档使用 书栈(BookStack.CN) 构建 第5章:控制结构 5.1 if-else 结构 5.2 测试多返回值函数的错误 5.3 switch 结构 5.4 for 结构 5.5 Break 与 continue 5.6 标签与 6 将 map 的键值对调 第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 install0 码力 | 466 页 | 4.44 MB | 1 年前3
Go 入门指南(The way to Go)行比较(书中会使用大家所熟知的缩写 “OO” 来表示面向对象)。 本书将会从最基础的概念讲起,同时也会讨论一些类似在应用 goroutine 和 channel 时有多少种不同的模 Go入门指南 - 1 - 本文档使用 看云 构建 式,如何在 Go 语言中使用谷歌 API,如何操作内存,如何在 Go 语言中进行程序测试和如何使用模板来 开发 Web 应用这些高级概念和技巧。 在本书的第一部分,我们将会讨论 Go 语言的起源(第 Engine)方面的应用(第 20 章)。在本书的最后一章(第 21 章),我们会讨论一些在全世界范围内已经将 Go 语言投入实际开发 的公司和组织。本书将会在最后给出一些对 Go 语言爱好者的引用,Go 相关包和工具的参考,以及章节 练习的答案和所有参考资源和文献的清单。 Go 语言有一个被称之为 “没有废物” 的宗旨,就是将一切没有必要的东西都去掉,不能去掉的就无底线 地简化,同时追求最大程度的自动化。他完美地诠释了敏捷编程的 你在不了 解某些高级概念的情况下而感到迷茫。 我们通过 227 个完整的代码示例和书中的解释说明来对所有涉及到的概念和技巧进行彻底的讲解,你可以 Go入门指南 - 2 - 本文档使用 看云 构建 下载这些代码到你的电脑上运行,从而加深对概念的理解。 本书会尽可能地将前后章节的内容联系起来,当然这也同时要求你通过学习不同的知识来对一个问题提出 尽可能多的解决方案。记住,学习一门新语言的0 码力 | 380 页 | 2.97 MB | 1 年前3
Hello 算法 1.1.0 Go版直接拿到 Offer,但会引导你探索数据结构与算法的 “知识地图”,带你了解不同“地雷”的形状、大小和分布位置,让你掌握各种“排雷方法”。有了这些本领, 相信你可以更加自如地刷题和阅读文献,逐步构建起完整的知识体系。 我深深赞同费曼教授所言:“Knowledge isn’t free. You have to pay attention.”从这个意义上看,这本 书并非完全“免费”。为了不辜 AlphaGo 的精彩棋局、ChatGPT 的自然交互,这些应用都是算法在计算机上的精妙演绎。 事实上,在计算机问世之前,算法和数据结构就已经存在于世界的各个角落。早期的算法相对简单,例如古 代的计数方法和工具制作步骤等。随着文明的进步,算法逐渐变得更加精细和复杂。从巧夺天工的匠人技艺、 到解放生产力的工业产品、再到宇宙运行的科学规律,几乎每一件平凡或令人惊叹的事物背后,都隐藏着精 妙的算法思想。 260 12.2 分治搜索策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 12.3 构建二叉树问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 12.4 汉诺塔问题 . . .0 码力 | 383 页 | 18.48 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Go 版直接拿到 Offer,但会引导你探索数据结构与算法的 “知识地图”,带你了解不同“地雷”的形状、大小和分布位置,让你掌握各种“排雷方法”。有了这些本领, 相信你可以更加自如地刷题和阅读文献,逐步构建起完整的知识体系。 我深深赞同费曼教授所言:“Knowledge isn’t free. You have to pay attention.”从这个意义上看,这本 书并非完全“免费”。为了不辜 AlphaGo 的精彩棋局、ChatGPT 的自然交互,这些应用都是算法在计算机上的精妙演绎。 事实上,在计算机问世之前,算法和数据结构就已经存在于世界的各个角落。早期的算法相对简单,例如古 代的计数方法和工具制作步骤等。随着文明的进步,算法逐渐变得更加精细和复杂。从巧夺天工的匠人技艺、 到解放生产力的工业产品、再到宇宙运行的科学规律,几乎每一件平凡或令人惊叹的事物背后,都隐藏着精 妙的算法思想。 260 12.2 分治搜索策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 12.3 构建二叉树问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 12.4 汉诺塔问题 . . .0 码力 | 384 页 | 18.49 MB | 10 月前3
共 52 条
- 1
- 2
- 3
- 4
- 5
- 6













