前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >『沉浸式Github 使用指南 』

『沉浸式Github 使用指南 』

作者头像
谢伟
发布2018-06-06 13:40:02
8040
发布2018-06-06 13:40:02
举报
文章被收录于专栏:GopherCoderGopherCoder

github-ten.png

你要问我这个世界上什么学习方法是坚持下去最有效果 -- 模仿。

深度模仿。


2014年9月,正式来到上海,不为别的,为了读书。为了获得更高的学历。

那时,我没有想好,未来到底应该从事什么工作。也许搞电器、电机吧。因为专业是这相关的。

大学四年的学习,大概让我明白。我可能不太喜欢这门专业。

读研的一段时间下来,发现也不是太喜欢科研,尤其是导师的科研偏向理论化,内心没有太大的想要提高科研水平的想法。

之后的时间内,我开始了摸索。

如何可以只有一台电脑就可以掌握技能,并找到工作呢? 如何只要有网络就可以连接这个世界?

于是,我开始了学习编写代码。

摸索了一段时间,初步确定职业向程序员方向发展。

于是我像小白一样,开始了自学的道路。

github-ten.png

2015年3月17日,注册加入Github, 那时的我远没有发现这个代码托管平台的好处。甚至我远没有理解到整个Github 的功用。

后来自己想要学习Git 这个分布式版本控制工具而注册Github,伊始Github 完全是个人的代码备份空间。

和网盘的功能类似:备份个人代码。虽然代码都是些零零碎碎。不值得看的代码。

渐渐学会了Git 的使用。回头看来,其实知识是无穷无尽的。但是常用的其实并多。

学习需要使用 二八法则

2015年11月,加入一家创业公司实习,正式开始从事写代码的工作。

因为创业公司比较小,碰巧这家公司又给了我这个机会,于是就这样踏上了程序员的道路。

在工作中开始频繁使用 git 和 github。

开始了解 github。 实习时间不是很长,但我渐渐意识到:

  1. 软件行业是一个需要不断学习的行业,这一点也不夸张
  2. 软件行业的学习一般都是靠自学

不管你是在学校、小公司、大公司...,谁都不可能手把手教你。你需要的知识,你想要了解的技术,无一不是靠自学习得。

初级程序员想要学习,会在网上收集大量教程,收集大量PDF 电子书,搜索各种各样的代码实例。

到了一定的阶段,回过头来会发现,其实网上的二手知识,实在是太多了。因为程序员行业的自学的人特别的多,加上程序员又是一个非常喜欢分享的群体。

会出现这种情况:

  1. 高手不愿意分享,或者分享的都是整体思路(架构领域),离初级,中级程序员太远了
  2. 初学者喜欢分享,多是一些代码示例

各种各样的人对知识的不同的理解而产生的二手、三手、四手等知识不断的在网上传播。

包括我自己也产生了很多二手知识。但只要有一点能对人产生帮助,我就不会停止分享。更何况我是抱着真实的态度在分享文章。

工作一年后,我对程序员有了新的认识。我对开源有了新的认识。

我更加热衷程序员的职业,我更加喜欢开源。我更加喜欢官方的知识。一遍看不懂,就多看几遍,随着你看的次数多了,相信我,你会越来越懂。

Github 则是这个世界上最大的开源代码托管平台。有着无数的喜欢分享的程序员在分享接近一手知识的开源代码。有着无数的开源代码可以让我们模仿。

找到几个自己从事行业相关的,坚持阅读下去。坚持模仿下去。坚持创造一些稍有不同的轮子。

即: Github 是程序员的金矿,我们可以模仿任意轮子,优化自己思维,提高自己水平。

1. Github 历史

  • 2008 年 Github 上线
  • 2009 年 BTC 源码开源,之后成为各种币的重要参考
  • 2009 年 Nodejs 源码托管在 github 上
  • 2010 年 Rails Girls holds its first workshop
  • 2011 年 Travis CI 持续集成
  • 2012 年 JavaScript 成为在Github 上最热门的语言
  • 2013 年 Github 用户突破 300 万
  • 2014 年 Docker 发布
  • 2014 年 Django workshop
  • 2014 年 .Net 开源
  • 2015 年 Unreal Engine 开源
  • 2015 年 GitHub Classroom
  • 2016 年 Apollo 11 code takes off
  • 2017 年 The Python team opens their first GitHub pull request
  • 2017 年 30,000 nonprofit accounts created
  • 2018 年 10 年

Github 10 年 Github Ten


如何使用好 Github?

2. 个人项目

  1. markdown
  2. emoji
  3. 创建个人项目
  4. 美化项目
2.1 markdown、rst

大凡热门的项目一定有非常详尽的使用文档。而Markdown 成为 Github README 的标配,甚至成为程序员的标配。

程序员都应该熟悉 Markdown 语法。

对于组织项目的文档说明,另一种比较好的标记语言是 reStructuredText 。

Markdown 入门:Markdown Cheatsheet

reStructuredText 入门:RestructuredText

语法很详尽,看上去很难入门。相信我:

照着下面的流程走:

  1. 标题怎么搞: 一级标题?二级标题....?
  2. 段落怎么搞: 如何分割...?
  3. 文本怎么处理:加粗?斜体?
  4. 超链接怎么处理? 图片? 网址?视频?...?
  5. 表格怎么处理?

好了,想要更丰富的语法? 入手了上面几个问题,可以查文档了。

2.2 emoji

emoji 图形符号, 是一个文字,被渲染成图形。

这里是一份 对照表手册: emoji

Twitter emoji: emoji

twitter-emoji.png

Emoji Search: emoji search

emoji.png

Emoji 在你提交 commit message 、写 markdown 格式文档、讨论 issues 的时候显得更有趣一些。

2.3 项目

github 项目分为个人开源项目和隐私项目,后者付费。对普通开发者而言,个人开源项目即可。

  1. 可以代码托管,比如自己的一些函数封装等
  2. 可以创建轮子,项目的受欢迎程序一定程度上体现作者水平

现在Github 个人的项目一定程度上能体现作者的代码水平。甚至越来越成为程序员面试、跳槽等的指标之一。

2.4 美化项目

即借助一些微图标、图形,美化项目的简介,配合Markdown 语法使用

shields.png

常见微标:

CI : 持续集成

CI

测试覆盖率

Coverage

下载数量

download

文档

doc

版本信息

version

项目语言

Golang

Golang

Golang

等等...

微标地址

注意不是越多越好,一定应该选择的是你项目确实需要的,能说明的你的项目特征的。

给个详细的学习地址: 学习地址

jianshu-go.png

progressed.png

进度示例:

28

示例 :![28](http://progressed.io/bar/28?title=xiewei)

按照markdown 语法,再根据文档的示例,很容易写出一个进度条。

比如我要写一个:标题为:Age, 进度为: 27% 示例

27

示例:![27](http://progressed.io/bar/27?title=Age)

美化不是重点,重点的努力提升代码质量唉。

3. 开源项目

  1. 模仿
  2. 借鉴
  3. 阅读
  4. 文档
  5. 测试
  6. 重复

如何借助 github 开源项目提升自己水平。

我一般的步骤是这样的:

  1. 阅读开源项目 Demo
  2. 克隆代码,执行开源项目 Demo
  3. 阅读项目 doc
  4. 阅读项目测试
  5. 执行项目测试
  6. 使用开源项目帮助自己实现业务
  7. 阅读开源项目源代码

这里提三点:

  1. Demo 实例很重要
  2. 测试很重要
  3. 文档很重要

但初学者、自学者一般都不喜欢或者说不太关注测试。

浏览Github 网站,免不了需要阅读源代码,如果不想 clone 下来,在集成开发环境里看,还有什么办法吗?

有的。Chrome 插件,帮你提升阅读源代码的效率。

插件:

  1. Sourcegraph 像IDE 一样操作 github 代码 chrome 商店地址
  2. Isometric Contributions 提交记录艺术化 Chrome 商店地址
  3. Octotree 查看Github 源代码工具 chrome 商店地址
  4. GayHub 查看Github 源代码工具 chrome地址

什么? 上不去 chrome 商店,兄dei 是不是要学习访问外国网站?

4. Awesome 系列

网络上很多的知识集,搜索成本很大,如果又不会访问外国网站,那再收集知识这一块需要耗费很大的时间。

  1. 收集
  2. 甄别
  3. 学习
  4. 假如学习资料有误
  5. 推倒
  6. 再次学习
  7. 深入学习 ...

时间就是金钱啊,更何况程序就那么几年。大家都这么说...

那如何借助 Github 找到你想要的知识:

An awesome list is a list of awesome things curated by the community.

Awesome + 关键字

比如: 想要学习 Python

Awesome python

awesome-python.png

比如:想要学习 Go

Awesome Go

awesome-go.png

比如:想看 cheatsheet

Awesome cheatsheet

awesome-cheatsheet.png

比如:想要学习任意知识

Awesome Awesome

awesome.png

好了,知识集有了,可以针对感兴趣的学习了。

当然你也可以使用自己的关键字搜索,但相信我 Awesome 系列一定能满足你

5. trending

假如你想了解当天的,或者近期的Github 热门项目,追追趋势?

没问题:

方法一

  • 掘金浏览器插件

chrome 商店下载地址

掘金.png

方法二

方法一就是调用的方法二的API.

  • Github API3 API

github-trending.png

Github 满足你作为程序员需要的所有知识,你唯一缺少的就是踏实的学习。

6. 分享几个好玩的项目

Follow 下?[1] Star 下?[2]

(完)


  1. Github 个人地址:https://github.com/wuxiaoxiaoshen
  2. Jianshu-go API 地址: https://github.com/wuxiaoxiaoshen/Jianshu-go
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.04.20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. Github 历史
  • 2. 个人项目
    • 2.1 markdown、rst
      • 2.2 emoji
      • 2.3 项目
      • 2.4 美化项目
      • 3. 开源项目
      • 4. Awesome 系列
      • 5. trending
      • 6. 分享几个好玩的项目
      相关产品与服务
      代码托管
      CODING 代码托管(CODING Code Repositories,CODING-CR)是为开发者打造的云端便捷代码管理工具,旨在为更多的开发者带去便捷、高效的开发体验,全面支持 Git/SVN 代码托管,包括代码评审、分支管理、超大仓库等功能。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档