文件头

性能优化的 ULBOX(收集-)

Deadly 提交于 2020-04-06 18:25:48
1. Yahoo性能优化 http://developer.yahoo.com/performance/rules.html 1、尽量减少HTTP请求个数——须权衡 合并图片(如css sprites,内置图片使用数据)、合并CSS、JS,这一点很重要,但是要考虑合并后的文件体积。 2、使用CDN(内容分发网络) 这里可以关注CDN的三类实现:镜像、高速缓存、专线,以及智能路由器和负载均衡; 3、为文件头指定Expires或Cache-Control,使内容具有缓存性。 区分静态内容和动态内容,避免以后页面访问中不必要的HTTP请求。 4、避免空的src和href 留意具有这两个属性的标签如link,script,img,iframe等; 5、使用gzip压缩内容 Gzip压缩所有可能的文件类型以来减少文件体积 6、把CSS放到顶部 实现页面有秩序地加载,这对于拥有较多内容的页面和网速较慢的用户来说更为重要,同时,HTML规范清楚指出样式表要放包含在页面的<head />区域内; 7、把JS放到底部 HTTP/1.1 规范建议,浏览器每个主机名的并行下载内容不超过两个,而问题在于脚本阻止了页面的平行下载,即便是主机名不相同 8、避免使用CSS表达式 页面显示和缩放,滚动、乃至移动鼠标时,CSS表达式的计算频率是我们要关注的。可以考虑一次性的表达式或者使用事件句柄来代替CSS表达式。

深入了解控制文件

你说的曾经没有我的故事 提交于 2020-03-27 17:59:59
实验步骤 控制文件是一个二进制文件,为了查看其内容,我们可以通过oracle命令转储出来进行查看(以下命令来自oracle 19c): SQL> alter session set events 'immediate trace name controlf level 8'; Session altered. SQL> select value from v$diag_info where name='Default Trace File'; VALUE -------------------------------------------------------------------------------- /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_13639.trc 解读 19c trace trc 文件头简介 文件头对文件来源做出了简介:包括文件信息、数据库信息、DB版本号、系统信息、实例信息和进程信息 # 文件名 Trace file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_13639.trc ​ # 数据库信息 Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 -

将DCM文件保存成BMP文件或数据流

徘徊边缘 提交于 2020-03-17 06:19:18
DCMTK开源库的学习笔记1:将DCM文件保存成BMP文件或数据流(即数组) DCMTK开源库介绍: DCMTK是目前最全面实现DICOM3.0标准的开源库,通过结合DCMTK开源库和CxImage图像开源库,能够很方便的开发属于自己的DCM文件编辑浏览软件。 DCMTK与CxImage的结合: 下面记录”DCM文件到BMP文件格式的转换“的学习和探索的过程。 1)BMP文件的格式这里不细讲(可自行参阅MSDN相关资料)。BMP属于设备无关图(DIB),内存中只要依次包含BMP文件头(BITMAPFILEHEADER)、BMP信息头(BITMAPINFOHEADER)、调色板(Palette),以及真实像素信息,就可以在所有显示设备中进行显示。因此将DCM文件转换到BMP格式的主要工作是:从DCM众多数据元中挑选出BMP文件头、信息头所必须的信息(如图像宽度、图像高度、每个像素所占的空间、像素数据等)。 2)此次采用了dcmtk中的dcmimgle开发包,利用DicomImage类提供的createWindowsDIB接口以及writeBMP来进行格式转化。具体代码如下: DcmFileFormat *mImage=new DcmFileFormat(); DJDecoderRegistration::registerCodecs(); // register JPEG

浓缩的才是精华:浅析GIF格式图片的存储和压缩

二次信任 提交于 2020-03-16 06:10:10
成文迪, 在Web前端摸爬滚打的码农一枚,对技术充满热情的菜鸟,致力为手Q的建设添砖加瓦。 GIF格式的历史 GIF(Graphics Interchange Format)原义是“图像互换格式”,是CompuServe公司在1987年开发出的图像文件格式,可以说是互联网界的老古董了。 GIF格式可以存储多幅彩色图像,如果将这些 图像 连续播放出来,就能够组成最简单的动画。所以常被用来存储“动态图片”,通常时间短,体积小,内容简单,成像相对清晰,适于在早起的慢速互联网上传播。 本来,随着网络带宽的拓展和视频技术的进步,这种图像已经渐渐失去了市场。可是,近年来流行的表情包文化,让老古董GIF图有了新的用武之地。 表情包通常来源于手绘图像,或是视频截取,目前有很多方便制作表情包的小工具。 这类图片通常具有文件体积小,内容简单,兼容性好(无需解码工具即可在各类平台上查看),对画质要求不高的特点,刚好符合GIF图的特性。 所以,老古董GIF图有了新的应用场景。 本文的应用场景 新的应用场景带来新的需求,本文所探究的问题来自于某个业务场景下——为用户批量推送GIF表情包。 一批图像大约有200-500张,以缩略图列表的形式展示在客户端。 根据我们使用测试数据进行的统计GIF图表情包的尺寸大部分在200k-500k之间,批量推送的一个重要问题就是数据量太大,因此

实战——读取并分析BMP图像的十六进制数据

五迷三道 提交于 2020-03-10 20:25:02
文章目录 【内容概述】 【获取16进制数据】 【文件头】 【位图头】 【调色板】 【24位真彩图的位图数据】 【图像灰度化】 【灰度化后数据格式的变化】 【读32×32灰度图片的位图数据】 【位图数据的存储和像素位置的关系】 【总结】 【内容概述】 图像压缩 在ubuntu系统下读出BMP图像的十六进制数据 分析24位真彩BMP文件的文件头、图像头、调色板、位图数据 截取图像中心32×32区域,并灰度化 分析灰度化后带来的改变 位图数据存储方式与像素位置的关系 接下来我们就开始叭 ~ (* ^ ω ^ *) 【图像压缩】 这是一个 非必要 步骤,如果你的原图很小就不用啦。但是如果原图很大的话,建议压缩一下,不然数据量会hin大的。可以用格式工厂做 (有点大材小用嘞但是我首先就想到这个方法) .具体步骤可参考 这个说明 。我通过压缩把原本4032×3016的图像压缩成128×95的了。看看这个变化叭: 【压缩前】 【压缩后】 【获取16进制数据】 这一步我是在Ubuntu系统下进行的,我把原图命名为【ballon.bmp】 (因为是2019跨年时候在珠海长隆拍的小丑气球) 在图片所在文件夹打开终端,输入 $ xxd -i ballon.bmp ballon.h 并回车,具体操作可以参考 这个说明 。然后可以看到文件夹下新生成了一个.h文件,打开之后就可以看到十六进制的数组啦。

如何设计二进制文件格式

两盒软妹~` 提交于 2020-03-07 03:52:51
设计二进制文件格式 前言 1、为何需要一种二进制的文件格式 2、文件格式的具体设计 (1)整体的文件结构 (2)文件头魔数(magic number) (3)检验码 (4)版本号 (5)字节顺序 (6)字节对齐 (7)回写和流写 前言 本文是由于需要设计一种二进制的文件格式用于保存前文中所提取出来的wav文件的采样数据故而写下本篇文章。 1、为何需要一种二进制的文件格式 程序时常需要保存自身的文档数据。比如一个矢量绘图程序,需要将用户绘制的每个图元都保存到文件中,以后再次打开。应该优先考虑文本格式,文本格式容易测试和编辑。更应该优先考虑通用的文本格式,比如 XML, JSON, Lua 等等。这些通用的文本格式已经存在大量的工具和库,可以省下很多功夫。 文本格式读取慢,并且文件尺寸也比较大(就算经过 zip 压缩),大多数情况下这都不是什么问题。但一些场合,要求更快读取速度,更小文件尺寸,这时就需要自己来设计一种二进制文件格式。游戏中的模型数据,就要求读取速度快;而经常通过网络传输的文件,就要求减少文件尺寸,比如 swf 格式。 2、文件格式的具体设计 具体的二进制文件格式,要根据具体的程序需求来设计。但有些设计思路,是所有二进制格式都通用的。了解这些,对将来分析其它的二进制格式也会有帮助。 (1)整体的文件结构 常见二进制文件格式,时常采用 文件头 + 分区 的结构: file

文件上传漏洞(基础)

痞子三分冷 提交于 2020-03-05 01:04:05
文件上传漏洞: 介绍: 一般Web站点会有用户注册功能,而当用户登入之后大多数情况下都会存在类似 头像上传、附件上传 一类的功能,这些功能点往往存在上传验证方式不严格的安全缺陷,是在Web渗透中非常关键的突破口,只要经过仔细测试分析来 绕过上传验证机制 ,往往会造成被攻击者直接上传Web后门,进而控制整个Web业务的控制权,复杂一点的情况是结合Web Server的解析漏洞来上传后门获取权限。 原理: 由于文件上传功能实现代码没有严格限制用户上传的 文件后缀以及文件类型 ,导致允许攻击者向某个可通过 Web 访问的目录上传任意PHP文件,并能够将这些文件传递给 PHP 解释器,就可以在远程服务器上执行任意PHP脚本。 成功攻击条件: 1.可以上传任意脚本文件,且上传的文件能够 被Web服务器解析执行 ,具体来说就是存放上传文件的目录要有执行脚本的权限。 2.用户能够通过Web 访问这个文件 。如果文件上传后,不能通过Web访问,那么也不能成功实施攻击。 3.知道文件上传到服务器后的 存放路径和文件名称 ,因为许多Web应用都会修改上传文件的文件名称,那么这时就需要结合其他漏洞去获取到这些信息。如果不知道上传文件的存放路径和文件名称,即使你上传了也无法访问。 基本概念: >shell与webshell: 1)SHELL:对服务器的某种操作权限 2)WEBSHELL:以ASP、PHP

Yahoo!团队实践分享:网站性能优化的34条黄金守则

自古美人都是妖i 提交于 2020-03-02 06:13:36
Yahoo! 的 Exceptional Performance 团队为改善 Web 性能带来最佳实践。他们为此进行了一系列的实验、开发了各种工具、写了大量的文章和博客并在各种会议上参与探讨。最佳实践的核心就是旨在提高网站性能。 原文地址: http://developer.yahoo.com/performance/rules.html Excetional Performance 团队总结出了一系列可以提高网站速度的方法。可以分为 7 大类 34 条。 包括 内容 、 服务器 、 CSS 、 JavaScript 、 Cookie 、 图片 、 移动应用 ,七部分。 其中内容部分一共十条建议: 一、内容部分 尽量减少 HTTP 请求 减少 DNS 查找 避免跳转 缓存 Ajxa 推迟加载 提前加载 减少 DOM 元素数量 用域名划分页面内容 使 frame 数量最少 避免 404 错误 1 、尽量减少 HTTP 请求次数 终端用户响应的时间中,有 80% 用于下载各项内容。这部分时间包括下载页面中的图像、样式表、脚本、 Flash 等。通过减少页面中的元素可以减少 HTTP 请求的次数。这是提高网页速度的关键步骤。 减少页面组件的方法其实就是简化页面设计。那么有没有一种方法既能保持页面内容的丰富性又能达到加快响应时间的目的呢?这里有几条减少 HTTP

利用文件头判断文件类型

六月ゝ 毕业季﹏ 提交于 2020-03-01 21:24:45
上传文件时经常需要做文件类型判断,例如图片、文档等,普通做法是直接判断文件后缀名,而文艺青年为了防止各种攻击同时也会加上使用文件头信息判断文件类型。 原理很简单:用文件头判断,直接读取文件的前2个字节即可。 1 public class FileUtil { 2 /** 3 * byte数组转换成16进制字符串 4 * 5 * @param src 6 * @return 7 */ 8 private static String bytesToHexString(byte[] src) { 9 StringBuilder stringBuilder = new StringBuilder(); 10 if (src == null || src.length <= 0) { 11 return null; 12 } 13 for (int i = 0; i < src.length; i++) { 14 // 以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式,并转换为大写 15 String hv = Integer.toHexString(src[i] & 0xFF).toUpperCase(); 16 if (hv.length() < 2) { 17 stringBuilder.append(0); 18 } 19 stringBuilder

利用文件头判断文件类型

一世执手 提交于 2020-03-01 21:24:08
上传文件时经常需要做文件类型判断,例如图片、文档等,普通做法是直接判断文件后缀名,而文艺青年为了防止各种攻击同时也会加上使用文件头信息判断文件类型。 原理很简单:用文件头判断,直接读取文件的前2个字节即可。 1 public class FileUtil { 2 /** 3 * byte数组转换成16进制字符串 4 * 5 * @param src 6 * @return 7 */ 8 private static String bytesToHexString(byte[] src) { 9 StringBuilder stringBuilder = new StringBuilder(); 10 if (src == null || src.length <= 0) { 11 return null; 12 } 13 for (int i = 0; i < src.length; i++) { 14 // 以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式,并转换为大写 15 String hv = Integer.toHexString(src[i] & 0xFF).toUpperCase(); 16 if (hv.length() < 2) { 17 stringBuilder.append(0); 18 } 19 stringBuilder