GitHub实践pdf

图书网 2018年8月30日14:11:151 3.2K

要满足独特的开发需求?那就在下一个项目中使用GitHub提供的强大API吧!本书将手把手教你如何构建软件工具,并定制属于你的GitHub工作流程。书中每一章都要求你自己动手实践,并介绍使用GitHub提供的各项技术时应采取的折中方案以及注意事项。

如果你是经验丰富的程序员并熟知GitHub,你将学到如何使用GitHub API及相关的开源技术,如Jekyll(网站生成工具)、Hubot(NodeJS聊天机器人)和Gollum(维基)构建工具。

本书主要内容如下:

● 使用Gist API命令行工具和Ruby的API客户端Octokit,构建一个简单的Ruby服务器

● 使用Gollum命令行工具构建一个图像管理程序

● 使用Python构建一个搜索GitHub的GUI工具

● 说明第三方工具和自己编写的代码如何交互

● 使用GitHub仓库中的数据创建完整的Jekyll博客

● 创建一个Android移动应用,读写Jekyll仓库

● 在GitHub中托管一个完整的JavaScript单页应用

● 使用Hubot自动审查拉取请求

GitHub实践 内容简介

本书一窥GitHub内部使用的工具,以叙事的方式描述构建软件元工具的相关过程,其中不只介绍相关的技术,还会说明折中方案、重构的现实意义,以及编写元工具所面临的挑战。对已经熟悉Git或GitHub、想提升相关技能的读者,书中介绍了如何使用GitHub API及相关的开源技术,如Jekyll(网站生成工具)、Hubot(NodeJS聊天机器人)和Gollum(维基)构建工具。

GitHub实践 目录

第1章 开放的GitHub API

1.1 cURL

1.2 列举API路径

1.3 JSON格式

1.3.1 在命令行中解析JSON

1.3.2 cURL的调试开关

1.4 重要的首部

1.5 跟随超媒体API

1.6 身份验证

1.6.1 用户名和密码验证

1.6.2 OAuth

1.7 状态码

1.7.1 成功(200或201)

1.7.2 不合规的JSON(400)

1.7.3 错误的JSON(422)

1.7.4 成功创建(201)

1.7.5 完全没变化(304)

1.7.6 GitHubAPI的频率限制

1.7.7 获知频率限制

1.8 使用条件请求规避频率限制

1.9 在Web中访问内容

1.9.1 JSON-P

1.9.2 CORS支持

1.9.3 指定响应的内容格式

1.10 小结

第2章 Gist和Gist API

2.1 简便的代码分享工具

2.2 Gist是仓库

2.2.1 在HTML中嵌入Gist

2.2.2 在Jekyll博客中嵌入Gist

2.3 使用命令行创建Gist

2.4 Gist是功能完整的应用

2.5 渲染Gist的Gist

2.5.1 深入了解GistAPI

2.5.2 使用Octokit获取超媒体数据

2.6 小结

第3章 GitHub使用的维基库Gollum

3.1 “史麦戈的故事⋯⋯”

3.1.1 与仓库关联的维基

3.1.2 标记和结构

3.2 改造Gollum

3.3 开始创建Gollum编辑器

3.4 以编程的方式处理图像

3.5 使用Rugged库

3.6 优化图像存储

3.7 在GitHub中查看

3.8 改善修订版本导航

3.9 修缮素材页面之间的链接

3.10 小结

第4章 Python和Search API

4.1 Search API概述

4.1.1 身份验证

4.1.2 结果的格式

4.1.3 搜索运算符和限定符

4.1.4 排序

4.2 Search API详解

4.2.1 搜索仓库

4.2.2 搜索代码

4.2.3 搜索工单

4.2.4 搜索用户

4.3 示例应用

4.4 Python

4.4.1 AGitHub

4.4.2 WxPython

4.4.3 PyInstaller

4.5 编写代码

4.5.1 获取Git凭据的辅助函数

4.5.2 窗口和界面

4.5.3 登录GitHub

4.5.4 搜索GitHub

4.5.5 显示结果

4.6 打包

4.7 小结

第5章 .NET和Commit Status API

5.1 Commit Status API

5.1.1 原始状态

5.1.2 合并后的状态

5.1.3 创建状态

5.2 编写一个应用

5.2.1 要使用的库

5.2.2 开发环境

5.2.3 发送请求

5.2.4 OAuth验证流程

5.2.5 处理状态的函数

5.3 小结

第6章 Ruby和Jekyll

6.1 学习使用Jekyll构建博客

6.2 Jekyll是什么

6.3 使用Jekyll快速创建博客

6.3.1 YAML格式的头部元信息

6.3.2 Jekyll使用的标记

6.3.3 使用Jekyll命令

6.3.4 在Jekyll中设定隐私级别

6.3.5 主题

6.3.6 发布到GitHub中

6.3.7 托管在自己的域名名下

6.4 导入其他博客

6.4.1 导入WbrdPress

6.4.2 从其他博客中导入

6.5 爬取网站,导入Jekyll

6.5.1 爬取策略

6.5.2 设置

6.5.3 爬取标题

6.5.4 借助交互式Ruby控制台改善

6.5.5 编写测试,处理缓存

6.5.6 输出Jekyll文章

6.5.7 使用jekyll命令行工具

6.5.8 使用Liquid Markup编写主索引文件

6.5.9 爬取正文和作者

6.5.10 把图像添加到Jekyll中

6.5.11 自定义样式(CSS)

6.5.12 通过GitHub的“派生”功能鼓励协作

6.5.13 把博客发布到GitHub中

6.6 小结

第7章 Android和Git Data API

7.1 搭建环境

7.1.1 创建Jekyll博客

7.1.2 Android开发工具

7.2 新建项目

7.2.1 编辑Gradle构建文件

7.2.2 Android默认的主活动

7.3 自动测试Android应用

7.3.1 对GitHub客户端做单元测试

7.3.2 对Android应用做UI测试

7.4 实现应用

7.4.1 编写登录GitHub的代码

7.4.2 编写与GitHub交互的代码

7.4.3 编写博客内容

7.4.4 GitHub服务

7.4.5 从仓库和分支中获取基SHA

7.4.6 创建b1ob

7.4.7 生成树

7.4.8 创建提交

7.4.9 更新上游资源

7.4.10 通过全部测试

7.5 小结

第8章 CoffeeScript、Hubot和Activity API

8.1 Activity API

8.2 让拉取请求得到各方认同

8.2.1 注意事项和局限

8.2.2 创建常规的Hubot

8.2.3 注册Slack账户

8.2.4 在本地运行Hubot

8.3 部署到Heroku

8.4 Activity API概述

8.4.1 编写Hubot扩展

8.4.2 通过拉取请求审查代码

8.4.3 使用OAuth令牌注册事件

8.4.4 发起真实的拉取请求

8.4.5 通过HTTP POST请求处理拉取请求通知

8.5 小结

第9章 JavaScript和Git Data API

9.1 构建一个咖啡店数据库并托管在GitHub中

9.2 搭建环境

9.2.1 绑定域名

9.2.2 添加支持库

9.3 使用GitHub.js开发一个AngularJS应用

9.3.1 规划应用的数据结构

9.3.2 让应用易于测试

9.3.3 测试数据

9.3.4 修改coffeetech.is文件

9.4 添加地理编码功能

9.5 添加登录功能

9.6 显示(即将)由用户提供的数据

9.7 接受拉取请求

9.8 实现安全的登录方式

9.8.1 身份验证需要服务器

9.8.2 使用Firebase处理身份验证过程

9.8.3 测试Firebase

9.8.4 实现Firebase登录功能

9.9 小结

附录A GitHub企业版

附录B GitHub对Ruby、NodeJS(和shell)的利用

GitHub实践 精彩文摘

第 1 章 开放的 GitHub API

本章开始介绍如何使用 GitHub API 读写数据。后续的章节说明如何使用不同的客户端库通过 GitHub API 访问信息。这些客户端库故意隐藏 API 的具体细节,为你提供简洁且符合习惯的方法,用于访问托管在 GitHub 中的 Git 仓库,查看和修改里面的数据。不过,本章直接分析 GitHub API,详细说明原始 HTTP 请求和响应。本章还会讨论访问 GitHub 中公开和隐私数据的不同方式,并指出各自的不足之处。此外,本章会概述网络受限时如何在 Web 浏览器中访问 GitHub 的数据。

1.1 cURL

有时,你可能想立即通过 GitHub API 访问信息,而不想编写正式的程序;有时,你可能想立即获取 HTTP 原始请求的首部和内容;有时,你甚至可能会对客户端库的实现有疑惑,需要换个角度确认客户端库的行为是否正确。遇到这些情况时,最适合使用 cURL 这个简单的命令行 HTTP 工具。与最优秀的 Unix 工具一样,cURL 是个小型程序,功能十分专一,而且故意做了限制,只用于访问 HTTP 服务器。

cURL 与它熟谙的 HTTP 协议一样是无状态的。后面有一章会探讨这一局限性的解决方法,不过要注意,cURL 最适合用于发起一次性请求。

图书网:GitHub实践pdf

继续阅读

→→→→→→→→→→→→→→→→→→→→查找获取

程序设计

重构 改善既有代码的设计(中文版)pdf

《重构:改善既有代码的设计》(中文版)所提的这些重构准则将帮助你一次一小步地修改你的代码,这就减少了过程中的风险。很快你就会把这些重构准则和其名称加入自己的开发词典中,并且朗朗上口...
程序设计

数据结构 C语言版 第2版pdf

适读人群 :普通高校电子信息大类本科生学习、考研,同时也适合零售和培训。 采用“案例驱动”的编写模式。书中结合实际应用,将各章按照“案例引入——数据结构及其操作——案例分析与实现”...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:1   其中:访客  1   博主  0
    • 烹然心动
      烹然心动 9

      随便就可以发表评论?