混了些年的程序员,基本上都听说过VIM吧。。当然,半数以上的人对它是仰止的。这个是它的图标:

曾经装上,并强制自己去适应它,但是还是因为没有毅力,而重新拾起UE,一堕落不可收拾。
今天花了一个下午,再次重新把它装上,并且收藏、阅读了大量的文章,把电脑中的UE和记事本彻底删除掉,强迫自己使用一段时间,希望能达到运指如飞的编程效果。

另外,eclipse里也提供了一个插件vimplugin(收费的),能让同学们在eclipse里也可以体验jkhl的感觉。
Victor.Woo的博客,仅原创
10月25日参加“微软新一代开发平台 Visual Studio 2008 Jumpstart新特性纵览及开发应用起步培训”的一些心得:
由于官方的PPT还未上传(请关注http://sharepoint.microsoft
一、版本的说明:
1.发布时间
Visual Studio 2008,现在内部处于RC1状态,约明年2月发布,现在有Beta2可用。而更全的team system更晚发布。
Windows Server2008 年底发布,默认包含.net framework 2.0
2.特性说明
Team Foundation Server,能够实现文档管理、工作流、跟Project集成、跟SharePoint集成、比VSS更强大的源码管理(用SQL Server,支持临时Check in的“书架”功能等)。我们公司的管理如果有此方面的想法
vs2008可支持.net 2.0,3.0,3.5,不支持.net framework 1.1。创建工程时可选择framework的版本。对于有代码,项目属性中可修改平台版本。从2.0到3.0/3.5的升级可完全不更改代码,降级可能要删除代码和命名空间。
这里对比一下两次framework的升级:
由于.net 1.x设计得不够完善,推出.net 2.0的时候做了很多核心的更改。导致1.x的代码到了2.0上有5%不能用(编译不通过)。这个数字算是很大的比例,因此微软也遭到诟病。
而这次升级,从.net 2.0到3.x(3.0/3.5),框架只是做了补充(内容后面介绍),换句话说,2.0是3.x的一个子集。因此2.0的代码拿到3.x中100%可用。
从3.x降级到2.0的话,需要移除3.x额外部分的代码,比如说System.LinQ{}命名空间的代码,还是可以用的。
微软的主讲人鞠海洋强烈建议我们至少升级到2.0,因为1.x已经不再受支持了,以后会渐行渐远。
操作系统支持情况:
1.x: win98, win 2000, win xp, win 2003
2.x: win2000, win xp win 2003, win vista (注意没有了win98)
3.x: win xp, win 2003, win vista (注意没有了win 2000)
开发工具支持情况:
Visual Studio 2003: .net 1.x
Visual Studio 2005: .net 2.0,装扩展包可支持.net 3.x
Visual Studio 2008: .net 2.0,.net 3.x
结合我们公司的情况,我个人建议:
l 新的WinForm程序,采用.net 2.0开发。因为要照顾到win2000的桌面用户
l 新的WebApplication程序,采用.net 2.0开发,有可能的话尝试一下3.x。因为Web程序不可能再采用win2000服务器,而3.0带来的便利可以事半功倍(见后文)。
l 旧的WebApplication程序,在开发进度不紧张的时候,尽快升级到2.0。因为1.1已经没有人关注,为了项目可持续发展,这一步必须做。
l 新的WinCE程序,要看机器内置的操作系统,尽可能用.net 2.0。
二、LinQ简介
LinQ是.net 3.0推出的最重要特性!Language Integrated Query的缩写,意为语言集成查询。
感性的认识:避免拼凑大量的SQL语句字符串,面向对象化地操作数据库。大家可以把数据表中的每一行
public static void Main()
{
// The most active list on CP
var mostActive = new string[] {
"Christian Graus",
"Paul Watson",
"Nishant Sivakumar",
"Roger Wright",
"Jörgen Sigvardsson",
"David Wulff",
"ColinDavies",
"Chris Losinger",
"peterchen",
"Shog9" };
// Get only the people whose name begins with D
var namesWithD =
from poster in mostActive
where poster.StartsWith("D")
select poster;
// Print each person out
foreach(var individual in namesWithD)
{
Console.WriteLine(individual);
}
}
注意文中的红字部分,采用和SQL类似的语法(但不是SQL),它是强类型的,而不是一个普通的字符串,也就是说在敲每个词的
这样做的好处是避免了大量的SQL语句拼凑操作,LinQ作为中间层,使得程序员不必直接对具体的数据库操作。LinQ和Java中的Hibernate类似。但LinQ是语言级别的,所以比Hibernate更强。
这样做的代价是,读取时有0%的性能损失,写的时候有10%的性能损失。但由于LinQ带来的条理性,将和Java的Hibernate一样被普遍接受。
以后会有很多这方面的资料,可以带着以上的感性认识进行更深入的学
三、有好多具体的语法和IDE新特性,在此略过(我们是先对VS2005熟悉起来;-))
四、网络方面
WCF框架是专门为了解决传统网络编程复杂性而设计的框架。
举个例子,采用传统的TCP/IP,要实现可靠的传输、安全认证、用户自定义协议的封包解包组包校验
而采用WCF,需要书写不到10行代码:D,并且配置文件充分可定制。如果用户想裁掉一些功能,如可靠性
可支持tcp/http/命名管道等底层协议,我们需要做的也只是改变一下配置文件即可。
它的大概原理和Web Service、RPC相近。例如服务器上编写了一个Calculate()方法,要让客户端远程调用。那么它只要把这个方法发布出来
结合我们公司的项目,记得以前税控服务器写了大量的代码
五、多媒体方面
主要体现在WPF、SilverLight。一言蔽之,采用XML作为矢量数据存储,采用C#语言来操纵对象和实现后台逻辑,以实现和Flash一样的用户体验。基于文本的工程(Flash是一个二进制文件)有利于源码管理和多人协作,有C#语言和.net库的支持,技术上打败Flash没有问题。
如果采用的话,对我们公司的自助有很大意义。
六、CardSpace
大概是管理n张卡,以及用户认证的一套解决方案,我觉得这个目前应该成不了气候从我旧blog上转过来的,版本和日期比较早 早就想借助软件规划一下自己的第二生活了。注:第一生活即狭义上的生活;第二生活指面对电脑的生活。 于是很盼望找到这样一款软件:能够以树状目录对文本(最好是多媒体)资料进行整理,可以把n多文章组织成一个文件,可以方便的录入及导出资料,可以集成附件 这几个条件,看似容易达到,实际上可不然: 两年前,我看上了一款国产软件,叫做笔记本,北师大历史系老师做的(牛啊)。网站地址是 http://chunmi.vip.sina.com 可以看到,左边有一排文件夹,它是可以像注册表那样树状展开的。不知道用了什么控件,展开了一层,其它的会被藏起来,所以这里显示的是根级目录。 不过我嫌这个软件有个致命伤:它是基于RTF的。我们知道,RTF的表现力不如WEB,差不多就是写字板能够表现的那个水平而已。故不支持Web内容的直接粘贴,这个郁闷了。网上看到精彩的好文,如果包含图片或者Web格式的话,粘贴过来就没了。还有一个要命的:这个软件是共享软件,而且国内的cracker似乎对这款软件不感冒。我试图crack了一下,由于动态调用到一个dll,不会crack了:(。 于是投奔0day软件。到国外了解了一下,他们的同类软件是MyBase。界面华丽多了。不过其实是它支持自选图标,而且提供了大量好看的图标(有点像ICQ风格的),而且它的example做得很棒,估计很能吸引眼球。图: 可见,仅仅是一个类似记事本的软件,竟然被挖掘出这么多的功能,汗啊。这个软件已经被0day组织看好,这下好办了,后续版本自己找去。汉化新世纪也注意到了这款软件,有专门的爱好者为它出汉化版了。这下英文不好的朋友也有福了!不过话说回来,这个软件也有致命伤,也和国昌的"笔记本"一样,是基于RTF的。哭啊! 好了,该到笑的时候了:请出主角CyberArticle来。这款软件是跨国开发团队编写的,其中有中国人为它做开发,所以这款软件已经被很多国人熟识。它原来叫做网文快捕,后来出了点版权争议,改名CyberArticle来。我装上了最新的4.2Alpha。界面风格是Office 2003的,cool 由于这段时间找工作为主,所以目前的内容从工作相关的入手:)。令人欣喜的是,这回总算是基于WEB的啦:D。好像我需要的功能它全有了,更有甚之,它可以作为MyIE的插件!工具栏和侧边栏都可以(不过这个插件安装的时候有点傻比,它搜索了半天,搜索到我硬盘上的MyIE文件夹,就把插件装进去了,而我现在用的是Maxthon,它都不给提示的机会。不过没关系,把两个plugin的文件夹拷贝过去就可以了。)功能我还没有体验完一遍,反正用起来乱爽,想要什么功能就有什么功能就是了。对于Web内容,恰恰是它长项,直接粘贴即可。还可以选择保存什么不保存什么,比如说图片和flash,嫌太大的话可以不要它。图: 还有带一个像Flashget那样的悬浮窗。 功能还在体验中,总之很贴心、很强大,但愿能够成为第二生活中的佳人伴侣
By victorwoo


Oracle 10g启动起来会大大影响机器性能,有的时候又不得不在自己的便携电脑上安装Oracle来进行调试。那么我们可以在平时停止Oracle,在需要调试程序的时候再手动启用它。 经过一番摸索,做了一些脚本,推荐保存到本地的文件夹里,如Oracle10gStartStop\,把StartOracle.bat和StopOracle.bat快捷方式放到快速启动栏里。 DelBak.bat 66 -a-- readme.txt 398 -a-- SetAsDemand.bat 252 -a-- start.sql 46 -a-- StartOracle.bat 629 -a-- stop.sql 53 -a-- StopOracle.bat 617 -a-- 注意修改ORAHOME、ORASID和密码。 readme.txt 为Oracle用户设计的脚本 在个人计算机上运行Oracle会影响系统性能,建议仅在需要使用时才运行Oracle,不需要时将其关闭。 0.该脚本在Oracle 10g中可正常使用,其它版本欢迎反馈 1.请修改三个bat中的ORAHOME和ORASID为本机所用的值 2.首次使用时请运行 SetAsDemand.bat,将Oracle相关服务设成手动 3.平时需要使用Oracle时,运行StartOracle.bat。需要停止Oracle时,运行StopOracle.bat victorwoo@gmail.com 2007-11-15 SetAsDemand.bat set ORAHOME=OraDb10g_home1 set ORASID=orcl SC Config OracleService%ORASID% start= demand SC Config OracleDBConsole%ORASID% start= demand SC Config Oracle%ORAHOME%iSQL*Plus start= demand SC Config Oracle%ORAHOME%TNSListener start= demand pause start.sql connect sys/asdfasdf as sysdba startup exit; StartOracle.bat @echo Starting Oracle Service set ORAHOME=OraDb10g_home1 set ORASID=orcl net start OracleService%ORASID% net start OracleDBConsole%ORASID% net start Oracle%ORAHOME%iSQL*Plus net start Oracle%ORAHOME%TNSListener sqlplus /nolog @start.sql pause stop.sql connect sys/asdfasdf as sysdba shutdown abort exit; StopOracle.bat @echo Stoping Oracle Service sqlplus /nolog @stop.sql set ORAHOME=OraDb10g_home1 set ORASID=orcl @REM net stop Oracle%ORAHOME%Agent net stop Oracle%ORAHOME%iSQL*Plus net stop OracleDBConsole%ORASID% net stop OracleService%ORASID% net stop Oracle%ORAHOME%TNSListener pause DelBak.bat attrib -s -h -r *.bak del *.bak attrib -s -h -r *.log del *.log
Powered by ScribeFire.
| 入门工具 | 进阶工具 |
| 我的电脑 | TotalCommander |
| UltraEdit/记事本 | Vim |
| QQ | Pidgin |
| IE/TT/Maxthon | FireFox |
Powered by ScribeFire.
Powered by ScribeFire.