正在加载...
 
js限制字数(中,英文)  

转:http://hi.baidu.com/%B7%E7%B4%D3%D5%E2%C0%EF%B4%B5/blog/item/e215fbb1befd4b57082302d8.html

最近开发一个项目,有一个新闻的模块,用户需要对标题进行控制,希望在输入的时候就不允许超过规定的字数,而不是提交到服务器再判断。
显然,这只能使用javascript来完成这一艰巨的任务了。
首先,既然要限制字数,肯定要想办法实时获取用户在文本框里输入的文字的数量。input控件有个length的属性,可以方便地获取字数。可是,它所返 回的字数无论是中文还是英文或者数字,1个字就算1个字。客户要限制字数的原因是为了页面显示的时候排版不会乱,因此一个汉字需要按2个英文字符来计算。 这样的话,这个默认的length就无用武之地了。
怎么区分中文和英文呢?查阅了一下资料,string对象有一个叫charCodeAt(index)的方法,可以获取字符串中某一个字符的编码。我们都 知道,字母数字的ascii编码都小于255而汉字的编码肯定大于255,因此我们可以使用此方法来判断字符串占用多少英文字符的宽度。 function GetCharLength(str)
{
var iLength = 0;
for(var i = 0;i<str.length;i++)
{
if(str.charCodeAt(i) >255)
{
iLength += 2;
}
else
{
iLength += 1;
}
}
return iLength;
}

阅读全文...
标签:JS | 浏览数(118) | 评论数(0) | 09-10 10:03
我的失败经历,心得及SNS项目简介  

转:http://www.foradmin.com/bbs/archiver/tid-110.html

8月31号晚上8:30
主讲人:海木主题:我的失败经历,心得及SNS项目简介出处:站长交流与互助群 17770150


从我的创业经历说起,结合我的创业经历、失败过程着重说下组建团队方面的注意事项。然后简单的介绍一下我失败的项目,也许有的朋友能用得到吧!我希望如 此!主要还是让大家尽量避免和我犯同样的错误。如果有朋友在做,或想做这方面的项目,我不介意互相交流,沟通一下,有兴趣的可以聊聊。以下纯属个人观点:

进入互联网算是偶然吧,开始是兴趣,到后来觉得如果创业做传统行业一是要有资本,二是论资排辈,成功的机会比较小。而互联网门槛低,回报高的特点让大家看 到了机会,我也不例外。个人认为开始的时候一定要积累经验,所以我进了一家网络公司,在进这家公司之前我就决定以后要自己做,那么我在这家公司工作的时间 就是我积累行业经验以及扩展人脉的时间。我在这家公司的半年里,因为个人业绩的突出,第二个月就当上了部门经理。然后就是带队,培训,管理等工作。同时也 因为自己想要组建团队,所以格外留意自己接触过的人。




做到半年的时候,经过一段时间的观察接触,我选择了公司的两个同事组建团队,一个水平中上等的技术,一个理论能力较强的策划。但他们绝对不是互联网的精英。

此处为组建团队要点一,挑选精英:很多人在组建团队的时候大多找自己接触过的人,因为组建团队初期,无论从资本,经验等各方面来讲,都不会有太多、太好的 选择。也因为这样,很多人在最初组建团队的时候都会失败。我不知道大家计算过没有,印象中,初次组建团队的人,大多都失败了。失败的原因除了资金,更多的 是团队内部的不合谐。所以,建队初期,选择适合你的伙伴显得尤其重要。

要点:尽量挑选精英,这样更容易成功

结论:失败

重要程度(以5星为准):5星


之所以选择他们俩,是因为在我接触的范围内几乎找不到精英,本地互联网的格局较南方落后,导致人才外流严重,综合这些原因,只能退而求其次,寻找和自己形成优势互补的伙伴。

此处为要点二,优势互补:团队成员形成互补,这点我认为我还是做到了,我是做市场出身,当时互联网深度理论方面的知识较差,选择他们正好形成优势互补,分工明确,如果执行力没有问题的话,做起事来事半工倍。

要点:找不到精英做为伙伴,那么只能退而求其次寻求优势互补了,无耐之举

结论:成功

重要程度:2星


在组建团队后,开始阶段热情高涨,但过段时间后我发现,个别人正常工作时间内,开小差,上班经常迟到等不守时,不守信的现象大幅度增加。并以个人利益为 主,团队利益为辐,我认为一个创业团队因为理想或是利益等各方面因素而创业,那么这个关键字是创业,组建团队是为了创业,所以团队的利益要凌驾于个人利益 之上,也就是说团队意识要强。

此处为要点三,团队意识:个人认为团队每个成员,一定要有团队意识,这点格外重要。因为创业者基本上年轻人为主,现代年轻人大多以自我为中心,激情有余,理智不足,行事不以团队为先,久而久之,本来就淡薄的团队意识,会逐渐丧失。从而导致团队解散。

要点:团队意识可以说是项目成败的关键,谁也不希望夹菜的时候,筷子往两边使劲

结论:失败

重要程度:3星


因为在组建团队之初就商定好,大家利用自己的能力各自管理自己所熟悉的那一块,遇事商量,大家的职权是平行的。所以在出现团队意识较差的现象后,只能在大 家都在的时候谈谈这方面的事情,让犯错的人自己反省,其实这样根本没有约束力。果不其然,这样的事情在之后还是照样发生。当时我就想,要是团队中有一个人 说的算,而不是平行,那么这些问题就好解决了。

此处为要点四,团队要有leader:团队核心成员不能是平行的,一定要有个有绝对话语权的人。 像我们这种方式,三个核心,三个人平起平坐,那么就像一个民主体制一样,民主虽然好,但是在民主体制下,不容易统一思想。每个人都有发言权,每个人都希望 自己的意见被采纳。比方:即便就某件事到最后达成共识,被否掉的人心里一样很不舒服的。那么他很有可能将这种不舒服表现在行动上。相反有了leader, 就像一个独裁体制,这种体制遇事靠一个人决策就可以了。但这个leader一定要是个强者,不然这个团队很快就会垮掉。

要点:两种体制的对垒,不同的情况不同的结果

结论:失败

重要程度:4星


我的第一个团队在我们组建后的三个月就散伙了,原因是在发现某些人团队意识不强之后,在很多时候,我们在谈论事情时都不能达成共识。而且我们在建队之初所 选择的项目比较模糊,几个人几个想法,在商谈做哪个项目的时候都认为应该做自己构思的项目,以至于每次都是不欢而散。到最后大家发现是在浪费互相的时间, 所以决定散伙。

此处为要点五,组队前的规划:个人认为团队组建之前,一定要明确组建团队要做什么事。比如:我要开发某某项目,为此而组建团队。在成员入队前要就此项目达成共识方可入队。

要点:共同的价值观是做队友的前提

结论:失败

重要程度:3星


团队解散一个月后,我和原团队的技术核心又组建了第二支团队,我负责市场和策划方面,原技术核心负责技术方面。同时我拼命的补充互联网方面的知识,每天的 阅读时间至少五个小时,一直持续到现在。(做这行的朋友应该知道,理论知识不是最重要的,但却是不可缺少的)并决定制作由我构思的SNS类网站,这个一会 我简单介绍一下,也许有做这方面项目的朋友能用的着)由于我们已经几个月没有收入,为了不坐吃山空,决定边开发,边做本行(就是在公司的时候做的那些业 务,包括网站制作,推广,软件制作,维护等,相信这些大家都会,都做过)但想不到的是,直到大半年后,也就是06年的8月左右,我们才正式开始开发项目, 因为这大半年中,我们的业务几乎没有间断,三个技术几乎没有时间来开发项目,都在忙活给客户做网站,软件等。到了8月,我们的资金已经够我们生活一段日 子,所以推掉了所有业务,专心开发项目。

此处为要点六,自我生存能力:失败的团队,失败的项目,除了人的因素外,很多是因为资金的耗尽。但其中又有很多是因为没有资金养活自己的团队,无法把项目 开发下去。所以每个团队核心成员在组队之前一定要把团队的自我生存能力放在第一位。很多朋友都知道互联网一定有未来,只需要坚持。那么一个团队,有了自我 生存能力,他才能更好的坚持。不要靠VC来养活,VC是来帮你发展项目的,不是给你钱让你开发的。组队之后开发阶段就要靠团队自己养活自己了。(我的团队 虽然也是因为资金,但是我的团队不是养不了自己而解散的,是没有发展项目的资金,再有就是雇佣高级技术的高工资,不然我们自给自足是没问题的)

要点:谈发展,谈未来,先吃饱肚子再说

结论:成功

重要程度:3星


因为技术水平的有限,这一开发,足足开发了四个月,第一版才开发出来,但简单的内测之后,达不到我的要求,又进行二次开发。

此处为要点七,执行力:并不是真的要开发这么长时间,而是每次开发都有拖拉现象,这就是执行力差的表现。不光是技术,很多策划以及市场人员更需要重视执行 力的问题。不能光说不做,适当的去执行才能更好的完成每件事情。执行力现在已经成为很多团队或是企业需要极度重视的问题。还有,一个好的产品经理也决定着 项目的成败。

要点:执行力的好坏,直接决定成功与否

结论:失败

重要程度:5星


这次开发又开发了四个月,内测之后,我已经发现,现有的技术水平只能达到我策划功能的三分之二的水平,而且界面完全达不到我要求的水准。同时面对线下的推 广资金,是我们不具备的。所以在仔细衡量之后,我们打算寻求合作。寻找了一段时间后,找到了一些愿意和我们合作的个人或是企业,但是无一例外的是,这些合 作条约全都是些不平等条约。不是变成其它项目的附属品(做下去,我的项目就变质了,而且我们变成另一种形式为别人打工,背离初衷),就是合作之后无半点自 主权,这几起谈判过后,搞的我心灰意冷。所以决定暂停后续开发,同时我们的费用已经快要耗尽,不得不又重操本行,赚取费用。在这个时候,因为项目被迫停 下,以及几年的创业下来,搞的人精神疲惫,神经经常高度紧张,压力大等几方面负面影响。团队内部比较不合谐。特别是我和另一个核心成员之间几年下来堆积在 一起的各种矛盾几乎都暴露了出来。


首先是我们在利益分配上出现的问题,因为我们接的业务网站较多,其次为推广,软件。那么网站接回来之后,是由技术做。我的核心伙伴认为,(核心我们俩,他 负责技术)他们技术在制作中付出了劳动,那么我把站接回来之后就没有太多的工作要做,所以觉得假如他自己接业务,自己来做的话,也是一样的,没有必要把钱 分出来一份。他表态之后,我也很生气,没有市场方面的洽谈,沟通,这个活凭他的有限人际关系怎么接!还有,在做推广的时候技术根本连嘴都不用动一下,也照 样分到和我一样的利润。这些在我们组队初期的时候根本就没有仔细探讨过,不然不会出现这种分岐。

此处为要点八,利益分配:团队组建之初利益方面一宁要分配清楚,否则日后必定生乱。

要点:每个人工作或是创业最主要的还是为了利益。追求理想者毕竟是少数,那么利益分配的重要性也就不言而喻

结论:失败

重要程度:5星


其次是我们在讨论时候出现的现象,我的核心伙伴是个内向的人,本来技术内向没有什么坏处。但是在核心平行没有leader的团队问题就体现出来了。他有意 见他不说,放在心里。比如说:我构思的项目在开发过程中有些改进,或是界面功能的意见,我提出来,征求他的意见,他不说意见,就答应。大家都通过按照这个 执行后,在实施的时候,他不按照商量好的做,还按照他自己的想法做,因为这种事争吵了好多回。并且做事很散漫,没有上进心。经常在工作时间玩游戏(因为他 是技术方面的负责人,那么他的行为直接影响到他管理的人,不能以身作则。呜呜··平时我晚上玩会游戏都像作贼一样,玩一会心里都感觉很内疚,觉得占用了工 作时间,大家做这行的都知道,晚上我们也经常得不到休息)就这样,正好项目也停了,我也感觉到很累了,并且我也快到而立之年了,这样的奋斗让我看不到将 来,看不到希望。所以在07年的七月份,我选择结束了这段创业旅程。

此处为要点九,团队成员综合素质:

不宜选择无进取心、无激情的人。

不宜选择有事不说放在心里的人。

不宜选择不讲理或是强词夺理的人。

不宜选择偏执不听人言者。

不宜选择执行力差的人。

要点:团队成员综合素质的高低,决定团队的质量,团队的质量决定团队的成败

结论:失败

重要程度:4星

阅读全文...
浏览数(41) | 评论数(0) | 09-08 14:46
谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词  

转:http://blog.ccidnet.com/blog-htm-do-showone-uid-37820-type-blog-itemid-157172.html

非常感谢原作者,内容翔实,通俗易懂! 

 

    这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻 松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级。整理这篇文章的动机是两个问题:

    问题一: 使用Windows记事本的“另存为”,可以在GBK、Unicode、Unicode big endian和UTF-8这几种编码方式间相互转换。同样是txt文件,Windows是怎样识别编码方式的呢?我很早前就发现Unicode、 Unicode big endian和UTF-8编码的txt文件的开头会多出几个字节,分别是FF、FE(Unicode),FE、FF(Unicode big endian),EF、BB、BF(UTF-8)。但这些标记是基于什么标准呢?

 

    问题二: 最近在网上看到一个ConvertUTF.c,实现了UTF-32、UTF-16和UTF-8这三种编码方式的相互转换。对于Unicode (UCS2)、GBK、UTF-8这些编码方式,我原来就了解。但这个程序让我有些糊涂,想不起来UTF-16和UCS2有什么关系。 查了查相关资料,总算将这些问题弄清楚了,顺带也了解了一些Unicode的细节。

 

    写成一篇文章,送给有过类似疑问的朋友。本文在写作时尽量做到通俗易 懂,但要求读者知道什么是字节,什么是十六进制。0、big endian和little endianbig endian和little endian是CPU处理多字节数的不同方式。例如“汉”字的Unicode编码是6C49。那么写到文件里时,究竟是将6C写在前面,还是将49写在前 面?如果将6C写在前面,就是big endian。如果将49写在前面,就是little endian。“endian”这个词出自《格列佛游记》。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头 (Little-Endian)敲开,由此曾发生过六次叛乱,一个皇帝送了命,另一个丢了王位。我们一般将endian翻译成“字节序”,将big endian和little endian称作“大尾”和“小尾”。

阅读全文...
标签:编码转换 | 浏览数(126) | 评论数(0) | 09-07 15:20
jquery使用方法简介 (转)  

转:http://blog.csdn.net/zuopengLi/archive/2008/05/26/2483191.aspx

 

一、目的通过学习本文档,能够对jQuery有一个简单的认识了解,清楚JQuery与其他JS框架的不同,掌握jQuery的 常用语法、使用技巧及注意事项。

二、使用方法在需要使用JQuery的页面中引入JQuery的js文件即可。例如: 引入之后便可在页面的任意地方使用jQuery提供的语法。

三、学习教程及参考资料请参照《jQuery中文API手册》和http://jquery.org.cn/visual/cn/index.xml 推荐两篇不错的 jquery教程:《jQuery的起点教程》和《使用 jQuery 简化 Ajax 开发》

阅读全文...
浏览数(351) | 评论数(0) | 08-23 10:01
PHP安全之:重燃你的Php安全之火 (转)  

转:http://www.bluedon.com/bluedo621/search/newsdisplay3.asp?id=2093&sort=3

 

对于脚本安全这个话题好像永远没完没了,如果你经常到国外的各种各样的bugtraq上,你会发现有一半以上都和脚本相 关,诸如SQL injection,XSS,Path Disclosure,Remote commands execution这样的字眼比比皆 是,我们看了之后的用途难道仅仅是抓肉鸡?对于我们想做web安全的人来说,最好就是拿来学习,可是万物抓根源,我们要的不是鱼而是渔。在国内,各种各样 的php程序1.0版,2.0版像雨后春笋一样的冒出来,可是,大家关注的都是一些著名的cms,论坛,blog程序,很少的人在对那些不出名的程序做安 全检测,对于越来越多的php程序员和站长来说,除了依靠服务器的堡垒设置外,php程序本身的安全多少你总得懂点吧。 

有人说你们做php安全无非就是搞搞注入和跨站什么什么的,大错特错,如果这样的话,一个magic_quotes_gpc或者服务器里的一些安 全设置就让我们全没活路了:(。我今天要说的不是注入,不是跨站,而是存在于php程序中的一些安全细节问题。OK!切入正题。 

阅读全文...
标签:安全 | 浏览数(42) | 评论数(0) | 08-21 11:08
vi 的替换命令  

vi/vim 中可以使用 :s 命令来替换字符串。以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询。
:s/vivian/sky/ 替换当前行第一个 vivian 为 sky
:s/vivian/sky/g 替换当前行所有 vivian 为 sky
:n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky
:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky
n 为数字,若 n 为 .,表示从当前行开始到最后一行
:%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky
:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky
可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符
:s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/
:%s+/oradata/apras/+/user01/apras1+ (使用+ 来 替换 / ): /oradata/apras/替换成/user01/apras1/
1.:s/vivian/sky/ 替换当前行第一个 vivian 为 sky
:s/vivian/sky/g 替换当前行所有 vivian 为 sky
2. :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky
:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky
(n 为数字,若 n 为 .,表示从当前行开始到最后一行)
3. :%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky
:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky
4. 可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符
:s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/
5. 删除文本中的^M
问题描述:对于换行,window下用回车换行(0A0D)来表示,
Linux
下是回车(0A)来表示。这样,将window上的文件拷到
Unix
上用时,总会有个^M.请写个用在unix下的过滤
Windows
文件的换行符(0D)的shell或c程序。
· 使用命令:cat filename1 | tr -d “^V^M” > newfile;
· 使用命令:sed -e “s/^V^M//” filename > outputfilename。需要注意的是在1、2两种方法中,^V和^M指的是Ctrl+V和Ctrl+M。你必须要手工进行输入,而不是粘贴。
· 在vi中处理:首先使用vi打开文件,然后按ESC键,接着输入命令:%s/^V^M//。
· :%s/^M$//g
如果上述方法无用,则正确的解决办法是:
· tr -d "\r" dest
· tr -d "\015" dest
· strings A>B
6. 其它
利用 :s 命令可以实现字符串的替换。具体的用法包括:
:s/str1/str2/ 用字符串 str2 替换行中首次出现的字符串 str1
:s/str1/str2/g 用字符串 str2 替换行中所有出现的字符串 str1
:.,$ s/str1/str2/g 用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1
:1,$ s/str1/str2/g 用字符串 str2 替换正文中所有出现的字符串 str1
:g/str1/s//str2/g 功能同上
从上述替换命令可以看到:g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索
字符串的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。

标签:VI | 浏览数(52) | 评论数(0) | 08-18 14:46
用Pear加速PHP程序开发(转)  

及时交付应用程序是确定解决方案采用何种技术的关键所在,PHP借助于PEAR(PHP Extension and Application Repository:PHP扩展与应用库)会大大促进其开发过程。PEAR是一种代码库,它为标准程序功能提供预先编写的类,从而大大降低了应用程序的 开发时间。PEAR在概念上类同于Perl的CPAN,PEAR包含了具有丰富特性的功能函数,包括数据库、邮件和错误处理等。在采用PEAR的情况下, 开发人员就可以部署和增强已经编写的基本函数同时把注意力集中到编写程序新功能这一方面上来。

及时交付 应用程序是确定解决方案采用何种技术的关键所在,PHP借助于PEAR(PHP Extension and Application Repository:PHP扩展与应用库)会大大促进其开发过程。PEAR是一种代码库,它为标准程序功能提供预先编写的类,从而大大降低了应用程序的 开发时间。PEAR在概念上类同于Perl的CPAN,PEAR包含了具有丰富特性的功能函数,包括数据库、邮件和错误处理等。在采用PEAR的情况下, 开发人员就可以部署和增强已经编写的基本函数同时把注意力集中到编写程序新功能这一方面上来。

 

阅读全文...
标签:pear | 浏览数(37) | 评论数(0) | 07-29 15:40
Adodb 官方介绍(转)  

转自:http://freephp.bokee.com/429273.html

 

 

PHP 可以用最少的精力以及最多的乐趣来建立动态的网站,要建立动态网站我们需要使用数据库来撷取登入账号信息、发布动态新闻、储存讨论区的文章。就以使用最通 用的 MySQL 数据来说,你们公司已经完成了如此神奇的工作,让你们的网站比你们所能想象的还要出名。接着你们也发现MySQL无法应付实际的工作量了,是该更换数据库 系统的时候了。

不幸地,在PHP中所有数据库的存取都有些细微的不同。与MySQL连结你要使用 mysql_connect(),当你决定升级到 Oracle 或 Microsoft SQL Server 时,你必须分别改用 ocilogon() 或 mssql_connect()。更糟糕的是不同连结所使用的参数也都不一样,有的数据库说 po-tato(马铃薯的发音),别的数据库又说 pota-to(马铃薯的另一个发音),喔.....天啊。


PHP可以用最少的 精力以及最多的乐趣来建立动态的网站,要建立动态网站我们需要使用数据库来撷取登入账号信息、发布动态新闻、储存讨论区的文章。就以使用最通用的 MySQL 数据来说,你们公司已经完成了如此神奇的工作,让你们的网站比你们所能想象的还要出名。接着你们也发现MySQL无法应付实际的工作量了,是该更换数据库 系统的时候了。

不幸地,在PHP中所有数据库的存取都有些细微的不同。与MySQL连结你要使用 mysql_connect(),当你决定升级到 Oracle 或 Microsoft SQL Server 时,你必须分别改用 ocilogon() 或 mssql_connect()。更糟糕的是不同连结所使用的参数也都不一样,有的数据库说 po-tato(马铃薯的发音),别的数据库又说 pota-to(马铃薯的另一个发音),喔.....天啊。

我们不要放弃
当你需要确保你程序的可移植性的时候,一个叫做 ADODB 的数据库封包链接库已经出现了。它提供了共通的应用程序接口来跟所有支持的数据库沟通,因此你无须放弃!

ADODB 是Active Data Object DataBase的缩写(很抱歉!玩计算机的有时候不是很有原创性)。ADODB目前支持MySQL、PostgreSQL、Oracle、 Interbase、Microsoft SQL Server、Access、FoxPro、Sybase、ODBC及ADO,你可以从 http://php.weblogs.com/adodb下载 ADODB。

 

阅读全文...
标签:adbod | 浏览数(34) | 评论数(0) | 07-29 15:38

Powered by Haiwit