这可能是我在简书上发表的最后一篇文章了。
在简书的这段时间
我的第一篇文章发表于2015年3月6日:当我选择出国时我做了什么, 文章写于我经历大半年的折腾后收到录取通知书之后,那时候的我更多的是对未知领域的一种好奇,不过以我现在的眼光看,当时是有有一点装逼嫌疑的,不过问题不大,年轻就应该有年轻的样子。也许是因为简书处于刚起步的时间,当时的推送资源比较富裕,这篇文章是我所有文章中各方面数据最好的一篇,评论褒多贬少,我印象最深的是两条带负面评论,特地去翻看了下,其中一条是这样说的:
可怜的楼主如果回国就会在留学生服务中心发现大批量的和你一样但比你年轻的多的归国留学人员再找工作时还会发现最终还是工作经验起决定作用。我不是故意打击你!建议在国外工作,至少工作一段时间。
说实话当时我也没出过国,心里还是有点慌的。现在我回国快一年了,我到现在也没去过留学生服务中心,所以我也不确定是不是有很多归国待业青年,不过就我身边的情况而言,学CS的回国在上海找份不错的工作还是比较轻松的。关于在国外工作一段时间的建议,我觉得还是中肯的,因为你会有机会学到一些更加先进或者人性化的管理模式,这会对你的价值观产生影响。比如说我就认为996是一种极其低效的管理模式,我完全不能接受。
30多岁就没搞了吧
这条评论其实和出不出国没什么关系,但却对当时的我触动很大,直到现在我都时不时拿出来琢磨一下。时不时的拿出来问下自己:“我是不是要被淘汰了?”,好在我每次问完我自己就发奋学习一段时间,至今还没觉得会被淘汰。我一直觉得外界其实对IT这个行业是存在误解的,不过这个话题太大,就不展开说了。
题外话:所以应不应该出国?
应该。如果家里有条件的话我个人觉得还是要出去看一看的好。至于为什么?原因很简单,就是开阔眼界,至少在别人问我为什么出国时,我不只能回答说因为国外好。但这个话题展开来讲又会很长,有机会我会和大家分享的,大概的框架可以参考我的另一篇文章:美国这三年。
自由选择的权利也是很多人想要出国的原因,但我以为不然,我认为自由选择不是一种权利,而是一种能力。这种能力不是由外界赋予你的,而是因为你在国外的经历对你的三观产生了影响,让你能够更深入更真实的认识到什么对你才是最重要的,从而催生了自由选择的勇气,并愿意坚定的为之努力。这才是自由意志,是你的本心。在国内,同样有机会觉醒这种能力,可能性可能会小一点,但殊途同归。
我时常会碰到一些人,他们受制于自己的所见所闻,持有一些在我看来有点狭隘,有时甚至有点偏执观点。但是一般情况下,我都是点头表示赞同,不会与之争论。一方面是因为某种程度上我觉得他们是幸福的,另一方面则是因为我也不敢保证我持有的观点就是不狭隘不偏执的。所以我总是时常提醒自己,要保持谦卑,对人,对世界,对大自然要常怀一丝敬畏。这个世界远比你以为的要大,不要自己看到了什么,就觉得世界就是什么。“弱小和无知不是生存的障碍,傲慢才是。”
话题叉的有点远了,言归正传,15年后我就出国了,虽然我有持续更新博客,但是并未在简书上同步,未能和简书一起走过这几年,也算是一件憾事。时隔三年,我把所有的博客搬到了简书,分享了一些关于爬虫的文章和我这几年的心路历程。这段时间粉丝数涨了很多,时不时就会有一些朋友在后台问一些问题,这感觉很好。我也收到了一些赞赏,不多,却是对我的肯定,非常感谢。这是我最新的数据:
这是去年11月的数据:
聊聊后台的留言和我对我自己定位
我在2018-09-08 近况、打算和一些对爬虫工程师的理解里提到当我找到了工作生活的平衡点后我会开始定时更新博客,可惜直到离职这个平衡点我也没找到,当然此中波折又是另一番故事。
在我发布了这些爬虫文章后,我一度在收到了各种各样的留言,这里要感谢简书。这些留言大体可以分为几类:
- 说代码不能用或者直接索要源代码。关于这类问题,我一般不会回复。
- 问我一些细节。这类问题我其实是很愿意回答的,因为这说明你在阅读我的文章和代码,并自己去实践了。关于细节的问题其实主要集中在淘宝和搜狗,无奈有些时候一者实在是时间过长,有些细节我自己也不记得了;二者网站是会更新它的反爬策略的,而我一般工作用不到,我是不会去更新这些细节的。所以万分抱歉,但是,重点来了,我在文末提供了一种此类问题的解法。
- 正常的技术交流,这也是我最喜欢的交流类型,大部分朋友也已经加了微信,保持着联系。
- 对未来很迷茫,需要一些职业规划方面的建议,这种问题一般来源于未毕业的学生,我自己本身本科也不太好,读书和刚工作时也缺乏前辈高人的指点,所以我还是很愿意回答此类问题的;但是,我也深知对于一个未入社会的学生来说,这类意见分量很重,我不想因为我随口一答误了别人。所以一般这类问题,我会尽量问清楚对方的背景再提出建议。后续的话,我会继续分享我自己的职业发展路程,我会真实的写明当时的想法,希望能有些参考作用。
再说说我对自己的定位吧。很多留言在开头都称我“大佬”,我自然不是什么大佬,比我优秀的人比比皆是,所以我通常会让他们改口喊我的名字。我姓黄,我大学同学都喊我小黄,工作后同事一般喊我名字,或者老黄(很神奇,因为大多数同事都比我年纪大),我翻译书时编辑会称呼我黄同学或者黄老师(受宠若惊)。其实细细想来,我最喜欢的称呼其实是“老黄”,一方面这包含了同事朋友对我的能力的认可,显得我成熟;另一方面老黄很容易给人一种勤勤恳恳的形象,我很喜欢。
我写这些文章只是单纯的喜欢写作,编程和写作是为数不多的能让我真正感到快乐的事情,某种程度上说,这是创造带来的快乐。这也是为什么我愿意兼职去做翻译。
为什么想离开简书?
我最终决定放弃简书,打算转投公众号,主要有三方面的原因:
其一,是因为事情很多,也可能是因为拖延症还没完全治好,在博客和简书上同步更新文章对我来说太耗精力了。其实以我之前分享的文章都是些入门级别的,有很多想法我都来不及写出来,这些想法都是已经落地的,已经应用于日常工作中的某个地方。我只能说今后慢慢再跟大家分享吧。
其二,是一些主观上的原因,除了阅读以外,我平时最主要的碎片信息来源就是简书和知乎,虽然两边内容质量这几年都在下滑,但似乎简书下降的有点过分了。我的简书推荐流里关于爬虫和Python的文章,基本都是水文,毫无干货,有时候我都觉得作者是直接复制粘贴过来的,代码格式都不改,毫不用心。更令我失望的事,简书文章不提供“反对”这个选项。
其三,运营一个公众号是我目前觉得更有趣的一件事,这其中会涉及到公众号内容产生,公众号运营推广,公众号功能开发,小程序开发等,这几项除了运营推广我都能做,整件事本身又可以和爬虫产生一些交互,至于能不能融汇贯通,就是另一项挑战了。相对而言,在简书上只需要一些简单的markdown编写技巧,所涉及的技术都没有我在博客上发布一篇文章多,固然方便,却丧失了很多乐趣。
此处献上我的公众号:
我喜欢将工程师成为“攻城狮”,“狮趣”自然就是作为工程师的乐趣了。这段时间我自身处于一个调整阶段,我会对最近大半年时间的经历做一些总结,目测应该又会输出一大波文章。
目前我想了想可以写的文章还可以有:
- 关于爬虫的,我应该会写一篇或一个系列的文章尽量涵盖所有反爬的策略,以及对应的解决方法;当然内容会跟深入一点,我会尽量讲清楚每种技术的前因后果。比如说:
- 浏览器的工作原理
- 网页的渲染过程
反爬的时候可以想象如果你是对方网站的开发人员,你会怎么做呢?
- 一些项目的源码分析。我之前为了写定时任务的调度器,去研读了下celery中相关的实现,受益不浅,这些还没有落地成文章。另一个我很想写的源码分析是scrpay。
- Python这门语言本身的一些编写技巧和原理,Python的底层是怎么实现的,弄明白这个之后,会对写代码有很大的帮助。
- 其他任何领域的一些有趣的事情,因为我本身兴趣也好,工作性质也好,接触到了很多不同的东西,有些东西交叉对比下,不管是对学到的东西还是新学到的东西都会产生帮助。
- 公众号优先保证一周一更吧。
我还能做点别的吗?
当然能。这才哪跟哪。我换公众号仅仅是换了一个内容发布渠道,但这跟构建一个小圈子是两码事。
上文提到,通过简书我也认识了一些朋友,都是现役或预备役工程师,有一部分还交换了微信,我也不想因此就断了联系。我为大家准备了一个Slack频道,这里先献上邀请链接:usebrainbeforehands.slack.com的邀请链接。
但,为什么是Slack?
为什么选择Slack,主要有两点原因:首先它是要梯子才能用的,而在我看来,合理使用梯子是一名合格工程师必备的能力,这相当于是个入门槛;其次,Slack会有一些机器人插件,我觉得这里可以和爬虫有很多交互,这个后面会说。满足这两点的app本身就不多,其中Slack的UI设计是我喜欢的,我是极简主义设计理念的追随者。所以,就Slack了。
为什么你可能会需要这个Slack频道?
如果说公众号是个大圈子,那么我希望Slack是一个面向工程师的小圈子,它是一个技术导向的交流环境,没有那么多唧唧歪歪,shut up and show me your code。当然你不一定要是做爬虫的。在这里你至少可以
- 资料和信息,问题和代码共享。
-
项目,如果未来有一起做项目的打算,在我的想法里,项目主要会被分为两类:爬虫框架和基于Slack的Bot。我在以前的文章中提过我想自己写个爬虫框架,其实并不是一点进展都没有。我自己手上现在有两套爬虫系统设计,都是基于scrapy的,一套是上家公司采用的,比较复杂,动用了scrapy、scrapyd、scrapyrt等;另一套是我基于第一套自己简化的,自己实现了循环任务调度器和爬虫任务队列的管理(这些我以后都会分享出来)。真正让我头疼的其实是创新的问题,当我读了scrapy后,我觉得scrapy真的是个很完美的框架,如果没有一些更精彩的idea,再写一个一样的框架又有什么意义呢?
- 另一个我最近在思考的问题是如果实现爬虫共享但不暴露源码。比如说我破解了某APP的核心加密算法,我把它做成爬虫,我愿意分享给大家,但是出于某种原因我不想给被人看我的解密算法,这种情况应该怎么办?我调研过一些方法,也有一些想法,之后可以再交流。
- ……
Anyway,期待你们的加入!