chgz的个人博客分享 http://blog.sciencenet.cn/u/chgz

博文

避免解决问题时“跑偏”之经验

已有 2420 次阅读 2015-6-3 09:37 |个人分类:Research Journal|系统分类:科研笔记|关键词:学者

上学期潘老师给了我一个很益的建议,利用爬虫的方法从网络上面收集一些数据,以利用论文中的实验。当时我就参考的大量的网上资料,学习了Python,及利用其进行爬虫的方法。中间回家了一星期,但我仍然带中Python入门的相关书籍,大概了解了Python的基本用法以后,我就立即进行利用Python编写爬虫代码。从开始学到最后的爬虫代码成形,大概用了3个星期的时间。但现在遇到《集体智慧编程》(Programming Collective Intelligence)一书,我立刻有了这样一个感觉,之前的努力都是弯路,浪费的不少时间,要是某某给我推荐这样一本书不就很快完成当时的任务了么,我又扪心自问,为什么自己不能主动问问相关的对这方面熟悉的人呢?不过,我当时问后面的师弟了,我给我推荐了一个博客,但仍然是效果不大。我的感慨是读了该书后,以前遇到的那个问题,借鉴该书的代码不到2个小时就能实现的事情,为什么前前后后花费了3个多星期的时间呢?总结经验如下:

l  有些时候遇到问题,没有毕业按照自己想象的“线性顺序”去解决。而是在进行相关的背景铺垫的时候,要时刻注意问题,不要“跑偏”。我容易犯的错误是,总是学习了太多的背景知识,想把所有一切都搞懂,结果是占用了大量与问题解决无关的时间。实际上某个问题的解决并不需要太多相关的知识,有些你认为相关,实际上回头解决问题后,你再看,好多都是不相关的。

l  要不耻下问。这是古代哲人说的话,对于现代的人来说仍然适用。许许多多简单的经典名句,看似简单,却是很难践行,也就是“说易做难”。我们总是自大的认为我自己能够完成这样的事情,我比别人并不差,我为什么要问别人,这样不显得我不如别人吗?事情不是这样的,这不是“谁比谁差”的问题,而是分工合作,互通有无,就想当今世界的商品交换的原理一样。不同的人是有差异的,一个擅长这个领域,而另外一个却擅长另外一领域,双方互相询问和帮助对方就加快了问题解决的进度。

l  走对路很重要。在自己确定进入一个自己不熟悉的领域时,一定要找一个在该领域有经验的人指导,这样能让自己不走弯路,节省自己的时间。为什么有的人发表论文快,因为从一进入导师指导的那天起,就已经确定了研究问题,就进入论文写作的状态了。

l  学习Python的时候不要有“最新版本情结”。我在最开始解决那个问题的时间,好的网上的资料都说,写爬虫代码时要用到BeautifulSoup模块 (Module,这是Python语言的专用术语)。我下载该模块时,就发现有新的版本,但新版本的配置过程比较麻烦,实际上我最后配置好了,为了安装它我又装了好多仅仅为了安装才装的Python第三方包,最后使用的时候它的调用方法也改变了,需要用新的调用方法。这个过程时间用去的很多。而对与该库,昨天我按照该书的方法,就把beautifulSoup.py (这是Beautiful 3.x版本提供的文件)拷贝到我工作的文件夹下就可使用了,而且和Python 2.7.6版本配合的很好,完全能满足我的需求。有的时候,不能追求的“太新”,只要“一般新”就可以了。

l  有些书只看它的大概内容就可以了,知道什么内容在什么地方找就可以了,没必要每个细节都抓。比如说Mark Lutz的《Learning Pyton》这个1500多页的大部头书,我当时看的时候想没个语言细节都弄懂,发现时间不允许,我就索性快速读完,知道什么可以查自己需要的内容即可。我刚开始的时候,不知道,什么书都想事无巨细的全部都精读,这是不行的。读懂《Learning Pyton》前几章的内容,你就能够无障碍地读懂《集体智慧编程》第2章和第3章中的代码示例。但是你为了读懂后面的那本书,而先把《Learning Python》好好认真的从头读到尾,恐怕等你开始读《集体智慧编程》的时候,时间已经过去半个月了。

且行且珍惜,抓紧时间奋斗吧!




https://m.sciencenet.cn/blog-1062644-895145.html

上一篇:科技改变了我的生活
下一篇:感悟“简单事情”

0

该博文允许注册用户评论 请点击登录 评论 (1 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-3-28 21:35

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部