大家好,我是秦世成,我在云效负责制品仓库 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 倍研发效力晋升案例集》;
看完感觉对您有所帮忙别忘记点赞、珍藏和关注呦;