莫小乖's profile从善如流?上善若水PhotosBlogLists Tools Help

Blog


    November 30

    Windows中删除顽固文件让你不再心烦(zz)

      在我们使用Windows的过程中,会遇到各种各样的问题。即使是最简单的删除文件也可能遇到麻烦,要么系统提示“文件正在被另一个人或程序使用”,要么就是报告“访问被拒绝”(如图1)如果你也遇到过这种情况,不妨看看本文。
        
      原因一:文件正在使用中
      
      在删除文件时,经常会遇到的一个问题是,文件正在使用,无法删除。如果试图删除以独占访问而不是以共享访问方式打开,并且正在使用中的文件时,系统就会出现错误提示:“无法删除###:文件正在被另一个人或程序使用”。而另一种情况则是,能够使用删除命令删除文件,但在打开文件的进程释放该文件之前,文件实际上并未删除。
      
      要解决上述问题,需要确定拥有文件打开句柄的进程,然后关闭此进程。在以前的Windows中,我们可以使用资源工具包的Oh.exe。但在XP中,安装好的Support Tools却不带Oh.exe。不过,XP提供了一个新的Openfiles.exe命令行工具,它能够报告进程打开的各个文件。与Oh.exe相似,Openfiles.exe也要求打开系统内核监视,这会消耗一些内存,并降低系统操作的性能。打开系统监视的命令是“Openfiles /local on”,它会启用系统全局标志“维护对象列表”,需重新启动系统才能生效。重新启动系统后,在命令提示符下执行不带参数的“Openfiles”,即可看到各个进程打开文件的清单(如图2)。
        
      原因二:文件系统损坏
      
      磁盘上的坏区、其他硬件故障或者软件错误都可能会损坏文件系统,使文件出现问题而无法删除。典型操作失败的方式可能各不相同,当检测到文件系统损坏时,通常会收到一条提示运行Chkdsk的信息。
      
      如果遇到这种情况,可以在磁盘卷上运行Chkdsk实用工具以纠正任何存在的错误。根据损坏的性质,Chkdsk也许能够恢复文件数据,也许无法恢复,但Chkdsk可以使文件系统返回到一种在内部一致的状态。有关Chkdsk实用工具的命令及参数,可以在命令提示符下执行“Chkdsk /?”查阅。
      
      原因三:文件使用了存取控制列表
      
      如果某个文件使用了存取控制列表(Access Control List,简称ACL),而操作者又没有相应的权限,那么删除文件时就可能出现“访问被拒绝”的提示(如图3)。
      
      通常情况下,管理员具有取得任何文件所有权的隐含能力,文件所有者也具有修改文件权限的隐含能力。不过,这些默认的权限是可以被修改的。
      
      要解决因ACL导致文件无法删除的问题,就必须以具有相应权限的用户身份登录,或者是赋予自己删除文件的权限,然后才能删除文件。要注意的是,操作者必须拥有这些文件的所有权才能更改权限。如果是因为文件使用了不规范的ACL而不能使用某些安全工具显示或修改其权限时,可以尝试使用命令行工具Cacls.exe进行修改。
      
      原因四:文件名使用了一个保留名称
      
      众所周知,像AUX、LPT1这样的名称是为旧式DOS设备保留的。为了向后兼容,在Windows中不允许使用这些文件名,也不能使用典型的Win32文件调用来创建它们。反之,如果文件名是Win32命名空间中的一个保留名称,则同样可能无法删除此文件。
      
      要解决此类问题,可以在Linux或其他非Windows的操作系统下重命名或删除该文件。另外,如果能够使用特定的语法指定到该文件的路径,也可以使用一些内置的命令绕过典型的Win32保留名称检查。例如,在Windows XP中使用以下命令,可以删除名为“lpt1”的文件(Del命令后面加上“\\?\”来避免Windows检查文件名的合法性):
      
      Del \\?\c:\文件路径\lpt1
      
      原因五:无效的文件名称
      
      如果文件名中包括一个无效名称,例如文件名有一个尾随空格,或一个尾随句点,或者文件名仅由一个空格组成,同样可能无法删除该文件。值得一提的是,如果使用典型的Win32语法打开名称中有尾随空格或尾随句点的文件,则尾随空格或句点在打开实际文件之前会被去掉。因此,如果在同一个文件夹中有两个分别名为“File.txt”和“File.txt ”的文件(注意第二个文件名后面的空格),当使用标准Win32调用打开第二个文件时,实际上会打开第一个文件。同样,如果文件的名称仅是“ ”(一个空格字符),当尝试使用标准Win32调用打开它时,实际上会打开该文件的父文件夹。在此情况下,如果尝试更改这些文件上的安全设置,就有可能会意外更改其他文件上的设置。
      
      与解决文件名使用保留名称的方法类似,可以使用一种适当的内部语法删除此文件。例如要删除包含尾随空格的文件,可以使用如下命令:
      
      Del \\?\ c:\文件路径\(尾随空格的文件名)
      
      原因六:文件路径太深无法访问
      
      文件位于比最大路径字符数(MAX_PATH)更深的路径中,可能导致文件无法访问,当然,这种情况较为少见。如果路径深的原因是文件夹名称太长,最简便的解决方案是使用自动生成的8.3名称访问该文件。如果8.3路径也太长,可以从根文件夹开始重命名文件夹,缩短它们的名称,以使目标文件的路径深度不超过MAX_PATH。若是文件的深度超过128个文件夹,可以通过创建一个网络共享,使其位于文件夹树中尽可能深的位置,然后通过访问此共享来访问文件。
      
      一般情况下,如果遇到因文件路径太深无法访问的情况,可以通过使用创建文件的软件来管理这些文件。也就是说,如果有一个程序,它可以创建超过MAX_PATH的文件,则我们也可以使用该程序来管理这些文件。此外,对于通过网络共享创建的深层次结构的文件也可以通过使用同一共享来进行删除。
      
      前面介绍了Windows系统中文件或文件夹无法删除的几种原因以及解决的方法。在某些情况下,可能还会遇到上述各种原因的不同组合,使得删除文件的过程更加复杂。这就需要读者能够举一反三,灵活应用微软提供的各种实用工具进行解决了。
      
      原因七:Windows XP中删除AVI文件的问题
      
      很多朋友可能会遇到Windows XP中无法删除AVI文件的问题,这主要是由于Windows XP视频预览功能的Bug所导致的。你可以尝试用以下方法进行删除。
      
      方法一 在运行命令框中输入“Regsvr32 /u Shmedia.dll”并回车,卸去Windows XP的视频文件预览功能。当以后想要恢复视频预览功能时,再使用“Regsvr32 Shmedia.dll”命令重新注册即可。
      
      方法二 先打开命令提示符窗口,然后在任务管理器中结束Explorer进程,再从命令提示符窗口中切换到保存视频文件的文件夹下,用Del命令删除文件。
      
      方法三 如果安装了双系统,可以从另一个系统,如Win98下进行删除。
     

     
    必要时刻卸载dll还是挺管用的....
     

     
    2006-11-30
    November 29

    软件开发资料(zz)

    一.常用的分析工具:

    测试工具:ATTOL UniTest、C++ Test、MTE、CodeTest;
    覆盖率:ATTOL Coverage、PureCoverage、TrueCoverage;
    内存检测:Boundschecker、PURIFY;
    静态分析(结构):Mccable、Logiscope、Hindsight;
    静态分析(语法):PC-lint、CodeCHK、CheckMate;
    WEB压力测试:Web Express;
    设计工具:UML、Rose、Visio、PowerDesigner;
    编程工具:SourceInsight;
    版本控制:VSS、Beyond Company

    二.软件开发文档和方法:
    (一)传统软件工程(瀑布模型)
    1.问题定义
    讨论要解决的问题,做一份书面报告即可。
    2.可行性研究
    研究问题的范围,探索这个问题是否值得去研究。
    需要做的主要工作有:
    a. 导出问题定义阶段的高层逻辑模型(通常用数据流图表示[1]),物理系统也可以用系统流程图表示),如有需要须初步定义一些数据字典[2];
    b. 并且做成本/效益分析。
    3.需求分析
    确定目标系统必须具备哪些功能。必须准确完整的提出系统逻辑模型。
    需要做的主要工作有:
    a. 划分出系统必须完成的所有功能;
    这部分包含需要将功能用文字表达出来,可用层次方框图和Warnier图。在描述模型之间的关系时,可用ER模型来表示,再用范式来消除冗余。

    b. 根据以上结果导出系统详细的逻辑模型可用数据流图、数据字典和主要处理算法描述(这个主要处理算法可用IPO图来画)
    4.总体设计(概要设计)
    划分出组成系统的物理元素——程序、文件、数据库、人工过程和文档等。设计软件的总体结构,确定系统中每个程序由哪些模块组成,以及这些模块相互间的关系。
    需要做的主要工作有:
    a. 功能分解;
    这部分工作含结构设计(主要是模块的划分,可用层次图或结构图描述,可用数据流图来分析)和过程设计(每个模块的处理过程,可用IPO图)

     b. 如有数据库,则需进行数据库设计和优化。(推荐使用PowerDesigner)
    c. 制订测试计划

      5.详细设计
    将每个模块中的处理过程细化。
    需要做的主要工作有:
    a. 描述模块中处理过程;
    可用程序流程图、盒图、PAD图、判定表、判定图,或者用伪代码来表示(可用Visio来作图),可描述其中的复杂度。
    6.编码与单元测试
    编码(略)。
    测试:黑盒测试——功能测试;白盒测试——结构测试;
    单元测试即模块测试,在这个测试步骤中所发现的往往是编码和详细设计的错误。
    需要做的主要工作有:
    a.编写测试案例文档
    7.综合测试
    编写测试案例和文档
    8.软件维护
    (二) 面向对象的方法
    1.概念和摘要
    瀑布式生命周期的缺点表现在三个方面:<1> 后期的变化、迭代、改动困难 <2> 不支持重用 <3> 没有一个联系各个阶段的统一模型。
    使用面向对象方法学开发软件时,工作重点应该放在生命周期中的分析阶段。通常需要建立三种形式的模型,分别时描述系统数据结构的对象模型,描述系统控制结构的动态模型和描述系统功能的功能模型,所以核心是建立对象模型——面向对象的建模(当前常用的建模语言是UML)。
    在面向对象分析过程(OOA)中,构造出完全独立于实现的应用域模型(需求分析);在面向对象设计过程(OOD)中,把求解域的结构逐渐加入到模型中(概要设计和详细设计);在实现阶段,把应用域和求解域的结构都编成程序代码并进行严格的测试验证(编码测试)。测试一个OO系统是另一个需要进一步研究的课题。发布一个稳定的原型需要不同与以往控制结构化开发的产品的配置管理。
    为改善面向对象开发的可管理性,玻姆(Boehm,1988)提出了一个结合了宏观和微观视角(macro & microview)的螺旋开发模型。宏观包括3个阶段:1分析---发现和识别对象;2 设计---发明和设计对象;3 实施---创建和实现对象。每个宏观阶段都包含一些微观迭代活动。
    无论何种复杂程度的工程项目,设计都是从建模开始的,设计者通过创建模型和设计蓝图来描述系统的结构。(Rational Rose)
    2.设计的三层结构
     客户机/服务器体系结构的广泛使用预示了系统复杂化的发展趋势,为了解决这一问题,与之相应的三层结构方案(three-tiered)越来越得到了广泛的应用。
     传统的两层结构不是"胖客户机"就是"胖服务器",胖客户机结构将事务处理原则在用户端处理,胖服务器则将之与集成在数据库中,大量的数据流动为维护和编程带来了极大的困难,而且,其中包含的事务处理原则不能与其它应用共享。
     三层结构方案是指由用户接口层、事务处理原则层和数据层的应用模型。与传统的两层结构相比,它有着更多的优点:
    1).对应用结构任意一层做出修改时,只对其它层产生极小的影响。
    2).固有的可塑性,三层既可共存于单机之中,也可根据需要相互分开。
    3).公用代码数据库使事务处理规则在系统中共享。
    3.采用面向对象技术设计系统的步骤
    a. 描述系统需求;
    b. 根据需求建立系统的静态模型,以构造系统的结构;
    (——以上两步建立的模型都是静态的,包括用例图、类图(包括包)、对象图、组件图和配置图,是UML的静态建模机制。)
    c. 描述系统的行为;
    (——所建立的模型或者可以执行,或者表示执行时的时序状态或交互关系。它包括状态图、活动图、顺序图和合作图等4个图形,是UML的动态建模机制。)

      需求分析阶段——可以用用例图来捕获用户需求。通过用例建模,描述对系统感兴趣的外部角色及其对系统(用例)的功能需求。
     系统分析阶段(概要设计)——主要关心问题领域中的主要概念(如抽象、类和对象等)和机制,需要识别这些类一起它们相互间的关系,并用UML类图来描述。为实现用例、类之间的协作,可以用UML动态模型来描述。在此阶段,只对问题域的对象(现实世界的概念)建模,而不考虑定义软件系统中技术细节的类(如处理用户接口、数据库、通信和并行等问题的类)
     系统设计阶段(详细设计)——为构造阶段提供更详细的规格说明。
     4.Rose概述
     Rose模型的四个视图是Use Case视图 、Logical视图、Component视图和Deployment视图。每个视图针对不同对象,具有不同用途。Use Case视图包括系统中的所有角色、案例和Use Case图,还包括一些Sequence图和Collaboration图。
     Logical视图关注系统如何实现使用案例中提到的功能。它提供系统的详细图形,描述组件间如何关联。除其它内容之外,Logical视图还包括需要的特定类、Class图和State Transition 图。利用这些细节元素,开发人员可以构造系统的详细设计。
     Component视图包括模型代码库、执行库和其它组件的信息。组件是代码的实际模块。Component视图的主要用户是负责控制代码和编译部署应用程序的人。有些组件是代码库,有些组件是运行组件,如执行文件或动态链接库(DLL)文件。
     Collaboration图关注系统的部署,可能与系统的逻辑结构不同。整个小组都用Collaboration图了解系统部署,但用户是发布应用程序的人员。
     Rose的九种图
     用例图use case diagram,描述系统功能
      类图class diagram,描述系统的静态结构
      对象图object diagram,描述系统在某个时刻的静态结构
      序列图sequence diagram,按时间顺序描述系统元素间的交互
      协作图Collaboration diagram,按照时间和空间顺序描述系统元素间的交互和它们之间的关系
      状态图state diagram,描述了系统元素的状态条件和响应
      活动图activity diagram,描述了系统元素的活动
      组件图component diagram,描述了实现系统的元素的组织
      配置图deployment diagram,描述了环境元素的配置,并把实现系统的元素映射到配置上
     根据它们在不同架构视图的应用,可以把9种图分成:
     用户模型视图:用例图
     结构模型视图:类图、对象图
     行为模型视图:序列图、协作图、状态图、活动图(动态图)
     实现模型视图:组件图
     环境模型视图:配置图
     UML建模过程笔记
     首先,要区别视图和图的区别,视图是由很多图组成的,不同的视图可以用来描述同一系统的不同方面,从而更好的来描述系统。而图是由各种图片组成的,可用来组成视图
     视图包含:用例视图(Use-case View)
     逻辑视图(Logical View
     组件视图(Component View)
     并发视图(Concurrency View)
     展开视图(Deployment View)等等。
     图包含:用例图——1
     类图
     对象图
     状态图(侧重对象状态的描述)——2
     序列图(侧重于交互的时间顺序的描述)
     协作图(侧重于涉及到的对象空间关系的描述)
     活动图(侧重于交互动作的描述)——3
     组件图
     展开图
     描述用例内容的一般是用例图和活动图(比较正式的结构)
     UML中实现用例的基本思想是用协作来表示用例,而协作又被细化为若干个图(协作图、序列图、活动图),通过描述类、对象之间的关系来描述交互功能。
     类图是构建其它图的基础,没有类图就没有状态图、协作图等其他图,也就无法表示系统的其它各个方面。类与类之间的关系有关联、通用化(继承)、依赖、精化。
     关联:描述类与类之间的连接,即"彼此知道,相互通信";
     含:普通、递归、限定、或、有序、三元、聚合等七种


    格式真难看……

    walkerun.chen
    2006-11-29
    November 11

    Say BYE

    有点依依不舍的, 嗯
     
    MSN帐号: walkerunner@hotmail.com 在未来的日子里仅用于工作; 请各位狐朋狗友积极添加: walkerun@live.com 做为你的新联络人:)
     
    我好像已经广播过了是不是? 哈哈:D
     
    随着新帐号的使用, 这个SPACE也随之悄然归隐. 可能没办法像之前一样更新; 不过, 也不排除偶尔诈尸一下, 嘿嘿.
     
    最后, 各位朋友, 乖会想念你们的.
     
    记得加我新MSN yo~
     
    --
    WALKeR @GMail
    November 10

    更换MSN

    请通过她的请求或者把她加入你的好友哈:P
     
    ======================
     
    这句话宣传好几年了ms....
     
    不知能否把space过继给新MSN嘞....?
     
    @@
     
    其实也没事儿
     
    反正我有邮件更新
     

    抢注

    ms不大HD啊, 在M$的地盘上说这个
     
    hmmm....偶想说的是, @live.com可以注册了, 详情请见cnbeta:
     

    于是....今儿出现了:
    hiahia 继续想 看看还有什么? :D


    --
    WALKeR @GMail
     
    November 07

    听说space邮件更新功能fixed

    撰文为贺
     
    ------------------------------------------
     
    难得碰到刘小托, 能说出什么话来可想而知....
     
    中国人习惯庆贺"百日", 于是我们决定庆祝"百乘百日"....
     
    check了下, 2011年4月4日
     
    遂敲定去八宝山扫墓纪念, hmmm
     
    ------------------------------------------
     
    话说 今儿是3*校园招聘北航站
     
    跑过去了
     
    发现要学生证才能进
     
    掏出红本本一晃~
     
    门口小弟被闪晕
     
    趁机钻进去 前排就座
     
    暗爽
     
    一会儿出去打电话 让旁边一同学帮瞅点儿包
     
    没注意校徽别在上面....
     
    回来后 被问: 你是中科院的?
     
    尴~~~~尬....= =
     
    ------------------------------------------
     
    话说
     
    今儿收到短信: 生日快乐
     
    ....
     
    考虑再三, 认真回复道:
     
    谢谢:)
     
    ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................

    --
    WALKeR @GMail
    November 04

    ViG.plus

    zj刚说他想要自定义头衔ViG, 意思想来大家都心知肚明;
     
    偶个人建议他使用eViG
     
    理由1:
    e可以理解为"extremely", 百尺竿头更进一步
     
    理由2:
    eViG可以理解为"GiVe"的逆序; give是给; 给是唯一一个与GAy谐音的汉字;
     
    ....
     
    朕赐名: ViG.plus
     
    请呱唧呱唧

    报告之所以为报告

    BG
      释义:“报告”一词的缩写,是请客吃饭的意思。
      这个词的来历据说是这样的:请客的人拿着菜单点菜的时候,很像拿着报告书做报告。而旁边的服务员一边听一边写,像作记录,旁边的客人听着,点头或者摇头,赞同或者反对,整个过程像在听报告,所以,后来请客吃饭慢慢演化成了“听报告”。而要求其他人“作报告”的行为则被称为“敲报告”。如果一个人敲到了“报告”,经常会有一大堆人跳出来要求“旁听”。

    这个是转的; 不能太对不起人家原作者, 附送点儿乖手写体词条.
    太寻常的就不说了, 小乖点拨的都是新鲜玩意儿, 或者旧瓶新酒~
     
    8G
    8G的八卦本质体现得应该说比较清楚; 本来缩写应该也是....呃咳! 但是! 一山不容二虎, 这亲哥儿俩也得分个高下才是. 唉! 华人信奉的都是"民以食为天", 可怜那打周文王时代便开始展现旺盛生命力并一路沸沸扬扬传到今儿的八卦以微弱差距惜败于温饱大业, 只得以谐音+近形的"8"来替换之.
    委屈了您~
    PT
    其实提到BG就不能不说PT, 这俩虽然不是一母所生, 却比联体还亲近: 只要你大喝一声: 我要BG啦! 必然有一群人跟后面声援: 申请PT! 正所谓"千年王八万年龟, 一次BG来一堆...."
    不过小乖奉劝您慎用这词儿. 因为PT除了含有"旁听"的意思, 同时也是"平摊"的缩写; 万一人家BG人给按后者解读....那BG不就转性成FB了么....laf
    XY
    自打出现"拼音缩写造词法"之后, 各式各样的符号如同雨后春般不断冒尖. 这就是其中之一.
    似乎源于教工之家? XY者, 炫耀也. 以索夫和踹老大为首的校园中产阶级有意无意的"臭piǎn", 范围从衣食住行到各种电子设备那叫个一应俱全, 令我等挣扎在贫困线上的穷书生口水不已; 而他们发出的以刺激学生们脆弱心灵的文字则有个共同的烙印: XY帖....
    XH
    本来犹豫了下这个要不要写....它面对范围有点儿窄. 不过考虑到我也曾为"XH是谁?"苦恼半天, 其郁闷程度不亚于为某火腿肠打广告的李冬宝同志, 还是描一下吧.
    XH者, 小红也. 这是FiTer的专利, 因为在FiT, "红包"属于禁语(具体怎么禁的请自行揣摩), 于是....敲FiT币的重任就落在小红头上了....怎么样? 没意思吧....@@
    = =
    这个表情符号拎出来, 表示小乖对它非常重视.
    具体出处? 大概是漫画吧....
    phd
    跟博士好像没啥关系; 这里指代联盟某著名包子. 因为兴奋, 俩眼瞪得溜圆, 满溢着兴奋和幸福的神采. 颜色搭配粉和谐.
    CB
    尽管"我们都是北方人"(借鉴来的....), 还是应该照顾不少地区的同志们: 很多输入法也有模糊音的设置嘛~
    请坦荡的高呼: 我CB莫小乖!!!!
    谢谢~!
    MP
    如果增加前缀P, 则是小朋友们不应该效仿的行为; 其实MP本身是很纯洁的.
    养过金鱼的小朋友应当都有看到它们吐泡泡的体验. 晶晶亮亮晶晶的泡泡从水底飘起来, 顺便搅扰下原本平静的水面. -- 嗯, 冒泡追求的就是这个效果, 在鸦雀无声万马齐喑的状况下大喝一嗓子: 别见我不吭气就当我不存在~! 哼哼!
    errr....因为小乖不混猫扑....所以....别找偶要MP哈....@@

    先到这儿吧, 想到好玩的再补哈~
     
    @十全大补乖
     

    七日之后

    白萝卜炖排骨
    白萝卜有赛人参之美称,可见其营养丰富,且有滋补润心、通气活血之功效,小儿伤风感冒、咳嗽吐痰,吃此菜(或喝汤)后,可立见功效。
     


    原料:
    猪排1000克,白萝卜500克,葱段、姜片、料酒、花椒、胡椒面、盐各适量。

    制作:
    1、猪排剁成小块,入开锅中焯一下,捞出用凉水冲洗干净,重新入开水锅中,放葱、姜、料酒、花椒面,用中火煮炖90分钟,捞出去骨;白萝卜去皮,切条,用开水焯一下,去生味。
    2、锅内煮的排骨汤继续烧开,投入排骨和萝卜条,炖15分钟,肉烂、萝卜软即成。

    特点:
    有萝卜清香味,排骨肉好吃,汤鲜好喝。

     
    偶的想法:
    1. 积压的红酒代替料酒; 记得加点儿醋
    2. 扔两块香菇吧?
    3. 蘑菇精有用武之地了!
    4. 千万不能放胡萝卜....@@
    November 01

    backup

    谨以此QMD沉痛悼念乖逝去的自定义头衔....

    --
    WALKeR @GMail