熟练使用工具,可以提高一个人的做事效率~
1. iTerm2快捷键使用
⌘ + d: 垂直分屏,⌘ + shift + d: 水平分屏。
⌘ + ]和⌘ + [在最近使用的分屏直接切换.而⌘ + opt + 方向键切换到指定位置的分屏。
⌘ + w :关闭当前标签页。
⌘ + enter: 最小化最大化切换。
⌘ + ;:自动补全历史命令。
⌘ + f: 当前窗口中查找。
⌘ + r:清屏,其实是滚到新的一屏,并没有清空,相当于clear命令。
ctrl + u: 清空当前行。
ctrl + a: 到行首;ctrl + e: 到行末。
2. mac酷炫屏保
mac系统的屏保,优先推荐Fliqlo,黑色翻页钟,优美宁静。再配合使用FractalClock,简直美翻了。
// 截取屏幕所选区域到粘贴板
Command + Shift + Control + 4
// 强制退出应用程序
Command + Option + Esc
// 退出应用程序
Command + q
//滚页
FN + 上箭头/下箭头/左箭头/右箭头
3. 外接屏幕分辨率调整
外接屏幕的分辨率跟mac本身的分辨率是独立的,可以分别设置。一直按住option键,在正常和缩放间切换,同时校准屏幕,让mac系统识别外接屏幕的分辨率。(切记,一定要常按option键)。
4. Git的熟练使用
git在mac下写代码必备工具,首先需要生成SSH公私钥。
# 生成ssh公钥 私钥命令
ssh-keygen -t rsa
# 公私钥默认目录 /home/当前用户/.ssh目录下找到id_rsa(私钥)和id_rsa.pub(公钥)
cd ~/.ssh/
我项目中必备的git命令,如下:
// 检索master代码到本地 git clone git@git.*****-**.com:owner/Data-Migration.git
// 初始化仓库
git init
// 提交代码
git add .
git commit -m "fix big problem"
git push origin master || git push origin feature/issue#125
// 当前git仓库状态
git status
// 查看提交日志
git log
// 查看全局配置信息
git config -l
// 比较文件
git diff pom.xml
// 检索指定分支,本地还没有该分支
git checkout -b feature/realCredit origin/feature/realCredit
// 本地创建分支 并提交远程
git branch feature/issue/677
git push origin feature/issue/677
git branch -r (看下远程服务器上是否有该分支)
git checkout feature/issue/677 (切换到刚才到分支)
// 获取最新代码
git pull
// 合并分支(在当前本地分支上,合并远程分支)
git merge origin/master
// 查看当前项目的分支
git branch -r
// 切换分支(直接加分支名称)
git checkout master || git checkout feature/realCredit
// 删除远程分支
git push origin --delete feature/issue/677
// 显示当前本地文件的修改
git diff
5. 相关技术栈
jdk8,swagger,mock测试数据,markdown,git,scala,nodejs,nginx,springboot,kafka,动态数据源,灰度发布,跳板机,
mac,idea,webstorm,
6. 公司所用Ngix负载均衡策略
默认配置:轮询策略(每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除);
IP_hash策略:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
使用场景:cas的单点部署和集群部署的时候,需要考虑集群环境下session共享的事情;
7.跳板机使用
// 登录跳板机
ssh owner@term.*****-**.com
// 在跳板机去访问线上资源
curl "http://api.resource.com/rest"
// 粘贴自己私钥
vi ~/.ssh/id_rsa 粘贴私钥
// 修改该私钥文件权限
chmod 600 id_rsa
// 登录服务器
ssh appweb@10.1.9.23
// 启动服务
cd /data/program/com.*****.loan/data-migration/0.0.1/bin
cd ..
sh bin/start.sh
// 查看日志
cd /data/program/logs/com.*****.loan/data-migration/app_log
tail -200f app.log
8.常用命令
// 日志中关键字搜索
grep 'test' a*
// 查看日志
tail -f -n 200 app.log || tail -200f app.log
// 本地上传dict字典到服务器&&从服务器dump堆镜像到本地环境
cat a.txt
scp a.txt huaming@term.******-inc.com:/xiaoshan_jumper/slef/home/owner/
cat a.txt // on xiaoshan_jumper
scp a.txt appweb@ip:/data/program
9. idea快捷键
// 引入import包
option + Enter
// 断点调试
keyMap选择Eclipse风格 -> F6下一步;
// JDK中有编译工具,JRE中无编译工具
项目中import进来的jar包,无法被正确识别,是由于idea或者eclipse中无法识别jar包,将其中的编译由原来的jre换成jdk就好了。
// 如果在pom.xml文件中集成了tomcat插件,就可以使用命令:tomcat7:run 来运行项目到tomcat7容器中。
10.maven的使用
// 更新maven依赖 source ~/.bash_profile
mvn install idea -> maven projects -> Reimport all maven projects
// 初始化并跳过测试
mvn clean install -Dmaven.test.skip=true
// 如果maven安装好之后,每次启动maven都需要执行命令 source ~/.bash_profile 的解决办法vim ~/.zshrc
找到没有注释的语句:source $ZSH/oh-my-zsh.sh 紧紧跟在下一行;加一句source ~/.bash_profile
11.Sequel Pro
// 运行SQL Command + R
// 保存执行过的SQL
select database => query => query Favorited => Edit Favorited => click '+' => save => OK!
12.Alfred3
// 快捷键习惯配置,双击Command,打开Alfred
Command + Command
13.Linux命令
// 清空文件内容命令
echo "" > app.log
附:业务关键字
1.贷款的还款方式,包括有等额本息;等额本金;一次性还本付息;按期付息还本。
等额本息,借款人每月以相等的金额偿还贷款本息,即把贷款的本金总额与利息总额相加,然后平均分摊到还款期限的每个月中。采用这种还款方式,每月还相同的数额,操作方便,每月承担相同的款项也方便安排收支。这种还款方式适合收入稳定的借款人,它的缺点是由于利息不会随本金数额归还而减少,银行资金占用时间长,还款总利息相对较高。
等额本金,这也是目前银行较为普遍的还款方式。借款人将本金分摊到每个月内,同时付清上一交易日至本次还款日之间的利息。这种还款方式总的利息支出较低,但是前期支付的本金和利息较多,还款负担逐月递减。这种还贷方式适合目前收入较高,但是已经预计到将来收入会减少的人群。
一次性还本付息,银行对这种还款方式的规定是,贷款期限在一年(含一年)以下的,实行到期一次还本付息,利随本清。但选择这种还款方式银行审批会更严格,一般只对小额短期贷款开放。这种还款方式,操作很简单,但是适用性不强。
按期付息还本,按期付息还本是指借款人通过和银行协商,为贷款本金和利息归还制订不同还款时间单位。即自主决定按月、季度或年等时间间隔还款。实际上,就是借款人按照不同财务状况,把每个月要还的钱凑成几个月一起还。不是所有银行都有这种还贷方式,这个方式适用于收入不稳定人群。
2.相关解释。
Hbase的学习,先把它当作黑盒,会熟练使用;再去了解黑盒内部的原理。
3.面试题整理。
HashMap不用锁,如何做到线程安全?HashMap的put操作的时间复杂度?
熟悉HttpClient的Java网络编程么?
常用三种锁Synchronized ReentrantLock Atomic的使用场景
SpringBoot和SpringCloud熟悉么?如何自定义注解?
Java中的Pattern类如何使用正则表达式?
手写单例模式 三种工厂模式 静态/动态代理模式?
淘宝的秒杀抢红包是如何做到的?
IDCM项目中的幂等性是如何做到的?
Java的字节码增强技术?mybatis生成mapper命令,及其配置文件?