全网最全程序员效率工具及小技巧(上篇)
命令行
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来做的,测试某些需要登陆的接口时。我之前看到我同事是这么操作的,说真的,当时真的秀到我了
- 先登录系统从接口的request head中拿到cookie的值
- 把这个cookie的值粘到postman请求的header中
- 发送请求测试接口
我发一张图,你大概可以想到测的姿势
骚操作
在postman中,你只要先请求一下登录接口,在后续请求的接口中会自动带上cookie,不用你每次都粘header。在cookie失效之前你都不用再次点登录接口,一直测就行
一个网站只要设置了cookie,后续请求都会自动带上设置的cookie,浏览器如此,postman也是,不用手动自己粘
绘图
ProcessOn
网址:https://www.processon.com/
国人开发的在线绘图程序,效果图如下
drawio
外国人开发的在线绘图程序,效果图如下
Xmind
一个常用的思维导图工具
markdown
Typora
颜值最高的markdown编辑器之一,可能刚开始用的人不太习惯,因为是在编辑页面实时显示效果。习惯了就好,很伤的一点是不能保存到云服务器
印象笔记
很知名的一个软件,左边写文,右边预览。可以保存到云服务器,支持多端。markdown,思维导图都支持,不过要用的爽免不了的要充钱
代码
用图片分享代码
这个主要是将代码导出为图片,方便分发到多个平台,省得格式乱
图片的边框,字体和样式都可以调(我一般会把边框和样式都去掉,这样代码看着更大)
用网页分享代码
网址:https://paste.ubuntu.com/
有时候想让别人看代码时,用聊天工具等发过去,格式都会乱,所以我一般都会把代码贴到网页上,方便别人查看
数据结构和算法
牛客网
网址:https://www.nowcoder.com/
上这个网站看面经没有错
LeetCode
网址:https://leetcode-cn.com/
在这个网站上你能发现你面试过程中遇到的各种算法题,而且是原题
其他实用网站
爱课程
地址:https://www.icourse163.org/
上学的时候经常看,很多大学的公开课都有
Stack Overflow
网址:https://stackoverflow.com/
遇到的很多问题解释的都很明白
文章转载自公众号:Java识堂