TalkGo 读书会第 5 期:《聚沙成塔:Go 语言构建高性能、分布式爬虫项目》【持续报名中】

TalkGo 读书会第 5 期

「TalkGo 读书会」是由「Go 夜读」社区发起的一个以共读图书而开展的活动。读书会是一群由热爱学习,注重个人成长的一帮小伙伴们组成。在这里的每个人都非常希望从「书:books:」上学到知识,通过阅读交流能帮助自己和书友们更好的实现成长和进步。

学习分很多种,哪一种适合你,我很难给一个完美的答案。但是最基本的,肯定是需要你自己花时间和思考,并且去做了才能知道效果和见成效的。

我摘录《程序员的底层思维》-明确努力的意义的一段话来给大家激励。

觉得自己不擅长做某件事而放弃。可请你仔细回想一下,你现在所擅长的事情中,哪一件是你从一开始就擅长的?所谓擅长,只是因为你做的多了,掌握了规律和技巧,从而熟练了而已。

你的困扰:

我尝试过很多次,但是连迈出这第一步都非常困难,还无从下手。

那你可以试一下与我们一起「共读」。

欢迎感兴趣的朋友和同学们跟我们一起参加「TalkGo 读书会」第 5 期,一起努力,一起坚持,一起克服,一起成长。

第 5 期共读书目

最近有不少新加入「Go 夜读」社区的朋友都在问,作为一个新人,我应该如何开始学习 Go 语言?我应该看什么书?

image

为什么选择这个书?

本书以爬虫项目为基础,全面阐述了Go语言在网络服务开发中的卓越性能,并深入探讨了如何利用Go语言打造高并发的爬虫系统、高性能的分布式系统,以及可扩展的领域驱动的微服务系统。

本书共 7 个大篇章:
第1篇 项目准备
第2篇 项目设计
第3篇 Worker开发
第4篇 测试与分析
第5篇 分布式Master开发
第6篇 部署运维
第7篇 意犹未尽

本书基本上是按照一个项目的基本流程书写的,对于未主导过/参与过这些过程的同学,可以通过此书来学习和训练。

怎么读?

每个人的知识结构体系以及基础知识都不相同,阅读此书的目的也不相同,所以我们建议每个人都根据自己的实际情况和需求来制定符合自己的阅读计划。

阅读计划主要包括两个部分:

  • 图书的章节阅读计划,最好细化到具体日期。
  • 爬虫项目的代码实践,最好附带 GitHub。

我们也邀请到了此书的作者郑建勋,跟大家一起来社群中跟大家阅读和交流,如果你对这个活动感兴趣,可以直接报名参加。

活动预热报名已开启,要报名请私聊我,我的微信号:night_reading_go,加我请备注:TalkGo 读书会第 5 期/读书会。

tips:

  • 阅读计划要清晰明确
    • 至少包括一个考核目标(比如:一篇读后感、一段摘要总结等)

预计阅读时长

1个月(2023.10.01~2023.10.31)

日常活动

  1. 我将与作者郑建勋在国庆后线上直播跟大家分享和交流此书。
  2. 不定期根据微信群内共读小伙伴的问题开设线上研讨会。

报名规则

  1. 制定个人详细的阅读计划,以回帖方式报名;(读书会审核后即可加入)

报名需要缴纳押金吗?

报名不需要缴纳押金,但是需要自己准备图书。

声明

活动秉承自由、自愿,不喜勿入。

我们只希望你定好目标与计划,然后完成后可以有所收获,千万不要自欺欺人。

如果你要找借口肯定可以找到的。

3 个赞

阅读计划

  • 10月1日-7日:阅读1、2章。
  • 10月8日-14日:阅读3章。
  • 10月15日-21日:阅读4章。
  • 10月22日-28日:阅读5、6、7章。
  • 10月29日-31日:完成未按计划完成的任务。

达到目标

  • 在深入了解go语言特性与编程风格
  • 了解并掌握”设计-实现-测试-运维“的项目开发流程
  • 掌握本书中使用的工具,并在工作中进行开展
  • 掌握爬虫设计与实现的基本方法
  • 了解本书作者编程风格
  • 完成相关摘要与总结,如有需要写出相关示例代码

阅读计划:
10月4-7号:第1篇 项目准备、第2篇 项目设计
10月7-10号:第3篇 Worker开发
10月11-14号:第4篇 测试与分析
10月14-20号:第5篇 分布式Master开发
10月21-25号:第6篇 部署运维
10月25-30号:第7篇 意犹未尽
考核目标:
1、学会从更高的维度进行分布式系统相关的设计实践,并针对手头项目进行重构思考、架构优化;
2、学会go开发的相关基本原理,并在平时工作中进行运用;
3、熟悉微服务相关的机制与原理;

阅读计划(极客时间专栏已学68%):
10月6-15日:回顾开篇词、项目启动篇、系统设计篇、worker开发与原理篇
10月15-19日:测试与分析篇
10月19-25日:master开发与原理篇
10月26-30日:部署篇和特别放送

目标:

  1. 深入了解Go语言特性与编码风格
  2. 熟悉爬虫的设计与实现
  3. 改进自己的开发风格和设计习惯
  4. 进一步学习Go-Colly框架
  5. 总结回顾自己学习的内容。

阅读计划

  • 10.7-10:第1篇 项目准备、第2篇 项目设计
  • 10.11-20:第3篇 Worker开发
  • 10.21-23:第4篇 测试与分析
  • 10.24-29:第5篇 分布式Master开发、第6篇 部署运维
  • 10.30-31:第7篇 意犹未尽

目标达成

  • 熟悉高性能分布式系统&爬虫的设计与实现
  • 代码调试、测试,代码质量提升
  • 回顾总结,全面梳理,输出文档

阅读计划:

10月7-12号:第1篇 项目准备、第2篇 项目设计

10月13-16号:第3篇 Worker开发

10月17-20号:第4篇 测试与分析

10月21-24号:第5篇 分布式Master开发

10月25-28号:第6篇 部署运维

10月29-30号:第7篇 意犹未尽

考核目标:

1: 在深入了解go语言特性与编程风格

2: 掌握如何用容器部署项目(k8s平台)

3: 掌握爬虫设计与实现的基本方法

阅读计划:

10月7号:第2篇 项目设计

10月8-10号:第3篇 Worker开发

10月11号:第4篇 测试与分析

10月12号:第5篇 分布式Master开发

10月13号:第6篇 部署运维

10月14号:第7篇 意犹未尽

考核目标:

  1. 使用 go-zero 实现限流

  2. 使用 go-monkeye 对前面的限流代码进行打桩测试

  3. 尝试 go-zero 接入 etcd 进行对限流事件的存储

阅读计划:Go 进阶 · 分布式爬虫实战
10月7-12号:第1篇 项目启动 基础知识,开发规范与流程
10月13-16号:第2篇 系统设计 高性能设计,分布式系统设计
10月17-20号:第3篇 Go编码规范,Http协议,API(使用/抽象)
10月21-24号:第4篇 测试代码,性能测试
10月25-30号:第5篇 Master开发
目标:
1. Go的基本语法
2. 高并发爬虫
3. 数据清洗和存储
4. 测试,性能分析
5. 学习etcd
6. Master任务

阅读计划

  • 10.08,第一篇
  • 10.09~10.11,第二篇
  • 10.12~10.20,第三篇
  • 10.21~10.23,第四篇
  • 10.24~10.25,第五篇
  • 10.26~10.27,第六篇
  • 10.28,第七篇

目标

  • 熟悉掌握go语言网络编程
  • 了解并掌握分布式一致性共识算法
  • 深入了解go语言设计与编码规范
  • 深入了解go语言调试与性能分析
  • 了解分布式开发规范与实践

阅读计划:Go 进阶 · 分布式爬虫实战
10月13-16号:第1篇 项目启动 基础知识,开发规范与流程
10月17-19号:第2篇 系统设计 高性能设计,分布式系统设计
10月20-23号:第3篇 Master开发
10月24-27号:第4篇 部署运维
10月27-10.31号:第5篇 意犹未尽
目标:
掌握一个项目的设计开发原则,了解一个go项目开发、测试、部署等的细节

阅读计划

  • 10.13-16:第1篇 项目准备、第2篇 项目设计
  • 10.17-22:第3篇 Worker开发
  • 10.23-24:第4篇 测试与分析
  • 10.25-29:第5篇 分布式Master开发、第6篇 部署运维
  • 10.30-31:第7篇 意犹未尽

目标达成

  • 熟悉高性能分布式系统&爬虫的设计与实现