熟练使用工具,可以提高一个人的做事效率~
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/bincd ..sh bin/start.sh// 查看日志cd /data/program/logs/com.*****.loan/data-migration/app_logtail -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 installidea -> 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
// 运行SQLCommand + R // 保存执行过的SQL select database => query => query Favorited => Edit Favorited => click '+' => save => OK!
12.Alfred3
// 快捷键习惯配置,双击Command,打开AlfredCommand + 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命令,及其配置文件?