Go Web编程这本书目前我放在Github上,我现在基本每天晚上抽空会写一些,时间有限、能力有限,所以希望更多的朋友参与到 这个开源项目中来。 撰写方法 撰写方法 文件命名 文件命名 每个章节建立一个md文件,如第11章的第3节,则建立11.3.md 11.3.md。 代码文件 代码文件 代码文件置于src目录之下。每小节代码按目录存放。如第11章的第3节的代码保存于src/11.3/ src/11.3/目录下。在正文中按 代码要go fmt后提交。注释文件注明其所属章节。 如何编译 如何编译 build.go依赖markdown的一个解析包,所以第一步先 go get github.com/russross/blackfriday 这样读者就可以把相应的Markdown文件编译成html文件,执行go build build.go,执行生成的文件,就会在底目 录下生成相应的html文件 交流 交流 欢迎大家加入QQ群:259316004 3.3 Go如何使得web工作 3.4 Go的http包详解 3.5 小结 4.表单 4.1 处理表单的输入 4.2 验证表单的输入 4.3 预防跨站脚本 4.4 防止多次递交表单 4.5 处理文件上传 4.6 小结 5.访问数据库 5.1 database/sql接口 5.2 使用MySQL数据库 5.3 使用SQLite数据库 5.4 使用PostgreSQL数据库 5.5 使用beedb库进行ORM开发0 码力 | 295 页 | 5.91 MB | 1 年前3
大规模高性能区块链架构设计模式与测试框架-李世敬趣链科技 版权所有 ©2016-2021 6 区块链技术定义 区块链是由分布式数据存储、点对点传输、共识机制、加密算法等计算机技术构成的多中心 化系统 不可篡改(可信存证) ü 可对存储的文件、数据进行真实性校验 ü 可信追溯历史数据 去中心化共识(协作共享) ü 多方业务系统数据共享 ü 跨机构业务协作 核心特性 7 趣链科技 版权所有 ©2016-2021 7 趣链科技 版权所有 区块链价值定位 区块链作为新基建基础设施之一,是大数据、人工智能、云计算、物联网等其他新型技术的黏合剂,各项技 术相互促进,融合发展,共同开创更大价值空间,加快新兴技术商业落地 利用区块链的去中心化、数据 不能篡改的特性,解决制约云 计算发展的“可信、可靠、可 控”的问题。 融入大数据采集和共享中,作 为数据源接入大数据分析平台。 强化分布式数据存 储和边缘计算能力, 拓展物联安全边界 基础硬件配置 电路油路 等传导系统 引擎、动⼒系统 汽油等润滑系统 车载⾃动化功能 公路、越野等具体场景 公有链基础架构⾃下⽽上分为六层:数据层、⽹络层、共识层、激励层、合约层与应⽤层。如果将区块链⽐作⼀ 辆汽车,那么各层分别对应汽车的各个组成部分(下图所⽰),各层之间协同合作,形成多中⼼化可信系统 12 趣链科技 版权所有 ©2016-2021 12 趣链科技 版权所有 ©2016-20210 码力 | 39 页 | 56.58 MB | 1 年前3
可视化学习 Go 并发编程org/2012/waza.slide) 1. 并发很强大 2. 并发帮助实现并行,使并行(扩展等)变得容易 3. 并发不是并行,并发重点是架构,并行重点是执行,两者不同,但相关。 04:22 / 31:21 可视化 并发(Concurrency) & 并行(Parallelism) 一图胜千言! 并行(PARALLELISM) 这是并行 (/2017/go-concurrency-visualize/parallelism 让并发编程变的简单起来 但是问题来了 我们怎样去讲解 Go 的并发? 我们怎样思考 Go 的并发过程? 最终,我们怎样更好的实践 Go 并发编程? 祭出法宝 - GoTrace 一种将 Go 并发过程可视化的开源 (https://github.com/divan/gotrace) 工具 出自 divan (https://github.com/divan) 大神,主要包含两个程序: gotrace(go):分析 go func() { // 发送 42 给 channel ch <- 42 }() // 从 channel 读取 <-ch } Go并发可视化 (/2017/go-concurrency-visualize/helloworld.html) 2. 计时器 func tick(d time.Duration) <-chan int {0 码力 | 29 页 | 1.48 MB | 1 年前3
使用Go与redis构建有趣的应用(bitmap)、HyperLogLog、地理理坐标(GEO) • 内存存储和基于多路路复⽤用的事件响应系统,确保了了命令请求的执⾏行行速度和效率 • 丰富的附加功能:事务、Lua 脚本、键过期机制、键淘汰机制、多种持久化⽅方式(AOF、RDB、 RDB+AOF 混合) 特点 • 具有多种不不同的数据结构可⽤用,其中包括:字符串串、散列列、列列表、集合、有序集合、位图 (bitmap)、HyperLogLog、地理理坐标(GEO) 、地理理坐标(GEO) • 内存存储和基于多路路复⽤用的事件响应系统,确保了了命令请求的执⾏行行速度和效率 • 丰富的附加功能:事务、Lua 脚本、键过期机制、键淘汰机制、多种持久化⽅方式(AOF、RDB、 RDB+AOF 混合) • 强⼤大的多机功能⽀支持:主从复制(单主多从)、Sentinel(⾼高可⽤用)、集群(基于 Raft 算法,多 主多从,内建⾼高可⽤用) 特点 • (bitmap)、HyperLogLog、地理理坐标(GEO) • 内存存储和基于多路路复⽤用的事件响应系统,确保了了命令请求的执⾏行行速度和效率 • 丰富的附加功能:事务、Lua 脚本、键过期机制、键淘汰机制、多种持久化⽅方式(AOF、RDB、 RDB+AOF 混合) • 强⼤大的多机功能⽀支持:主从复制(单主多从)、Sentinel(⾼高可⽤用)、集群(基于 Raft 算法,多 主多从,内建⾼高可⽤用)0 码力 | 176 页 | 2.34 MB | 1 年前3
Golang大规模云原生应用管理实践PaaS平台… • OAM社区成员 开局一张图 规模化应用交付效率对比去年 每万笔峰值交易的IT成本对比4年前 提升1倍 下降80% 云原生 技术 稳定 成本 效率 云原生-程序员视角 基础设施 K8s 云原生生态(CNCF) 云原生应用 云原生是以容器技术为基础围绕着Kubernetes进行的一场技术标准化演进。通过标准可扩展的调度,网络, 存储,容器运行时接口来提 存储,容器运行时接口来提供基础设施;通过标准可扩展的声明式资源和控制器来提供运维能力。两层标 准化推进了细化的社会分工,各领域进一步提升规模化和专业化,全面达到成本,效率,稳定性的优化。 4 6 7 2 3 5 1 1 Kubectl plugins 2 Apiserver extension 3 4 5 6 7 Custom resources Scheduler extension Custom Custom controller Network plugins Storage plugins 统筹规划, 降低成本 自动化运维, 提升稳定性 非业务逻辑剥离, 提升交付效率 Golang与云原生生态(CNCF) 项目数占比: 214/1512(14.2%) Github star数占比:1265737 / 2458072(51.5%)市值占比: $8.08T/$19.46T(41.5%)0 码力 | 23 页 | 7.70 MB | 1 年前3
04. GraphQL in Chaos Mesh 2.0 - 李晨曦Pods Query Client Client 主要使用 go-graphql-client 实现查询。这是一个基于反射的 GraphQL 客户端库 它根据结构体生成查询,并自动将查询结果反序列化给结构体实例赋值。 Query Client 我们采用全动态查询,客户端会自动解析 GraphQL API 的 scheme,并根据 query path,通过反 射生成结构体。 最后将结构体实例序列化成 API 实现了丰富的动态自动补全。 后续的工作 强制 recover 目前我们的状态控制功能都集中在查询,而没有更改。后面最主要的工作之一就是 实现故障的强制恢 复,这涉及到 daemon 状态持久化,以及 API server 需要用到 GraphQL 中的 mutations API。 Control Client API Server Target Pod mutations recover0 码力 | 30 页 | 1.29 MB | 1 年前3
Go 入门指南(The way to Go)Go 开发环境的基本要求 3.2 编辑器和集成开发环境 3.3 调试器 3.4 构建并运行 Go 程序 3.5 格式化代码 3.6 生成代码文档 3.7 其它工具 3.8 Go 性能说明 3.9 与其它语言进行交互 第4章:基本结构和基本数据类型 4.1 文件名、关键字与标识符 4.2 Go 程序的基本结构和要素 4.3 常量 4.4 变量 4.5 基本类型和运算符 4 11 计算函数执行时间 6.12 通过内存缓存来提升性能 第7章:数组与切片 7.1 声明和初始化 7.2 切片 7.3 For-range 结构 7.4 切片重组(reslice) 7.5 切片的复制与追加 7.6 字符串、数组和切片的应用 第8章:Map 8.1 声明、初始化和 make 8.2 测试键值对是否存在及删除元素 8.3 for-range 的配套用法 8.4 10.2 使用工厂方法创建结构体实例 10.3 使用自定义包中的结构体 10.4 带标签的结构体 10.5 匿名字段和内嵌结构体 10.6 方法 10.7 类型的 String() 方法和格式化描述符 10.8 垃圾回收和 SetFinalizer 第11章:接口(interface)与反射(reflection) 11.1 接口是什么 11.2 接口嵌套接口 11.3 类型断言:如何检测和转换接口变量的类型0 码力 | 466 页 | 4.44 MB | 1 年前3
Go 入门指南(The way to Go)身在软件工程、编程语言和数据库开发的授课经验,将这些零碎的知识点组织成系统化的概念和技术分类 来进行讲解。 随着软件规模的不断扩大,诸多的学者和谷歌的开发者们在公司内部的软件开发过程中开始经历大量的挫 折,在诸多问题上都不能给出令人满意的解决方案,尤其是在使用 C++ 来开发大型的服务端软件时,情 况更是不容乐观。由于二进制文件一般都是非常巨大的,因此需要耗费大量的时间在编译这些文件上,同 时编程语言的设计思想也已经非常 10 章)和接口(第 11 章)。我们会对 Go 语 言的函数式和面向对象编程进行透彻的讲解,包括如何使用 Go 语言来构造大型项目(第 9 章)。 在本书的第三部分,你将会学习到如何处理不同格式的文件(第 12 章)和如何在 Go 语言中巧妙地使用 错误处理机制(第 13 章)。然后我们会对 Go 语言中最值得称赞的设计 goroutine 和 channel 进行并发 和多核应用的基本技巧的讲解(第 的宗旨,就是将一切没有必要的东西都去掉,不能去掉的就无底线 地简化,同时追求最大程度的自动化。他完美地诠释了敏捷编程的 KISS 秘诀:短小精悍! Go 语言通过改善或去除在 C、C++ 或 Java 中的一些所谓“开放”特性来让开发者们的工作更加便利。 这里只举例其中的几个,比如对于变量的默认初始化,内存分配与自动回收,以及更简洁却不失健壮的控 制结构。同时我们也会发现 Go 语言旨在减少不必要的编码工作,这使得0 码力 | 380 页 | 2.97 MB | 1 年前3
Golang 101(Go语言101 中文版) v1.21.a比如,我们可以在Linux平台上编译出Windows程序,反 之亦然。 使用Go编写的程序常常编译得非常快。 编译时间的长短是开发愉悦度的一个 重要因素。 编译时间短是很多程序员喜欢Go的一个原因。 Go程序生成的二进制可执行文件常常拥有以下优点: 内存消耗少 执行速度快 启动快 很多C家族语言,比如C/C++/Rust等,也拥有上述的优点。 但它们缺少Go语言 的几个重要优点: 程序编译时间短 像动态语言一样灵活 内置并发支持 我们应该了解一个环境变量:GOPATH。 此环境变量的默认值为当前用户的 HOME目录下的名为go文件夹对应的目录路径。 GOPATH环境变量可以被手动 地配置多个路径。 以后,当GOPATH文件夹被提及的时候,它表示GOPATH环境 变量中的第一个路径对应的文件夹。 GOPATH文件夹中的pkg子文件夹用来缓存被本地项目所依赖的Go模块(一 个Go模块为若干Go库包的集合)的版本。 GOBIN环境变量用来指定go GOBIN环境变量用来指定go install子命令产生的Go应用程序二进制可执 行文件应该存储在何处。 它的默认值为GOPATH文件夹中的bin子目录所对 应的目录路径。 GOBIN路径需配置在PATH环境变量中,以便从任意目录运 行这些Go应用程序。 最简单的Go程序 让我们写一个简单的Go程序,并且学习如何运行之。 下面的程序应该是最简单的Go程序。 1| package main 2|0 码力 | 821 页 | 956.82 KB | 1 年前3
Golang 101(Go语言101 中文版) v1.21.a比如,我们可以在Linux平台上编译出Windows程序,反之 亦然。 使用Go编写的程序常常编译得非常快。 编译时间的长短是开发愉悦度的一个重 要因素。 编译时间短是很多程序员喜欢Go的一个原因。 Go程序生成的二进制可执行文件常常拥有以下优点: 内存消耗少 执行速度快 启动快 很多C家族语言,比如C/C++/Rust等,也拥有上述的优点。 但它们缺少Go语言 的几个重要优点: 程序编译时间短 像动态语言一样灵活 HOME目录下的名为go文件夹对应的目录路径。 GOPATH环境变量可以被手动地 配置多个路径。 以后,当GOPATH文件夹被提及的时候,它表示GOPATH环境变量 中的第一个路径对应的文件夹。 GOPATH文件夹中的pkg子文件夹用来缓存被本地项目所依赖的Go模块(一 个Go模块为若干Go库包的集合)的版本。 GOBIN环境变量用来指定go install子命令产生的Go应用程序二进制可执行 文件应该存储在何处。 文件应该存储在何处。 它的默认值为GOPATH文件夹中的bin子目录所对应 的目录路径。 GOBIN路径需配置在PATH环境变量中,以便从任意目录运行 这些Go应用程序。 最简单的Go程序 让我们写一个简单的Go程序,并且学习如何运行之。 下面的程序应该是最简单的Go程序。 1. package main 2. 3. func main() { 4. } 在此程序中,单词package和func是两个关键字。0 码力 | 608 页 | 1.08 MB | 1 年前3
共 73 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8













