商汇粹外网资源平台

搜索
查看: 2505|回复: 5

怎么在 GitHub 上找到自己喜欢的项目?

[复制链接]

该用户从未签到

8

主题

40

帖子

128

积分

注册会员

Rank: 2

积分
128
发表于 2022-9-21 20:41:23 | 显示全部楼层 |阅读模式
N多项目,不知道如何入手
回复

使用道具 举报

该用户从未签到

9

主题

68

帖子

242

积分

中级会员

Rank: 3Rank: 3

积分
242
发表于 2022-9-21 20:56:23 | 显示全部楼层
我之前写过一篇文章,主要讲我是如何在 GitHub 发现优质项目的,现将文章转过来,供你参考。
另外我平时也会在 微博 上分享一些优质的开源项目,感兴趣的话可以关注一下。
<hr>下面是正文。
GitHubDaily 是从 2015 年 10 月开始运营的,至今三年有余,微博分享了数百个开源项目,前不久我已将微博分享的开源项目整理后发布到 GitHub 上了。   
GitHub 地址:https://github.com/GitHubDaily/GitHubDaily
一开始运营的时候,主要是分享在平时工作会接触到的一些开源项目,后面自己闲着没事也会去搜索下最近 GitHub 有哪些比较好玩有趣的开源项目。
下面是我平时经常逛的几个网站,在这里我时不时会发现一些优质的开源项目。
优质渠道

GitHub 官方渠道

目前有几个我认为比较不错的渠道。下面我来挨个说一下。
回复

使用道具 举报

该用户从未签到

6

主题

31

帖子

98

积分

注册会员

Rank: 2

积分
98
发表于 2022-9-21 21:11:23 | 显示全部楼层
每个程序员必备网站都少不了Github,可是每次一打开,在搜索框输入CNN里一回车,出现了5w+的项目,我人都傻了:沃日,高大上,搜索我都用不来!
不过,看完本保姆级教程,想在Github搜一个精准的项目应该没什么大问题。
其实搜索方式无异于你在百度上搜索,只不过平时搜索的时候,限制条件都在搜索框附近,但是Github需要你在搜索框中,按照格式输入限制条件。
限制条件有以下几个:

  • Name 项目名称
  • Readme 项目介绍
  • Description 项目描述
  • Languge 编程语言
  • Push 发布日期
  • Star 星星数
  • Fork 拷贝数
如果你想搜索一个项目名称带有CNN的项目,那么在搜索框内输入:
in:name CNN(立马筛掉了20000条不相关的信息)

当然,筛选条件写的越细能筛选出来的项目就越细,比如输入:
in:readme CNN stars:>1000 pushed:>2021-01-01 然后再在边上的选项框(language)中选择自己想要的语言,出现的结果就会变得非常精确。

而且,对于大部分的仓库来说,readme是一个非常非常非常重要的部分。很多人不太明白readme是个啥,其实这个就是介绍这个项目是什么,怎么使用等。Github 会将当前你在浏览的仓库文件夹中的 readme 直接渲染在网页上。一个好的仓库一定有一份很详细的readme!  
以上是在精确搜索的时候可以用到的方法。我这里还有几个自己平时会用的一些搜索方法。
在使用过一段时间的Github以后,推荐你直接点进Explore,会根据平时的搜索习惯进行推荐。如果想要发现一些有趣的项目,还是推荐这种海淘的方式,毕竟还挺锻炼眼力的!

再来就是Trending栏目也是我每日必点的,可以看看又有那些大牛上榜了,他们的项目也绝对不会差,不求全会,作为一个课外拓展还是很不错。

像我们这种刚养成的小小号,虽然有算法万能模板算法小抄在里面,也不可能有机会上榜了
(内涵:戳这里给我赏点⭐吧~)

最后,就是养成善于发现的好习惯。我自己平时在看一些论文的时候,就会习惯性的点进作者的主页看看有没有关联的GitHub账号。


Github真的是一个非常好的资源网站。除了搜索一些项目,GitHub 上还可以搜索到各种 未经授权 的英文书籍的翻译,或是各种电子书的 PDF 版。还有一些库,可以提供相应的学习资源,如 free-programming-books-zh_CN,即免费的编程中文书籍索引。  
与此同时,Github上不乏简单的新手项目,实践练手再好不过
令狐冲的算法小抄:一个刷题3000+的FB大佬把自己在做题时的技巧整理成一份Cheatsheet。内容主要根据他自己在大厂面过经验,和入职FB面试其他人的经验,把面试过程中会出现的高频知识点做了一个总结,并归纳出了算法模板。
ZKEACMS:一个可视化设计的CMS系统(内容管理系统)。页面布局是可以直接在线设计,页面也是可以在线设计,编辑的,模板是可以直接在线编辑的,样式还可以可视化直接编辑,内容板块可以直接从现有板块中快速添加。是一个非常适合新手跟进的优质项目。
JEESNS:一款基于JAVA企业级平台研发的社交管理系统,依托企业级JAVA的高效、安全、稳定等优势,开创国内JAVA版开源SNS先河。数据库使用MYSQL,全部源代码开放。
最后,祝你寻宝愉快,别忘记给我的Github和本条回答点个赞,赏个辛苦费哈~
回复

使用道具 举报

该用户从未签到

4

主题

29

帖子

104

积分

注册会员

Rank: 2

积分
104
发表于 2022-9-21 21:26:23 | 显示全部楼层
很多的小伙伴,经常会有这样的困惑,我看了很多技术的学习文档、书籍、甚至视频,我想动手实践,于是我打开了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上面精准搜索项目的一些小技巧,希望对你有所帮助!
整理一天有点累,听说双击屏幕有惊喜。❤️
回复

使用道具 举报

该用户从未签到

3

主题

25

帖子

91

积分

注册会员

Rank: 2

积分
91
发表于 2022-9-21 21:41:23 | 显示全部楼层
如何在GitHub上发现优秀的开源项目?
我们的博主白手起家的亿万富翁早给出了答案。
作者:白手起家的亿万富翁
如果作为一名程序员,你连GitHub都没有听过或者用过的话,那真是太遗憾了。GitHub的使用可是程序员在职业生涯中的一项必备技能啊,最近在网上搜了一下,发现有好多童鞋都在提问GitHub的使用教程,其实网上关于GitHub使用的优秀教程还真是不少,本人也在其中获益颇多,好了,我们今天就来谈一个关于GitHub的话题,”如何在GitHub上发现优秀的开源项目”。
1.Explore
登录GitHub,在页面中心找到Explore,如图:

Explore GitHub 会把所有近期有活跃的项目呈现给大家,是没有经过筛选的,按照默认排序。这时候,点击右上角的 Trending 按钮,如图:

这个 Trending 页面是用来干嘛的呢?有点英语底子的人一看就明白了,Trending就是潮流热门趋势的意思,在这个页面你可以看到最近一些热门的开源项目,GitHub就通过这个页面,做了筛选的功能,可以算是很多人主动获取一些开源项目最好的途径,我们可以选择「当天热门」、「一周之内热门」和「一月之内热门」来查看,如果你还想更加精确的查找到自己想要学习的编程语言,在右边有一个分语言类来查看的功能,比如你想查看最近热门的 iOS 项目,那么右边就可以选择 Objective-C 语言,如图:

3 .Search
除了 Trending ,还有一种最主动的获取开源项目的方式,那就是 GitHub 的 Search 功能。
举个例子,你是做 iOS 的,接触 GitHub 没多久,那么第一件事就应该输入 iOS 关键字进行搜索,然后右上角选择按照你想要的结果来排序,结果如下图:

可以看到,我们按照星星最多排序出来的结果,星星越多就表示该项目越火,对你学习或者使用的价值就更大。


总结
GitHub 对于我们做技术开发的人来说真是太有帮助了,优秀的开源项目在上面太多,我们不管是应用在实际项目上,还是对源码的学习,这都是提升我们自己技能和开拓眼界的一个重要渠道,你有大把大把的时间用来刷微博,朋友圈,还不如静下心来刷刷GitHub,总有一天你会发现,噢,原来自己也可以成为大牛!


更多了解作者:白手起家的亿万富翁
回复

使用道具 举报

该用户从未签到

6

主题

73

帖子

227

积分

中级会员

Rank: 3Rank: 3

积分
227
发表于 2022-9-21 21:56:23 | 显示全部楼层
先看再点赞,给自己一点思考的时间,微信搜索【沉默王二】关注这个靠才华苟且的程序员。
本回答 GitHub github.com/itwanger 已收录,里面还有一线大厂整理的面试题,以及我的系列文章。
前几天,看到一位朋友程序员小浩在文章里分享他的开源项目,上了 GitHub 的趋势日榜单,并且成功排名第一。我表示很酸,因为我也想有一个上千 star 的开源项目,到时候就可以肆无忌惮地吹牛逼了。
对于优秀的程序员来说,搜索引擎就该用 Google,找开源项目就该用 GitHub,找答案就该用 Stack Overflow,对吧?
如果能够拥有一个 star 数上万的 GitHub 仓库,那简直就是偶像级的开源作者。出去找工作的时候,在简历上就那么一晒,面试官就哑口无言了。
不过现实往往比较骨干,来看看我的 GitHub 仓库就能感受到了。

最多 star 的还是多年前写的一个二维码分享海报的仓库,仅仅 48 个,惨不忍睹啊,可怜得我一把鼻涕一把泪啊。可能有些读者看到这幅图后会觉得不舒服,“二哥,你可是我的偶像啊,怎么 GitHub 这么弱!”
但在我看来,挺正常的,一个人的精力是有限的,做到全方面优秀的都是屈指可数。况且,我看到了巨大的潜力,对,我的 GitHub 上升空间很大,只要我能拼一拼,超过 48 个 star 的仓库应该能实现吧?!
对于大多数普通的程序员来说,包括我,虽然不能成为优秀的开源作者,但利用 GitHub 找到一些优质的开源项目还是很有必要的。造轮子咱不行,“拿来主义”还不行?那怎么找到这些优质的开源项目呢?
绝对保姆级教程,包教包会。
01、GitHub 上直接搜项目

GitHub 主页上会有一个搜索框,直接在里面搜项目的关键字就行了,比如说微信支付这个关键字。

目前能搜到 2754 个仓库,比较多。

这种搜索的方式等同于在搜索框中加了一个 in:description 或者 in:about。


那这个 description 和 about 又是什么意思呢?指的是仓库的简介,见下图的红色框区域。

那 in 后的关键字还有没有别的呢?有,可以是 in:readme。

对于大部分中文的仓库来说,readme 部分是最详细的。区分一个仓库优质不优质,就看 readme 部分写得够不够认真。
我的个人博客用的 GitHub Pages, 地址如下:
https://github.com/itwanger/itwanger.github.io
我昨天刚把这个仓库的 readme 整了整,比之前看起来高大上多了。自我感觉良好,以后我要花点精力好好维护下,读者朋友们敬请期待啊,我敢肯定,在不久的将来,star 数肯定会超过 48,我敢赌 100 块!

那通过 in:readme 后的仓库数量有点多,达到了 16432 个,也太多了,怎么能精选一下呢?
一个仓库之所以优质,就在于它的 star 数是否足够多,因此可以在后面加上 stars>2000,这样过滤后的结果就少了很多。

02、GitHub 上直接搜作者

重要的参数有下面这 4 个,location 是所在的国家,language 是编程语言,followers 是关注人数,fullname 是作者名。

比如我搜 location:china  followers:>4000,注意左侧选中「Users」,排名比较靠前的两位是阮一峰和尤雨溪大佬。

查看一下尤雨溪大佬的主页,头像真的非常清秀帅气,我第一印象知道想到了谁吗?徐志摩。前端框架 Vue.js 的作者, 真的非常牛逼了。

作者牛逼,那自然他的项目也就优质——基本上是个不可推翻的定理。
03、Google 直接搜

还拿之前“微信支付”这个关键字,百度搜到的结果如下所示:

换成 Google 呢?

对,第一个就是我想要的。

star 数高达 20k,可以说非常优质的项目了。我在做商城的时候就用的这个,微信开发的 Java SDK,支持包括微信支付、开放平台、公众号、企业微信/企业号、小程序等微信功能的后端开发。
04、GitHub Trend

对,就是文章开头提到的 GitHub 趋势榜,地址如下:
https://github.com/trending
就如宣传语里说的,了解 GitHub 社区今天最激动人心的仓库或者作者。下图中第四位就是小浩的,牛逼牛逼。

可以选择编程语言,也可以选择日榜、周榜、月榜。
选择作者的话,可以看到一些优质的项目。

05、GitHub Topics

GitHub Topics 展示了最新和最流行的讨论主题,在这里不仅能够看到开源项目,还能看到更多非开发技术的讨论主题。地址如下:
https://github.com/topics
不过,主题这块有个缺点,就是它的排序是按照首字母从 A 到 Z 的排列,这就导致如果我想看 Java 的话,就需要 load more 再 load more,再 load more,嗯,还是看不到。

希望 GitHub 在这方面改进一下,最起码可以选择一下。幸好幸好,load more 下面有一个 popular,里面有 Java 的标签。

点击标签就可以跳转到 Java 的主题了,排名第二的竟然是我的好朋友 guide 哥的仓库,star 已经 84k+ 了,牛逼牛逼。

06、GitHub Explore

Explore 就是探索的意思,它会根据你的喜欢智能化地推荐一些项目。地址如下所示:
https://github.com/explore
我不知道这个探索算法是怎么算的,感觉给我推荐的项目还不够优秀,可能是我自己的 GitHub 还不够优秀吧。

07、牛人推荐

很多大学生读者问我,“二哥,听说现在公司招聘的时候非常看重项目经验,可我在大学的时候没有项目经验啊!怎么办?”
看 GitHub 上那些大牛们的开源项目,就是增加项目经验的一个很好的办法。把开源项目 down 到本地,然后看源码自己研究,顺带在原有的基础上补充一些功能,是不是就有项目经验了?
本身这些开源项目都是非常优质的,但功能并不会非常全面,毕竟作者的精力和时间有限。
虽然我不是 GitHub 上牛逼的作者,但摸着良心讲,开发经验还是非常充足的,所以我推荐的项目还是非常值得去学习的。
第一个,微人事(vhr),我的好朋友江南一点雨的。

推荐很多次了,我觉得有必要找他要一个贡献者的角色,以后我也可以出去吹牛逼了。
第二个,电商系统(mall),我的好朋友 macrozheng 的。

我们公司的商城系统升级的时候,就用了他这个作为地基,真的是非常给力的一个开源项目。
08、最后

发现了优质项目,不只是要去 star 它,最好 fork 到自己名下,去研究研究源码。
如果可以的话,可以尝试去解决几个 issue,提几个 pull Request,如果能混到一个贡献者的名额,就开心了哈,毕竟自己头像出现在 readme 里也是非常骄傲的一件事。
最后,希望题主能够玩的开心,毕竟 GitHub 是全球最大的同性交友社区(狗头)
<hr>我是沉默王二,一枚有颜值却靠才华苟且的程序员。关注即可提升学习效率,别忘了三连啊,点赞、收藏、留言,我不挑,奥利给
如果觉得回答对你有所帮助,欢迎微信搜索「沉默王二」关注我,本回答 GitHub github.com/itwanger 已收录,欢迎 star。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表