博文

JavaScript精简学习1:基础知识(2008-08-12 01:59:00)

摘要:有些时候你精通一门语言,但是会发现你其实整天在和其它语言打交道,也许你以为这些微不足道,不至于影响你的开发进度,但恰恰是这些你不重视的东西会浪费你很多时间,我一直以为我早在几年前就已经精通JavaScript了,直到目前,我才越来越觉得JavaScript 远比我想象的复杂和强大,我开始崇拜它,就像崇拜所有OOP语言一样~   趁着节日的空隙,把有关JavaScript的方法和技巧整理下,让每个在为JavaScript而烦恼的人明白,JavaScript就这么回事!并希望JavaScript还可以成为你的朋友,让你豁然开朗,在项目中更好的应用~   适合阅读范围:对JavaScript一无所知~离精通只差一步之遥的人   基础知识:HTML 1 创建脚本块
1: <script language=”JavaScript”>
2: JavaScript code goes here
3: </script>
2 隐藏脚本代码
1: <script language=”JavaScript”>
2: <!--
3: document.write(“Hello”);
4: // -->
5: </script> 在不支持JavaScript的浏览器中将不执行相关代码 3 浏览器不支持的时候显示
1: <noscript>
2: Hello to the non-JavaScript browser.
3: </noscript>
4 链接外部脚本文件
1: <script language=”JavaScript” src=../../”filename.js”></script>
5 注释脚本
1: // This is a comment
2: document.write(“Hello”); // This is a comment
3: /*
4: All of this
5: is a comment
6: */
6 输出到浏览器
1: document.write(“<strong&......

阅读全文(1499) | 评论:0

非专业程序员谈程序员修炼之路(2008-08-12 00:46:00)

摘要:我是学文科出身的,从98年学计算机开始怀着对软件编程的一腔热情,到今天已走过了6年的漫长而又艰难的学习之路,以后的路还很长,但回首过去学习时的艰难和曲折,使我觉得有义务要和刚刚学习的以及想要学习编程技术的后学谈谈我的对学习的看法,不足之处也请其他老鸟们指正与补充。

  一、 门槛降低了,我们应该怎么学

  随着软件技术的发展,软件编程语言走过了一个由原始社会向工业社会发展的过程,从机器码编程到汇编语言,从汇编语言到各种高级语言;编程思想由面向过程发展到面向对象;同时编程工具也变成了可视化的。编程门槛随着技术和工具的发展变得越来越低,现在用delphi,vb等工具很快就可以做一个数据库系统、媒体播放器等在过去足以傲人的软件。但我要说,不要为你能在几分钟之内做一个软件而沾沾自喜,更不要因为工具的先进就丢掉了程序员的基本功。不管你是在校的大学生,还是自学的爱好者,如果想在程序员这条路上走的更远,一定要学好计算机的专业课。

  二、 语言的选择不重要,编程思想才是根本

  经常在论坛里看到初学者问,“学什么语言好?什么语言最吃香,最有前途?”,早几年,还有许多比较各种语言和编译器的文章。这种思想也深深的影响了我,使我走了许多弯路。所以我要说,选择什么语言不是最重要的,编程思想才是程序员要学的根本。各种语言发展到今天都有它存在的原因。比如现在各种高级语言都有各自的优点,delphi最让人称道的是他在编写数据库系统方面的便捷,c/c++则在于它的灵活和高效性,vb的优点在于他最方便入门,Java的跨平台性是最好的。对于初学者学什么都好,因为这一阶段学习的重点在于语言和编译器本身,毕竟书上的例子和一个实用的工程相差是在太远。

  当你走过了这个阶段,语言已经不是困扰你的重要问题时,那么你选在一个平台吧。(当然我的建议是Windows,一方面是学习的资料比较多,另一方面就是使用的人也多,好的软件是不愁每人使用的。)了解在这个平台编程的方法,就Windows来说就是学习API函数,并逐渐深入到它的内核。

  如果你走过了这一阶段,那我告诉你你已经是最初你佩服的那种高手了。在这个平台上能够游刃有余,无论是开发各种应用软件,还是开发深入系统的系统软件,你都会得心应手。

  三、 编程不是单纯......

阅读全文(853) | 评论:0

IT人为什么难以拿到高薪?(2008-08-12 00:21:00)

摘要:声明:本文转摘  最近在论坛里看到很多人发牢骚,说薪水少,可在我看来,你们这样的人拿得到高薪才怪!

  我先问一句:这里有多少人是本科的?有多少人是正规本科的(不算自考,成考和专升本)?有多少人是有学位的?有多少有学位的是拿着网大排名前50所大学的学位的?恐怕是少之又少吧!在中国,薪水和学位的关系对于应届生来说是绝对的,即使对于以后的发展,学位也很重要,要不那些低学历的人评职称为什么吃亏呢?你可以告诉我这不合理,不错,这确实不合理,但却是现实。如果你不能改变现实,那还是适应它吧!你也可以告诉我低学历一样可以拿高薪,我承认,不过你要准备比别人多付出10倍以上的努力。

  接下来是语言,这里恐怕是有不少人没有过四级没学位的吧?有多少过六级的?有多少过专四专八的?有多少有其他英语证书的?你不要和我说你的水平好,可不喜欢中国的考试制度,所以没证书。在中国,毕业一开始的几年就是靠证书,你有本事跳过1楼2楼造3楼吗?如果你英语不行,你有其他二外吗?要知道,老外对于it的重视可是比国内那些买的电脑做装饰品的土老帽要强得多。

  其实这些都不是最重要的,最重要的做人的风格,现在很多it人除了技术什么都不懂,整天得罪人。哪怕你是四个ccie全考出的,我不用你难道地球就不转了?中国多的是人,技术有什么了不起的?更何况很多技术是根本用不到的。

  现在总看到一些所谓的“技术牛人”在误导新人,你们知不知道你们是在误人子弟啊!自己混不出头,还要去害别人,今天要和你们好好算算帐。

  先自我介绍一下,我是98年从上海交大毕业的,在Microsoft(MS)工作了6年,现在在一家系统集成公司工作。

  第一个意见:读书最重要,就是为文凭。我承认大学里确实学不到什么东西,但为了文凭请一定要认真读。这个社会要文凭,没办法。还有大学成绩要读好一些,像ms,cisco,Oracle这些大公司是会看的。读大学还有一个好处是大学很空,你可以自己去学想学的东西,不过学校的功课永远是最重要的。那些大专的不要以为本科生学不好技术,确切得说并没有几个优秀的学生是书呆子。没有什么规定说大专生学技术有优势。

  第二个意见:好好读英语,要想在it立足,英语是必须的。至少要过六级,如果能有专八或者中高口证书或者......

阅读全文(890) | 评论:0

C++程序员的婚礼(2008-08-11 22:48:00)

摘要: C++程序员的婚礼 背景:1995年1月,我的两个朋友,达瑞和卡娜,私奔海外(其实只是从澳洲跑到了旧金山)。他们要到剑桥去继续他们的学业,下面这个典礼就是为他们举行的一系列告别活动的一部分。这都是原始材料。     友元关系结成典礼[*]蒂姆。麦肯齐和罗伯特。休厄尔1995年8月27日     * 这一庆典是对1959年新教婚礼仪式的拙劣模仿[1].     今天,在这所旅馆中,达瑞和卡娜自愿结为友元关系。既然此事并不违背现行法律,典礼现在开始。     上帝保佑,我们大家,包括旅馆的职员,能聚集在此地,参加卡特丽娜。伊丽莎白。麦菲与达瑞。马克。普拉特的友元关系结成大典。     尽管此前他们已经举行过了正式的婚礼,但那是在我们大家都没有听说过的遥远的地方,背着我们举行的婚礼。既然大家提不出任何反对他们结合的合法的理由,那就让我们虔诚地默念此次典礼的程序、目标和约定吧。     神圣的友元关系起源于文明萌芽时代,是由布亚那。斯特思塔普于20世纪70年代最早提出的。布亚那发明的C++语言完全符合图灵模型,具备面向对象的特征。他为C++语言祈祷并赐予它支配万物的力量。     进而,布亚那又说:“类不应该总是孑然一身;我得想办法帮帮它。”     于是,他创建了友元声明的语法,并以此允许其他的类或函数访问类的私有或受保护的成员。“这样,一个类就可以超越它的基类,并服务于它的友元类和友元函数,可以与它的友元类和友元函数合为一体。”     我们尊贵的主ANSI用他的祝福和他制订的律条为友元关系赐予了无上的荣耀。他同意接纳友元关系,并把友元关系作为永久的和光荣的协约,写入神圣律令之中。他宣布:“布亚那所整合的特征,没有人能将其再次分开。”使徒戴米安在他写给克莱顿的青年信徒的信中,使用友元关系创建了相互连接的类,并以此显示了友元关系的优越性能。这一典故可以在神圣历代记《C++语言的高级白痴》[3]第8章第5-6节中找到。     ......

阅读全文(1545) | 评论:0

IT女性的生存报告(2008-08-11 22:38:00)

摘要: “做女人辛苦!做IT女人更辛苦!!!!!”这是一位女性网友在论坛里发表的感慨。
  
  做女人是不是辛苦?苦到什么程度?是不是真的没有一点儿快乐?不是亲身体验,难以说出个子丑寅卯来,旁观者隔靴搔痒,也触不到痛处。 
  Zyeline是计算机专业科班出生的女性,工作已经6年,目前的月薪只有3000,还坚守在信息管理+系统维护的"一线"岗位。就为了这一点困惑,她有心在论坛里做个调查,想看看IT圈里的姐妹们对自己、对现在的职业、对今后的发展,都有些什么样的想法。

  众多IT女性自己站出来口吐真言,总算透出她们生存现状的一斑。

  电脑+女性≠开心

  十年来,高校计算机及其相关专业招生连年爆满,IT业就成了这些学子竞相角逐的职场。连续几年,IT业人均工资都高居榜首,令人羡慕,令人向往,所以,在世人眼里,身在IT业,就意味着人生的幸福生活。

  然而,幸福的IT人是相似的,不幸的IT人各有各的不幸。

  高压:

  “柳奉剑”毕业于师范数学系,半路出家上了计算机的“贼船”,工作固然是自己感兴趣的,但确实非常累,自己的身体吃不消了。有一次,她在折腾一部电脑,好友的男朋友看见了,大发感叹,女孩子怎么干那么劳累而且费神的事。

  “viviblur”刚毕业时在一家公司做硬件测试,一个人对着一排电脑,三周下来脸都发绿了,那时候她就知道,技术活不适合她。后来,她就转行了。

  “光心蓝”做了两年测试,工作很辛苦,因为一些公司的问题,突然间有了危机意识。她很想确定自己的职业方向,却发现原来脚下的路已经在不知不觉中变得好窄……
  孤独:

  "飘尽天涯"在一家软件公司上班快一年了,技术部只有她一个女生,上班还不觉得,下班后连一个说话的人都没有。

  水草"在一直做软件开发,3年时间里不停的coding,前些日子想去转行到销售,结果发现自己忍受不了低工资和与人交往,和电脑处得时间长了,真不知道怎么融入社会了。想想还是回来吧,只有继续作程序员了。

  迷茫:

  "碎片玻璃"上大学时,班里写程序的mm只有她一个,2001年毕业后写了3年程序,为了前途,......

阅读全文(1894) | 评论:0

Java学习过程的一些重点(2008-08-11 22:34:00)

摘要: 我从一年半前开始学习Java至今,从开始学习Java的时候,我开始跑到java版去看,从一开始的看别人的问题,慢慢到了后来的回答别人的问题,一年下来在学习方面真的感触良多。   现总结了一些Java学习过程中个人认为的重点,拿出来分享,也希望可以帮助后来者少走弯路,将有限精力集中起来,赶紧走入Java的大门。   从开始学没多久我就开始使用Thinking in Java 2nd,个人还是比较喜欢这本书的,虽然到现在还未看完。
  当然因为各人的学习方法各不一样,也有人喜欢看Core Java或者Java How to Program,这些都是好书,选择一本适合自己的看就是了。
  主要说说Java的几大块吧,无法说得很细,因为其实每一块拿出来都能说很多,我就说一下这几块学习的时候的重点或者应该注意的东西。 数值类型:
  虽然是面向对象的语言,但是在使用上数值类型还是必不可少的,如果在C的学习中已经掌握了C的数值计算和转换规则,那我想这里应该没有什么问题,只有两点需要注意:1、14.0这样的浮点常量被认为是double型,只有加上f后缀才是float型的;2、整数常量说起来被认为是int型,但是在编译时,可以认为编译器将其看作能表示该数的最小数值,因此byte b = 100;不会报错。 引用类型:
  我也是从C/C++转过来的,其实所谓引用类型在C++中已有体现,就是传参的时候有一种引用类型,从C来考虑,它就是一个指针,只不过,我们不能对它进行指针上的硬操作。所以这里的重点是:1、Java里所有的对象都是在堆中生成的,所以需要类似指针的东西指向它,那就是引用;2、我们通过引用操作的是引用所指向的对象,除了赋值操作外,应该就没有什么操作是针对引用本身的了,这一点是C的指针与Java的引用区别所在。 类和对象:
  这是一个大块,有很多东西,不展开讲了,就说几个重点:1、类方法、类属性与成员方法、成员属性在加载、初始化、使用上的异同;2、在构造函数中,this()和super()的用法;3、子类的加载过程、初始化过程和构造过程;4、方法的重载和覆写;5、覆写所引出的多态问题。(注意:多态之应用在方法上,对属性没有作用) 函数调用的参数传递:
  如果把引用类型所记录的地址值,就看作是引用类型变量的值的话,那么,Ja......

阅读全文(2099) | 评论:1

IT人士之成功之6大步骤(2008-08-11 22:33:00)

摘要:一个前辈在移民加拿大后写的文章,写得不错,值得借鉴,转来给大家看看,也给自己   序言:经过001多年的洗礼,认识了这里这么多的JJMMGGDD,前几天刚得到签证,

无限感慨

  面对未来,我也不知道我31岁如何发展,尤其是我现在在北京还算过的去,各种机会都纷至沓来。

  无论如何,我相信,世界上各种事物都有他们自己的原因,也结合自己在北京接近8年的感悟,写一个总结,我相信,世界上只要有人,无论是什么皮肤,总有人性可以探索,人作为"天生的政治动物"的本性,都是有规律可以总结的。

  我以前有过这种类似的总结自己从山西"移民"在北京工作的文章,反驳VOA的时候也有一些类似的评论。

  只要是001的兄弟,都是经历了加拿大的"75分数选择",在任何行业都是高手,提出任何"战术"评论,都是不会有共鸣的,很多道理我都是点了一下,没有深讲,希望大家可以从里面看出来我的本意。

  根据最近001频繁的火暴对话,观点差异太激烈,很多人没有包容的心态

  我写文章的风格可能会很尖刻,但是我想提出的是:我的出发点没有歧视,我本身是把001的人当兄弟看,斑竹和BJAPP,老卡等比较明白这个道理,尽管我总是被他们"讽刺",但是我相信他们对我是很不错,去了加拿大,我们都是哥们,不要片面的引用我的文章,你一定要完全我文章的全部含义,001都是兄弟姐妹,只要是出发点好,任何激烈的辩论都可以接受,希望可以理解"爱国,爱党"的区别。

  本身,从古希腊,法国革命领袖,美国独立战争甚至可以从柏拉图的油画可以看出,几千年来,辩论本身是一个最好的学习的方式

  从001论坛上的激烈辩论中,我得到的知识远比上一个"硕士"还要多。 1:时刻偷窃

  如果说在北京的8年就是"偷窃"的8年,这个话是一点也不过分。

  97年在北京,我很喜欢书籍,尤其是各种崭新的,价格100多的书!经过寻找,我发现北大的"风入松"是唯一一个不买饮料,可以坐在椅子上看书的地方!由于那个时候我总是被开除,在北京也没什么熟人,找的工作也不好,每当下岗的时候,我就直接去看书,实在饿了,去马兰拉面吃饭,如果按照看书的价格计算,我刚到北京,一天就可以挣一千多元啊......

阅读全文(2642) | 评论:1

SQL批量更新某现存表某字段(2008-08-11 19:34:00)

摘要:use Test create table table1
(
   id int primary key identity(1,1),
   tValue nvarchar(15) not null
) insert into table1 values('w322') create table table2
(
  id int primary key identity(1,1),
  tva nvarchar(20) not null ) insert into table2 values('55') select * from table1
select * from table2 --更新
UPDATE table1
SET tValue=t2.tva
from table1
inner join  (select table2.id,table2.tva
     from table2) t2
on table1.id = t2.id......

阅读全文(4100) | 评论:0

软件工程[5](2008-08-11 11:06:00)

摘要:九、我国软件工程发展的现状
      很多国内搞计算机的专家都认为:国内的软件研发过程,个人色彩比较浓。过分地依靠个人无法形成产业规模,而没有规模就谈不上产业化了。   不管怎么样,我们大家还是先要来看一看国内软件厂商到底提供给我们多少有震撼力的软件产品,从技术和利润的角度讲,软件系统最核心的部分还是操作系统、编译系统然后就是开发平台之类的东西,接下来就是一些应用系统,比如图形开发、游戏开发、企业应用、网站建设、杀毒、网络工具等等。   操作系统以中科院为中心,做了一个COSIX,这个本质上是一个UNIX系统,UNIX最初的源代码是公开的,尽管COSIX是一个被称为中国的操作系统并是UNIX系列的(IX就代表UNIX系列),但是其中到底有多少独创的技术成分我们暂时还不知道,但有一点可以肯定,它现在的市场覆盖率绝对不大,而且能否在上面运行各种各样的编译系统、数据库、群件和应用系统可能还需要进一步测试。然后就是对硬件平台的支持也需要进一步完善。   然后就是轰轰烈烈的Linux系统,Linux是遵守GNU标准的操作系统,中国有很多家公司推出了自己的Linux并且还有汉化的Linux,这就有比较疑惑的一点,为什么不在Linux上构架一个类似UNICODE这样的东西,而只做汉化这么本地化的产品呢?不知道是眼光还是市场的问题了。
MIS系统、财务软件是中国软件行业的重头戏,它们彻底的暴露了中国软件开发无序和重复低效劳动的一面。教育软件在某一种层面上看就是电子题库,当然也有优点,比如加入了多媒体教学(可视化程度不错)和所谓寓教于乐的特点,但是从本质上说还是题库。杀毒软件据说是中国软件的骄傲,由中国权威机构评测是达到了世界领先水平,但是好象还没有得到国际权威机构的认可。游戏软件就不用提了,国内业界能够流行的游戏软件成功的秘诀众所周知,不是技术和创意,实在是归功于我们悠久的历史。字处理软件和排版软件客观的说国内的也做的不错,但是从系统的扩展性和体系结构上说和MS和Adobe相比,差距也放在那里。其实这种现状的原因很简单,一个是我们缺少创新的能力,另一个就是我们欠缺软件工程的概念,系统开发前期的需求分析、设计没有做好或者做的不够好。   当然,我们很少怀疑自己的技术能力,我们很多时候认为这是地理环境和经济环境......

阅读全文(1171) | 评论:0

软件工程[4] 怎样培养软件工程的思维与方法(2008-08-11 11:05:00)

摘要:六、怎样培养软件工程的思维与方法
  作为软件开发人员的一个通病是在项目初期的时候,就喜欢谈论实现的细节,并且乐此不疲。我们更喜欢讨论如何用灵活而简短的代码来实现一个特定的功能,而忽略了对整个系统架构的考虑。所以作为一个开发人员,尤其是一个有经验的开发人员,应该把自己从代码中解脱出来,更多的时候在我们的脑子里甚至暂时要放弃去考虑如何实现的问题,而从项目或产品的总体去考虑一个软件产品。   以下是我个人的一些经验:   1.考虑整个项目或者产品的市场前景。作为一个真正的系统分析人员,不仅要从技术的角度来考虑问题,而且还要从市场的角度去考虑问题。也就是说我们同时需要考虑我们产品的用户群是谁,当我们产品投放到市场上的时候,是否具有生命力。比如即使我们采用最好的技术实现了一个单进程的操作系统,其市场前景也一定是不容乐观的。   2.从用户的角度来考虑问题。比如一些操作对于开发人员来讲是非常显而易见的问题。但是对于一般的用户来说可能就非常难于掌握,也就是说,有时候,我们不得不在灵活性和易用性方面进行折中。另外,在功能实现上,我们也需要进行综合考虑,尽管一些功能十分强大,但是如果用户几乎不怎么使用它的话,就不一定在产品的第一版的时候就推出。从用户的角度考虑,也就是说用户认可的才是好的,并不是开发人员觉的好才好。   3.从技术的角度考虑问题。虽然技术绝对不是唯一重要的,但是技术一定是非常重要的,是成功的必要环节。在产品设计的时候,必须考虑采用先进的技术和先进的体系结构。比如,如果可以采用多线程进行程序中各个部分并行处理的话,就最好采用多线程处理。在Windows下开发的时候,能够把功能封装成一个单独的COM构件就不作成一个简单的DLL或者是以源代码存在的函数库或者是对象。比如能够在B/S结构下运行并且不影响系统功能的话就不一定要在C/S下实现。 4.合理进行模块的分割。从多层模型角度来讲,一般系统可以分成用户层、业务层和数据库层三部分。当然每以部分都还可以进行细分。所以在系统实现设计的时候,尽量进行各个部分的分割并建立各个部分之间进行交互的标准。并且在实际开发的时候,确实有需要的话再进行重新调整。这样就可以保证各个部分齐头并进,开发人员也可以各施其职。   5.人员的组织和调度。这里很重要的一点是到考虑人员的特长,有的人喜欢做界面,有的人喜欢做核心。如果有......

阅读全文(1242) | 评论:0