摘要:
一般学汇编先学计算机组成原理,重点掌握内存寻址,和cpu基本原理。至于总线、接口等概念可以掠过,用到时在查阅。学习的目标是了解原理,所以,如果有重点的认真看书的化,最少要用4个小时。如果你大概知道堆栈、偏移地址、寄存器的结构这些概念,就足矣正式开始学习汇编了。以下是我给你的建议:★学习汇编不要求新,一本经过时间考验的教材往往能带你进入汇编的殿堂。★不同于其它语言,汇编有很多... 阅读全文
摘要:
我承认,这个标题很沉重。我有幸使用了一个开源的项目作为小范围内的二次开发应用。这个项目其实是挺大的,开源代码仅是其中一部分,在二次开发中我对源代码作了一些改进,都是一些必要的改进以及发现的BUG;这些BUG在后续的开源参与者一一修复。我想说的是重构过程中的一些小问题。 一、如果你决定重构代码,特别是别人的代码,最好对整个项目有一个清晰的认识,最好记得哪些代码运行在哪些文件中的哪一行里(基于没有BU... 阅读全文
摘要:
使用频率 所属类型 模式名称 模式 简单定义 5 创建型 Singleton 单件 保证一个类只有一个实例,并提供一个访问它的全局访问点。 5 结构型 Composite 组合模式 将对象组合成树形结构以表示部分整体的关系,Composite使得用户对单个对象和组合对象的使用具有一致性。 5 结构型 FACADE 外观 为子系统中的一组接口提供一致的界面,facade提供了一高层接口,这个接口使得... 阅读全文
摘要:
1. 创建子程序的正当理由 1.1.降低复杂度可以通过子程序来隐藏一些信息,主程序中就不再考虑这些信息。如果内部循环层次太深,就意味着需要从子程序中提取新的子程序,把嵌套的部分提取出来形成一个独立的子程序,可以降低外网子程序的复杂度。1.2.引入中间易懂的抽象把一段代码放入一个命名恰当的子程序内,是说明这段代码用意最好的方法之一。If(node <> null) then While(... 阅读全文
摘要:
1.计划的制定:包括客户选择的项目大小、程序功能的优先级、各个版本的合成和发布日期。2.小版本:用最少的代码工作量带来最大的业务价值。3.简单设计:通过所有测试,没有重复和费解的逻辑代码,简单的设计能保证代码的简单。4.测试:一个功能存在的前提是有一个测试能够验证它,任何有被破坏的可能的代码就必须有一个对应的测试。5.持续整合:大量减少在整合中耗费的时间,减少团队开发问题。6.重构:确保加入新功能... 阅读全文
摘要:
事务准备接受不一致数据的级别称为隔离级别。隔离级别是一个事务必须与其它事务进行隔离的程度。较低的隔离级别可以增加并发,但代价是降低数据的正确性。相反,较高的隔离级别可以确保数据的正确性,但可能对并发产生负面影响。应用程序要求的隔离级别确定了所使用的锁定行为:数据库在被广大客户所共享访问的操作过程中很可能出现以下几种不确定情况 :1. 更新丢失(Lost update):两个事务都同时更新一行数据但... 阅读全文
摘要:
1. 从1开始 至 任意值 linenum parseInt(Math.random()*上限+1); 2. 从任意值开始 至 任意值 linenum parseInt(Math.random()*(上限-下限+1)+下限); 上面的公式使用了 parseInt(), 因此要加1; 如果使用 Math.ceil() 则不需要加1, 习惯于这样写... 1. 示例1 (直接进行生成随机数操作) li... 阅读全文
摘要:
客户需要一个 web 打印功能,搞了两天也没搞定。在网上找到了 pazu 打印控件,如遇救星。那就简单说说。 首先,客户需要点击按钮,直接打印。打印前需设置好页边距,页眉页脚,打印机,纸张,分页等。 通过 pazu 控件,使用 javascript 代码设置属性即可。 要使用 pazu ,只需加入如下代码,按提示安装 activeX 控件即可。 <div style="display:non... 阅读全文
摘要:
最近做一小程序需要对Web打印进行精细的位置控制,IE自身的打印功能基本上算是半残废,无法自定义纸张,无法直接打印,并且由于浏览器版本或操作系统本身的设置问题,连最基本的边距设置都会有问题,总之打印已经成为Web程序的最大难题,因此使用ActiveX控件打印是最好的解决方案,但现在的控件动不动就价格几千上万,所幸目前免费的选择还有两个,一是windows系统本身带有WebBrowser.ExecW... 阅读全文
摘要:
jQuery中的queue和dequeue是一组很有用的方法,他们对于一系列需要按次序运行的函数特别有用。特别animate动画,ajax,以及timeout等需要一定时间的函数queue和dequeue的过程主要是:1,用queue把函数加入队列(通常是函数数组)2,用dequeue将函数数组中的第一个函数取出,并执行(用shift()方法取出并执行)也就意味着当再次执行dequeue的时候,得... 阅读全文