Sunday, January 20, 2008

我曾在 NVelocity 模版引擎 一文提到: NVelocity 项目最新的relase是 2003 年的. 这里更正一下: Castle Project Team 将其纳入了CastleProject 的代码库.  并保持更新和维护. 最新release 在2007年9月

见: http://www.castleproject.org/others/nvelocity/index.html

 

Sunday, January 20, 2008 6:04:34 PM (中国标准时间, UTC+08:00)  #    Disclaimer  |   | 
 Monday, January 14, 2008

今天发现一个令人沮丧的事情, Visual Studio 2008  不在支持Mobile Web Form 的设计界面, 也无法再一个web项目里面直接添加Mobile Web Form 页面, 一切只能自己写了.

这里有自定一模版: http://blogs.msdn.com/webdevtools/archive/2007/09/17/tip-trick-asp-net-mobile-development-with-visual-studio-2008.aspx

可以让你在web 项目里面添加 mobile web form 和 mobile configuration 文件, 但设计界面还是没有了. 不明白ms 在想什么.

ASP.NET Mobile Templates for VS2008.zip (51.18 KB)
Monday, January 14, 2008 10:43:48 PM (中国标准时间, UTC+08:00)  #    Disclaimer  |   | 

GroupMessage 是好朋友Joker开发在Pocket phone上群发短信的工具。 感谢Joker 为PPC一族提供便利!

系统需求:windows mobile 5.0及以上版本,.net compact framework 2.0

链接: http://hi-pda.com/forum/viewthread.php?tid=389880 

Monday, January 14, 2008 4:23:52 PM (中国标准时间, UTC+08:00)  #    Disclaimer  |   | 
 Friday, January 11, 2008

也许你觉得惠普之道的内容有些过时,或者众所皆知, 但就是这些摆在眼前的道理, 是最容易忽视的。独特的企业文化, 是惠普公司成功的源动力,虽然惠普之道不是业界的标准, 但对管理者来说, 它有很多可借鉴的地方:

 

We have trust and respect for individuals.

我们信任和尊重个人

 

We approach each situation with the belief that people want to do a good job and will do so, given the proper tools and support. We attract highly capable, diverse, innovative people and recognize their efforts and contributions to the company. HP people contribute enthusiastically and share in the success that they make possible.

 

We focus on a high level of achievement and contribution.

我们追求卓越的成就与贡献

 

Our customers expect HP products and services to be of the highest quality and to provide lasting value. To achieve this, all HP people, especially managers, must be leaders who generate enthusiasm and respond with extra effort to meet customer needs. Techniques and management practices which are effective today may be outdated in the future. For us to remain at the forefront in all our activities, people should always be looking for new and better ways to do their work.

 

We conduct our business with uncompromising integrity.

我们在经营活动中坚持诚实与正直

 

We expect HP people to be open and honest in their dealings to earn the trust and loyalty of others. People at every level are expected to adhere to the highest standards of business ethics and must understand that anything less is unacceptable. As a practical matter, ethical conduct cannot be assured by written HP policies and codes; it must be an integral part of the organization, a deeply ingrained tradition that is passed from one generation of employees to another.

 

We achieve our common objectives through teamwork.

我们靠团队精神达到共同目标

 

We recognize that it is only through effective cooperation within and among organizations that we can achieve our goals. Our commitment is to work as a worldwide team to fulfill the expectations of our customers, shareholders and others who depend upon us. The benefits and obligations of doing business are shared among all HP people.

 

We encourage flexibility and innovation.

我们鼓励灵活和创新

 

We create an inclusive work environment which supports the diversity of our people and stimulates innovation. We strive for overall objectives which are clearly stated and agreed upon, and allow people flexibility in working toward goals in ways that they help determine are best for the organization. HP people should personally accept responsibility and be encouraged to upgrade their skills and capabilities through ongoing training and development. This is especially important in a technical business where the rate of progress is rapid and where people are expected to adapt to change.

Friday, January 11, 2008 11:55:45 PM (中国标准时间, UTC+08:00)  #    Disclaimer  |   | 
 Wednesday, January 09, 2008

今天用了一下 NVelocity, 感觉还不错, 虽然最后的release 版 是2003年的, 但和vs 2008 以及范型等兼容性没有问题。
Write a Simple sample:

Template:

Cool, this is a Velocity Template
let's get start:
## this is comments
#set($user="jimmy")
hello $user!!!!!
$fruits
the gameName is: $game1.GameName
#foreach ($fruit in $fruits)
!!! I Like $fruit
#end
.NET Code:
        public class Game
        {
            public string GameName{get;set;}
            public string GameType{get;set;}
            public int Year{get;set;}
        }
        private void btnRender_Click(object sender, EventArgs e)
        {
            //tbTemplate.Text;
            Velocity.Init("nvelocity.properties");
           
            VelocityContext context = new VelocityContext();
            Game game1 = new Game { GameName = "DOOM", GameType = "FST", Year = 1990 };
            context.Put("name", "Velocity");
            context.Put("project", "Jakarta");
            context.Put("game1", game1);
            List<String> strList = new List<String>();
            strList.Add("Apple");
            strList.Add("Orange");
            strList.Add("Banana");
            context.Put("fruits", strList);
            //Template template = new Template();
            StringWriter writer = new StringWriter();
            Velocity.Evaluate(context, writer, "string1", tbTemplate.Text);
            tbResult.Text = writer.ToString();
        }
Output:
Cool, this is a Velocity Template
let's get start:
hello jimmy!!!!!
System.Collections.Generic.List`1[System.String]
the gameName is: DOOM
!!! I Like Apple
!!! I Like Orange
!!! I Like Banana
若从源码编译: 几点需要注意

1) 它所用的log4net 版本比较老, 可能有兼容性问题

2) directive.properties 和 nvelocity.properties 两个文件需要设成 Embedded Resource

Links:
http://nvelocity.sourceforge.net/
http://velocity.apache.org

Wednesday, January 09, 2008 1:27:21 PM (中国标准时间, UTC+08:00)  #    Disclaimer  |   | 
 Sunday, January 06, 2008

RIA技术的现状和展望 2) - by 纵坐标的幻

今天继续:

目前RIA技术局限和瓶颈 (主要针对主流的 flash silverlight)

1)      检索问题

作为一种互联网的应用, 检索是重要的推广手段, 但是flash由于使用的二进制文件而非纯文本, 导致了google 等检索引擎无法抓取其内容.  显然silverlight 使用XAML (xml 格式) 很好的避免了这一点, silverlight目前尚不成熟, 将来如何拭目以待.

 

2)      应用的安全性

Silverlight flash 通常需要下载到客户端允许, 势必存在安全隐患, 安全隐患是两方面的

A)     浏览者的安全性: 浏览这访问RIA应用时, RIA是否会执行一些威胁用户安全的操作. 通常IE 和相关应用的插件会对操作进行限制, 但难免存在漏洞.

B)     开发者的安全性: RIA被下载到用户本机, 就存在这代码被破解, 通讯协议被破解的问题. Flash 8 swf已经能被轻而易举的破解, 好在flash9 目前破解还比较困难, 然而silverlight (目前1.0) 所用的技术是xml + javascript, 代码完全暴露,毫无安全性可言. 据说 siliverlight 1.1 会有改善.

 

3)      浏览器插件的普及率

Flash 的插件目前有很高的占有率, 可以说是一大优势.  然而 微软的silverlight 凭着操作系统的优势, 相信会迎头赶上.

 

4) 3D 技术

3D 的展示一直是RIA 的一个技术缺口. 目前flash 已经有不少第三方的库, 可以支持3D, 比较流行的有: PaperVision3D , away3D FlashSandy. 但是都不支持硬件加速. 据说flash 10 会直接支持3d技术, 并且有硬件加速

Silverlight 目前还没有3D的支持.

papervision3d 首页的海底demo:

 

 

4)      开发便利性

一直以来RIA的开发有个较大问题, 没法将程序和效果的业务逻辑开发完全剥离,

这也是为什么flash action script 开发人员比较难找的原因 (需要全才才行啊). 随着 Action Script 3 的越来越普及, flash 开发模式也日趋成熟.

Microsoft silverlight, 开发方式更具创意:  效果设计师用Expression Blend Silverlight  xaml进行效果制作. 而程序员用visual studio 对其添加业务逻辑, 两者完全分开. 效果如何? 目前我还没试过,试过后一定告诉大家.

Sunday, January 06, 2008 11:33:02 PM (中国标准时间, UTC+08:00)  #    Disclaimer  |   | 
 Tuesday, January 01, 2008

今天继续看Away3D, 原来away3d 直接支持 MD2 格式. 从最底层抽屉把 quake2 的游戏盘找了出来. 安装上, 然后用pakscope, 解开quake2 pak 的资源文件 (quake3 就不用这么麻烦了, zip就能解) , 提取md2 和贴图. 贴图是pcx的, 需要转成jpg, 否则flash不支持

然后用以下语句:(贴图先导入库)

var loader:Object3DLoader = 
Md2.load("model/tris.md2",
{material:"SCOUT", name:"quake", scaling:0.1,
y:0, x:0, z:0, rotationX:0, loadersize:300}); view.scene.addChild(loader);

嘿嘿, 能显示了, 贴图位置也正确.

Sample 点这里

动画和骨骼还没研究, 等有空再看:)

Tuesday, January 01, 2008 3:32:41 PM (中国标准时间, UTC+08:00)  #    Disclaimer  |   | 

Away3D (www.away3d.com) 相对 FlashSandy 和 PaperVision3D, 可算是后起之秀了, 虽然现在教程不多, 但是还是很容易上手. 也可以到Goolgle group 提问 http://groups.google.com/group/away3d-dev/ 

做了一个简单的sample.

代码下载

Tuesday, January 01, 2008 12:26:28 AM (中国标准时间, UTC+08:00)  #    Disclaimer  |   | 
 Thursday, December 27, 2007

Adobe 出了Action Script 3 后,  更清晰的层次结构, 和显著提升的性能.  由于变化太大, flasher 从AS2 转变到AS3 也是一件痛苦的事情.以前的代码并非完全兼容.

最近小试牛刀, 用AS3 写了个动态界面. 图片能够自动的切换.动态显示. 内容由xml来配置. 

demo 看这里 

用这个代码帮儿子做的相册 嘻嘻

打包下载 包含图片demo下载

Thursday, December 27, 2007 3:11:08 PM (中国标准时间, UTC+08:00)  #    Disclaimer  |   | 
 Sunday, December 23, 2007

软件开发项目管理十一问 - by 纵坐标的幻

 

若您正在管理一个中小型软件开发项目, 以下11个问题可以帮助您检查您的项目管理和流程是否健全:

1)      是否有项目管理计划? (一个涵盖各方面的总体规划以及项目生命周期定义等)

 

2)      对于工作任务, 是否有时间和资源估算?

 

3)      是否有进度计划? (比较简单的项目可以用Roadmap 方式, 比较详细的,需要分配资源和跟踪进度的可用甘特图)

 

4)      是否有团队人员计划? (包括但不限于: 组织结构, 责任分配-RACI RAM)

 

5)      是否有沟通模型/计划? (包括: 沟通对象: 客户/上层领导/Team以及其它stakeholder , 沟通频度, 沟通方式: 邮件/会议, 沟通触发条件  )

 

6)      文档是否健全? 对于需求的修改, 是否有完整的跟踪和同步相应文档. (文档通常包括设计文档, 需求文档, 开发规范, 用户手册等)

 

7)      是否有配置管理和变更控制计划? (变更的记录和审批)

 

8)      是否有Design review, Code review.

 

9)      是否有单元测试, 整合测试和用户测试? (是否有Test case? )

 

10)   所有的Bug / Issue / CR / Action 是否有记录和跟踪机制? (目前也不少完善的tracking 系统)

 

11)   是否有风险管理机制? (风险鉴定, 风险防范措施, 风险监控等)

Sunday, December 23, 2007 1:54:01 PM (中国标准时间, UTC+08:00)  #    Disclaimer  |   | 
 Thursday, December 20, 2007
研究PMP, 顺便整理了一下PMBOK中得过程组, 还是有些乱, 各位将就着看看吧。
Thursday, December 20, 2007 10:50:14 AM (中国标准时间, UTC+08:00)  #    Disclaimer  |   |