有哪些it程序员的必备神器?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有哪些it程序员的必备神器?相关的知识,希望对你有一定的参考价值。

    URL Decoder/Encoder:https://meyerweb.com/eric/tools/dencoder/  特别实用的一个用来处理URL编码和解码的小工具,你甚至可以直接将这个页面的源代码保存下来,这样不需要连接上网也可以离线使用。附送的一个隐藏功能就是当你从任何地方拷贝信息过来的时候,它会自动去除拷贝过来的格式化信息,小编自己基本上每天都会使用这个小工具复制粘贴各种信息。

    iTerm2是一款完全免费的开源软件,可以完全替代MacOS的终端。iTerms功能强大,使用方便,可以让你轻松且高效地管理和定制化你的工作流程。iTerm2的一些特色功能包括:标签变色,智能选中,自动补齐,全屏展示所有的 tab并支持搜索(Exposé Tabs),丰富的快捷操作等。

    Textpad这款工具具有无限制的撤销/重做功能,并且能够编辑超大文件,文件上限是系统虚拟内存大小。

    Octotree:https://www.octotree.io/  Github是目前使用最广泛的版本控制工具,然而通过浏览器访问Github的体验并不是那么友好,特别是当我们需要不断地访问不同文件夹里面的文件的时候。Octotree正是这样一款浏览器插件,它提供了类似IDE的便于访问的代码目录树,能够提高我们在Github上工作效率。

    Wireshark:这个工具可以用来监控机器上的TCP、HTTP等各层级的网络通信。作为后端开发,如果想看前端发来的请求到底都包含了哪些信息,又没有前端的调试环境的话,使用Wireshark监控HTTP请求是很好的解决方案。自己在程序中发HTTP请求时,也可以使用它来检查发出的HTTP请求是否符合自己的预期。

    Mermaid:这个工具可以使用脚本语言直接渲染出流程图、时序图、甘特图,写文档简单快捷。免拖拽,免排版,格式控制统一。脚本也便于存放修改,样式可以复用。还可以使用插件集成如Markdown编辑器,进行实时预览。

    spectacle:Mac free source 窗口控制工具,拖拽窗口到屏幕边缘resize,也可以自定义快捷键。用起来跟Windows上面一样。相比较于Moom,SizeUp,Divvy,spectacle支持鼠标拖拽到边缘resize,非常便利。

    Tmux:一个虚拟终端可以管理多个会话,窗口和面板。执行 tmux 命令时就开启了一个服务并创建了一个会话,窗口和面板。支持分屏,同时处理多个操作。不受断网影响,避免丢失重要工作进度。方便演示与协作,支持结对编程。

    Caniuse:https://caniuse.com/#home   通过这个网站,用户能够查询主流浏览器特定版本对html,CSS和JS的支持情况。并且最重要的是它“免费”!

    Visual Studio Code:这是微软出品的IDE工具,跨平台(Linux,Mac,Windows)。轻量级内存占用,品质稳定且免费。同时内置Git版本控制功能。值得一提的是插件生态丰富,安装插件简单,通过插件可以增加更丰富的语言支持、主题定制、文本自动格式化等能力。

参考技术A 业内流传着一句话来形容程序员:zhuan的多,si的早!加班熬夜改代码是大部分程序员的日常,这也使得各种疾病找上身来,所以作为一名程序员身体才是最重要的。
一张舒适的人体工学椅
程序员的工作一天中大部分时间都是对着电脑, 时间一长就容易弯腰驼背,这也是各种颈椎疾病容易找上程序员的原因,一张舒适的椅子不但能够缓解颈椎的压力,还能给提升工作的效率,送到男朋友公司,还能在他同事面前炫耀一番,推荐西昊的人体工学椅V1。
一款好的键盘
键盘是程序员敲代码的必备工具,好的键盘会让人敲代码敲得很愉快,机械键盘的触感以及敲击的声音?让人欲罢不能。而且还自带装逼属性,是很多程序员想要的产品。
参考技术B

正则表达式工具

1.可视化分析工具

使用 Regulex 这个小工具就可以马上把一个正则表达式分析成一个语义图,Regulex 还提供了API,可以把正则分析功能集成到自己的代码中!

网址:https://jex.im/regulex

GitHub地址:https://github.com/JexCheng/regulex

2.查看匹配信息

强大的正则表达式工具,你可以实时查看匹配信息,并且会用不同的颜色将 Group 标记出来。而且有 Quick Reference 来帮助你记忆正则表达式的规则和 Explanation 对你的正则表达式进行解释。重要的是,支持直接生成多种语言的代码。

网址:https://regex101.com/

IDE插件

Cloud Toolkit

Cloud Toolkit 是一款 IDE 插件,可以帮助开发者更高效地开发、测试、诊断并部署应用。通过 Cloud Toolkit,开发者能够方便地将本地应用一键部署到任意机器(本地或云端),并内置 Arthas 诊断、高效执行终端命令和 SQL 等,提供 IntelliJ IDEA 版,Eclipse 版,PyCharm 版和 Maven 版。

更详细的操作可见:

https://help.aliyun.com/document_detail/29968.html

算法可视化工具

VisuAlgo

通过动画来教学,它不仅支持暂停、单步、回退等功能,演示算法的时候,还可查看算法代码的执行过程。各种算法的可视化,网上很多算法的动态图片就是用它做的,可以说是非常的强大了。网址:https://visualgo.net/en

在线诊断神器

Arthas

Arthas 是基于 Greys 进行二次开发的全新在线诊断工具,利用Java6的Instrumentation特性,动态增强你所指定的类,获取你想要到的信息,采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,让你在定位、分析诊断问题时看每一个操作都看起来是那么的 666。

开源地址:https://github.com/alibaba/arthas

查阅和搜索利器

1. Alfred

Alfred在mac必备软件当中常驻第一,也当之无愧。原因是Alfred是很多软件、网站、动作……的重要入口,它就是电脑的智能关键,有了它来管理你的电脑,几乎没有它做不到的事情,解放了你的头脑,让你可以专心去做一些重要的事情。

2. dash

身为程序员,怎么少得了查各种API的文档呢?对于这个日常来回搜索几十次的活,难道要一个个搜索打开?太年轻~

dash软件集合了各种API介绍多达130多种,可以浏览API文档,以及管理代码片段工具。Dash自带了丰富的API文档,涉及各种主流的编程语言和框架,绝对是程序开发者的必备工具!

windows用户可以参考http://devdocs.io/offline这个网站,可以离线使用,也是跟dash一样强大的文档查阅网站。

好啦,这是我在【黑马程序员上海中心】的公众号copy下来的,黑马是一个口碑非常好的IT培训机构,这么工具应该非常不错的,你可以试试!

神器程序员必备的5款开发工具

在过去的几年时间里,出现了许多全新的网页应用程序,不过,由于应用程序的功能越来越丰富,也导致了前端开发的复杂度大幅增加。

现在也有不少前端开发工具,比如Backbone和EmberJS框架都能提供稳定的App开发解决方案。同时,Javascript的应用也越来越常广泛,而且它还能和Node.JS在后端协同工作,快速搭建易于扩展的网络应用。实际上,为了应对前端开发复杂度所带来的挑战,开发人员创建了许多工具来简化开发流程。从测试框架,到分析工具,前端开发工具已经非常成熟了,正是得益于这些有用的工具才让用户体验到最佳的互联网服务。

开发人员都喜欢使用高质量的软件开发工具,本文就推荐五个优秀的前端开发工具和框架,希望能供开发人员参考。
Chrome dev Tool


【神器】程序员必备的5款开发工具


这是目前最好的前端开发工具。自从其诞生以来,Chrome在其开发者工具中投入了大量精力,而且直到现在,谷歌仍在不断优化这些工具。一般而言,谷歌会在每六周发布对Chrome开发者工具的优化,并推出一些全新功能。

Chrome开发工具是各种工具组成的套件,开发人员可以实时编辑DOM(HTML)/CSS,逐步调试JavaScript,并帮助开发者更加深入地进行性能分析。Chrome开发工具甚至还可以新增terminal(DevTool Terminal是一款Chrome开发工具的扩展,可以帮助开发者在浏览器中访问终端。如果你经常在命令行工作,这款扩展将十分适合你),帮助开发人员解决相关渲染性能问题。

DOM/CSS编辑器是一个非常强大的工具,可以为你的开发团队提供实时反馈,在开发UI/UX新功能的时候可以支持快速迭代。

在官网和谷歌开发者的YouTube频道上面有许多含金量很高的信息。其中一个名为“命令行API”的章节就为开发人员提供了大量非常有用的命令。比如,你可以调用一个特殊的“复制”功能,就可以从控制台复制任何东西(比如对象,函数返回)到剪切板上面。另外,在HTML5Rocks上面还有很多优秀的教程。如果你的好奇心很强,并且想了解浏览器究竟是如何工作的,那么能在这些教程里学到很多东西,帮助你全面掌控应用程序开发周期。

如果谷歌不断优化Chrome开发工具的话,这套工具最终会成为网页的集成开发环境(IDE),直接和浏览器进行捆绑,为开发人员提供更加强大的开发空间。

Grunt

【神器】程序员必备的5款开发工具


Grunt在任务自动化中很有用,它是一个基于任务的JavaScript命令行构建工具,支持捆绑任务插件。此外,Grunt是可扩展的,开发人员可以按照自己的需要编写不同的任务,而且Grunt支持将多任务整合在一起,提供更强大的功能。


如今,Grunt已经不再局限于简单的前端自动化工作任务流了,在PHP开发时,就可以使用Grunt进行测试工作,如下所示:

terminal =require('color-terminal')log = (error, stdout, stderr, cb) ->iferrorterminal.color('red').write stdoutelseterminal.color('green').write stdoutcb()module.exports = (grunt) ->grunt.loadNpmTasks'grunt-contrib-watch'grunt.loadNpmTasks'grunt-shell'grunt.initConfigtestFilepath: nullwatch:php:options:event:'changed'spawn: falsefiles: ['foo/bar/**/*.php''foo/bar/**/*Test.php']tasks:'shell:phpunit'shell:phpunit:options:callback: logcommand:'echo <%= testFilepath %> && phpunit -c app <%= testFilepath %>'grunt.event.on'watch', (action, filepath, ext) ->regex =newRegExp("foo/bar/([a-z0-9]+)/([a-z0-9/]+)","i")iffilepath.match regexiffilepath.indexOf('Test') is -1testFilepath = filepath.replace regex,"foo/bar/$1/Tests/$2Test"elsetestFilepath = filepathgrunt.config'testFilepath', testFilepath

Grunt还可以用来创建工作区,此外开发人员在创建一个新项目的时候,往往需要做一些繁琐且重复的必要工作,而Grunt提供了不少插件,可以使这些琐碎的工作变得简单。

LiveReload

【神器】程序员必备的5款开发工具

AsyncProcess =require('./async-process').AsyncProcessdescribe('AsyncProcess',function() {varasyncProcess;beforeEach(function() {asyncProcess =newAsyncProcess();});it('should process 42',function() {vardone = false;varprocessed = null;deferred = asyncProcess.process();deferred.then(function(result) {done = true;processed = result;});waitsFor(function() {returndone;},"the async process to complete", 10000);runs(function() {expect(processed).toEqual(42);});});});

Mocha/Chai

AsyncProcess =require('./async-process').AsyncProcess;Chai =require('chai');Chai.should();describe('AsyncProcess',function() {varasyncProcess;beforeEach(function() {asyncProcess =newAsyncProcess();});it('should process 42',function(done) {deferred = asyncProcess.process();deferred.then(function(processed) {processed.should.be.equal(42);done();});});});

Jasmine所选的为默认语法,只有通过插件才能有Mocha一样的功能,而后者简洁的多。

和Jasmine不同,Mocha仅提供行为测试结构,这种测试框架通常对应的是行为驱动开发,也就是BDD。但是这点并不会对Mocha产生负面影响,它可以与Chai和Sinon这样的辅助测试工具结合使用。

下面,就是调用Sinon测试工具集内的spy类进行测试的一个例子:

// Function under testfunctiononce(fn) {varreturnValue, called = false;returnfunction() {if(!called) {called = true;returnValue = fn.apply(this, arguments);}returnreturnValue;};}it("calls the original function",function() {varspy = sinon.spy();varproxy = once(spy);proxy();assert(spy.called);});

Chai的特点在于,开发人员可以使用和自然语言相近的声明语法。不妨可以参考下面的例子,调用Chai中的should声明语法。

foo.should.be.a('string');foo.should.equal('bar');foo.should.have.length(3);tea.should.have.property('flavors').with.length(3);

很清晰,对吗?现在就赶紧在你自己的代码上测试一下吧!

Karma

【神器】程序员必备的5款开发工具



虽然笔者把Karma放在了最后一个,但它仍然是一款非常重要的前端测试工具。Karma的前身是Testacular,一个Javascript测试工具。Karma开发者和开发AngularJS的是同一批人。如果你使用Mocha、Chai以及Sinon,那么连续不断的运行上述这些测试框架,会提供实时的反馈吗?

Karma允许开发人员从工作站(在持续运行模式下)到生产调用指示,都能进行测试。它还支持多种浏览器,包括Chrome、Firefox、IE、PhantomJS,让你对自己的代码充满自信。

在进行开发工作时,第一快乐的就是在自己的电脑上写代码,并实时得到结果反馈;第二快乐的,就是自己的程序能够应用在各种浏览器上面,想必上述这两点能够得到绝大多数开发人员的共鸣吧。现在,你是否已经做好了准备,化身成为一个“前端忍者”,去挑战一切困难了呢?当然,这里没有提到一些文本代码编辑器,比如SublimeText和Vim,但是它们都是很好的开发工具。另外,本文使用的例子都来自GitHubGist。

想要更多的干货工具吗?扫码关注联系小编免费领取更多的工具,帮助你工作的时候事半功倍!


- END -

报名佛山北大青鸟5月免费试听课程

免费课程报名方式



2、联系我领取免费课程

联系我们

电话: 18144923180
QQ: 3002747852
微信: bdqn_fshuada
地址: 佛山市禅城区祖庙路1号富荣大厦4楼
官网: www.foshanbdqn.com
邮箱: 3002747852@qq.com

以上是关于有哪些it程序员的必备神器?的主要内容,如果未能解决你的问题,请参考以下文章

IT管理员必备技能有哪些?

linux 桌面环境都有哪些必备神器

神器程序员必备的5款开发工具

程序员必备的6个辅助开发的软件神器

程序员必备的6个辅助开发的软件神器

程序员大牛必备的装逼神器(Eclipse主题Theme设置)