layout: post
title: "学习 GitHub 有什么好处?"
date: 2018-04-15 19:20:20 +0800
---
鸣谢:王顶 老师(河北经贸大学,github:wangding),该文章为网络课程教学素材。
我(吴甜甜)学习了王顶老师的github课程,并得到王顶老师网络指导多次。

学习 GitHub 有什么好处?

为什么要学习 GitHub,或者说学习 GitHub 对我们有什么好处?

理由一:GitHub 上有很多大牛出没,国外的咱先不说,就国内的像百度、腾讯、阿里之类的大公司,里面的很多工程师都在 GitHub 上安家落户,有空的时候多在 GitHub 上逛逛,关注一下大牛,没准还能搞个内推什么的。

理由二:GitHub 上可以接触到最新的最前沿的 IT 技术。因为,我们知道任何软件或者产品在上线发布之前,都有开发的过程和测试的过程,GitHub 上你可以接触到这些产品的初始状态、中间状态和发布状态,你可以第一时间了解到产品的动向。而且根据 GitHub 上每年发布的统计数据,你可以知道哪些技术是最火热的技术,及时跟上这些技术,而不是学一些过时的小众的技术。这个恐怕是每个搞 IT 技术的人,都非常关心的一个问题。

理由三:GitHub 是基于 Git 版本控制工具的,任何一个软件从无到有的全部过程,或者说软件从无到有的每个版本,它是怎么发展过来的,全都一览无遗。从这里面我们可以学到开发的技术,包括编程语言、单元测试、设计思想、编码规范、项目的协调组织以及流程,等等。而且因为 GitHub 是版本控制,可以很好的管理程序代码或者文档的每个历史状态,相当于我们每天刷的微博或者微信朋友圈。这些社交媒体工具可以记录我们的生活点滴,而 GitHub 可以记录我们的技术发展,如果你是一个刚上大一的新生,如果能把学习的每门课程,从 C 语言、数据结构开始,把每门课程的练习代码放到 GitHub 上,四年下来也是一个很好的积累。

理由四:GitHub 是开源的,开源就意味着所有项目的代码和文档,甚至中间过程对我们都是开放的。我们从这些项目中可以找一些感兴趣的项目参与其中,可以利用这些项目来提升我们的技术,积累我们的项目经验。很多大学生毕业的时候,因为没有项目经验而被企业拒之门外,试想一下,如果能够在大学期间,从大一就开始接触了了解 Github,在大学毕业的时候在 GitHub 上已经有一些参与项目的经验,那会对我们的未来有多大的帮助啊。如果你想做程序员,你可以在开源项目中贡献代码,如果你想做测试工程师,你可以在开源项目中提 bug 缺陷。而且,GitHub 上确实有很多猎头在关注着你,有很多靠谱的工作机会等待着你,前提是你需要在 GitHub 上安家,然后把你对 IT 技术的学习过程用 GitHub 管理起来。利用 GitHub 在个人职业发展上,走向成功的案例举不胜举。

理由五:GitHub 不仅托管的项目不仅可以是软件包或者程序代码,也可以是文档教程。所以,我对 GitHub 的资料,分两个大类,一个程序代码,二是自然语言代码。程序代码很好理解,大家都多少接触过编程,了解一门或多门编程语言。自然语言代码,其实就是自然语言编写的文档资料。即使我们因为程序语言掌握的不好,不太能一上来参与到开源项目中去贡献代码。但是,很多技术大牛在 GitHub 上做了很多非常棒的入门教程,帮助初学者。像我就用 GitHub 做课程开发,大家可以在我的 GitHub courses 仓库中,找到很多课程的资料页面。有的人在 GitHub 上写书,我这里搜藏了两个大牛写的 python 书,都可以完全免费的在线阅读。还有阮一峰老师写的 JavaScript 书,等等。所以 GitHub 是一个非常丰富的学习资料仓库。大家如果不接触 GitHub,没有掌握 GitHub 这个强大的工具,这些优质的学习资料,就跟大家失之交臂了,这是非常可惜的一件事情。

最后,用一句话来总结一下这个话题。那就是,一旦你掌握了 GitHub 这个强大的工具,你的 IT 技术水平或者职业发展就进入了快车道


学习 GitHub 有什么好处?的更多相关文章

  1. 从0开始学习 GITHUB 系列之「GIT 速成」【转】

    本文转载自:http://stormzhang.com/github/2016/05/30/learn-github-from-zero3/ 版权声明:本文为 stormzhang 原创文章,可以随意 ...

  2. 从0开始学习 GitHub 系列之「03.Git 速成」

    前面的 GitHub 系列文章介绍过,GitHub 是基于 Git 的,所以也就意味着 Git 是基础,如果你不会 Git ,那么接下来你完全继续不下去,所以今天的教程就来说说 Git ,当然关于 G ...

  3. 学习GitHub

    学习GitHub: GitHub教程:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b00 ...

  4. 深度学习Github排名,很不错的介绍

    今天看到这篇文章,把深度学习github排名靠前的项目,介绍了一下,很不错: https://blog.csdn.net/yH0VLDe8VG8ep9VGe/article/details/81611 ...

  5. 从0开始学习 GITHUB 系列之「向GITHUB 提交代码」【转】

    本文转载自:http://stormzhang.com/github/2016/06/04/learn-github-from-zero4/ 版权声明:本文为 stormzhang 原创文章,可以随意 ...

  6. 从0开始学习 GITHUB 系列之「初识 GITHUB」【转】

    本文转载自:http://stormzhang.com/github/2016/05/25/learn-github-from-zero1/ 版权声明:本文为 stormzhang 原创文章,可以随意 ...

  7. 从0开始学习 GITHUB 系列之「加入 GITHUB」【转】

    本文转载自:http://stormzhang.com/github/2016/05/26/learn-github-from-zero2/ 版权声明:本文为 stormzhang 原创文章,可以随意 ...

  8. 从0开始学习 GitHub 系列汇总笔记

    本文学习自Stromzhang, 原文地址请移步:从0开始学习 GitHub 系列汇总 我的笔记: 0x00  从0开始学习GitHub 系列之[初识GitHub] GitHub 影响力 a.全球顶级 ...

  9. 从0開始学习 GitHub 系列之「07.GitHub 常见的几种操作」

    之前写了一个 GitHub 系列,反响非常不错,突然发现居然还落下点东西没写,前段时间 GitHub 也改版了,借此机会补充下. 我们都说开源社区最大的魅力是人人多能够參与进去,发挥众人的力量,让一个 ...

随机推荐

  1. Codeforces 458A Golden System

    经过计算两个字符串的大小对比 主要q^2=q+1 明明是斐波那契数 100000位肯定超LL 我在每一位仅仅取到两个以内 竟然ac了 #include<bits/stdc++.h> usi ...

  2. hdu3118Arbiter (使用二分图的定义,枚举每个状态)

    Arbiter Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Sub ...

  3. Linux 下非 root 用户安装 theano(配置 GPU)

    非 root 用户,安装 Python 第三方的包,尤其像 theano,存在大量的依赖项,存在的主要问题,是安装各个包时的权限问题.所幸,存在这样一个集成工具,叫 anaconda,其已经内置了许多 ...

  4. 好用的Markdown 编辑器及工具

    Markdown 是 2004 年由 John Gruberis 设计和开发的纯文本格式的语法,所以通过同一个名字它可以使用工具来转换成 HTML.readme 文件,在线论坛编写消息和快速创建富文本 ...

  5. EF context.SaveChanges()特点

    EF context.SaveChanges()特点 1 一次连接保存多条数据(工作单元模式): 2 内部通过事务来执行,如果一条数据保存失败,执行回滚操作: 3 延时加载 var userList= ...

  6. C# WebClient的使用

    using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...

  7. 检查Android是否支持指纹识别以及是否已经录入指纹

    原文:检查Android是否支持指纹识别以及是否已经录入指纹 Android M 开始,系统中加入了指纹相关功能. 主要用到的类为:FingerprintManager 只提供三个方法: 返回值 方法 ...

  8. java.text.MessageFormat 专题

    java.text.MessageFormat类MessageFormat提供一种语言无关的方式来组装消息,它允许你在运行时刻用指定的参数来替换掉消息字符串中的一部分.你可以为MessageForma ...

  9. 图像滤镜艺术---Oilpaint油画滤镜

    原文:图像滤镜艺术---Oilpaint油画滤镜  Oilpaint油画滤镜     图像油画效果实际上是将图像边缘产生一种朦胧,雾化的效果,同时,将一定的边缘模糊化,这样图像整体上看去像素与像素之间 ...

  10. Android多线程(二)

    在上一篇中,我简单说了用AsyncTask来完成简单异步任务,但AsyncTask是把所有的异步任务放到一个队列中依次在同一个线程中执行.这样就带来一个问题,它无法处理那些耗时长.需要并行的的任务.如 ...