无论你是刚开始接触软件项目开发的新手程序员,还是一个正在寻找拓展技能的经验级软件工程师,都有许多学不完的新技术等待着你去拓展。当然如果你可以在周末学习下面这些实用技术,那就更棒了。学会一下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

程序员在周末学习的8个实用技术相关推荐

  1. 大龄程序员的人工智能学习之路

    我大学本科学的并非计算机相关专业,毕业后在外面工作了三年之后,考研重返校园,专业是计算机应用,算是半个科班出身.硕士毕业之后留在了武汉,然后就一直在武汉工作.在二线城市工作有一件比较尴尬的事情,就是跳 ...

  2. 程序员的周末:纯野的一天

    牵强的标题 自己写上这个标题都觉得挺牵强的.首先,我算不上是一个纯粹意义上的程序员了.虽然上了一个多月的班,但对于这份职业到底做什么我都还不是特别的清楚.每天做着一些类似文秘的工作,又类似技术支持的工 ...

  3. 黑马程序员——c语言学习心得——函数传递二维数组

    黑马程序员--c语言学习心得--函数传递二维数组 -------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.定义指针的时候一定要初始化.    变量 ...

  4. 送给 Java 程序员的 Spring 学习指南

    https://www.infoq.cn/article/Ad-8ghcGGCNU572U6oEX 学习 Spring 的基础要求 Spring 官网首页是这么介绍自己的--"Spring: ...

  5. Java开发程序员最值得学习的10大技术

    作为一个开发人员,我们最大的挑战就是保持自己了解新的技术.技术变化很快,你大概每两年就会看到一个新版本的编程语言和框架. 就拿2017年来说,AR.VR.区块链.人工智能等等已经扑面而来了.除了这些离 ...

  6. 如何使用jquery_好程序员web前端学习路线分享jQuery学习技巧

    好程序员web前端学习路线分享jQuery学习技巧,jQuery在web前端学习中是一个必不可少的内容,很多小伙伴都在学习这阶段的时候遇到问题,今天我们就来聊一下jQuery,让我们一起来看一看吧! ...

  7. js怎么在一个div中嵌入另一网站_好程序员web前端学习路线分享HTML5常见面试题集锦一...

    好程序员web前端学习路线分享HTML5常见面试题集锦,接下来将会持续为大家分享几篇HTML5常见面试题. 1.布局 左边20% 中间自适应 右边200px 不能用定位 答案:圣杯布局/双飞翼布局或者 ...

  8. scala语言的底层是java实现的_2020了,每个程序员都该学习的 5 种开发语言

    我曾在某处读到过(可能在<代码大全>,但我不敢确定),程序员应该每年学习一门新的编程语言.但如果做不到,我建议,你至少学习以下 5 种开发语言,以便你在职业生涯有很好的表现. 每个公司都喜 ...

  9. Java程序员最值得学习的10大技术

    程序员们是最具有挑战性的工作,我们最大的挑战就是保持自己了解新的技术.技术变化很快,你大概每两年就会看到一个新版本的编程语言和框架. 就拿2017年来说,AR.VR.区块链.人工智能等等已经扑面而来了 ...

最新文章

  1. 信号与系统-2021年春季学期-考试信息
  2. Python后端相关技术/工具栈
  3. 嵌入式第一周学习总结
  4. Symfony2中的命名约定
  5. 多重循环练习之九九乘法表
  6. AcWing 1236. 递增三元组 (flag + 前缀和 | 二分 | 滑动窗口)
  7. 4、Python-列表
  8. Chrome浏览器上传文件卡死
  9. 无约束最优化(一) 最速下降法、Newton法、修正Newton法
  10. 怎么让envi中影像背景为0_eCogniton波段权重设置——基于ENVI的波段信息量计算
  11. 【HDU1255】【扫描线 —— 矩形面积交】覆盖的面积
  12. Python实现粒子群(PSO)带惩罚函数多目标优化
  13. Android开关按键(左右复选)
  14. 奖励 CSDN 社区的领军人物
  15. web网站整合微信扫码登录
  16. 骨传导原理是什么?骨传导耳机对保护耳朵健康有帮助吗?
  17. 高职学校计算机研讨内容,高职院校计算机文化基础课教学与计算机等级考试关系研讨...
  18. python脚本计算STM32的bxCAN的波特率
  19. Java医院分诊挂号管理系统SSH医疗住院(含源码+论文+答辩PPT等)
  20. Java项目中使用频率最高的100个类

热门文章

  1. 训练日志 2018.12.26
  2. 过山车(HDU-2063)
  3. 37 SD配置-销售凭证设置-分配项目类别
  4. js修改id的值_如何修改pytesthtml源码来优化接口自动化测试报告
  5. RaabitMQ:rabbitmqctl的几个命令
  6. IO 端口和IO 内存(原理篇)
  7. vutils.save_image==>将给定的张量保存为图像
  8. 01 | 从神经元说起:数学篇
  9. vue组件的通信方式
  10. if( 1 == x ) 比 if( x == 1 ) 哪个好