检索技能

检索技能

读者通过阅读本教程,应当重点放在建立思维方式,懂得问题应从什么角度思考,如果遇到了新问题,应有能力认识到这是一个什么样的问题,其实很多时候,认识到问题,比解决问题更重要,因为认识到问题,就知道如何检索,利用或借鉴成熟的方法,工具来解决问题。对于初学者就很容易遇到问题无从下手。

我该在哪里搜?

百度及国内论坛,如果你是初学者,并且问题很常规,那么百度当然是一个很好的选择。当你搜了很久,没有找到相关的信息,那么可能是你搜错了关键字,或者是你的基础太差,即便找到了有价值的资料,但是却意识不到。而对于相对专业的问题,推荐到谷歌或者一些专业论坛(例如stackoverflow)搜索,因为百度搜出来的内容,基本前几页都是一样的,大家到处转载,多是初级的问题,如果你说你英文不好,那好吧,学习Python的同时建议学习另一门语言,English。

我该搜什么?

初学者常常面对问题不知道搜索什么,这是一项很重要的能力,这里仅仅做一些介绍和指引,

程序报错了怎么办?

假如是你的代码报错了,如果是有经验的程序员,应该知道问题所在,如果不知道,那好吧,拷贝错误的关键信息进行检索。

一个常规功能该如何实现?

如果要实现一个功能,但不知道用什么函数,比如我们要列举某个文件夹下的所有jpg文件,如何搜?“如何批量获取某个文件夹下的jpg文件”?不要忘了,我们在用Python,所以“Python 如何批量获取某个文件夹下的jpg文件”。

1)不要用你具体的使用场景限定问题

不,这样搜索太生活化了,并且jpg限定了搜索范围,事实上我们只需要知道如何获得某种特定类型的文件,举一反三就可以处理jpg,再泛化一下,我们只需要获得所有文件,大不了通过判断字符串,识别后缀,进行过滤。那么问题变成了“Python 如何获得某个文件夹下的所有文件”,这样好多了。

2)去掉生活化的词语

但是“如何”,“某个”两个词还是有些多余,因为我们需要让搜索引擎认为我们在搜索专业问题,因而尽量减少口头用语。“Python 获取文件夹下的所有文件”,嗯这几乎已经是一个好的搜索了,假如你没有相关的专业知识,也只能这样了。

3)尽可能使用专业术语

但是站在专业的角度,文件夹叫做“目录”,获取所有叫做“遍历”,所以“Python 遍历目录”这就是一个非常专业的搜索了,你会得到有效的搜索结果。

4)试试英文

假入你的问题的确比较冷门,或者太高端,曲高和寡,那么试试翻译成英文,然后用谷歌!“Python iterator folder”,如果你问如何访问谷歌,对不起,只提醒三个字,vpn。

当然这种搜索有时候是递进的,慢慢认识到自己面临的问题,一点点调整关键字,直到找到正确结果。

我的工作该用什么框架?

而对于一些大型应用,可能我们能认识到这个工作,知道该如何解决,只是工作量巨大,自己的能力,精力,希望能找到合适的框架,在此基础上进行扩展,这种时候Github是一个不错的选择,看看这方面,Star多的项目,但是你需要有能力来辨别这是不是你需要的,并且做出评估,是否适合自己,以及自己在此基础上还要做什么,工作量如何,维护难度如何。

有没有这样的算法?

对于科研工作,算法是非常重要的,既然自诩科研工作者,那么常规的库,必须是熟悉的,什么库擅长什么,比如Numpy,Scipy适合处理大型数据,Opencv,scikit-image适合做图像处理,Matplotlib适合绘制图表。当你遇到了某个问题,你不知道哪个库擅长这方面的运算,那么你可以检索你要处理的专业用语(用英文),比如“三维点云重建”,你可以试试“3d point cloud reconstruction python”如果运气好,你会发现有这方面的库,但是识别是否可行往往并不轻松,你需要配环境,如果找了很多都没有合适的,退而求其次,去掉python关键字,找到相关的程序,先跑下来,如果能用,考虑混编或代码移植。如果依旧找不到,那或许要做最坏的打算,查找相关的文献,自己学习,设计算法,俗称造轮子。还有一种情况是某个算法基本可行,但是需要做适当的调整,如果程序是开源的,那么ok,去折腾,然后调试,但有时修改他人的代码和造轮子无异。当然如果你有这样的能力,或许也不需要阅读我在这里乱写的内容了。

全部评论

相关推荐

牛客227372317号:第一,你在开头写的熟练运用的软件在后面的项目经历中都没有体现。第二,熟练运用电焊,游标卡尺这样的描述可以删去,这样的技能专科生,甚至有点的高中生都会。第三,把教学课程放上面,在项目经历中,要让HR看到你是如何把课程和项目进行结合的,你自己的思考是什么。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务