IETester目前最新的版本是2009年05月10日出来的v0.3.3,关于这个利器,大家都清楚。在0.3.的基础上做了以下改动。
1.Implemented “window.external” feature
2.Added transparency support for IE5.5
不过目前这个版本还不能工作在windows7上。
DebugBar是ie的firebug.能从各个不同的角度剖析Web页面内部的细节层面,给开发带来很大的便利.主要有以下功能:
1.查看网页DOM树,HTTP(S),网页javascript脚本函数归类展示.效验网页中的框架.网页属性的详细信息
2.提供网页源码与IE整理后代码的对比.
3.能在无需改变显示器分辨率的前提下用不同分辨率显示页面.并能对页面进行缩放.
4.功能对任意位置取色并将HEX码复制到剪贴板中便于保存.
5.可将当前页面截图通过邮箱发送出去.
另外同时这安装Ietester和companionjs配合使用将给web开发者带来更高的开发体验.
官方发布网址:http://www.my-debugbar.com/wiki/
companion.js是js调试工具
具体使用方法为:
1、先下载Companion.JS安装文件,然后安装。
2、下载安装Microsoft Script Debugger,如果您的机器已经安装过了就可以免过这一步。
3、打开IE菜单“工具”–“Internet选项”–“高级”,找到“禁用脚本调试(Internet Explorer)”和“禁用脚本调试(在Internet Explorer之外)”,将两个选项前面的对钩都去掉,然后重启IE。
4、在Ie中输入:http://www.my-debugbar.com/wiki/uploads/CompanionJS/dummy.htm,然后点击click me链接,如果左上角弹出一个小错误提示或下面控制台出现了错误信息提示,就说明您已经安装成功了。
提示:Microsoft Script Debugger 下载 Microsoft Script Debugger 有两个下载版本可用,请按您的操作系统选择相应的下载版本。
dbg10chs.exe 需要 Microsoft Windows 98 或 Millennium Edition [...]
估计这个说法有些诡异,不过我也不知道该怎么描述,对应成字符串就是求最大公共子串,此时的字符串就是数组,字符对应的是数组的元素。
比较常规的方法就是LCS,单纯从c的角度,LCS还是比较耗空间。所有出现了一些替代方法,不过都相对耗时一些。
下面是我用php来计算两个数组中最长公共元素的代码。
function longestComArr(&$newStrArr1,&$newStrArr2){
$maxlen = 0;
for($i=0;$i<count($newStrArr1);$i++){
$j=$r=0;//记录当前短数组下标
while($newStrArr2[$j] && $newStrArr1[$i]){
$k=$i;//记录当前长数组下标
while ($newStrArr1[$k] && $newStrArr1[$k] !=$newStrArr2[$j]) {
$k++;
}
if ($newStrArr1[$k] ==$newStrArr2[$j]) {
[...]
用php来尝试给英文进行分词,欢迎大家拍砖,详细代码进入文章查看
备忘:
一个由c/C++编译的程序占用的内存分为以下几个部分
1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。
3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后由系统释放。
4、文字常量区 —常量字符串就是放在这里的。 程序结束后由系统释放 。
5、程序代码区—存放函数体的二进制代码。
示例如下
int a = 0; 全局初始化区
char *p1; 全局未初始化区
main()
{
int b;//栈
char s[] = "abc";//栈
char *p2;//栈
char *p3 = "123456";//123456\0在常量区,p3在栈上。
static int c =0;//全局(静态)初始化区
p1 = (char *)malloc(10);//堆
p2 = (char *)malloc(20);//堆
}
PHP分词的上乘之选,原生态支持php中文分词,提供dll库和so包下载。
SCWS 在概念上并无创新成分,采用的是自行采集的词频词典,并辅以一定程度上的专有名称、人名、地名、数字年代等规则集。 采用纯 C 代码开发,以 Unix-Like OS 为主要平台环境,提供共享函数库,方便植入各种现有软件系统。此外它支持GBK,UTF-8,BIG5 等汉字编码。
切词效率测试(UTF-8编码,随机从天涯抓取了一个连载页面测试结果, 45Kb左右的文本切词时间是0.026秒, 换算完毕大概是 1.5MB文本/秒)
项目地址:
http://www.ftphp.com/scws/
基于OpenID Enabled修改而成的openid类,因为是自己用,所以不怎么规范。凑合着用吧。具体代码点进去看吧。
JanRain的OpenID Enabled(http://openidenabled.com/)是一个不错的openid库。
open id中的相关字段如下
1.昵称:openid.sreg.nickname:
Any UTF-8 string that the End User wants to use as a nickname.
2.电子邮件地址openid.sreg.email:
The email address of the End User as specified in section 3.4.1 of [RFC2822] (Resnick, P., “Internet Message Format,” .).
3.全名openid.sreg.fullname:
UTF-8 string free text representation of the End User’s full name.
4.生日:openid.sreg.dob:
The End User’s date of birth as YYYY-MM-DD. Any values whose representation [...]
越狱大结局,第四季22集:
终于熬到头了,漫长的等待,经常来袭的期盼,终于在此刻结束。2009年5月17日凌晨4点多,特此纪念。
1.理解config.m4
1).dnl是注释
2).PHP_ARG_WITH或者PHP_ARG_ENABLE指定了PHP模块的工作方式,任选一种
3).PHP_REQUIRE_CXX()用于指定这个扩展用到了C++
4).PHP_SUBST(SYSFILE_SHARED_LIBADD)用于说明这个扩展编译成动态链接库的形式
5).PHP_ADD_LIBRARY(stdc++,””,SYSFILE_SHARED_LIBADD)用于将标准C++库链接进入扩展
6).PHP_NEW_EXTENSION用于指定有哪些源文件应该被编译,文件和文件之间用空格隔开.
2.c转变成c++
ext_skel默认生成的模块框架是针对C的,我们要使用C++,那以上的3,5两个宏就是必须的.另外还要把(扩展名.c)改名成(扩展名.cpp),所以PHP_NEW_EXTENSION原本包括的(扩展名.c)也要修改.
在使用C++之后要注意一个小问题,那就是php_(扩展名).h这个文件可能被PHP的其他部分所引用到,而引用者很可能是一个.c文件,所以不能在php_(扩展名).h里包含任何C++所独有的东西.比如标准模版库,类,或者bool类型等等.
3.后续工作
默认生成的(扩展名).c(现在改名为(扩展名).cpp)了,因为是C++了,有几点是要修改的: (zend_function_entry是导出函数列表, zend_module_entry描述了模块的信息.)
1).#include “php.h” #include “php_ini.h” #include “ext/standard/info.h” 要用extern “C” 修饰.
2).ZEND_GET_MODULE也要用extern “C”修饰
[...]