解决jquery和其他ajax冲突

在做一个项目(对UC Home二次开发)的时候,发现加入jquery不起作用,究其原因,原来是它们的全局对象定义冲突了,特别是变量”$”,发现是jquery里的$符号和UC Home里自身的Ajax发生冲突了,使jquery失效,这种情况也会发生在jquery和其他ajax框架发生冲突。如jQuery与Prototype并存冲突等。

解决方法是重载$,使用jQuery.noConflict()就可以通过重载$函数,从而区分开跟其他js库的重叠部分

只要在js文件的开头加一句

var $j = jQuery.noConflict();

然后后面要使用jquery的时候改用$j来调用,就可以了

记得要在载入完各js库后才能用jQuery.noConflict()进行重载哦。

例:

var $j = jQuery.noConflict();

$j(document).ready(function(){

$j(”div”).hide();

});

Tags: , , ,

Comments (1)

Segmentation fault in sprintf

最近在写C程序的时候常常遇到“Segmentation fault ”错误,号称“c 指针出现最多的错误”。而这次的错误可以肯定出现在使用sprintf函数时出现了问题。

编译成功通过,但运行时报“Segmentation fault ”错误。

查了一下sprintf函数原型说明:

sprintf() 格式化输出函数(图形)

功能: 函数sprintf()用来作格式化的输出。
用法:此函数调用方式为int sprintf(char *string,char *format,arg_list);
说明:函数sprintf()的用法和printf()函数一样,只是sprintf()函数给出第一个参数string(一般为字符数组),然后再调用outtextxy()函数将串里的字符显示在屏幕上。arg_list为参数表,可有不定个数。通常在绘图方式下输出数字时可调用sprintf()函数将所要输出的格式送到第一个参数,然后显示输出。

函数名: sprintf
功  能: 送格式化输出到字符串中
用  法: int sprintf(char *string, char *farmat [,argument,...]);

sprintf的作用是将一个格式化的字符串输出到一个目的字符串中,而printf是将一个格式化的字符串输出到屏幕
sprintf的第一个参数应该是目的字符串,如果不指定这个参数,执行过程中出现     ”该程序产生非法操作,即将被关闭….”的提示。
因为C语言在进行字符串操作时不检查字符串的空间是否够大,所以可能会出现数组越界而导致程序崩溃的问题。即使碰巧,程序没有出错,也不要这么用,因为早晚会出错。所以一定要在调用sprintf之前分配足够大的空间给buf。

原来我定义query这个变量的时候用了char *query;而没有使用数组分配大小;

Tags: , ,

Comments (1)

学习编程的一点忠告,尽可能的坚持!

  1. 不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点;
  2. 不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言;
  3. 浮躁的人容易说:XX语言不行了,应该学YY;——是你自己不行了吧!?
  4. 浮躁的人容易问:XX有钱途吗;——建议你去抢银行;
  5. 浮躁的人容易说:我要中文版!我英文不行!——不行?学呀!
  6. 浮躁的人容易问:XX和YY哪个好;——告诉你吧,都好——只要你学就行;
  7. 浮躁的人分两种:a)只观望而不学的人;b)只学而不坚持的人;
  8. 把时髦的技术挂在嘴边,还不如把过时的技术记在心里;
  9. 学习编程最好的方法之一就是阅读源代码;
  10. 在任何时刻都不要认为自己手中的书已经足够了;
  11. 看得懂的书,请仔细看;看不懂的书,请硬着头皮看;
  12. 别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍;
  13. 不要停留在集成开发环境的摇篮上,要学会控制集成开发环境,还要学会用命令行方式处理程序;
  14. 和别人一起讨论有意义的知识点,而不是争吵XX行不行或者YY与ZZ哪个好;
  15. 学习编程的秘诀是:编程,编程,再编程;
  16. 请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码;
  17. 把在书中看到的有意义的例子扩充;
  18. 请重视异常处理技术,并将其切实的运用到自己的程序中;
  19. 经常回顾自己以前写过的程序,并尝试重写,把自己学到的新知识运用进去;
  20. 既然决定了学XX,就请坚持学下去,因为学习程序设计语言的目的是掌握程序设计技术,而程序设计技术是跨语言的;
  21. 当你写程序写到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余下的部分粗略的完成以保证这个设计的完整性,然后分析自己的错误并重新设计和编写;
  22. 决不要因为程序“很小”就不遵循某些你不熟练的规则——好习惯是培养出来的,而不是一次记住的;
  23. 每学到一个难点的时候,尝试着对别人讲解这个知识点并让他理解——你能讲清楚才说明你真的理解了;
  24. 记录下在和别人交流时发现的自己忽视或不理解的知识点;
  25. 保存好你写过的所有的程序——那是你最好的积累之一;
  26. 请热爱你所学习的语言!

Tags: ,

Comments (1)

互联网+圆桌+龙虾

PHPWind 精英站长沙龙合肥站暨09安徽站长年会 结束后,有幸和嘉宾们一块共进晚餐,这样就有机会和大会嘉宾们更深入的交流了。这里感谢一下 合肥女性论坛的老猫,合肥生活网的徐总。

用餐时,和phpwind的运营总监 陈燎罕聊了一会儿,他和讲述了他们phpwind团队创业过程,发现和discuz出奇的相似。(康盛的故事大家都非常了解了吧,其实北有discuz、南有phpwind。)大二开始写论坛,比戴志康晚了半年,现在我们看到国内的论坛百分之九十以上的市场都被discuz和phpwind占了。从他们的创业经历当中,感触最深的还是一点“坚持”,陈总也说,如果当初放弃了,肯定不会有现在的成绩。

晚上,有幸和这次大会的一些嘉宾一起去龙虾一条街吃夜宵。互联网资深人士:海枫(就是大会上大喊大叫的那家伙) 最先发言,他对来的人做了一个非常有意思的比喻:有互联网里的偷盗的“火车头采集器”、提供帮凶的IDC服务商(中电华通的东东)、教别人怎么干“坏事”的php100的,有最会忽悠的SEO专家,还有警察绿盟科技的孙总,当然,海枫他自己是提供证据的(

Tags: , ,

Comments (2)

互联网?互联网!–参加站长大会有感

昨天(5.30)参加了“PHPWind 精英站长沙龙合肥站暨09安徽站长年会”,应该说,除了每次都来的合肥的本地互联网大佬,还来了国内不少知名的站长,phpwind创始人王学集、华军软件园的华军、seo专家祝鹏、康轶文、当然还有Admin5站长网 图王、郭吉军、海枫这些国内站长里圈里的老大哥们~~~

会议内容与去年的安徽站长大会差不多,主要还是关于运营、推广,还是偏向地方性网站的运营~~~

其中支付宝的黄总(黄丹枫)讲到的第四次工业革命:互联网应用革命。他提到的现在进入了大规模定制时代:包括柔性化生产、个性化营销、社会化物流3个方面~~这些观点感觉比较新颖,还有支付宝最近推出的CPA项目貌似可能帮助站长开辟新的盈利模式。

康轶文 的关于seo的演讲还是比较实用的:《SEO是什么”中的分词写作技巧》

其他关于网站运营推广方面的就没什么好说的了。但我想对广大站长还是有所帮助的….

整个会议下来,感觉体会最深的一点是做互联网要想成功,最重要的是“坚持”两字,好多嘉宾都谈到了这点。

Leave a Comment

5%的神话(关于开发效率与职业方向)

Bruce Eckel(Thinking in Java/C++作者) 在他的 5%的神话 (Mythical 5%) 中提到:
5%的程序员开发效率是其他95%程序员的20倍
(5% of programmers are 20x more productive than the other 95%)

按照80-20法则,80%的程序员几乎不看书,不读Blog,不参加技术会议,不持续学习。这些人也可能会进入大公司,他们日复一日的做着重复的工作。另外20%则在专业方面比较主动,他们喜欢阅读,喜欢学习,喜欢参加技术活动。这20%当中又会有80%的人可能不会特别成功,他们仍然走在通往成功的路上奋斗。剩下20%,也就是总数的5%的开发人员具备20倍的开发效率。

那如何成为这5%中的一员呢
Bruce Eckel 的观点:阅读,分析,总结,实践

这5%的人会习惯经常阅读新技术,并喜欢参与各种有潜在价值的新概念的实践,他们会有非常有选择性的参与会议,大部分时间都花在有效率的事情上,将事情做成。

要想比别人效率高出20%,则需要在各个方面达到平衡,而不单只是能将事情搞定那么简单,因此你要使用最好的工具,最优秀的技术,并尽最大的努力。平衡点并 不是从明显的事物上就可以轻松获得,或者是被人告知的经验,或者是大众化的经验。它需要自己摸索并发现事物背后的规律,需要自己去总结并发现。

比如我们通常对各种编程语言优缺点熟记于心,我们通常可以脱口而出比如erlang适合大并发场合等等。但是大部分人不会意识到很多场合语言并不重要。

因此如果你要成为那5你必须持之以恒的坚持学习,多学习编程是有好处的,但是仅仅局限于了解编程是不够的,比如类似以下经验:

*

Tags: , ,

Comments (3)

杂谈twitter

   今天看到robbin老师的博客里写了一篇《twitter为什么这么火?》 感觉robbin对互联网的理解真的很深刻,观点非常好,真的忍不住想说说twitter。
   谈谈我与twitter的情缘吧,我是08年注册twitter的,刚注册完进入twitter的时候觉得这破东西这么简单,就一个what are you doing ? 不就是个留言板嘛,有什么的~~~没想到,接下来的08年和09年,twitter就像是互联网里的一颗明星。我现在也成为twitter的深度用户,通过twitter我觉得最受益的就是可以快速得获得最新的新闻和最前沿的大家关于互联网的观点、能很好的把握趋势….国内copy twitter的越来越多,饭否、叽歪、嘀咕、滔滔…太多太多了,而且各个网站的用户群也越来越大~~~还有一些大网站的动作:随后facebook和friendfeed都放下身段,抄袭twitter,国内的校内等个sns站点强化他们的“状态”功能….最近又不断在传apple公司要收购twitter,之前也有人说google也想收购twitter,更把twitter推到聚光灯下~~

还有一个值得注意的就是,今年,针对twitter的应用也越来越多,同步聚合微博的、客户端、插件,还有很多新奇的应用~~~而我个人也觉得twitter和3G结合的应用在未来肯定有非常好的发展。

twitter是让我思考最多的一个web 2.0 应用,正是因为他的简约却不简单。从去年开始,我就一直非常关注twitter的发展。我也曾经翻译过两篇关于twitter的文章:《Twitter在一定程度上代替RSS reader》《Twitter 神话:关于twitter的有趣研究》

Tags: ,

Leave a Comment

VMware手工启动停止批处理 加速开机启动

很多朋友都有这样的问题,安装VMware后发现开机速度变得好慢,其实是因为VMware开机自动启动了4个服务,大大拖慢了开机速度。而我们往往不用每次开机都启动VMware,所以最好的办法就是讲VMware的服务设成手动启动,但设成手动启动后要开启VMware一个一个的开又很麻烦,写个VMware手工启动停止的批处理是个好主意,简单易用~~~

第一步:控制面板 ->管理工具 -> 服务
找到所有关于VMware的服务,将其启动类型设为 手动
第二步:下面是我写的简单的VMware手工启动停止批处理脚本,复制粘贴到记事本里,然后改后缀名为bat

f3e39c150aa022f659c86b8c674aebf7000

如果需要对网卡同时启用或禁用,就需要devcon 工具来控制网络连接的停用/启用,需要到微软网站下载该工具。
然后在 start 里面加入
devcon.exe enable *vmnetadapter1
devcon.exe enable *vmnetadapter8

在 stop 里面加入:
devcon.exe disable *vmnetadapter1
devcon.exe disable *vmnetadapter8

Tags: ,

Leave a Comment

Libpcap开发集介绍

libpcap是一个C语言库,libpcap的英文意思是 Packet Capture library,即数据包捕获函数库,其功能是通过网卡抓取网络以太网中的数据包。这个库为不同的平台提供了一致的c函数编程接口,在安装了 libpcap 的平台上,以 libpcap 为接口写的程序、应用,能够自由地跨平台使用。它支持多种操作系统。libpcap 结构简单,使用方便;它提供了20多个api封装函数,我们利用这些api函数即可完成本网络探测器所需的网络数据包监听功能。
Libpcap开发库的应用

*
网络统计软件
*
入侵检测系统
*
网络调试
*
数据包过滤,支持过滤机制BPF

Libpcap开发库使用说明

基于pcap的嗅探器程序的总体架构,其流程如下:

1.
首先要决定用哪一个接口进行嗅探开始。在Linux中,这可能是eth0,而在BSD系统中则可能是xl1等等。我们也可以用一个字符串来定义这个设备,或者采用pcap提供的接口名来工作。
2.
初始化pcap。在这里需要告诉pcap对什么设备进行嗅探。假如愿意的话,我们还可以嗅探多个设备。怎样区分它们呢?使用 文件句柄。就像打开一个文件进行读写一样,必须命名我们的嗅探“会话”,以此使它们各自区别开来。
3.
如果只想嗅探特定的传输(如TCP/IP包,发往端口23的包等等),我们必须创建一个规则集合,编译并且使用它。这个过程分为三个相互紧密关联的阶段。规则集合被置于一个字符串内,并且被转换成能被pcap读的格式(因此编译它)。编译实际上就是在我们的程序里调用一个不被外部程序使用的函数。接下来我们要告诉 pcap使用它来过滤出我们想要的那一个会话。(此步骤可选)
4.

Tags: ,

Leave a Comment

libpcap 编程入门资源

最近在学习libpcap编程,找到几个非常好的libpcap编程入门资源。
第一个当然是官网www.tcpdump.org/ 的document:
《Programming with pcap
《Programming with Libpcap - Sniffing the network from our own application》 (pdf,非常漂亮,文章写得又好)
还有一篇《Aprendiendo a programar con libpcap》可惜是西班牙语,看不懂,不过从里面的图来看貌似是个好文档。

第二个是个非常好的libpcap编程入门教程。通俗易懂:
《The Sniffer’s Guide to Raw Traffic》
这篇教材里的例子国内非常多的人转载,而且有中文的分析,一个比较好的地址是:http://blog.csdn.net/bat603/archive/2006/09/04/1176251.aspx

当然啦,最好的学习资源还是tcpdump的源代码啦,看完上面那几篇文章后,估计读tcpdump也就比较轻松了~~

Tags: , ,

Leave a Comment