无论你是刚开始接触软件项目开发的新手程序员,还是一个正在寻找拓展技能的经验级软件工程师,都有许多学不完的新技术等待着你去拓展。当然如果你可以在周末学习下面这些实用技术,那就更棒了。学会一下8个技术或许会让你以后有更多的周末休息时间。
熟练掌握版本控制
如果你从来没有使用版本控制的经历,那么也许你现在会处于一种很艰难的境地:无法将代码恢复到上一个版本,或许你只能将你的代码以文件命名的方式进行备份,比如index_17.html,这是多么痛苦的一件事情。
版本控制意味着你可以将你的代码恢复到任意的版本——甚至精确到小时或者分钟。如果你使用过Google Drive,也许会对恢复到上一个版本的功能比较熟悉,对,这就是简单的版本控制原理。
灵活运用文本编辑器
程序员每天都会将大量的时间花在各种文本编辑器上面,你应该根据自身习惯和开发环境的需要,选择一款可以提高工作效率的文本编辑器,并且不断地深入学习它的使用方法。
如果你更喜欢在终端上工作,那么这里推荐使用VIM和Emacs;如果你喜欢使用本地文本编辑器,那么可以尝试一下Sublime Text;如果你喜欢在Mac环境中工作,也可以试试TextMate。
仅仅在文本编辑器上工作是不够的——你应该尝试安装一些插件和扩展,让自己的工作可以更加舒心。
强大的SQL
一个应用软件必须使用文件或者数据库来存储用户的数据,正因为数据库查询快速,并且提供更优的查询结果,我们的应用便更亲睐于数据库。
SQL是一种数据库查询语言,但是仅仅是学习基础的SQL对我们构建大型复杂的应用系统是远远不够的,很多时候我们需要进行多表,甚至是多库的联合查询。
所以,我建议程序员在周末的时候可以加强SQL方面的练习。
神秘的NoSQL
NoSQL或者也叫Not Only SQL,它有着和传统的关系数据库不同的数据存储格式,NoSQL数据库更加关注数据库的可用性和水平扩展能力,它也有类似SQL的数据库查询语言。
NoSQL根据不同的数据组织结构有几种不同的类型,尽管像Quora这样的大公司并不使用NoSQL,但是如果你有非常庞大的数据需要处理,那么NoSQL是一种非常棒的选择。
爱上终端
对于一些特定的工作任务来说,使用终端会比使用可视化界面来的方便。举个例子,你需要从成千上万个字符串中查找并替换相应的字符串——想象一下这需要在几秒内完成。
如果你在远程服务器上工作,那么你更加需要擅长使用终端。尽管你可以在远程服务器上使用可视化界面来进行操作,但是使用终端会更快一些。还有更重要的一点原因是——使用终端将更加节省带宽,因为这样仅仅需要传输一些文本信息而已。
对于终端初学者来说,周末有空了可以从简单的文本拷贝开始学习,过一段时间,你会发现自己会爱上终端了。
控制远程服务器
作为一名程序员,你肯定不会将代码局限在本地的,如果开发了一款应用,你肯定会将它展示给全世界的人看。这样你就需要登录远程服务器,并且设置相关信息,以便自己的应用可以在服务器上正确运行。
学会单元测试
另外一个重要的技能就是单元测试,当你在开发一个庞大的项目时,是不可能写完所有的代码后才去测试应用的正确性的。我们最好将代码分割成几个部分,然后对每一个部分进行单元测试。
具体的单元测试方法根据不同编程语言有所区别,但是核心理念是一致的——写一部分代码,测试一部分代码。
学会使用Markdown
我将Markdown放到最后是因为它对你写代码并没有多大关系,但是这对那些习惯在网络上发布信息的同学来说就非常重要。比如说编写README文件,并将其添加到Github项目中。
Markdown是一个将文本转换成HTML的工具,它有自己的语法和标签,这些语法标签经过转换后成为标准的HTML结构,这对有些Web开发者来说有一定的实用价值。
各位程序员,这个周末你准备好了吗?
译文链接:http://www.codeceo.com/article/8-tech-programmer-learn-weekend.html
英文原文:8 Essential Skills Developers Can Learn in a Weekend
翻译作者:码农网 – 小峰
转自:http://www.codeceo.com/article/8-tech-programmer-learn-weekend.html
相关推荐
- 适用于周末等空闲时间进行学习。 - **建议阅读方式**:适合短期集中学习,边学边练。 #### 三、Java架构师之路 1. **《Expert One-on-One J2EE Design and Development》** - **内容简介**:本书是Rod Johnson...
- **时间安排**:为期3-4个月,共计200个课时,集中在周末进行授课,每天最长可达10小时的魔鬼训练。 - **地点**:北京航空航天大学新主楼F座计算机网络中心。 #### 四、课程进阶 ##### 1. Android架构分析基础...
通过这个实例,我们可以学习到如何在C语言中实现一个简单的日历应用,同时也可以激发我们思考如何在日常编程工作中添加趣味性,提升工作效率的同时,也让编程生活更加多彩。无论是初学者还是经验丰富的开发者,都...
周末学习计划的详细安排如下: - 周五晚上:4个会话,2小时,内容涵盖SQL Server 2000的入门、安装后配置、企业管理器控制台的初步和深入探索。 - 周六上午:6个会话,3小时,涉及关系数据库的基本概念、SQL Server...
程序员可能还需要编写函数来处理日期的加减运算,判断某个日期是否为周末或节假日,甚至计算两个日期之间的间隔。为了实现万年历,程序可能还需要处理各种用户界面交互,如打印日历,或者提供命令行选项来选择特定...
本书被精心组织成三周的学习计划,每周末将涵盖七个章节的内容,这些章节将介绍与Java语言相关的概念及如何创建Applets和应用程序的具体实践。 #### 书籍特色 - **Note**:本书中包含许多有趣的Note小节,这些小节...
《UML周末速成课程》是一本实用且全面的UML学习指南,适合所有希望快速掌握UML并将其应用于软件开发中的读者。通过深入浅出的讲解和丰富的实践案例,本书不仅能够帮助读者构建坚实的UML理论基础,还能通过动手操作...
从易语言编程学习的角度来看,这个小闹钟项目为初学者提供了一个生动而实用的实例,帮助他们更好地理解程序开发的全过程,从编写代码到软件的最终用户交互。对于那些希望提升自己的编程技巧,又或者希望开发出实用...
ACCP课程并非学历教育,而是提供职业技能培训,学员在完成课程并通过考试后,可以获得北大青鸟APTECH公司颁发的相应级别的认证证书,如计算机超级用户资格证书、初级程序员证书、程序设计员证书以及软件工程师证书。...
在本章的拓展思考部分,笔者提出了几个问题,旨在激发读者深入思考和学习Android的欲望。 本书特色 笔者认为,本书最大的特点在于,较全面、系统、深入地讲解了Android系统中的几大重要组成部分的工作原理...