悦 的个人资料My Digital Story照片日志列表更多 ![]() | 帮助 |
|
2008/6/30 招聘启事急需web开发美工(熟悉html、javascript、div+css)一名、.NET程序员一名(熟悉discuz!NT优先), 开发时间7月份,开发周期一个月,地点江西南昌。 有意者和我联系,13177783753,suannai231@msn.com 2008/6/28 What will be the next generation internet application platform?A few years ago I was a firm believer in the Rich Connected Client application model, which was based on running applications installed locally on the users desktop. From the time of the Ajaxian explosion, the quality and quantity of Ajax based web applications has continued to increase, applications like FaceBook have introduced new paradigms whereas apps like Live Maps have made existing apps much more convenient and accessible. Today you have to really argue hard to even consider a desktop based application for anything that is non-computation intensive (Even this category is questionable now, for e.g. a few years back movie editing web apps would have been out of the question). So what is it that makes the web such a successful application platform
2008/6/26 开发者版本:你属于哪个版本的程序员?国外开发者博客中有一篇有趣的文章,将程序员按水平像软件版本号那样划分为不同的版本。相对于在招聘时分为初级,中级,高级程序员,直接表明需要某种语言N版本的程序员或许更方便直接。根据作者的观点,可将WEB开发者大致分为以下几个版本: Alpha:阅读过一些专业书籍,大多数能用Dreamweaver或者FrontPage帮朋友制作一些Web页面。但在他们熟练掌握HTML代码以前,你大概不会雇佣他们成为职业的WEB制作人员。 Beta:已经比较擅长整合站点页面了,在HTML技巧方面也有一定造诣,但还是用Tables来制作页面,不了解CSS,在面对动态页面或数据库连接时还是底气不足。 Pre Version 1 (0.1):比Beta版的开发者水平要高。熟悉HTML,开始了解CSS是如何运作的,懂一点JavaScript,但还是基于业余水准,逐步开始关心动态站点搭建和数据库连接的知识。这个版本的WEB开发人员还远不能成为雇主眼中的香饽饽。 1.0: 能够基本把控整个站点开发,针对每个问题尽可能的找到最直接的解决办法。但对可测性,可扩展性以及在不同(层)框架下如何选择最合适的WEB设计工具尚无概念。这个版本的WEB开发者有良好的技术基础,需要有进一步的帮助和指导。 2.0:懂面向对象的编程语言,理解分层开发的必要性,关注代码分离,对问题寻找更完美的解决方法,偶然也会考虑设计模式的问题,但对此仍然概念不清。属于优秀的初级开发者,能完成较松散的代码开发(相对大型严谨的站点开发而言),在面对较复杂问题寻找解决办法时需要周边人的帮助。 3.0:开始较为深入的理解面向对象编程和设计模式,了解他们的用途,当看到好的设计模式时能看透其本质,逐步关注分层的架构解决办法和可测试性。理解不同的开发语言并能说出他们的异同(例如各自的优势)。属于优秀的中级别开发者,雇主也确信他们最终能找到问题的解决办法,这个版本的人可以给1.0和2.0的开发者以指导。但他们对架构的理解仍然不够清晰,值得一提的是,只要给予一些指导,他们能很快理解并熟记做出的决定,以及选定方案的优势所在。 4.0:理解模式,重视用户的反馈。着手研究方法论,架构设计和软件开发的最佳入口。头脑中已经形成了超越开发语言,技术架构的整体方案,可根据需求解构程序。能从理论的角度,不同模式如何融合成最佳形态,将多种X-驱动的模式应用到不同的方案中。是精通多语言的高手,理解不同系统和方法论的细微差别,属于高级程序员。这个级别的人能够轻易的辅导2.0和3.0的程序员,将他们推向更高的级别。 5.0:从系统的角度考虑问题。对各种系统结构有深入研究,能对整个代码架构中的问题进行改进。在团队粘合性以及代码安全性方面有杰出贡献。对1.0到4.0版本的开发人员出现的问题能及时察觉,让整个团队保持积极性且保持兴奋的状态创建软件解决办法。举例来说,他们总是对新的技术和信息保持饥渴状态,试图用最简便的方案解决开发任务。在整个IT团队中获得信任,属于高级程序员和架构师。 那么,您属于哪个版本的程序员呢? 微软发布3款SQL Injection攻击检测工具随着 SQL INJECTION 攻击的明显增多,微软近日发布了三个免费工具,帮助网站管理员和检测存在的风险并对可能的攻击进行拦截。 Scrawlr 下载地址:https://download.spidynamics.com/Products/scrawlr/ 这个微软和 HP合作开发的工具,会在网站中爬行,对所有网页的查询字符串进行分析并发现其中的 SQL INJECTION 风险。Scrawlr 使用了部分 HP WebInspect 相同的技术,但只检测 SQL INJECTION 风险。Scrawlr 从一个起始 URL 入口,爬遍整个网站,并对站点中所有网页进行分析以找到可能存在的漏洞。 Microsoft Source Code Analyzer for SQL Injection 下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyId=58A7C46E-A599-4FCB-9AB4-A4334146B6BA&displaylang=en 这款被称作 MSCASI 的工具可以检测 ASP 代码并发现其中的 SQL INJECTION 漏洞(ASP 代码以 SQL INJECTION 漏洞著称),你需要向 MSCASI 提供原始代码,MSCASI 会帮你找到存在风险的代码位置。 URLScan 3.0 下载地址: http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1697 该工具会让 IIS 限制某些类型的 HTTP 请求,通过对特定 HTTP 请求进行限制,可以防止某些有害的请求在服务器端执行。UrlScan 通过一系列关键词发现恶意请求,并阻止恶意请求的执行。 本文国际来源:http://blogs.zdnet.com/security/?p=1336 2008/6/24 诺基亚全额收购Symbian S60/UIQ走向一统诺基亚公司今天宣布,他们将和索尼爱立信、摩托罗拉以及NTT DoCoMo等公司一起,组建一个新的开放移动软件平台,整合目前的Symbian OS、S60、UIQ、MOAP系统。 除了上述四家公司以外,他们还将联合AT&T,LG、三星、意法半导体、德州仪器和沃达丰公司,组建非营利性的Symbian基金会,以开放的姿态向全球推广新的Symbian移动操作系统平台。 为实现基金会的组建,诺基亚公司宣布,将全额收购目前爱立信、松下、三星、西门子和索尼爱立信公司所持所有Symbian公司股份,使Symbian Limited成为诺基亚全资子公司。然后,他们将把所有Symbian和S60的软件知识产权贡献给Symbian基金会。与此同时,索尼爱立信和摩托罗拉将向基金会提供UIQ系统技术,NTT DoCoMo向基金会提供MOAP技术资产。Symbian基金会将把这些技术整合为一个完整平台,使用通用的UI架构,并从基金会开始运作的第一天起全免费向所有基金会成员提供该系统授权。基金会成员未来将继续对该开放平台进行后续开发,并公布部分组件的源代码。 很明显,诸位巨头此举是为了对抗Google Android开放手机平台,以同样的开放方式解决Symbian各版本系统间的隔阂,联合力量投入市场竞争。据悉,诺基亚将投入2.64亿欧元收购Symbian公司股份,目前爱立信、松下、西门子和索尼爱立信公司已经同意收购,三星预计也将很快决定。收购预计将于年底前完成,而新的Symbian基金会也将从明年上半年正式开始运作。 2008/6/23 Windows 7本人是微软.NET开发平台的忠实追随者,非常崇拜微软MSDN Webcast 特约讲师苏鹏,最近他作客ZDnet做了一辑"Windows 7"的讲座,其中提到很多Windows 7的新特新,有和Linux操作系统的对比,有和Apple的操作系统的对比,还有.NET Framework 3.0带来的WPF、WCS、WF、Silverlight等等。Windows操作系统之所以能够垄断现在桌面操作系统、服务器操作系统,有几点原因:
1.Windows后台是微软这家软件界的航空母舰级的巨型公司支持着;而Linux后台都是一些小公司支持,他们之间还有分歧,无法统一。
2.支持Windows的应用越来越多,软件分为三类:办公类、休闲类、娱乐类。
a.办公类应用软件以Office为代表,微软Office 2007的文档格式已提交ISO作为行业文档标准,既然标准都由微软制定,还有哪家公司的办公软件能竞争过微软。
b.休闲类应用软件以网站为代表,在unix操作系统下使用火狐浏览器是无法访问中国银行的网站,应为中国银行网站使用的是ActiveX插件。
c.娱乐类应用软件以游戏软件为代表,现在所有的游戏都是基于DirectX开发的,OpenGL基本绝迹。
综上几点因素更加坚定了我走微软.NET路线的道路---“路漫漫其修远兮,吾将上下而求索”。
敏捷开发不是软件危机的银弹时下敏捷开发(Agile)这个概念越来越火,不亚于当年的AJAX技术,2008年6月21日,由ThoughtWorks主办的第三届“敏捷中国”技术大会召开,把这个概念推到每个开发者的面前,作为当今主流的开发模型,是不是解决软件危机的救世良药呢?我看不一定,敏捷开发也有它的适用领域,也有它的缺陷,下面转一篇CSDN上面的文章,讲的是说要理性的看待敏捷、合理的使用敏捷。
这个问题其实是一个伪问题,因为大多数软件从业人员都相信没有银弹,但很多时候这一观念需要不断被强化。Ivar就说过,软件行业是一个时尚行业,人们不断将旧的概念包装和组合来创造新的概念。在过去十年中,先是面向对象/UML而后是CMM(I)被当成银弹来出售。据我个人的观察,敏捷有被神化成下一颗银弹的趋势。
那么什么是敏捷(Agile)呢?虽然敏捷这个概念近来很火爆,但当你向敏捷一个的狂热支持者提出这个问题的时候,那多半会看到一张茫然的脸。所以,我从Wikipedia中找到了下面的定义,我相信其他版本的定义也大同小异:
Agile Software Development is a conceptual framework for software development that promotes development iterations, open collaboration, and adaptability throughout the life-cycle of the project.
在这个定义中,指出了敏捷的三个要素:迭代开发、坦诚合作和自适应性,下面我们分别对这三个要素进行以下分析。
我们需要注意,迭代开发并不是一个新的概念,也不是敏捷所特有的。RUP在十年前就在强调迭代开发了。其实,敏捷在迭代方面并没有引入什么新的东西,而且我注意到目前在敏捷语境下已经出现了一些对迭代误用(这一话题在以后的文章里在展开吧)。下面是Wiki里有关敏捷和其他迭代开发方法的异同:
Most agile methods share other iterative and incremental development methods' emphasis on building releasable software in short time periods. Agile development differs from other development models: in this model time periods are measured in weeks rather than months and work is performed in a highly collaborative manner. Most agile methods also differ by treating their time period as a strict timebox.
坦诚合作其实才是敏捷的精髓,如Ivar所说,敏捷其实是有关Social Engineering的。敏捷的主要贡献在于他更多地思考了如何去激发开发人员的工作热情,这是在软件工程几十年的发展过程中相对被忽略的领域。如何将敏捷融入到整个软件工程的体系当中,这将是下一篇文章讨论的内容。
自适应性其实是一种后退,但是一种明智的、合理的后退。长期以来,人们经常试图将成功应用于建筑、机械等其他领域的项目管理方法强加到软件身上。这些方法往往非常强调可预测性,但由于软件本身的特性,往往给开发过程增加了不必要的成本。正如Walker Royce所说,开发软件其实更象拍电影,所以管理的挑战更大。敏捷提出的自适应性其实是减低了对项目可预测性的不合理要求,解放团队让他们关注与交付客户价值。
Adaptive methods focus on adapting quickly to changing realities. When the needs of a project change, an adaptive team changes as well. An adaptive team will have difficulty describing exactly what will happen in the future.
以下十一条是Agile Manifesto背后的基本原则,其实你可以看到前四条是有关迭代的,后六条是有关团队合作的,最后一条是有关自适应性的。
1. Customer satisfaction by rapid, continuous delivery of useful software
2. Working software is delivered frequently (weeks rather than months)
3. Working software is the principal measure of progress
4. Even late changes in requirements are welcomed
5. Close, daily cooperation between business people and developers
6. Face-to-face conversation is the best form of communication (Co-location)
7. Projects are built around motivated individuals, who should be trusted
8. Continuous attention to technical excellence and good design
9. Simplicity
10. Self-organizing teams
11. Regular adaptation to changing circumstances
了解了敏捷之后,我们要如何面对时下火热的敏捷运动呢?首先是不要神化,不要迷信,不要迷失自我。存在即合理,你先有的开发流程和工作方式一定有它的合理性,应渐进地采纳敏捷中一些合适的实践,仔细审视各种工件的合理性和必要性,要防止借敏捷的旗号来偷工减料(尤其是放弃必要的设计和架构工作)。同时,也应该充分利用这次文化运动所产生的变革力量和热情,推动一些最佳实践(如迭代开发),打破一些对软件开发活动不合理的束缚。总之,要弄潮,而不要被潮水裹挟,Be Smart。
2008/6/21 近期要看的书这些是我从卓越网上排行榜中仔细挑选出来的计算机类经典畅销书,这些书覆盖了Web开发、编程思想、开发语言、系统架构、编程算法、面试宝典等各个方面,对软件开发人员来说是最好的精神食粮。我曾把读语言、技术类的书比喻为武功招式的练习,读软件工程、编程思想、系统分析类的书比喻为内功的修炼。如果把下面这些书都修炼完毕之后不但可以提升开发人员的修养,而且可以使开发人员的理念上升到项目管理、系统分析、系统架构的层次,希望大家不要吝惜口袋里的钱,好好品味这些书吧!
ps:我希望以后我买房子的时候,我一定会装修一间精致的书房,把其中的一面墙做成书架,把自己读过的书、喜欢读的书、将来要读的书统统都放在上面,每天下班回来能够在这间古色古香的书房读上一两小时的书,那是多么享受的一件事啊,哈哈哈(偷笑中...)。
Java Script高级程序设计
精通正则表达式(第3版) 代码大全(第2版) Java2核心技术卷I:基础知识(原书第七版) Java2核心技术卷Ⅱ:高级特性(原书第七版) 编程之美--微软技术面试心得 Java编程思想(第4版)(thinking in java) 设计模式(可复用面向对象软件的基础) 敏捷软件开发(原则模式与实践) 精通CSS+DIV网页样式与布局 网站重构--应用Web标准进行设计(第2版) 程序员面试宝典 Oracle Database 10g完全参考手册(Oracle应用、开发与管理系列) CSS禅意花园 大规模系统构架建模及其开发技术 人月神话 人件集_人性化的软件开发 最后期限 C# 2005 & .NET 3.0 高级编程(第5版)
2008/6/20 新版.Net开发必备十大工具几年前MSDN上的一篇文章《Ten Must-Have Tools Every Developer Should Download Now》中介绍了.NET开发中必备的十大工具,几年过去之后,.NET Framework发展到了3.5版本,这些工具中,有些已经转向商业化,有些因为推出了新的工具而已经停止了开发,有些则继续免费提供给开发者使用。
笔者对.NET开发中必备的十大工具重新做了整理,推出新版.NET开发必备十大工具。本文只是简单的对其进行介绍,更加详细的用法我将会陆续进行讲解。 Snippet Compiler Snippet Compiler是一个基于 Windows 的小型应用程序,你可以通过它来编写、编译和运行代码。如果你具有较小的代码段,并且你不想创建完整的 Visual Studio .NET 项目(以及该项目附带的所有文件),则该工具会很有用。现在Snippet Compiler已经支持.NET Framework 3.5,最新版本为Snippet Compiler Live 2008 Ultimate Edition for Developers (Alpha),如下图所示:
Microsoft Source Analysis for C# Microsoft Source Analysis for C#是一款C#(不支持VB.NET)代码规范检查工具,前身是微软内部代码规范检查和代码格式强制工具StyleCop,目的是帮助项目团队执行一系列常用的源代码格式规范,它会根据预定义的C#代码格式的最佳实践进行检查,与FxCop不同的是它直接对源代码进行检查,且并不提供灵活的规则设置,强制开发者使用相同的习惯进行C#代码的编写。如下图所示:
GhostDoc
GhostDoc是Visual Studio的一个免费插件,可以帮助开发者生成比较完整规范的XML格式代码注释,如果你的代码遵循微软类库开发人员设计规范 ,由它自动产生的注释就已经完全可以很好地表达开发者创建的方法或者属性的意图,无需手工再进行修改。有了这些标准的XML注释,我们可以使用微软的文档工具Sandcastle生成专业级别的帮助文档。如我们有这样一段代码:
使用GhostDoc生成的注释如下:
官方主页:http://www.roland-weigelt.de/ghostdoc/ Sandcastle Sandcastle是微软发布的一个帮助文档生成工具,它通过反射程序集中的源代码和添加代码到中的XML注释来创建专业级别的帮助文档。Sandcastle于2006年推出,它的面世也使得曾经列入.NET开发必备十大工具之一的文档生成工具NDoc的作者Kevin Downs在2006年7月宣告不再投入NDoc Open Source Project的开发。生成的文档效果如下图所示:
Nunit
NUnit 是为 .NET 框架生成的开放源代码单元测试框架。NUnit 使你可以用你喜欢的语言编写测试,从而测试应用程序的特定功能。当你首次编写代码时,单元测试是一种测试代码功能的很好方法,它还提供了一种对应用程序进行回归测试的方法。NUnit 应用程序提供了一个用于编写单元测试的框架,以及一个运行这些测试和查看结果的图形界面。 官方主页:http://www.nunit.org MyGeneration 作为.NET开发人员,手边有一款代码生成工具必不可少。旧版.NET开发必备十大工具中,作者曾经推荐了非常著名的CodeSmith,不幸的是现在CodeSmith已经商业化,需要花钱购买;幸运的是我们又有一款免费并开源的代码生成工具选择MyGeneration,它的功能丝毫不亚于CodeSmith,完全基于模板引擎进行代码的生成,如下图所示:
Reflector for .NET 相信大名鼎鼎的Reflector for .NET大家都已经用过了,几年前它已经位于.NET开发必备十大工具榜,现在自然也不能例外。它是一个类浏览器和反编译器,可以分析程序集并向你展示它的所有秘密。使用Reflector for .NET可以浏览程序集的类和方法,可以分析由这些类和方法生成的 Microsoft 中间语言 (MSIL),并且可以反编译这些类和方法并查看 C# 或 Visual Basic.NET 中的等价类和方法。经过多年的发展,Reflector for .NET已经发展到了5.1版本,并且提供了相当丰富的插件,利用这些插件我们可以浏览Silverlight程序结构、浏览WPF资源文件、与TestDriven.net集成等。如下图所示:
The Regulator
The Regulator能够使生成和测试正则表达式变得很容易,它允许你输入一个正则表达式以及一些针对其运行该表达式的输入。这样,在应用程序中实现该正则表达式之前,你便可以了解它将产生什么效果以及它将返回哪些种类的匹配项。另外它还提供了正则表达式库管理功能,在线更新正则表达式库,可以在RegexLib.com上搜索需要的正则表达式,如下图所示:
LINQPad 随着在.NET Framework 3.5中对于LINQ的支持,越来越多的开发者在开发中使用了LINQ to SQL,但是编写LINQ to SQL查询似乎又成了一件很麻烦的事情,好在我们还有LINQPad这个工具,用来编写LINQ查询,不仅仅是LINQ to SQL,同时它也支持LINQ to XML、LINQ to Objects,另外LINQPad是完全免费的且无需安装,只要下载它的可执行文件就可以了。官方主页:http://www.linqpad.net/ NAnt NAnt 是一个基于 .NET 的生成工具,与当前版本的 Visual Studio .NET 不同,它使得为你的项目创建生成过程变得非常容易。当你拥有大量从事单个项目的开发人员时,你不能依赖于从单个用户的座位进行生成。你也不希望必须定期手动生成该项目。你更愿意创建每天晚上运行的自动生成过程。NAnt 使你可以生成解决方案、复制文件、运行 NUnit 测试、发送电子邮件,等等。遗憾的是,NAnt 缺少漂亮的图形界面,但它的确具有可以指定应该在生成过程中完成哪些任务的控制台应用程序和 XML 文件。目前NAnt已经支持.NET Framework 3.5,它的最新版本是0.86 Beta 1。官方主页:http://nant.sourceforge.net/ 总结 以上工具笔者在原有的.NET开发必备十大工具基础之上,加以整理,添加了一些新的优秀的工具,也许有朋友会说,还有很多比这些工具更优秀的工具,没错,是有这样的工具,但是笔者要说的是,上述十个工具,不仅考虑它的实用性,有一点更为重要的是,它们都是免费的,而且有很多是开源的! 为了便于大家对比,此处列出旧版.NET开发必备十大工具: 2008/6/17 能否成为优秀程序员与Java无关最近有些人因为计算机科学系的毕业生编程水平低就对Java进行指责,尽管我不是特别喜欢Java,但是我想为它辩护:我认为学习Java不是这些学生不够优秀的真正原因。这是一个敏感的议题,如果我的言语冒犯了某些人,在这里先说声抱歉。 坦白的讲,学生学习的第一种语言和他们最终有多优秀并无关系。你所见到的大多数“核心语言”(入Java,C#,C/C++,Vb.NET等)在大学里是按照计划传授的: 指针; 计算机科学系毕业生存在哪些问题呢? 1. 缺乏编程热情 讲师让学生对编程没有热情可以认为是事实。但重要的一点是,我在一个伟大的程序员身上看到的是他们对编程的热爱。获得热情的最佳方式是让自己感染别人,把自己的热情传递给别人。最好的方法是通过教学,在这点上我深有感触。在大学期间,我参加Microsoft的一些培训,深切感受到教师的热情传给了我。 算法和数学很容易被误认为是无趣的领域,如果没有正确的教导,这当然可以成为现实。不过,这些都是一个核心部分的学习计划。事实上,他们是独立的语言证明Java是不应该被谴责的,并且他们比语言选择更重要写。有了扎实的算法和数学基础知识,程序员使用任何一种语言都可以很好的代码。 结论 此刻问题的所在不是Java而是课程和传授它们的人。没有创造的激情、教学的核心算法和数学,学生永远不会成为优秀的程序员。 SOA+SaaS 推动软件产业发展我国的软件产业是随着我国的经济发展而逐步发展壮大的,经历了从无到有,从小到大,从国内到国际化发展的过程。随着我国在知识产权保护方面的增强以及用户观念的转变,我国软件企业的生存环境得到了改善,规模逐步扩大。软件产品,尤其是应用软件发展迅速,而软件外包的大力发展也极大地促进了我国软件产业的发展。目前,SOA、SaaS(Software as a Service,软件即服务)等成为软件发展的热点话题。 重点发展应用软件 在系统软件方面,我国一直在自主研发国产的软件。这些产品虽然已经取得了一定成功,但是目前无论是在产品本身还是市场表现方面和国际领先产品都存在着些差距,有些产品还或多或少地依赖于开源技术。我们在系统开发工具方面也比较缺乏。而在应用软件方面,我国涌现了一批优秀的企业和产品。这些产品通常是在某些特定的行业领域发展壮大,如OA、ERP、物流、金融软件等。 我国行业软件的发展有一个得天独厚的优势,就是我国有自己特殊的国情,这成了我国软件企业一个天然的壁垒。往往国外的软件产品到中国会遇到水土不服的问题。这其实不是技术的问题,而是业务的问题。它的业务流程经常和国内的业务流程不匹配,不能满足国内客户的需求,导致其没有办法推广。而本土企业则具有独特的优势,这在一定程度上推动了我国软件产业的发展。 但是国内的软件企业需要居安思危。因为随着交流的深入,国外的厂商迟早会借助他们的技术优势和市场、销售经验赶上来。另外一个潜在的威胁就是我国中小软件公司所获得的订单通常是具体的软件项目,而不是开发产品。这样的项目取得的开发方式不利于产品的形成,在一定程度上限制了更多、更大规模的软件企业的出现。所以国内的软件企业一定要未雨绸缪,不能只看到眼前的这个优势,而是要向远处看,在开发新产品、提高产品质量方面多下功夫。 规模化、国际化开发 我国软件企业普遍规模小,这带来很多问题,包括观念问题、管理问题、技术问题。采用良好的软件开发方法和项目管理方法,是提高软件企业规模的重要途径。随着我国CMM/CMMI浪潮的到来,软件企业开始重视对软件开发的管理,这极大地推动了我国软件企业提高管理水平。软件工程的发展,提出了很多软件开发方法和开发过程,如RUP、敏捷开发等。选择合适的开发能够帮助企业提高软件开发水平,进而提高企业的规模和管理水平。 国际化是提高软件企业规模的另一个重要途径。中国软件企业要想实现规模化,必须更有效地参与到国际竞争中去,而非闭关自守。国际合作的一种重要方法是寻求合作伙伴,在一个新领域、新市场,寻求合适的合作伙伴,双方共同努力来打开市场,可以事半功倍。 SOA与SaaS SOA越来越被广大的软件企业接受。作为一个组件模型,SOA将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。各种构建在这样系统中的服务可以以一种统一和通用的方式进行交互。 SOA注重业务需求和IT的一致性,使得IT系统与企业的实际业务保持一致。SOA简化了IT,使得IT系统更有柔性,能够更好地实现和优化业务流程,让企业更加敏捷地响应市场和客户的需求。随着SOA的成熟,相信会有越来越多的应用系统利用SOA的方式构建。 服务在国民经济中的作用越来越明显。我国目前在大力发展以知识密集型为特点的现代服务业。软件产业如何在这个浪潮中发挥作用,并推动自身的发展成为一个重要课题。 从形式上,软件可以服务化。近来被广泛提及的SaaS就是一种新的软件提供模式。在这种模式下,企业不需要购买软硬件、建设机房和招聘IT人员,只需要支付租用费,通过Internet就可以使用自己的应用系统,如邮件系统、销售管理系统、视频会议系统等。在这种方式下,用户通过互联网便可以享受到相应的硬件、软件和维护服务,享有软件使用权和不断升级的服务。 企业采用SaaS服务模式可以节省大量用于购买IT产品、技术和维护运行的资金,特别是对于中小企业来说,这是快速建设自己的应用系统的一种重要方式。而收取租金的方式,也有利于软件和服务提供商准确预测自己的收入,可以更准确地制订自己的发展策略,开发新产品。 在软件界,有人把2008年称为SaaS年,软件厂商对SaaS寄予厚望。 2008/6/13 下个月我就要去凯捷公司实习啦下个月我就要去凯捷公司实习了,即将告别大学三年的校园,还是十分留恋大学里的老师和同学,因为大家都对我很好,我的成功离不开老师的培养,同学们的相互帮助,小悦在这里谢谢大家了! 这是一家法国上市公司,全球500强,我将在凯捷从今年7月份一直实习到明年7月份,今年12月转正,待遇还不错的,嘿嘿!下面是凯捷Capgemini公司的资料,大家来看看吧。
Capgemini (Euronext: CAP) is a major French company, one of the world's largest information technology, management consulting, outsourcing and professional services companies with a staff of over 83,000 operating in 36 countries. It is headquartered in Paris (Rue de Tilsitt) and was founded in 1967 by Serge Kampf, the current chairman. CEO Paul Hermelin has led the company since his appointment in December 2001. Capgemini's regional operations include North and South America, Northern Europe & Asia Pacific and Central & Southern Europe. Services are delivered through four disciplines for Consulting, Technology, Outsourcing and Local Professional Services. The latter is delivered through Sogeti, a wholly owned subsidiary. Capgemini is ranked among the top three outsourcing vendors in the world. Capgemini operates in the following sectors/ industries: Manufacturing, Retail, and Distribution
Government and Public Sector
Financial Services
Energy, Utilities, and Chemicals
Telecom, Media, and Entertainment
Life Sciences
Other Services
2008/6/11 不同编程语言和操作系统对应的薪水这里是18种编程语言程序程序员年薪情况,看过之后不用我说就应该知道以后努力的方向了吧!
The Unix Geek网站日前根据Indeed职位搜索引擎统计出了美国不同程序员的收入情况,按照他们使用的编程语言、操作系统和应用程序接口进行分类。 GNU/Linux: $86,000 最后是按照应用程序接口划分:
Win32: $86,000
Tcl/Tk: $81,000 Qt: $76,000 GTK+: $75,000 .NET: $71,000 ($75,000 "Visual Studio") Cocoa: $43,000 ($60,000 "Mac Programming") 六月开发语言排行榜出炉 ActionScript杀回前20TIOBE开发语言排行榜每月更新一次,依据的指数是基于世界范围内的资深软件工程师和第三方供应商提供,其结果作为当前业内程序开发语言的流行使用程度的有效指标。流行的搜索引擎包括Google、MSN、Yahoo!和YouTube等。 Microsoft Servers 知多少?Microsoft Servers is a brand that encompasses a line of Microsoft server products. This includes the server editions of Microsoft Windows operating system itself, as well as products targeted at the wider business market. Unlike Microsoft's Dynamics or Office product lines, most of the products sold under this brand are not intended to be line-of-business services in and of themselves. Previously this brand was called Windows Server System. Servers As of December 2006, the lineup of Windows Server System software includes:
Microsoft Office server products
Some of the products included in the Windows Server System product branding are designed specifically for interaction with Microsoft Office. These include:
Microsoft System Center
Microsoft System Center is a set of server products aimed specifically at helping corporate IT administrators manage a network of Windows Server and client desktop systems. When first introduced, the "System Center" brand included products from the Windows Server System line, but has since evolved to include new products.
As of May 2007, this line of products includes:
Microsoft Exchange Server
Microsoft Exchange Server is a messaging and collaborative software product developed by Microsoft. It is part of the Microsoft Servers line of server products and is widely used by enterprises using Microsoft infrastructure solutions. Exchange's major features consist of electronic mail, calendaring, contacts and tasks, and support for the mobile and web-based access to information, as well as supporting data storage.
Microsoft BizTalk Server
Microsoft BizTalk Server, often referred to as simply "BizTalk", is a business process management (BPM) server. Through the use of "adapters" which are tailored to communicate with different software systems used in a large enterprise, it enables companies to automate and integrate business processes. Offered by Microsoft, it provides the following functions: Business Process Automation, Business Process Modeling, Business-to-business Communication, Enterprise Application Integration and Message broker[1].
In a common scenario, BizTalk enables companies to integrate and manage business processes by exchanging business documents such as purchase orders and invoices between disparate applications, within or across organizational boundaries.
Development for BizTalk Server is done through Visual Studio .NET.
Microsoft Internet Security and Acceleration Server
Microsoft Internet Security and Acceleration Server (ISA Server) is described by Microsoft as an "integrated edge security gateway". Originating as Microsoft Proxy Server, ISA is a Firewalling & Security product based on Microsoft Windows primarily designed to securely publish webservers and other server systems, provide Stateful, Application-Layer Firewalling, act as a VPN endpoint, and provide Internet Access for client systems in a Business Networking environment.
ISA 2000 and 2004 have also been included in the Premium Edition of Microsoft Small Business Server, as well as being sold as Appliance devices by a number of Third Party vendors.
SharePoint
SharePoint is a web-based collaboration and document management platform from Microsoft. It can be used to host web sites that access shared workspaces and documents, as well as specialized applications like wikis and blogs from a browser. SharePoint does not intend to replace an entire file server (e.g., an imposed 2 gigabyte file size limitation). SharePoint functionality is exposed as web parts, such as a task list or discussion pane. These web parts are composed into web pages, which are then hosted in the SharePoint portal. SharePoint sites are actually ASP.NET 2.0 applications, which are served using IIS and use a SQL Server database as data storage backend.
The term "SharePoint" is commonly used to refer to one of the following two products:
In addition, previous versions of this software used different names (SharePoint Portal Server, for example) but are referred to as "SharePoint".
The SharePoint family also includes the Microsoft Office SharePoint Designer (SPD) 2008/6/10 Javaserver Faces 简介 — 什么是 JSF?什么是 JSF?JavaServer Faces (JSF) 是一种用于构建 Web 应用程序的新标准 Java 框架。它提供了一种以组件为中心来开发 Java Web 用户界面的方法,从而简化了开发。JavaServer Faces 还引起了广大 Java/Web 开发人员的兴趣。“企业开发人员”和 Web 设计人员将发现 JSF 开发可以简单到只需将用户界面 (UI) 组件拖放到页面上,而“系统开发人员”将发现丰富而强健的 JSF API 为他们提供了无与伦比的功能和编程灵活性。JSF 还通过将良好构建的模型-视图-控制器 (MVC) 设计模式集成到它的体系结构中,确保了应用程序具有更高的可维护性。最后,由于 JSF 是通过 Java Community Process (JCP) 开发的一种 Java 标准,因此开发工具供应商完全能够为 JavaServer Faces 提供易于使用的、高效的可视化开发环境。 JSF 体系结构JavaServer Faces 的 MVC 实现JSF 的主要优势之一就是它既是 Java Web 用户界面标准又是严格遵循模型-视图-控制器 (MVC) 设计模式的框架。用户界面代码(视图)与应用程序数据和逻辑(模型)的清晰分离使 JSF 应用程序更易于管理。为了准备提供页面对应用程序数据访问的 JSF 上下文和防止对页面未授权或不正确的访问,所有与应用程序的用户交互均由一个前端“Faces”servlet(控制器)来处理。
图 1:JavaServer Faces 的 MVC 实现 JSF 生命周期Faces Controller servlet 充当用户和 JSF 应用程序之间的纽带。它在明确限定的 JSF 生命周期(规定了用户请求之间的整个事件流)的范围内工作。例如,一收到访问 JSF 应用程序的初始 Web 请求,Faces Controller servlet 便通过首先准备 JSF 上下文(存放所有应用程序数据的一个 Java 对象)来处理请求。然后控制器把用户指引到所请求的页面。该页面通常使用简单的表达式语言来处理来自 JSF 上下文的应用程序数据。一收到后续请求,控制器就更新所有模型数据(假设输入了新数据)。JSF 开发人员可以通过编程的方式在应用程序运行期间随时访问整个 JSF 生命周期,从而可以随时对应用程序的行为进行高度控制。 JavaServer Faces 的用户界面组件JavaServer Faces 的真正威力在于它的用户界面组件模型。在该模型中,应用程序完全用组件集合构建,这些组件可以针对多种客户端类型用不同的方式来进行显示。与其他专有技术(如 ASP.Net)有点类似,JSF 的 UI 组件模型技术使开发人员能够使用预先构建的用户界面 (UI) 组件来构建 Web 用户界面(而非完全从头构建用户界面),从而提供了前所未有的开发效率。JSF UI 组件有多种形式,可以简单到只是显示文本的 outputLabel,或者复杂到可以表示来自数据集合(如数据库表)的表格化数据的 dataTable。 JavaServer Faces 规范在其参考实施中提供了一组基本 UI 组件,这些组件本身是非常有用的。它们包括两个组件库,即“HTML”组件库 — 它大部分映射了标准的 HTML 输入元素;以及“核心”库 — 它辅助常见的应用程序开发任务(如,国际化和验证/转换输入数据)。除了提供一个基本 UI 组件库之外,JSF API 还提供了扩展和创建定制 JSF UI 组件的功能,从而在基本组件之上提供更多功能。 其他用户界面组件库由于 JSF API 的丰富性和灵活性,许多 Java 开发人员开始创建新的 JSF 组件库和实现。Oracle 的 ADF Faces 是一个完全符合 JSF 规范的组件库,它为 JSF 应用程序开发提供了一组广泛的增强 UI 组件。这些组件包括针对每种客户端类型的多种呈现器、高级表格、颜色和日期选择器以及大量通用组件(如菜单、命令按钮、转移选择器和进度指示计)。
图 2:Oracle 的 ADF Faces JSF UI 组件 除了 Oracle 的 ADF Faces 之外,还有其他新的 JSF 组件库开始从开放源代码社区和软件供应商社区中出现。MyFaces 就是一个新 JSF UI 组件库的例子,它通过 Apache 作为一个开放源代码项目提供的。Myfaces 还是对 JSF 基本 UI 组件的增强,它拥有更广泛的 UI 功能,如集成的 Tiles 支持、支持 Javascript 的菜单和树控件。
图 3:开放源代码的 MyFaces 实现和 UI 组件库 JSF UI 组件的可插入呈现技术JSF UI 组件技术最引人注目一个方面就是它的可插入呈现功能。JSF UI 组件能够根据查看组件的客户端的类型来以不同方式呈现自身。例如,HTML 浏览器将看到特定 UI 组件的“HTML 浏览器友好”版本,而支持无线或 WAP 的微型设备将看到同一 UI 组件的“WML 友好”版本!JSF 通过解除 UI 组件与其呈现逻辑之间的耦合从而能够为同一 UI 组件创建多个呈现器实现了这一功能。不同的呈现器可以与 UI 组件相关联,在运行时 UI 组件可以根据请求的客户端类型决定使用哪个呈现器。
图 5:一个 ADF Faces 表格组件针对无线客户端和 HTML 客户端进行了不同的呈现 还应当指出的是,由于 JSF 的可插入呈现功能,使得 JSF UI 组件能够显示任何类型的数据,无论它是标记数据(如 HTML、XML、WML 等)还是二进制数据。例如,UI 组件还可以显示二进制数据,如图像流或不同的文档类型,如 SVG、PDF 和 Word。 一个新的 JSF 组件开发人员社区随着 JSF 开发人员和拥护者社区的不断壮大,现在有几个网站致力于进一步推动独立的 JSF 开发。JSFCentral 就是一个完全为 JSF 开发社区服务的新网站。它包含 JSF 技术信息、产品/组件信息以及大量与 JSF 相关的文章。
图 4:JSFCentral — 一个免费的 Javaserver Faces 社区 (JSFCentral 的地址是:http://jsfcentral.com)JSF 开发工具因为 JavaServer Faces 是一种标准的 Java 技术,因此软件开发工具完全能够为 JavaServer Faces 提供高级的集成开发工具支持。多个供应商现在不同程度地支持 JSF 开发,这大大提高了 JSF 的易用性和功能。Oracle、Sun、Borland 和 IBM 都为 JavaServer Faces 提供了开发环境。由于开发工具供应商在竞相提供更好、更简单和更多的开发环境,因此基于 IDE 的 JSF 开发拥有美好的前景!
图 6:Oracle 的 JDeveloper 提供高效、可视化的 JSF 开发体验 总结JavaServer Faces 通过提供模型-视图-控制器设计模式的一个简洁实现,同时在不牺牲开发能力和灵活性的前提下提供高效的以组件为中心的开发,解决了 Java Web 开发的许多历史问题。此外,因为 JSF 是一种 Java 标准,因此多个软件供应商将继续提供始终高效的开发环境,这些开发环境毫无疑问将达到或很可能超过专有的可视化开发环境。请继续关注! BEA , WebLogic , Workshop 是什么? JSTL是什么?BEA 是个美国公司 , 做JAVA中间件产品. WebLogic是 BEA 的一个JAVA应用服务器的产品,类似于TOMCAT. Workshop是BEA的一个JAVA IDE产品, 类似于Eclipse. JSTL , JSP 标准标记库(JSP Standard Tag Library,JSTL)是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML 操作以及数据库访问。 BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、 网络应用和数据库应 用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的 开发、集成、部署和管理之中。 BEA WebLogic Server具有开发和部署关键任务电子商务Web应用系统 所需的多种特色和优 势,包括: 1)领先的标准 对业内多种标准的全面支持,包括EJB、JSB、JMS、JDBC、XML和WML,使Web应用系统的实 施更为简单,并且保护了投资,同时也使基于标准的解决方案的开发更加简便。 2)无限的可扩展性 BEA WebLogic Server以其高扩展的架构体系闻名于业内,包括客户机连接的共享、资源 pooling以及动态网页和EJB组件群集。 3)快速开发 凭借对EJB和JSP的支持,以及BEA WebLogic Server 的Servlet组件架 构体系,可加速投 放市场速度。这些开放性标准与WebGain Studio配 合时,可简化开发,并可发挥已有的技能, 迅速部署应用系统。 4)部署更趋灵活 BEA WebLogic Server的特点是与领先数据库、操作系统和Web服务器 紧密集成。 5)关键任务可靠性 其容错、系统管理和安全性能已经在全球数以千记的关键任务环境中得以验证。 6)体系结构 BEA WebLogic Server是专门为企业电子商务应用系统开发的。企业电 子商务应用系统需 要快速开发,并要求服务器端组件具有良好的灵活性和安全性,同时还要支持关键任务所必需 的扩展、性能、和高可用性。BEA WebLogic Server简化了可移植及可扩展的应用系统的开发, 并为其它应用 系统和系统提供了丰富的互操作性。 凭借其出色的群集技术,BEA WebLogic Server拥有最高水平的可扩展 性和可用性。BEA WebLogic Server既实现了网页群集,也实现了EJB组件 群集,而且不需要任何专门的硬件或 操作系统支持。网页群集可以实现透明的复制、负载平衡以及表示内容容错,如Web购物车; 组件群集则处理复杂的复制、负载平衡和EJB组件容错,以及状态对象(如EJB实体)的恢复。 无论是网页群集,还是组件群集,对于电子商务解决方案所要求的可扩展性和可用性都是至关 重要的。共享的客户机/服务器和数据库连接以及数据缓存和EJB都增强了性能表现。这是其它 Web应用系统所不具备的。 2008/6/6 软考费用降了告诉大家一个好消息哦,从下次软考开始收费降了,初级只要60元,中级和高级只要69元,大家可以尽情的报考啦,为自己的梦想努力吧!
赣发改收费字[2008]495号
省信息产业厅:
省发改委 省财政厅 二○○八年四月二十五日
附表:
未来IT时代遐想1 2 3学习IT技术到一定程度,人就容易浮想翩翩,最近我一直在幻想未来的互联网时代是什么样子的,就好像幻想共产主义社会的美好蓝图一样。当今互联网进入了Web2.0时代,技术更新换代非常之快,未来的互联网是什么样子的呢?大家请静静聆听小悦的畅想,不要笑我哦,也许这就是10年后的未来。
我想啊未来的电脑一开机就打开一个功能极为强大的浏览器,没有操作系统,也没有本地硬盘,所有的资源都在网络上,网络连接速度非常快,访问网络上的文件就像访问本地硬盘的文件一样快,所有的资源都分布在不同的服务器上,借助P2P技术实现了资源的全民共享。无线网络覆盖城市,在城市的任何一个角落里都能够接入互联网,人们带着笔记本可以在公交车上上网,也可以在咖啡厅里冲浪,真正解除了网线的束缚。IT一族们可以选择在任何一个地方办公,他们成为了真正的SOHO一族,可以在家里品着Java岛的咖啡,边收着电子邮件,边敲打着代码(嘿嘿,这也许就是我想要的生活吧)。 手机已经退出历史舞台,由于芯片的高度发展,集成度的提高,可以把强大的多核处理器封装在一块很小的芯片内,严格控制电压和温度,使得智能终端的大小得到控制仍然像手机一样,人们手中拿着的都是智能终端(Smart Client),就像一台小型电脑,拥有所有电脑的功能,可以上网、播放多媒体、玩游戏、打视频电话、编程序等等,智能终端使用3D投影技术,就像科幻片中的一样,把影像投放在空气中形成一个立体的实物景象,比如你和爱人进行视频聊天的时候,可以把他投影到空气中,就好像他活生生的站在你的面前和你谈话,你也可以随时把想看的电影投放到墙壁上观看。想要输入信息的时候呢,可以投影一个立体键盘在空气中,手指轻轻敲击立体键盘就可以实现文字的输入。 哈哈,就此打住,再继续遐想下去就快要"mental disorder"了,还是好好学习掌握好当今的技术,才能为未来添砖加瓦,谢谢各位观众在这里听小悦胡诌! |
|||||||||||||||||||||||||||||||||||||||
|
|