导读 | 学习专栏的正确姿势
下载APP
关闭
渠道合作
推荐作者
导读 | 学习专栏的正确姿势
2018-12-05 郝林 来自北京
《Go语言核心36讲》
课程介绍
讲述:黄洲君
时长06:07大小8.40M
你好,我是郝林,今天我分享的主题是,学习专栏的正确姿势。
到了这里,专栏的全部内容已经都推送到你的面前了。如果你已经同步学习完了,那么我要给你点一个大大的赞!
还没有看完的同学也不要着急,因为推送的速度肯定要比你们的学习速度快上不少。如果是我的话,我肯定无法用很快的速度,去认真地学习和理解专栏内容的。不过,粗读一遍的话,这个时间倒是绰绰有余的。我今天就想跟你聊聊学习专栏的正确姿势。
专栏应该怎样学
我们做互联网技术的人,应该对这种索引 + 摘要 + 详情的数据存取方案并不陌生。我希望我的专栏文章也可以达成这样的一种状态:它是你需要时,即能查阅的知识手册。
在第一次听音频或浏览文章的时候,你可以走马观花,并不用去细扣每一个概念和每一句话。让自己对每一个主题、每一个问题和每一个要点都有一个大概的印象就可以了。
如此一来,当想到或遇到某方面的疑惑的时候,你就可以有一个大致的方向,并且知道怎样从专栏里找出相应的内容。
这就是所谓的粗读,相当于在你的脑袋里面存了一份索引,甚至是一份摘要。利用这种快速的学习方式,你往往可以在有限的精力和无限的知识之间做出适合你的权衡。
极客时间可以让我们无限期地查阅专栏的全部内容。所以你完全不用心急,可以按照自己的节奏先粗读、再细读,然后再拿这个专栏当做知识手册来用。重要的是真正的理解和积极的实践,而不是阅读的速度。
实践的正确姿势
最近一段时间,有不少同学问我说:“老师,我快要学完这个专栏了,也买了你的书,那我后边怎么去实践呢?”
问我此类问题的同学,大多数都是很少有机会在工作中使用 Go 语言的程序员,或者是对 Go 语言感兴趣的互联网领域的从业者,还有一些是在校的大学生。
我给大家的第一个建议一般都是“去写网络爬虫吧”。
互联网络的世界很庞杂,但又有一定的规律可循,是非常好的技术学习环境。你编写一个网络服务程序,即使放到了公共的网络上,也还需要考虑清楚一系列的问题,才能让你有足够多的技术磨炼机会,比如,服务的种类、功能、规则、安全、界面、受众、宣传和访问途径,以及日常的非技术性维护。
我认为,这已经不是纯粹的技术实践了,对于初期的技术技能增长是不利的。当然了,如果你有信心和精力去搞定这一系列问题,并乐于从中学习到各种各样的技能,那就放手去做吧。
我在我的书和专栏中一直都在释放这样几个信号:“并发程序”“互联网络”“客户端”“网络爬虫”。这其实就是我们实践的最佳切入点。它成本低,收效明显,既有深度又有广度。
有的同学还问我:“我的程序爬取了某某网站,可是只爬了两三下就好像被人家封掉了”。原因很明显,你暴力获取人家的网站内容,肯定会封你的啊。
我们要让程序去模拟人的行为,模拟人使用网络浏览器访问网站内容的过程,而不是用尽计算力去疯狂地霸占人家的带宽和服务,否则那不就成了网络攻击了。这是一个非常重要的自我实践的技巧,请大家记住,“利己,但不要损人”。
注意,正常爬取网站内容并不意味着失去了高并发的应用场景。把内容下载下来只是一个开始,后边还有不少的工作要做呢。
单单“模拟人”这一点就需要花一些心思。而且,你可以同时爬取成千上万的同类甚至不同类的网站。这已经足够你研究和实践很长一段时间了。我在这里还要郑重地提示一下,做这类技术研究一定不要跨越道德的底线,更不能违反法律。
再进一步,我们最好以结构化的形式把爬取到的网络内容存储下来。当得到足够多的数据之后,你的选择就很多了。比如,对某类数据进行整理、提取和分析,从而挖掘出更有价值的东西。这就属于数据挖掘的范畴了。
在如今这个数据过剩的时代,这也是一项很重要的技能。又比如,基于这些数据提供统一的访问接口,制作成搜索引擎,甚至对外提供服务。这也是一个很有深度的选择。
当然,技术实践的方式远不止这些。不过鉴于篇幅,我就先说这么多。
优秀 Go 项目推荐
最后,我再给大家推荐一些优秀的 Go 项目。别忘了,阅读优秀的项目源码也是一个很重要的学习途径。请看下图。
(长按保存大图查看)
这幅图包含了我之前私藏的所有高Star,且近期依然活跃的 Go 项目。不得不说,在 Github 这个全球最大的程序员交友社区中,好东西真的是不少。
在这幅图的左上角,有我对图中各种符号的说明,大家在进一步读图之前需要先看一下。参看这些项目的顺序完全由你自己决定,不过我建议从“贴近你实际工作的那个方面”入手,然后可以是“你感兴趣的方面”,最后有机会再看其他的项目。千万不要贪多,要循序渐进着来。
分享给需要的人,Ta购买本课程,你将得18元
生成海报并分享
赞 80
提建议
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
上一篇
导读 | 写给0基础入门的Go语言学习者
下一篇
01 | 工作区和GOPATH
精选留言(45)
- 0x01置顶2018-12-05第一次发言,跟着学完了,这是我买的几个专栏里质量最高的40
- siegfried2018-12-12“GOHackers”的团队成员人数已经超过上线。请问后续该怎么加入呢共 1 条评论18
- Cloud2018-12-05其实一直想听老师讲go的编程思想中的特色,或者如何使用go组织最佳的代码结构,如何使用struct, interface实现面向对象的编程,这些老师可否答疑的时候再讲一下呢。12
- 技术修行者2019-11-19在开篇中居然就看到了如何学习专栏的正确姿势,粗读->细读->知识手册的学习方式非常好,可以扩散到其他专栏的学习上。 我目前主要从事Java和Python相关的开发,今年的一个flag是系统化的学习一下Go。看到作者列出的GitHub上的优秀开源项目,真是用心。
作者回复: 加油!:)
8 - 全宏2018-12-06请老师推荐一下golang开发的IDE,好用的,谢谢!
作者回复: vscode,goland,或者liteide
5 - 我来也2018-12-05感谢老师的一路陪伴!4
- escray2021-03-22文章里面说,“重要的是真正的理解和积极的实践,而不是阅读的速度”,不能赞同更多。 网络爬虫似乎一般用 Python 写的比较多,不知道如果是用 Go 来实现,会有什么样的优势。 之前可能想过学习完专栏的内容可以考虑参与一个开源的项目,当然写一个爬虫也是不错的选择。 看了老师提供的优秀 Go 项目,有点好奇,为什么在开发框架数据库分支里面包括了 elastic、redis 和 mysql,是指的 library 或者 driver 么,在 github 上找到 go-mysql 和 go-sql-driver/mysql 两个项目。 留言里面有提示说是:go-sql-driver/mysql 和 go-redis/redis 如果有机会的话,可能会去看一下 beego 。 倍洽的那个邀请链接似乎已经失效了(毕竟已经过去两年多的时间了),申请加入 GoHackers 团队空间的时候会说成员数已满。后来在留言里面看到,2018年12月份的时候就已经超过上限了。 也许知识星球是更好的选择。展开
作者回复: 我来逐一回答你的这些问题。 1. Go写爬虫的优势当然是在单机的并发性能方面,这是Python很难比拟的。我在《Go并发编程实战》第二版这本书里用了一章的篇幅去讲怎样用Go去写单机的网络爬虫。你有兴趣的话可以去看一看。 2. 所谓开发框架,就是帮助你提高开发效率的程序库,所以理应包含那些纯Go语言编写的driver。 3. 除了Beego,你还可以去看看echo和gin,都是我比较推荐的。 4. 倍洽早已经没落了,而slack的话国内很多小伙伴都访问不了(或者访问很慢)。没办法,国内没有一个很合适技术社群平台。知识星球的话,你可以在那个app里面搜索“GoHackers”,不过这个星球是付费的。 对了,我发起的GoHackers社群也有QQ群的:361287127(不过现在不那么活跃了)。
2 - chenhz2018-12-26老师团队人员超过上线了 :-(共 1 条评论2
- 兵戈2018-12-06感谢郝林老师的一路分享,收益良多,保重身体,期待下一站!2
- kgkey2018-12-05感谢老师的分享2
- 💢 星星💢2022-02-09我个人还为你们专门在BearyChat上创建了一个名叫“GoHackers”的团队空间。创建这个空间的初衷是我想增进与专栏读者们的交流,包括文章答疑、思考题解读以及在技术和职业方面的互通有无。当然了,即使不是本专栏的读者也是可以加入的,只要你对 Go 语言编程感兴趣就可以。通过这个邀请链接,你可以直接加入并参与讨论。不过,你可能需要先简单地注册一下。 这个网站停用了吗?展开
作者回复: 这个公司都没了...你可以加入QQ群:361287127
1 - 杜金洋2019-07-17文章很不错, 近期打算看一些优秀源码 代码推荐导图中的mysql/redis建议加上organization. 例如: organization/repository mysql和redis服务端都是C写的,老师导图中的mysql/redis我理解应该是Golang的client吧? go-sql-driver/mysql go-redis/redis展开
作者回复: 当然都是 client 啦
1 - 清风徐来2018-12-06感谢郝林老师的一路分享,收益良多,保重身体,期待下一站!
作者回复: 好
1 - 顺势而为2022-11-20 来自广东本来想买高并发的那个进阶课程的,结果,还是决定买了爬虫那个
- Ecoder2022-11-16 来自广东学习完这个项目,可以选了一个感兴趣的领域(比如云原生)。就去看优秀的开源项目,然后尝试修复bug,参与开源的项目。
- enjoylearning2022-10-14 来自北京项目需要,买了很久,还没仔细看过一遍
- 第一装甲集群司令克莱...2022-06-24老师的导图,真是航海上的指明灯!
- Geek_7835042022-06-20冲冲冲
- 陈善省2022-05-25感觉不错
- 用户61099964912022-05-13非常棒,现在实习受益很大