之前开发中如果要修改代码,不需要重启直接生效,需要在eclipse中的debug模式下。
但是依旧受到很多限制,不能增加/删除/修改方法和属性等。
今天上spring.io,又看到了springloaded,感觉这东西经过一年应该很完善了,试了一下,惊为神器啊。
如下图:springloaded包放在工程中。
然后配置环境:
在debug环境加,方法可以随意添加,新添加的方法中设置断点也不会出问题,和原来增加一个方法就要重启一遍相比,太强大了。
之前开发中如果要修改代码,不需要重启直接生效,需要在eclipse中的debug模式下。
但是依旧受到很多限制,不能增加/删除/修改方法和属性等。
今天上spring.io,又看到了springloaded,感觉这东西经过一年应该很完善了,试了一下,惊为神器啊。
如下图:springloaded包放在工程中。
然后配置环境:
在debug环境加,方法可以随意添加,新添加的方法中设置断点也不会出问题,和原来增加一个方法就要重启一遍相比,太强大了。
运维同学一不小心将redis数据清空了。
redis中大部分数据都不重要,只有一个排行榜数据,需要按排行榜名次发放奖励。
记下这次修复的方案:
grep 限时 moon30001-gold_2015-08-21.log | awk -F ' ' '{print $3}' | awk -F '(' '{print $1}' | sort | uniq -c | sort -n | awk -F ' ' '{print $1*20,$2}'
从log中取出所有分数及角色id.
redis-cli -p 7000 EVAL "local a=redis.call('zscore','shenJiang.score.20150821','506027'); if not a then return redis.call('zadd','shenJiang.score.20150821','201440149466188','506027') end;return a" 0
使用lua脚本恢复排行榜数据。
今天有一个玩家提到,每次游戏断线后,再进入都需要重新输入帐号名和密码。非常麻烦。
这里我想到了一个关于玩家体验的问题:
玩家希望是的流畅的玩游戏,包含在开始游戏时,可以快速的进入。
断线后能不退游戏最好。如果实在不行,要走登陆流程,至少也要避免掉玩家输入帐号名和密码。
apk渠道众多,有的渠道会对签名进行二次签名。
这里就可能出现一个隐患,打出来的包可能因为不小心使用了错误的签名,会导致提交时被渠道打回。
针对这种情况我们可以在每次出包后,使用keytool查看一下签名指纹,指纹相同,签名也一定会相同。
可以做成工具来进行自动检查。
今天有这样一个需求:
http://xxxx/yyy
如果请求来自于某个特殊ip,则访问:
http://xxxx/yyyy_test
之前想的是nginx中的proxy很easy就可以实现,判断一下来源,进行转发。
类似于:
location /yyyy/ { if ( $remote_addr ~* "1.2.3.4" ){ proxy_pass http://127.0.0.1/yyyy_test; break; } }
结果发现 yyyy_test uri的变动无法应用至 if 代码段:
nginx: [emerg] "proxy_pass" cannot have URI part in location given by regular expression, or inside named location, or inside "if" statement, or inside "limit_except" block in /opt/nginx/conf/nginx.conf:125
最终修改为如下:
另开一个81端口的server进行跳转一下
location /moonsrc/ { if ( $remote_addr ~* "1.2.3.4" ){ proxy_pass http://127.0.0.1:81; break; } if ( $http_x_forwarded_for ~* "1.2.3.4" ){ proxy_pass http://127.0.0.1:81; break; } } } server { listen 81; server_name abc.com; location / { root html; index index.html index.htm index.php; autoindex on; } location /yyyy/ { proxy_pass http://127.0.0.1:81/yyyy_test/; } }
近期评论