好脑子不如烂笔头

好脑子不如烂笔头-Linux/Mac/服务器开发

工作中的琐碎问题解决方法,总是记不住? 是的你没必要都记着啊 做个烂笔头文章记录下来

运维方法篇

Unix系统工具篇

  1. Mac zsh: command not found zsh 所有命令在终端失效
    **多半是你修改PATH**的环境变量导致的

    PATH=/bin:/usr/bin:/usr/local/bin:${PATH}
    export PATH
    
  2. 看端口号使用占用情况

    netstat
    netstat -tunlp
    

    用于显示 tcp,udp 的端口和进程等相关情况。
    -t (tcp) 仅显示tcp相关选项
    -u (udp)仅显示udp相关选项
    -n 拒绝显示别名,能显示数字的全部转化为数字
    -l 仅列出在Listen(监听)的服务状态
    -p 显示建立相关链接的程序名

  3. 配置bash 展示分支版本号

    function git-branch-name {
    	git symbolic-ref --short -q HEAD 2>/dev/null
    }
    function git-branch-prompt {
    	local branch=`git-branch-name`
    	if [ $branch ]; then printf " %s" $branch; fi
    }
    #PS1="\u \[\033[0;36m\]\W\[\033[0m\]\[\033[0;32m\]\$(git-branch-prompt)\[\033[0m\] \$ "
    
  4. vim的查找与替换
    查找
    normal模式下按下**/即可进入查找模式,输入要查找的字符串并按下回车。 Vim会跳转到第一个匹配。按下n查找下一个**,按下N查找上一个
    默认情况下查找是大小写敏感的,选择大小写不敏感可以用 \c
    例如: 查找 userId 大小写不敏感

    /userId\c
    

    替换
    normal模式下按以下操作进行查找和替换。

    	:{作用范围}s/{目标}/{替换}/{替换标志}
    	例如:%s/foo/bar/gc
    	会在全局范围(%)查找foo并替换为bar,所有出现都会被替换(g)替换前要求确认。
    

    作用范围
    :s 当前行内查找 “: 注意应为无空格"
    :%s 全文查找
    :’<,’>s 选区范围内
    :5,12s 5-12行内查找
    :.,+2s 当前行往后2行
    替换标志
    g即是替换标志之一,表示全局global替换
    空替换标志表示只替换从光标位置开始,目标的第一次出现
    i表示大小写不敏感查找,I表示大小写敏感
    :%s/foo/bar/i
    # 等效于模式中的\c(不敏感)或\C(敏感)
    c表示需要确认,例如全局查找"foo"替换为"bar"并且需要确认
    :%s/foo/bar/gc

5.目录文件大小查看

du -h --max-depth=0 *

Mac的一些工具

待更新

数据库篇

1、mysql数据存储表情
1)、数据库连接配置

	<property name="connectionProperties" 	value="useUnicode=true;characterEncoding=utf8;connectTimeout=5000;socketTimeout=60000;autoReconnect=true;failOverReadOnly=false"/>
	<property name="connectionInitSqls" value="set names utf8mb4"/>
2)、数据表设置:
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4

压测

AB

  1. 安装AB
    	sudo yum -y install httpd
    
  2. 命令格式
    ab -order param "host:port/path"
    例如: ab -n 1000 -c 200 "请求路径“ 
    			-n 请求的总次数
    			-c 并发数
    
    命令参数详解
    *	-n 测试会话中所执行的请求个数,默认仅执行一个请求 
    *	-c 一次产生的请求个数,即同一时间发出多少个请求,默认为一次一个 
    *	-t 测试所进行的最大秒数,默认为无时间限制....其内部隐含值是[-n 50000],它可以使对服务器的测试限制在一个固定的总时间以内 
    	-p 包含了需要POST的数据的文件
    	-P 对一个中转代理提供BASIC认证信任。用户名和密码由一个:隔开,并以base64编码形式发送。无论服务器是否需要(, 是否发送了401认证需求代码),此字符串都会被发送。
    *	-A 对服务器提供BASIC认证信任。用户名和密码由一个:隔开,并以base64编码形式发送。无论服务器是否需要(,是否发送了401认证需求代码),此字符串都会被发送。
    	-T POST数据所使用的Content-type头信息 
    *	-v 设置显示信息的详细程度-4或更大值会显示头信息,3或更大值可以显示响应代码(404,200等),2或更大值可以显示警告和其他信息。
    *	-q 如果处理的请求数大于150,ab每处理大约10%或者100个请求时,会在stderr输出一个进度计数。此-q标记可以抑制这些信息。
    	-w 以HTML表格的形式输出结果,默认是白色背景的两列宽度的一张表
    	-i 执行HEAD请求,而不是GET。
    	-x 设置<table>属性的字符串,此属性被填入<table 这里> 
    	-y 设置<tr>属性的字符串 
    	-z 设置<td>属性的字符串 
    *	-C 对请求附加一个Cookie行,其典型形式是name=value的参数对,此参数可以重复 
    	-H 对请求附加额外的头信息,此参数的典型形式是一个有效的头信息行,其中包含了以冒号分隔的字段和值的对("Accept-Encoding: zip/zop;8bit") 
    	-X 对请求使用代理服务器 
    *	-k 启用HTTP KeepAlive功能,即在一个HTTP会话中执行多个请求,默认为不启用KeepAlive功能 
    	-d 不显示"percentage served within XX [ms] table"的消息(为以前的版本提供支持) 
    	-S 不显示中值和标准背离值,且均值和中值为标准背离值的1到2倍时,也不显示警告或出错信息,默认会显示最小值/均值/最大值等(为以前的版本提供支持) 
    *	-g 把所有测试结果写入一个'gnuplot'或者TSV(以Tab分隔的)文件 
    *	-e 产生一个以逗号分隔的(CSV)文件,其中包含了处理每个相应百分比的请求所需要(从1%到100%)的相应百分比的(以微妙为单位)时间 
    	-h 显示使用方法/帮助信息。
    	-V 显示版本号并退出 
    

正则表达式

Java正则找手机号

找是否含有 13~19开头的手机号

// 正则 解读: 手机号前后不允许有数字
// String patternRegex = "[0-9]*[1][3-9][0-9]{9}[0-9].";
// 只要文档中存在1
开头的11位数就算手机号
String patternRegex = “.[1][3-9][0-9]{9}.”;
Pattern pattern = Pattern.compile(patternRegex);
Matcher matcher = pattern.matcher(otherContent);
if(matcher.lookingAt()) {
“请不要输入手机号”
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值