eureka 的头像

恢复Windows 7 中丢失的图标

使用Win 7 经常会出现这样的情况,明明软件没有问题,但桌面图标却不显示了,大大的影响了桌面的美观,而且反复的重启和注销也解决不了问题。这的的确确是目前Win 7存在的一个Bug,但这个Bug我们可以手动解决掉!

首先进入 控制面板(或者组织->文件夹搜索选项)——文件夹选项——查看——(取消勾选)隐藏受保护的操作系统文件(推荐)——(单选)显示隐藏的文件、文件夹和驱动器——确定

启动WinRAR或者360压缩。

启动任务管理器——进程——找到explorer.exe——结束进程

在压缩软件(WinRAR或其它压缩软件)地址栏输入C:\Users\用户名\AppData\Local——回车——找到IconCache.db并删除(注意用户名为您计算机上实际用户名)

回到任务管理器——文件——新建任务——explorer.exe——确定

还原文件隐藏

至此,你丢失的图标文件就回来啦!

eureka 的头像

如何利用EdmGen 在Visual Studio 2010中实现PostgreSql的实体框架设计.

   ADO.net实体框架已经成为微软数据访问处理方案中的首选方案了,但是Visual Studio 2010中若使用实体框架,则只支持Sql Server的生成和更新。虽然Ado.net实体框架也支持Oracle,Mysql,PostgreSql等数据库,但是不能通过 VS2010生成,必须通过第三方提供的软件进行。举例PostgreSql来说,我们可以安装Devart Software提供的DotConnect for PostgreSQL,安装好后就可以使用PostgreSQL的实体框架生成了。但DotConnect for PostgreSQL是收费软件,安装后超过使用期后开发的软件就会报过期异常,而免费版的 DotConnect for PostgreSQL经我测试并不支持实体框架的生成。那么有没有更好的直接利用开源软件实现实体框架模型的 生成的,以下就是我利用开源的npgsql实现PostgreSQL实体框架的过程:

odds 的头像

巧记世标麻将番种(据世界麻将组织颁布的《麻将竞赛规则》)

在网上能找到“巧记中国麻将番种”的文章,写得挺好,但有些地方我觉得不够押韵,并且有许多字词错误,而它的番种也是根据“国标麻将”来的(同世标有在明暗杠记算上有一点点不同,世标规则详见这里)。因此我又重新组织了文字,修正了一些字词错误,并且根据世标规则进行了修正,使番种记起来更顺手一些。

花自单钓喜相逢(花牌、自摸、单钓将、喜相逢),
坎缺无边明幺九(坎张、无字、边张、明杠、幺九刻),
老少连六一般高(老少副、连六、一般高),
一番分数容易要。

暗断平和四归一(暗杠、断幺九、平和、四归一),
双同双暗圈箭门(双暗刻、双同刻、圈风刻、箭刻、门风刻),
门前两番不放弃(门前清)。

绝张和了双明杠(和绝张、双明杠),
全带幺来不求人(全带幺、不求人),
四番分值也平平。

三色三步双箭刻(三色步高、双箭刻),
碰碰混一五门齐(碰碰和、混一色、五门齐),
全求人来六番易(全求人)。

eureka 的头像

基于本体的软件设计方法

  这是我在浙江大学写软件工程硕士论文的核心内容,虽然答辨(我女儿以为是大便)老师叫我把这些内容要去掉,但我坚持把它写在里面,内容如下:

  基于本体的软件设计方法的价值观认为软件开发过程最核心内容为“寻找软件需求的本质”即“本体”,并用“最快的方法开发出软件产品”,即“软件最终源代码”。
  
  软件开发的核心工作只有两个,即“构建本体概念”“开发最终源代码”,其它任何文档、环境、过程均为这两个工作服务,起辅助作用。

基于本体的软件设计方法过程概述如下:

  1. 对于任何软件开发,首先构建软件“开发对象的本体概念”。
  2. 构建本体概念可以使用W3C推出的WOL(网络本体语言)规范进行,可以利用象Protégé这样的设计软件进行。

eureka 的头像

“复数”之罪和软件开发中“本体”概念的应用

  英文中名词会有一个“复数”的概念,英文为“Plural",其复数为“plurals”(真是复数的复数呀!),例如"boy"的复数形式为“boys",并且由于拼写等等原因很多单词的复数并不是简单的加一个“s”了事,这是每个学过英文的人都知道的事!给我们这些本来撑握方块字的人学习英文的人带来很多的麻烦,必须去记忆各种单词的复数形式,这也算是复数的罪孽了!而中文并没有所谓“复数”的概念,如果要表示复数这个本体意义,我们一般都加一个“们”字就行了,如“男孩”的复数意义为“男孩们”。然而,“男孩”这个单词本身就会指一类人,对于中文来说根本无需考虑这个单词的单复数意义。

  如果要改革语言,也许我们可以用中文的思想把英文的复数给“革命”了,但这是不可能的,因为语言就象我们使用的“键盘”一样,虽然它有很多不足之处,但已经成形,已经成势,若要改革那只有“上帝”去重新造一遍这个世界了。然而在这个世界里现在很多人都在使用一种叫“编程语言”的东西。就象我使用C#,她使用Java一样。在使用这些语言的时候我们都会跟各种名词打交道,跟名词打交道时我们就会用到“复数”概念!

eureka 的头像

“易则易知,简则易从”和对象健身操

我在乾坤简易之道与软件开发方法论讲了《易经》中已经讲到了软件开之道,最近又看了一本薄薄的书《软件开发沉思录--Thought Works 文集》,里面有Jeff Bay的一篇短短的,名叫“对象健身操”,论述了九步迈向优秀软件设计:

odds 的头像

德州扑克进入世界智力奥林匹克运动会,麻将还会远吗?

   详见IFPoker.org的报导,参见:维基百科关于IFP词条以及SportCal.com报导,国际智力运动协会(IMSA)已经接受了国际扑克联合会(IFP)之前提出的入会申请,这也就意味着德州扑克已经和国际象棋,围棋和桥牌一样,成为了国际智力运动协会的项目之一。IFP是上一次在迪拜于年会中提出来将德州扑克纳入IMSA的,而IMSA的已有项目包括大家早就非常熟悉的国际象棋,围棋,桥牌,国际跳棋等等。 在官方宣布此消息后,IFP主席Anthony Holden 他说这是 "这是我们推广德州扑克是一项技术性主导的游戏一次里程碑意义的胜利。

eureka 的头像

远程惯了,遇到刻录时想都没想到的问题

  电脑中或人事中,问题本来很简单,然而我们会因为犯下一个小错误,从而使问题越来越复杂化,甚至有可能造成更严重的错误……
  家里几台电脑,前几天将另一台电脑给装了Windows 7,然后用远程在使用。因为那台机器上装了刻录机,我知道Windows7本身就是支持刻录的,所以也没想装任何刻录软件,前几天下载了Office 2010的iso软件,准备刻一张DVD。Windows 7本身就支持iso文件直接刻到光盘上的,右键点一下,“刻录光盘映像”……光盘刻录机选项内既然没有刻录光驱选项!!
  难道是我操作有误,少了哪个步骤?于是到网上去搜,搜来搜去,好象没什么问题呀!
  那我想,肯定是驱动没装好。于是去找驱动,可是找来找去,好象驱动Windows 7本身就支持,跟本不需要再装的!
  那么还是找出我原来光驱带的驱动光盘吧,可时放进去左瞧又瞧,还是没有找到驱动。光盘上带的软件我实在是不想装。就去看说明,也明摆着说连XP都直接支持的。

eureka 的头像

微软程序插件式应用开发(管线开发,AddIns)及其复杂性

  管线开发是微软.Net FrameWork中标准的插件开发方法,按理说它的目的是简化插件式开发,但我觉得它并没有简化,而是显得更复杂化了。除了恼人的视图开发、适配器开发以及目录约定等规则以外,还要更加烦人的调试问题。昨天就遇到一个叫人抓狂的Bug,在首个插件开发完全成功的情况下又进行了几乎完全一样的一个插件开发过程,结果出现了"Unable to cast transparent proxy to type"错误,并且几乎没有任何让可识别的错误,差不多经过整整一天的各种修改也没有找到错误的根源。

  然而,越是找不到Bug根源,越是想要把它找出来,越是想把它找出来,又越是找不出来,越找不出来就越是抓狂,越是想把它找出来!差不多已经把所有程序代码回退到最简单的状态了!把人急得不行了,并且夜已经很深了,还是上床睡觉先,结果还越想越睡不着。本来这管线开发这么复杂我完全可以不用它,而现在为了一个Bug,反而把我拖进入泥潭中了。一大早起来继续攻关!真真没想到的既然是因为“协定”组件存在于“缩主”程序集目录下的原因!!这个原因导至的是根本无法识别的错误!并且由于管线开发附带了一大堆的组件,根本无法调试到底哪个组件出了问题以及出了什么问题!

eureka 的头像

Design By Contract 及思想永存

  如果您使用Visual Studio 2010并且使用.net framework 4.0,则在项目属性中可以看到Code Contracts这个选项,Code Contracts源自于Design By Contract,由于Desing By Contract已经被Eiffel注册,因此我想微软就换个名称叫Code Contracts,而其思想却来自于Deisgn By Contract,我今天终于找到了这本七年前由人民邮电出版社出版的《Desing By Contract 原则和实践》书。在多年前面向对象大师Ivar Jacoboson访华时参《程序员》杂志所说“我认为Bertrand Meyer的方向“Design by Conract”是正确的方向,我们都会沿着他的足迹前进,我相信,大型软件厂商(微软,IBM,当然还有Rational)都不会对Bertrand Meyer的成就坐视不理。多年以后,Rational已被IBM收购,而微软在其最新版的开发IDE平台Visaul Studio 2010中终于把Meyer的思想构建进去了!本来,计算机软件和编程,都是旧书不值得看。但这样的书不一样,值得回味。另外,还想起一本书,中文版《设计模式——可复用面向对象软件的基础》由机械工业出版社于2000年9月出版,已经有近十年。

页面

Subscribe to 易易部落 RSS