新書推薦:
《
算法图解(第2版)
》
售價:HK$
80.3
《
科学的奇幻之旅
》
售價:HK$
79.4
《
画艺循谱:晚明的画谱与消闲
》
售價:HK$
147.2
《
新民说·现实政治史:从马基雅维利到基辛格
》
售價:HK$
102.4
《
宽容是件奢侈品(人生360度·一分钟经典故事)
》
售價:HK$
45.8
《
甲骨拼合六集
》
售價:HK$
342.7
《
视觉美食家:商业摄影实战与创意解析
》
售價:HK$
135.7
《
中国经济发展的新阶段:机会与选择
》
售價:HK$
102.4
|
編輯推薦: |
由浅入深,内容全面从基础知识到应用实战,对现代软件开发所需的工具:Unix命令行、文本编辑器和Git版本控制进行了详细阐述,既是一本学习指南,又是一本实战手册。通俗易懂,快速上手内容通俗易懂,既适合软件开发的初学者,也适合经验丰富的开发人员。理论与实践的完美结合除了主要的知识阐述之外,本书还包含大量的练习,以帮助测试读者对当前对知识的理解和掌握程度,并扩展所学的理论知识。本书还有大量的实例来帮助读者实践所学技能,以尽快上手软件编程。
|
內容簡介: |
这是一本讲解如何快速上手现代软件开发所需的三个核心工具:Unix命令行、文本编辑器和Git版本控制的实战性著作。 通过阅读本书,你将学习: 运行终端、输入和编辑命令 操作和检查文件 使用Atom和VS Code等编辑器的基本和高级编辑技巧 使用Markdown语言编写快速文档 格式化源代码并编写可执行脚本 Git和GitHub基础知识 使用关键的Git工作流程——提交、推送、分支、合并 在Git项目上协作并解决代码冲突 开发环境macOS、Linux、Windows和云的设置。 本书通过针对性的练习来帮助读者掌握命令行工具、文本编辑器和Git的重点知识,读者无须学习它们的“全部内容”,只要跟随本书,便能高效地运用它们来解决实际问题。
|
關於作者: |
迈克尔·哈特尔(Michael Hartl)毕业于哈佛大学,拥有加州理工学院的物理学博士学位,并且是Y Combinator企业家计划的成员。他曾任教加州理工学院,并获得了教学卓越终身成就奖。
|
目錄:
|
前言
第一部分 命令行
第1章 命令行基础知识2
1.1 介绍2
1.2 运行终端3
1.3 第一条命令6
1.4 帮助文档(man page)8
1.5 编辑命令行10
1.6 清除12
1.7 命令总结12
第2章 操作文件14
2.1 重定向和追加14
2.2 列表16
2.3 重命名、复制、删除19
2.4 命令总结22
第3章 检查文件24
3.1 下载文件24
3.2 对文件使用head和tail命令26
3.3 少即是多(less is more)28
3.4 检索目标行命令31
3.5 命令总结35
第4章 目录36
4.1 目录结构36
4.2 创建目录38
4.3 导航目录39
4.4 重命名、复制、删除目录42
4.5 命令总结45
4.6 本章小结45
第二部分 文本编辑器
第5章 文本编辑器简介48
5.1 最小可运行编辑器Vim50
5.2 启动Vim51
5.3 编辑小文件53
5.4 保存并退出文件54
5.5 删除内容57
5.6 编辑大文件58
5.7 命令总结60
第6章 现代文本编辑器62
6.1 选择文本编辑器63
6.2 打开文件64
6.3 移动70
6.4 选择文本73
6.5 剪切、复制、粘贴77
6.6 删除和撤回80
6.7 保存82
6.8 查找和替换84
6.9 命令总结87
第7章 高级文本编辑器88
7.1 自动补全和Tab触发器88
7.2 输入源代码92
7.3 编写可执行脚本100
7.4 编辑项目105
7.5 定制化113
7.6 命令总结116
7.7 本章小结 117
第三部分 Git
第8章 Git入门120
8.1 安装和配置121
8.2 初始化Repo123
8.3 第一次提交124
8.4 查看差异126
8.5 添加一个HTML标签128
8.6 添加HTML结构131
8.7 命令总结134
第9章 备份和共享135
9.1 注册GitHub账号135
9.2 远程存储库135
9.3 添加自述文件139
9.4 命令总结143
第10章 中间工作流程144
10.1 提交、推送、重复144
10.2 忽略文件148
10.3 分支与合并149
10.4 恢复156
10.5 命令总结160
第11章 协作161
11.1 克隆、推送、拉取161
11.2 拉取和合并冲突168
11.3 推送分支178
11.4 意外惊喜184
11.5 命令总结187
11.6 高级设置188
11.7 本章小结190
附录A 开发环境191
|
內容試閱:
|
现代软件开发必不可少的三个基本工具是Unix命令行、文本编辑器和Git版本控制。这三个工具在现代技术领域中使用十分普遍,然而令人惊讶的是,几乎没有专门介绍它们以及如何将它们结合在一起使用的书。本书除了需要具备一般的计算机知识,没有任何门槛,并且能够填补这个空白。
无论你想成为一名开发者,或是与开发者合作,你在本书中学到的知识都是非常有价值的。如果你想提升当前的工作水平,开启一段新的职业旅程,或者想自己创办公司,本书也将是一个好的起点。
如果对本书涵盖的三个主题深入讨论,每个主题都可以写一本书。但这样的巨著可能会让读者难以承受,尤其是对初学者来说。因此,本书着重各个主题中最重要的方面,这样读者就不需要去学习所有的内容,只需要学习本书就可以了。
本书还可以帮助读者提高技术熟练度,即包括命令行、文本编辑器和Git版本控制在内的处理复杂问题的技能,以及查询报错信息和何时需要重启等。这些技能贯穿全书,并附有许多真实案例来帮助你提高技术水平。
尽管本书三个部分是自成一体的,但它们之间也有大量的参照和广泛的交叉引用,以展示不同的工具是如何组合在一起使用的。你将学习如何使用命令行启动文本编辑器和在文本编辑器中如何进行修改,然后返回命令行通过Git来记录修改。因此本书是对软件开发基础的综合介绍,这是独一无二的。
命令行
本书的第一部分(第1~4章)是命令行,面向初学者介绍Unix命令行。对于这部分内容,你只需要具备基础的计算机技能(能够在系统中安装软件)就能开始学习。这部分以技术叙事的形式编写,每一步都配有真实案例。第1章介绍了Unix命令的基本概念,并展示了如何通过系统来了解更多信息。第2章介绍了如何使用命令行来执行一些操作,如移动、重命名和删除文件。第3章介绍了如何查看内部文件(甚至是大文件),以及如何搜索文件。第4章介绍了如何使用命令行创建和导航目录(文件夹),以管理系统中的文件。
读完本部分,你将掌握开发工具的基本知识,以及那些很少被系统讲解但在现代计算机系统尤其是类Unix系统中大量用到的知识,包含Linux、Android、macOS和iOS等操作系统(几乎除了Windows以外的所有系统,尽管现在在Windows操作系统中也能够运行Linux)。这意味着如果你对Web或者移动端开发感兴趣的话,你将领先一大步。
文本编辑器
第二部分(第5~7章)是文本编辑器,涵盖了对于专业软件开发来说是至关重要的一类应用程序。文本编辑器用于编写包含纯文本的文件,纯文本是几乎所有Web技术(如HTML和CSS)和编程语言(JavaScript、Ruby、Python等)的文档格式。因此,掌握文本编辑器是学习其他重要主题的必要前提。
文本编辑器和用户配置种类繁多,本部分主要聚焦编辑器的通用功能。第5章介绍了功能强大的Vim文本编辑器,它几乎能够在所有类Unix系统中使用。第6章介绍了所谓的“现代”文本编辑器,主要基于免费、开源的Atom编辑器,重点介绍了与Sublime Text和Visual Studio Code等其他编辑器共有的功能。另外,第6章也对流行的Markdown格式语言进行了介绍。第7章介绍了更多先进的技术,如选项卡触发器和编辑源代码,并展示了如何编写一个shell脚本来扩展第一部分中所讲到的命令行功能。
Git
第三部分(第8~11章)是Git,介绍了如何使用Git进行版本控制。和前两部分一样,学习这部分内容不需要你知道什么是版本控制。作为一种用于追踪项目变化的软件系统,版本控制在21世纪初可能还被认为是可有可无的,但是对于现代软件开发来说,它绝对是必不可少的,而Git则是当之无愧的赢家。
这部分介绍了如何使用Git来追踪一个真实小型网站项目的变更(为学习Web开发奠定了基础)。第8章展示了如何由简单的HTML(超文本标记语言)组成的文件创建一个新的Git存储库来作为项目的容器。第9章介绍了如何在GitHub(一个受欢迎的代码分享网站)为项目创建一个远程备份。第10章接着介绍了如何使用Git项目并记录项目的更改,包括branching(分支)和merging(合并)等重要技术。第11章展示了如何使用Git来与其他用户协作,包括如何解决不可避免的文件冲突。此外,你将学习如何使用GitHub Pages这个免费服务来将你的网站部署到Web上。
其他说明
本书包含了大量的练习,以帮助测试你的学习情况和巩固学习内容。为了保持完整性,本书还增加了关于配置开发环境的附录,包括对操作系统(macOS、Linux、 Windows)的说明和一个预配置的云端集成开发环境的说明。
|
|