http://blog.sina.com.cn/s/blog_466c66400100bi2n.html
http://blog.sina.com.cn/s/blog_466c66400100bi2s.html

“u”命令撤销上一个编辑操作。

注意:
如果你输入“u”两次,你的文本恢复原样,那应该是你的Vim被配置在Vi兼容
模式了。
重做
如果你撤销得太多,你可以输入CTRL-R(redo)回退前一个命令。换句话说,它撤销
一个撤销。要看执行的例子,输入CTRL-R两次。字符A和它后面的空格就出现了:
young intelligent turtle
有一个特殊版本的撤销命令:“U”(行撤销)。行撤销命令撤销所有在前一个编辑行
上的操作。 输入这些命令两次取消前一个“U”:
A very intelligent turtle
xxxx 删除very
A intelligent turtle
xxxxxx 删除turtle
A intelligent
用“U”恢复行
A very intelligent turtle
用“u”撤销“U”
A intelligent
“U”命令自己改变自己,“u”命令撤销操作,CTRL-R命令重做操作。这有点乱,但不用
担心,用“u”和CTRL-R命令你可以切换到任何状态。


流行的文本编辑器通常都有前进和后退功能,可以在文件中曾经浏览过的位置之间来回移动。在 vim 中使用 Ctrl-O 执行后退,使用 Ctrl-I 执行前进。
相关帮助:  :help CTRL-O  :help CTRL-I   :help jump-motions
     以前做东西遇到了union all的问题,因为这个只有mysql的高版本才有,所以很少用到,
在orderby的时候总是出现问题原来的语句是这样的
select * from(
SELECT *
FROM news
WHERE screatedate > '2007-06-30'
order BY typeid
)
UNION ALL select * from(
SELECT *
FROM news
WHERE screatedate <= '2007-06-30'
order BY screatedate desc
)

不管怎么搞里面的order by都不起作用,最后查了相关问题,才知道问题的所在
正确的代码应该如下:

select * from(
SELECT *
FROM news
WHERE screatedate > '2007-06-30'
order BY typeid
) as temp1
UNION ALL select * from(
SELECT *
FROM news
WHERE screatedate <= '2007-06-30'
order BY screatedate desc
)as temp2

最后终于成功了,现在贴出来,供大家参考

<?php
<?php  
function request_post($url = '', $param = '') {  
        if (emptyempty($url) || emptyempty($param)) {  
            return false;  
        }  
          
        $postUrl = $url;  
        $curlPost = $param;  
        $curl = curl_init();//初始化curl  
        curl_setopt($curl, CURLOPT_URL,$postUrl);//抓取指定网页  
        curl_setopt($curl, CURLOPT_HEADER, 0);//设置header  
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上  
        curl_setopt($curl, CURLOPT_POST, 1);//post提交方式  
        curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost);  
        $data = curl_exec($curl);//运行curl  
        curl_close($curl);  
          
        return $data;  
    }



阅读全文
http://wp1314.ycool.com/post.3009872.html
转:http://www.5ga.cn/blog/archives/2008/12/1064
最近对我的PHP后台框架进行些升级维护,决定引入JQuery,和PHP的一个数据库模块PDO,以前用的是自己写的类,作为方便以后使用其他数据库备用,由于现在的PDO中文帮助还是比较少,所以做一个笔记.

各各扩展所对应的数据库是:

Driver name Supported databases
PDO_DBLIB FreeTDS / Microsoft SQL Server / Sybase
PDO_FIREBIRD Firebird/Interbase 6
PDO_INFORMIX IBM Informix Dynamic Server
PDO_MYSQL MySQL 3.x/4.x
PDO_OCI Oracle Call Interface
PDO_ODBC ODBC v3 (IBM DB2, unixODBC and win32 ODBC)
PDO_PGSQL PostgreSQL
PDO_SQLITE SQLite 3 and SQLite 2


   1.
      $user=’root’;//数据库连接用户名
   2.
      $pass=”;//对应的密码
   3.
      try{
   4.
          $db = new PDO(’mysql:host=localhost;dbname=test’, $user, $pass,array(PDO::ATTR_PERSISTENT => true));//初始化PDO对象
   5.
          //默认这个不是长连接,如果需要数据库长连接,需要最后加一个参数:array(PDO::ATTR_PERSISTENT => true)
   6.
          $db = new PDO(’数据库类型:host=主机地址;dbname=数据库名’,用户名,密码,array(PDO::ATTR_PERSISTENT => true));
   7.
         $db->query(’SET NAMES \’utf8\”);//设置连接数据库的语言环境
   8.
          echo "连接成功";
   9.
          /*你还可以进行一次搜索操作
  10.
         foreach($dbh->query(’SELECT * from gaga’)as $row){
  11.
              print_r($row);//你可以用 echo($GLOBAL); 来看到这些值
  12.
          }
  13.
         */
  14.
          //$db = null;
  15.
      }catch(PDOException$e){
  16.
          die(’数据库连接错误: ‘.$e->getMessage().’
  17.
      ‘);
  18.
      }
阅读全文
//Curl Get数据
function _curl_get($url) {      
    $ch = curl_init();  
    curl_setopt($ch, CURLOPT_URL,$url);    
    curl_setopt($ch, CURLOPT_HEADER, 0);  
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    
    $data = curl_exec($ch);        
    curl_close($ch);      
    if ($data)  
        return $data;    
    else
        return false;    
}      

//Curl Post数据
function _curl_post($url, $vars) {      
    $ch = curl_init();  
    curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);      
    curl_setopt($ch, CURLOPT_URL,$url);    
    curl_setopt($ch, CURLOPT_POST, 1 );    
    curl_setopt($ch, CURLOPT_POSTFIELDS, $vars);    
    $data = curl_exec($ch);        
    curl_close($ch);      
    if ($data)  
        return $data;    
    else
        return false;    
}  
http://www.cmrn.com.cn/ztbg/o/200803/512772.html
http://www.52rd.com/Blog/Detail_RD.Blog_imjacob_17246.html
函数指针,函数对象,闭包,命令模式这四个东西都可以作为回调使用,那他们之间的联系和区别是怎么样的呢?阅读全文
命令和函数是完全不同的概念。
一般来说,如果在讲解编程的书里出现命令,指的大多是用于控制编程环境的、属于编程软件的命令;而函数是程序中的一个执行单元,是代码本身的一部分。
在我的印象中,只有少数几种语言有“命令”这种元素,比如SQL查询语言或LOGO语言等等。而在大多数的程序设计语言如C++、C#、Delphi、VB中,都没有命令这个概念。

- echo

是命令,不能返回值。echo后面可以跟很多个参数,之间用分号隔开,如:
echo $myvar1;
echo 1,2,$myvar,"<b>bold</b>";

- print

是函数,可以返回一个值,只能有一个参数。阅读全文
可以用使用超全局变量定义( $_POST,$_GET,$_SESSION,$_COOKIE,$_SERVER,$_FILES,$_REQUEST,$_ENV

)呀 无需使用global声明了
如:
$_GET[‘val’] = 1;
function echoVal() {
    echo $_GET[\'val\'];
}


方法二:
先在config.inc.php里定义常量:define(常量名,常量值)
再在其他需要用到的地方require 'config.inc.php',




使用 global

<?PHP
$temp1 = 1;
$temp2 = 2;
function SumAll()
{
  global $temp1, $temp2;
  $temp2 = $temp1 + $temp2;
}
SumAll();
echo $temp2;
?>

结果为:3
以上脚本的输出将是“3”.在函数中申明了全局变量 $temp1和$temp2,任何变量的所有引用变量都会指向到全局变量.
在全局范围内访问变量的第二个办法,是用特殊的 PHP 自定义 $GLOBALS 数组。前面的例子可以写成:
使用 $GLOBALS 替代 global

<?PHP
$temp1 = 1;
$temp2 = 2;
function Sum()
{
  $GLOBALS['temp2'] = $GLOBALS['temp1'] + $GLOBALS['temp2'];
}
Sum();
echo $temp2;
?>

在 $GLOBALS 数组中,每一个变量为一个元素,键名对应变量名,值对应变量的内容.$GLOBALS 之所以在全局范围内存在,是因为$GLOBALS 是一个超全局变量.
在PHP中使用全局变量的数量也没有限制。
PDO是一个“数据库访问抽象层”,作用是统一各种数据库的访问接口,与mysql和mysqli的函数库相比,PDO让跨数据库的使用更具有亲和力;与ADODB和MDB2相比,PDO更高效。目前而言,实现“数据库抽象层”任重而道远,使用PDO这样的“数据库访问抽象层”是一个不错的选择。阅读全文

<?
require("./mysql.class.php");
$DB=new DB_MYSQL;
$DB->dbServer="localhost";
$DB->dbUser="root";
$DB->dbPwd="";
$DB->dbDatabase="center";
$DB->connect(); // 连接数据库
?>


阅读全文
问:为什么服务器在连续运行多天后或访问峰值后,进程中的一个Apache.exe占用内存几百兆不减少?

答:用记事本打开apache2\conf\httpd.conf,查找MaxRequestsPerChild,将MaxRequestsPerChild 0改成MaxRequestsPerChild 50即可。

  通常在“Windows任务管理器-进程”中可以看到两个apache.exe进程,一个是父进程、一个是子进程,父进程接到访问请求后,将请求交由子进程处理。MaxRequestsPerChild这个指令设定一个独立的子进程将能处理的请求数量。在处理 “MaxRequestsPerChild 数字”个请求之后,子进程将会被父进程终止,这时候子进程占用的内存就会释放,如果再有访问请求,父进程会重新产生子进程进行处理。

  如果MaxRequestsPerChild缺省设为0(无限)或较大的数字(例如10000以上)可以使每个子进程处理更多的请求,不会因为不断终止、启动子进程降低访问效率,但MaxRequestsPerChild设置为0时,如果占用了200~300M内存,即使负载下来时占用的内存也不会减少。内存较大的服务器可以设置为0或较大的数字。内存较小的服务器不妨设置成30、50、100,以防内存溢出



解决方法: 初始化,unset不用的大数据量的变量。适当减小操作数据规模。

检查内存释放状况。

$a=array();
for($i=0;$i<=1000000;$i++)
{
$a[$i]=$i;      
}
unset($a);


假设我原始占用内存50M
多刷新几次,占用内存到200M,稍后恢复,但不再是50M,而是60M
说明多出10M,看来这有可能是内存泄露引起

找到问题了,是由于MaxRequestsPerChild设置为0的后果
现已经改成200

PHP的unset参看:

http://www.xiangdong.org/blog/post/1520/
完成升级博客2.1.0到2.1.1。。。
        虚拟机中的串口连接可以采用两种方法。一种是指定虚拟机的串口连接到实际的COM上,例如开发机连接到COM1,目标机连接到COM2,然后把两个串口通过串口线相连接。另一种更为简便的方法是:在较高一些版本的VMware中都支持把串口映射到命名管道,把两个虚拟机的串口映射到同一个命名管道。例如,在两个虚拟机中都选定同一个命名管道 \\.\pipe\com_1,指定target机的COM口为server端,并选择"The other end is a virtual machine"属性;指定development机的COM口端为client端,同样指定COM口的"The other end is a virtual machine"属性。对于IO mode属性,在target上选中"Yield CPU on poll"复选择框,development机不选。
分页: 226/272 第一页 上页 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 下页 最后页 [ 显示模式: 摘要 | 列表 ]