Kaiyun 开云用好这28个工具开发效率爆涨
简介:用好这28个工具,开发效率爆涨。本文我将主要从Terminal 和 Desktop 2个大类、8个核心开发场景介绍一下我最常使用的效率工具,及如何通过这些工具来提升程序员「幸福感」的实践。
大家好,我是秦世成,我在云效负责制品仓库Packages的开发工作。作为一个有多年经验的资深CRUD后端工程师,使用过很多日常开发所需的工具软件,其中不少能堪称为「神器」,这些「神器」能极大的提升日常开发的效率;小到一个复制粘贴操作,大到开发运维,我们都可以使用合适的工具来进行效率提升,加速日常开发流程,让开发效率蹭蹭蹭。本文我将主要从Terminal 和 Desktop 2个大类、8个核心开发场景介绍一下我最常使用的效率工具,及如何通过这些工具来提升程序员「幸福感」的实践。
在我们日常开发运维的过程中,经常会和终端打交道,比如服务的部署,文件的浏览查看等;但是我们在和终端打交道的过程中,经常会遇到下面的问题:
iTerm2负责颜值和基本的Shell呈现托管,Tmux负责Shell的多窗口管理,而Zsh负责对Shell功能的拓展提升。
iTerm2 是一款功能强大的终端工具,也可以说是 Terminal 的替代品,也可以说是 iTerm 的后继产品。它适用于 macOS 10.12 或更高版本的 macOS。它支持分窗口操作、自动补齐、粘贴历史、回放功能、全屏等功能,是一款非常强大、非常值得推荐的终端工具。
Tmux 是一个用于在终端窗口中运行多个终端会话的工具,即终端复用软件(terminal multiplexer)。在 Tmux 中可以根据不同的工作任务创建不同的会话,每个会话又可以创建多个窗口来完成不同的工作,每个窗口又可以分割成很多小窗口。这些功能都是非常实用的。
Tmux可以无差别的优化我们使用终端的体验,特别是分屏+多窗口的功能可以极大的提高使用效率,就如下图所示,可以将自己关注的所有关键信息都展示在一个屏幕上,很极客有没有。不仅如此,tmux还提供了session管理功能,可以同时开启多个session,将相关的多个窗口集中在一个session进行管理,如果搭配上tmux-continuum 插件,还可以自动保存和恢复session,不用再担心重启以后session丢失的问题了。
Tmux的细节和技巧有很多,这里就不再一一介绍了,更多奇技淫巧可以看阮一峰老师的文章《Tmux使用教程》
Tmux社区也提供了许多的插件,满足不同的定制化需求,这里推荐几个比较常用的,更多的插件可以到官网探索:
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信息自动提示,命令行高亮,输出内容更加友好等等。
作为一个合格的CRUD工程师,在日常开发(mō yú)过程中,进行最多的操作就是 调接口->
看响应->
改代码->
调接口->
看响应->
改代码...
Httpie是一个命令行 HTTP 客户端。它的目的是使 CLI 和网络服务之间的交互尽可能人性化。它提供了一个简单的 HTTP 命令,允许使用简单自然的语法发送任意 HTTP 请求,并显示多彩输出。HTTPie 可用于测试,调试以及通常与 HTTP 服务器交互。
我们以往使用的最多的就是curl,curl也是一个很强大的Http客户端,就是丑了些(手动狗头),如果你厌倦了curl,不妨来试试httpie,绝对会给你不一样的http CRUD体验。
jq是一款轻量级,并且足够灵活的命令行JSON处理器,可以在命令行中优雅快速的处理JSON。
在遍地RESTful和JSON的时代,解析并处理JSON成为我们最常见的需求:
比如我们需要通过Shell调用接口完成一些自动话的操作,接口的响应为JSON格式,这时我们就需要使用 jq 来解析JSON内容获取我们需要的信息。
有或者我们需要处理大批量的数据,我们需要从这些数据中提取出有用信息,一种方式就是写个代码来解析,但是这不免鸡用牛刀;另一种就是我们可以直接使用jq来进行内容的提取与过滤。
fx是一款强大的终端JSON预览器,可以在终端中预览高亮折叠预览JSON。
如果JSON内容比较多的话,我们不用再使用less或者more这种分页工具来查看了,不仅低效,而且费眼。fx可以在终端中预览JSON,并提供高亮和折叠凳功能。
git的终端命令行工具,提供了终端的git操作界面,相对于原始的git来说,tig提供了更加优化的git操作界面,对于git的新手小白来说很适用。比如浏览提交历史,分支合并情况等。
ranger提供了和finder或者是windows资源管理器一样的文件操作体验,可以在终端中快速的浏览文件和文件夹,不用再频繁的ls和cd了。
比grep、ack更快的递归搜索文件内容。快速的递归搜索一个目录下的所有文件内容对于我们定位问题或者是获得一个目录的全貌来说极为有用,一般我们都使用grep命令来对一个目录下的所有进行递归搜索,但是如果目录下文件太多的话,grep效率未免太慢了。通过ag,我们可以快速高效的对目录进行递归搜索,更方便更高效。
有时候我们需要预览系统的各项指标,比如cpu占用,load情况,我们一般都是活用top或者是htop来,glances就是用来替代top和htop的,其提供了更为强大的操作和更加有用的数据。
shell相对于GUI的操作来说,确实有诸多的不便,一不小心,就敲错命令了,不得不又从头再来,命令就算不敲错,那也记不住那么多的命令,那么下面就给大家推荐几个提升程序员幸福指数的终端工具,解放大脑,释放双手。
在终端下是不是经常输错命令,搞得自己心烦意乱,The Fuck 是一款了不起的工具,帮你彻底解决这个问题,当你输错命令后,只要输入 命令,它会帮你自动纠正错。
相对于终端工具来说,桌面工具种类就比较多了,这里我们就推荐几个比较经常用到提升效率的桌面工具,其中涵盖了开发,设计等等。
先用Intellij IDEA来镇楼,最好用的跨平台的IDE, YYDS。使用Java的小伙伴们应该都不陌生吧。
相对于Postman来说,二者功能差不多,不过我更喜欢Insomnia,因为颜值更高,并且KeyMap支持vim。
支持MySql、PostgreSQL、Oracle、Sqlite和SQL Server的客户端,操作友好,功能强大,提供了很多强大的操作,比如倒入到处,表批量操作,备份等等。
Charles是一款用于HTTP信息抓包工具,可以快速有效的获得HTTP信息,非常利于开发者的网页开发和调试修改等!Charles 有着可视化的操作界面,非常利于编辑者的使用和调试!作为一款Mac 下常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。
Java开发过程中最好用的插件之一。代码智能补全和示例代码搜索功能带来了沉浸式开发体验,亲测大幅提升编码效率。
比较牛的是代码补全功能支持整行的补全结果,开发团队还做了纯本地化处理可以断网使用,不会泄露代码,安全感极高。
代码搜索功能可以通过API或者中英文描述搜索网上开源的示例代码,在代码行内即可一键搜索需要用到的API示例也非常实用。
优秀的画图工具,各种架构图,流程图不在话下;并且其中的sketch模式,作者尤为偏爱。
桌面工具使用起来最大的问题就是窗口太多了,不方便管理,这里我们和Terminal一样,同样有桌面管理,启动管理等工具,同样还有其他能够提升效率的工具推荐。
Alfred 是一个用键盘通过热键、关键字、自定义插件来加快操作x效率的工具,它不但是搜索工具,还是快速启动工具,甚至能够操作许多系统功能,扩充性极强
粘贴板工具,能够保留一定时间内的粘贴板记录,并提供搜索等功能,一次可以复制多项内容,然后再一次粘贴多项内容,再也不用切来切去了。
主从复制 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(Master),后者称为从节点(Slave);数据的复制是单向的,只能由主节点到从节点。 默认情况下
Redis是一个开源的、使用C语言编写的NoSOL数据库,Redis服务器程序是单进程模型。 Redis基于内存运行并支持持久化(支持存储在磁盘),采用key-value(键值对)的存储形式,是目前
本博客讨论了如何使用 GitHub Actions 在开源项目 Crawlab 中自动发布 SDK 到 PyPI,旨在提升开发和运维效率。文章通过具体示例详解实现过程。
运维 如何解决“Docker daemon at unix:///var/run/docker.sock. Is the d”问题 Docker
运维 如何解决“Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the d”问题 Docker 问
前言 本文主要讲解如何搭建部署简易在线视频网站,大家可以将这个网站作为私人影院或是分享给朋友,但是尽量不要更广的传播,因为这可能涉及到视频版权问题纠纷 安装配置 环境配置 Miniconda 然后一直
安装Nginx 更新系统软件: 查看是否已安装wget: 安装wget: List item 查看是否已安装编译器,否则安装: 安装nginx依赖包(nginx的Rewrite模块和HTTP核心模块会
团队内部之间最好的交流时间是「现在」,最好的交流地点是「工位」。如果你也经历过肯定有同感。一个迭代每一个人开会时间少了4h,开会时间占比减少50%。每个迭代保质保量干完活的前提下,整个团队还可以放假半
当你需要在Kubernetes中管理多个不同环境的配置时,Kustomize是一个强大的工具。本文将为你提供Kustomize的入门指南,教你如何轻松地定制和管理Kubernetes配置。
认识 jumpserver JumpServer 开源堡垒机是一款运维安全审计系统产品 , 提供身份验证、授权控制、账号管理、安全审计等功能支持 , 帮助企业 快速 构建运维安全审计能力。 JumpS
在小小的公司里面,快挖不动了,一件事重复个5次,还在人肉手工,身体和心理就开始不舒服了,并且违背了个人的座右铭:“偷懒”是人类进步的第一推动力。 每次想要去测试环境验证个新功
在结束上一段实习以及秋招的gap time中自然而然也并没有闲着。实习阶段导师给的最后一个任务是修改一个php界面,服务端需要本地docker起一个服务(当然你也可以选择直接跑php)提供。接到任务后
前言 Hyper-V安装文档:在 Windows 10 上安装 Hyper-V CentOS 系统下载:CentOS 国内镜像源 8.5.2111 作者:易墨 发布时间:2023.10.01
好的日志可以帮助我们了解系统运行的状态、快速定位解决问题、发现系统瓶颈、预知潜在风险,基于日志我们还能挖掘出业务数据,从而反馈产品改进产生更大的价值。
运维管理面板通过可视化界面和直观的键鼠操作取代了繁琐的命令行操作,让服务器运维管理步骤更简单,并且降低了操作的门槛,是一款实用的软件工具。
前言 为什么写这个系列呢? 因为考虑到运维这个职业的发展,想要更进一步,你必须熟悉一门开发语言,最少可以做到不用google/baidu等工具,自己完成一些自动化的脚本工具的开发,最好可以完成一个平台开云 开云体育官网开云 开云体育官网开云 开云体育官网开云 开云体育开云 开云体育
扫一扫关注微信公众帐号