andriod 给虾米下载mp3批量加扩展名
虾米是一个很好的听歌网站他的android下客户端也可以下mp3,但不爽的是,他没有存成mp3格式,估计他只想他自带的播放软件来播放,但目前他的播放软件不能跳帧,有点不爽,
最重要的是,重装后离线看不到这些歌了,但mp3还在的,
用如下代码在终端下进入目录执行如下
for file in *;do mv $file ${file%.*}.bak;done
搞定,就可以在cm7锁屏下换歌了
虾米是一个很好的听歌网站他的android下客户端也可以下mp3,但不爽的是,他没有存成mp3格式,估计他只想他自带的播放软件来播放,但目前他的播放软件不能跳帧,有点不爽,
最重要的是,重装后离线看不到这些歌了,但mp3还在的,
用如下代码在终端下进入目录执行如下
for file in *;do mv $file ${file%.*}.bak;done
搞定,就可以在cm7锁屏下换歌了
1.清除cached掉的内存:
echo 3 > /proc/sys/vm/drop_caches
测试一下,看看如何
1.最好用IE6,目前用的Loadrunner 9.1 ~ 9.5 用IE6会比较好些,IE7~IE9不一定能弹的出来
在IE6中关掉他,参考这里:http://bbs.51testing.com/viewthread.php?tid=138528
3.license security violation.Operation is not allowed
的问题,记得看这里:
4.
大流量互动网站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截图
2.系统负载截图
转自:http://www.cnblogs.com/sayo/archive/2008/10/14/1310769.html
有三种Javascript编辑器可供选择:
1. JSDT
2. JSEclipse
3. Spket
分别介绍这三种插件的安装:
1. JSDT 是WPT自带的插件
只要装了WTP就不用单独安装JSDT了。也可以从这里了解JSDT的一些信息:http://wiki.eclipse.org/index.php/ATF/JSDT
2. JSEclipse
可以通过Eclipse自动更新功能从 http://download.macromedia.com/pub/labs/jseclipse/autoinstall 安装JSEclipse:
如上图所示,安装打勾的JEclipse插件即可。
JEclipse是Javascript的编辑器,要想使用ExtJs,还需要下载这个文件,把所有xml文件解压缩到你的Eclipse Workspace中目录:
EclipseWorkspace\.metadata\.plugins\com.interaktonline.jseclipse\user_library
下面。然后重新启动Eclipse就可以了。
Ext_JSEclipse.zip
3. Spket
通过Eclipse自动更新从 http://www.spket.com/update/ 安装插件:
安装完后进行ExtJs设置:
如上图是设置好的样子:
Window → Preferences → Spket → JavaScript Profiles → New ,在弹出对话框命名:ExtJs,点击OK。然后选择ExtJs点Add Library,把你下载的ext包中找到/source/ext.jsb加载进来。最后先选中ExtJs点击右边的default按钮,使其成为缺省项。这样就行了。
经过上述安装设置,现在打开一个JS文件可以有多种方式了:
个人感觉JSEclilpse比较好用。
<?php function bool2str($bool) { if ($bool === false) { return 'FALSE'; } else { return 'TRUE'; } } function compareObjects(&$o1, &$o2) { echo 'o1 == o2 : ' . bool2str($o1 == $o2) . "\n"; echo 'o1 != o2 : ' . bool2str($o1 != $o2) . "\n"; echo 'o1 === o2 : ' . bool2str($o1 === $o2) . "\n"; echo 'o1 !== o2 : ' . bool2str($o1 !== $o2) . "\n"; } class Flag { public $flag; function Flag($flag = true) { $this->flag = $flag; } } class OtherFlag { public $flag; function OtherFlag($flag = true) { $this->flag = $flag; } } $o = new Flag(); $p = new Flag(); $q = $o; $s = &$o; $r = new OtherFlag(); echo "Two instances of the same class\n"; compareObjects($o, $p); echo "\nTwo references to the same instance\n"; compareObjects($o, $q); echo "\nTwo references to the same instance\n"; compareObjects($s, $q); echo "\nInstances of two different classes\n"; compareObjects($o, $r); ?> |
<?php $instance = new StdClass;//自定义一个类 $assigned = $instance; //在php5中,这种写法作用和下面一样,而不用传&,但还是有区别滴。。。 $reference =& $instance; //作用是和上面相同,但本质还是不同的,$reference是个引用,他会跟着$instance共存亡 $instance->var = '$assigned will have this value'; var_dump($instance); // var_dump($reference); // var_dump($assigned); //以上三者都一样!不管赋值还是其他改变 $instance = null; // $instance and $reference become null var_dump($instance); //他也不在了 var_dump($reference); //他已经不在了 var_dump($assigned); //他还在 ?> |
在PHP5手册中:
类与对象一章里:
当把一个对象已经创建的实例赋给一个新变量时,新变量会访问同一个实例,就和用该对象赋值一样。此行为和给函数传递入实例时一样。
但是把该对象的引用,赋值给一个变量,确实是用的引用
————————————–
中文手册:
对象和引用
在php5 的对象编程经常提到的一个关键点是“默认情况下对象是通过引用传递的”。但其实这不是完全正确的。下面通过一些例子来说明。
php的引用是别名,就是两个不同的变量名字指向相同的内容。
在php5,一个对象变量已经不再保存整个对象的值。只是保存一个标识符来访问真正的对象内容。
当对象作为参数传递,作为结果返回,
或者赋值给另外一个变量,另外一个变量跟原来的不是引用的关系,只是他们都保存着同一个标识符的拷贝,这个标识符指向同一个对象的真正内容。
自 PHP 5 起,new 自动返回引用,因此在此使用 =& 已经过时了并且会产生 E_STRICT 级别的消息。
这句话很别扭
—————————————
<?php $a = 1; $b =& $a; unset($a); //如果把 $a=null ,下面的结果就不一样了 var_dump($a); //a 已经不在了 var_dump($b); //b还在 ?> |
函数的引用返回:
function &test() { static $b=0;//申明一个静态变量 $b=$b+1; echo $b; return $b; } $a=test();//这条语句会输出$b的值为1 $a=5; $a=test();//这条语句会输出$b的值为2 $a=&test();//这条语句会输出$b的值为3 $a=5; $a=test();//这条语句会输出$b的值为6 |
$this self
$this
在一个对象的方法中,$this 永远是调用它的对象的引用。
self:
有点静态调用的意思:
class clsParent { static public function say( $str ) { self::do_print($str);//如果这里用$this->do_print($str); 会报没有这个实例的 } static public function do_print( $str ) { echo "parent says $str"; } } class clsChild extends clsParent{ static public function do_print( $str ) { echo "child says $str"; } } clsChild::say('Hello'); ?> |
其他:
//下面再来个小插曲
php中对于地址的指向(类似指针)功能不是由用户自己来实现的,是由Zend核心实现的,php中引用采用的是“写时拷贝”的原理,就是除非发生写操作,指向同一个地址的变量或者对象是不会被拷贝的。
通俗的讲
1:如果有下面的代码
$a=”ABC”;
$b=$a;
其实此时$a与$b都是指向同一内存地址而并不是$a与$b占用不同的内存
2:如果在上面的代码基础上再加上如下代码
$a=”EFG”;
由于$a与$b所指向的内存的数据要重新写一次了,此时Zend核心会自动判断自动为$b生产一个$a的数据拷贝,重新申请一块内存进行存储
静态调用:
<?php class A { function foo() { if (isset($this)) { echo '$this is defined ('; echo get_class($this); echo ")\n"; } else { echo "\$this is not defined.\n"; } } } class B { function bar() { A::foo(); } } $a = new A(); $a->foo(); A::foo();//直接静态调用,而不用方法是不是静态方法 ,这样用有时是大有好处的 $b = new B(); $b->bar(); B::bar(); ?> |
类静态调用的好处:http://heshun.org/?p=178
apache 自带的ab
http://www.chedong.com/blog/archives/001154.html
loadrunner
使用方法:
看看很好的教程:
公司外分享版本-结合逍遥问问讲解如何利用LoadRunner进行性能测试104
来自于:这里
secureCRT -> script -> start recording script
开始录入脚本
su -
输入密码
secureCRT -> script -> stop recording script
这时要保存!
options ->session options -> connection ->logon scripts -> logon script 选择你刚才的脚本!