看看想想记记

[置顶]flash as3常见错误及解决办法

1.SecurityError: Error #2000: 没有活动的安全上下文。
可能是用到相关的资源没有找到

2.[Info] Could not connect to the player, will try to connect for the next 56000 ms

这个很悲剧。我还以为是flash debug的问题,按照:老外的说法:,但好像也不行,结果是因为一个加载xml的问题,FLASH游戏进不去了,但FDT又没有报错!汗

另外有可能的问题如下:

http://hi.baidu.com/%D0%A1%C6%F3%B6%EC108/blog/item/de8a89013f77d362cb80c46d.html

2.5:
转SecurityError: Error #2148: SWF 文件 (SWF 文件不能访问本地资源) 的办法

http://uh.9ria.com/space.php?uid=38376&do=blog&id=8235

3.都用null来判断了,居然还无法判断
有时一个变量会出现这情况,尤其是AMF返回的数组数据的问题:其实这个时候要看看as3的定义:
其实Null、NaN和undefined都是变量的默认初始值。变量类型不同,系统给与的初始值就不同:
int,uint – 0
Boolean – false
Number – NaN
String,Array,Object – null
未指定变量类型 – undefined

来源这里

4.replace join
参考这里

var htmlString:String = string.split("\n").join("");

再来

var htmlString:String = string.replace(/\n/g, "");

5.空对象
这个是比较常出现的情况,比如在用户刷新过快的时候常常会出现:
a)前面刷新的对象已经清除了,但后面请求还没结束,所以出现这种
b)aMF请求过快,多次请求,导致前面的flash对回调函数还没处理完,后面的amf请求又来了,会导致前面没调用完,后面就来了...

6.按钮点击无效
var txtfield:TextField=new TextField();
txtfield.text=”MOVE1″;

var btnsprite:Sprite=new Sprite();
btnsprite.name=”MOVE2″;;
btnsprite.buttonMode=true;

btnsprite.graphics.beginFill(0x00cc00);
btnsprite.graphics.drawRect(0,0,50,30);
btnsprite.graphics.endFill();

btnsprite.addChild(txtfield);

//btnsprite.mouseChildren = false;
addChild(btnsprite);

btnsprite.addEventListener(MouseEvent.CLICK,ClkRotateBtn);
如果不加上mouseChildren会点不到??因为textfield的会跑到上面去了,
所以mouseChildren的意思就是:子对象的鼠标是否起效果??

7.从fdt(eclipse) 引入项目:
可以参考这里,有图有真相:

1)在eclipse里新建一个与要导入的工程同名工程;
2) file–>import–>Existing Project into Workspace

8.SDK安装
在fdt的安装过程中会不断出现要求有SDK安装的提示什么3.6 4.4 4.5神马的,有个简单的办法 
把SDK下载下来后,解压利用他的SEARCH功能,就可以直接把SDK给加进去,不知道会有什么问题没有。。目前

android应用程序去广告备忘,

一年前搞过android的APP反编译,但一段时间不用就忘记了,差点都放弃了,现在记下来,以供备忘.

现在常见的有google ads / admob / youmi (有米)

有时一些APP很过份,加的广告让程序无法直接查看?!头顶一个广告,栏腰又一个广告,真是让人无语,找不到原作者的情况下自己动手去了.

最简单的办法就是:
修改/etc/hosts 文件,使用root explorer来修改host文件
如我的:
127.0.0.1 localhost
127.0.0.1 static.youmi.net
127.0.0.1 gw.youmi.net

或者直接在路由器把这些域名给屏蔽掉!

下面是比较复杂的方式了,但比较彻底

原理:
用apktool反编译出apk源文件来,用工具(记事本或者ultraedit)修改去掉广告[当然也可以修改应用程序本身哦!],再用apktool打包程序,最后用签名工作签名安装测试.

步骤:[参考来自 又一个反编译利器Apktool ]
安装

1.先装JAVA环境,JDK/JRE都行,官网下载 装过的就跳过吧

2.下载apktool.jar及相关文件,这里下apktool-1.0.0.tar.bz2 和apktool-install-windows-2.1_r01-1.zip (这些如果没有直接去google搜索最新下载!!!)

3.解压apktool.jar到 C:\Windows 解压apktool-install-windows.zip到任意文件夹(例如E盘根目录)

4.Win+R 运行CMD,用cd命令转到apktool-install-windows所在文件夹,输入apktool看看。会列出一些帮助的话就成功了。
Apktool 命令

apktool d XXX.apk ABC 反编译XXX.apk到文件夹ABC

apktool b ABC 从文件夹ABC重建APK,输出到ABC\dist\out.apk

然后我们反编译一枚软件玩玩…

E:\>apktool b AMM
I: Checking whether sources has changed…
I: Smaling…
I: Checking whether resources has changed…
I: Building resources…
I: Building apk file…

用Auto-sign签名E:\AMM\dist\out.apk 安装

这样广告就不见了,如图②

screenshot

再看图③效果,嘿嘿~很帅吧…

这其实就是改了AndroidManifest.xml里的ADmob广告ID罢了。。

2011-04-25Tech

没有评论
1,975 views

svn :xxx has no ancestry information 解决一例

svn :x xx has no ancestry information

because we lost xxx/.svn directory

SO just

svn checkout  svn://xxxxxx/your project

if there was error, ignore it ….

svn update  svn://xxxxxx/your project   works!
2011-04-24Tech

没有评论
642 views

转:一例502bad gateway的排查

转自:http://drdr.nix-adm.org/?p=192

一例502bad gateway的排查
一个站点突然502了,重启php fastcgi进程依然很慢。

站点结构比较简单,一台WEB,一台DB。

排查这种完全无法访问的问题比较简单。

首先看负载,命令w,或用vmstat 1 5 看负载倾向,负载几乎没有,基本是fastcgi进程挂掉了,你可以通过 netstat -an|grep LISTEN来确认fastcgi在不在。

如果负载比较高,那多半是fastcgi被阻塞了,如果你是用socket方式连接的fastcgi,那直接netstat -an|grep sock就可以看到阻塞的队列有多长。

如果确认是阻塞了,那可以直奔php的slow_log了,如果你的fpm还没有配置这个选项,赶紧配置上吧, slow的时间基准设置为1秒。

在本例中,fastcgi就堵住了,查看slow log,发现都是mysql查询函数被阻塞了。

那mysql是如何能阻塞呢,本例mysql是与WEB是分离部署的,所以首先要排查网络原因,ping db,发现延迟居然到了100ms ,俩机器可是在同一个LAN内,那什么原因会造成延迟变大呢,流量,状态表,负载,都可能,首先应该检查的是流量。

俩机器分别执行sar -n DEV 1 10查看用于通信的内网流量使用情况,发现数据库这台机器流量使用了接近100M,使用ethtool 检查网卡,发现协商成100M了,但一般来说,纯数据库查询,跑满百M,也很不可思议,所以一定有其他原因。

tcpdump -nn -i eth1 port not 3306 看一下除了mysql外,内网还有承载其他业务分组么,发现几乎没有,那就确定是 mysqld 的原因了。

show processlist,发现队列不是很长,不过发现有一个用于replication(主从复制)的进程,问一下,果然复制是新加的,停掉丛库后,流量一下就下来了。

slow log对排查php被阻塞到站点挂掉的原因,绝对是最直接的方式。

另:Nginx 502错误的几种解决方法

http://www.houyanpeng.com/nginx-502%E9%94%99%E8%AF%AF%E7%9A%84%E5%87%A0%E7%A7%8D%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95.html

ginx 502 Bad Gateway错误是FastCGI有问题,造成NGINX 502错误的可能性比较多。将网上找到的一些和502 Bad Gateway错误有关的问题和排查方法列一下,先从FastCGI配置入手:

1.FastCGI进程是否已经启动

2.FastCGI worker进程数是否不够
运行 netstat -anpo | grep “php-cgi” | wc -l 判断是否接近FastCGI进程,接近配置文件中设置的数值,表明worker进程数设置太少
参见:http://blog.s135.com/post/361.htm

3.FastCGI执行时间过长
根据实际情况调高以下参数值
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;

4.FastCGI Buffer不够
nginx和apache一样,有前端缓冲限制,可以调整缓冲参数
fastcgi_buffer_size 32k;
fastcgi_buffers 8 32k;
参见:http://www.hiadmin.com/nginx-502-gateway-error%E4%B8%80%E4%BE%8B/

5.Proxy Buffer不够
如果你用了Proxying,调整
proxy_buffer_size 16k;
proxy_buffers 4 16k;
参见:http://www.ruby-forum.com/topic/169040

6.https转发配置错误
正确的配置方法
server_name www.mydomain.com;
location /myproj/repos {
set $fixed_destination $http_destination;
if ( $http_destination ~* ^https(.*)$ )
{
set $fixed_destination http$1;
}
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Destination $fixed_destination;
proxy_pass http://subversion_hosts;
}
参见:http://www.ruby-forum.com/topic/169040

当然,还要看你后端用的是哪种类型的FastCGI,我用过的有php-fpm,流量约为单台机器40万PV(动态页面), 现在基本上没有碰到502。

2011-04-24Tech

没有评论
1,414 views

nginx + php5.3.6

php 5.3.6和php 5.3.0有很多不一样!!!一般情况下nginx+php5.3.0安装可以参考这里

[1]/etc/init.d/php-fpm start
Starting php-fpm …………………………….. failed

原因:

php-fpm.conf没有配置好pid文件:

php-fpm.pid 目录必须是:/usr/local/webserver/php/var/run/php-fpm.pid
 
 cp /root/soft/php-5.3.6/sapi/fpm/init.d.php-fpm /etc/init.d/phpfpm
php.ini-production /usr/local/webserver/php/etc/php.ini

2. nginx +php5.3.6 502错误调试:
参考:善用 PHP-FPM 的 slow log 分析问题

来源:强力推荐502排查的日志

3.关于fastcgi , php-fpm :

http://hi.baidu.com/wga007/blog/item/8ab3173454f134a4d1a2d31a.html

http://syre.blogbus.com/logs/20092011.html

2011-04-22Tech

没有评论
570 views

[置顶]linux 命令备忘–持续更新中(2011/04/22)

1.MySQL创建用户
CREATE USER ‘devuser3′@’localhost’ IDENTIFIED BY ‘***’;
GRANT ALL PRIVILEGES ON * . * TO ‘devuser’@’1.1.1.’ IDENTIFIED BY ‘&4r0Oai7ehDa9871M’ WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

2.VI替换:来源:CU
举个例子啊:
将文件tihuan(假设此文本中字符a)中的所有字符a换成字符w,其命令为:
1。vi tihuan
2。按esc键
3。按shift+:
4。在:后输入 %s/a/w/g

2011-04-18Tech

没有评论
511 views

linux命令备忘

1.清除cached掉的内存:
echo 3 > /proc/sys/vm/drop_caches

2011-04-18Tech

没有评论
672 views

利用chrome扩展来更新wordpress

测试一下,看看如何

Loadrunner 运行注意事项

1.最好用IE6,目前用的Loadrunner 9.1 ~ 9.5 用IE6会比较好些,IE7~IE9不一定能弹的出来

2.出现录制的时候,IE6不弹出来,有很大的原因是:

在IE6中关掉他,参考这里:http://bbs.51testing.com/viewthread.php?tid=138528

3.license security violation.Operation is not allowed
的问题,记得看这里

4.

对付大流量下php网站的优化-1-sessiont篇

大流量互动网站PHP肯定会用到session_start()

而如果按照PHP5.3默认的配置:

[Session]
; Handler used to store/retrieve data.
; http://php.net/session.save-handler
;session.save_handler = files
 
;session.save_path = "/tmp"

在大流量测试下:loadRunner,1000人并发在线测试一个简单的程序

可以看到达到69W时,就会产生系统负载很大,TOP一分钟可以达到60多 (这远远超出系统的)

解决办法有二:

1.目录放入缓存,目录分级
参考:http://justcoding.iteye.com/blog/654639

2.使用memcached来存放 ,memcached安装:见这里

[Session]
; Handler used to store/retrieve data.
; http://php.net/session.save-handler
;session.save_handler = files
session.save_handler = memcache
session.save_path = "tcp://127.0.0.1:11211"

这时去看

系统负载很低很低。。。。
大爱了。。

1.Loadrunner截图

Loadrunner测试

2.系统负载截图

系统负载top

3.memcached截图

返回顶部

Switch to our mobile site