大家好,我是秦世成,我在云效负责制品仓库Packages的开发工作。作为一个有多年教训的资深CRUD后端工程师,应用过很多日常开发所需的工具软件,其中不少能堪称为「神器」,这些「神器」能极大的晋升日常开发的效率;小到一个复制粘贴操作,大到开发运维,咱们都能够应用适合的工具来进行效率晋升,减速日常开发流程,让开发效率蹭蹭蹭。本文我将次要从Terminal 和 Desktop 2个大类、8个外围开发场景介绍一下我最常应用的效率工具,及如何通过这些工具来晋升程序员「幸福感」的实际。

Terminal

终端治理

在咱们日常开发运维的过程中,常常会和终端打交道,比方服务的部署,文件的浏览查看等;然而咱们在和终端打交道的过程中,常常会遇到上面的问题:

  • 须要在多个终端之间切换,来回操作麻烦,容易出错,效率低下
  • 终端输出效率低下,无智能主动提醒,输出高亮显示等
  • 终端显示操作不晦涩,乱码频发,苦不堪言

通过上面的终端神器,就能够打造一个高颜值,高效率的终端。

iTerm2负责颜值和根本的Shell出现托管,Tmux负责Shell的多窗口治理,而Zsh负责对Shell性能的拓展晋升。

iTerm2:高颜值终端工具

链接:https://iterm2.com/

举荐指数:⭐⭐⭐⭐⭐

iTerm2 是一款功能强大的终端工具,也能够说是 Terminal 的替代品,也能够说是 iTerm 的后继产品。它实用于 macOS 10.12 或更高版本的 macOS。它反对分窗口操作、主动补齐、粘贴历史、回放性能、全屏等性能,是一款十分弱小、十分值得举荐的终端工具。

Tmux:终端复用软件

链接:https://github.com/tmux/tmux

举荐指数:⭐⭐⭐⭐⭐

Tmux 是一个用于在终端窗口中运行多个终端会话的工具,即终端复用软件(terminal multiplexer)。在 Tmux 中能够依据不同的工作工作创立不同的会话,每个会话又能够创立多个窗口来实现不同的工作,每个窗口又能够宰割成很多小窗口。这些性能都是十分实用的。

Tmux能够无差别的优化咱们应用终端的体验,特地是分屏+多窗口的性能能够极大的进步应用效率,就如下图所示,能够将本人关注的所有要害信息都展现在一个屏幕上,很极客有没有。不仅如此,tmux还提供了session治理性能,能够同时开启多个session,将相干的多个窗口集中在一个session进行治理,如果搭配上tmux-continuum 插件,还能够主动保留和复原session,不必再放心重启当前session失落的问题了。

Tmux的细节和技巧有很多,这里就不再一一介绍了,更多奇技淫巧能够看阮一峰老师的文章《Tmux应用教程》

Tmux社区也提供了许多的插件,满足不同的定制化需要,这里举荐几个比拟罕用的,更多的插件能够到官网摸索:

tmux-plugin-manager: tmux插件管理器
tmux-powerline:tmux状态栏,颜控必备
tmux-continuum: 主动复原和间断保留tmux env
tmux-yank:容许将突出显示的文本复制到零碎剪贴板

Zsh & Oh-my-zsh:能抗能打强大Shell

zsh 链接:https://github.com/zsh-users/zsh

oh-my-zsh链接:https://github.com/ohmyzsh/oh...

举荐指数:⭐⭐⭐⭐⭐

Zsh同bash一样,是一款功能强大的终端(shell)软件,提供的弱小的自定制的能力,并且其99% 的 Bash 操作 和 Zsh 是雷同的。

而oh-my-zsh则是zsh的配置管理工具,其提供了弱小的性能,插件,主题等,可能最大效率的晋升应用shell的效率。

大家可能比拟好奇,我都有Bash了,为了还要用Zsh呀?Bash尽管可能满足咱们应用Shell的根本要求,然而咱们不仅要能用,而且还要用的好,用的难受。作者在接触Zsh之前,始终应用的是Bash,就在那个黑乎乎的界面上敲着陌生的命令,不仅效率低下,而且容易出错,极其干燥。起初接触了Zsh+oh-my-zsh当前,原来Shell能够这么乏味,Zsh不仅能够兼容Bash 99%的操作,并且提供了高颜值的交互界面及高效率的插件,这种感觉就像以前就用notepad敲代码,起初切换到了IDE上,Shell应用体验大大晋升。

就如下图所示:高颜值交互界面,Git信息主动提醒,命令行高亮,输入内容更加敌对等等。

我敲的不是命令行,而是艺术品。

oh-my-zsh同样提供了诸多实用的插件:

  • git: 提供了以后的workspace下的git提醒,比方分支信息,commit信息等
  • zsh-autosuggestion:主动从history中,举荐输出的shell命令
  • zsh-syntax-highlighting:提供了shell命令的高亮显示
  • zsh-z: 提供了在你拜访的目录间疾速跳转的能力
  • zsh-vim-mode:将shell中的操作键映射为vim,减速shell输入速度

开发调试

作为一个合格的CRUD工程师,在日常开发(mō yú)过程中,进行最多的操作就是 调接口->看响应->改代码->调接口->看响应->改代码...

那么如此高频的操作怎么能少了几件趁手的兵器呢。

如果你喜爱在终端下调用接口进行调试,那么无妨能够应用上面一组工具:

调接口(httpie)->看响应(jq & fx)-> 改代码(tig & vim)

httpie:高颜值http客户端

链接:https://httpie.io/

举荐指数:⭐⭐⭐⭐

Httpie是一个命令行 HTTP 客户端。它的目标是使 CLI 和网络服务之间的交互尽可能人性化。它提供了一个简略的 HTTP 命令,容许应用简略天然的语法发送任意 HTTP 申请,并显示多彩输入。HTTPie 可用于测试,调试以及通常与 HTTP 服务器交互。

咱们以往应用的最多的就是curl,curl也是一个很弱小的Http客户端,就是丑了些(手动狗头),如果你厌倦了curl,无妨来试试httpie,相对会给你不一样的http CRUD体验。

jq & fx:JSON解决和可视化

jq链接:https://stedolan.github.io/jq/

fx链接:https://github.com/antonmedv/fx

举荐指数:⭐⭐⭐⭐

jq是一款轻量级,并且足够灵便的命令行JSON处理器,能够在命令行中优雅疾速的解决JSON。

在遍地RESTful和JSON的时代,解析并解决JSON成为咱们最常见的需要:

  • 比方咱们须要通过Shell调用接口实现一些主动话的操作,接口的响应为JSON格局,这时咱们就须要应用 jq 来解析JSON内容获取咱们须要的信息。
  • 有或者咱们须要解决大批量的数据,咱们须要从这些数据中提取出有用信息,一种形式就是写个代码来解析,然而这未免杀鸡用牛刀;另一种就是咱们能够间接应用jq来进行内容的提取与过滤。

fx是一款弱小的终端JSON预览器,能够在终端中预览高亮折叠预览JSON。

如果JSON内容比拟多的话,咱们不必再应用less或者more这种分页工具来查看了,不仅低效,而且费眼。fx能够在终端中预览JSON,并提供高亮和折叠凳性能。

爱护双眼,从我做起。

tig:git的终端命令行工具

链接:https://github.com/jonas/tig

举荐指数:⭐⭐⭐

git的终端命令行工具,提供了终端的git操作界面,绝对于原始的git来说,tig提供了更加优化的git操作界面,对于git的老手小白来说很实用。比方浏览提交历史,分支合并状况等。

tip:tig命令倒过去写就是git :-)

文件浏览

ranger:文件浏览

链接:https://github.com/ranger/ranger

举荐指数:⭐⭐⭐

ranger提供了和finder或者是windows资源管理器一样的文件操作体验,能够在终端中疾速的浏览文件和文件夹,不必再频繁的ls和cd了。

ag:文件内容搜寻

链接:https://github.com/ggreer/the...

举荐指数:⭐⭐⭐⭐

比grep、ack更快的递归搜寻文件内容。疾速的递归搜寻一个目录下的所有文件内容对于咱们定位问题或者是取得一个目录的全貌来说极为有用,个别咱们都应用grep命令来对一个目录下的所有进行递归搜寻,然而如果目录下文件太多的话,grep效率未免太慢了。通过ag,咱们能够疾速高效的对目录进行递归搜寻,更不便更高效。

零碎运维

ncdu:高效磁盘剖析工具

链接:https://dev.yorhel.nl/ncdu

举荐指数:⭐⭐⭐

可视化和高效率的剖析磁盘实用状况,在获取各个目录占用状况时很有用

glances:零碎大盘工具

链接:https://nicolargo.github.io/g...

举荐指数:⭐⭐⭐

有时候咱们须要预览零碎的各项指标,比方cpu占用,load状况,咱们个别都是活用top或者是htop来,glances就是用来代替top和htop的,其提供了更为弱小的操作和更加有用的数据。

mycli:MySQL客户端

链接:https://github.com/dbcli/mycli

举荐指数:⭐⭐⭐⭐

mysql的命令行工具,退出了主动补全和语法高亮。

晋升幸福指数

shell绝对于GUI的操作来说,的确有诸多的不便,一不小心,就敲错命令了,不得不又从头再来,命令就算不敲错,那也记不住那么多的命令,那么上面就给大家举荐几个晋升程序员幸福指数的终端工具,解放大脑,开释双手。

the fuck:开释双手,回归生存

链接:https://github.com/nvbn/thefuck

举荐指数:⭐⭐⭐

在终端下是不是常常输错命令,搞得本人心烦意乱,The Fuck 是一款了不起的工具,帮你彻底解决这个问题,当你输错命令后,只有输出 fuck 命令,它会帮你主动纠正错。

tldr:开释大脑,回归双手

链接:https://github.com/tldr-pages...

举荐指数:⭐⭐⭐⭐

为了咱们不用再去浏览艰涩的manpage,tldr(Too long, Don't read)提供了更加敌对的用户帮忙手册。

其余CLI工具:

包管理软件,提供了快捷的装置软件的形式:

○ Linux:apt-get & yum & apk等
○ Windows:Chocolatey
○ MacOS: Homebrew
cloc:代码行数统计工具
ab:apache出品的一款功能强大的测试工具

Desktop

绝对于终端工具来说,桌面工具品种就比拟多了,这里咱们就举荐几个比拟常常用到晋升效率的桌面工具,其中涵盖了开发,设计等等。

开发工具

Intellij IDEA:集成开发环境

链接:http://www.jetbrains.com/idea/

举荐指数:⭐⭐⭐⭐⭐

先用Intellij IDEA来镇楼,最好用的跨平台的IDE, YYDS。应用Java的小伙伴们应该都不生疏吧。

Insomnia:Http客户端

链接:https://insomnia.rest/

举荐指数:⭐⭐⭐⭐

Insomnia 是一个跨平台的 REST API 客户端,基于 Electron 而构建。

绝对于Postman来说,二者性能差不多,不过我更喜爱Insomnia,因为颜值更高,并且KeyMap反对vim。

Navicat Premium:数据库工具

链接:http://navicat.com/en/

举荐指数:⭐⭐⭐⭐

反对MySql、PostgreSQL、Oracle、Sqlite和SQL Server的客户端,操作敌对,功能强大,提供了很多弱小的操作,比方倒入到处,表批量操作,备份等等。

Charles:Http抓包工具

链接:http://www.charlesproxy.com/

举荐指数:⭐⭐⭐

Charles是一款用于HTTP信息抓包工具,能够疾速无效的取得HTTP信息,十分利于开发者的网页开发和调试批改等!Charles 有着可视化的操作界面,十分利于编辑者的应用和调试!作为一款Mac 下罕用的网络封包截取工具,在做挪动开发时,咱们为了调试与服务器端的网络通讯协定,经常须要截取网络封包来剖析。

Alibaba Cloud AI Coding Assistant (阿里云智能编码插件Cosy)

链接:https://developer.aliyun.com/...

举荐指数:⭐⭐⭐⭐⭐

Java开发过程中最好用的插件之一。代码智能补全和示例代码搜寻性能带来了沉迷式开发体验,亲测大幅晋升编码效率。

比拟牛的是代码补全性能反对整行的补全后果,开发团队还做了纯本地化解决能够断网应用,不会泄露代码,安全感极高。

代码搜寻性能能够通过API或者中英文形容搜寻网上开源的示例代码,在代码行内即可一键搜寻须要用到的API示例也十分实用。

设计工具

Draw.io:高颜值画图软件

链接:https://github.com/jgraph/drawio

举荐指数:⭐⭐⭐⭐⭐

优良的画图工具,各种架构图,流程图不在话下;并且其中的sketch模式,作者尤为偏爱。

Typora:高颜值文档写作工具

链接:https://github.com/typora

举荐指数:⭐⭐⭐⭐⭐

弱小的Markdown工具,反对Latex,流程图,时序图等拓展Markdown语法

晋升幸福指数

桌面工具应用起来最大的问题就是窗口太多了,不方便管理,这里咱们和Terminal一样,同样有桌面治理,启动治理等工具,同样还有其余可能晋升效率的工具举荐。

Context:开启的窗口切换工具

链接:https://contexts.co/

举荐指数:⭐⭐⭐⭐

快捷的在各种窗口间切换工具,在关上比拟多的窗口的时候,能够疾速的切换。

Alfred:疾速启动工具

链接:https://www.alfredapp.com/

举荐指数:⭐⭐⭐⭐⭐

Alfred 是一个用键盘通过热键、关键字、自定义插件来放慢操作x效率的工具,它不然而搜寻工具,还是疾速启动工具,甚至可能操作许多零碎性能,扩充性极强

Paste:粘贴板工具

链接:https://pasteapp.io/

举荐指数:⭐⭐⭐⭐⭐

粘贴板工具,可能保留肯定工夫内的粘贴板记录,并提供搜寻等性能,一次能够复制多项内容,而后再一次粘贴多项内容,再也不必切来切去了。

OmniFocus:GTD工具

链接:https://www.omnigroup.com/omn...

举荐指数:⭐⭐⭐

GTD实际类软件,无效晋升效率

欢送留言分享你日常开发中比拟喜爱的工具。

对于咱们

理解更多对于云效DevOps的最新动静,可微信搜寻并关注【云效】公众号;

福利:公众号后盾回复【指南】,可取得《阿里巴巴DevOps实际指南》&《10倍研发效力晋升案例集》;

看完感觉对您有所帮忙别忘记点赞、珍藏和关注呦;