这两天继续在看《Python3网络爬虫开发实战》,踩着一个一个坑前进,结果到了安装docker的时候实在是感到有点烦躁。先是docker官网怎么也注册不了,百度了一下发现需要翻墙。以前就经常遇到需要翻墙的情况,百度出来关于怎么翻墙的信息也很少,还夹杂着一些不知道真假的代理广告。好在找了一个qq群求助了一下,在一个大神的指导下弄了半天总算可以注册docker了。结果注册完下载安装又发现必须要win10 专业版,不然没有Hyper -v这个功能。去知乎搜了一下,发现要升级win10只有两个选择,要么交钱购买正版,要么再进行一次踩坑之旅,自己搜各种攻略升级。然而前者价格太贵,后者也不能保证在踩坑之后能不能跳出来。况且升级也不知道对之前装的一大堆软件和设置的一堆配置有没有影响,还有Hyper -v和已有的Vmware的冲突。再上午搜攻略,发现也有用Vmware代替Hyper -v的解决方案。搜了两篇操作了一下,然而发现根本不能用,两篇攻略的前提都是先安装好docker,再进行下一步配置,可是自己机子上面安装docker就必须先要配置好才能安装。于是陷入了这样一个死结,也不知道是因为版本问题还是什么别的原因,总之弄得自己焦头烂额。冷静想一下,自己欠缺的知识真的是太多太多了,像今天面对的情况,也许自己水平更高就不是一个问题了,所以还是不能放弃学习。
这几天踩得坑都是因为在学习python爬虫,我觉得时间宝贵,不要掉到坑里面钻牛角尖,那么还是梳理一下自己需要建立的知识体系和技能加点攻略,保证自己每天都能得到进步。下面列一下需要继续学习的知识吧:
1. java基础语法的学习:java语言毕竟是学习编程绕不开的语言,从性能,可移植性方面考虑,以后要写大点的程序,java语言还是比较合适的选择,而且java语言也可以转安卓开发方向。这几天先把基础语法过一遍,至少在近期内对自己看《Headfirst模式设计》这本书有一定的帮助;
2. 设计模式的学习:在编程学习到一定时候,自己编写的程序,实现的功能需要越来越复杂,当有了好的想法的时候,软件应该怎样科学合理地架构,怎么样安排各种功能和接口的实现,我想学了设计模式至少不至于有无从下手之感。而且设计模式对于自己深入理解应用开发的流程有很大的帮助,是必须修炼的内功之一;
3. 计算机网络知识的学习:这部分知识实在是太杂了,但是无论是应用开发还是现在在学习的爬虫,都是面向网络的,所以必须保持对网络知识的学习。各种协议及其实现机制的理解,都是学习的重点。近期主要的学习重点还是http,https等常用网络协议,以及网站的建设和架构,后面对分布式,云计算这些也要有基本的了解;
4. 计算机系统知识的学习:这部分知识短期来看并不是那么重要,但是踩过的很多坑都是和它有关。比如很多软件和库的安装配置,环境变量的设置,数据库的安装,各种编程语言与系统交互的机制,这些还是需要有一个系统的掌握,不能每次遇到问题都按百度上面的方案照抄,却不知道为什么要这样做。这是很浪费时间的,也不是一个合格的程序员;
5. 机器学习:这部分内容也是很重要的,之前花了几个月时间恶补数学,结果然并卵,放下一两个月就忘得差不多了。所以近期学习重点还是在实践上面,等以后编程能力上来了,再边实践边学习数学知识;
- 算法和数据结构:短时间内不作为主要学习目标,但很重要。
在以后学习的过程中还有很多东西要补充进来,最近一两个月的学习重点暂时集中下面几个地方:
首先是书,在python语言的学习和参考上,《python学习手册》《python官方文档》《python核心编程》是需要经常翻看的。爬虫这一块,还是以《python3网络爬虫开发实战》为主,里面涉及到的需要扩充的知识点再另找参考资料,如果时间来得及,另一本《虫术python绝技》似乎也可以翻看一下。然后在掌握java基础语法的情况下,认真读完《Headfirst模式设计》这本书,短期内对设计模式的学习这本书应该足够了。《深入理解计算机操作系统》这本书有空就看,不求甚解,不钻牛角尖,因为近期这方面知识不作为学习重点,但是坚持读下去一定还是有很多收获的。至于网络这一块,涉及到大量的协议和实现,有很多库需要掌握,库的学习主要还是靠文档,基础知识部分,可能需要买一本《http权威指南》吧,先观望一段时间再决定要不要入手吧。
网上资源,w3cshool,菜鸟教程还是有很多东西需要学习的。然后搜一下有没有比较好的视频教程,尤其是现在可以翻墙,还是关注一下公开课之类的,还有别忘了stackoverflow和github,要养成利用这些网络资源主动获取知识的习惯。
最后对自己说一声加油吧,毕竟已经不再年轻了,只有加倍努力学习,并保持下去,才是唯一的自我救赎的办法了!加油!




近期评论