虽然是小事情,不过也在这里说一下.
最近因为工作的问题,新买了一台SONY的笔记本.
现在的笔记本都是安装VISTA的, 想安装XP吧, 还找不到硬盘.
而且因为没有软驱, 所以安装时也弄不了硬盘驱动.
这个问题只好以后有空的时候解决了.
现在用VISTA安装了VS2003后, 出现了一个很严重的问题.
使用FIND IN FILES功能时, VS2003会停止响应.
上网找相关信息, 有人已经报告这个问题了.
不过MS说不管VS2003了.
后来发现了另外一台VISTA的电脑不存在这个问题.
以对比原来是WINDOWS THEMES的问题.
只要把WINDOWS外观, 改成比较难看的标准模式,(就像WIN2000那样..)
就能把问题解决掉了.
希望这个记录对VISTA下用VS2003的同行有帮助.
有没有人下载了ASP.NET MVC ?
无法知道如何开始.
用VS Web Developer Express 2008,有项目模板 [ASP.NET 3.5 Extensions Web Site],
新建了,只有一个web.config里包含了一些必要的配置. 例如UrlRoutingModule.
建立了Controllers目录,建立了一个TestController类
然后建立Views目录,在下面继续建个Test目录.
然后浏览http://localhost:3759/Asp35Website1/Test/ . 很不幸. 无法找到资源.
不知道还需要配置些什么. 请大家在这里聊聊.
最近我在做一个开发框架以及在上面建立的应用程序. 开发框架中包含了一个叫 AbstractRecord 的技术. 这个技术用于访问数据库,但是我不愿意把它称为ORM.
这个东西将能够大大地提高基于数据库的程序的开发速度.
由于篇幅太长,我放到文章区去了.
http://blog.joycode.com/lostinet/articles/107276.aspx
http://www.cnblogs.com/Lostinet/archive/2007/08/15/857039.html
把VS.NET2005Beta2下载了下来,一直都没有好好地去研究一下。 今天突然想到一个有意思的Idea,关于程序中数据的获取方式的。 反正想试试而已,于是顺便练习了一下范型。 通常做数据缓存的时候,都是依靠Cache来实现的。 其实DotNet的垃圾回收和WeakReference类就可以用来做缓存了。 测试的代码如下:
下面说说大概的做法:
首先,在某个Context下(当然作成全局也可以。) 有一个储存这些数据的地方,在例子中是SomeContext._itemtable 而SomeContext.GetDataItem则使用一种类似Provider的方式来获取数据。 当执行GetDataItem时,需要指定一个key 如果_itemtable不存在这个key,则需要访问Provder来获取这个数据。 如果_itemtable已经有了这个数据了,则直接返回该数据就OK了。 当然,_itemtable和里面的Dictionary都不是 Cache 类型的, 那么数据是怎样自动释放的呢? 这里关键就是_itemtable里并不引用T类型的对象,它只储存WeakReference. 当T对象没有被任何引用,并且内存紧张,DotNet进行回收的时候,~T()就会被调用。 ~T()最好主动告诉SameContext.RemoveDataItem,它已经被回收啦。 所以,要执行SameContext.RemoveDataItem, T对象必须要引用着SameContext的实例,这使序列化有点麻烦。 当然如果要做序列化,那么就不要把_context也带过去了,~T()可以判断一下_context是否为空。 因为复制后对象并不是在_context._itemtable中的,并不存在回收的问题。 例子中还包含了一个 Products 属性。这个属性告诉了,怎样令Supplier本身是有生命的。 _products本身是为null的,一直到get_Products时,才开始使用_context来获取。 而且这个_products本身也算是缓存了。除非Supplier被回收了,否则就不需要重新访问数据库。 当然,基于这个也许能做很多更有意思的东西,例如基于这个来做一个ORM。 不过等有空的时候再完善这个模型吧。
-----------------------------------------------
如果希望目标的数据类型与这个模型无关,例如使用已有的数据类型,
那么可以使用后来做的DataPair<K,T>类来协助实现。
一直都想找一个能用的捕捉屏幕的软件。
例如那些FLASH工具。不过看来没有一个是免费的。
今天要用PCMARK来测试机器,发现它需要安装Windows Media Encoder。
既然装了,没有理由不打开来看看嘛。
发现 Windows Media Encoder 能捕捉屏幕或某一个窗口,保存为WMV。
嘿嘿,看来以后做演示容易很多了。
Windows2003 企业版默认是不支持红外的。红外设备被认为是未知设备
如果你使用这个版本,并且需要使用红外,那么请到 http://www.lostinet.com/files/Irda2k3.rar 下载驱动程序。
使用方法是解压,右键点irda_install.inf选安装。
完成后,在设备管理器里手动从磁盘重新安装即可。
--------------------
上面的方法只能装完驱动,但是不能装相关的红外监视服务。
真正能用的方法如下:
安装方法是把所有的inf复制到Windows\Inf目录下 然后重新安装红外的设备的驱动. 然后它会提示缺少xvd,dll文件的。 那时给它指定到解压后的目录即可.
不知道各位有没有做过用于打印的Web页。
我帮客户做这个页面的时候,喜欢把某些区域定为contentEditable="true",目的是让客户可以随便修改这些地方。
例如:
<Asp:Panel runat=server contentEditable="true"/>..<Asp:Label runat=server id=PrintTitle Text=PrintTitle/>..</Asp:Panel>
http://blog.joycode.com/lostinet/ /lostinet/
谢谢GRACE的邀请。打算那天穿博客堂的衣服去 , 顺便让蝈蝈俊.net 看看我有多胖:-)
EAKU的订单其实我已经下了,不过因为没有在线支付,要把钱寄给他公司真难啊。
(我去附近的工行,那里竟然没有汇款到公司的服务。虽然说都是上海。希望那个网站能做好。。)
右边的是 <-FieldSet-> <-Legend-> Title <-/Legend-> Content -FIELDSET-> 。 刚认识它,感觉简单方便实用。
这段时间写代码写晕了,犯了个致命的错误:
如果你知道有问题了,那么找出问题很容易的。
反过来,如果心里没有认为它没有问题,那么就很难发现错误了。
这段时间要做个Excel的东西。本来是打算用DotNet来控制Excel的。不过后来要求做成两个部分。一个为Excel的设计工具,为开发人员用。另外一个是给最终用户使用。
最终用户很多,分散在各地,所以如果要求他们安装DotNet,那么是很痛苦的事情。
最后打算给最终用户使用的Excel的控制采用VBA的方式。而VBA则在用DotNet做的设计工具设计Excel界面时自动生成相关的VBA代码。
一个例子如下:
Excel.Workbook book=..... Excel.Worksheet sheet=...
//得到第一个Sheet的编程模型 VBIDE.VBComponent componentsheet1=book.VBProject.VBComponents.Item(sheet.CodeName);
//测试,添加一行 componentsheet1.CodeModule.AddFromString("'Hello'"); //测试,删除所有行 componentsheet1.CodeModule.DeleteLines(1,componentsheet1.CodeModule.CountOfLines);
//添加代码 componentsheet1.CodeModule.AddFromString(@" Private Sub Worksheet_SelectionChange(ByVal Target As Range) Target.Interior.Color = RGB(222,222,222) End Sub " );
其实就这么简单。生成这个VBA代码,和在ASP.NET中为HTML生成相关的JavaScript的原理差不多。
这个是回答:http://community.csdn.net/Expert/topic/3243/3243216.xml?temp=.3925897
为什么突然会发现某些场合遇到的事情是曾经发生过的呢? 有时候,自己知道这个地方,这个人,这个事情,是以前根本没有接触过的。 但是,为什么感觉会那么强烈? 难道是自己曾经梦过?自己有预知未来的能力?
如果你以为自己有其他人没有的能力,那肯定是在做白日梦。 就如上面的人所说的,小小的CSDN就有那么多人有这样的经历。 其实刚好反映了,要么大家都很正常,要么大家都有超能力。
我的观点却是,这只是体内的一种潜能的突然反映而已。
大家要注意到一点,你是直到事情发生了,你才感觉熟悉。 而你却无法想起后面接着会干什么。你认为并且希望你是有这样的记忆的,但是就是想不起来而已。
其实这是一种错觉,更是一种“马后炮”。
大家都知道我们思想分主观和潜意识。通常,你醒来的时候,主观意识很强。所以潜意识的活动,人自己很难察觉出来的。 而到了睡觉的时候,主观意识基本停止了,这时候潜意识再强烈一些,就能发梦。 不过梦到的东西,都是现实的东西及创新过来的想象。
而在白天,当你做一件事情时,如果潜意识活动突然像打了针那样强了起来, 那么它就会把你眼前的东西记下来。 潜意识的活动你能干预吗?你能知道它在想什么吗? 我想不能。
但是当主观意识再读记忆中的东西时,突然发现,怎么记忆中有眼前的东西? 而且这种记忆很模糊,但是记忆的存在又那么强烈。 (你十分肯定是有这个记忆的,记忆的东西比较弱,不过和眼前的东西是一样的!)
你感觉很神奇啊,于是你又想扫描一下,看看有没有下文。 但是很可惜,没有人能想到下面到底发生什么。 (因为根本没有发生,潜意识也无法帮你记下未来的东西)
这就是这个现象的基本原理。
当然,史上记载很多关于有人梦见什么他将要做的某个事情,于是没有做,而逃过一劫的事情。 不过这个只不过是巧合而已。
几乎人人都发恶梦。但是几十亿的人,只有那么几个遇到刚巧事故真的发生的事情,按概率来说应该还是少了。我觉得应该有成千上万的人能把自己逃过什么劫的事情写成书才算正常。
今天要在 SPS 里做个东西.不过一直都是这个错误:
System.TypeLoadException: 因为格式无效,未能从程序集 CuteChat, Version=1.0.0.0, Culture=neutral, PublicKeyToken=da0fc3a24b6f18ba 中加载类型 CuteChat.ContextBoundModel.AspectObject。 at CuteChat.SPLib.ChatWebPart.WriteInternal(HtmlTextWriter output) at CuteChat.SPLib.ChatWebPart.RenderWebPart(HtmlTextWriter output) in l:\solutions\cutechat\extends\forsharepoint\cutechat.splib\chatwebpart.cs:line 45
呵呵。我实在是不知道为什么会出这个错误的。因为这个类在其他地方完全能正常使用。
当然,测试了一晚也不是说没有结果的。当我修改到web.config的 的时候,情况变了。把WSS_Minimal改为Full并且重启动IIS就解决了。
不过这个错误提示和最后改权限的做法好象没有怎样对应啊。难道是低权限不能继承 ContextBoundObject ?..
看了 关于中文输入的一点小建议 里面的回复。我就装了MSPY2003。
其实我很早就想换微软拼音。不过就是因为一直都有一个很大的问题。(这个问题也就是很多其他输入法的问题)
就是它想智能一点,往往会把它认为你常用的字自动排到前面去(非常没有规律),而且没有提供选项来禁止“这么智能”的动作。
而这样的结果是,一个拼音里有几个字都是很常用的,但是位置却经常换来换去。这真的很多手!
我的一个建议是,在 1 的前面放一个常用字选择。这个字是用空格来选的。这样的话,其他字的编号就不用变了。
还有一点就是按Shift来切换中英文的问题。Shift是很常用的键,被它这么一搞,我很经常搞错中英文输入。这也很麻烦。同样,没有办法设置这个多余的行为。
当然,各人有各人的习惯,为什么就不提供选项去改变它呢 ?
记得我刚出来的时候,还没有学DotNet呢。
那时主要是用ASP和DHTML,语言是JScript 。 本来打算重操旧业-学C++的。
不过写惯了脚本,就十分讨厌C++里操作字符串那么麻烦。所以就做了这个东西。
后来到了2002年11月时,我发现DotNet上手竟然那么的容易。。(我发现里面的东西和JScript,VB是很相似的。。) , 后来就转到DotNet中了。也不继续弄C++了。
所以我一个朋友学C++时,我硬把他拉到 C# 阵营里了。
不过今年过了后,我还是重新补充C++的知识的,毕竟学DotNet多了,需要学其他的东西补充一下。
这一个类体现了我对C++中内存管理的理念。 对于性能,我实在是不太要求。能保证是常规性能的1/4就够了。(总比C#的快吧,JScript的字符串操作都那么慢了,我还不是在用:)
当然,这些都是针对应用程序的角度去用的。 如果要做个被广泛应用的XMLParser之类的东西,当然还是用优化的方法好。
我想知道网上有没有类似的东西,或者开源项目?我比较感兴趣。
我的PASSPORT是很早前注册的。当时可以用我自己的Email地址。
后来我想帮一个朋友注册一个时,发现只能支持 @hotmail.com 了。
今天想上去弄个新的邮箱,发现PASSPORT又支持自定义的邮件地址了。
不过有没有人知道,怎样申请一个 ???@msn.com 的邮箱?
这据说是MS面试的题。
是镜子的成像原理还是眼睛长在两边的?
(注意,"想象你在镜子前"这里说的是生活的情形,也就是一般照镜子时的情形)
不要以为到了DotNet时代就不需要引用计数了。
COM时代的引用计数是兼并资源与内存回收于一体的方案。可惜非常难维护。并且解决不了引用链的问题。
DotNet时代的垃圾回收,只是内存的回收方案。它在回收对象时通过Finalize来通知对象,该收集资源了。可惜这个可能导致回收资源的延迟。。
就好象你Open一个SqlConnection,不Close它,而直接放弃它的引用。那么你就只好等GC收拾它了。可惜一个数据库连接就在回收前白白地浪费掉了。
DotNet提出一个方案,叫 IDisposable 。实现这个接口的类,告诉使用它的人,当你不要我的时候,麻烦先Dispose我。
可惜问题仍然还是在的。你不要这个类,不代表别人不要啊。你把它Dispose掉,那么别人怎么办?
通常,你要Dispose一个对象,一个很充分的理由是,到最后只有你使用这个对象。这需要编程人员很清楚某个对象是不是只有自己再使用。
不过电脑的发展很快啊。各种各样的模式在不断地出。到了某个时候,一个对象哪里来的,到哪里去,还重要吗?
大家认为,计算机以后的发展是不是,“程序员越来越不知道一个模式具体怎么运行的,只知道就按某个的规则做就对了 ”?
就好像这样的编码:{ 往 $TABLENAME 这个表里插入界面上的数据 }
到底 SqlConnection 怎么来的。由谁来释放它已经不重要了。或者它不会被立刻释放,而转给另外一个地方个处理。而且这个步骤极有可能是被某个事务所操纵着的。
可惜程序员不需要理会这个了。他的职责就是把界面上的数据录入到数据库这个事实告诉给编译器。当2004年的你问起这个未来的程序员,那个语句是运行了什么代码。那个程序员就会答你:“我最讨厌写代码的人在我面前炫耀他那低效率的玩意了!” (就好象我们不太喜欢写汇编的人一样)
我目前在写一个叫 Scoping 的东西。这个东西基于 ContextBoundModel 来实现。
它的概念和COM+的Context有点象。不过不是同一个东西。它是基于 Context 的概念实现的。(就好象TcpClient是基于Socket的一样)
它的目标是,在你需要一个对象的时候,它就有。在真正没有人需要那对象的时候,那对象能自动消失。不同的对象/代码在运行的时候得到的所依赖的同一种对象有可能不是同一个实例。例如一个窗口中,左边是简体,而右边是繁体。当然这个也要自动实现。
也就是说 Scoping 努力做到一个框架,这个框架能释放程序员管理相关资源/对象的工作。这一点是和AOP的思想一致的。Scoping算是AOP的一种应用。
到时候,你就不需要知道一个数据库连接是怎么来的了。一个往数据库录入数据的模块不应该关心数据库怎样连上的。它应该专著于:把DotNet数据转化为SqlParameter然后执行语句。
但是目前的难题,就像文章所说的,就是资源引用问题。一个方法被执行后,假如外界环境知道某些资源是在方法中自动创建的,那外界环境怎样知道方法执行期间,是否有其他的对象仍然使用这个资源? (例如虽然方法返回了,仍然有异步调用的代码在使用着那些资源)
或者我要用引用计数的办法了。但是我希望能得到好的建议。谢谢。
从各公司的招聘的题目看来,好象算24是一个经典的题目。
这个是我出的:
9962,7733,7744,1456,1346
星期二公布答案.
系统是 Windows2003StandardEdition . 但是遇到两个问题:
一: IIS 网站/目录/文件 的属性框刚打开就立刻非法操作。
二: MSN Messager 无法登陆。
所有的补丁都打完了。
有没有人遇到过?有没有好的解决方法。