马克!程序员必须收藏的 10 类工具&库,助你提高效率变大神

本文为 AI 研习社编译的技术博客,原标题 : 10 Useful Tools and Libraries for Programmer and IT Professionals 作者 | Javinpaul 翻译 | 卡尔文•乔丹 校对 | 酱番梨 整理 | 菠萝妹 原文链接: https://hackernoon.com/10-useful-tools-and-libraries-for-programmer-and-it-professionals-914e64e0eabc 注:本文的相关链接请点击文末【阅读原文】进行访问

对程序员和IT专业10个有用的工具和库

橙色的扩音器挂在橙色的墙上”Oleg Laptev在Unsplash网站上写道。

每一个行业都有它自己的一些工具。软件行业也不例外。一个好的程序员比其他人更加熟悉那些工具,也能比一般的程序员更善于使用那些工具。但是,有一些工具你希望每一个软件开发人员都知道。下面清单列出了这样的一些工具。

在下面的清单中,我将会介绍对程序员和软件开发人员应该非常熟悉的10个工具。

10个程序员应该知道的工具

你们中的很多人或许会认为10个工具没什么大不了的,但是坦白地讲,如果没一个程序员能够真的非常了解那些工具,那他能够很好的完成他每天的工作。

不管怎么说,也没有什么其他麻烦,我们一起来看看我的关于软件开发人员应该知道并且掌握的10个工具。

1.GIT 和GitHub

对一个程序员或者软件开发人员来说,深入了解源代码控制仓库都是必须的,因为你需要每天都去检查你的程序。

还有,如果你想成为一个好的开发人员,你应该了解一些高级的概念,比如分支和合并。

在当今的世界中,Git和GitHub已经成为源代码控制仓库和版本控制的同义词。

这是一个对程序员来说简单也重要的工具,这也是我为什么建议每一个程序员都好好地去学习Git和GitHub的原因。

如果你是一个新手或者想提高Git知识的程序员,我建议你可以从Udemy的Git Complete: The definitive, step-by-step guide to Git 这个课程开始学习。关于深度学习Git一个非常好的课程。

2.SQL

这也是另外一个程序员应该去学习工具或者说编程语言。SQL是标准查询语言,经常和数据库一起工作。通过使用SQL,你能够从列表中读取,更新,和删除数据。

因为我们现实世界中到处使用数据库,因此,程序员应该掌握SQL语言。

除了掌握一些基本的指令比如选择,插入,更新和删除以外,程序员还应该知道如何去屑复杂的查询语句比如连接,聚合函数,子查询等高级的功能。

如果你是刚开始接触SQL或者想提高你的SQL技巧上一个台阶,你可以从The Complete SQL Bootcamp这门课开始。

3.Python

如果你是一个Java开发人员你可能会感到惊讶,我为什么我要推荐每一个程序员学习Python?这是有原因的。Python是一门非常强大的面向对象的编程语言,且用途多样。

你不仅能够用Python写一些你过去在Java中写的那样的大的应用,你可以用Python去创造一些有用的脚本去自动执行。

它拥有大量的各种各样的模块,让人感觉无所不能,从打开文件系统到开发web应用,再到深度学习。

你看可下面这张图片你应该明白了为什么每一个程序员应该学习Python。

它还拥有非常简单使用的语法,非常适合那些第一次学习电脑编程的人。如果你想学习Python,你可以从 The Complete Python Bootcamp这门课开始学习。

4. Excel 或者任何电子表格

微软公司的Excel表格是另外一个对程序员和软件开发人员必须要了解的工具。千万不要认为它只是一个电子表格应用,你可以使用Excel做各种远超你想象的事情。

最大的一个原因去学习Excel就是,你能够发现到处都在使用Excel。每个人都在使用它,从商业领域到BA,QA,再到项目经理。你可以使用它自动和协调生成报告。

如果你不仅仅想在excel中复制粘贴内容来学习像VLOOKUP这样的函数,我建议你参加Udemy微软Excel:从新手到高手这门课程。也是深度学习Excel非常好的一门课程。

5.Word或者其他

微软的word软件没有像Excel软件那么流行,但是它仍然是程序员和软件开发人员必须掌握的工具。

作为一个开发人员,你经常需要创建一个文件比如软件设计文档,需求文档,微软的Word软件就是创建文档最好的工具。

它提供非常复杂的格式选项去非常好看的文档。

如果你是一个初学者或者想要提高Word技能的开发人员,我建议学习一下Udemy上面的从新手到高手掌握微软Word课程。

6.幻灯片

PowerPoint和微软的Excel和Word一起构成了办公必备工具三部曲,这也是为什么它对软件工程师和IT专业人员包括开发者,QA,BA和项目经理非常重要。

微软的PowerPoint是最流行的做展示的工具,作为一个程序员,很多次你需要作展示,比如你需要展示一下你的想法给商务,你的计划给经理和部门之间做很多次的分享活动,那就是你为什么不能够忽略PowerPoint的原因。

如果你想学习PowerPoint或者提高你的PowerPoint水平,你可以从Udemy的精通PowerPoint展示这门课程开始。

7.文本编辑器(sublime)

每一个程序员都应该很好地掌握一款文本编辑器。软件开发人员要应对很多的文本处理工作,深入了解一款文本编辑器能够带来很大的帮助。

除了NotePad这款好用且广泛使用的编辑器外,我建议程序员也去学习一下像Sublime或者NotePad++这样的高级的文本编辑器。

这些高级的文本编辑器支持正则表达式搜索替换,和宏定义,这将能够给你每天的工作带来很大的帮助。如果你想了解更多关于文本编辑器的内容,你可以尝试先从用Sublime快速的进行WEB开发这门课程开始学习。

8.Linux命令行

和SQL一样,Linux命令行也是另外一个对程序员非常必要的工具。每一个程序员都需要偶尔在Unix系统下工作,甚至我们当中的很多程序员一天的大部分时间都在Linux下面工作。

掌握Linux命令行意味着你可以找到你想找到的东西,你知道机器现在正在运行着什么,你也可以解决当你的应用程序在Linux上面运行时的任何麻烦 。

这是对每一个程序员来讲必须掌握的技能。如果你现在对Linux命令行感觉不是很习惯的话,你最好花一些时间去学习一下,尤其是当你得在Linux下面工作的时候。对于初学者来说,可以先从Linux命令行基础这门课程开始。

9.SVN(版本控制系统)

尽管Git已经占领了差不多70%的版本控制系统市场份额,但仍然还是有很多工程使用SVN来实现版本控制。

不仅仅是在性能上,而且它还是开源的,这就是为什么了解tortoise SVN对程序员很有好处的原因。

我已经使用了SVN12年了,现在仍然在使用。如果你是一个初学者,或者是想提高一下SVN知识,学习一些高阶的概念比如分支和合并,你可以从SVN介绍这门不错的课程开始学习。

10.Powershell命令行工具或者Cygwin类unix环境

一旦你想要在Linux工作,但你在windows下,你会感觉受限制,因为windows下面没有Linux 命令行工具,Powershell很好的解决了这个问题。

Windows Powershell 是微软为了任务自动化和配置管理开发的一个shell工具。

这个强大的shell工具基于.netframework架构,包含了命令行shell和一个脚本语言,所以你能够用来自动化开发和创建Linux下面一样的脚本。

如果你想开始学习Powershell,我建议先看看Udemy 上面的学习windows Powershell课程,我已经购买了这个课程去提高我自己的Powershell水平。

这就是关于每一个程序员都应该掌握的必备工具清单。这些基础工具每个人都需要掌握,无论你是web服务器上面用JavaScript的开发人员,还是服务器端的开发人员,还是在Android或者IOS应用的移动端开发人员。

对这些工具的良好了解在您的软件开发生涯中会起到很大的作用,因为您将每天都使用这些工具,您会感谢最初为学习这些工具所投入的时间和努力。

其它你可能会喜欢的关于编程的文章

每一个程序员都应该读的10本书

提高编程水平的10条建议

每个程序员都应该知道的面向对象设计的10个原则

值得学习的排名前10的编程语言

每一个程序员都应该读的10篇文章

Java和Web开发人员应该学习的10个框架和库

结束语

谢谢,你已经看到了文章结尾。

如果你喜欢这篇文章,请和你的同事和朋友分享,还有千万别忘了在twitter上面关注javinpaul。

原文发布于微信公众号 - AI研习社(okweiwu)

原文发表时间:2018-11-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏非著名程序员

Google 史上评分最高的 App 推出中国版

还记得 「Files Go」 吗?去年年底,我就发文章推过关于 「Files Go」 的消息,如下:

1202
来自专栏张善友的专栏

开放源代码与.NET应用程序平台的性能测试

您的企业或组织采用哪一种应用程序平台架构?不论哪一种,应用程序平台基本上至少都包含了服务器操作系统、Web服务器软件、数据库服务器软件、程序开发语言,有些平台还...

2289
来自专栏大前端开发

前端开发者的智能硬件之路

前一段时间,收到了一个面试邀请的邮件。面试找工作,我是没这个打算的,但是,从这封邮件中,我一眼就看到了一个让我非常感兴趣的字眼,让我对这家公司的产品有了想进一步...

1033
来自专栏EAWorld

你适合微服务么:实施微服务的4个先决条件和重点工作

“Mesh App and Service Architecture”作为Gartner2016 十大战略技术趋势中之一,里面大量提到微服务的概念。微服务(Mi...

4096
来自专栏Debian社区

Facebook 是如何进行大规模代码部署的

Facebook 高速发展的 2007 年到 2016 年,他们一天部署 3 次代码,cherry-pick 集齐成千上万个 commit;现在使用类似持续交付...

1372
来自专栏刘望舒

App开发,怎样又快又稳又清晰

开发者的价值,是通过技术和产品体现的,对于App开发来说,除了实现业务之外,最重要的莫过于开发的速度、质量和可维护性,速度决定你能否支撑公司抢占市场,质量决定你...

1061
来自专栏腾讯大数据的专栏

一行代码,一个系统!您的 Crash 实时分析已上线

腾讯移动分析(MTA),将内部打磨多年的 Crash分析能力对外输出,在复杂的App生态下,专注于构建完善的质量体系,助力 App 研发者用一行代码拥有完整 C...

3631
来自专栏杨建荣的学习笔记

自动化平台开发小结(六)

最近几天还在不断的改进平台里的事情,而翻了下之前写过的文章,发现从起步到现在也有一个多月了。如果不是看看自己总结的文章,好像啥也没干。 在此期间,我设立了两个里...

3525
来自专栏云计算D1net

如何集成云层与本地存储

云和本地存储正走向越来越紧密的整合,于是云成为了另一个存储管理员可用的层级。 ? 组织不大可能把100%的数据都移到云服务上,但大多数企业都会至少想让一部分数据...

3156
来自专栏云计算D1net

轻松几步搭建你的私有云

私有云增加了IT的灵活性,帮助前端用户实现自助式服务。许多企业通往私有云的过程是从虚拟化起步的。从这种角度看,私有云主要是额外增加了一层灵活性,让用户可以自行部...

6055

扫码关注云+社区

领取腾讯云代金券