Go Web编程《Go Web 编程》 《Go Web 编程》 因为自己对Web开发比较感兴趣,所以最近抽空在写一本开源的书籍《Go Web编程》《Build Web Application with Golang》。写这本书不表示我能力很强,而是我愿意分享,和大家一起分享Go写Web应用的一些东西。 对于从PHP/Python/Ruby转过来的同学了解Go怎么写Web应用开发的 对于从C/C++转过来的同学了解Web到底是怎么运行起来的 对于从C/C++转过来的同学了解Web到底是怎么运行起来的 我一直认为知识是用来分享的,让更多的人分享自己拥有的一切知识这个才是人生最大的快乐。 这本书目前我放在Github上,我现在基本每天晚上抽空会写一些,时间有限、能力有限,所以希望更多的朋友参与到 这个开源项目中来。 撰写方法 撰写方法 文件命名 文件命名 每个章节建立一个md文件,如第11章的第3节,则建立11.3.md 11.3.md。 这样读者就可以把相应的Markdown文件编译成html文件,执行go build build.go,执行生成的文件,就会在底目 录下生成相应的html文件 交流 交流 欢迎大家加入QQ群:259316004 《Go Web编程》专用交流群 大家有问题还可以上德问上一起交流学习:http://www.dewen.org/topic/165 致谢 致谢 首先要感谢Golang-China的QQ群10231980 码力 | 295 页 | 5.91 MB | 1 年前3
Writing Web Apps in GoWriting Web Apps in Go Andrew Gerrand Rob Pike May 10, 2011 Feedback http://goo.gl/U5rYj #io2011 #DevTools What is Go? A programming language for today's world • Go is fun, efficient, and open source CPU-intensive tasks, – designed for modern hardware (multicore, networks), – aimed at software such as web servers, – ... but turned out to be a great general-purpose language. • True open source – all development 5 Overview • News from a year of development. • A web server written in Go. • Deploying Go in production. • Prerequisite: some knowledge of web servers, not much Go. • Some big announcements and fun0 码力 | 66 页 | 712.40 KB | 1 年前3
Build web application with Golangstruct Object-oriented interface Concurrency Summary Web foundation Web working principles Build a simple web server How Go works with web Get into http package Summary HTTP Form Process form Prevent hijack of session Summary Text files XML JSON Regexp Templates Files Strings Summary Web services Sockets WebSocket REST RPC Summary Security and encryption CSRF attacks Filter inputs 15.7 1.16 1.17 Build a web framework Project program Customized routers Design controllers Logs and configurations Add, delete and update blogs Summary Develop web framework Static files Session0 码力 | 327 页 | 1.63 MB | 1 年前3
go web 框架 严清Why We Use Go Web Frameworks Web Service 框架解决的核⼼心问题 —— 严清 teambition 团队协作⼯工具创导者 关于我 • 五年年 JS ,⼀一年年 Go,也玩 Rust Github 满满绿格⼦子⻅见证我开发⽣生涯的⼀一⾯面 • 16 年年底组建 Go 团队,重构后端服务体 系,为此造了了⼀一些轮⼦子,如 Gear 框架 技术学习⽆无⽌止境,逼迫个⼈人成⻓长,推进团队成⻓长 Why I Don’t Use Go Web Frameworks ——Joe Chasinga 本想⽹网上搜个 PPT 交作业给谢⼤大~ 结果: • http package 能⼒力力强⼤大,已是⼀一个 web 框架 HTTP能⼒力力确实相对完整 • 即使有更更复杂的需求,即插即⽤用的包管理理 机制也能轻易易实现 否则,还是使⽤用⼀一款框架吧! Web 框架要解决三个核⼼心问题 • 定义灵活、⼀一致的开发模式 简单易易上⼿手,⽀支撑⼤大规模复杂应⽤用,⽀支撑团队开发 • 集成简洁、完善的异常处理理能⼒力力 不不被 if err != nil { } 羁绊,不不放过任何异常,优雅漂亮地处理理错误和异常 • 提供强⼤大、实⽤用的 HTTP 操作⽅方法语法糖 写 web 服务就是操作 HTTP,实0 码力 | 23 页 | 333.12 KB | 1 年前3
2.5 Go在猎豹移动的应用Go? 优雅简洁,少就是多; 性能好、系统级语言; 静态语言、强类型约束; 交叉编译&部署; 网络模型&并发同步模型; 标准库、内置工具强大支持; 开源&社区活跃; 我们做了啥? 业务 猎豹移动全球passport体系; 游戏开放平台; 游戏支付体系; 平台 基于gopush的推送平台&goim; 合并请求; TCP Handshake影响RTT; keepalived&长连接; API动态加速; proxy模式&动态CDN; SOA Web站点是PHP开发的,通过RPC交互; rpc和api都是基于Go开发的服务; 国内DNS->VIP->lvs->tengine->Go; 海外DNS->ELB DNS->ELB->Go; 链路追踪,参考Google Dapper论文,核 心思路是关键库植入代码,因为缺乏 AOP编程支持,我们使用golang blog推 荐的依赖context对象; 服务发现、负载均衡依赖ZK; 弹性调度的支持,降级处理、动态扩容; RPC选型 是否多语言支持?net/rpc不支持 性能如何? thrift num:111324, time:30s,0 码力 | 24 页 | 4.26 MB | 1 年前3
Golang大规模云原生应用管理实践• 就职于阿里云-云原生应用平台团队 • Problem Solver,聚焦中间件,容器,Kubernetes,PaaS平台… • OAM社区成员 开局一张图 规模化应用交付效率对比去年 每万笔峰值交易的IT成本对比4年前 提升1倍 下降80% 云原生 技术 稳定 成本 效率 云原生-程序员视角 基础设施 K8s 云原生生态(CNCF) 云原生应用 云原生是以容器技术 • 声明是策略,过程是机制; • 策略面向外部交互,机制面向内部实现; • 策略追求开放标准,机制追求稳定可复用; • 策略与机制要分离; • 策略与机制随着层次的变化而变化; 应用管理的策略与机制 应用 版本 工作负载 负载均衡 标签 流量 组件 日志 指标 容量 服务 依赖 路由规则 持久卷 部署策略 健康检查 … 灰度 发布 定时弹性 事件 指标弹性 级以维持安全,高可用,高性能的状态; • … 能力复用 自动化 可观测 稳定 安全 开发者真正想要的是策略:大象无形的基础设施,坚如磐石的中间件,丰富高效的应用PaaS平台 基础设施 云原生PaaS平台提供应用管理策略 基础设施 K8s 云原生生态(CNCF) 云原生应用 4 6 7 2 3 5 1 1 Kubectl plugins 2 Apiserver extension 3 4 50 码力 | 23 页 | 7.70 MB | 1 年前3
2.1.7 谈如何构建易于拆分的单体应用0 码力 | 27 页 | 13.04 MB | 1 年前3
使用Go与redis构建有趣的应用Python 、 Ruby 、 PHP、 C 等数⼗十种语⾔言……的 Hello World ! • 著作:《Redis 设计与实现》,《Redis 使⽤用教程》(写作中)。 • 翻译:《Go Web 编程》,《Redis 实战》。 • 开源⽂文档:《Go 标准库中⽂文⽂文档》,《Redis 命令参考》,《SICP 解题集》等。 • 个⼈人⽹网站: huangz.me 。 路路线图 路路线图 内存存储和基于多路路复⽤用的事件响应系统,确保了了命令请求的执⾏行行速度和效率 • 丰富的附加功能:事务、Lua 脚本、键过期机制、键淘汰机制、多种持久化⽅方式(AOF、RDB、 RDB+AOF 混合) • 强⼤大的多机功能⽀支持:主从复制(单主多从)、Sentinel(⾼高可⽤用)、集群(基于 Raft 算法,多 主多从,内建⾼高可⽤用) 特点 • 具有多种不不同的数据结构可⽤用,其中包括:字符串串、散列列、列列表、集合、有序集合、位图 内存存储和基于多路路复⽤用的事件响应系统,确保了了命令请求的执⾏行行速度和效率 • 丰富的附加功能:事务、Lua 脚本、键过期机制、键淘汰机制、多种持久化⽅方式(AOF、RDB、 RDB+AOF 混合) • 强⼤大的多机功能⽀支持:主从复制(单主多从)、Sentinel(⾼高可⽤用)、集群(基于 Raft 算法,多 主多从,内建⾼高可⽤用) • 拥有⽆无限可能性的扩展模块系统:神经⽹网络、全⽂文搜索、JSON 数据结构等等。0 码力 | 176 页 | 2.34 MB | 1 年前3
1.1 Go语言游戏项目应用情况汇报通过注册接⼝口防⽌止循环引⽤用 业务模块公共接⼝口声明 业务模块接⼝口实现 业务模块接⼝口调⽤用 数据层 • 玩家数据库切⽚片,减⼩小查询时的集合 • ⽀支持内存事务 • 以事务为单位同步到数据库 • ⽀支持Redo、Undo以及数据挖掘的同步⽇日志 • GC优化 内存数据库代码⽚片段 内存数据库事务(⽰示意) 内存数据库事务回滚 事务⽇日志(⽰示意) 使⽤用lua脚本对同步⽇日志进⾏行数据挖掘0 码力 | 21 页 | 1.63 MB | 1 年前3
Go在数据库中间件的应用Go在数据库中间件的应用 基础架构组/刘延允 liuyun827@foxmail.com 2017年9月 1 关于我 • 刘延允——酷狗音乐,基础架构组 • 数据库变更通知服务 • 酷狗消息队列 • 酷狗数据库中间件 • 主要工作:分布式存储、高可用、数据库 • 两年通信设备开发经验,四年互联网 • 五年C/C++使用经验,一年Golang 2 CONTENTS • 程序开发的需求 mysql-group SQL (requests) zookeeper dbmointer • 系统框架图 整套系统致力于提供一套mysql分布式解决方案,上层应用就跟使用单机mysql 一样接入本系统(部分SQL语句不支持)。 6 系统整体方案 • 系统功能 • 读写分离。 • 平滑上下线Mysql。 • 主备自动切换(主-主模式)。 • 分表设计——按照Hash分表 •0 码力 | 17 页 | 4.02 MB | 1 年前3
共 97 条
- 1
- 2
- 3
- 4
- 5
- 6
- 10













