GitHub实践
图书信息
| 作者 | 克里斯·道森(Chris Dawson) |
| 出版社 | 人民邮电出版社 |
| ISBN | 9787115438065 |
| 出版时间 | 2016-11-01 |
| 字数 | 24.5万 |
| 分类 | 科技,计算机,网络,程序设计 |
读书简介
本书一窥GitHub内部使用的工具,以叙事的方式描述构建软件元工具的相关过程,其中不只介绍相关的技术,还会说明折中方案、重构的现实意义,以及编写元工具所面临的挑战。对已经熟悉Git或GitHub、想提升相关技能的读者,书中介绍了如何使用GitHub API及相关的源技术,如Jekyll(网站生成工具)、Hubot(NodeJS聊天机器人)和Gollum(维基)构建工具。
目录
O'Reilly Media, Inc. 介绍
业界评论
前言
为什么使用API,为什么选择GitHub API
本书结构
本书的目标读者
你将学到什么
GitHub钟爱的语言
对操作系统的要求
不适合阅读本书的读者
使用代码示例
Safari® Books Online
联系我们
致谢
第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 GitHub API的频率限制
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 深入了解Gist API
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是什么
在本地操作Jekyll
6.3 使用Jekyll快速创建博客
6.3.1 YAML格式的头部元信息
6.2.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 导入WordPress
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 创建blob
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
设置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.js文件
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 企业版
A.1 安装
A.2 管理
A.3 端点
A.4 单独的主机名与挂载点
A.5 命令行客户端工具:cURL
A.6 使用客户端库的请求示例
A.6.1 Ruby
A.6.2 Java
A.6.3 JavaScript
A.6.4 Python
A.6.5 C#
A.7 管理API
A.8 文档
附录 B GitHub 对 Ruby、NodeJS(和shell)的利用
B.1 GitHub和Ruby
B.1.1 安装Ruby
B.1.2 重要的Ruby和RVM概念
B.1.3 安装Ruby的过程中可能遇到的问题
B.2 积极拥抱NodeJS的GitHub
B.2.1 安装NodeJS
B.2.2 Node版本管理工具
B.2.3 package.json
B.3 命令行基础知识和shell
B.3.1 shell注释
B.3.2 为命令提供变量
B.3.3 把命令分成多行
B.3.4 把输出传给后续命令
B.3.5 重定向
作者简介
关于封面
- 非遗传承:非物质文化遗产保护研究(游珈)
- 医疗美容法律法规与风险管理(美容医学系列数字化创新教材)(曹伟,石悦)
- 工业大麻生物技术研究进展(张利国)
- 吕凤子美术全集(全5册)(丁钢,吕存总)
- 黄河流域生态保护与高质量发展研究(王文保)
- 财务管理学习指导、习题与项目实训 专著 陈昌才,朱文峰,袁萍主编 cai wu(陈昌才,朱文峰,袁萍)
- 大学生就业指导(范崇源,姚旭东,杨梅)
- 王付经方十八反真传(王付主编)
