首先要说下编码问题,如果XML文件与页面文件编码不一致,那么乱码会产生。解决中文乱码问题可以输出时用以下语句:echoiconv("UTF-8","GBK",$Song_Url);PHP网页的编码php文件本身的编码与网页的编码应匹配,如果欲使用gb2312编码,那么php要输出头:header("Content-Type:text/html;charset=gb2312"),静态页面添加<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">,所有文件的编码格式为ANSI,可用记事本打开... 编写验证规则最流行和最简单的方法就是正则表达式了,但唯一的一个问题是正则表达式的语法太隐晦了,让人蛋疼无比。很多开发者为了在项目中应用复杂的验证,经常要使用一些小抄来记住正则式的复杂语法和各种常用命令。在这篇文章中,我将试图让大家明白什么是正则表达式,以及如何更轻松地学习正则表达式。也许你是初学者,那以防万一,我先来讲讲什么是正则表达式吧:正则表达式可以帮助我们更好的描述复杂的文本格式。一旦你描述清楚了这些格式,那你就可以利用它们对文本数据进行检索、替换、提取和修改操作。下面有一个正则表达式的简单例子。第一步先要引入有关正则式的命名空间:... 很多人都说程序员是吃青春饭的,其实这点不假说的有道理,我们想想有哪家单位会招聘一个年过30的程序员。“高龄”程序员面临着家庭的压力,精神上的压力,工作的压力,最后会彷徨会感慨程序员吃“青春饭”。中国的行情大家有目共睹,程序员就是要体力好,能抗压、能在体力透支的情况下还要保证程序的正确编写、周而复始的调试,加班通宵眼不要花。其实大部分的程序员并不在一些技术博客里面,他们存在于冲冲忙忙的“杂事”中,没有规划、没有目标,满足工作需要就OK了。多数公司都是业务型的,以业务驱动系统的整个生命周期,这一点我非常有体会,按照软件工程所说的科学化管理、工程化管理,但是软件毕竟是软件而和... 对于web应用开发,多数性能瓶颈均出现在数据库上,除了采用分布式架构或云处理(大公司基本上都是),更重要的是平时程序设计时要遵照一些规则,从根本上提高系统的性能,以下总结了一些常用的规则方法,仅供参考。1、把数据、日志、索引放到不同的I/O设备上,增加读取速度。数据量(尺寸)越大,提高I/O越重要。2、纵向、横向分割表,减少表的尺寸,如:可以把大数据量的字段拆分表。3、根据查询条件,建立索引,优化索引、优化访问方式,限制结果集的数据量。注意填充因子要适当(最好是使用默认值0)。索引应该尽量小,尽量使用字节数小的列建索引,不要对有限的几个值的列建单一索引。4、... 完美实现PHP写入,读取,替换文件内容。先解释一下,主要用到:fopen("文件名.扩展名","操作方式")fwrite(读取的文件,"写入的文件");fclose(打开的对象变量);//写入文件$str="Thisisatestfromwww.goorder.netn";//w表示以写入的方式打开文件,如果文件不存在,系统会自动建立$file_pointer=fopen("aa.txt","a+");fwrite($file_pointer,$str);fclose($file_pointer);//读取文件$file_name="a... 学习一门编程语言或者编程技术的方式基本上是这样一个流程:1.对学习这门语言或者技术的必要性进行评估。比如你是工作需要,或者兴趣所至,甚至是为了把妹。这个必要性关系到你要学多深入,需要学习多长时间。比如我想学Lua,是想学它如何在万把行代码里面实现了一个如此精巧的编程语言,想学习它的GC机制,学习它如何设计VM,如何用纯C语言设计项目等等。2.寻找相关资源。比较好的起始点是这门技术的官方网站以及维基百科。比如Lua语言的官方网站是http://www.lua.org,维基百科地址为http://en.wikipedia.org/wiki/Lua_%28programm... 在Web开发的时候经常会遇到浏览器不响应事件进入假死状态,甚至弹出“脚本运行时间过长“的提示框,如果出现这种情况说明你的脚本已经失控了,必须进行优化。为什么会出现这种情况呢,我们先来看一下浏览器的内核处理方式:浏览器的内核是多线程的,它们在内核制控下相互配合以保持同步,一个浏览器至少实现三个常驻线程:javascript引擎线程,GUI渲染线程,浏览器事件触发线程。JavaScript引擎是基于事件驱动单线程执行的,JS引擎一直等待着任务队列中任务的到来然后加以处理,浏览器无论再什么时候都只有一个JS线程在运行JS程序。...
在C和C++语言开发中,指针、内存一直是学习的重点。因为C语言作为一种偏底层的中低级语言,提供了大量的内存直接操作的方法,这一方面使程序的灵活度最大化,同时也为bug埋下很多隐患。因此,无论如何,我们都要对内存有一个清晰的理解。1.对内存的分配32位操作系统支持4GB内存的连续访问,但通常把内存分为两个2GB的空间,每个进程在运行时最大可以使用2GB的私有内存(0x00000000—0x7FFFFFFF)。即理论上支持如下的大数组:charszBuffer[2*1024*1024*1024];当然,由于在实际运行时,程序还有代码段、临时... 在Web开发的时候经常会遇到浏览器不响应事件进入假死状态,甚至弹出“脚本运行时间过长“的提示框,如果出现这种情况说明你的脚本已经失控了。一个浏览器至少存在三个线程:js引擎线程(处理js)、GUI渲染线程(渲染页面)、浏览器事件触发线程(控制交互)。JavaScript引擎是基于事件驱动单线程执行的,JS引擎一直等待着任务队列中任务的到来然后加以处理,浏览器无论再什么时候都只有一个JS线程在运行JS程序。GUI渲染线程负责渲染浏览器界面,当界面需要重绘(Repaint)或由于某种操作引发回流(reflow)时,该线程就会执行。但需要...
最近读了彼得·圣吉的《第五项修炼》,有点感悟。这本书是从系统力学的角度阐述如何建立学习型的组织,通过建立学习型的组织,使企业从优秀到卓越,使企业基业长青,被称为21世纪的管理圣经。这篇文章探讨一下书中五项修炼中的第一项修炼:自我超越。我将从程序员的成长角度来进行:程序员如何进行自我超越。首先要建立个人的愿景愿景是程序员内心真正最关心的事情。愿景不同于上层目标,上层目标是抽象的,属于方向性的、比较广泛,而愿景是一个特定的结果,一种期望的未来景象。对程序员来说上层目标可能是提升编程能力,其愿景是成为开发leader。当你完成成为一位开发leader这个愿景之后,上层... 在JavaScript1.6里,javascript数组增加了几个非常有用的方法:indexOf、lastIndexOf、every、filter、forEach、map、some,其中前两个可以归为元素定位方法,而后面的几个则可以归为迭代(iterative)方法。遗憾的是:这些新方法并非所有浏览器都支持,在这种情况下,我们就需要自己动手了,在这些介绍的文章中,我们同时提供了在不支持这些新特性的浏览器中的实现方法。原生方法如下:varmappedArray=array.map(callback[,thisObject]);callba... 如果不用JQuery,为了不频繁使用document.getElementById()这个方法,很多人会写下面的一个方法来解决这个问题:var$=function(id){return"string"==typeofid?document.getElementById(id):id;};但是你如果突然想使用JQuery,那么这么写会与JQuery冲突的,导致JQuery获取不了对象。所以比较安全的写法是:var$id=function(id){return"string"==typeofid?document.getElementById(id):id... 《算法导论》第二版的附录C.2概率有这么一道习题:一个监狱看守从三个罪犯中随机选择一个予以释放,其他两个将被处死。警卫知道哪个人是否会被释放,但是不允许给罪犯任何关于其状态的信息。让我们分别称罪犯为X,Y,Z。罪犯X私下问警卫Y或Z哪个会被处死,因为他已经知道他们中至少一个人会死,警卫不能透露任何关于他本人状态的信息。警卫告诉X,Y将被处死。X感到很高兴,因为他认为他或者Z将被释放,这意味着他被释放的概率是1/2。他正确吗?或者他的机会仍是1/3?请解释。由于书出这道题的一节讲到了概率、条件概率和贝叶斯定理。所以我当时是这么解题的:记事件A为:X被释放;事件B为... Session处理是所有的Web应用都必须面对的问题。PHP中对session有效期的处理,和其他的解决方案有着很大的不同,这是和PHP的工作机制相关的。在传统的client/server应用中,对于session失效的情况,可以交给网络协议自己来处理。无论是client端主动关闭连接,还是因为网络异常而导致的连接中断,server端都能够得到通知,触发连接中断的事件。只要编程响应这一事件,执行指定的操作即可。但对于web应用来说,情况却完全不一样。HTTP协议本身是无状态的,也就是说,每当client/server完成一次请求/响应的过程后,连接就会被断开。在断开连接以后,s... PHP的背景恐怕就不用默默赘言了,我相信大家选择一种语言,并不是看它的背景和悠久历史,更重要的是看它的实用性,华而不实的语言哪怕是再辉煌的历史,也毕将步向没落,可喜的是PHP经受住了考验,也因此,它确实是一种值得学习的语言。学习PHP的一般过程:熟悉HTML/CSS/JS等网页基本元素,完成阶段可自行制作完整的网页,对元素属性达到熟悉程度理解动态语言的概念,运做机制,熟悉PHP语法学习如何将PHP与HTML结合起来完成简单动态页面接触MYSQL,开始设计数据库程序不断巩固,摸透大部分PHP常用函数,并可理解OOP,MYSQL优化,以及模板完成一个功能齐...
基础概念开始SEO,搜索引擎优化。概括来说就是针对分析搜索引擎的网站收录以及评价规律,来对网站的结构,内容以及其他因素作出一些合理调整,使得网站更容易被搜索引擎收录,并且能够尽量排在搜索引擎自然排名的前列。在上段中提到了自然排名这个概念,是因为在搜索引擎中,还有着另外一个部分,在常规意义上,我们称之为“右侧广告”。不过我们在查看时发现这个概念已经不够准确,因为百度的广告已经不只在右侧。而google在这里则体现了技术型公司和商业型公司的差别,google只有右侧的广告。SEO——加密与解密其实,SEO的过程很类似与加密和解密的过程。加密和解密是软件制造商和破解... 计算机专业毕业后大致的工作方向是软、硬、网、图四大类。如果你选择作技术,那么从现在开始,牢记:天道酬勤!如果你选择软件技术,那么每天都要用大量的时间学习高级语言,绝对不能仅限于学校的安排。优秀的程序员都是大学阶段就已经自学得非常深入了。如果你选择网络技术,那么你就多多从网上阅读有关资料。如果你选择营销类,那么,你只要将老师教授的学好就可以了。但是,一定要用大量的时间。给计算机专业的同学首先请你热爱这个专业。只有这样,你才会从抽象的理论中找到实实在在的快乐。如果你不热爱她,或者只因为这是个热门专业,那么极力要求你放弃这个专业,因为计算机是一把双刃剑,... 程序运行时,我们最好对数据存储到什么地方做到心中有数。特别要注意的是内存的分配。有六个地方都可以存储数据:Registers寄存器这是速度最快的存储场所,因为寄存器其他所有存储媒介都不同:它位于处理器内部。不过,寄存器的数量十分有限,所以寄存器是根据需要由编译器适当地分配。作为一个程序员,我们对此没有直接的控制权,也没办法在程序里头感觉到寄存器的任何存在迹象。Stack栈位于一般的RAM(random-accessmemory,随机访问内存)中。处理器通过其指针(“栈指针”,stackpointer)获得处理的直接支持。栈指针若向下(后)移,会分配新的内存;若向上... IBM院士GradyBooch一言以蔽之,整个软件工程史——甚至可能包括其未来——可归结为抽象水平的不断提高。当今的软件密集型系统(software-intensivesystem)有一系列共同特征:它们通常都相当复杂、分散部署、并发协作,同时还在持续不断地演化。不仅如此,这类系统大多不是孤立的,系统之中嵌系统,单个系统不过是其中一个元素而已。它们为与其他系统进行协作而存在,与之协作的系统往往由其他组织在不同时间开发,且以不同速率各自发生着变化。在很多方面而言,所有的软件密集型系统,相对于其所处的时代都是复杂的。在计算领域的早期时代,我们在很大程度上受到硬件的约束和限... 很多做CSSER的不会去关心SEO,认为这个只是决策者要考虑的问题,不过我觉得优化是要从基础开始做的。无论是整个页面的布局,还是每个标签的使用上,不仅要符合W3C对标签的使用规范,而且要对页面优化,和权重的分布行进把握!下面使一些相关的资料,希望对大家有所用处,还可以留言探讨。权重分值排列内部链接文字:10分 标题title:10分 域名:7分 H1,H2字号标题:5分 每段首句:5分 路径或文件名:4分 相似度(关键词堆积):4分 每句开头:1.5分加粗或斜体:1分 文本用法(内容):1分 title属性:1分...