雅虎给出了优化网站加载速度 的34条法则(包括Yslow规则22条) 详细说明,下载转发 ponytail 的译文(来自帕兰映像)。
1.Minimize HTTP Requests 减少HTTP请求
图片、css、script、flash等等这些都会增加http请求数,减少这些元素的数量就能减少响应时间。把多个JS、CSS在可能的情况下 写进一个文件,页面里直接写入图片也是不好的做法,应该写进CSS里,利用 CSS sprites 将小图拼合后利用background来定位。
2.Use a Content Delivery Network 利用CDN技术
CDN 确实是好东西,8过服务器提供商的这项服务一般是要收费的,我以前买的国内空间是有这个的但是我当时根本不知道啥用,现在没了。。。
3.Add an Expires or a Cache-Control Header 设置头文件过期或者静态缓存
浏览器会用缓存来减少http请求数来加快页面加载的时间,如果页面头部加一个很长的过期时间,浏览器就会一直缓存页面里的元素。不过这样如果 页面里的东西变动的话就要改名字了,否则用户端不会主动刷新,看自己衡量了~ 这项可以通过修改.htaccess文件来实现。
4.Gzip Components Gzip压缩
Gzip格式是一种很普遍的压缩技术,几乎所有的浏览器都有解压Gzip格式的能力,而且它可以压缩的比例非常大,一般压缩率为85%。压缩没压缩,可以到 这里 做下测试。
5.Put Stylesheets at the Top 把CSS放顶部
让浏览者能尽早的看到网站的完整样式。
6.Put Scripts at the Bottom 把JS放底部
网站呈现完毕后再进行功能设置,当然这些JS要在你的加载过程中不影响内容表现。
7.Avoid CSS Expressions 避免CSS Expressions
CSS表达式很可怕,这个只被IE支持的东西执行时候的运算量非常大,你移动一下鼠标它都要进行重计算的,但有时候为了做浏览器的兼容必须要用到这个||| IE6去死去死!~
8.Make JavaScript and CSS External 将JS和CSS外链
前面讲到了缓存这个事情,一些较为公用的JS和CSS,我们可以使用外链的形式,譬如我就是从Google外链来的Jquery文件,如果我的浏览者在浏览别的使用了这个外链文件的网站时已经下载并缓存了这个文件,那么他在浏览我的网站的时候就不需要再进行下载了!~
9.Reduce DNS Lookups 减少DNS查找
貌似是要减少网站从外部调用资源,我的Google分析和picasa的外链图片都算在里面了。
10.Minify JavaScript and CSS 减小JS和CSS的体积
写JS和CSS都是有技巧的,用最少的代码实现同样的功能,减少空白,增强逻辑性,用缩写方式等等,当然也有不少工具也能够帮你实现这一点。
11. Avoid Redirects 避免重定向
再写入链接时,虽然”http://www. today-s-ooxx. com”和”http://www. today-s-ooxx. com/” 仅有一个最后的”/”只差,但是结果是不同的,服务器需要花时间把前者重定向为后者然后进行跳转,这个要自己注意,也可以在Apache里用Alias 或者mod_rewrite或者DirectorySlash解决。
12. Remove Duplicate Scripts 删除重复脚本
重复调用的代码浏览器并不会识别忽略,而是会再次运算一遍,这当然是大大的浪费。
13. Configure ETags 配置ETags
搞不清楚咋回事,总之我是在. htaccess里把它删除了。
14. Make Ajax Cacheable 缓存Ajax
Ajax是实时响应的,在浏览器接收到新的数据前,旧的数据被缓存,这样能够更好的提高效率。
15. Flush the Buffer Early 尽早的释放缓冲
当用户进行页面请求时,服务器端需要花费200到500毫秒时间来拼合HTML,将写在head与body之间,释放缓冲,这样可以将文件头先发送出去,然后再发送文件内容,提高效率。
16. Use GET for AJAX Requests 用GET方式进行AJAX请求
Get 方法和服务器只有一次交互(发送数据),而 Post 要两次(发送头部再发送数据)。
17. Post-load Components 延迟加载组件
最先加载必须的组件进行页面初始化,然后再加载其他,YUI Image Loader 是很好的例子。
18. Preload components 预加载组件
提前加载以后可能用到的东西,和延迟加载并不冲突,它的目的是为后续请求提供更快的响应,参见Google首页上的CSS sprites应用。
19. Reduce the Number of DOM Elements 减少DOM元素数量
复杂的页面结构意味着更长的下载及响应时间,更合理更高效的使用标签来架构页面,是好的前端的必备条件。
20. Split Components Across Domains 跨域分离组件
页面组件多个来源可以增大你的平行下载量,但注意不要过多,超过2-4个域名会引起上面说到的DNS查找浪费。
21. Minimize the Number of iframes 减少iframe数量
需要更有效的利用 ifames。
iframe 优点:有利于下载缓慢的广告等第三方内容,安全沙箱,并行下载脚本
iframe 缺点:即使为空也会有较大资源消耗,会阻止页面的onload,非语义
22. No 404s 不要出现404页面
站点本身里(非搜索结果)出现404页面,无意义的404页面会影响用户体验并且会消耗服务器资源。
23. Reduce Cookie Size 减小Cookie
Cookie在服务器及浏览器之间的通过文件头进行交换,尽可能减小Cookie体积,设置合理的过期时间,能够很好的提高效率。
24. Use Cookie-free Domains for Components 对组件使用无Cookie的域名
对静态组件的Cookie读取是一种浪费,使用另一个无Cookie的域名来存放你的静态组件式一个好方法,或者也可以在Cookie中只存放带www的域名。
25. Minimize DOM Access 减少DOM的访问次数
JS访问DOM是很慢的,尽量不要用JS来设置页面布局。
26. Develop Smart Event Handlers 开发灵活的事件处理句柄
DOM树上过多的元素被加入事件句柄的话,反应效率肯定会低,YUI事件工具有一个 onAvailable 方法可以帮助你灵活的设置DOM事件句柄
27. Choose < link >over @import 使用< link >而非 @import
在IE中使用@import就和在页面底部用< link >一样,我们前面说要把< link >放顶部的。
28. Avoid Filters 避免过滤器的使用
如果需要Alpha透明,不要使用AlphaImageLoader,它效率低下而且只对IE6及以下的版本适用,用PNG8图片。如果你非要使用,加上_filter以免影响IE7+用户。
29. Optimize Images 优化图片
将你的GIF转为PNG8会是个减小体积的好办法,另外有很多方法处理你的JPG及PNG图片以达到优化效果。
30. Optimize CSS Sprites 优化CSS Sprites
在CSS Sprites中竖直并尽量紧凑的排列图片,尽量将颜色相似的图片排在一起,会减小图片本身的大小及提高页面图片显示速度。
31. Don’t Scale Images in HTML 不要在HTML中缩放图片
图片要用多大的就用多大的,1000X1000的图片被width=”100″ height=”100″以后,本身的KB数是不会减少的。
32. Make favicon. ico Small and Cacheable 缩小favicon. ico的大小并缓存它
站点的浏览器ICO应该不是经常换吧,那就长时间的缓存它,并且最好控制在1K以下。
33. Keep Components under 25K 保证组件在25K以下
iPhone不能缓存25K以上的组件,并且这还是要在被压缩前。
34. Pack Components into a Multipart Document 将组件打包进一个多部分的文档中
就好像在邮件中加入附件一样,一个HTTP请求就够了,但是这一技术需要确保你的代理支持,iPhone就不支持。
相关推荐
雅虎军规中的2-5-8原则也是性能优化的一个重要参考,它描述了用户对页面加载速度的感知,并指导开发者通过优化将页面响应时间控制在最佳范围内。 总而言之,前端性能优化涉及的知识点相当广泛,包括但不限于资源...
内容概要:本文详细介绍了利用西门子S7-200 PLC和MCGS组态软件构建洗衣机控制系统的全过程。首先阐述了IO分配规则,明确各输入输出点的功能,如水位检测、温度测量、电机控制等。接着展示了梯形图编程的具体方法,解释了如何通过梯形图实现洗衣机的基本操作流程,包括启动、停止、水位控制、正反转洗涤、排水和脱水等功能。此外,文中还讨论了接线图的设计要点,强调了硬件连接的安全性和可靠性。最后,介绍了MCGS组态画面的设计,包括动态效果展示、报警机制以及人机交互界面的优化。 适合人群:对PLC编程和工业自动化感兴趣的工程师和技术人员,尤其是希望深入了解S7-200 PLC和MCGS组态软件的实际应用者。 使用场景及目标:适用于需要设计和实施小型家电或类似设备自动化控制系统的场合。目标是帮助读者掌握PLC编程技巧,理解工业自动化控制系统的构建过程,提高实际项目开发能力。 其他说明:文中提供了丰富的调试经验和常见问题解决方案,有助于读者在实践中少走弯路。同时,通过具体的案例分析,使理论知识更加贴近实际应用。
内容概要:本文详细介绍了如何利用COMSOL进行光学仿真,重点探讨了保角变换在操控光路方面的应用,特别是自聚焦光束和Talbot效应的建模。文中首先解释了保角变换的基本概念及其物理意义,然后通过具体实例展示了如何在COMSOL中设置保角变换、定义材料参数以及配置边界条件。对于自聚焦光束,作者强调了非线性材料模块的应用,特别是在处理强光引起的折射率变化时的关键步骤。而对于Talbot效应,则着重讨论了周期性边界条件的设置和后处理分析方法。此外,文章还分享了一些实用技巧,如参数化扫描、网格优化和MATLAB联动分析等。 适合人群:具有一定光学仿真基础的研究人员和技术人员,尤其是对COMSOL软件有一定了解并希望深入探索非线性光学现象的用户。 使用场景及目标:① 使用COMSOL进行自聚焦光束和Talbot效应的建模与仿真;② 掌握保角变换在光学仿真中的应用技巧;③ 提升对非线性光学现象的理解和仿真能力。 其他说明:本文不仅提供了详细的建模指导,还包括了许多实用的调试技巧和注意事项,帮助读者更好地理解和应用相关技术。
产品PRD需求文档模板
内容概要:本文详细介绍了使用COMSOL软件进行针尖刺穿表皮细胞的数值模拟,探讨了电穿孔技术中电场分布与物质传输的关系。首先,通过参数化建模构建了圆锥形针尖和细胞结构,确保针尖能够有效穿透细胞膜。然后,设置了多物理场耦合,包括电流传导和稀物质传递,使电场和浓度场相互作用。文中特别强调了细胞膜的薄层边界条件和电场增强扩散系数的设定,以及如何通过边界条件模拟电穿孔过程。此外,还讨论了求解器配置、网格划分和结果后处理方法,展示了电场流线和浓度云图的可视化结果。最终,验证了模型的可靠性,并提出了进一步的研究方向,如加入温度场和针尖振动参数。 适合人群:从事生物医学工程、电穿孔技术和药物递送系统研究的专业人士,尤其是有一定COMSOL使用经验和数值模拟基础的研究人员。 使用场景及目标:适用于希望深入了解电穿孔技术中电场与物质传输机制的研究人员,帮助他们优化微针给药系统的参数设计,提高药物递送效率。 其他说明:本文提供了详细的建模步骤和技术细节,有助于读者快速掌握COMSOL在生物电穿孔领域的应用。同时,文中提到的一些技巧和注意事项可以避免常见的数值模拟错误,提高模拟精度。
内容概要:本文详细探讨了基于MATLAB的冷热电气多能互补微能源网的鲁棒优化调度模型。首先介绍了多能耦合元件(如风电、光伏、P2G、燃气轮机等)的运行特性模型,展示了如何通过MATLAB代码模拟这些元件的实际运行情况。接着阐述了电、热、冷、气四者的稳态能流模型及其相互关系,特别是热电联产过程中能量的转化和分配。核心部分在于构建了考虑经济成本和碳排放的优化调度模型,利用MATLAB优化工具箱求解多目标优化问题,确保系统在经济性和环保性之间达到最佳平衡。此外,文中还讨论了处理风光出力预测误差的方法,采用了鲁棒优化策略应对不确定性,并通过实例验证了模型的有效性。 适合人群:从事能源系统研究、优化调度领域的科研人员和技术开发者,尤其是熟悉MATLAB编程并关注低碳发展的专业人士。 使用场景及目标:适用于希望深入了解综合能源系统优化调度机制的研究者,旨在帮助他们掌握如何在MATLAB环境下构建和求解复杂的多能互补优化调度模型,以实现节能减排和经济效益的最大化。 其他说明:文章不仅提供了详细的理论推导和代码实现,还分享了许多实践经验,如非线性约束处理、多能流耦合约束的建模技巧等,对于实际工程应用具有重要指导意义。
STM32 Nucleo-64 开发板用户手册
chromedriver-mac-x64-136.0.7098.0(Canary).zip
内容概要:本文详细探讨了综合能源系统中电、热、冷、气四种能源形式的优化调度方法,重点介绍了分时电价机制下的储能装置调度策略。通过Python代码实例展示了如何利用线性规划工具(如PuLP库)构建优化模型,实现储能装置的高效充放电管理以及多能流耦合设备的协调运作。文中不仅讨论了储能装置的充放电效率、初始电量设置等关键技术细节,还涉及了热泵、燃气锅炉、吸收式制冷机等多种设备之间的能量转换关系及其优化配置。 适合人群:从事综合能源系统研究的技术人员、能源管理系统开发者、工业自动化领域的工程师。 使用场景及目标:适用于需要降低综合能源系统运行成本的企业或机构,尤其是那些面临复杂电价政策和技术挑战的场景。目标是通过合理的调度策略,在满足各类能源需求的前提下,最大限度地减少运营成本,提高经济效益。 其他说明:文章强调了分时电价对储能调度的影响,并指出储能装置在削峰填谷方面的重要作用。此外,还提到了多时间尺度优化、设备启停成本等因素对整体优化效果的影响。
计算机暑假实践报告.pdf
帮助用户规划地铁出行路线
内容概要:本文详细介绍了如何在Simulink中构建和优化光伏并网系统的虚拟同步发电机(VSG)模型。首先解释了VSG的核心控制方程及其参数调节方法,强调了转动惯量(J)和阻尼系数(D)对系统稳定性的影响。接着探讨了逆变器控制部分采用的双闭环结构以及锁相环(PLL)配置,并分享了光照条件模块的设计思路。此外,还提到了谐波分析、超级电容储能模型的应用以及关键性能指标的验证方法。最后,通过对比有无VSG时的频率曲线,展示了VSG在稳定电网方面的显著效果。 适合人群:从事新能源并网研究的技术人员、电力系统工程师、高校相关专业师生。 使用场景及目标:适用于希望深入了解光伏并网系统中VSG技术原理及其实现方法的研究者和技术开发者。目标是在Simulink环境中搭建高效稳定的VSG模型,提高光伏系统的并网友好性。 其他说明:文中提供了大量实用的MATLAB/Simulink代码片段和调试技巧,帮助读者更好地理解和应用VSG技术。同时,针对可能出现的问题给出了具体的解决方案,确保模型能够顺利运行并达到预期效果。
内容概要:本文详细介绍了如何使用MATLAB进行光伏并网后的概率潮流计算,针对光伏出力的不确定性,提出了两种主要方法:蒙特卡洛模拟和半不变量法。蒙特卡洛方法通过生成大量光伏出力场景并逐一进行潮流计算,最终统计电压分布;而半不变量法则通过对光伏出力的统计特征进行级数展开,快速计算电压的概率分布。文中还提供了具体的MATLAB代码示例,展示了如何用Beta分布建模光伏出力,并通过IEEE34节点系统进行了实例演示。此外,文章还探讨了两种方法的优劣及其应用场景,强调了Beta分布参数选择的重要性以及雅可比矩阵在线性化过程中可能出现的问题。 适合人群:从事电力系统研究和工程应用的技术人员,特别是那些对光伏并网和概率潮流计算感兴趣的读者。 使用场景及目标:适用于需要评估光伏并网对电网稳定性影响的研究人员和技术人员。具体目标包括:①掌握光伏出力不确定性的建模方法;②理解蒙特卡洛模拟和半不变量法的工作原理及其适用范围;③能够独立完成基于MATLAB的概率潮流计算。 其他说明:文章不仅提供了详细的代码实现,还给出了相关参考文献,帮助读者深入理解背后的数学原理和技术背景。同时,作者提醒了一些常见的陷阱和注意事项,确保读者能够在实践中少走弯路。
内容概要:本文介绍了利用MATLAB设计和实现单容水箱水位模糊控制系统的全过程。首先建立了水箱系统的非线性微分方程模型,解决了传统PID控制器在非线性环节容易震荡的问题。接着通过FIS Editor构建模糊推理系统,定义输入输出变量及其隶属度函数,并设置简单的模糊规则来控制水位。仿真结果显示,模糊控制相比PID控制具有更低的超调量和平滑的控制效果。此外,文中还分享了一些调试技巧和优化方法,如调整隶属度函数的重叠区域和规则权重,以及如何应对系统抗干扰性和稳定性问题。 适合人群:控制工程专业的学生、研究人员以及对模糊控制感兴趣的工程师。 使用场景及目标:适用于需要精确控制水位的工业自动化场合,特别是那些存在非线性因素的系统。目标是通过模糊控制提高系统的响应速度和稳定性,减少超调量。 其他说明:提供了完整的工程文件和详细的调试笔记,方便读者复现实验结果。同时强调了模糊控制在处理复杂非线性系统方面的优势,展示了其灵活性和实用性。
内容概要:本文详细介绍了西门子Smart200 PLC与V90伺服在中小型自动化设备中的三轴联动控制方案。主要内容涵盖PLC程序的核心代码解析,包括轴配置、点动功能、绝对定位指令等;HMI界面设计,如触摸屏变量绑定和交互设计;电气原理图的关键点,如抱闸控制和电源分配;以及调试经验和故障排除方法。文中还强调了详细的注释和文档管理对于后期维护的重要性。 适合人群:从事自动化控制领域的工程师和技术人员,尤其是对西门子Smart200和V90伺服系统有一定了解并希望深入掌握其应用的人群。 使用场景及目标:适用于中小型自动化设备的设计、安装和调试,帮助工程师快速理解和实施三轴联动控制方案,提高设备的稳定性和精度。 其他说明:文中提供了多个实际案例和调试技巧,有助于避免常见错误,提升项目的成功率。此外,还分享了一些实用的经验和最佳实践,如合理的IO表设计和详细的程序注释。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
内容概要:本文详细介绍了微电网并离网下垂控制的Simulink模型,涵盖虚拟同步机、模式切换逻辑和负载扰动测试三大核心模块。通过具体代码片段展示了下垂控制的关键算法,如频率和电压下垂特性、模式切换条件判断以及PI参数配置。文中还分享了多个调试技巧,如仿真步长设置、参数优化方法和常见问题解决办法。此外,模型中加入了预同步模块和负荷电流前馈补偿,确保了并网/离网切换时的平稳性和快速响应。 适合人群:对微电网控制技术和Simulink建模有一定基础的研究人员和技术人员。 使用场景及目标:适用于研究和开发微电网控制系统,特别是关注并网和离网模式之间的无缝切换及频率电压自主调节的应用场景。目标是帮助读者理解和掌握下垂控制的具体实现方法,提高系统的稳定性和响应速度。 其他说明:模型文件建议使用Matlab R2018b及以上版本打开,仿真步长设定为50μs到100μs之间,以获得最佳效果。文中提到的多个参数和配置均经过大量仿真实验验证,提供了宝贵的实践经验。
内容概要:本文详细介绍了基于PLC(可编程逻辑控制器)的药片自动装瓶机控制系统的设计与实现。首先概述了整体控制逻辑,包括药片计数、传送、瓶子供应、定位、装瓶和封盖等步骤的精确配合。接着讨论了PLC选型与I/O分配,重点展示了如何利用光电传感器、电机和其他组件实现各个功能。文中还探讨了故障检测与处理方法,如电机过载保护,并分享了一些调试技巧和优化经验,如振动盘出口光电传感器的角度调整、伺服定位模块的参数优化等。此外,文章提到了人机界面的设计,强调了操作简便性和报警记录功能的重要性。 适合人群:从事自动化控制、制药行业的工程师和技术人员,尤其是对PLC编程和机械设备有兴趣的专业人士。 使用场景及目标:适用于药片自动装瓶机的设计、调试和维护过程中,帮助提高生产效率和产品质量,减少故障发生率,确保系统的稳定性和可靠性。 其他说明:文中不仅提供了具体的编程实例,还分享了许多实践经验,有助于读者更好地理解和应用相关技术和方法。
2024年第一季度成都房地产市场回顾与展望