
工作积累
cfyme
这个作者很懒,什么都没留下…
展开
-
解决发送push的emoji表情的实用方案
push在发送的时候,有些emoji表情添加不进去,原因是:一个普通中文字符存入数据库时占用3个字节,某些特殊表情会自动占用4个字节,mysql的utf8一个字符最多3字节,而如果要修改为支持4个字节的需要修改数据库配置编码为utf8mb4,但是需要停机重启数据库,由于不能影响线上核心业务,停机成本有点大,所以最终放弃了修改编码的方案。 但是,为了满足运营人员需要发送带有特殊...原创 2015-04-13 23:24:26 · 1739 阅读 · 0 评论 -
非root用户启动tomcat
用root用户启动tomcat有一个严重的问题,那就是tomcat具有root权限。这意味着你的任何一个jsp脚本都具有root权限,所以可以轻易地用jsp脚本删除你整个硬盘里的东西!所以我们最好不要使用root启动tomcat例如我们用一个用户名为tomcat6来启动tomcatTOMCAT_USER=tomcat6 使用sudo命令 tomcat的启动脚本中,tomcat...原创 2015-06-07 01:08:39 · 309 阅读 · 0 评论 -
jstl choose标签实现if else
jstl没有if,else可用下面的标签实现此功能:<c:choose><c:when test=""> 如果</c:when><c:otherwise> 否则</c:otherwise></c:choose> 如下面的代码: <c:choose>原创 2015-05-27 17:20:26 · 334 阅读 · 0 评论 -
修改user.home
通过System.getProperty("user.home")读取JAVA系统的user.home属性的值。 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders下的Desktop键值修改为下面的:C:\Desktop方便日常的开发,就直接将confi...原创 2015-05-08 13:14:28 · 8812 阅读 · 0 评论 -
工作中PUSH用到的统计命令
工作中用到的统计命令: 1,统计秒杀awk -F "," '!a[$2,$3,$6,$7,$9]++' pushLog.log.2015-04-22 |grep "*ms" |awk -F "," '{a[$2" "$3" "$9]+=1}END{for(i in a) printf "%s %s\n",i,a[i]}' 2,秒杀统计sql:select原创 2015-05-02 08:38:50 · 228 阅读 · 0 评论 -
sql查询最好是加上limit数量的限制
突然有一天,运营人员说,push发送数量翻倍了,是什么原因呢。 push发送过多 排查步骤: 系统在给用户发送push的时候,是根据该用户的id,查询出所有登陆过的设备,而发送设备的push的。 sql如下:SELECT <include refid="Push_User_Columns_PAY"/>FROM push_userWHERE...原创 2015-04-26 08:22:30 · 3623 阅读 · 0 评论 -
一步一步排查真实拍图片不能上传的问题
这是线上的一个问题: 客服反映真实拍客户端上传不了图片 当我听到这样的问题的时候,大脑中第一反映可能有几个原因:1,真实拍图片CDN系统挂了?2,网络问题,磁盘问题,IO问题?3,客户端app某些版本的问题?4,图片本身的问题例如太大?5,人品问题。 呵呵,第5个原因当然只是一个玩笑。 带着这些问题,登陆到服务器去查看日志,只是发现图片找不到...原创 2015-04-20 10:17:28 · 351 阅读 · 0 评论 -
正则在notepad中的实用技巧
1,删除空白行 把查找模式设置为正则表达式,在查找框中输入 ^\s+ ,可以将空行全部替换掉 2,工作周报中曾经分享过的正则技巧:例如:从一个日志文件中提取出itemId生成我想要的sql语句, 不用编写任何代码,不用手动的去copy,一个正则就可以搞定1:打开你的文本编辑器,例如notepad++ 根据日志文件的特点编写正则表达式,notepad++,按c...原创 2015-04-19 10:33:11 · 253 阅读 · 0 评论 -
引起java内存泄露的原因
1.对于打开的socket等资源,没有做及时的回收处理。 2.生存周期较长的对象,持有了生存周期较短的对象的引用,以至于那些生存周期短的对象,在无用的情况下,没有得到回收。 3.对于类的成员变量为集合的情况,对集合的使用应该谨慎。比如,一个专门保存用户操作履历的对象,有全局变量List来保存用户所有点击过的链接。但实际项目中,不可能保存住用户的每一次链接操作,然后显示给用户,有...原创 2015-04-19 10:32:28 · 193 阅读 · 0 评论 -
linux awk 按多列 去重 来统计数据之妙用
这是我日常工作统计日志用到的,现记录下:比如有这样一个日志: 需要统计push,的点击数量,按cookie去重,因为一个设备可能点击多次 第一步,先看看这几列,打印出来看看,awk -F "," '{print $2" "$3" "$6" "$7" "$9}' pushLog.log 第二步,按上面的几列去重awk -F "," '!a[$2原创 2015-04-18 12:16:31 · 2525 阅读 · 0 评论 -
linux服务器启动maven服务
linux服务器上启动maven服务 sudo /usr/local/artifactory-2.5.1.1/bin/artifactory.sh &原创 2015-04-17 09:36:09 · 2213 阅读 · 0 评论 -
linux服务器常用安装软件的命令
sudo apt-get update sudo apt-get install lrzszsudo apt-get install maven2sudo apt-get install subversionsudo apt-get install nginxsudo apt-get install openjdk-7-jdksudo apt-get install...原创 2015-04-15 08:15:10 · 535 阅读 · 0 评论 -
2014个人工作生活总结
“青山遮不住,毕竟东流去”,到了年底的最后一天,忽感到时间如此之快,一瞬间,大脑一片空白,犹如歌词中描述的那样,"轻飘飘的旧时光就这么溜走,转头回去看看时已匆匆数年”,亦或是“流水它带走光阴的故事,改变了我们,就在那多愁善感而初次回忆的青春”,这一年,我们每个人都长大了一岁。放送心情,看一看窗外,冬日的落阳格外暖和,余杭塘河边依然杨柳依依,停车场上的轿车整整齐齐,只有那倒塌的楼房上轰隆...原创 2015-04-15 08:14:16 · 262 阅读 · 0 评论 -
2015桐庐年会--奔跑吧,骚年
“天王盖地虎,小鸡炖蘑菇,年会已成忆,狂欢在桐庐”, 2015年1月25日上午10点半,骚年们坐着大巴,听着吉他,吃着面包,看着美景,一路嘻嘻哈哈,心情格外灿烂,只为期待已久的桐庐年会,只为期待那神秘的巴比松寻宝。 12点就到了巴比松庄园,在主持人的讲解下,大家分好了10个小组,每个小组都有自己的名称和口号,听着也是醉了,‘大波队’,‘国家队’,‘女儿红’,‘五号特工’,...原创 2015-04-15 08:13:32 · 249 阅读 · 0 评论 -
数据埋点日志awk脚本快速入库
工作上有这样一个需求: 服务端每天产生的埋点日志比较多>200万行,凌晨2点将这个日志的数据入库到数据库,便于BI分析。 最初我的思路是:写一个shell脚本,将入库的逻辑放入shell脚本中,再将这个shell脚本放入到linux服务器crontab任务中。 说起来简单,但在编写的过程中遇到了问题,主要是日志量大,入库的速度很慢,最初的实现是 ...2015-04-14 00:38:53 · 255 阅读 · 0 评论 -
统计push点击次数的shell脚本版本2
在上一个版本 统计push点击次数的shell脚本中,有一个问题,就是没有进行去重,比如同一条push被用户点击了多次,点击次数都在加加,显然数量不准确,运营人员需要的是有多少个设备点击打开了push的次数。 于是版本升级了下: 关键代码如下: awk -F "," '!a[$2,$3,$4,$5]++' $masterPath/push_f...2015-04-14 00:19:07 · 139 阅读 · 0 评论 -
统计push点击次数的shell脚本最初版本1
在工作中,运营人员需要统计到push被点击的次数,客户端当push被点击打开的时候,服务端会记录到日志文件push_feed_back_log.log中,格式如下: 2015-04-13 00:05:51,android,queryItemList,81a9831f09baf5f876bf3244db6f2392,pinpait_2862 2015-04-13 0...原创 2015-04-14 00:01:21 · 218 阅读 · 0 评论 -
nginx一段时间内的访问量统计
下面两个命令,我们可以 了解应用系统的大致 运行情况,并发数量 1,统计nginx日志红9-11点,每分钟 访问量,日志输出数量,从大到小排序 当然没有去重,但可以大致了解每分钟的并发情况:sudo sed -n '/2015:09:00/,/2015:11:00/p' access_wcs.log | awk '{a[substr($4,9,10)]+=1} END{for(...原创 2015-08-14 11:45:31 · 5425 阅读 · 0 评论