灌溉梦想,记录脚步

计算机专业人才

2000年“网络泡沫”破灭后,全球IT人才需求缩水,但世界IT产业的生产基地和研发中心正陆续在我国设立。全球新一轮的产业转移正推动我国由IT大国向IT强国转变,这将进一步刺激国内对计算机专业人才的需求。

  目前,我国有1180余所高校开设有计算机专业,在校生人数超过80万,专业的设点数和在校生人数都位居全国各专业之首。但是,随着近年来计算机专业初次就业率走低,一些考生及其家长也开始感到迷茫:计算机专业的就业形势及前景究竟如何呢?

  观沧海:寒流?暖流?

  20世纪,我国每年的计算机专业毕业生仅有5~9万人,人才培养远远不能满足社会经济发展的需要,就业长期处于“卖方市场”。本世纪,随着各高校竞相开设计算机专业,扩大招生规模,毕业生人数剧增,就业步入“买方市场”。

  IT人才市场竞争日趋激烈。首先,用人单位普遍提高招聘门槛。有些用人单位强调应聘者的英语水平、IT证书,有些用人单位则要求应聘者具有本科以上学历,三年以上行业工作经验。计算机专业毕业生就业难度加大,初次就业率走低,起薪下降。其次,由于留学人员大量归国,国内博士、硕士毕业生人数迅速增多,毕业生就业的单位层次在不断降低。计算机专业与通信工程、自动化、电子技术、电子商务等相近专业间相互挤占就业岗位,就业空间逐渐“缩水”。再次,由于各行各业自主培养各种层次的计算机应用人才,各学科专业增开计算机课程,计算机专业毕业生在一些行业内的竞争优势逐渐减弱。最后,社会需求越来越向名牌大学集中,重点大学计算机专业初次就业率在90%以上,地方大学就业率则为60%~90%。

  大学生就业形势偏紧和就业层面下移是世界高等教育各学科专业共同性的问题,而不是我国计算机专业独有的现象。计算机专业招生规模趋于稳定,初次就业率走低,这些都是从一种过热状态向良性状态过渡的正常变化。从整体来看,计算机专业毕业生初次就业率和起薪仍保持在一个较高的水平,计算机专业仍是年轻人升学和择业时的首选之一。未来十年,我国每年至少需要100万IT人才,其中计算机人才需求量在40万以上。从根本上来讲,并不存在计算机专业毕业生就业难的问题。计算机专业毕业生就业形势将依然严峻,但不会恶化;会遭遇“寒流”,但不会进入“严冬”。

细思量:就业难不因人才过剩

  目前计算机专业毕业生“就业难”的根本原因不是人才过剩,而是供需结构性失衡。

  人才培养脱节。本科计算机教育中,单一的计算机科学与技术专业设置下的单一的培养规格,难以满足众多领域的社会需求。高等专科院校的计算机专业大多是传统的计算机学历教育,重视理论知识的系统传授,轻视应用技能的强化培养。一些毕业生既无扎实的理论功底,又无娴熟的应用技能,便难以适应计算机应用领域的需要,更难以适应IT行业的从业要求。软件学院和软件职业技术学院的计算机专业的课程设置面向IT企业,虽然办学方式相对灵活,但仍受到实战项目缺乏、实训基地短缺、来自企业一线的高素质师资匮乏等因素的制约,未能实现人才培养与企业需求的无缝对接。

  市场渠道不畅。中西部地区IT产业发展的相对滞后,在一定程度上影响了当地计算机专业毕业生的就业。沿海地区IT产业发展迅猛,但由于种种政策限制,加之人才市场竞争十分激烈,中西部地区计算机专业毕业生到沿海地区就业的难度越来越大。此外,一些行业的自我保护也给计算机专业毕业生的进入带来了较大障碍;一些用人单位只认学历不论实力,为专科生的就业设置了很多障碍。目前就业形式正在多样化,计算机专业毕业生中存在大量已实际就业,但学校不易统计的“隐性就业”现象。

  就业期望过高。毕业生最向往的就业单位是国家机关、事业单位和外资企业,而实际就业则集中在私营企业;毕业生热衷于软件公司、网络公司,而大多数却在非IT企业从事相关工作;毕业生向往沿海发达地区和区域大中城市,而大部分仍留在当地中小城镇就业;IT人才市场上起薪大幅下降,但许多毕业生用多年以前的工资水平,用沿海地区的薪酬水平来期望自己的就业薪金。还有一些毕业生过分挑剔,从而也失去了很多就业机会。
登高处:IT人才仍属“抢手货”

  2000年“网络泡沫”破灭后,全球IT人才需求缩水,但世界IT产业的生产基地和研发中心正陆续在我国设立。全球新一轮的产业转移正推动我国由IT大国向IT强国转变,这将进一步刺激国内对计算机专业人才的需求。

  计算机人才需求总量持续增加。“十五”期间,我国IT产业迅速发展成为第一大产业,从业人员增加300万。“十一五”期间,我国计算机人才需求将由快速增长时期逐步进入平稳发展时期。通信、交通、航空等领域对计算机人才需求总体平稳,但需求层次明显提高;水利、能源、建筑、医疗、新闻、出版、广告、旅游等行业对计算机人才需求总量有所增加;化工、冶金、石油、电力、制造、轻工、纺织、制药、物流等行业对计算机人才的需求量持续增长;部队的现代化建设和国防科技工业急需计算机人才;税务、工商、财政、公安、海关、外贸、金融等系统对计算机人才的需求不减;五年内,电子政务和电子金融专业人才缺口将达到30万,中小学预计需要新增现代信息技术课师资20万人。

  企业是计算机人才需求的主体。近年来,计算机专业毕业生到企业从事计算机应用和技术开发的比例逐年增加,在经济发达地区已成为就业的主渠道。在全国约3000家大型企业中,只有5%的企业信息化建设进入成熟阶段,国有企业吸纳毕业生潜力巨大。高新技术企业发展迅速和要求员工素质高的特点,使其成为吸收计算机专业大学生的主要企业单位。外国公司涌入我国,需要招聘大批高素质的计算机人才,毕业生的就业选择和人才流动会更偏向外资企业。

  IT产业成为接收计算机专业毕业生的生力军。IT人才是我国四大紧缺性人才之一。未来十年,我国电子商务人才、游戏开发人才、移动通信人才、IC技术人才、信息安全人才严重短缺。我国软件人才总量不足,结构也不合理,软件测试专业人员缺口高达20万,嵌入式软件工程师每年的缺口为15万左右。随着软件外包业的蓬勃发展,日、韩等小语种软件工程师十分紧缺,仅对日软件开发的人才缺口就达30万以上。全球IT业重心正转向服务。2007年,我国软件和服务市场总值分别达到69亿美元和144亿美元,巨大的服务市场需要吸纳大量的计算机应用人才。
慎选择:怎识计算机专业真面目

  计算机专业是高校招生的第一大专业,也是高考填报志愿的热门专业。同学们应走出志愿填报过程的误区,理性选择计算机专业。

  应了解IT产业、IT学科和专业。IT产业涵盖软件、电信、电子及现代信息服务等行业。目前,我国本科计算机专业主要包括计算机科学与技术、自动控制、电子技术、通信工程、电子商务、信息安全、信息管理与信息系统、地理信息系统等;专科计算机专业设置众多,主要包括计算机应用、软件工程、网络工程、电子商务、多媒体制作等,招收对象主要是高中理科生(招收部分文科生)。IT产业是朝阳产业、支柱产业,IT学科前景美好。

  应理解计算机专业的学科特点。计算机是一门理论性、应用性极强的学科(工科或理科)。社会上曾流行一种观点:计算机是一种工具,计算机专业是一种单纯的技术专业。这种认识有些片面、肤浅。计算机学科本身有着众多研究领域和分支,比如计算机体系结构、软件工程、计算机网络、人工智能、计算机控制等。计算机与传统学科融合产生了许多新学科,如计算数学、控制理论与控制工程、机械制造及自动化、微电子学、信号与信息处理、生物信息学、教育技术学等。因此,许多学科都与信息技术有密切联系。高考时选报计算机专业,无论是大学毕业后直接就业,还是继续深造(包括跨专业深造),都是很好的选择。

  应明确计算机专业的课程设置。本科计算机专业对同学的英语、数学和物理基础有一定要求。大学中的计算机专业将分阶段开设基础英语和专业英语,双语教学对计算机专业人才培养来说势在必行。如果具备良好的英语基础,则可以减少掌握最新计算机技术的语言障碍。计算机专业开设高等数学、线性代数、概率与数理统计等课程,扎实的数学基础有益于科学思维和技术创新,也是高级计算机人才必备的素质。世界计算机领域最高奖项——“图灵奖”的得主大都是数学家,足以说明这一点。物理方面主要是运用电学知识,大学开设模拟电路、数字电路等课程,计算机专业课程主要有数据结构、操作系统、离散数学、编译原理、计算机组成原理、数据库原理、C++、Java、计算机网络等。

  应熟悉计算机专业的学习特点。计算机专业是一门知识更新快、交叉学科多、应用领域广的新学科,要求计算机专业人才拓宽和加深理论基础,提高以创新能力、实践能力为主的全面素质,具有广泛和多层次的适应性。如果大学阶段只重视操作层面上的技能学习,忽视理论知识的学习、思维基础的培养、创新能力的训练,就会削弱发展的后劲和适应能力。社会各界对高校计算机教育的意见中,最多的就是毕业生缺乏实际工作能力。因此,同学们在校期间须加强职业技能的培养,掌握IT主流技术。

  应认清报考计算机专业的误区。一些同学担心自己没接触过电脑,报考计算机专业不能适应大学里的学习。尽管具备一定的电脑知识和技能更有利于计算机专业的学习,但电脑操作熟练程度与学好计算机专业并没有必然联系。一些人认为女生不适合学习计算机专业,其实,IT业内成功女性并不少见,计算机专业女生比例并不比其他专业低。一些考生家长认为选择计算机专业会加重经济负担,其实以目前各大学的实验条件,完全能够满足同学们的实践要求,无须同学自己购买电脑。而且相对于其他专业而言,计算机专业的同学会有更多的社会兼职和勤工助学的机会。还有一些同学误认为计算机专业录取分数高于其他专业而不敢报考,实际上在大多数院校,计算机专业和其他专业录取分数基本一致。需要说明的是(体检说明中没有直接要求),深度近视的同学应慎报计算机专业,严重色盲的同学应慎报动画设计、游戏制作专业。

  应掌握报考计算机专业的技巧。其一,应考虑学校的层次。不同类型、不同层次的高校,其计算机专业的人才培养目标和规格有一定的差异。研究型大学重点培养科研型的计算机学术人才;科研教学型(或教学科研型)大学立足培养工程型的计算机技术人才;教学型大学尤其是地方大学、新建本科院校、独立学院,主要是为地方社会经济发展培养复合型的计算机应用人才。其二,应兼顾学校的区域。我国在北京、上海、大连、杭州、南京、广州、深圳、武汉、成都、西安等高校较为集中的城市兴建了软件产业基地,IT产业发展迅猛。选报IT产业发达地区的高校,不仅选择余地比较大,而且就业空间也相对广阔。其三,应注意学校的办学特色。应选报那些社会声誉高、师资力量强、办学条件优的高校,选报那些行业背景明显、办学特色突出、就业渠道畅通的高校。

Windows和linux下搭建java开发环境

一、windows下开发环境的搭建

从http://java.sun.com/上下载windows平台的JDK,并安装。假设安装目录为:C:\jdk6.0

设定相关环境量(以windowsXP)例:

1、右击桌面上“我的电脑”,选择属性

2、再选择“高级”活页,找到系统变量,并点击下面的“新建”

3、变量名:JAVA_HOME ,值:C:\jdk6.0(你的JDK安装目录),点击“确定”

4、以同样的方法新建,变量名:CLASSPATH ,值: %JAVA_HOME%\lib;.

注意,后面是分号与点号(英文的),不能错。

5、在系统变量中找到“path”,并点击“修改”,在其对应的值的最后面追加“;%JAVA_HOME%\bin”,引号不在内,一直点“确定”直到所有的窗口关闭

6、打开“运行”窗口,输入“cmd”回车,在出现的提示符窗口下输入:“javac -version”并回车,出现“javac 1.6.0”等类似的信息,则大功告成也。

7、安装你的开发IDE,如Eclipse、JBuilder等,就不多说了。

二、linux下开发环境的搭建(以Ubuntu为例)

1、从http://java.sun.com/上下载linux平台的JDK,的bin档;

2、将你下载的bin档放在你想安装的目录,如/opt下面,下面假设放在/opt目录下,文件名为jdk1.6.0.bin

3、打开终端,依次执行下列命令:

cd /opt

sudo sh jdk1.6.0.bin (其它平台不需要sudo,只要相应的权限就可以)

jdk安装完成,安装目录为:/opt/jdk1.6.0

4、设定环境变量

a、编辑/etc/profile文件,在最后面追加以下内容:

JAVA_HOME=/opt/jdk1.6.0

CLASSPTH=$JAVA_HOME/lib:.

PATH=$PATH:$JAVA_HOME/bin

export JAVA_HOME CLASSPATH path

b、保存后在终端执行

source /etc/profile (保证你不用重启而加载新设定的环境变量)

javac -version

看到“javac 1.6.0”等信息就大功告成,就可以安装你的IDE了,如Eclipse等。

Ubuntu 配置 Static IP 的方法

Ubuntu的网络参数保存在文档 /etc/network/interfaces中,默认配置使用dhcp,内容如下:
# The primary network interface
auto eth0
iface eth0 inet dhcp

配置静态ip的方法如下:
1) 编辑 /etc/network/interfaces
1.1)将dhcp 一行屏蔽
# The primary network interface
auto eth0
#iface eth0 inet dhcp

1.2)添加和静态ip有关的参数
# The primary network interface
iface eth0 inet static
address 192.168.0.10
netmask 255.255.255.0
gateway 192.168.0.1

2)编辑 /etc/resolv.conf,配置dns
nameserver 202.96.134.133
nameserver 202.106.0.20

3)执行下面两个命令,启用新配置
$sudo ifdown eth0
$sudo ifup eth0

gcc参数详解

[介绍]
gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步
1.预处理,生成.i的文件[预处理器cpp]
2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs]
3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as]
4.连接目标代码,生成可执行程序[链接器ld]
[参数详解]
-x language filename
  设定文件所使用的语言,使后缀名无效,对以后的多个有效.也就是根据约定C语言的后缀名称是.c的,而C++的后缀名是.C或者.cpp,如果你很个性,决定你的C代码文件的后缀名是.pig 哈哈,那你就要用这个参数,这个参数对他后面的文件名都起作用,除非到了下一个参数的使用。
  可以使用的参数吗有下面的这些
  `c'', `objective-c'', `c-header'', `c++'', `cpp-output'', `assembler'', and `assembler-with-cpp''.
  看到英文,应该可以理解的。
  例子用法:
  gcc -x c hello.pig
  
-x none filename
  关掉上一个选项,也就是让gcc根据文件名后缀,自动识别文件类型
  例子用法:
  gcc -x c hello.pig -x none hello2.c
  
-c
  只激活预处理,编译,和汇编,也就是他只把程序做成obj文件
  例子用法:
  gcc -c hello.c
  他将生成.o的obj文件

-S
  只激活预处理和编译,就是指把文件编译成为汇编代码。
  例子用法
  gcc -S hello.c
  他将生成.s的汇编代码,你可以用文本编辑器察看

-E
  只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里面.
  例子用法:
  gcc -E hello.c > pianoapan.txt
  gcc -E hello.c | more
  慢慢看吧,一个hello word 也要与处理成800行的代码

-o
  制定目标名称,缺省的时候,gcc 编译出来的文件是a.out,很难听,如果你和我有同感,改掉它,哈哈
  例子用法
  gcc -o hello.exe hello.c (哦,windows用习惯了)
  gcc -o hello.asm -S hello.c

-pipe
  使用管道代替编译中临时文件,在使用非gnu汇编工具的时候,可能有些问题
  gcc -pipe -o hello.exe hello.c

-ansi
  关闭gnu c中与ansi c不兼容的特性,激活ansi c的专有特性(包括禁止一些asm inline typeof关键字,以及UNIX,vax等预处理宏,

-fno-asm
  此选项实现ansi选项的功能的一部分,它禁止将asm,inline和typeof用作关键字。     
-fno-strict-prototype
  只对g++起作用,使用这个选项,g++将对不带参数的函数,都认为是没有显式的对参数的个数和类型说明,而不是没有参数.
  而gcc无论是否使用这个参数,都将对没有带参数的函数,认为城没有显式说明的类型
  
-fthis-is-varialble
  就是向传统c++看齐,可以使用this当一般变量使用.
  
-fcond-mismatch
  允许条件表达式的第二和第三参数类型不匹配,表达式的值将为void类型
  
-funsigned-char
-fno-signed-char
-fsigned-char
-fno-unsigned-char
  这四个参数是对char类型进行设置,决定将char类型设置成unsigned char(前两个参数)或者 signed char(后两个参数)
  
-include file
  包含某个代码,简单来说,就是便以某个文件,需要另一个文件的时候,就可以用它设定,功能就相当于在代码中使用#include
  例子用法:
  gcc hello.c -include /root/pianopan.h
  
-imacros file
  将file文件的宏,扩展到gcc/g++的输入文件,宏定义本身并不出现在输入文件中
  
-Dmacro
  相当于C语言中的#define macro
  
-Dmacro=defn
  相当于C语言中的#define macro=defn
  
-Umacro
  相当于C语言中的#undef macro

-undef
  取消对任何非标准宏的定义
  
-Idir
  在你是用#include"file"的时候,gcc/g++会先在当前目录查找你所制定的头文件,如果没有找到,他回到缺省的头文件目录找,如果使用-I制定了目录,他
  回先在你所制定的目录查找,然后再按常规的顺序去找.
  对于#include,gcc/g++会到-I制定的目录查找,查找不到,然后将到系统的缺省的头文件目录查找
  
-I-
  就是取消前一个参数的功能,所以一般在-Idir之后使用
  
-idirafter dir
  在-I的目录里面查找失败,讲到这个目录里面查找.
  
-iprefix prefix
-iwithprefix dir
  一般一起使用,当-I的目录查找失败,会到prefix+dir下查找
  
-nostdinc
  使编译器不再系统缺省的头文件目录里面找头文件,一般和-I联合使用,明确限定头文件的位置
  
-nostdin C++
  规定不在g++指定的标准路经中搜索,但仍在其他路径中搜索,.此选项在创libg++库使用
  
-C
  在预处理的时候,不删除注释信息,一般和-E使用,有时候分析程序,用这个很方便的
  
-M
  生成文件关联的信息。包含目标文件所依赖的所有源代码你可以用gcc -M hello.c来测试一下,很简单。
  
-MM
  和上面的那个一样,但是它将忽略由#include造成的依赖关系。
  
-MD
  和-M相同,但是输出将导入到.d的文件里面
  
-MMD
  和-MM相同,但是输出将导入到.d的文件里面
  
-Wa,option
  此选项传递option给汇编程序;如果option中间有逗号,就将option分成多个选项,然后传递给会汇编程序
  
-Wl.option
  此选项传递option给连接程序;如果option中间有逗号,就将option分成多个选项,然后传递给会连接程序.
  

-llibrary
  制定编译的时候使用的库
  例子用法
  gcc -lcurses hello.c
  使用ncurses库编译程序
  
-Ldir
  制定编译的时候,搜索库的路径。比如你自己的库,可以用它制定目录,不然
  编译器将只在标准库的目录找。这个dir就是目录的名称。
  
-O0
-O1
-O2
-O3
  编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高     
-g
  只是编译器,在编译的时候,产生调试信息。
  
-gstabs
  此选项以stabs格式声称调试信息,但是不包括gdb调试信息.
  
-gstabs+
  此选项以stabs格式声称调试信息,并且包含仅供gdb使用的额外调试信息.
  
-ggdb
  此选项将尽可能的生成gdb的可以使用的调试信息.

-static
  此选项将禁止使用动态库,所以,编译出来的东西,一般都很大,也不需要什么
动态连接库,就可以运行.

-share
  此选项将尽量使用动态库,所以生成文件比较小,但是需要系统由动态库.

-traditional
  试图让编译器支持传统的C语言特性

[参考资料]
-Linux/UNIX高级编程
  中科红旗软件技术有限公司编著.清华大学出版社出版
-Gcc man page
  
[ChangeLog]
-2002-08-10
  ver 0.1 发布最初的文档
-2002-08-11
  ver 0.11 修改文档格式
-2002-08-12
  ver 0.12 加入了对静态库,动态库的参数
-2002-08-16
  ver 0.16 增加了gcc编译的4个阶段的命令

运行 gcc/egcs

**********运行 gcc/egcs***********************
  GCC 是 GNU 的 C 和 C++ 编译器。实际上, GCC 能够编译三种语言:C、C++ 和 Object C(C 语言的一种面向对象扩展)。利用 gcc 命令可同时编译并连接 C 和 C++ 源程序。
  如果你有两个或少数几个 C 源文件,也可以方便地利用 GCC 编译、连接并生成可执行文件。例如,假设你有两个源文件 main.c 和 factorial.c 两个源文件,现在要编译生成一个计算阶乘的程序。
代码:

———————–
清单 factorial.c
———————–
int factorial (int n)
{
  if (n <= 1)    return 1;   else    return factorial (n - 1) * n; } ----------------------- 清单 main.c ----------------------- #include 
#include 

int factorial (int n);
int main (int argc, char **argv)
{
  int n;

  if (argc < 2)   {     printf ("Usage: %s nn", argv [0]);     return -1;   }   else   {    n = atoi (argv[1]);    printf ("Factorial of %d is %d.n", n, factorial (n));    }   return 0; } ----------------------- 利用如下的命令可编译生成可执行文件,并执行程序: $ gcc -o factorial main.c factorial.c $ ./factorial 5 Factorial of 5 is 120.   GCC 可同时用来编译 C 程序和 C++ 程序。一般来说,C 编译器通过源文件的后缀名来判断是 C 程序还是 C++ 程序。在 Linux 中,C 源文件的后缀名为 .c,而 C++ 源文件的后缀名为 .C 或 . cpp。但是,gcc 命令只能编译 C++ 源文件,而不能自动和 C+ + 程序使用的库连接。因此,通常使用 g++ 命令来完成 C++ 程序的编译和连接,该程序会自动调用 gcc 实现编译。假设我们有一个如下的 C ++ 源文件(hello.C): #include
void main (void)
{
  cout << "Hello, world!" << endl; } 则可以如下调用 g++ 命令编译、连接并生成可执行文件: $ g++ -o hello hello.C $ ./hello Hello, world! **********************gcc/egcs 的主要选项********* gcc 命令的常用选项 选项 解释 -ansi 只支持 ANSI 标准的 C 语法。这一选项将禁止 GNU C 的某些特色, 例如 asm 或 typeof 关键词。 -c 只编译并生成目标文件。 -DMACRO 以字符串“1”定义 MACRO 宏。 -DMACRO=DEFN 以字符串“DEFN”定义 MACRO 宏。 -E 只运行 C 预编译器。 -g 生成调试信息。GNU 调试器可利用该信息。 -IDIRECTORY 指定额外的头文件搜索路径DIRECTORY。 -LDIRECTORY 指定额外的函数库搜索路径DIRECTORY。 -lLIBRARY 连接时搜索指定的函数库LIBRARY。 -m486 针对 486 进行代码优化。 -o FILE 生成指定的输出文件。用在生成可执行文件时。 -O0 不进行优化处理。 -O 或 -O1 优化生成代码。 -O2 进一步优化。 -O3 比 -O2 更进一步优化,包括 inline 函数。 -shared 生成共享目标文件。通常用在建立共享库时。 -static 禁止使用共享连接。 -UMACRO 取消对 MACRO 宏的定义。 -w 不生成任何警告信息。 -Wall 生成所有警告信息。

ASP.NET和PHP、JSP究竟学哪个?

Asp.net

首先来说,Asp.net 和 Asp 没什么关系。 Asp 是脚本编程,用的是JavaScript或VbScript脚本进行编写,而ASP.net 则是使用基于.NET平台的语言如VB.NET、C#等,完全不同的东西。ASP.NET迄今为止共有四个版本:1.0、1.1、2.0、3.5它们使用的开发环境分别对应Visual Studio 2002、2003、2005、2008,当然在Visual Studio 2008支持多版本的.NET Framework,即可以在Visual Studio 2008下开发ASP.NET 2.0及3.5。

ASP.net的服务器,要求安装一个.NET Framework,当然我这里指的是windows系统,顺便点一下,.net只能放在windows环境里来运行。

Asp.net属于编译语言,和ASP的最大不同(ASP属于解释语言)。

ASP.net 的速度 是 ASP不能比拟的。下面我来说下为什么ASP.net 比 ASP 快:

ASP.net 是编译语言,所以,当第一次加载的时候,它会把所有的程序进行编译(其中包括 worker进程,还有对语法进行编译,形成一个程序集),当程序编译后,执行速度几乎为0,而ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。

Php

php和Asp一样也是,也是属于脚本语言,一般连接的数据库为MySql数据库,当然它也能和Access数据库和MsSq(SqlServer)数据库等其他数据库连接。他们都属于免费软件(在中国境内),也就是说他的资源是free的。

Php从安全性上比Asp要好,当然这里说的是相对而言,一个好的程序员把安全性做好的话,都差不多,不过Php的安全性要比Asp要好,为什么这么说呢。这里主要原因是这样的,PHP的搭建服务器环境相对复杂(需要安装Apache + MySql + PHP),而Asp的搭建环境比较简单(只需要安装IIS就可以了),所以学PHP的门槛比Asp的门槛要高,所以很多人就偏向Asp学习的人就多了,自然研究Asp漏洞的人就多了,而PHP会的人就少,所以研究漏洞的人就更少了,从这点来说PHP的安全性比ASP的安全性要高些。

而且还有一点就是 Apache 的环境最好是Unix,当然Windows下也是可以安装的。(Apache 是PHP的支持环境)

还有再说一点,就是MySql的效率问题,他比Access好很多倍,但是比MsSql(SqlServer)要差点。

JSP

JSP目前我还没有太多研究。总体上来说JSP的工程量巨大,任何工程都可以做到,当然是一个团队开发,3个人以上的一个团队开发,他的工期耗时也是最常的。
.NET的优势

有人问到这个问题,所以我总结了下。

.NET开发工具Visual Studo的易用性使得它在Java很难实现的“用户企业(信息系统部门)也可编程的系统”上超人一头。这可能还存在其他类似的领域。

由于Java本身较为复杂,且不易学习掌握,因此用户企业只负责企划,而将编程工作完全委托给集成商的现象非常普遍。

Java普及的主要因素很多,其中最关键的在于“开放性”。由于可各种OS上运行,而且很多开发商还提供了Web应用服务器和开发工具,因此用户可以随意选择。而开发商则通过在功能和性能方面相互竞争来不断提高产品水平。

说了半天,究竟学哪种语言好呢?.NET和JSP应该是未来发展的趋势。世界上一些大的电子商务解决方案提供商都采用JSP/Servlet和.NET框架模式。不过,偏爱PHP的开发者们也不用苦恼,精通任何一门,都是有前途的。

FTP下载的常见错误及解决办法

530,说明密码错误。

550,说明地址有错误,可能是盗连没有改。

详细的FTP错误列表
110 Restart marker reply. In this case, the text is exact and not left to the particular implementation; it must read: MARK yyyy = mmmm where yyyy is User-process data stream marker, and mmmm server's equivalent marker (note the spaces between markers and "=").
重新启动标志回应。这种情况下,信息是精确的并且不用特别的处理;可以这样看:标记 yyyy = mmm 中 yyyy是 用户进程数据流标记,mmmm是服务器端相应的标记(注意在标记和等号间的空格)
———————————–
120 Service ready in nnn minutes.
服务在NNN时间内可用
———————————–
125 Data connection already open; transfer starting.
数据连接已经打开,开始传送数据.
———————————–
150 File status okay; about to open data connection.
文件状态正确,正在打开数据连接.
———————————–
200 Command okay.
命令执行正常结束.
———————————–
202 Command not implemented, superfluous at this site.
命令未被执行,此站点不支持此命令.
———————————–
211 System status, or system help reply.
系统状态或系统帮助信息回应.
———————————–
212 Directory status.
目录状态信息.
———————————–
213 File status.
文件状态信息.
———————————–
214 Help message.On how to use the server or the meaning of a particular non-standard command. This reply is useful only to the human user. 帮助信息。关于如何使用本服务器或特殊的非标准命令。此回复只对人有用。
———————————–
215 NAME system type. Where NAME is an official system name from the list in the Assigned Numbers document.
NAME系统类型。
———————————–
220 Service ready for new user.
新连接的用户的服务已就绪
———————————–
221 Service closing control connection.
控制连接关闭
———————————–
225 Data connection open; no transfer in progress.
数据连接已打开,没有进行中的数据传送
———————————–
226 Closing data connection. Requested file action successful (for example, file transfer or file abort).
正在关闭数据连接。请求文件动作成功结束(例如,文件传送或终止)
———————————–
227 Entering Passive Mode (h1,h2,h3,h4,p1,p2).
进入被动模式
———————————–
230 User logged in, proceed. Logged out if appropriate.
用户已登入。 如果不需要可以登出。
———————————–
250 Requested file action okay, completed.
被请求文件操作成功完成
———————————–
257 "PATHNAME" created.
路径已建立
———————————–
331 User name okay, need password.
用户名存在,需要输入密码
———————————–
332 Need account for login.
需要登陆的账户
———————————–
350 Requested file action pending further information
对被请求文件的操作需要进一步更多的信息
———————————–
421 Service not available, closing control connection.This may be a reply to any command if the service knows it must shut down.
服务不可用,控制连接关闭。这可能是对任何命令的回应,如果服务认为它必须关闭
———————————–
425 Can't open data connection.
打开数据连接失败
———————————–
426 Connection closed; transfer aborted.
连接关闭,传送中止。
———————————–
450 Requested file action not taken.
对被请求文件的操作未被执行
———————————–
451 Requested action aborted. Local error in processing.
请求的操作中止。处理中发生本地错误。
———————————–
452 Requested action not taken. Insufficient storage space in system.File unavailable (e.g., file busy).
请求的操作没有被执行。 系统存储空间不足。 文件不可用
———————————–
500 Syntax error, command unrecognized. This may include errors such as command line too long.
语法错误,不可识别的命令。 这可能是命令行过长。
———————————–
501 Syntax error in parameters or arguments.
参数错误导致的语法错误
———————————–
502 Command not implemented.
命令未被执行
———————————–
503 Bad sequence of commands.
命令的次序错误。
———————————–
504 Command not implemented for that parameter.
由于参数错误,命令未被执行
———————————–
530 Not logged in.
没有登录
———————————–
532 Need account for storing files.
存储文件需要账户信息
———————————–
550 Requested action not taken. File unavailable (e.g., file not found, no access).
请求操作未被执行,文件不可用。
———————————–
551 Requested action aborted. Page type unknown.
请求操作中止,页面类型未知
———————————–
552 Requested file action aborted. Exceeded storage allocation (for current directory or dataset).
对请求文件的操作中止。 超出存储分配
———————————–
553 Requested action not taken. File name not allowed
请求操作未被执行。 文件名不允许

这种错误跟http协议类似,大致是:
2开头--成功
3开头--权限问题
4开头--文件问题
5开头--服务器问题

网络工程师的学习指南

虽然是水平第一,考试第二的,但朋友们毕竟还是以考试为目标的。说明白点,水平再高,过不了网络工程师也没说服力。
网络知识是电脑技术的十分重要的分支,除了网络之外,我们有更多更广的知识当然好,但即使不愿意承认,我也必须认可这样一个问题,就是有些知识对于通过网络工程师考试几乎没有用(说得好听些,就是对于你将来从事网络工作用处不大);甚至,有些网络知识对于通过网络工程师考试也没用,一个例子:哪怕是对ASP精通无比,对于你通过网络工程师上下午试题几乎没有任何帮助。

网络工程师跟高程一样,无法通过短期培训班之类提高水平,主要看个人长期的努力。既然好多朋友都问,该如何下手学习,我们就尝试着讨论一下,哪些资料在我们学习范围之内,这个讨论很“务实”“功利”,仅讨论如何针对网络工程师考试。

开始讨论之前,先说说到哪儿去买书,现在很多城市里面,都有针对考试的小型书店,面向公务员考试、司法考试等等,这里可以买到网络工程师教程之类的书,计算机本科自学考试的书,也是一种很好的选择。还有一些资料,这种书店买不到,需要去计算机类图书丰富的书店买。另外网上获得的资料不错,但是最好打印来看。

1、《网络工程师教程》,必看,当作指导性的大纲来看,它可以使你网络知识的结构更加清晰与合理。由于教程不完全覆盖考试内容,获取其他资料作为知识的深化和补充是绝对必须的,下面的推荐与大纲介绍的基本同步。

2、《数据通信原理》,包括通信原理和交换技术的内容,在上午肯定有一二道大题,只看教程不够。对这本书不一定看得太深,即使没有任何基础通上一两遍也不困难,可以让你提高一大步。这部分相关的内容还包括《信号与系统》,不想做硬件的朋友我觉得就不用看了。

3、网络体系结构和协议,这部分看教程即可。

4、局域网技术,先看教程,然后找一本CCNA英文教材看一遍。这样有三个好处:比教程更深入;同时提高专业英语水准;顺便学习CISCO路由器和交换机的基础知识。

5、广域网技术看教程,这部分ATM是重点,需要找别的资料深化一下(因为它流行,如CISCO流行一个道理)。

6、网络互连,先看教程。路由方面的知识教程上不够,建议有Linux环境,看看UNIX系统中的路由配置。CCNP的教程不必要全看,路由和交换看看就行,中文的也可以。

7、网络操作系统,如上,研究linux就可以。上午题目里面会有。

8、网络管理上,教程中本章前面对局域网的管理部分非常好,是每一个网络管理员都应该耳熟能详的经验。后面的SNMP不太深,但是也差不多够了,想深化的找一本《网络管理》,对snmp会有更认识。

9、网络安全,教程很概念化,如果想深入一点,看看《计算机密码学》,对加密技术能有更多感性认识(如RSA的原理,一次一密乱码本),但不用太深入。如果有条件,还可以感受一下win2000在安全方面对身份认证,鉴别,访问控制等技术的具体实现。我觉得其中有两个重要问题,访问控制和防火墙,但是这两年都没考,最好结合Cisco的学习去深化一下。

10、后面章节的内容看教程就好,还是很不错,将来做论文和实际项目,都会用上。

11、Linux教程必看,包括各种网络服务的配置(WWW,FTP),CGI现在不太时髦,可以不用看。另外如果有时间,把《网络操作系统》看一遍也很不错。

12、网络程序设计,只要有相当C语言能力,越高越好,不需要C++和Visual C(有的话更好),在Linux环境下,学习socket就可以,书方面看UNIX或LINUX网络程序设计都可以,置顶帖子里的UNIX网络程序设计是我看过的最好的。

13、网络工程师教程有一本配套的同步辅导,作一遍也好,但感觉没有本质进步,另外有一本航天出版社的《网络设计师重点分析》,那本书更没用(有抄袭之嫌)。真正的网络工程师题目往往需要你的综合能力,能够运用自己各方面的基础知识解决问题,比如2001年上午题目有一个有关路由表的问题。

14、如果感觉专业英语有欠缺,可以找一本清华的《计算机英语》,不过这不是专门面向网络英语的,可以考www.mcseguide.com订阅一份CCNA的邮件,既能学英语,又能做做题目。网上其他计算机英语读物,或是英文网站都不错,自己动手去找找,绝对可以丰衣足食。

15、越多的实践对你帮助越大,能在一个单位作网络管理最好啦。没有机会就尽量创造机会啦。