2011年12月13日 Go生态洞察:从零到Go,在谷歌首页上的24小时飞跃


博主猫头虎()带您 Go to New World✨

博客首页——猫头虎的博客
《面试题大全专栏》 文章图文并茂生动形象简单易学!欢迎大家来踩踩~
《IDEA开发秘籍专栏》 学会IDEA常用操作,工作效率翻倍~
《100天精通Golang(基础入门篇)》 学会Golang语言,畅玩云原生,走遍大小厂~

猫头虎建议Go程序员必备技术栈一览表:

☁️ Go语言开发者必备技术栈☸️:
GoLang | Git | Docker | ☸️ Kubernetes | CI/CD | ✅ Testing | SQL/NoSQL | gRPC | ☁️ Cloud | Prometheus | ELK Stack


希望本文能够给您带来一定的帮助文章粗浅,敬请批评指正!



文章目录

    • 猫头虎建议Go程序员必备技术栈一览表:
  • 2011年12月13日 Go生态洞察:从零到Go,在谷歌首页上的24小时飞跃
    • 摘要
    • 引言
    • 正文
      • 一个特别的20%项目
      • 选择App Engine和Go运行时
      • ️ 设计与实现
      • 性能
      • 学习资源
    • 总结
    • 下一篇预告
  • 原创声明

  • 原创作者: 猫头虎

  • 作者wx: Libin9iOak

  • 作者公众号: 猫头虎技术团队

2011年12月13日 Go生态洞察:从零到Go,在谷歌首页上的24小时飞跃

摘要

搜索词条:Go语言, Google Doodle, 开发速度, App Engine, 图像处理

猫头虎博主报道!今天我们来谈谈Go语言在现实世界中的一个精彩案例:如何在短短24小时内,使用Go编写程序,并成功部署在数百万用户访问的谷歌首页上。这不仅是对Go语言性能的证明,更是对开发速度的极致挑战。

引言

谷歌搜索团队的软件工程师Reinaldo Aguiar分享了他开发第一个Go程序并在一天内向数百万观众发布的经历。这是一个关于速度、效率和创造力如何在Go的世界中交汇的故事。

正文

一个特别的20%项目

Reinaldo参与了一个小而引人注目的项目——2011年的感恩节Google Doodle。这个涂鸦特色是一个火鸡,用户可以通过点击火鸡的不同部分来自定义它的样式。

2011年12月13日 Go生态洞察:从零到Go,在谷歌首页上的24小时飞跃_第1张图片

用户创建的个性化火鸡可以通过点击“分享”按钮分享到Google+。由于有超过8亿种可能的图像组合,显然不可能预先计算它们所有。因此,必须即时生成这些图像快照。

选择App Engine和Go运行时

面对即刻扩展和高可用性的需求,显而易见的平台选择是Google App Engine。图像处理任务是CPU密集型的,因此性能成为决定因素。Go应用在测试中展现了优于Python 2.7应用的性能,中位延迟仅为32毫秒。

️ 设计与实现

Reinaldo的方法是在URL中编码火鸡的状态,即时绘制和编码快照。这里是一些关键的Go代码片段,用于处理请求和绘制图像:

// dirs 和 urlMap 定义了图像的路径和URL参数映射。
// layoutMap 映射了每个布局元素在背景图像上的位置。
// elements 包含了所有加载到内存的图像元素。
// backgroundImage 是背景图像。
// defaultImage 是出错时返回的默认图像。

// handler 函数解析请求URL,对背景图像进行复制,
// 根据URL中的代码在背景图像上绘制元素,
// 将图像编码为JPEG,并将其作为HTTP响应直接写入。

性能

应用在启动期间的平均请求延迟从未超过60毫秒,中位延迟为32毫秒,这考虑到请求处理程序在即时进行图像操作和编码,是相当快的。

学习资源

Reinaldo利用App Engine的Hello World Go示例、Go包文档和展示Draw包的博客文章作为主要学习资源。

总结

Reinaldo的经历展示了Go语言的直观、简洁和清晰的语法。Go的优秀文档和从源代码生成的文档使学习变得快速和深入。在不到24小时内,他就能够学习Go并构建出一个超快速、可用于生产的涂鸦生成器。这强调了Go语言在开发速度方面的巨大潜力。本文被猫头虎的Go生态洞察专栏收录,详情点击这里。

下一篇预告

下一篇,我们将探索《使用Go构建StatHat》的故事。StatHat是一个用Go语言构建的统计平台,它如何利用Go的特性来处理大量数据,敬请期待!

原创声明

======= ·

  • 原创作者: 猫头虎

  • 作者wx: Libin9iOak
    在这里插入图片描述

  • 作者公众号: 猫头虎技术团队

在这里插入图片描述

学习 复习 Go生态

本文为原创文章,版权归作者所有。未经许可,禁止转载、复制或引用。

作者保证信息真实可靠,但不对准确性和完整性承担责任

未经许可,禁止商业用途。

如有疑问或建议,请联系作者。

感谢您的支持与尊重。

点击下方名片,加入IT技术核心学习团队。一起探索科技的未来,洞察Go生态,共同成长。

你可能感兴趣的:(#,Go生态洞察,Golang技术专区,golang,开发语言,后端)