7、冰川之下:深入Go高并发网络模型

你好,我是郑建勋。 很多人认为,Go语言是开发网络服务的极佳选择。因为开发者能够简单、高效地处理大量的并发请求。 之所以说Go语言开发简单,是因为Go是以同步的方式来处理网络I/O的,它会等待网络I/O就绪后,才继续下面的流程,这...

Go进阶-分布式爬虫实战

6、免费的宝库: 什么是网络爬虫

你好,我是郑建勋。 网络爬虫(Web Crawler)又称为网络蜘蛛(Web Spider),是一种自动获取互联网信息的网络机器人(Web Robot)。想想还真是非常形象,蜘蛛在相互连接的网站中,辛苦地从一个网站爬到另一个网站获取信息,又像一个不知...

Go进阶-分布式爬虫实战

5、全局视野:洞悉项目开发流程与规范

你好,我是郑建勋。 上节课,我讲解了大型互联网产品开发流程中的需求阶段和设计阶段。这节课,我们继续看看后面五个阶段:研发实现阶段、测试阶段、上线部署阶段、运维阶段和运营阶段。 首先让我们从研发实现阶段说起。 研发实现阶段确定了设计方案和开发排期之后,...

Go进阶-分布式爬虫实战

4、敏捷之道:大型Go项目的开发流程是怎样的

你好,我是郑建勋。 前面,我们介绍了和Go语言相关的基础知识与学习方法,但仅仅掌握高级语言的语法与原理还不足以让我们完成一个真实的项目。 要想完成一个项目,需要遵循一些基本的开发流程。一个优秀的开发流程可以帮助我们识别和降低开发过程中可能面临的风险,...

Go进阶-分布式爬虫实战

3、进阶路线:如何深入学习Go语言

你好,我是郑建勋。 之前的两节课程,我们回顾了一下Go语言的基础知识,掌握这些基础知识已经足够让我们完成一些了不起的项目了。不过,这离深入了解Go语言还有很长的路要走。不管你是想应聘一个更好的工作,希望解决复杂的问题,还是希望更自然地写出高性能的代码...

Go进阶-分布式爬虫实战

2、内有乾坤:Go语言六大基础知识体系

你好,我是郑建勋。 这节课,我们继续来回顾 Go 语言的基础知识,帮助你在前期查漏补缺,打好项目开发的基础。在上节课,我把Go的基础知识分为了六个部分,分别是开发环境、基础语法、语法特性、并发编程、项目组织、工具与库。 现在,我们紧跟上节课的内容,继...

Go进阶-分布式爬虫实战

1、知识回顾:Go基础知识你真的掌握了吗

你好,我是郑建勋。 在开篇词我们就提到,这个专栏的目标就是完成一个结合了高并发、分布式、微服务的复杂Go语言项目。 构建一个复杂的Go项目就和搭建复杂的积木一样。想象一下,当我们想搭建复杂的积木时,首先需要准备良好的环境(宽阔整洁的桌面、收纳盒),拥...

Go进阶-分布式爬虫实战

0、开篇词:聚沙成塔,构建高性能、分布式爬虫项目

你好,我是郑建勋。欢迎跟我一起学习 Go 语言,踏上搭建高并发、分布式、微服务爬虫项目的征程。 不知道你有没有发现,我们身边许多宏伟的杰作其实都是由很简单的元素组成的。金字塔和狮身人面像就是一堆沙石,作为生物体遗传密码的DNA,也不过就是由几种基础的...

Go进阶-分布式爬虫实战

41、结束语:在技术的世界里享受思维的乐趣

你好,我是微扰君。 不知不觉,我们的专栏就要暂时结束了。 不知道你在学习的时候有什么感觉,这个专栏对我来说算是一个很大的挑战,长达半年的写作可不轻松,甚至可以说是“痛苦”的。 说这个专栏挑战大,主要因为涉及的内容广泛,如果你从头到尾跟完专栏也一定会深...

业务开发算法50讲

40、垃圾回收:现代语言是如何自动管理回收内存的

你好,我是微扰君。 今天我们来聊一聊和编程语言有关的一个话题——垃圾回收,作为现在许多编程语言都支持的特性,垃圾回收机制能大大解放程序员的心智,让我们把主要精力放在实现业务逻辑上,而不是关注内存分配这样繁琐的编程细节上。 如果你写过C语言的话,一定能...

业务开发算法50讲