行内技术
你了解10年前的互联网生活么
今天无意看见了cnbeta的文章《用户眼中已经消亡的十大IT技术》,突然有种冲动想写一写中国互联网这么多年发展之路的回顾,当然,是从一个小站长的眼光与角度去写的。站长之路掐指一算已走过十年,回忆那个年代的互联网,那个年代的计算机,那个年代的软件,不仅感慨万千。
    modem拨号上网。当年大多数计算机的上网方式都是拨号上网,连最初成立的几家网吧都是。想上网了,先把电话线拔下来,插在机箱后的modem接口上,然后打开IE,输入网址。由于拨号上网价格不菲,甚至在准备拨号之前都已经准备好了需要浏览的内容。然后就听见吱吱嘎嘎的拨号声,大概持续半分钟,通讯完毕,可以上网了。速度...
2013-3-3576
C/MFC折半查找(二分查找)
折半查找的前提是已经对数据做好了排序,然后再折半查找。例如排序后的数据是151235647889123456。你要查找12,首先用12跟上面排好顺序的9个数中间那个比较(64),12<64,因此你查找的数据在前半部分,即15123564,再用12跟前半部分中间那个数比较(12),这样找了2次就找到了。折半查找法也称为二分查找法,它充分利用了元素间的次序关系,采用分治策略,可在最坏的情况下用O(logn)完成搜索任务。折半查找的目的是提高查找的效率。C语言的函数实现如下:intbinsearch(intx,intv[],intn){intlow,hi...
2013-3-3513
你的网站打开得很慢吗?
8秒原则:作为一名站长要知道,如果你的网站点击后在8秒之内还无法打开,那么客户一定会关闭掉然后去寻找另外一个同类网站。网站打开速度慢主要原因:网站为PHP、asp、asp.net、jave、jsp等语言开发的动态网站时,网站没有生成静态页面或实现伪静态。网页采用的是table或div+table的网页布局方式,代码书写不规范,代码书写中重复代码太多,应该精减,并采用符合国际WEB开发标准代码书写,我们建议用div+CSS网页布局制作符合W3C标准的网页。网页运用的图片太多,严重影响网站的加载速度,例如网站导航、边栏、网页背景图片,广告图片等。网页动态脚本...
2013-3-3508
HTTPGet与HTTPPost的细节
HTTP-GET和HTTP-POST是使用HTTP的标准协议动词,用于编码和传送变量名/变量值对参数,并且使用相关的请求语义。每个HTTP-GET和HTTP-POST都由一系列HTTP请求头组成,这些请求头定义了客户端从服务器请求了什么,而响应则是由一系列HTTP应答头和应答数据组成,如果请求成功则返回应答。HTTP-GET以使用MIME类型application/x-www-form-urlencoded的urlencoded文本的格式传递参数。Urlencoding是一种字符编码,保证被传送的参数由遵循规范的文本组成,例如一个空格的编码是"%20"。附加参数还能被认为是一...
2013-3-3483
传统开发与敏捷好比大象与猴子
很久以来我都对传统的软件工程方法和盛行的敏捷方法的联系与区别郁闷不已,因为每一个领域都是那么庞大,作为一个非专业人士,要能清楚地把握其中的关系,确实不是件容易的事情,直到我看到下面的这个故事(摘自《平衡敏捷与规范》BalancingAgilityandDiscipline:AGuideforthePerplexed,邓辉孙鸣译清华大学出版社)。在敲字的过程中我自己对一些名词对照着两个软件开发方法中的常用概念进行了注解,不当之处,还请大家指正。很久以前,在一片充满隐喻的土地上,住着一头大象(喻传统开发方法)。很多年来,这头忠实的大象一直都是他所居住村庄主要的食物采集者,并且非常...
2013-3-3491
你应该现在立即就开始写博客
用一句话来说就是,写一个博客有很多好处,却没有任何明显的坏处。(阿灵顿的情况属于例外,而非常态,就像不能拿抽烟活到一百岁的英国老太太的个例来反驳抽烟对健康的极大损伤一样)让我说得更明确一点:用博客的形式来记录下你有价值的思考,会带来很多好处,却没有任何明显的坏处。Note:碎碎念不算思考、心情琐记不算思考、唠唠叨叨也不算思考、没话找话也不算思考,请以此类推。下面是我个人认为写一个长期的价值博客的最大的几点好处:
    能够交到很多志同道合的朋友我自己既写博客,也读别人的博客,在这个时代,对于生活中的绝大多数人来说,拓宽朋友圈子的途径几乎只有一个,通过网络,而...
2013-3-3597
JavaScript使图片旋转一周
使图片进行360度旋转一周。能够兼容所有浏览器。IE使:matirx滤镜webkit:webkitTransformOpera:OTransformfirefox:MozTransform。很眩的一个JavaScript效果,参考它的编程技巧吧。效果演示varImg=function(){varT$=function(id){returndocument.getElementById(id);}varua=navigator.userAgent,isIE=/msie/i.test(ua)&&!window.opera;vari=0...
2013-3-3444
怎样的PHP代码才算优秀
优秀的PHP代码应该是结构化的。大段的代码应该被分割整理成一个个函数、方法,而那些不起眼的小段代码则应该加上注释,以便日后清楚它们的用途。而且应该尽可能地把前台代码如HTML、CSS、Javascript等从程序中分离出来。PHP的面向对象编程特性可以很好地帮助程序员将代码整理有序。优秀的PHP代码应该是规范化的。无论是为变量名和函数名设定命名规则,还是对一些会重复使用的过程如数据库操作和错误处理进行标准化,抑或是简单到规定好代码是怎样缩进的,这些规范化都可以让代码的可读性大大提高。优秀的PHP代码应该是自适应的。PHP有许多特性如magicquotes和shorttag...
2013-3-3510
谈谈程序员付出与加薪问题
只要工作就会有薪水问题,这个问题贯穿一个人的职业生涯的始终,而且是个基本问题、首要问题。在当今社会阶段,可以说工作的目的就是获取薪水,就是获取更高的薪水。但是,薪水的高低的决定权并不取决于企业的员工,而且是取决于企业的管理者。这就造成了员工和管理者之间的博弈,最激烈的结果是员工跳槽而去。对于在国有企业中的程序员,应该不存在什么加薪问题。什么时候升职加薪是一种按部就班的事,只要了解升职加薪的条件之后,按照这个条件去争取就行了。例如,程序员有了什么证书,程序员工作若干年等条件满足就可以加薪了。如果,程序员不满意当前这个企业不妨跳槽而出,因为很少国营企业破例为一个人而改变政策的...
2013-3-3498
少走弯路去学习面向对象编程
在学习面向对象的过程中,我自己也走了很多的弯路。一般来讲,接触面向对象是做为编程语言的一部分。那时候认为在程序中写一个Class关键字就是面向对象,写ClassA:ClassB就是面向对象的继承。实际从编程语言的角度来理解是无法掌握面向对象的精髓的,在这里我想以我的经验来告诉大家我的一些方法。面向对象是一种思想理论,要远远高于编程语言。不深入理解面向对象理论就无法做到编写比较高级的软件,而且往往这些软件不能有效应对变化,不能复用,不能扩展,不能维护等。使用抽象方法还能应对软件的复杂度,因为抽象是对事物的简化方法。首先在学习面向对象前明白你的目的然后讲方法(这个很重要,...
2013-3-3585
什么样的工作能够成为事业
“激情像浆糊一样,可让你在艰难困苦的场合里紧紧地把自己粘在这里,坚持到底。它是在别人说你‘不行’时,能在内心里发出‘我行’的有力声音。”——拉尔夫·沃尔多·爱默生布拉格作家弗朗茨?卡夫卡(FranzKafka)生前的工作是半官方组织“劳工事故保险局”的文员,但他为世人所知的最重要身份却是风格惊世骇俗的小说家。尽管他在工作中人缘不错,也曾在12年的时间里从“助理员”被提升到高级职位“总秘书”,但这份工作对他来说,仅仅是一份提供衣食住行的工作而已,因为他并不喜欢这份职业。他真正愿意不计代价投入时间与精力的是写作。虽然他在世的时候,写作并未给他带来任何名誉与利益,但这才是他...
2013-3-3500
JavaScript数据类型判断
JavaScript的数据JavaScript的数据分为两种:简单数据和复杂数据。简单数据包含number,string,boolean,undefined和null这五种;复杂数据只有一种即object。万能的typeof我们先测试一下通过typeof来获取简单数据类型。什么也别说了,上代码是王道://获取变量obj的数据类型functiongetType(obj){returntypeof(obj);}/*常量获取类型*/alert(getType(1));//numberalert(getType("jeffwong"));//stri...
2013-3-3409
如何用SQL语句去掉重复记录
海量数据(百万以上),其中有些全部字段都相同,有些部分字段相同,怎样高效去除重复?如果要删除手机(mobilePhone),电话(officePhone),邮件(email)同时都相同的数据,以前一直使用这条语句进行去重:deletefrom表whereidnotin(selectmax(id)from表groupbymobilePhone,officePhone,email)ordeletefrom表whereidnotin(selectmin(id)from表groupbymobilePhone,officePhone,email)其中下面这条会稍...
2013-3-3489
谈谈程序员创业的一些事情
做为一个程序员,身处一个特殊的行业,每天都在不停的工作和学习,年轻时你很是了得,在你面前没有什么问题是解决不了的,职业给了你耀眼的光环,不用炫耀也很夺目,但更多已经步入三十的同仁们却告诉我们一个不可改变的事实,你今天的努力很可能与将来的前景不成正比。且不管三十岁的前景如何,我们都在向三十岁迈进,现在的你能做些什么呢,是顺其自然?还是努力改变自己的命运?站在人生的这条岔路口,我们该何去何从?程序员如何开始创业?无知者无畏,但可悲对于一个技术团队,典型的启动场景是这样:看到某个很火的网站,然后几个人一看就知道所有的技术应当如何来做(当然我们知道1万用户和1千万用户的系统作...
2013-3-3522
离职前有些事情要注意到
Leavingajobisoftenupsetting,whetheryouwerefiredorfinallydecidedtoquit.Youmayhavetroublerememberingtodotherightthing.Herearesomethingsyoushouldavoiddoing。不管你是被炒掉的,还是自己决定辞职,离职的时候都会很伤心的。你可能不记得做正确的事情,但以下是一些你应该避免发生的事。
    Don'ttelloffyourbossandco-workers,evenifyouthinktheydeserveit。即使你认...
2013-3-3461
解析HTMLDocumentType元素
DOCTYPE是文档类型(DocumentType)的缩写,<!DOCTYPE>元素用于声明一个页面的文档类型定义(DocumentTypeDeclaration,即DTD)。此元素声明位于文档中的最前面的位置,处于<html>标签之前。通过确认页面的DTD,可以同时确定页面使用哪种W3C规范(比如HTML或XHTML规范)。W3C规范的正确翻译应该为W3C推荐(W3CRecommendations)。很多设计师的眼里W3C就是标准。但是许多人都是一知半解。下面列于了目前W3C规范中的HTML规范和XHTML规范,稍后会讲解HTML和XHTML的关系。XH...
2013-3-3429
低跳出率是优秀网站的一个标志
网站跳出率是什么说到网站跳出率,还有一个附属概念,叫做网页跳出率。只不过在SEM中,大多数时候只看网站跳出率就够了。不管是网站跳出率,还是网页跳出率,只要明白了跳出率,就都明白了。跳出率:从这个网页来,从这个网页离开的数量与该网页或者该网站的浏览量的比值。网页跳出率就是与该网页浏览量的比值,网站跳出率就是与该网站浏览量的比值。网站跳出率公式如上所述,网站跳出率公式即为:网站跳出率=单页浏览离开数量/网站总浏览数量。同时写一下网页跳出率:网页跳出率=单页浏览离开数量/该页面总浏览数量。打个比方,有人从Google上搜索“CSS”这个关键词,然后通过点击...
2013-3-3553
PHPsession的运行流程
一直在使用session存储数据,一直没有好好总结一下session的使用方式以及其工作原理,今天在这里做一下梳理。这里的介绍主要是基于php语言,其他的语言操作可能会有差别,但基本的原理不变。在php中如何操作sessionsession_start();//使用该函数打开session功能$_SESSION //使用预定义全局变量操作数据unset($_SESSION['key'])//销毁一个session的值简单地操作,一切都是由服务器实现;由于处理在后台,一切看起来也很安全。但是session采用什么样机制,又是怎样被实现,并且如何来保持...
2013-3-3465
模仿淘宝的五星评分功能
评分功能可以让大量用户对你的内容、产品做出相对客观的评价,可以给推荐算法提供一个很好的参考。而五星评分简单易用,大家淘宝都用惯了,所以这里模仿淘宝的五星评分,兼容性、易用性都不错。下面先来看下演示效果: