用Github来备战考试,我大概是疯了!
文 / 一周进步 · 安哥拉
Hello大家好,这里是一周进步。
不知道关注一周的朋友里,有多少是学编程的呢?
因为今天介绍的这个网站,很多学编程的朋友应该都很熟悉,它就是Github。
没学过编程的同学,可能比较少接触这个网站,但也不要觉得和自己无关,因为这个网站蕴藏着丰富的学习和软件资源。
01. Github可以用来干什么?
Github,成立于2008年,是全球最大的代码托管平台,在去年6月份被微软以75亿美元收购。
Github虽然是一个技术网站,但其实,它也可以用来做一些有趣的事情,比如交友,它也因此获得了「程序员的Facebook」称号,也可以用来寻找学习资料,备战期末考。
① 交友&招聘求职
作为全球最大的程序员聚集地,你可以在这里认识各种各样的人。
由于是技术型的网站,吸引人与人之间互相认识,最要紧的是写得一手好代码。
除了交友,一些公司也会将Github项目的Star数,列为求职者的加分项。
因此,平时喜欢在Github上逛的朋友,不妨沉下心,将自己的Github账号打造成一张/份漂亮的社交名片/求职简历。
② 搭建个人blog
使用Github来搭建博客,需要用到Github的Pages功能和Jekyll。但这对于小白来说,有点难了,因此最取巧的方式是,使用他人写好的博客模板。
下面是一位名为@barryclark 的工程师写好的一个博客模板,我们只需要将模板的内容进行替换,就可以得到自己的个人博客了。
*图片来自项目barryclark/iekyll-now
③ 寻找各种资源
除了前面的两个用途,Github还是一个宝藏网站,可以用来寻找各种资源,包含课程资源、软件资源和各种免去重复造轮子的开源项目。
下面介绍一些大家可能会用到的学习资源和软件资源。
02.Github上的学习和软件资源
① 期末复习资料
如果要说大学最难熬的一段时间,可能很多人都会说期末预习。
除了脚踏实地地预习,有些人还掌握了别人不会的「高效」预习方法——看往年期末考试题。
这不,前阵子有人在Github上创建了一个北大多门课程复习资料的项目,包含专业课、公选课、英语课和通选课等,一度成为Github的热门项目。
后来这个项目的末尾处,还加上了其他学校的复习资料,而且有些作者非常贴心,害怕一些刚接触Github的同学不知道怎么下载资料,在文档中也对下载操作进行了说明。
如果没有你的学校,不妨从你开始,着手做一个类似的Github项目,造福你的师弟师妹。
https://github.com/lib-pku/libpku
② B站公开课目录
平时喜欢看公开课的朋友,不要错过这个Github项目了。
这个项目整理了B站上多门公开课的观看链接,包含数学、心理学、历史和物理化学等,其中大部分视频为英文字幕,少部分视频为中英文双语字幕。
以大多数人可能比较感兴趣的心理学、经济&金融和历史学科为例,你可以看到来自世界知名学府的公开课程,虽心之所向身不能往,但是你还能免费上它们的课程。
https://github.com/wenhan-wu/OpenCourseCatalog
③ 免费书籍汇总
免费书籍汇总项目是由知名blogger阮一峰老师创建的,这个项目列出了《科技爱好者周刊》收集的多本免费IT电子书。
这些电子书涵盖Web开发、系统管理、编程语言和数据库等,以后想要找高新职业的朋友,不妨来这里挑几本看看。
https://github.com/ruanyf/free-books
④ 软件资源
由于Github是个技术人的社区,有一些开发者将自己开发的软件发布到了Github,供大家自由下载。
百度脑图离线版
百度脑图是一个思维导图工具,原生软件只有网页版,在断网的场景下不能使用,于是有开发者就自己动手,造了一个开源的离线版的百度脑图。
https://github.com/NaoTu/DesktopNaotu
TinyPNG4Mac
TinyPNG是一个在线的图片压缩工具,但它有一个限制,不能压缩大于5M的图片。
因为这个「bug」,有开发者看不下去了,于是开发了一个适用于macOS的本地软件,叫TinyPNG4Mac。
这个软件支持压缩超过5M的图片,但它也存在一点限制,每月只能免费压缩500次。
https://github.com/kyleduo/TinyPNG4Mac
Awesome-Windows
「Awesome-Windows」是一个Windows上好用的软件合集,整理了包含音频处理、社交沟通、文件压缩和数据恢复等类别的工具。
如果你使用的是Windows,想知道特定类别下的好用软件,可以来这上面多逛一逛。
https://github.com/Awesome-Windows/Awesome/blob/master/README-cn.md
Awesome-Mac
有了Windows的软件清单,怎么能少了Mac的?
与上面的Windows软件清单类似,Awesome-Mac也整理了Mac上好用的应用程序、软件及工具等。
虽然目前Windows的市场份额更大,但是这份Mac软件清单中的软件数量更多,使用Mac电脑的同学,可以来这份清单寻找心仪的软件。
https://github.com/jaywcjlove/awesome-mac/blob/master/README-zh.md
ChromeAppHeroes
ChromeAppHeroes,译为Chrome插件英雄榜,整理了60+优秀的Chrome插件,且项目作者为每个插件都写了相关的介绍文章。
这个项目目前处于更新状态中,Chrome插件爱好者可以前去Github关注。
https://github.com/zhaoolee/ChromeAppHeroes
⑤ 设计资源
Awesome-Desin-Tools
这是一个和设计相关的Github项目,作者整理了设计从业者可能会用到的各种资源,包含动画工具、设计灵感、协作工具、原型工具、图标资源、字体资源和样机素材等。
这个项目包含的资源非常齐全,以后要是你的朋友想不开要学设计,可以把这个Github项目推荐给他。
以设计灵感、字体、渐变工具和图标这4个类别为例,这里仅列举了每个类别中的部分工具,当你觉得某个类别中的一个工具不好用时,可以快速切换到同类别的其他工具。
https://github.com/LisaDziuba/Awesome-Design-Tools
03. 注册Github账号
说完了Github上的一些资源,如果你想将它们暂时保存下来,除了可以收藏网址,你还可以关注或收藏它们。
这里的关注,最大的好处在于,当资源后续再次更新时,你能通过邮件收到通知。
而使用Github的关注或收藏功能,你需要先注册一个Github账号。
Github账号注册分为三步,分别是设置账户、选择订阅和定制体验。
选择订阅这一步,你可以根据自己的需要,选择是否添加订阅,但对于大多数人来说,选择免费账户就可以了。
最后一步的定制体验,可能是Github想通过了解你的个人经历,为你推荐合适的项目或内容。如果你不想填写这些信息,可以直接底部的跳过此步骤。
https://github.com/join?source=header
注册完Github账号,第一次接触Github的朋友,可能会囿于网站使用的英文,折腾了半天,都不知道Github该如何使用,于是就把它关掉了。
但别急,不妨看看我第一次使用Github后,认为使用Github时,需要了解的5个基本概念。
04. 这些Github基本概念,你要知道
① Repository
Repository译为仓库,你可以将它理解为文件夹,可以用来存放项目相关的文件。如下图,这里有两个仓库,分别是weblife和ecma6-adventures。
点击网页右上角的加号,可以新建或导入仓库。
新建仓库时,你需要设置仓库的名称、仓库的可见性,而对仓库的描述则不是必填项。勾选下方的使用README初始化仓库,则会在新建的仓库中生成一个README文件。
创建好仓库后,你可以点击Create new file按钮来书写代码,也可以点击README.md右边的编辑按钮,来对仓库的说明文档进行编辑。
仓库说明文档README,可以用来说明仓库的用途、代码运行环境等,编辑说明文档需要用到Markdown标记语言。
Markdown虽然被称为标记语言,但它不能算是一种编程语言。它可以通过简单的语法标记,使普通文本内容具有一定的格式。
由于Markdown的的轻量化、易上手等特点,许多人用它来写博客。
对Markdown有兴趣的朋友,可以查看Github给出的Markdown指引:
https://guides.github.com/features/mastering-markdown/
*Markdown使用示范
说完仓库相关的内容,我们再来看一下每个Github项目右上角都会有的三个按钮,Watch、Star和Fork。
② Watch
这里的Watch,就可以用来关注你感兴趣的仓库或资源,类似于各种App中的关注功能。
点击Watch按钮,里面有4个选项,对应4种不同的通知权限。
默认情况下,Watch是处于Not Watching状态的,如果你在Github上看到一个不错的仓库,想长期关注它的动态,那你可以选择切换到第二或第三种状态。
打开通知后,当仓库或资源更新后,你可以在账户的个人中心收到通知,如果你绑定了邮箱,那么你也可以通过邮件收到更新提醒。
③ Star
Star直译是星星,但这里理解为点赞或收藏更合适,它可以说是每个Github项目最重要的一个指标,因为Star数值越高,说明这个项目更有价值。
Star按钮只有两个状态,第一次点击即成功收藏,这时它会切换到Unstar状态,再次点击则取消收藏。
你收藏过的所有Github项目,可以通过账号头像的Your stars菜单进行查看。
除了查看自己Star的项目,你还可以查看大佬Star的项目,比如查看阮一峰老师Star的项目,因为大佬Star的项目,本身就经过了一次筛选,可以更方便地为我们找到优秀的项目。
④ fork
fork,原意是叉子,但在IT领域,它被译为复刻/派生。
当你看到一个不错的Github项目,除了可以将它收藏,还可以使用fork,将它拷贝到自己的仓库中。
这个功能,是为了方便你在他人分享的源码基础上,进行二次开发,创建不同的软件。
当你使用fork拷贝了他人的项目,你可以在仓库名称下方的小字,看到fork的来源。
⑤ Issue
在每个Github项目下,都会有一个Issue板块,你可以将它看成是一个讨论区或留言区。
点击右边绿色的New issue按钮,你可以提交软件漏洞、对项目提出自己的疑问等,而对于项目作者来说,可以通过Issue来收集用户的反馈等。
这里仅介绍5个我觉得刚使用Github时,需要了解的基础知识,关于Github的更多帮助,可以查看官方的帮助文。
它也有对应的中文版本:
https://help.github.com/cn
写在最后
虽然这篇文章介绍了Github的一些基本用法和资源,但相对于整个Github拥有的价值来说,还只能算是沧海一粟。
写这篇文章的过程中,我较为频繁地使用了Github,在上面也发现了一些有趣的东西,越发觉得,程序员真是一个能折腾的群体,代码在指间流过,看似平淡,却构建出了丰富多彩的世界。
祝使用Github的人,头脑丰富,头顶不秃!