GitHub各位应该都很熟悉了,全球最大的开源社区,也是全球最大的同性交友网站((ง •_•)ง),但是大部分同学使用GitHub应该就是通过别人的开源链接,点进去下载对应的项目,而真正使用Github来查找开源项目的还是少数,

面试总得有几个和所求岗位相关的项目,如果应届生、转行的童鞋没有项目,就靠简单的javaSE或者其他语言基础那只能说“你太难了”。

通过 Github ,你可以很方便的下载自己需要的项目,了解实时热点的项目,通过对优秀的开源项目的学习,更好的进行学习与提高

仓库分几种?

本地仓库:建立在本地的文件夹。

远程仓库:建立在互联网的服务器内的文件夹。

分布式版本控制系统

配有两个仓库,在你的电脑上有一个 本地仓库 ,在远程的服务器上有一个 远程仓库 。

我们在提交文件的时候会先提交到本地仓库,然后在有网络的情况下,再从本地仓库提交到网络上的远程仓库。

Git 就是一个典型的分布式版本控制系统

Github就担任了上述的远程仓库这一角色,就是一个存放在外网服务器上的一个文件夹。并且Github是免费的开源的托管平台

什么是Git

Git (读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。

GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。

2021 年 最热 GitHub 盘点,这些 GitHub 项目是本月 Star 攀升最多的 repo,它们分别是:

HarmonyOS 鸿蒙操作系统

自行车自动驾驶系统

金庸群侠传 3D 重制版

阿里云盘小白羊版

计算机基础知识笔记

Spring Boot 相关漏洞学习资料

阿里巴巴 MySQL binlog 增量订阅&消费组件

一键换脸应用

用 Python 编写的一些简单的项目

命令行的艺术

01. HarmonyOS 鸿蒙

本月第一个盘点,一定给鸿蒙。HarmonyOS 华为鸿蒙操作系统开源,迅速霸占 GitHub 热榜。

鸿蒙系统是第一款基于微内核的全场景分布式OS,是华为自主研发的操作系统。2019年8月9日,鸿蒙系统在华为开发者大会上正式发布,华为会率先部署在智慧屏、车载终端、穿戴等智能终端上,未来会有越来越多的智能设备使用开源的鸿蒙OS。

鸿蒙OS实现模块化耦合,对应不同设备可弹性部署,鸿蒙OS有三层架构,第一层是内核,第二层是基础服务,第三层是程序框架 。可用于大屏、PC、汽车等各种不同的设备上。还可以随时用在手机上,但暂时华为手机端依然优先使用安卓。

鸿蒙 OS 底层由鸿蒙微内核、Linux 内核、Lite OS 组成,未来将发展为完全的鸿蒙微内核架构。

02. 自动驾驶自行车这个项目重新定义了自行车,这个项目的作者正式 B站 Up主 稚晖君。之前他搞过很多有意思的小项目,比如前段时间大火的迷你电视机就是出自他手。

这次,他闭关修炼了四个月,搞出来一个自动驾驶系统。不过这个自动驾驶系统不是用在电动汽车上的,而是自行车。这个项目算是这位 UP 最硬核的一个期了,整个自动驾驶系统研发过程断断续续花了四个月。

03. 金庸群侠传 3D 重制版金庸群侠传 3D 重制版是一个非盈利游戏项目,重制经典游戏《金庸群侠传》并支持后续一系列 MOD 和二次开发。重置版是作者纯粹为了兴趣和学习在业余时间打磨出来的,最近作者比较忙,于是开源出来,希望感兴趣的朋友一起开发。

项目作者也在B站发布了重置版的介绍视频。视频中可以看到,重置版画质更精良,细节更生动。

04. 阿里云盘小白羊版这是作者基于阿里云盘网页版开发的 PC 客户端,已经实现了阿里云盘官方客户端的基本功能。

05. CS - Notes这个 repo 是技术面试必备基础知识,包括算法、计算机操作系统、计算机网络、系统设计等等。项目内容不是将网上的资料的随意拼凑,除了少部分引用书上和技术文档的原文,其余都是博主的原创。

05. Spring Boot 相关漏洞学习资料本文是 Spring Boot 相关漏洞的学习资源,仅作为安全研究和授权测试使用。不要用于非法活动。这个项目从信息泄露、远程代码执行两大方面,总结了 16 个案例,提供了详细的步骤对提到的漏洞进行攻击,同时还会阐述漏洞原理,进行漏洞分析。

比如下图就是如何利用漏洞获取被星号脱敏的密码:

06. 阿里巴巴 MySQL binlog 增量订阅&消费组件早期阿里巴巴因为杭州和美国双机房部署,存在跨机房同步的业务需求,实现方式主要是基于业务 trigger 获取增量变更。从 2010 年开始,业务逐步尝试数据库日志解析获取增量变更进行同步,由此衍生出了大量的数据库增量订阅和消费业务。

08. 一键换脸

FaceSwap 是一种利用深度学习算法来换掉图片和视频中的人脸的工具。基于 Tensorflow、Keras 和 Python,Faceswap 可以在 Windows、macOS 和 Linux 上运行。安装了这个应用,你就能在你电脑上通过可视化交互的方式构建自己的换脸模型了。

07. 用 Python 编写的一些简单的项目这个仓库包含了用 Python 编写的一些简单的项目,包括全能媒体播放器、病毒扫描软件、Bilibili 视频一键下载工具。还有暴力破解压缩密码、密码本、破解wifi密码、调用WinRAR破解压缩密码、聚合搜索、批量重命名、各平台热榜等等。

10. 命令行的艺术命令行可以提高我们的工作效率、增加灵活性。该项目总结了在 Linux 上使用命令行时的相关技巧,内容覆盖基础使用、文件操作、数据处理等等。有专门针对 Windows 或 macOS 的部分,本教程既适合初学者,也适合经验丰富的人,并附有具体的实战例子帮助大家的理解。

Github常用词含义

watch:会持续收到项目的动态

fork:复制某个项目到自己的仓库

star:点赞数,表示对该项目表示认可,点赞数越多的项目一般越火

clone:将项目下载到本地

follow:关注你感兴趣的作者,会收到他们的动态

一个完整的项目界面

① 此处是项目作者名/项目名

② 此处是项目的点赞数,和fock数,越火的项目点赞和fock就会越多

③ 项目的Description 和Website 和tags 也就是项目的说明和标签, 通过此处你可以一眼了解该项目的功能和简介

④ 项目的commits提交数 ,一般比较好的项目,维护会比较频繁,更新也会频繁,提交数就会多

⑤项目提交时间, 通过这里你可以看到项目的提交时间,防止自己下载了一些远古项目

⑥ README.md README.md文件是一个项目的入门手册,里面介绍了整个项目的使用、功能等等。所以README文件写得好不好,关系到这个项目能不能更容易的被其他人了解和使用。

使用Github搜索项目

一般人用Github的步骤 直接搜索,选择一下Languages 设置下项目排序顺序 就直接下载

然后就是克隆仓库,阅读md,看项目源代码,看不懂,关闭项目,删除。

这样是很难找到真正适合自己的项目的,

GitHub里面有很多有价值的开源项目和代码,如何在海量的代码库中搜索我们需要的信息,那么接下来将带你了解下如何利用GitHub强大的搜索功能,来找到适合自己的项目

GitHub的高级搜索

GitHub有高级搜索功能,search/advanced可以输入关键字、代码库大小、包含作者、代码语、代码包含后缀文件名等。

这里我们假设正要学习 Spring Boot,要找一个 Spring Boot的 Demo 来进行参考学习。

精准搜索仓库标题、仓库描述、README

in关键词限制搜索范围

按照项目名/仓库名搜索(大小写不敏感)

(1)公式

in:name xxx 项目名包含xxx

in:description xxx 项目描述包含xxx

in:readme xxx 项目介绍文档里含有xxx

比如我搜索项目名里含有 Spring Boot 的 in:name Spring Boot

会发现项目数量由17W变成了11W

搜索项目描述里含有 Spring Boot 的 in:description Spring Boot

stars或fork数量去查找

一个项目 star 数的多少,一般代表该项目的受欢迎程度 越受欢迎的项目,star数和fork数一定也不会少

(1)公式

stars:>xxx stars数大于xxx

stars:xx..xx stars数在xx…xx之间

forks:>xxx forks数大于xxx

forks:xx..xx forks数在xx…xx之间

查找star数大于等于5000的springboot项目

spring boot stars:>=5000

查找fork数大于500的springcloud项目

spring cloud forks:>500

查找fork在100到200之间并且stars数在80到100之间的springboot项目

spring boot forks:100..200 stars:80..100

我们进一步缩小范围,Star数量过滤,要求Star数量大于3000

in:name spring boot starts :> 3000

可以看到只有一千多个项目供我们选择了

按照地区和语言进行搜索

很多时候我们的项目是要用我们会的语言,你找到了一个Python写的好项目,但是没学过Python,下载了也看不懂,同时,为了更好的阅读README.md帮助文档以及项目注释,我想很多同学都会想要下载中文的项目,当然英语顶呱呱的请忽略

(1)公式

location:地区

language:语言

语言为javaScript

language:javaScript

地区为china

`location: China

如果你要寻找使用 javascript 语言的国产项目,整个搜索条件就是:language:javascript location:china,从搜索结果来看,我们找到了五百多万javascript 项目,近 21000 多名地区信息填写为 China 的 javascript 开发者,

根据仓库大小搜索

如果你只是想找一些小型的项目进行个人学习和开发,不想找特别复杂的,那么使用size关键字查找简单的 Demo,就成了你的首选

(1)公式

size:>= 数字 【注意:100代表100Kb 单位为Kb】

根据仓库是否在更新的搜索

寻找项目当然是想要找到最新的项目,而不是好久都没有更新的老项目了,

(1)公式

pushed:> YYYY-MM-DD 最后上传日期大于YYYY-MM-DD

created:> YYYY-MM-DD 创建日期大于YYYY-MM-DD

比如我们想要寻找2020年最新更新的项目,可以用 pushed:>2020-01-03 Spring Boot ,这样子就可以找到今年一月份之后更新的最新项目

根据某个人或组织进行搜索

如果你想在GitHub 上找一下某个大神是不是提交了新的项目,可以对他们进行精准搜索

(1)公式

user: name 查找某个用户

org: name 查找某个组织

followers:>=xxx 查找关注者数量超过xxx的开发者

比方说我们想要找一下廖雪峰老师的python开源项目

user:MichaelLiao language:python

根据仓库的LICENSE搜索

License是很多人容易忽略的一个问题

开源项目的License(项目授权协议) 有的开源项目作者明确禁止商用了,但是你不知情下载了,并且使用了,这就会很麻烦,

“非常友好”的协议,比较出名的有这几种:BSD、MPL(Mozilla)、Apache、MIT。这些协议不但允许项目的使用者使用开源库,有些还允许对开源库进行修改并重新分发。因此用起来特别爽。上述这几个协议在细节上有些小差异,大伙儿可以去它们官网瞧一下。

以下这个网站,详细介绍了各个License的区别。

http://choosealicense.com/licenses/

(1)公式

-license:对应协议

例如咱们要找协议是最为宽松的 Apache License 2 的代码,

license:apache-2.0 Spring Boot

awesome加强搜索

Awesome 似乎已经成为不少 GitHub 项目喜爱的命名之一,Awesome 往往整合了大量的同一领域的资料,让大家可以更好的学习。

(1)公式

awesome 关键字 awesome 系列一般是用来收集学习、工具、书籍类相关的项目

比如搜索优秀的python相关的项目,包括框架、教程等

awesome python

awesome-python,这个库提供了各个领域常见的python库支持。整体看下来,几乎涵盖了所有的常见的计算机领域,

热门搜索(GitHub Trend 和 GitHub Topic)

GitHub Trend 页面总结了每天/每周/每月周期的热门 Repositories 和 Developers,你可以看到在某个周期处于热门状态的开发项目和开发者

GitHub Topic 展示了最新和最流行的讨论主题,在这里你不仅能够看到开发项目,还能看到更多非开发技术的讨论主题,

很多Java程序员一直希望找到一份完整的学习路径,但是市面上很多书都是专注某一个领域的,没有一份完整的大图,以至于很多程序员很迷茫,不知道自己到底应该从哪里开始学,或者不知道自己学习些什么。

已整理成了文档版本

这个 拿去 用 这70个让你笑的合不拢嘴的GitHub项目,居然拿了7万星相关推荐

  1. 朗润国际期货:去中心化稳定币谁能笑到最后?

    万亿美元赛道风云再起:去中心化稳定币谁能笑到最后? 万亿美元赛道风云再起:去中心化稳定币谁能笑到最后? 让我们探索安全.可扩展和去中心化的下一代去中心化稳定币. 稳定币市场是未来的万亿美元产业.如果您 ...

  2. 如何写个优秀的Github项目Readme文档?经典模版拿去不谢~

    今天给大家介绍一个Github上的README文档写作教程模版,该模版目前获得6634颗星星,2296Fork,相对而言,还是比较得到大家认可的.不花哨,不别出心裁,一个比较实用的,普适性的架子:所谓 ...

  3. 双麦克风语音去混响算法C代码实现(附github项目链接)

    1. 算法依据 算法的依据是论文<Multi-Channel Linear Prediction Speech Dereverberation Algorithm Based on QR-RLS ...

  4. Python Day 70 利用Django框架做的一个bbs小项目

    ##项目开发流程 #1.项目需求分析产品经理+架构师+开发经理/组长 去到客户的公司谈需求(博弈的过程) #2.项目架构设计 架构师设计(数据库(主库:MySQL,从库:redis,mongodb), ...

  5. 抖音怎么去赚钱?小白也能快速上手的抖音测试号项目。丨国仁网络资讯

    受疫情"宅经济"影响,依托于短视频生态的直播迎来了前所未有的大爆发,全民用户注意力被极度分散. 如今短视频市场的火热程度毋庸置疑,对于普通用户来说,短视频平台是时间黑洞,而对于我们 ...

  6. 服务器c盘装完系统70多g,新安装的Win10系统C盘居然用了30多个G怎么回事

    使用电脑时总会出现各种奇怪的问题,比如新电脑安装好Win10系统后C盘居然用了30多个G,难道Win10有这么大么?这时候C盘再要安装其它软件的话,C盘会不够用的,并且系统也容易出现卡顿.唯一解决办法 ...

  7. nginx css 304 导致图片丢失_Nginx 从入门到实战

    优质文章,及时送达 作者 | 海岛 来源 | sf.gg/a/1190000014893012 上篇 | 10 个让你笑的合不拢嘴的 GitHub 项目 基础篇 一.环境 服务器版本:CentOS 7 ...

  8. “狗屁不通文章生成器”项目登顶GitHub热榜~

    点击上方"IT平头哥联盟",选择"置顶或者星标" 你的关注意义重大! 前言 GitHub 被誉为全球最大的同性交友网站,--,陪伴我们已经走过 10+ 年时间, ...

  9. 这篇专门推荐给学 Android 的同学,建议收藏!

    code小生 一个专注大前端领域的技术平台公众号回复Android加入安卓技术群 按照惯例,是每年都会有年度总结文章的,2019也不例外. code小生 以下内容按照技术模块来划分,每个大的分类下文章 ...

最新文章

  1. Jackson 框架使用教程,轻易转换JSON
  2. 用ExayX在VS2019上输出文本有误的解决方案
  3. SessionStorage 和 LocalStorage 生命周期 以及 浏览器刷新操作意味着什么?
  4. 经典C语言程序100例之一零零
  5. matlab 角度转四元数_基于Matlab的机械臂路径规划
  6. 前端学习(1501):一次帮别人解决问题的案例
  7. 【英语学习】【医学】Unit 09 The Respiratory System
  8. fastjson map转json_Java对象转JSON咋这么头疼?不!那是你还没使用Fastjson
  9. 喝酒、吸烟和喝茶三者相对而言,哪个对身体有益?哪个对身体有害?
  10. Redis笔记(六)Redis的消息通知
  11. UPS输出连接要求IEC C320 C13,输入连接要求(6)IEC 320 C14
  12. C/C++ _beginthreadex 多线程操作 - 线程同步
  13. Postgresql下载地址及安装教程
  14. 批处理bat schtasks 启动远程应用
  15. cocos 安卓打包相关
  16. python scratch unity怎么读_Python如何像scratch一样朗读文字?
  17. java version 1.8下载_JDK1.8下载、安装和环境配置教程
  18. meadow显示服务器断开,Meadow(草甸)中文全成就指南
  19. 手机端页面测试神器--Browsersync
  20. 机器学习实战课后习题(八)

热门文章

  1. js 中文英文数字首字母混合排序
  2. 什么是JavaScript作用域、作用域链?
  3. GitHub上小伙玩剧本杀假戏真做,没想到对方竟然是……
  4. 西藏加牙村织毯艺人被俗称为“栽毛匠”/地毯品牌
  5. Android 优雅的为RecyclerView添加HeaderView和FooterView
  6. 计算形参x所指数组中N个数的平均值(规定所有数均为正数)
  7. JavaScript:设为首页-加入收藏-联系我们的代码
  8. 非常可爱的紫色动态星空月亮网站404页面源码
  9. 简单的数组找出最大最小值
  10. 基于 Prometheus 和 Zabbix 实现容器云平台整体监控方案