话说有一天,东北人、广东人、河南人、上海人、北京人、浙江人和内蒙人共乘一架飞机,飞机升空后发现超重,需要一个人跳下去才能确保安全。谁该跳下去?广东人掏出一张支票:“哪位跳下去,这张支票就是他的了。”北京人慷慨陈词:“生命是能用钱买的吗?人固有一死,或重于泰山,或轻于鸿毛。不就一条命吗?我——”当众人敬佩地看着他的时候,北京人却话头一转:“我今天要和联合国秘书长特使谈论国际维和问题,事关全人类的大事,我不能死,只好把青史留名的机会留给诸位了。”上海人说:“我认为谁该跳下去,要由一个人在社会经济生活中的价值来决定。我的宝贵生命是为大上海的经济地位服务的,没有理由不珍惜!”河南人忽然泪流满面:“俺是农民,俺该跳下去,可俺家还有80岁老娘。”东北人不耐烦了,亮出拳头说:“整那么多废话干吗?谁的拳头硬谁就留下!”于是大家都看着瘦小的浙江人,浙江人拿出一个小秤说:“我才80斤4两,即使我跳下去也解决不了问题啊!”
这时内蒙人站出来了,啥也没说就拉开了舱门。从驾驶舱又过来一个内蒙人,拍着他的肩膀说:“关键时刻还得看咱内蒙爷们,老哥陪着你一起跳!”机舱里一片赞叹声!突然,飞机剧烈下坠了——陪老乡一同跳下去的内蒙人是驾驶员。
内蒙人天生不爱表达,忠厚老实,外粗内秀,心里的话从来就羞于表达,有时急得脑门冒汗;内蒙人说话不好听,一口浓浓的内蒙口音,伴着憨厚的朴实的语言,仍不被人理解甚至让人误解;内蒙人只会踏踏实实的去做,跟内蒙人交朋友,你要有耐心,其善良纯朴的心要慢慢去领会。内蒙人很难说出动感情的话,一旦说了,那可是一般人没有的勇气啊。内蒙人,只可放心地去交往,绝对可交!
忠诚,是内蒙人历来的优良品德,最近感叹于一则调查报告,内蒙人的离婚率全国最低。内蒙人眷恋着自己的故乡,无论走到哪里,都要证明自己是好样的,是实实在在的内蒙人。内蒙人热爱自己的故乡,内蒙人特别重视老乡关系,共同的生活地域,共同的生活背景和氛围,共同的乡音,使出门在外的内蒙人在相互交流中既找到了亲切感,又驱逐心中的寂寞。忠诚构筑了内蒙人生生不息的本质,而这忠诚的信念厚厚地渗透沉淀在内蒙人的心灵深处,一旦他们认准了值得为之忠心耿耿的事或人,就会忠诚有加,不会有丝毫懈怠,为朋友同生死,共患难,两肋插刀,忠于爱人,忠于家庭,终于朋友。
内蒙人老实,擅长政治,不擅长经商,内蒙人做生意不愿到南方来,南方人太精明,内蒙人没心计,不习惯勾心斗角,内蒙人宁愿吃亏,也不能忘记自己的本分,以诚待人,不管别人对自己怎样,我要真诚对待每一个人,这种为人处世之道,眼前亏可能会吃些,但最终笑到最后还是内蒙人。精诚所至,金石为开。请信赖我们内蒙人。做人要厚道,眼光放长久点,这世界还是我们老实人的。内蒙人是优秀的,细心的你就会发现,内蒙人各方面都不差,经济、文化、体育,甚至读书的孩子,都是那么的刻苦、勤奋,天南地北的内蒙人在任何地方都可以撑起一片天...
内蒙人很少谈及爱情和自己爱的人。因为内蒙人骨子里面认为这是他们最宝贵的东西。内蒙人一旦选定自己爱的人,就会和他死心踏地好一辈子,哪怕一开始不喜欢,也会慢慢变得喜欢,并好好地去爱去付出。内蒙人极不愿意提及分手,因为他根本不会去伤害一个人。内蒙人不擅长花前月下,不擅长花言巧语,甚至不懂浪漫,但能对自己心爱的人笨拙地尝试去做,你不要打消他的积极*,这份认真和诚意迟早你会感受到的。据调查,90%的美女愿意嫁给内蒙人
这时内蒙人站出来了,啥也没说就拉开了舱门。从驾驶舱又过来一个内蒙人,拍着他的肩膀说:“关键时刻还得看咱内蒙爷们,老哥陪着你一起跳!”机舱里一片赞叹声!突然,飞机剧烈下坠了——陪老乡一同跳下去的内蒙人是驾驶员。
内蒙人天生不爱表达,忠厚老实,外粗内秀,心里的话从来就羞于表达,有时急得脑门冒汗;内蒙人说话不好听,一口浓浓的内蒙口音,伴着憨厚的朴实的语言,仍不被人理解甚至让人误解;内蒙人只会踏踏实实的去做,跟内蒙人交朋友,你要有耐心,其善良纯朴的心要慢慢去领会。内蒙人很难说出动感情的话,一旦说了,那可是一般人没有的勇气啊。内蒙人,只可放心地去交往,绝对可交!
忠诚,是内蒙人历来的优良品德,最近感叹于一则调查报告,内蒙人的离婚率全国最低。内蒙人眷恋着自己的故乡,无论走到哪里,都要证明自己是好样的,是实实在在的内蒙人。内蒙人热爱自己的故乡,内蒙人特别重视老乡关系,共同的生活地域,共同的生活背景和氛围,共同的乡音,使出门在外的内蒙人在相互交流中既找到了亲切感,又驱逐心中的寂寞。忠诚构筑了内蒙人生生不息的本质,而这忠诚的信念厚厚地渗透沉淀在内蒙人的心灵深处,一旦他们认准了值得为之忠心耿耿的事或人,就会忠诚有加,不会有丝毫懈怠,为朋友同生死,共患难,两肋插刀,忠于爱人,忠于家庭,终于朋友。
内蒙人老实,擅长政治,不擅长经商,内蒙人做生意不愿到南方来,南方人太精明,内蒙人没心计,不习惯勾心斗角,内蒙人宁愿吃亏,也不能忘记自己的本分,以诚待人,不管别人对自己怎样,我要真诚对待每一个人,这种为人处世之道,眼前亏可能会吃些,但最终笑到最后还是内蒙人。精诚所至,金石为开。请信赖我们内蒙人。做人要厚道,眼光放长久点,这世界还是我们老实人的。内蒙人是优秀的,细心的你就会发现,内蒙人各方面都不差,经济、文化、体育,甚至读书的孩子,都是那么的刻苦、勤奋,天南地北的内蒙人在任何地方都可以撑起一片天...
内蒙人很少谈及爱情和自己爱的人。因为内蒙人骨子里面认为这是他们最宝贵的东西。内蒙人一旦选定自己爱的人,就会和他死心踏地好一辈子,哪怕一开始不喜欢,也会慢慢变得喜欢,并好好地去爱去付出。内蒙人极不愿意提及分手,因为他根本不会去伤害一个人。内蒙人不擅长花前月下,不擅长花言巧语,甚至不懂浪漫,但能对自己心爱的人笨拙地尝试去做,你不要打消他的积极*,这份认真和诚意迟早你会感受到的。据调查,90%的美女愿意嫁给内蒙人
逛论坛时看到有朋友问,是否有专门教Javascript的学校,这里想想把自己的一点建议和自己3年来的前端Javascript开发的经验跟大家分享下,也给出几本个人认为不错的书来做为大家学习的参考资料。当然只是个人的经验,有什么不对的也请高手见谅和指正。
关于到培训学校学习的忠告:别说现在没有这样的学校,就是有专门的学校也不要去,因为不会有好的老师的。不要浪费你自己(很可能是你父母)的钱和时间。趁早死了这个念头。
关于培训学校的这个我想我要比一般的朋友更有发言权,因为我本人干英语培训将近2年,我很清楚培训市场的情况,你很难碰到一个好的老师。英语可能还好些,毕竟英语说得好的老师还比较多,长期跟老外泡在一起,确实对口语能力的提高很显著,但是代价是很昂贵的。而你现在要学的是Javascript,呵呵,好的前端工程师可不多!
我的个人观点,有资格和有能力的教好Javascript的老师,一定要是个好的有着丰富的前端开发经验的前端工程师。大学的老师,教授可能他们中很少有人符合这个要求,而好的前端工程师,都忙着自己的工作去了。剩下的有时间去教Javascript的人,呵呵,就不多说了。
这里也发点牢骚,我们在大学校园里学习的东西,你学的时候根本不知道这个东西有什么意义,你自己不去钻研,老师他是不会告诉你的。在培训学校,呵呵,也差不多。
如果不是一个好的前端工程师,他很难告诉你为什么我们现在提倡使用闭包把以前的全局变量放到闭包中作为闭包函数的局部变量?他也很难对Javascript变量作用域的相关知识跟你讲透彻。在Javascript里能够形成scope(作用域)的东西有哪些?为什么说全局变量是魔鬼?闭包又是怎么产生的作用域?等等这样很基础,但很重要的知识的意义,他不清楚,讲给你听,让你明白这些知识和他们的意义就更困难。
呵呵,所以我的建议,想学Javascript,还是多跟你的身边认识的朋友,特别是那些从事前端开发的工程师多交流和学习。自己要多钻研。呵呵,不认识前端工程师,就到蓝色理想来多看看(bbs.blueidea.com,记住!这可不是广告哦!),把你不清楚的问题提出来,但是我这里要说一个好的学习习惯。什么时候提问?
什么时候提问?这个也是问题吗?对的,很多人,也是很多在校学生的一个不好的学习习惯,一有问题就问别人请求帮助。我个人这个是个坏习惯。难道问问题也是个坏习惯?对的,我个人觉得,你问问题寻求别人的帮助,应该是在你自己已经动脑经思考,通过各种途径查阅相关资料都无法获取问题的最终解决办法的情况下再来提问?这样你已经对你要解决的问题做过研究,有一定了解,你可以更详细的告诉别人你想要的答案大概是什么样的,或者说你可以把你想描述的问题讲的更清楚。这样别人来解决你的问题的时候,也可以更快速的作出解答。我想你学起来,对这个问题的理解也会更深刻些。
好了,好像扯得有些远了。来谈谈怎么学习Javascript吧!先给大家泼点冷水,我想告诉你的是:Javascript要比其他的开发语言都难学好!
为什么?因为就目前来说,大家(国内甚至是国外的程序员)普遍对Javascript这门编程语言(请允许我这么说)了解和研究得不够深,至少不像大家对JAVA,C#等这样的语言了解的和研究得那么透。所以这个就引起了另一个问题,现在市面上Javascript的书籍对Javascript这门语言的讲解都不够深入和全面。当然是相对JAVA,C#这样的语言来说。所以这就导致了,学Javascript很困难。当然学任何一门编程语言,特别是学好,学精都不容易。
不过也有好的消息,就是现在大家对Javascript的重视和更深入的研究,现在Javascript书籍里讲解的内容也要比4年前质量高出太多了,可以这么说,你现在开始Javascript正是时候哦!呵呵!所以这里也给大家一个经验,买Javascript的书,最好不要买4年前,也就是2005年前出版的。最好买近两年出版的书。
说到这里,我想说说一个现象,随这大家近几年对Javascript的重视和研究,主要是很多传统的程序员开始学习和研究Javascript,他们把面向对象编程的思想带入到Javascript的前端开发,极大的促进了Javascript的推广和发展。这点要十分感谢他们。也许是处于这些程序员的传统的开发的思想的影响,现在我们的Javascript库如雨后春笋般的出现。
呵呵!JAVA有JAVA的库和各种各样的框架,C#也是模仿JAVA,也是有着丰富的开发库。这些库为我们的开发带来了极大的方便,这是个很不错的事情。所以这些传统的程序员在从事前端的开发的时候,也为自己编写了库。我们很熟悉的就有prototype,jQuery,YUI,Ext等等,我就不一一列举了。当然这些库的出现也为我们的前端开发带来了极大的方便,但是事情都有两面性的,在这些库的出现后,在给我们的开发带来便利的同时,也让我们的很多朋友产生对库的依赖,可能严重点的,没有库了,给他个记事本(我们姑且不提开发效率)可能就不知道如何下手了。
如果仔细想想,这个也是很可怕的事情。为什么?因为大家都不再去花心思去研究Javascript底层的知识,只是一味的在这些库的帮助下,构建那些炫目的特效(还好,这些库都是免费的)。或者干脆直接用别人写好的插件。都不知道万一这些库要是开始收费(只是瞎想想),怎么办?还有就是这些库比如有别有用心的人,在中加点什么恶意的东西,我想很难有人会从头到位把一个库研究个透。你怎么办?最严重的就是编程能力的下降,但给人的感觉是入门的门槛更底了。不要被“The Write Less, Do More”这样的广告迷惑了,因为在你加载这个库的同时,别忘了"Size of your web page is much bigger, or say the size is HUGE".
所以当大家使用这些库的时候,我希望大家不仅仅是使用者,也要用心去阅读这些库的代码,从中学习。收获会很大的,而且说不定,你会发现可个改善地方,甚至是有错误的地方。这个是很有可能的。还有就是我刚才提到的,这些库的开发者很多都是从传统的程序员转型过来,或者说是因为开发需要而开始学习Javascript,很可能会有错误。或者说受以前学习语言的影响,写的程序更像是在写其他的语言,而不是写Javascript,执行效率并不高。所以不要迷信库。
问几个问题,你清楚jQuery是怎么实现CSS(3)和XML的XPath选择器的吗?jQuery又是怎么实现eventHandle的?怎么处理其中的浏览器兼容性问题的?
如果你还不明白我提的问题,那么请仔细看看jQuery是怎么实现的吧!如果你还读不懂它,还是多看看我要给你介绍的Javascript的书吧,了解Javascript的底层和基础的知识。让自己能读懂jQuery,让自己不要jQuery也能实现Dom的拖动,让自己也能写出自己的库。当然这话我说得太大了。不过只要你是真正研究Javascript和相关的知识,你也可以做到的。
绕了这么大一圈,现在让我们正式开始吧,来介绍几本学习Javascript的书吧。(以下介绍的书都是本人自己购买阅读过的,对了我不崇洋媚外,一条真理:不要买中国人写的Javascript书)
入门的书:
《Javascript高级程序设计》:不要被“高级”这两个字吓到,这个书其实是本很不错的入门的书,因为这本书也很详细的介绍了javascript的全部内置对象和语法,并且介绍了面向对象的思想,DOM、BOM的知识,正则表达式,高级的DOM处理。Ajax的知识,还是很全面的。而且个人认为这本书对基础知识的介绍并不比其他的同类书逊色。比起《Javascript权威指南》(我当时买点的是第4版),我觉得更详细些和更清楚些。在《指南》的第4版中,我觉得那本书中讲的东西有点混乱。感觉一个知识点还没有讲清楚,就给你一个什么类,看得不明不白的。因为没有看《指南》的第五版,所以这里不推荐给大家。而且《高级程序设计》这本书要比《指南》便宜不少。《高级程序设计》中也提出了采用功能(future)探测来取代浏览器版本探测来处理脚本兼容性的处理。个人觉得《指南》有的,这本书也都说了。还有我前面提到的,这本书的作者是YAHOO的资深的前端工程师,你可以在他的网站下载到相关的代码。
《Javascript DOM 编程艺术》:我个人的感觉是学习DOM编程的经典入门书籍,作者是webstandards.org的创始人之一,书中以浅显易懂的语言,教你一步一步的来讲解DOM编程,一点点地提升网站的用户体验。书中一直强调不唐突的脚本开发,网站要向后兼容,强调网站的可访问性。这个也是大家在做前端开发时应当努力追求的,也是必须要有的开发指导思想。可惜很多的后台开发的程序员,根本没有这个概念,所以你在开发的时候,一定要给你的程序员多洗脑。呵呵!
《CSS权威指南》第三版:做前端开发,你必须要了解CSS,书中对CSS2的介绍很详细了。仔细的看吧,我每次看的时候,有会有新的收获。
《网站重构》、《CSS网站布局实录》(唯一一本推荐的国人写的书):看完了,你会知道为什么学WEB标准?你会知道前端工程师的工作很重要。
提高阶段:
《Javascript DOM 高级编程》:这本书里不光详细的介绍的DOM编程的技巧,也讲了使用面向对象编程的方法,使用命名空间来管理书中所写的开发库,在不断的学习中,你的个人DOM Javascript库也不断的充实。呵呵,就像我前面说的,你可以写出自己的库了。当然书中的代码比较松散,还不能运用到实际的企业级的开发中。但是书中对闭包的介绍和面向对象的开发思想,会使你对JS的认识又提高了一个层次,虽然对面向对象开发的讲解还不够深。
《XML技术手册》:我们知道ajax,其中X就是指的XML,所以要了解XML的相关知识,你这本书,是一定要看的。看了之后你会发现XML要了解的东西实在太多了,可能跟你了解的东西相比,你才知道点皮毛。对了,这里说下,我并不推荐你使用XML来作为你的Ajax的程序的数据的载体。为什么?因为很不经济。你先把数据转换成XML文档,然后再通过Javascript把XML文档中的数据提出来,把文档转成数据。而浏览器对XPath处理的兼容性的处理,你会很发狂的。现在我们有一个代替他的东西JSON。但是由于XML已经是很多标准的默认数据通讯载体,比如RSS等,所以你还是得掌握。
个人觉得学Javascript看这些书基本差不多了。因为在我买过其他的书(
《精通Javascript》:名字起的太玄了,书不怎么样,什么都讲了点,就是不讲他怎么用jQuery来实现那些高级功能的。
《PPK 谈 Javascript》感觉跟《精通》差不多,什么都讲点,不过多点。还有起码不像《精通》起那么臭屁的名字,作者的网站确实很推荐大家去看看,http://www.quirksmode.org/。
《CSS高级技巧》介绍了很多HACK技巧,也很有用,是本好书,就是翻译得比较烂。
《Ajax in Action》、《Ajax高级编程》介绍AJAX的内容,主要看看XMLHTTPRequest的介绍把,里面的例子,很多在《高级编程》中都看过了。
《JavaScript王者归来》我上当了,自己也SB了一回。
《JavaScript:The Good Parts(影印版)》好书,你会知道JAVASCIRPT这闷语言什么东西是好的,什么东西不好?
)中,讲的内容都是大同小异。看完这些书,你了解了Javascript的相关知识,了解了CSS(你会知道CSS都有哪些选择器),你了解了XML的知识。呵呵,基础的开发你应该都可以自己解决了。而且你对Javascript的面向对象的开发也有了了解,有着向后兼容的开发思想。显然你看完这些书,你对WEB标准也会有一个更深层次的理解。
说明:为防止我的手误,把书名打错了,今天把书的图片传了上来,这回不会买错了吧
当然,想成为一个优秀的前端工程师,你要学习的知识并不只有这些,你也要知道SEO的优化知识,因为你写的页面要对搜索引擎也要友好,要结构合理。你还要了解SQL和数据库,最好还要了解C#等后台编程的语言。两个主要原因,要全面的提高自己,而且要充分的理解面向对象的编程,这些传统语言的思想更成熟,但要知道Javascript跟这些传统的编程语言的继承机制是不一样的。所以不要用Javascript来写C#。还有一个重要的原因,你要跟后台的程序员合作,要他们更坚决的执行你的不唐突的开发思想,你必须要经常给他们洗脑。但是你说的话要让他们听得进去,他说的东西你要了解,而你最好也能给他一些有好的建议,他们才会听你的。为了我们WEB标准的开展,辛苦点就辛苦点吧!
这里要补充的就是,前端开发你要自己努力学习还有JSON和正则表达式,目前还没有很详细的介绍正则的书,然后就是AJAX程序中取代XML的JSON的数据载体,掌握JSON要比XML容易得多。最后就是大家也是我提到过很多次的闭包的使用,面向对象的开发的思想。
呵呵,最后就是多练习,把你学到知识运用到实际的开发中,常跟朋友多交流,我也希望能跟大家多交流心得。大家共同进步!
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cheng5128/archive/2009/11/04/4769721.aspx
关于到培训学校学习的忠告:别说现在没有这样的学校,就是有专门的学校也不要去,因为不会有好的老师的。不要浪费你自己(很可能是你父母)的钱和时间。趁早死了这个念头。
关于培训学校的这个我想我要比一般的朋友更有发言权,因为我本人干英语培训将近2年,我很清楚培训市场的情况,你很难碰到一个好的老师。英语可能还好些,毕竟英语说得好的老师还比较多,长期跟老外泡在一起,确实对口语能力的提高很显著,但是代价是很昂贵的。而你现在要学的是Javascript,呵呵,好的前端工程师可不多!
我的个人观点,有资格和有能力的教好Javascript的老师,一定要是个好的有着丰富的前端开发经验的前端工程师。大学的老师,教授可能他们中很少有人符合这个要求,而好的前端工程师,都忙着自己的工作去了。剩下的有时间去教Javascript的人,呵呵,就不多说了。
这里也发点牢骚,我们在大学校园里学习的东西,你学的时候根本不知道这个东西有什么意义,你自己不去钻研,老师他是不会告诉你的。在培训学校,呵呵,也差不多。
如果不是一个好的前端工程师,他很难告诉你为什么我们现在提倡使用闭包把以前的全局变量放到闭包中作为闭包函数的局部变量?他也很难对Javascript变量作用域的相关知识跟你讲透彻。在Javascript里能够形成scope(作用域)的东西有哪些?为什么说全局变量是魔鬼?闭包又是怎么产生的作用域?等等这样很基础,但很重要的知识的意义,他不清楚,讲给你听,让你明白这些知识和他们的意义就更困难。
呵呵,所以我的建议,想学Javascript,还是多跟你的身边认识的朋友,特别是那些从事前端开发的工程师多交流和学习。自己要多钻研。呵呵,不认识前端工程师,就到蓝色理想来多看看(bbs.blueidea.com,记住!这可不是广告哦!),把你不清楚的问题提出来,但是我这里要说一个好的学习习惯。什么时候提问?
什么时候提问?这个也是问题吗?对的,很多人,也是很多在校学生的一个不好的学习习惯,一有问题就问别人请求帮助。我个人这个是个坏习惯。难道问问题也是个坏习惯?对的,我个人觉得,你问问题寻求别人的帮助,应该是在你自己已经动脑经思考,通过各种途径查阅相关资料都无法获取问题的最终解决办法的情况下再来提问?这样你已经对你要解决的问题做过研究,有一定了解,你可以更详细的告诉别人你想要的答案大概是什么样的,或者说你可以把你想描述的问题讲的更清楚。这样别人来解决你的问题的时候,也可以更快速的作出解答。我想你学起来,对这个问题的理解也会更深刻些。
好了,好像扯得有些远了。来谈谈怎么学习Javascript吧!先给大家泼点冷水,我想告诉你的是:Javascript要比其他的开发语言都难学好!
为什么?因为就目前来说,大家(国内甚至是国外的程序员)普遍对Javascript这门编程语言(请允许我这么说)了解和研究得不够深,至少不像大家对JAVA,C#等这样的语言了解的和研究得那么透。所以这个就引起了另一个问题,现在市面上Javascript的书籍对Javascript这门语言的讲解都不够深入和全面。当然是相对JAVA,C#这样的语言来说。所以这就导致了,学Javascript很困难。当然学任何一门编程语言,特别是学好,学精都不容易。
不过也有好的消息,就是现在大家对Javascript的重视和更深入的研究,现在Javascript书籍里讲解的内容也要比4年前质量高出太多了,可以这么说,你现在开始Javascript正是时候哦!呵呵!所以这里也给大家一个经验,买Javascript的书,最好不要买4年前,也就是2005年前出版的。最好买近两年出版的书。
说到这里,我想说说一个现象,随这大家近几年对Javascript的重视和研究,主要是很多传统的程序员开始学习和研究Javascript,他们把面向对象编程的思想带入到Javascript的前端开发,极大的促进了Javascript的推广和发展。这点要十分感谢他们。也许是处于这些程序员的传统的开发的思想的影响,现在我们的Javascript库如雨后春笋般的出现。
呵呵!JAVA有JAVA的库和各种各样的框架,C#也是模仿JAVA,也是有着丰富的开发库。这些库为我们的开发带来了极大的方便,这是个很不错的事情。所以这些传统的程序员在从事前端的开发的时候,也为自己编写了库。我们很熟悉的就有prototype,jQuery,YUI,Ext等等,我就不一一列举了。当然这些库的出现也为我们的前端开发带来了极大的方便,但是事情都有两面性的,在这些库的出现后,在给我们的开发带来便利的同时,也让我们的很多朋友产生对库的依赖,可能严重点的,没有库了,给他个记事本(我们姑且不提开发效率)可能就不知道如何下手了。
如果仔细想想,这个也是很可怕的事情。为什么?因为大家都不再去花心思去研究Javascript底层的知识,只是一味的在这些库的帮助下,构建那些炫目的特效(还好,这些库都是免费的)。或者干脆直接用别人写好的插件。都不知道万一这些库要是开始收费(只是瞎想想),怎么办?还有就是这些库比如有别有用心的人,在中加点什么恶意的东西,我想很难有人会从头到位把一个库研究个透。你怎么办?最严重的就是编程能力的下降,但给人的感觉是入门的门槛更底了。不要被“The Write Less, Do More”这样的广告迷惑了,因为在你加载这个库的同时,别忘了"Size of your web page is much bigger, or say the size is HUGE".
所以当大家使用这些库的时候,我希望大家不仅仅是使用者,也要用心去阅读这些库的代码,从中学习。收获会很大的,而且说不定,你会发现可个改善地方,甚至是有错误的地方。这个是很有可能的。还有就是我刚才提到的,这些库的开发者很多都是从传统的程序员转型过来,或者说是因为开发需要而开始学习Javascript,很可能会有错误。或者说受以前学习语言的影响,写的程序更像是在写其他的语言,而不是写Javascript,执行效率并不高。所以不要迷信库。
问几个问题,你清楚jQuery是怎么实现CSS(3)和XML的XPath选择器的吗?jQuery又是怎么实现eventHandle的?怎么处理其中的浏览器兼容性问题的?
如果你还不明白我提的问题,那么请仔细看看jQuery是怎么实现的吧!如果你还读不懂它,还是多看看我要给你介绍的Javascript的书吧,了解Javascript的底层和基础的知识。让自己能读懂jQuery,让自己不要jQuery也能实现Dom的拖动,让自己也能写出自己的库。当然这话我说得太大了。不过只要你是真正研究Javascript和相关的知识,你也可以做到的。
绕了这么大一圈,现在让我们正式开始吧,来介绍几本学习Javascript的书吧。(以下介绍的书都是本人自己购买阅读过的,对了我不崇洋媚外,一条真理:不要买中国人写的Javascript书)
入门的书:
《Javascript高级程序设计》:不要被“高级”这两个字吓到,这个书其实是本很不错的入门的书,因为这本书也很详细的介绍了javascript的全部内置对象和语法,并且介绍了面向对象的思想,DOM、BOM的知识,正则表达式,高级的DOM处理。Ajax的知识,还是很全面的。而且个人认为这本书对基础知识的介绍并不比其他的同类书逊色。比起《Javascript权威指南》(我当时买点的是第4版),我觉得更详细些和更清楚些。在《指南》的第4版中,我觉得那本书中讲的东西有点混乱。感觉一个知识点还没有讲清楚,就给你一个什么类,看得不明不白的。因为没有看《指南》的第五版,所以这里不推荐给大家。而且《高级程序设计》这本书要比《指南》便宜不少。《高级程序设计》中也提出了采用功能(future)探测来取代浏览器版本探测来处理脚本兼容性的处理。个人觉得《指南》有的,这本书也都说了。还有我前面提到的,这本书的作者是YAHOO的资深的前端工程师,你可以在他的网站下载到相关的代码。
《Javascript DOM 编程艺术》:我个人的感觉是学习DOM编程的经典入门书籍,作者是webstandards.org的创始人之一,书中以浅显易懂的语言,教你一步一步的来讲解DOM编程,一点点地提升网站的用户体验。书中一直强调不唐突的脚本开发,网站要向后兼容,强调网站的可访问性。这个也是大家在做前端开发时应当努力追求的,也是必须要有的开发指导思想。可惜很多的后台开发的程序员,根本没有这个概念,所以你在开发的时候,一定要给你的程序员多洗脑。呵呵!
《CSS权威指南》第三版:做前端开发,你必须要了解CSS,书中对CSS2的介绍很详细了。仔细的看吧,我每次看的时候,有会有新的收获。
《网站重构》、《CSS网站布局实录》(唯一一本推荐的国人写的书):看完了,你会知道为什么学WEB标准?你会知道前端工程师的工作很重要。
提高阶段:
《Javascript DOM 高级编程》:这本书里不光详细的介绍的DOM编程的技巧,也讲了使用面向对象编程的方法,使用命名空间来管理书中所写的开发库,在不断的学习中,你的个人DOM Javascript库也不断的充实。呵呵,就像我前面说的,你可以写出自己的库了。当然书中的代码比较松散,还不能运用到实际的企业级的开发中。但是书中对闭包的介绍和面向对象的开发思想,会使你对JS的认识又提高了一个层次,虽然对面向对象开发的讲解还不够深。
《XML技术手册》:我们知道ajax,其中X就是指的XML,所以要了解XML的相关知识,你这本书,是一定要看的。看了之后你会发现XML要了解的东西实在太多了,可能跟你了解的东西相比,你才知道点皮毛。对了,这里说下,我并不推荐你使用XML来作为你的Ajax的程序的数据的载体。为什么?因为很不经济。你先把数据转换成XML文档,然后再通过Javascript把XML文档中的数据提出来,把文档转成数据。而浏览器对XPath处理的兼容性的处理,你会很发狂的。现在我们有一个代替他的东西JSON。但是由于XML已经是很多标准的默认数据通讯载体,比如RSS等,所以你还是得掌握。
个人觉得学Javascript看这些书基本差不多了。因为在我买过其他的书(
《精通Javascript》:名字起的太玄了,书不怎么样,什么都讲了点,就是不讲他怎么用jQuery来实现那些高级功能的。
《PPK 谈 Javascript》感觉跟《精通》差不多,什么都讲点,不过多点。还有起码不像《精通》起那么臭屁的名字,作者的网站确实很推荐大家去看看,http://www.quirksmode.org/。
《CSS高级技巧》介绍了很多HACK技巧,也很有用,是本好书,就是翻译得比较烂。
《Ajax in Action》、《Ajax高级编程》介绍AJAX的内容,主要看看XMLHTTPRequest的介绍把,里面的例子,很多在《高级编程》中都看过了。
《JavaScript王者归来》我上当了,自己也SB了一回。
《JavaScript:The Good Parts(影印版)》好书,你会知道JAVASCIRPT这闷语言什么东西是好的,什么东西不好?
)中,讲的内容都是大同小异。看完这些书,你了解了Javascript的相关知识,了解了CSS(你会知道CSS都有哪些选择器),你了解了XML的知识。呵呵,基础的开发你应该都可以自己解决了。而且你对Javascript的面向对象的开发也有了了解,有着向后兼容的开发思想。显然你看完这些书,你对WEB标准也会有一个更深层次的理解。
说明:为防止我的手误,把书名打错了,今天把书的图片传了上来,这回不会买错了吧
当然,想成为一个优秀的前端工程师,你要学习的知识并不只有这些,你也要知道SEO的优化知识,因为你写的页面要对搜索引擎也要友好,要结构合理。你还要了解SQL和数据库,最好还要了解C#等后台编程的语言。两个主要原因,要全面的提高自己,而且要充分的理解面向对象的编程,这些传统语言的思想更成熟,但要知道Javascript跟这些传统的编程语言的继承机制是不一样的。所以不要用Javascript来写C#。还有一个重要的原因,你要跟后台的程序员合作,要他们更坚决的执行你的不唐突的开发思想,你必须要经常给他们洗脑。但是你说的话要让他们听得进去,他说的东西你要了解,而你最好也能给他一些有好的建议,他们才会听你的。为了我们WEB标准的开展,辛苦点就辛苦点吧!
这里要补充的就是,前端开发你要自己努力学习还有JSON和正则表达式,目前还没有很详细的介绍正则的书,然后就是AJAX程序中取代XML的JSON的数据载体,掌握JSON要比XML容易得多。最后就是大家也是我提到过很多次的闭包的使用,面向对象的开发的思想。
呵呵,最后就是多练习,把你学到知识运用到实际的开发中,常跟朋友多交流,我也希望能跟大家多交流心得。大家共同进步!
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cheng5128/archive/2009/11/04/4769721.aspx
Portotype虽然是强大的,和script.aculo.us结合可以做出很多完美的效果,可是它里面有太多我不想用的代码,或许这是我后面选择 mootools的主要原因,我只是想选择性的打包。其实当时我也很想用一下jquery,仔细对比了一下,我还是觉得mootools更加的适合于我。有比较,才有机会去选择,我想从下面5个方面讨论一下。
可读性VS简洁
在网上,很多人把mootools比作java,把jquery比作perl,jquery的口号是“write less,do more”,或许就是这个目标造就了它的诡异。我觉得和mootools代码比起来,我看jquery的代码更加的吃力,有时候一行代码需要看半个小时才可以搞懂它的意思,这在mootools中是不存在的。如果你本身是一个崇尚代码简洁的人,或许jquery是你的很好的选择。虽然jquery的性能也稍高一点,不过,我觉得可读性更重要,所以我觉得mootools更加适合我。
重复的制造轮子VS拿来主义
在所有的js框架中,我始终觉得Ext框架是“拿来主义者”们最好的选择。和ext比起来,jquery UI 其实做的不怎么样,但是jquery有很多的插件。几乎你看到的网页效果,在jquery的插件库中都可以找到,为了避免重复的制造轮子,或许 jquery是一个不错的选择。而我觉得重复的制造轮子会让我更加的熟悉制作的工艺,从中了解每种框架不同之处和各自的优势,所以,我没事就修改一下 jquery框架中的插件,让他们用mootools的方式去运行。我之所以在大学阶段对面向对象理解不够深刻,主要是各种IDE工具让我成了IT民工。现在,我不能再做肤浅的拿来主义者,好多的代码因为性能问题,必须手写。
团队协作的成果VS天才的思维
jquery是程序天才JOHN RESIG的作品,mootools是一个团队的作品,有时候天才的思维很难读懂,我并不是想为此而逃避不去学习,主要是我希望用一个灵感汇聚的js框架。值得肯定的是:jquery的很多代码都写的比mootools优雅一些,简洁一点,注意这里是简洁而不是简单。团队中,思想的碰撞要多一些,产品的尝起来也就更清淡一些。我希望循序渐进的去理解js,所以我对自己不能用猛药,mootools像一碗粥,而不是参汤。
项目VS个人学习
其实在我们产品部的项目中用的是ExtJs,这个框架帮你做了所有的事情,你基本只管调用就可以了。后来看一下,或许使用jquery UI会好一点,主要是好多代码自己都可以去尝试写一下。如果你在做项目,强烈建议使用jquery,因为很多他的插件可以帮你按照项目的工期完成任务,当然这是第一步,后面或许因为性能问题,你需要修改很多地方的代码。如果是产品部慢慢的在一个框架上有积累的话,或许不会有这样的问题存在,我是建议一个产品部能够持续的学习一个框架,无论是哪一个,精通的过程是痛苦的,可是如果不精通,整个产品都是痛苦的。
完成任务VS希望成为高手
前面已经说过:如果想更快的完成任务,你需要选择jquery,如果想痛苦的积累,选择mootools或许会更好。才开始使用mootools1.2的时候,我几乎崩溃,因为我写的1.1的代码都不能用了,后来没事看了一下1.2的源代码,无论是在功能上还是在性能上,这样的改动是有必要的。同时,也赞扬一下mootools团队的勇气,和老版本的不兼容真的会让很多人抓狂。一点点的积累,一点点的领悟JavaScript,mootools是一个不错的选择。
可读性VS简洁
在网上,很多人把mootools比作java,把jquery比作perl,jquery的口号是“write less,do more”,或许就是这个目标造就了它的诡异。我觉得和mootools代码比起来,我看jquery的代码更加的吃力,有时候一行代码需要看半个小时才可以搞懂它的意思,这在mootools中是不存在的。如果你本身是一个崇尚代码简洁的人,或许jquery是你的很好的选择。虽然jquery的性能也稍高一点,不过,我觉得可读性更重要,所以我觉得mootools更加适合我。
重复的制造轮子VS拿来主义
在所有的js框架中,我始终觉得Ext框架是“拿来主义者”们最好的选择。和ext比起来,jquery UI 其实做的不怎么样,但是jquery有很多的插件。几乎你看到的网页效果,在jquery的插件库中都可以找到,为了避免重复的制造轮子,或许 jquery是一个不错的选择。而我觉得重复的制造轮子会让我更加的熟悉制作的工艺,从中了解每种框架不同之处和各自的优势,所以,我没事就修改一下 jquery框架中的插件,让他们用mootools的方式去运行。我之所以在大学阶段对面向对象理解不够深刻,主要是各种IDE工具让我成了IT民工。现在,我不能再做肤浅的拿来主义者,好多的代码因为性能问题,必须手写。
团队协作的成果VS天才的思维
jquery是程序天才JOHN RESIG的作品,mootools是一个团队的作品,有时候天才的思维很难读懂,我并不是想为此而逃避不去学习,主要是我希望用一个灵感汇聚的js框架。值得肯定的是:jquery的很多代码都写的比mootools优雅一些,简洁一点,注意这里是简洁而不是简单。团队中,思想的碰撞要多一些,产品的尝起来也就更清淡一些。我希望循序渐进的去理解js,所以我对自己不能用猛药,mootools像一碗粥,而不是参汤。
项目VS个人学习
其实在我们产品部的项目中用的是ExtJs,这个框架帮你做了所有的事情,你基本只管调用就可以了。后来看一下,或许使用jquery UI会好一点,主要是好多代码自己都可以去尝试写一下。如果你在做项目,强烈建议使用jquery,因为很多他的插件可以帮你按照项目的工期完成任务,当然这是第一步,后面或许因为性能问题,你需要修改很多地方的代码。如果是产品部慢慢的在一个框架上有积累的话,或许不会有这样的问题存在,我是建议一个产品部能够持续的学习一个框架,无论是哪一个,精通的过程是痛苦的,可是如果不精通,整个产品都是痛苦的。
完成任务VS希望成为高手
前面已经说过:如果想更快的完成任务,你需要选择jquery,如果想痛苦的积累,选择mootools或许会更好。才开始使用mootools1.2的时候,我几乎崩溃,因为我写的1.1的代码都不能用了,后来没事看了一下1.2的源代码,无论是在功能上还是在性能上,这样的改动是有必要的。同时,也赞扬一下mootools团队的勇气,和老版本的不兼容真的会让很多人抓狂。一点点的积累,一点点的领悟JavaScript,mootools是一个不错的选择。
对系统管理员来说,平时的工作重心应该集中在维护系统正常运转,能够正常提供服务上,这里往往牵涉到一个数据备份的问题,在我所了解
的情况中,有80%的系统管理员不是太关心自己服务器的安全性,但往往对备分镜像的技术相当感兴趣,但由于商业产品的软硬件价格都相当高
昂,因此往往会选择自由软件。这里准备介绍的rsync就是这样的软件,它可以满足绝大多数要求不是特别高的备份需求。阅读全文
的情况中,有80%的系统管理员不是太关心自己服务器的安全性,但往往对备分镜像的技术相当感兴趣,但由于商业产品的软硬件价格都相当高
昂,因此往往会选择自由软件。这里准备介绍的rsync就是这样的软件,它可以满足绝大多数要求不是特别高的备份需求。阅读全文
转自:温德馨的博客,哈哈,向东的博客早就O了,链接还是xiangdong.org,哎,我转了一席,他对mysql的io调度和DAS、NAS、SAN存储系统完全分析都有研究和关注,哈哈
一直对JS的跨域概念很迷惑,记得是在刚学ajax的时候才了解了一下这个概念,后来就再没有接触。主要工作上是做PHP为主,前端的东西几乎不需要插手。今天看了膘叔的一篇文章《孟宪会之AJAX(XMLHttpRequest)进行跨域请求方法详解》,一直是知道跨域会存在问题,但是自己就没有动过手体验一下具体会造成什么问题,于是决定试验一下。在blog服务器上写了个test.php测试脚本
<?php
$data = array('status' => 1, ‘msg’ => ‘hello’);
echo json_encode($data);
?></p>
<p>
前端测试页面
<script>
var xhr = new XMLHttpRequest();
var url = "http://jackywdx.cn/test.php";
function test(){
if(xhr)
{
xhr.open('GET', url, true);
xhr.onreadystatechange = handler;
xhr.send();
}
}
function handler(evtxhr)
{
if(xhr.readyState == 4){
if(xhr.status == 200){
var re = xhr.responseText;
alert(re);
}else{
alert('status not 200');
alert(xhr.status);
}
}else{
alert('readyState not 4');
alert(xhr.readyState);
}
}</p>
<p><body onload="test()">
hello
</body>
在本地访问,http://test.cn/test.html 结果是失败,没有alert出responseText; 在test.php文件里面增加一句: header(”Access-Control-Allow-Origin:http://test.cn”); 这样就可以了。我用的FF版本是3.5.7,所以支持这个Access-Control-Allow-Origin HTTP头部参数。用HTTPFOX抓包看到结果:
(Request-Line)
GET /test.php HTTP/1.1
Host jackywdx.cn
User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language zh-cn,zh;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset GB2312,utf-8;q=0.7,*;q=0.7
Keep-Alive 300
Connection keep-alive
Referer http://test.cn/test.html
Origin http://test.cn
(Status-Line) HTTP/1.1 200 OK
Server nginx/0.7.61
Date Fri, 29 Jan 2010 02:43:39 GMT
Content-Type text/html
Transfer-Encoding chunked
Connection close
X-Powered-By PHP/5.2.6
Access-Control-Allow-Origin http://test.cn
Author jackywdx
X-Via US_RASHOST_VPS
Content-Encoding gzip
解决JS跨域问题还有一些解决办法:
如果是同一主域的话可以设置document.domain
另外还可以通过flash来作为中转角色,flash跨域可以通过crossdomain.xml来解决,不过这种方法速度会比较慢。毕竟多了一层中间层。
还有一种比较土的方法就是在相册的域下面做一个同样的接口-.-
一直对JS的跨域概念很迷惑,记得是在刚学ajax的时候才了解了一下这个概念,后来就再没有接触。主要工作上是做PHP为主,前端的东西几乎不需要插手。今天看了膘叔的一篇文章《孟宪会之AJAX(XMLHttpRequest)进行跨域请求方法详解》,一直是知道跨域会存在问题,但是自己就没有动过手体验一下具体会造成什么问题,于是决定试验一下。在blog服务器上写了个test.php测试脚本
<?php
$data = array('status' => 1, ‘msg’ => ‘hello’);
echo json_encode($data);
?></p>
<p>
前端测试页面
<script>
var xhr = new XMLHttpRequest();
var url = "http://jackywdx.cn/test.php";
function test(){
if(xhr)
{
xhr.open('GET', url, true);
xhr.onreadystatechange = handler;
xhr.send();
}
}
function handler(evtxhr)
{
if(xhr.readyState == 4){
if(xhr.status == 200){
var re = xhr.responseText;
alert(re);
}else{
alert('status not 200');
alert(xhr.status);
}
}else{
alert('readyState not 4');
alert(xhr.readyState);
}
}</p>
<p><body onload="test()">
hello
</body>
在本地访问,http://test.cn/test.html 结果是失败,没有alert出responseText; 在test.php文件里面增加一句: header(”Access-Control-Allow-Origin:http://test.cn”); 这样就可以了。我用的FF版本是3.5.7,所以支持这个Access-Control-Allow-Origin HTTP头部参数。用HTTPFOX抓包看到结果:
(Request-Line)
GET /test.php HTTP/1.1
Host jackywdx.cn
User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language zh-cn,zh;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset GB2312,utf-8;q=0.7,*;q=0.7
Keep-Alive 300
Connection keep-alive
Referer http://test.cn/test.html
Origin http://test.cn
(Status-Line) HTTP/1.1 200 OK
Server nginx/0.7.61
Date Fri, 29 Jan 2010 02:43:39 GMT
Content-Type text/html
Transfer-Encoding chunked
Connection close
X-Powered-By PHP/5.2.6
Access-Control-Allow-Origin http://test.cn
Author jackywdx
X-Via US_RASHOST_VPS
Content-Encoding gzip
解决JS跨域问题还有一些解决办法:
如果是同一主域的话可以设置document.domain
另外还可以通过flash来作为中转角色,flash跨域可以通过crossdomain.xml来解决,不过这种方法速度会比较慢。毕竟多了一层中间层。
还有一种比较土的方法就是在相册的域下面做一个同样的接口-.-
我国市场经济环境的确立和发展,彻底打破了计划经济时代“单位选人,一选定终生”的用人模式,用人单位与员工之间的双向选择使人才的使用、流动更加科学、合理了。随着市场经济的不断深入,人才在企业经营管理过程中的作用越来越大,成了企业发展的第一资本。在这种形势下,任何企业要想发展壮大,就必须要具备吸引优秀人才的能力和实力。但企业到底靠什么来吸引和打动人才,是如今的企业家们时时刻刻都感到头痛的问题,因为在现实的经营管理过程中,那些大大小小的人才们实在显得太过“矫情”,他们频繁的“跳来跳去”常常使企业陷入尴尬的境地。
其实,“企业到底靠什么吸引、打动人才”这个问题并不是太复杂,只要企业家们能够站在员工的角度去分析员工的的心理及需求,并想方设法去创造一个适合员工生存、发展的环境,这一问题就迎刃而解了。
人才在择业的时候到底在关注什么问题呢?我们从以下几个方面加以分析:
1.看老板
当别人向我咨询如何选择一家企业作为自己的发展平台时,我对他说的第一句话往往是:“看老板!”
老板是企业所有者的代表,他的一言一行都会渗透到企业的经营管理当中去,他的思维和观念决定着企业的发展方向,他的思想、学识、信仰、气魄、抱负、性格、品德等都是构成本企业企业文化的基本元素。这一切不仅决定着企业的兴衰成败,同时也是决定一个人能否真正融入这个团队的主要因素。一个人要想成为一个团队的合格成员,就必须认可这个团队的文化。我们把这句段话的中间部分省略掉,就变成了:一个人要想真正融入一个团队,就必须认可团队的首领,也就是老板。
中国有句古话叫“以德服人”,一个老板要想得到属下发自内心的景仰和佩服首先要“养德”。这个“德”包括胸怀、气魄、抱负、品格、智慧等多方面的因素。
一个本身“无德”的人通过巧取豪夺、阿谀奉承、贪污贿赂可能掌握很多财富,但其绝不会建立起一个拥有长远发展前景的企业来。一个品德高尚的老板所拥有、支配的企业即使可能暂时走入困境,但其往往会得到很多人的支持,最终成就大业。
因而,与“有德之人为伍”应该是择业者的第一选择!
2.看发展
“看发展”包括两个方面的内容,第一是要看企业的发展前景及发展潜力;第二要看自身在企业内部的发展空间。
市场经济环境下的企业间竞争是异常激烈,甚至是十分残酷的。一个企业置身于这种激烈的竞争之中,如果没有明确的发展目标和发展方向,最终会被激烈的竞争所吞噬。所以一个人在选择一家企业作为自己的发展平台时,企业的发展前景及潜力是一个重要的考察内容。
人往高处走,水往低处流。一个企业要追求发展,而其每一位员工在为企业服务的过程中,也必然要追求自身的发展。因而,一个人在选择一家企业的时候还要考虑自己在进入企业后,是否有足够的上升空间及更好的学习、提高的机会。
3.看待遇
一个人为企业做了工作就要获得相应的报酬,这个报酬就是员工在企业工作享受的待遇。待遇不仅是员工维持正常生活、工作的物质保证,同时也是员工工作价值的物化表现。员工不仅要利用企业提供的待遇满足自身不断提高的物质和文化生活的需求,同时通过企业给予的待遇来衡量企业对自己价值的承认程度。合理的待遇是员工努力工作、快乐生活的源泉和动力之一。
4.看环境
世界包括物质和意识两个方面,人类的需求也包括物质和精神两个方面。丰富的物质生活并不是人类生活的全部内容,精神需求的满足也是人们所追求的重要内容。愉快的工作环境、良好的人际关系、适时的鼓励与表扬都是员工着择业时要考虑的主要问题。
良好的环境能积极、有效地提高员工的工作积极性和工作热情,是打造一支无敌团队必不可少的因素。
以上就是我们站在员工的立场上,对员工需求的简单分析,一个企业要想吸引和留住人才必须从这几个方面入手,为员工创造一个良好的发展平台,真正使员工得到从物质上到精神上的满足。一般来说,一个员工选择了一个企业作为自己各项才能的发挥平台,就希望把自己的前途和命运与企业仅仅捆绑在一起,随着企业的发展使自身也不断发展与提高。因而,企业也要切实把握各层次员工及员工在各个发展阶段的需求,努力创造条件,使他们在良好的环境中及安全的心态下获得工作的乐趣及发展带来的成就感。这就是企业吸引人才的秘诀!
其实,“企业到底靠什么吸引、打动人才”这个问题并不是太复杂,只要企业家们能够站在员工的角度去分析员工的的心理及需求,并想方设法去创造一个适合员工生存、发展的环境,这一问题就迎刃而解了。
人才在择业的时候到底在关注什么问题呢?我们从以下几个方面加以分析:
1.看老板
当别人向我咨询如何选择一家企业作为自己的发展平台时,我对他说的第一句话往往是:“看老板!”
老板是企业所有者的代表,他的一言一行都会渗透到企业的经营管理当中去,他的思维和观念决定着企业的发展方向,他的思想、学识、信仰、气魄、抱负、性格、品德等都是构成本企业企业文化的基本元素。这一切不仅决定着企业的兴衰成败,同时也是决定一个人能否真正融入这个团队的主要因素。一个人要想成为一个团队的合格成员,就必须认可这个团队的文化。我们把这句段话的中间部分省略掉,就变成了:一个人要想真正融入一个团队,就必须认可团队的首领,也就是老板。
中国有句古话叫“以德服人”,一个老板要想得到属下发自内心的景仰和佩服首先要“养德”。这个“德”包括胸怀、气魄、抱负、品格、智慧等多方面的因素。
一个本身“无德”的人通过巧取豪夺、阿谀奉承、贪污贿赂可能掌握很多财富,但其绝不会建立起一个拥有长远发展前景的企业来。一个品德高尚的老板所拥有、支配的企业即使可能暂时走入困境,但其往往会得到很多人的支持,最终成就大业。
因而,与“有德之人为伍”应该是择业者的第一选择!
2.看发展
“看发展”包括两个方面的内容,第一是要看企业的发展前景及发展潜力;第二要看自身在企业内部的发展空间。
市场经济环境下的企业间竞争是异常激烈,甚至是十分残酷的。一个企业置身于这种激烈的竞争之中,如果没有明确的发展目标和发展方向,最终会被激烈的竞争所吞噬。所以一个人在选择一家企业作为自己的发展平台时,企业的发展前景及潜力是一个重要的考察内容。
人往高处走,水往低处流。一个企业要追求发展,而其每一位员工在为企业服务的过程中,也必然要追求自身的发展。因而,一个人在选择一家企业的时候还要考虑自己在进入企业后,是否有足够的上升空间及更好的学习、提高的机会。
3.看待遇
一个人为企业做了工作就要获得相应的报酬,这个报酬就是员工在企业工作享受的待遇。待遇不仅是员工维持正常生活、工作的物质保证,同时也是员工工作价值的物化表现。员工不仅要利用企业提供的待遇满足自身不断提高的物质和文化生活的需求,同时通过企业给予的待遇来衡量企业对自己价值的承认程度。合理的待遇是员工努力工作、快乐生活的源泉和动力之一。
4.看环境
世界包括物质和意识两个方面,人类的需求也包括物质和精神两个方面。丰富的物质生活并不是人类生活的全部内容,精神需求的满足也是人们所追求的重要内容。愉快的工作环境、良好的人际关系、适时的鼓励与表扬都是员工着择业时要考虑的主要问题。
良好的环境能积极、有效地提高员工的工作积极性和工作热情,是打造一支无敌团队必不可少的因素。
以上就是我们站在员工的立场上,对员工需求的简单分析,一个企业要想吸引和留住人才必须从这几个方面入手,为员工创造一个良好的发展平台,真正使员工得到从物质上到精神上的满足。一般来说,一个员工选择了一个企业作为自己各项才能的发挥平台,就希望把自己的前途和命运与企业仅仅捆绑在一起,随着企业的发展使自身也不断发展与提高。因而,企业也要切实把握各层次员工及员工在各个发展阶段的需求,努力创造条件,使他们在良好的环境中及安全的心态下获得工作的乐趣及发展带来的成就感。这就是企业吸引人才的秘诀!
if (function_exists("imagecreatetruecolor")){
//resize picture
$new = imagecreatetruecolor($intWidth, $intHeight);
imagealphablending($new,false);
ImageCopyResampled($new, $img, 0, 0, 0, 0, $intWidth, $intHeight, $arrImageInfo["width"], $arrImageInfo["height"]);
imagesavealpha($new,true);
} else {
//resize picture
$new = imagecreate($intWidth, $intHeight);
imagealphablending($new,false);
ImageCopyResized($new, $img, 0, 0, 0, 0,$intWidth, $intHeight, $arrImageInfo["width"], $arrImageInfo["height"]);
imagesavealpha($new,true);
}
参考:http://hi.baidu.com/fanfan201314/item/2d4857de01f3cce93cc2cbff
做web开发的朋友都清楚,js程序的调试是相当郁闷的,因为首先这种语言语法比较灵活,它是一种弱类型的脚本语言,很多错误是无法控制的,这些不谈,最痛苦的是没有什么好的调试工具,现在的情况比以前稍好,在Firefox下还有firebug,这的确是一个不错的js调试工具,但在IE下使用就很麻烦,而且效果很不好,鄙人一直苦于寻找一个很好的IE下的js调试工具,能够自动捕获错误,并定位位置和原因,没想到今天竟在无意中寻找到了这么个好工具,不敢私藏,共享出来,希望能为各位web开发者带来方便
这个工具的名字叫Companion.JS,请注意,这可不是一个js文件,而是一个名字,它是作为ie的插件来安装使用的,而且需要结合 Microsoft Script Debugger使用,通过安装这个工具,但页面出现错误时会在左上角弹出一个小错误提示,点击会在IE下面显示出一个错误控制台,就如FF下的 firebug控制台一样。错误信息提示很详细。
如下是官网的一个错误提示示例图:
点击在新窗口中浏览此图片
官网地址:http://www.my-debugbar.com/wiki/CompanionJS/HomePage
具体使用方法为:
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下载可到MS官网(需要经过MS的操作系统正版验证):http://www.microsoft.com/downloads /details.aspx?displaylang=zh-cn&FamilyID=E606E71F-BA7F-471E-A57D- F2216D81EC3D#filelist或到baidu里输入“Microsoft Script Debugger 下载”寻找一下。
求Microsoft Script Debugger中文版的下载地址:
是这个吗 Windows Script Debugger
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=E606E71F-BA7F-471E-A57D-F2216D81EC3D
继续追问: 对,就是这个。
Microsoft DownLoad Url:
http://www.microsoft.com/zh-cn/download/details.aspx?id=23992
---------------------------------------------------------------------------------------------------------------------------------------------------------------
IE下使用firebug:
firebug官网:https://getfirebug.com/
把下面这段代码复制替换一个自己新建立的收藏Url即可,然后需要时再运行一下收藏夹,进而按F12调出来即可,如不运行收藏夹则是IE自带的那个。
做web开发的朋友都清楚,js程序的调试是相当郁闷的,因为首先这种语言语法比较灵活,它是一种弱类型的脚本语言,很多错误是无法控制的,这些不谈,最痛苦的是没有什么好的调试工具,现在的情况比以前稍好,在Firefox下还有firebug,这的确是一个不错的js调试工具,但在IE下使用就很麻烦,而且效果很不好,鄙人一直苦于寻找一个很好的IE下的js调试工具,能够自动捕获错误,并定位位置和原因,没想到今天竟在无意中寻找到了这么个好工具,不敢私藏,共享出来,希望能为各位web开发者带来方便
这个工具的名字叫Companion.JS,请注意,这可不是一个js文件,而是一个名字,它是作为ie的插件来安装使用的,而且需要结合 Microsoft Script Debugger使用,通过安装这个工具,但页面出现错误时会在左上角弹出一个小错误提示,点击会在IE下面显示出一个错误控制台,就如FF下的 firebug控制台一样。错误信息提示很详细。
如下是官网的一个错误提示示例图:
点击在新窗口中浏览此图片
官网地址:http://www.my-debugbar.com/wiki/CompanionJS/HomePage
具体使用方法为:
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下载可到MS官网(需要经过MS的操作系统正版验证):http://www.microsoft.com/downloads /details.aspx?displaylang=zh-cn&FamilyID=E606E71F-BA7F-471E-A57D- F2216D81EC3D#filelist或到baidu里输入“Microsoft Script Debugger 下载”寻找一下。
求Microsoft Script Debugger中文版的下载地址:
是这个吗 Windows Script Debugger
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=E606E71F-BA7F-471E-A57D-F2216D81EC3D
继续追问: 对,就是这个。
Microsoft DownLoad Url:
http://www.microsoft.com/zh-cn/download/details.aspx?id=23992
---------------------------------------------------------------------------------------------------------------------------------------------------------------
IE下使用firebug:
firebug官网:https://getfirebug.com/
把下面这段代码复制替换一个自己新建立的收藏Url即可,然后需要时再运行一下收藏夹,进而按F12调出来即可,如不运行收藏夹则是IE自带的那个。
说起正则表达式,可以一直上溯至对人类神经系统如何工作的早期研究。Warren McCulloch和Walter Pitts这两位神经生理学家研究出一种数学方式来描述这些神经网络。
1956年,一位叫Stephen Kleene的美国数学家在McCulloch和Pitts早期工作的基础上,发表了一篇标题为“神经网事件的表示法”的论文,引入了正则表达式的概念。正则表达式就是用来描述他称为“正则集的代数”的表达式,因此采用“正则表达式”这个术语。
随后,发现可以将这一工作应用于使用Ken Thompson的计算搜索算法的一些早期研究,Ken Thompson是Unix的主要发明人。正则表达式的第一个实用应用程序就是Unix中的qed编辑器。
这个专题主要是为了提高大家对正则表达式的认识和高级的使用。
1 使用正则表达式来检测HTML是否关闭
解释:
/<([a-zA-Z0-9]+)\\s*[^\\/>]*>/这个模式是用来匹配HTML的标记(如:<head>、<div>、<div id="main">等等,但是除了<br/>这种)的,并且在$start_tags保持着标签的名字(如:head、div等)。而/<\\/([a-zA-Z0-9]+)>/这个模式是用来匹配闭合的HTML标记(如:</head>,</div>等)的。并且在$end_tags中保持这闭合的标签名。然后我们用count($start_tags[1]) != count($end_tags[1])这个条件语句来判断开始的标记跟闭合的标记是否相等,不相等就说明没闭合。最后用in_array($start_tags[1][$i], $end_tags[1])来判断开始标跟闭合的标记是否相等。至此,我们就完成了HTML的匹配了!
2 匹配E-mail格式
解释:
不要被/^[\w\d!#$%&'*+-\/=?^`{|}~]+(\.[\w\d!#$%&'*+-\/=?^`{|}~]+)*@([a-z\d][-a-z\d]*[a-z\d]\.)+[a-z][-a-z\d]*[a-z]$/这条模式给吓跑了,其实也很简单的。前部分[\w\d!#$%&'*+-\/=?^`{|}~]+(\.[\w\d!#$%&'*+-\/=?^`{|}~]+)*只是匹配符合RFC-2882标准的E-mail地址允许出现的字符,就是英文字母,数字跟一些符号,有兴趣可以查询RFC-2882手册,而([a-z\d][-a-z\d]*[a-z\d]\.)+就是匹配HOST的。最后[a-z][-a-z\d]*[a-z]就是匹配顶级域名的(如:.com、.org)。
3 非贪心模式
有时候使用正则表达式的时候,你会发现有以下的问题:
很惊奇的你会发现匹配的是这样的内容"hello", Jack say: "Hi",而不是"hello"和"Hi"。这就是贪心匹配引起的。在贪心匹配中,正则表达式会尽可能的匹配最多的字符,所以出现了第一种情况,但是我们想要的是第二种情况,那我们要怎么做呢?
我们可以使用非贪心匹配,将刚才的模式改为/".*?"/这样就可以看见我们想要的结果了。*?这个就是非贪心匹配模式。还有另外一种就是+?。
*?:前面的字符可以出现任意多次,但是遇到*?后的一个字符即停止匹配。
+?:前面的字符可以出现一次或者多次,但是遇到+?后的一个字符即停止匹配。
4 检测一个用户密码是否安全
解释:
在本例中,我们使用了/(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z]).{8,16}/模式来匹配我们的密码。在这个模式中,我们使用了正则表达式中的前瞻模式(?=)。(?=.*[0-9])这个是匹配密码中有数字,而(?=.*[a-z])是匹配密码中有小写字母,最后(?=.*[A-Z])就是匹配密码中有大写字母。而.{8,16}这个就是匹配密码是由8至16个字符组成的。那么我们的密码就需要有数字,大写字母和小写字母组成的就属于安全的密码了~
5 匹配一个网站中的所有链接
在这个例子中,我们想用file_get_contents来取得一个网页的内容。然后用str_replace("\n", "", $html)把所有的换行去掉。再用preg_replace('/<a/i', "\n<a", $html)和preg_replace('/<\/a>/', "</a>\n", $html)来把所有的<a href=".....">.....</a>模式另起一行。最后就用preg_match_all('/<a\s*.*>.*?<\/a>/', $html, $matches)匹配链接模式。/<a\s*.*>.*?<\/a>/就是匹配<a href=".....">.....</a>这种模式的正则表达式。那我们为什么要把<a href=".....">.....</a>链接另起一行呢??因为在/<a\s*.*>.*?<\/a>/模式中,.*是不能匹配换行的,所以就如<a>和</a>不在同一行就不能匹配了!!所以我们要这样做!
1956年,一位叫Stephen Kleene的美国数学家在McCulloch和Pitts早期工作的基础上,发表了一篇标题为“神经网事件的表示法”的论文,引入了正则表达式的概念。正则表达式就是用来描述他称为“正则集的代数”的表达式,因此采用“正则表达式”这个术语。
随后,发现可以将这一工作应用于使用Ken Thompson的计算搜索算法的一些早期研究,Ken Thompson是Unix的主要发明人。正则表达式的第一个实用应用程序就是Unix中的qed编辑器。
这个专题主要是为了提高大家对正则表达式的认识和高级的使用。
1 使用正则表达式来检测HTML是否关闭
function check_html($html) {
preg_match_all("/<([a-zA-Z0-9]+)\\s*[^\\/>]*>/",$html,$start_tags);
preg_match_all("/<\\/([a-zA-Z0-9]+)>/", $html, $end_tags);
if(count($start_tags[1]) != count($end_tags[1])) return false;
for($i = 0; $i < count($start_tags[1]); $i++) {
if(!in_array($start_tags[1][$i], $end_tags[1])) return false;
}
return true;
}
preg_match_all("/<([a-zA-Z0-9]+)\\s*[^\\/>]*>/",$html,$start_tags);
preg_match_all("/<\\/([a-zA-Z0-9]+)>/", $html, $end_tags);
if(count($start_tags[1]) != count($end_tags[1])) return false;
for($i = 0; $i < count($start_tags[1]); $i++) {
if(!in_array($start_tags[1][$i], $end_tags[1])) return false;
}
return true;
}
解释:
/<([a-zA-Z0-9]+)\\s*[^\\/>]*>/这个模式是用来匹配HTML的标记(如:<head>、<div>、<div id="main">等等,但是除了<br/>这种)的,并且在$start_tags保持着标签的名字(如:head、div等)。而/<\\/([a-zA-Z0-9]+)>/这个模式是用来匹配闭合的HTML标记(如:</head>,</div>等)的。并且在$end_tags中保持这闭合的标签名。然后我们用count($start_tags[1]) != count($end_tags[1])这个条件语句来判断开始的标记跟闭合的标记是否相等,不相等就说明没闭合。最后用in_array($start_tags[1][$i], $end_tags[1])来判断开始标跟闭合的标记是否相等。至此,我们就完成了HTML的匹配了!
2 匹配E-mail格式
function check_email($email) {
if(preg_match("/^[\w\d!#$%&'*+-\/=?^`{|}~]+(\.[\w\d!#$%&'*+-\/=?^`{|}~]+)*@([a-z\d][-a-z\d]*[a-z\d]\.)+[a-z][-a-z\d]*[a-z]$/", $eamil)) return true;
return false;
}
if(preg_match("/^[\w\d!#$%&'*+-\/=?^`{|}~]+(\.[\w\d!#$%&'*+-\/=?^`{|}~]+)*@([a-z\d][-a-z\d]*[a-z\d]\.)+[a-z][-a-z\d]*[a-z]$/", $eamil)) return true;
return false;
}
解释:
不要被/^[\w\d!#$%&'*+-\/=?^`{|}~]+(\.[\w\d!#$%&'*+-\/=?^`{|}~]+)*@([a-z\d][-a-z\d]*[a-z\d]\.)+[a-z][-a-z\d]*[a-z]$/这条模式给吓跑了,其实也很简单的。前部分[\w\d!#$%&'*+-\/=?^`{|}~]+(\.[\w\d!#$%&'*+-\/=?^`{|}~]+)*只是匹配符合RFC-2882标准的E-mail地址允许出现的字符,就是英文字母,数字跟一些符号,有兴趣可以查询RFC-2882手册,而([a-z\d][-a-z\d]*[a-z\d]\.)+就是匹配HOST的。最后[a-z][-a-z\d]*[a-z]就是匹配顶级域名的(如:.com、.org)。
3 非贪心模式
有时候使用正则表达式的时候,你会发现有以下的问题:
preg_match('/".*"/', 'Tony say:"hello", Jack say: "Hi"', $matches);
print_r($matches);
print_r($matches);
很惊奇的你会发现匹配的是这样的内容"hello", Jack say: "Hi",而不是"hello"和"Hi"。这就是贪心匹配引起的。在贪心匹配中,正则表达式会尽可能的匹配最多的字符,所以出现了第一种情况,但是我们想要的是第二种情况,那我们要怎么做呢?
我们可以使用非贪心匹配,将刚才的模式改为/".*?"/这样就可以看见我们想要的结果了。*?这个就是非贪心匹配模式。还有另外一种就是+?。
*?:前面的字符可以出现任意多次,但是遇到*?后的一个字符即停止匹配。
+?:前面的字符可以出现一次或者多次,但是遇到+?后的一个字符即停止匹配。
4 检测一个用户密码是否安全
function is_good_pw($pw) {
if(preg_match('/(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z]).{8,16}/', $pw)) {
return true;
}
return false;
}
if(preg_match('/(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z]).{8,16}/', $pw)) {
return true;
}
return false;
}
解释:
在本例中,我们使用了/(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z]).{8,16}/模式来匹配我们的密码。在这个模式中,我们使用了正则表达式中的前瞻模式(?=)。(?=.*[0-9])这个是匹配密码中有数字,而(?=.*[a-z])是匹配密码中有小写字母,最后(?=.*[A-Z])就是匹配密码中有大写字母。而.{8,16}这个就是匹配密码是由8至16个字符组成的。那么我们的密码就需要有数字,大写字母和小写字母组成的就属于安全的密码了~
5 匹配一个网站中的所有链接
function get_links($link) {
$html = file_get_contents($link);
$html = str_replace("\n", "", $html);
$html = preg_replace('/<a/i', "\n<a", $html);
$html = preg_replace('/<\/a>/', "</a>\n", $html);
preg_match_all('/<a\s*.*>.*?<\/a>/', $html, $matches);
return($matches);
}
$html = file_get_contents($link);
$html = str_replace("\n", "", $html);
$html = preg_replace('/<a/i', "\n<a", $html);
$html = preg_replace('/<\/a>/', "</a>\n", $html);
preg_match_all('/<a\s*.*>.*?<\/a>/', $html, $matches);
return($matches);
}
在这个例子中,我们想用file_get_contents来取得一个网页的内容。然后用str_replace("\n", "", $html)把所有的换行去掉。再用preg_replace('/<a/i', "\n<a", $html)和preg_replace('/<\/a>/', "</a>\n", $html)来把所有的<a href=".....">.....</a>模式另起一行。最后就用preg_match_all('/<a\s*.*>.*?<\/a>/', $html, $matches)匹配链接模式。/<a\s*.*>.*?<\/a>/就是匹配<a href=".....">.....</a>这种模式的正则表达式。那我们为什么要把<a href=".....">.....</a>链接另起一行呢??因为在/<a\s*.*>.*?<\/a>/模式中,.*是不能匹配换行的,所以就如<a>和</a>不在同一行就不能匹配了!!所以我们要这样做!
function huanImg(num)
{
var imgsrc = $('#small_' + num).attr('lang');
$('#list_big').attr('src',imgsrc);
}
{
var imgsrc = $('#small_' + num).attr('lang');
$('#list_big').attr('src',imgsrc);
}
左边小图列表:
<li><a href="javascript:void(0)" onclick = "huanImg('1')"><img id="small_1" src="/data/72/mini_372647693_uploadFile1_20100202_122357_1.jpg" lang="/data/72/372647693_uploadFile1_20100202_122357_1.jpg" /></a></li>
<li><a href="javascript:void(0)" onclick = "huanImg('2')"><img id="small_2" src="/data/72/mini_372647693_uploadFile2_20100202_122357_1.jpg" lang="/data/72/372647693_uploadFile2_20100202_122357_1.jpg" /></a></li>
<li><a href="javascript:void(0)" onclick = "huanImg('3')"><img id="small_3" src="/data/72/mini_372647693_uploadFile3_20100202_122357_1.jpg" lang="/data/72/372647693_uploadFile3_20100202_122357_1.jpg" /></a>
右边大图展现:
<div class="center_img"><img width="307" height="306" src="/data/72/372647693_uploadFile1_20100202_122357_1.jpg" id="list_big"></div>
[个人原创]PHP时间范围判断的最简单的方法,PHP时分秒大小
Php/Js/Shell/Go jackxiang 2010-2-1 21:28
常常需要比较时间,如几点比几点大,这儿用一个简单的方法比较:
需要比较:
二月七日凌晨到下午二点的时间不让用户领取奖品的比较,如下:
$nowDate=mktime(date('H'),date('i'),date('s'),date('m'),date('d'),date('Y'));
$day = date("d");
if($day == 7)
{
//第一天 2月7日
$forbidden_begin = mktime(0,0,0,2,7,2010);//开始时间
$forbidden_end = mktime(14,0,0,2,7,2010);//结束时间
if(($nowDate>=$forbidden_begin)&&($nowDate<=$forbidden_end))
{
return array('code'=>-1,'awardleft'=>0,'message'=>'兑换时间已过,敬请期待今日14点的机会哦!');
}
}
需要比较:
二月七日凌晨到下午二点的时间不让用户领取奖品的比较,如下:
$nowDate=mktime(date('H'),date('i'),date('s'),date('m'),date('d'),date('Y'));
$day = date("d");
if($day == 7)
{
//第一天 2月7日
$forbidden_begin = mktime(0,0,0,2,7,2010);//开始时间
$forbidden_end = mktime(14,0,0,2,7,2010);//结束时间
if(($nowDate>=$forbidden_begin)&&($nowDate<=$forbidden_end))
{
return array('code'=>-1,'awardleft'=>0,'message'=>'兑换时间已过,敬请期待今日14点的机会哦!');
}
}
我友,男,28岁成婚,之后就发生了一个很俗套的故事——认识了另一个女孩。 打碎一个婚姻之难,凡是入过围城的人都会深有体会。总之,他经过了4年的艰难历程,用他的话说就像是死过了一回之后,终于争取到了他以为的爱。朋友们也从对他进行道德批判转而佩服他的勇气。毕竟,在这个流行家中红旗不倒、外面彩旗飘飘的年月,能为爱出走,也是稀少而可贵的。
可是,他的爱情神话在再婚后两年,就已经有了破裂的迹象。曾经的激情被平庸的生活取代,而更糟糕的是,他发现自己开始越来越频繁地想到前妻。可是,在他第一次离婚的时候,在民风纯朴的当地,就已经成了千夫所指,难道他还有勇气第二次离婚吗?更何况,他还有何面目再去告诉前妻:我还是爱你的。
阅读全文
可是,他的爱情神话在再婚后两年,就已经有了破裂的迹象。曾经的激情被平庸的生活取代,而更糟糕的是,他发现自己开始越来越频繁地想到前妻。可是,在他第一次离婚的时候,在民风纯朴的当地,就已经成了千夫所指,难道他还有勇气第二次离婚吗?更何况,他还有何面目再去告诉前妻:我还是爱你的。
阅读全文
[实践OK]PHP强制浏览器不缓存的方法
Php/Js/Shell/Go jackxiang 2010-2-1 14:39
对于PHP页面,以下是代码片段,实践OK:
解释:
PHP页面强制浏览器不缓存的方法:
(1)告诉客户端浏览器不使用缓存,HTTP 1.1 协议。
header("Cache-Control: no-cache, must-revalidate");
(2)告诉客户端浏览器不使用缓存,兼容HTTP 1.0 协议。
header("Pragma: no-cache");
(3)设置此页面的过期时间(用格林威治时间表示),只要是已经过去的日期即可。
header("Expires: Mon, 26 Jul 1970 05:00:00 GMT");
(4)设置此页面的最后更新日期(用格林威治时间表示)为当天,可以强迫浏览器获取最新资料。
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
参考:http://blog.sina.com.cn/s/blog_8002308e0100xrmv.html
解释:
PHP页面强制浏览器不缓存的方法:
(1)告诉客户端浏览器不使用缓存,HTTP 1.1 协议。
header("Cache-Control: no-cache, must-revalidate");
(2)告诉客户端浏览器不使用缓存,兼容HTTP 1.0 协议。
header("Pragma: no-cache");
(3)设置此页面的过期时间(用格林威治时间表示),只要是已经过去的日期即可。
header("Expires: Mon, 26 Jul 1970 05:00:00 GMT");
(4)设置此页面的最后更新日期(用格林威治时间表示)为当天,可以强迫浏览器获取最新资料。
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
参考:http://blog.sina.com.cn/s/blog_8002308e0100xrmv.html
ctrl + gf (跳转到文件)相对路径
ctrl + o 回到当前的文件
shift+ * 选择文本中的所有词
ctrl + N 补全单词
ctrl + o 回到当前的文件
shift+ * 选择文本中的所有词
ctrl + N 补全单词
echo '<script language="javascript" type="text/javascript">';
echo 'window.location.href="/con/activity/act/area"';
echo '</script>';