专栏首页Java识堂全网最全程序员效率工具及小技巧

全网最全程序员效率工具及小技巧

命令行

CMD秒进指定目录

效率低的操作

win+r,输入cmd,然后跳到指定目录

在这里插入图片描述 骚操作

文件夹地址栏输入cmd,弹出cmd窗口,同时进入指定目录

在这里插入图片描述

在这里插入图片描述

SSH和SCP命令

ssh:从一台机器登陆到另一台机器 scp:将文件从一台机器传输到另一台机器

ssh命令虽然可以通过密码登陆,但还是比较麻烦,建议配置公钥访问。 先看自己之前是否已经生成了公钥文件,如果没有需要手动生成

windows:在windows下查看【c盘->用户->自己的用户名->.ssh】下是否有id_rsa,id_rsa.pub文件

mac:在/Users/${自己的用户名}/.ssh文件夹下

ssh-keygen -t rsa -C "youremail@xx.com"

-t 指定密钥类型,默认即 rsa ,可以省略
-C 设置注释文字,比如你的邮箱,可以省略

接着一路回车,如果想设置密码,自己可以设置一下,如果成功的话上述目录已经生成好了,里面包括id_rsa(私钥)、id_rsa.pub(公钥)

win10的PowerShell,Linux,Mac是可以直接使用这2个命令的,但是win7不支持

把公钥追加在Linux服务器上的~/.ssh/authorized_keys的文件中即可通过公钥登陆

ssh命令格式如下,可以不指定端口,默认为22

ssh -p <端口> <用户名>@<IP地址>

如果本地用户名和远程用户名一致,连用户名都可以省略

# 登陆到hadoop1服务器
ssh hadoop@hadoop1
# hadoop用户,从hadoop1服务器登陆到hadoop2服务器
ssh hadoop2

scp命令格式如下,可以不指定端口,默认为22

scp -P <端口> <filename> <用户名>@<IP地址>:<目标目录>

如果你搭过集群,例如hadoop集群你就能发现这2个命令简直是神器,不仅可以在服务器之间快速切换,而且分发环境变量,分发各种配置超级方便。

当然在实际开发中也有很大的用处,如果你想把你的jar包传到测试环境。可以先把代码提交到gitlab,然后让jenkins自动发布,或者手动发布。

但我的习惯是自测完成才提交代码,所有我一般都是自己手动跑脚本将jar包传到服务器上

win脚本

deploy.bat

call mvn clean package -DskipTests=true
cd ./build/libs
scp demo.jar username@ip:/opt/application/
cd ../../
@pause

命令行工具

在win上我用的是Xshell,在mac下用的是SecurtCRT(mac下没有Xshell,真伤)

在这里插入图片描述

在这里插入图片描述 SecurtCRT有个超级好用的功能,选中即复制,右键即粘贴,再用不用Ctrl+C和Ctrl+V了。Xshell虽然也支持这个功能,但还需要设置一波

工具->选项

在这里插入图片描述 设置右键为粘贴内容,勾选将选定的文本自动复制到剪贴板

在这里插入图片描述 此时,选中即复制,右键即粘贴,超级方便

Xshell在多个窗口执行相同命令

在集群中执行命令很方便 勾选查看->撰写->撰写栏

在这里插入图片描述 在下方的撰写栏中,选中全部会话,在撰写栏中执行的命令就会在当前打开的所有Tab页执行

加粗样式

为各种命令起别名

在Linux和Mac下都能使用

有些Linux命令我们是经常用的,但是这些命令有的特别长(如进入层级特别深的项目部署目录),这时就可以为这些命令定义一个别名

系统级别定义的别名

所有的用户都能使用这个别名

例如想直接通过ssh跳转到21这台服务器,先配置别名

echo "alias go21='ssh mosh@21'">>/etc/profile
source /etc/profile

如果你不习惯这种用法,直接打开/etc/profile文件把alias go21='ssh mosh@21’这一行追加到文件中就行了,此时只要执行go21,别忘了source,你就可以直接跳到21这台服务器上了,你也可以配置一个如下的别名

alias tozo='cd /root/zookeeper-3.4.12/bin'

这样一个tozo命令直接进入/root/zookeeper-3.4.12/bin目录,是不是超快?

用户级别定义的别名

只有当前用户能使用,只是配置的文件不同而已,由/etc/profile改为~/.bash_profile

echo "alias go21='ssh mosh@21'">>~/.bash_profile
source /etc/profile

JSON

浏览器格式化展示JSON

在chrome浏览器中格式化展示json,有各种插件,如JSONView之类的。但我用过感觉最好的就是JSON-Handle,页面美观,浏览器右侧还能编辑,复制等,特别爽。


编辑JSON 格式化JSON

推荐2个我最常用的网站,最明显的特点是功能强大,没有广告

网址:https://jsoneditoronline.org/

写接口文档时,经常要编辑json,我最常用的就是 JSON Editor Online

写起JSON来很方便,而且实时校验格式,当有错误时会在左侧显示叉号。当然你也可以用这个工具格式化JSON,颜值不能太高。

网址:https://codebeautify.org/jsonviewer

在这里插入图片描述 这是一个超级强大的网站,至于多强大,你打开看一下就知道了。你想到的,你没有想到的,它都有

各种文件格式转换 各种图片格式转换 各种文件校验,对比 …

在这里插入图片描述

Postman

有chrome插件,不过还是建议你下载一个软件,而且很多人只用了postman很少的一部分功能

保存接口导出成文件

postman是有登录功能的,建议一个项目放一个Collection,注明每个接口的作用,这样自测完可以把账号给测试,测试不用再自己重新构造请求参数。或者把你的Collection导出成文件,让其他人导入

另外请求的url要写成支持多环境切换的。因为开发环境和测试环境的域名是不一样的,但是后面的请求路径是不变的。

多环境配置

可以看到我现在配置了3个环境,切换环境点击下拉框选中即可,点击后面的配置按钮即可配置环境

在这里插入图片描述 base_url在前面请求路径中用过了,相当于一个key,而这个配置相当于一个map

测试登陆接口

现在很多企业的用户登陆都是基于cookie和session来做的,测试某些需要登陆的接口时。我之前看到我同事是这么操作的,说真的,当时真的秀到我了

  1. 先登录系统从接口的request head中拿到cookie的值
  2. 把这个cookie的值粘到postman请求的header中
  3. 发送请求测试接口

我发一张图,你大概可以想到测的姿势

在这里插入图片描述 骚操作

在postman中,你只要先请求一下登录接口,在后续请求的接口中会自动带上cookie,不用你每次都粘header。在cookie失效之前你都不用再次点登录接口,一直测就行

在这里插入图片描述 一个网站只要设置了cookie,后续请求都会自动带上设置的cookie,浏览器如此,postman也是,不用手动自己粘

绘图

ProcessOn

网址:https://www.processon.com/

国人开发的在线绘图程序,效果图如下

在这里插入图片描述

drawio

网址:https://www.draw.io/

外国人开发的在线绘图程序,效果图如下

在这里插入图片描述 Xmind

网址:https://www.xmind.cn

一个常用的思维导图工具

markdown

Typora

颜值最高的markdown编辑器之一,可能刚开始用的人不太习惯,因为是在编辑页面实时显示效果。习惯了就好,很伤的一点是不能保存到云服务器

印象笔记

很知名的一个软件,左边写文,右边预览。可以保存到云服务器,支持多端。markdown,思维导图都支持,不过要用的爽免不了的要充钱

在这里插入图片描述

代码

用图片分享代码

网址:https://carbon.now.sh/

在这里插入图片描述

这个主要是将代码导出为图片,方便分发到多个平台,省得格式乱 图片的边框,字体和样式都可以调(我一般会把边框和样式都去掉,这样代码看着更大)

在这里插入图片描述 用网页分享代码

网址:https://paste.ubuntu.com/

有时候想让别人看代码时,用聊天工具等发过去,格式都会乱,所以我一般都会把代码贴到网页上,方便别人查看

在这里插入图片描述

数据结构和算法

牛客网

网址:https://www.nowcoder.com/

上这个网站看面经没有错

在这里插入图片描述

LeetCode

网址:https://leetcode-cn.com/

在这个网站上你能发现你面试过程中遇到的各种算法题,而且是原题

在这里插入图片描述

其他实用网站

爱课程

地址:https://www.icourse163.org/

上学的时候经常看,很多大学的公开课都有

在这里插入图片描述

Stack Overflow

网址:https://stackoverflow.com/

遇到的很多问题解释的都很明白

在这里插入图片描述

Redis命令参考

网址:http://redisdoc.com/

Redis的各种命令都解释的超级详细,并配有大量demo

在这里插入图片描述

实验楼

网址:https://www.shiyanlou.com/

学习Linux和Git等,用实验楼不能太爽,在线给你提供环境和试题,就是让你练起来

在这里插入图片描述

Java知识分享网

网址:http://www.java1234.com/

在这里插入图片描述 很多书籍的pdf都可以下载

Linux命令

网址:https://man.linuxde.net/

在这里插入图片描述

其他实用工具

漏洞检查

这个在很多企业都用到了,用来管理代码质量,代码中很多不优雅的写法都能检查出来, 可以和gitlab集成在一块,强烈建议使用

网站:https://www.sonarqube.org/

在这里插入图片描述

API管理工具

API管理工具我用过的有wiki,语雀,Yapi,Swagger

在这里插入图片描述 wiki,语雀就是一个文本工具。Yapi是一个管理API的开源项目,Swagger是直接在代码中写好注释,然后导出文档。

在这里插入图片描述 我觉得语雀和swagger比较好。语雀支持markdown语法,而且页面很漂亮。

swagger对前端很友好,方便调试,后端也不用写接口文档了,但是对后端代码有一定的侵入性,其实我觉得也还好。

swagger开源版本请求入参是表单形式的话,我看得写swagger的注解(用来写注释)和Spring MVC的注解(用来请求映射),但是我司基础架构组重写了Spring MVC参数解析器,只需要用一个注解,支持注释,请求映射,参数不合法返回json提示,都不用手动校验,超级方便。同时把swagger集成了公司的单点登陆,测试登陆接口也很方便。

Chrome插件

Octotree

以树形结构展示代码,点击直接跳转在所在的目录,这个最好用,因此置顶

在这里插入图片描述

Sourcegraph

点击 仓库上的View Repository即可

在这里插入图片描述 层级显示,查看引用,查看定义,自动跳转,IDE上的常用操作基本上都有

在这里插入图片描述

Isometric Contributions

将如下图形换成柱形图,直观衡量你的工作量

在这里插入图片描述

在这里插入图片描述

Enhanced Github

展示文件大小,单独下载单个文件,复制文件内容到剪贴板

在这里插入图片描述

在这里插入图片描述

Awesome Autocomplete for GitHub

实时匹配搜索结果,让搜索快人一步

在这里插入图片描述

GitHub Hovercard

以悬浮小框的形式展示作者,仓库,Issues,Pull requests的概述信息

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Mac

软件下载

网址:https://xclient.info/

用过Mac的小伙伴基本上都知道这个网站,从Win转过来的小伙伴可以收藏一下,很多实用工具

在这里插入图片描述

Git

Git最常用的工具为Git Bash,Git Gui,Sourcetree等,总体用下来还是在Idea中使用Git最爽,只不过需要配置一下

在这里插入图片描述

在这里插入图片描述

在IDEA中实用Git

Git的很多命令在IDEA中不用命令行也能实现,这里演示一下用图形界面可以提高效率的部分,用的是IDEA 2019,如果有更好的技巧,欢迎留言

上传代码

这里只增加一个.gitignore文件和README.md文件 命令行提交

git add .
git commit -m "项目初始化"
git push origin master

IDEA提交 点击右上角绿色对勾

在这里插入图片描述 弹出对话框

在这里插入图片描述 左上方的框显示了改动过的文件(后面会演示到)和新增的文件,改动和内容和新增的内容都会在下方显示,并且改动过的文件会对比显示(非常方便)

要保存哪些文件选中即可(类似于 git add filename) Commit Message框内填写了commit的内容(类似于 git commit -m "项目初始化")

在这里插入图片描述 在项目中任意地方右键->git->Repository->Push,可以发现push的快捷键是Ctrl+Shift+K ,这个快捷键会和输入法冲突,所以我一般会把push命令设置成tool bar,用起来超级方便

步骤如下 点击File-Settings

在这里插入图片描述 找到如图所示位置,点击Add Action

在这里插入图片描述 弹出对话框,点击图中所示位置

在这里插入图片描述 点击图中所示位置

在这里插入图片描述 各个按钮的顺序可以调整,点击上面的上下按钮即可,我这里把push按钮放在commit后面

在这里插入图片描述

可以看到Tool Bar上有了push按钮

在这里插入图片描述 点击push按钮即可,可以修改remote和branch

在这里插入图片描述 点击push即可

在演示一下,修改代码,我修改一下README的说明,点击commit按钮

在这里插入图片描述 idea在下方对比显示,并将修改的内容用另一个种背景颜色显示,非常方便看到我们修改了哪些内容

拉取代码

当我们想拉取远程仓库最新的代码时

命令行拉取

git pull origin master

IDEA拉取

在这里插入图片描述 点击pull按钮

在这里插入图片描述 默认选项,点击OK即可,可以选中不再显示这个对话框

版本回退

在这里插入图片描述 点击钟表的那个按钮,下方会显示所有的提交记录,版本回退有如下2种方式

git reset git revert

当然肯定是要用git revert的

右键选中要回退的版本,点击如下按钮

在这里插入图片描述 弹出对话框

在这里插入图片描述 点击commit,连commit message都不用你写了,接着点击push按钮即可

切换分支,tag,commit

切换本地分支和远程分支,直接点就行,想切换tag或者某次commit,点Checkout Tag or那个按钮

在这里插入图片描述 演示一下切换到某次commit,先copy版本值

在这里插入图片描述 点Checkout Tag or那个按钮,弹出对话框,粘贴刚才复制的值即可

在这里插入图片描述

本文分享自微信公众号 - Java识堂(erlieStar),作者:李立敏

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-08-28

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 一个脚本直接将本地代码部署测试环境

    最近写了一个微服务项目,本地调试很麻烦,每次修改一部分都得把代码提交到仓库,再用Jenkins编译。整个流程感觉有点慢,想着改完代码执行一个脚本,直接编译并且将...

    Java识堂
  • 干货 | 广告系统架构解密

    广告、增值服务、佣金,是互联网企业最常见的三种盈利手段。在这3大经典中,又以广告所占的市场份额最大,几乎是绝大部分互联网平台最主要的营收途径,业务的重要性不言而...

    Java识堂
  • 分库分表,读写分离后,数据库中间件扮演了一个怎样的角色?

    前面一篇文章图解分布式系统架构(看推荐阅读)大概讲了一下分库分表,以及读写分离出现的场景,分库分表为了解决高并发和海量数据的问题。

    Java识堂
  • 搭建自己的技术博客系列(四)博客接入百度统计,随时了解你博客的PV/UV

    黄小斜
  • VMware搭建Android x86

    原文:https://maoli.blog.csdn.net/article/details/102604277

    润森
  • 数据处理基础(二)

    https://blog.csdn.net/weixin_44510615/article/details/103196607

    润森
  • day79-<权限组件>-初识权限

    少年包青菜
  • 总结 | DataFrame、Series、array、tensor的创建及相互转化

    最近在入门图像识别,自然也会用到深度学习框架,也接触到了一个新的数据结构——tensor(张量)。除此之外,也有一些很常用的数据结构,比如DataFrame、S...

    奶糖猫
  • 数组扩容+插入元素+复制到新位置

  • 女神网站优化之分批返回数据及懒加载

    作为一个手残的外行前端 coder,今天因为需要,研究了下瀑布延时加载和图片的懒加载,做个总结,免得以后忘记了!

    周萝卜

扫码关注云+社区

领取腾讯云代金券