"每一个commit都是程序员的心酸,哦不,心路历程的最好展示。" -- by 我自己

考虑以这样的方式写一组文章,主要还是在提供入门级别的帮助的同时,还能展示至少作为我迭代的一个小小的心路历程。

我是一个C++程序员,并且挺热爱这门语言的,在我工作的大部分时间里,我都从事着维护并升级老的C++代码的工作,百分之二十的工作是用最新的C++重写以前的程序。毕竟在现在的软件行业,特别是中国的软件行业里,使用C++的真是不多。这门语言过于灵活,开发周期长,入门成本高,实在是不符合国内很多公司的开发模式。这也是我一直觉得在我国特别奇怪的地方,在我接触的国外开发者和开发行业来说,单从语言来说,比例其实挺均匀的。在国内感觉啥事都流行个热度,并且资本真的会导致语言的不均匀,比如我敢打赌,在国内JAVA的使用者绝对多余其他的语言。我并不是想说这样有啥不好,或者感觉自己貌似委屈啥的。只是觉得不管什么时候,百家齐放比一枝独秀总是多那么一点希望和给人以辩证思考的机会吧。

虽然我主要工作语言是C++,并且我觉得我就是用我有限的时间不停的学习,还是很难进入C++牛人的行列。加上我本身还真是一个守旧的人,总感觉老的还掌握的不扎实,迈出新步子容易扯着蛋,迟迟我都真的认真的去学习过另外一门新的语言。但是这两年,我决定认真的学习学习python和go语言。学习python是因为这玩意儿你说你工作中一点也接触不到,那真是工作中的一股清流。go语言,我是看了说这个是c语言的创始人看不惯C++ 11的那一帮人天天吹自己有多牛逼而创建出来的。我独立思考过,你想想一个人想怼败另一个人,肯定是用自己的全部力气,那么搞出来的玩意儿估计靠谱。加上我做过网络编程,对于调试C++多线程问题很多时候都想跪下来把头往地上摩擦只求能够稳定的复现,看到go语言对并发天然支持,怎么能不让人感动?

既然我说了认真学习,那么我一般的办法就是自己弄点啥练练,python这种我经常看,随便一个介绍爬虫的文章都有那么多人看,标题不乏,50行爬知乎全部亮评,30行给你找到网易热点新闻。我这人最讨厌标题党,但是人性的光辉让我忍不住猎奇,经常点进去看看。我寻思着,我得蹭热点,加上这越看越少的行数,我感觉用这个练练也耗不了多少时间。于是我踏上了学习爬虫的道路,学习的过程中,我发现其实很多人挺想入门这个的,但是又不想看完全入门级的文章。我想,我学着也是学着,就写点自己的心得体会和自己遇到的坑,如果能帮助一个人就帮助一个人。

但是,我不是一个完完全全的新手,我做开发也有几年了,所以我写的这一组文章,不可能从python小白或者编程小白的出发点开始写。我又想,我怎么样才能让这组文章看起来有兴趣而且又能投递到我觉得最适合的人群呢?我觉得,简单明了的列表是最行之有效的办法。所以如果你觉得自己满足以下条件,我觉得我的这组文章比较适合你:

  1. 不是完全的编程小白
  2. 用过python,知道基本的语法,知道html是什么,了解简单的http原理
  3. 有一些基本的编程相关的概念只是,比如多线程,多进程,json,当然,不要认为我说的我都会用,我也是唬唬人的
  4. 想看看这货有没有瞎扯的地方
  5. 想联系我探讨问题以及扯淡的

如果你想从这组文章中学到如下知识,那么恭喜你,你可以在最开始就转台了:

  1. 学习Python基本的语法
  2. 学习到数据分析的内容以及爬虫和数据库的结合
  3. 完全商业化的爬虫

另外,我觉得我得提一下的就是,我是个C++程序员,这门语言和Linux经常会发生关系,所以我的所有代码都是在ubuntu上写的并且运行的。这里就涉及到一个问题,可能有的包安装方法略有差异,本着写都写了,还是细致一点的原则,我会尽量写如何安装需要的包的方法,不过如果没有,就当我这人说话喜欢打自己脸好了。

最后,来个总结吧。简单的说,这组文章会介绍一个编程上算老鸟,但是python算新手的人自己摸索爬虫的过程,以及根据自己的工程经验,如何一点一点的强迫自己修改代码的过程。代码你可以在https://github.com/rogerzhu/relwarcDJ 上得到,并且带有我完整的commit记录,为了点题,我会尽量一个commit一个commit的写,那句老话怎么说,记录你的心路历程。

当然,按照我自己的尿性,很多时候看到文章中的github地址,第一件事,就是去clone到本地,然后在某个不小心的瞬间看到他,努力回想当时的自己是如何的心路历程。虽然打心里话,毕竟写了这么多,没给人留点印象肯定是难受的,但是我欢迎各位这样做,当然,你要觉得值得star的话,那我更是无限感谢了。

results matching ""

    No results matching ""