课外扩展(三)

linux开发工具

容器
放眼于现实,现在已经是容器的时代了。容器既及其容易部署,又可以方便地构建开发环境。如果你针对的是特定的平台的开发,将开发流程所需要的各种工具都创建到容器映像中是一种很好的方法,只要使用这一个容器映像,就能够快速启动大量运行所需服务的实例。
一个使用容器的最佳例子就是Docker,Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
一个完整的Docker有以下几个部分组成:
DockerClient客户端
Docker Daemon守护进程
Docker Image镜像
DockerContainer容器
使用Docker的好处有:(1)开发环境保持一致(2)部署后即可运行(3)易于跨平台部署(4)Docker 映像适用于多种开发环境和语言(5)部署单个容器或容器集群都并不繁琐
版本控制工具
如果你正在开发一个大型项目,又或者参与团队开发,版本控制工具是必不可少的,它可以用于记录代码变更、提交代码以及合并代码。
常用的版本控制工具就是Git和Github,两者区别是Git 是在本地计算机上安装的版本控制系统,而 GitHub 则是用于上传和管理项目的远程存储库。
文本编辑器
我们通常使用vim、emacs 或 nano来进行文本编辑,管理员在进行系统操作的时候,不可避免地会对文本进行修改,如进行各种服务程序配置文件的改动,使程序对用户提供不同的服务效果。如果不使用文本编辑器,开发将很难实现。
vim意为“vi iMproved”,改进了的vi,由Bram Moolenaar编写。Bram于1989年新买了一台计算机,在上面使用vi的时候觉得很多地方都不太方便,所以他找到了Stevie的源代码,在上面进行改进。在这期间还有Sven等很多人的加入,持续地改进,直到我们现在使用得很广泛的6.x版本。
vim与vi相比,增加了更多的特性,如彩色与高亮显示,可以使我们的编辑工作更轻松。通过设置,vim会自动检测文件中内容的类型,并以不同的颜色进行高亮显示,如注释变成蓝色,关键字变成褐色,而字符串变成红色等,与vi传统的黑白显示模式相比,vim更易读易用。另一个有趣的功能是vim支持从右到左输入字符,这在使用一些特殊语言(如Farsi)进行编程时是比较有用的。在vim中,我们还可以使用多窗口显示,在一个屏幕中同时对多个文件进行操作。我们还可以通过.vimrc文件定制的方法,来使用户在打开vi的时候获得自己熟悉的和适用于自己特殊目的的环境。
emacs是Open Source的领袖Richard Stallman开发的,是Linux发烧友和程序员的终极武器,其功能大大超过了文本编辑。我们可以在emacs中进行文本编辑,也可以编写程序代码,做程序调试,编辑HTML/SGML,读News,收发e-mail…,而且emacs经过配置后还支持中文。不过功能的强大往往意味着操作方法的复杂,emacs也是如此,必须记非常多的命令才能使用它。
而nano相对于上面两个,更加的简单。我们可以直接加上文件名就能够打开一个旧文件或新文件,我们可以打开一个旧文件编辑它,也可以打开一个新文件,即不管这个文件存不存在都是可以打开的。
IDE
集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。
较早期程序设计的各个阶段都要用不同的软件来进行处理,如先用字处理软件编辑源程序,然后用链接程序进行函数、模块连接,再用编译程序进行编译,开发者必须在几种软件间来回切换操作。编程开发软件将编辑、编译、调试等功能集成在一个桌面环境中,这样就大大方便了用户。
优点
节省时间和精力。IDE的目的就是要让开发更加快捷方便,通过提供工具和各种性能来帮助开发者组织资源,减少失误,提供捷径。
建立统一标准。当一组程序员使用同一个开发环境时,就建立了统一的工作标准,当IDE提供预设的模板,或者不同团队分享代码库时,这一效果就更加明显了。
管理开发工作。首先,IDE提供文档工具,可以自动输入开发者评论,或者迫使开发者在不同区域编写评论。其次,IDE可以展示资源,更便于发现应用所处位置,无需在文件系统里面艰难的搜索。
缺点
学习曲线问题。IDE基本上是比较复杂的工具,为了更好的熟练使用,需要一定的时间和耐心。
初学者的困难。对初学者来说,使用IDE来学习开发有相当的难度,不适合学习一种新语言时使用。
无法修复坏代码或设计。开发者不能完全依赖工具的便捷,还是必须保持专业水准和熟练度,开发的成果好坏主要还是看开发员的技术。
文本比较工具
有时候会需要比较两个文件的内容来找到它们之间的不同之处,它们可能是同一文件的两个不同副本(有一个经过编译,而另一个没有)。这种情况下,你肯定不想要凭借肉眼来找出差异,而是想要使用像 Meld 这样的工具。 Meld 是针对开发者的文本比较和合并工具,可以使用 Meld 来发现两个文件之间的差异。

你可能感兴趣的:(课外扩展(三))