Category Archives: Tips
Zend Studio 使用 Xdebug 断点调试
部分内容参考自 这里 1, 下载 Xdebug # 下载地址 # http://xdebug.org/download.php # 寻找和自己所安装的 php 版本对应的 Xdebug 下载 # 对于 Windows 版本的 php 可以查看 phpinfo() 函数的打印信息, 查找"PHP Extension Build", 看你的 PHP 版本是 VC 几的, 2, 安装 # 安装说明页 # http://xdebug.org/docs/install # 对于 Windows 版本, 下载完成后将下载的 dll 文件重命名为 php_xdebug.dll # 将其复制到 PHP 的扩展目录中去 (例如: D:\Program Files\EasyPHP-5.3.2i\php\ext\ ) 3, 修改 [...]
Zend Studio 中 PHP Language Library 的用处
如果你在用 Zend Studio 编写 PHP 项目时发现调用系统函数时调试正常, 但是在编写代码时却提示函数未定义"Call to undefined function 'xxx'", 在左侧语法检测状态区域栏总是显示个小黄色的三角形的感叹号, 实在是看着扎眼. 解决办法: 1, 修改项目 .buildpath 文件 # .buildpath 文件内容类似下面的 <?xml version="1.0" encoding="UTF-8"?> <buildpath> <buildpathentry kind="src" path=""/> </buildpath> # 新增一句 kind="con" <?xml version="1.0" encoding="UTF-8"?> <buildpath> <buildpathentry kind="src" path=""/> <buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/> </buildpath> 2, 重置项目编译状态 Project -> Clean -> Clean all projects 3, 重新编译项目 Project [...]
通过rsync定期备份windows下svn目录到linux
利用 rsync 命令备份 windows 下 svn 目录到 linux 服务器上 大体思路是: 先把 windows 下的 svn 目录导出到一个文件夹中(这样不会有多余的 .svn 目录存在), 然后再通过 winRAR 将这个目录打包成 *.rar 文件, 再然后通过 rsync 命令将这个打包好的文件同步到 linux 服务器. 先介绍一下基本环境. #IP地址: windows 192.168.1.138 linux 192.168.1.132 #windows下相关软件安装目录: svn 安装目录 D:\Program Files\svn-win32-1.6.16\bin\svn.exe winRAR 安装目录 C:\Program Files\WinRAR\WinRAR.exe rsync 安装目录 D:\Program Files\cwRsync\bin\rsync.exe OK, 开始操作吧. 1, linux 下的 rsync 安装可以参考这里: http://www.linuxsir.org/main/?q=node/256 Ubuntu下可以直接用命令安装: [...]
WinSCP 与 Putty 中文显示乱码解决方法
WinSCP: 1, 打开WinSCP, 在登录会话界面中选定将要登录的会话. 2, 点击旁边的"编辑"按钮. 3, 在左侧树型菜单中找到"环境"项, 并打开它. 4, 在右侧中一项为"文件名UTF-8编码", 选择"开启". 5, 搞定! Putty: 1, 打开Putty.exe, 在登录会话界面中选定Default Settings. 2, 再点击左侧树形菜单中的"Window -> Translation" 3, 在右侧界面中有一项"Received data assumed to be in which character set:" 在下拉列表中选择"UTF-8" 4, 搞定! 将 Putty 与 WinSCP 关联: 1, 用 WinSCP 登录一个会话. 2, 菜单 -> 选项 -> 选项 , 打开选项设置面板. 3, 在左侧树型菜单中找到"集成 [...]
Memcache 内存空间划分方法
参考自 这里, 这里, 这里, 这里 假如我们要存放的数据为 200 Bytes , 当向 memcache 存放数据时: 1, memcache 先检查数据的大小, 得到数据尺寸(200 Bytes); 2, 再检查 memcache 已划分过的并且可用的并且自身大小大于数据尺寸的最小容量的 chunk , 如果有存在这样的 chunk , 跳到第 4 步, 如果没有跳到第 3 步; 3, memcache 向内存申请 1MB 的空间并将这 1MB 的空间划分为 4096 个大小为 256 Bytes 的 chunk; 为什么是 4096 个? 1M = 1024K = 1048576B 1048576 / [...]
Vim 常用命令
进入vim的命令 vim filename #打开或新建文件,并将光标置于第一行首 vim +n filename #打开文件,并将光标置于第n行首 vim + filename #打开文件,并将光标置于最后一行首 vim +/pattern filename #打开文件,并将光标置于第一个与pattern匹配的串处 vim -r filename #在上次正用vim编辑时发生系统崩溃,恢复filename vim filename1 filename2 #打开多个文件,依次编辑 移动光标类命令 h #光标左移一个字符 l #光标右移一个字符 space #光标右移一个字符 Backspace #光标左移一个字符 k或Ctrl+p #光标上移一行 j或Ctrl+n #光标下移一行 Enter #光标下移一行 w或W #光标右移一个字至字首 b或B #光标左移一个字至字首 e或E #光标右移一个字j至字尾 ) #光标移至句尾 ( #光标移至句首 } #光标移至段落开头 { #光标移至段落结尾 nG #光标移至第n行首 [...]
正则表达式的贪婪与非贪婪模式
在使用修饰匹配次数的特殊符号时,有几种表示方法可以使同一个表达式能够匹配不同的次数,比如:"{m,n}", "{m,}", "?", "*", "+",具体匹配的次数随被匹配的字符串而定。这种重复匹配不定次数的表达式在匹配过程中,总是尽可能多的匹配。比如,针对文本 "dxxxdxxxd",举例如下: (d)(\w+) "\w+" 将匹配第一个 "d" 之后的所有字符 "xxxdxxxd" (d)(\w+)(d) "\w+" 将匹配第一个 "d" 和最后一个 "d" 之间的所有字符 "xxxdxxx"。虽然 "\w+" 也能够匹配上最后一个 "d",但是为了使整个表达式匹配成功,"\w+" 可以 "让出" 它本来能够匹配的最后一个 "d" 由此可见,"\w+" 在匹配的时候,总是尽可能多的匹配符合它规则的字符。虽然第二个举例中,它没有匹配最后一个 "d",但那也是为了让整个表达式能够匹配成功。同理,带 "*" 和 "{m,n}" 的表达式都是尽可能地多匹配,带 "?" 的表达式在可匹配可不匹配的时候,也是尽可能的 "要匹配"。这种匹配原则就叫作 "贪婪" 模式 。 非贪婪模式: 在修饰匹配次数的特殊符号后再加上一个 "?" 号,则可以使匹配次数不定的表达式尽可能少的匹配,使可匹配可不匹配的表达式,尽可能的 "不匹配"。这种匹配原则叫作 "非贪婪" 模式,也叫作 "勉强" 模式。如果少匹配就会导致整个表达式匹配失败的时候,与贪婪模式类似,非贪婪模式会最小限度的再匹配一些,以使整个表达式匹配成功。举例如下,针对文本 "dxxxdxxxd" 举例: (d)(\w+?) "\w+?" 将尽可能少的匹配第一个 "d" [...]
Also posted in JavaScritp, PHP Leave a comment
巧用用户工具强化你的 Editplus
Editplus 的 "用户工具" 功能允许用户通过 Editplus 来运行自己指定的命令, 而且还有专用快捷键更快捷的执行它. 通过一个实际的例子来理解一下什么是 "用户工具" 功能: 1, 工具->参数 #打开参数设置对话框 2, 工具->用户工具->添加工具->程序 #添加一个新的用户工具 3, 在"菜单文本"文本框中输入"SHOW-IP" 在"命令"文本框中输入"ipconfig" 勾选上"捕获输出"复选框 4, 应用->确定 #保存设置 5, 工具->SHOW-IP #执行用户命令 怎么样? 看到效果了没, 在 Editplus 文本编辑区下面出现了输出窗口, 输出窗口中显示了 ipconfig 命令执行的返回值, 它就和 "开始->运行->cmd->ipconfig" 的效果一下. 上面的例子能帮助我们理解 "用户工具" 功能, 但好像不实用, 我们再来玩一个实用性强一点儿的: 我们将要写一个 Math 工具, 它要实现的功能是将计算出我们在 Editplus 编辑区选中的数学表达式的运算结果. 它将利用到 php.exe (http://www.php.net/) 准备工作, 我们将 php.exe 的安装目录放到环境变量中去: [...]
一劳永逸的 Editplus 配置
用习惯了 Editplus , 经常会做一些个性化的设置, 不仅让自己用得更顺手提高了工作效率, 也让自己节省了不少精力. 怎样才能让这些有用的配置不会因为重装系统而丢失呢? 默认情况下 Editplus 的配置文件(*.ini) 和 语法完成方成(*.acp) 以及语法着色文件(*.stx) 都是放在 Editplus 的安装目录下的. 要将它们分离出来做备份还是挺麻烦的. 还好聪明的 Editplus 给我们提供了一个有用的功能: 菜单->"工具"->"设置目录", 我们可以自定义 配置文件目录以及语法/着色/模版文件目录 的位置. 这样就可能在我们重新安装 Editplus 后将配置目录设置成我们自定义的目录就可以啦. 赶紧动手设置吧: 这里是我自用的配置文件: 下载 0, 假设我们 Editplus 的安装目录是: D:\Program Files\EditPlus 3\editplus.exe 1, 我们在安装目录外任意位置建好配置文件目录, 目录结构看上去像这样子: F:\software\editplus_config\ F:\software\editplus_config\editplus_conf_1\ F:\software\editplus_config\editplus_conf_2\ F:\software\editplus_config\editplus_conf_ini\ 为什么会有 editplus_conf_1 和 editplus_conf_2 两个配置目录呢? 因为我们可能会经常会遇到这样的情况: 在我们在项目1中代码规范是这样子的 function abc () { [...]
理解 Memcache 的服务器端与客户端