当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: 项目迭代开发手记--文件分割存储用例的实现过程(3)
 

 

 ·j2me (java 2 micro edition) 简介    »显示摘要«
    摘要:j2me (java 2 micro edition) 简介  中国科大bbs   ■前言   如果您曾经到http://www.javasoft.com 网站上查询有关java 2 micro edition 的资料,十之八九会被一大堆的技术名词搞的一头雾水。什么kvm ,什么cldc 、cdc 、midp ,後面还冒出了personal java 、embedded java以及jes 等名词......
    摘要:近日,国内的腾讯qq、神州数码、江民公司、某门户网站、xxx游戏娱乐有限公司、一家著名电子商务网站陆续被黑客攻陷或入侵。在黑色恐怖的弥漫下,国内互联网一时人心惶惶,风声鹤唳。  10月17日,在接到一位顶尖黑客高手方圣(化名)的报料后,本报记者深入了解事件内幕。在调查过程中记者震惊地发现:其中一些被黑网站还受到了黑客的巨额敲诈勒索,这是国内首起网络黑客勒索事件,且组织严密、技术高超、规模巨大。  ......


项目迭代开发手记--文件分割存储用例的实现过程(3)
项目迭代开发手记--文件分割存储用例的实现过程(3)

上午的迭代2完成后,我们获得了一个有完整压缩流功能的实现代码,这次迭代完成的代码是可用的,我们在迭代2中完成了我们既定的任务.在下午的小组讨论中,我们继续考虑下一阶段的迭代目标,由于没有决定图档文件的格式,我们决定先不考虑图片格式的问题,先实现文件的分割功能.文件的分割主要是考虑当图档文件太大的时,数据库提交性能会变得非常慢,分割的目的就是改进提交的性能. 【程序编程相关:颜色英文代码全集

       【推荐阅读:免费网盘

对向数据库提交的二进制流进行分割压缩;那么从数据库提取的时候要进行解压与拼接操作,以获得原始图档数据. 【扩展信息:彻底屏蔽3721/CNNIC/BAIDU

迭代3:

在分割功能的设计与编码前,我们重新审视了上午的代码——那个压缩类tloadbinarydatatodb,发觉该类似乎职责太多,它要负责把文件装载成流,然后才对流进行压缩与解压缩,我们发现uncompressstream函数有更好的通用性,只要是压缩的流就可以对其进行解压.而压缩功能在这个类里似乎只能对通过文件装载的流进行压缩,如果流是以另一种形式获得的,不是以文件装载的形式,那么我们不知道该如何对该流进行压缩.这里似乎违背了功能单一的职责,类既负责了流的装载,又负责流的压缩;于是我们对该类进行了重构已获得结构更好的的类,以增加类的重用性.

重构后的类只有两个公用的方法 compressstream 与 uncompressstream 它们都已流为参数,通过对传入流的处理来实现压缩与解压缩功能.

 

procedure tcompressstream.compressstream(var stream: tmemorystream);

var

  isize: integer;

  ldeststream: tmemorystream;

  lcompressionstream: tcompressionstream;

begin

  ldeststream := tmemorystream.create;

  lcompressionstream := tcompressionstream.create(clmax, ldeststream);

  try

    isize := stream.size; //获得图像流的原始尺寸

stream.savetostream(lcompressionstream); //将原始图像流进行压缩,

// ldeststream中保存着压缩后的图像流

    lcompressionstream.free;

    stream.clear;

    stream.writebuffer(isize, sizeof(isize)); //写入原始图像的尺寸

    stream.copyfrom(ldeststream, 0); //写入经过压缩的图像流

  finally

    ldeststream.free

  end;

end;

 


...   下一页
 ·adsi,使用asp来完成nt管理    »显示摘要«
    摘要:adsi,使用asp来完成nt管理 关键词:asp 我上次说的是如何使用adsi管理web server这次讨论adsi如何对nt进行管理 使用adsi对iis进行管理需要op4而对nt要进行adsi管理则需要ntlmntlm提供以下几个对象: domain, group, and user. 通过domain对象你可以增加groups和users.警告: 以下的例子都将改变nt访问权限数据库......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE