判断一个人是否具备“换位思考”的能力有一个好方法,那就是看他怎样向没有技术背景的人解释技术问题。 ——《黑客与画家》保罗·格雷厄姆
前言
从第一次注册 GitHub 账号开始使用,到写下这篇文章,应该有4年了吧。从最开始的查阅资料,慢慢也用的多了起来,现在 GitHub 几乎是我每天必去的网站之一。当然,它也可以帮你完成很多事,不仅仅是功能强大。
学习思路
先来看看我画的一个简易的思维导图,列举了8个简单的模块,当然,像什么利用技术作恶、白嫖等,我自然是不会说的,咱们只讲利用 GitHub 进行学习和提升
。
找Demo练手
找 Demo 练手,我想这是大多数人最开始接触 GitHub 的原因之一吧。举个简单的例子,比如说我刚学 SpringBoot ,在B站看了几个视频,然后买了几本书速览了一遍,现在想找个东西实践一下怎么办呢?
这时候我们就可以通过在 GitHub 上搜索,达到我们的目的了。有很多程序员前辈,为我们提供了高质量的 Demo 来练手。你想要什么东西的 Demo ,就搜什么就行了。
搜索技术架构(解决方案)
这也是一大用途之一,比如说我现在有个需求,需要生成分布式 id 的系统,但是考虑到自己水平设计出的架构肯定不够好,那这种情况下,咱也可以上 GitHub。
当我们在工作中,碰到了新的需求,我建议你不要一开始就百度,因为这是一个不好的习惯,它反而可能会害了你、误导你。你应当拆分需求,在脑海中自己设计/构建架构,并着手实现它。当然,在有些时候,我们自己并不能完美的解决,毕竟术业有专攻嘛,每个人擅长的和掌握的都不同。这时我们就可以在 GitHub 上找找,有没有合适的解决方案了。至于为什么没有让你一开始就直接去找,因为这个思考的过程对你来说是无价的。
寻找顺手的脚本或工具
虽然不能教白嫖,但是利用脚本帮我们抢东西,还是能说说的。
比如大伙最熟悉的 12306,不少小伙伴过年过节回家的时候,应该深有体会吧,几乎是一票难求。我的朋友圈,基本上放假前一段时间,几乎每天都会有发朋友圈让帮忙“加速的”。有的时候,真的不如靠自己,就算是抢票平台,也是有优先级的,花了钱的,肯定排在你前面。
一些好用的脚本或工具,比如:
- 京东茅台秒杀脚本(这个真得魔改,因为太多人用一样的脚本,你没了优势)
- 包括京东之类的各种签到脚本(每天100多京豆,挂着不管就行,挺香的)
- 百度网盘不限速客户端
- 我终于能用谷歌搜中文了……
至于好用的工具,嗯~ o( ̄▽ ̄)o,开源的真的一大堆。我个人习惯就是,除非无法替代,否则有开源的,我就一定不会考虑商业软件。
寻找学习资源
这点确实不得不说,挺方便的,有很多资源类仓库和博客类仓库,各种面经、XX天学会XX、计算机电子书仓库,都是不少的。但是我最喜欢看的就是,很多大佬在学完某项技术之后,写的“小册”,因为它不想普通的技术文章那样,“小册”有完整的大纲,思路清晰,甚至还会有周刊。
说到这里,还是推荐几个吧:
查找数据或者爬虫
你甚至能在 GitHub 上,找到几乎所有你听过的平台的爬虫,甚至还有大量的代理池。但是你如果要使用的话,还是要慎重,稍有不慎就要喝茶了。
你甚至能在 GitHub 找到各种社工库和网络攻击脚本,但是,我希望你明白什么是违法行为。
各种练手框架
其实准确的说,叫练手项目更好。抱歉,推荐一波自己的项目,虽然还在边学边写:https://github.com/besscroft/aurora-mall
万能的awesome系列
也就是我们常说的“真棒”系列,但凡任何一门语言,和一些比较好的项目,都会有awesome
系列,直接在 GitHub 搜索框搜索 awesome
即可,也可以搜awesome + 关键字
。
搜索语法
这个跟搜索引擎语法一样,真的是非常重要的必学内容之一,掌握搜索语法,可以让你在找任何东西时都事半功倍!!!
贴上官方文档:了解搜索语法
举个简单的例子:java stars:>1000
,搜索关键字 java ,star数量大于1000的所有仓库。
可选条件:
>
、>=
、<
、<=
可选值:
stars
仓库、topics
主题、size
文件大小
最后
如果你仅仅认为 GitHub 就只有这些,那就图样图森破了。上面其实也充斥着大量的黑灰产业相关的东西,各种zz内容、色情暴力相关的其实也不少。怎么说呢,科技是一把双刃剑
,但是怎么挥舞这把剑的人却是你自己,切勿在里面迷失了自己。