Py学习  »  Git

读者问:怎么在 GitHub上面找项目?那么今天就来详细说说!【文末送书】

JAVA • 3 年前 • 343 次点击  

文末有送书活动啦~

很多的小伙伴,经常会有这样的困惑,我看了很多技术的学习文档、书籍、甚至视频,我想动手实践,于是我打开了GitHub,想找个开源项目,进行学习,获取项目实战经验。这个时候很多小伙伴就会面临这样的问题:“我不会搜啊,我该怎么找呀?”,最终只能放弃。
这篇文章,就来教你如何精准地在GitHub上搜索项目。

开源项目的组成部分

在讲清楚之前呢,我们先来了解一下一个开源项目有哪些组成部分:
  • name: 项目名
  • description: 项目的简要描述
  • 项目的源码
  • README.md: 项目的详细情况的介绍
那么除了这些要素之外,项目本身的star数和fork数,也是评判一个开源项目是否火热的标准,这同时也是一个很重要的搜索标准。另外我们也要注意观察这个项目的最近更新日期,因为项目越活跃,那么它的更新日期也更加频繁。
以上要素就是我们在进行搜索的时候要注意的一些关键点。

如何搜索

那我们到底如何搜索呢?
假设我们现在要搜索React,相信大部分小伙伴都是直接在搜索框里输入:“React”,然后一回车,你就会发现情况像下面这样:
搜索结果会显示非常多的开源项目,简直让你应接不暇,无从下手,很多小伙伴搜到这一步就放弃了,因为项目太多了,根本找不到如何找到自己感兴趣的开源项目,所以这样搜索非常的不准确。所以我们来学习一下稍微精确一点的搜索方法。

按照 name 搜索

搜索项目名里面包含React的项目:
in:name React
得到如下结果:
可以看到,这些搜索结果都是项目名里面带有“React”关键字的项目,但是项目数量依旧很多。
现在我们来约束一下
比如我再精确到项目的star数大于5000+:
in:name React stars:>5000
结果是这样的:
搜索结果瞬间精确了很多,现在只有114个项目可供选择。当然我们一般不会把star数设置得这么高,一般设置个1000就差不多了。
同理,我们也可以按照fork的数量来进行搜索:
in:name React stars:>5000 forks:>3000
你会发现,结果越来越精确!

按照README来搜索

搜索README.md里面包含React的项目:
 in:readme React
结果有这么多,那么我们再限制一下它的star数和fork数:
in:readme React stars:>3000 forks:>3000
搜索结果一下子精确到了90个。这个时候你再去选择项目,就会变得容易很多。

按照descriptin搜索

假设我们现在要学习微服务的项目,我们搜索项目描述(description)里面包含微服务的项目:
in:description 微服务
结果有这么多,那我们接着增加一些筛选条件:
in:description 微服务 language:python 
language:python的意思是我们把语言限制为python,我们来看看结果如何:
搜索结果精确了很多。
假如在这些项目里面,我们想要找到最近才更新的项目,意思是更新时间就在最近,我们可以这样:
in:description 微服务 language:python pushed:>2020-01-01
pushed:>2020-01-01的意思是我们把项目的最后更新时间限制到2020-01-01,我们来看看结果如何:
搜索结果只有8个了,这几个项目就属于更新比较活跃的项目,这下再也不纠结了。

总结

好,我们来总结一下。我们想要进行精准搜索,无非就是增加筛选条件。
  • in:name xxx // 按照项目名搜索
  • in:readme xxx // 按照README搜索
  • in:description xxx // 按照description搜索
那么在这里面呢,我们又可以增加筛选条件
  • stars:>xxx // stars数大于xxx
  • forks:>3000 // forks数大于xxx
  • language:xxx // 编程语言是xxx
  • pushed:>YYYY-MM-DD // 最后更新时间大于YYYY-MM-DD
以上就是我们在GitHub上面精准搜索项目的一些小技巧,希望对你有所帮助!

来源:

https://juejin.im/post/5e3d01c56fb9a07c91100801#heading-5





福利来了


赠送书籍
程序员数学从零开始》

参加京东每满100减50活动

书籍简介:

本书从人们身边常见的整数讲起,逐步深入,介绍了数论、计数、图论、机器学习等领域的一些典型算法及其原理,尤其是算法背后的数学原理,可以让读者对这些算法有更深入的理解。 

  本书分为11章,涵盖的主要内容有整数的素因子分解、辗转相除、更相减损、扩展欧几里得算法和Karastuba算法;密码体制和RSA体制的加密原理;递归与分治算法、动态编程技术、特征方程和特征根;算法复杂度分析、大O和大Θ的意义;穷举法、深度优先搜索、广度优先搜索、贪心策略;A∗搜索算法;遗传算法;网络流、增广路径大流算法;最小二乘法的原理、线性回归、非线性回归;基于正态分布的异常检测、局部异常因子算法;P/NP问题。 

   本书内容通俗易懂,案例丰富,实用性强,立足于详细解释算法的原理,尤其是算法背后的数学原理,适合于有一定 编程基础和算法基础的读者进阶阅读,也适合 Python程序员、Java程序员等其他编程爱好者阅读。


今天「JAVA」联合「北京大学出版社」给大家带来4本程序员数学从零开始技术书籍福利,感谢北京大学出版社的大力赞助与支持!

抽奖规则:(本次活动使用腾讯官方抽奖助手)

0、抽奖截止时间:2020年 11月4日20:00
1、必须是粉丝哦
2、重要说明:中奖后请24小时内联系小编(小编微信:619531440), 超时就作废啦!

3、扫以下二维码回复“好书”即可获取抽奖码


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/74787
 
343 次点击