最近看到很多人在用一种点云库PCL,就了解了一下,看到这个库本身是基于众多其他开源库开发的,如boost, eigen, flann, Qhull, VTK, google test......,突然有个疑问,这些库他们是怎么知道的,又怎么选择的要用这几个库呢?然后 觉得自己很渺小....... 平时看到朋友最多也就知道那几个耳熟能详的boost, Opencv, TBB,并如救命稻草一样,深入学习使用,今天看了这么多库,突然觉得很迷茫。。。
这都不是突然间都知道的,而是根据需求。当你需要一个功能的时候,要么自己写,要么搜搜看别人有没有写过。不过不是当时就要做决定。你可以先写,之后在用别的替换,或者先用别人的库,不满足需求的话用自己的换掉。这都没问题。
至于为什么要选那几个库,也是根据需求来。比如boost里面就有test,不一定要google test。所以这里得根据需要来测试两个库,从中挑一个。
既然他们不是一天之内决定的,你也大可不必一天之内担忧。
至于为什么要选那几个库,也是根据需求来。比如boost里面就有test,不一定要google test。所以这里得根据需要来测试两个库,从中挑一个。
既然他们不是一天之内决定的,你也大可不必一天之内担忧。
1. 看新闻。比如 Hacker News 之类的。有好的开源项目一般会有提到。
2. 订阅相关领域的邮件/周刊。比如我比较关注 Python ,我就订了 Pycoder's Weekly, Python Weekly,每期都会介绍一些好的开源项目。中文的《码农周刊》不错
3. 关注相关领域的邮件列表/社区。一般来说好的项目都会有人讨论,作者也会第一时间到这些地方宣传自己的库。比如 reddit 之类的。
4. 关注代码托管网站(github, codeBucket)的趋势。比如 Github 上就有 explore 可以看到最近最热的项目。
5. 社交网络(twitter, facebook, 微博, Google+),关注一些大号。时不时会有些消息。
6. 关注相关领域每年的会议。比如PyCon啦,PyData,DroidCon之类的。一般来说每年这些社区都会开会,网上能找到视频。时不时的会介绍一些最新的牛掰项目。
7. 和朋友们交流。
8. 自行搜索。
9. 大牛的博客/个人网站。一般不定期会有推荐。
2. 订阅相关领域的邮件/周刊。比如我比较关注 Python ,我就订了 Pycoder's Weekly, Python Weekly,每期都会介绍一些好的开源项目。中文的《码农周刊》不错
3. 关注相关领域的邮件列表/社区。一般来说好的项目都会有人讨论,作者也会第一时间到这些地方宣传自己的库。比如 reddit 之类的。
4. 关注代码托管网站(github, codeBucket)的趋势。比如 Github 上就有 explore 可以看到最近最热的项目。
5. 社交网络(twitter, facebook, 微博, Google+),关注一些大号。时不时会有些消息。
6. 关注相关领域每年的会议。比如PyCon啦,PyData,DroidCon之类的。一般来说每年这些社区都会开会,网上能找到视频。时不时的会介绍一些最新的牛掰项目。
7. 和朋友们交流。
8. 自行搜索。
9. 大牛的博客/个人网站。一般不定期会有推荐。
题主稍微多个心就可以了,像你说的opencv库,其实你看下文档,或者编译选项就知道了,光并行优化就有好多种tbb,cuda等。记得里面有个选项是用特别好玩的小并行库,直接搜是搜不到的。
而且像题主pcl中提到的eigen,flann.opencv也是有的。
而且像题主pcl中提到的eigen,flann.opencv也是有的。
最通用的方法是
搜索。
每次当你要开发一个什么东西之前,都去网上搜一下,看看有没有开源库可以直接用。比如你要做点云重建,那么搜索的时候一定是能发现PCL的;比如你要做非线性优化,你一定会在搜索结果中发现wiki上的那个非线性优化开源库列表;比如你要做机器学习,你一定会搜索到mloss,等等等。
不要重复发明轮子,这样才是最高效的工作方式。当然,做作业除外,同时还要注意一下各种协议。
其实,没有必要关注什么大牛博客和论坛,善用搜索就足够了。
哦对了,我说的搜索是google,不保证baidu可以搜得到。
每次当你要开发一个什么东西之前,都去网上搜一下,看看有没有开源库可以直接用。比如你要做点云重建,那么搜索的时候一定是能发现PCL的;比如你要做非线性优化,你一定会在搜索结果中发现wiki上的那个非线性优化开源库列表;比如你要做机器学习,你一定会搜索到mloss,等等等。
不要重复发明轮子,这样才是最高效的工作方式。当然,做作业除外,同时还要注意一下各种协议。
其实,没有必要关注什么大牛博客和论坛,善用搜索就足够了。
哦对了,我说的搜索是google,不保证baidu可以搜得到。
说说我自己的几个渠道吧
1、邮件列表/论坛:看别人的讨论中就会看到很多没听说过的东西,然后略微百科一下,记住就好了
2、 开源中国 - 找到您想要的开源项目,分享和交流,这里的新闻资讯里面专门有关于开源项目版本升级的,每次提到的各种开源工具,都会大致看一下,顺便看一下评论里面别人的评价,和提到的别的东西
3、博客:广泛的阅读了很多领域的大牛博客
其实总结起来就是扩展知识面,多看罢了。
1、邮件列表/论坛:看别人的讨论中就会看到很多没听说过的东西,然后略微百科一下,记住就好了
2、 开源中国 - 找到您想要的开源项目,分享和交流,这里的新闻资讯里面专门有关于开源项目版本升级的,每次提到的各种开源工具,都会大致看一下,顺便看一下评论里面别人的评价,和提到的别的东西
3、博客:广泛的阅读了很多领域的大牛博客
其实总结起来就是扩展知识面,多看罢了。
from: https://www.zhihu.com/question/22637311#answer-39529318