brotli

八个技巧,提高Web前端性能

微笑、不失礼 提交于 2021-02-18 21:30:38
往期精选 ● 架构师高并发高性能分布式教程 (4000G) ● 39阶段精品云计算大数据实战视频教程 ● 互联网技术干货视频教程大全【菜单为准】 ● 2017年8月最新Intellij IDEA全套视频教程 ● 程序员如何制作高质量的简历【视频+简历】 ● 两套大型电商实战项目 ● 200本经典编程相关书籍下载 更多精彩查看历史记录......... 1. 优化 CSS 性能 CSS,即级联样式表,能从 HTML 描述的内容生成专业而又整洁的文件。很多 CSS 需要通过 HTTP 请求来引入(除非使用内联 CSS),所以你要努力去除累赘的 CSS 文件,但要注意保留其重要特征。 如果你的 Banner、插件和布局样式是使用 CSS 保存在不同的文件内,那么,访问者的浏览器每次访问都会加载很多文件。虽然现在 HTTP/2 的存在,减少了这种问题的发生,但是在外部资源加载的情况下,仍会花费较长时间。要了解如何减少 HTTP 请求以大幅度缩减加载时间,请阅读WordPress 性能。 此外,不少网站管理员在网页中错误的使用 @import 指令 来引入外部样式表。这是一个过时的方法,它会阻止浏览并行下载。link 标签才是最好的选择,它也能提高网站的前端性能。多说一句,通过 link 标签请求加载的外部样式表不会阻止并行下载。 2.减少外部HTTP请求 在很多情况下

50个能帮你节省时间的开发工具

北慕城南 提交于 2021-01-29 08:57:48
50个能帮你节省时间的开发工具 前端小混混 前端先锋 // 每日前端夜话 第413篇 // 正文共:3300 字 // 预计阅读时间:10 分钟 本文列举出 50 个能够帮你提高开发效率,节省开发时间的 Chrome 扩展和 Web 应用,它们很有可能会在什么时候派上用场。老规矩,先转发、点赞、点再看三连,最后再慢慢阅读,千万别让它在收藏夹里吃灰。 1. Whatruns 一个免费的浏览器扩展程序,只需单击一下按钮,就能帮你识别当前网站上所使到的技术。 官网: https://www.whatruns.com/ Whatruns 2. Sizzy 开发人员专用的浏览器。可以帮你节省时间,加快开发流程 官网: https://sizzy.co/ Sizzy 3. Log Rocket LogRocket 使你可以重播用户在你站点上所做的操作,从而帮你重现错误并更快地解决问题。 官网: https://logrocket.com/ Log Rocket 4. Sentry Sentry 的应用监视平台几乎可以为所有的开发人员提供帮助,它能够诊断、修复和优化你代码的性能。 官网: https://sentry.io/ Sentry 5. Can I Use? "Can I use"提供了最新的浏览器支持表,能帮你检查支持台式机和移动 Web 浏览器上的前端 Web 技术。 官网:

速度与压缩比如何兼得?压缩算法在构建部署中的优化

天大地大妈咪最大 提交于 2021-01-11 15:57:07
背景 通常而言,服务发布平台的构建部署的流程(镜像部署除外)会经过 构建 (同步代码 -> 编译 -> 打包 -> 上传)、 部署 (下载包 -> 解压到目标机器 -> 重启服务)等步骤。以美团内部的发布平台 Plus 为例,最近我们发现一些发布项在构建产物打包压缩的过程中耗时比较久。如下图所示的 pack 步骤,一共消耗了1分23秒。 而在平常为用户解答运维问题的时候我们也发现,很多用户会习惯将一些较大的机器学习或者 NLP 相关的数据放入到仓库中,这部分数据往往占据几百兆,甚至占据几个GB的磁盘空间,十分影响打包的速度。 Java 项目也是如此,由于 Java 服务框架繁多,依赖也多,通常这些服务打包后也要占据百兆级别的空间,耗时也会达到十多秒。下图是我们的 pack 步骤的中位数,基本上大部分的 Java 服务和 Node.js 服务都至少要消耗 13s 左右的时间来做压缩打包 。 pack 作为几乎所有需要部署的服务必需步骤,它目前的耗时基本上仅低于编译和构建镜像,因此,为了提高整体构建的效率,我们准备对 pack 打包压缩的步骤进行一轮优化工作。 方案对比 准备场景数据 发布项的包大小分析 为了尽可能地模拟构建部署中的应用场景,我们将 2020 年的部分 构建包数据 进行了整理分析,其中压缩后的包大小如下图所示,钟形曲线说明了整体的包体积呈正态分布

Is there a way to check if a buffer is in Brotli compressed format?

谁说胖子不能爱 提交于 2020-12-31 07:42:13
问题 I'm an intern doing research into whether using Brotli compression in a piece of software provides a performance boost over the current release, which uses GZip. My task is to change anything using GZip to use Brotli compression instead. One function I need to replace does a check to test if a buffer contains data that was compressed using GZip. It does this by checking the stream identifier at the beginning and end: bool isGzipped() const { // Gzip file signature (0x1f8b) return (_bufferEnd

Is there a way to check if a buffer is in Brotli compressed format?

青春壹個敷衍的年華 提交于 2020-12-31 07:36:23
问题 I'm an intern doing research into whether using Brotli compression in a piece of software provides a performance boost over the current release, which uses GZip. My task is to change anything using GZip to use Brotli compression instead. One function I need to replace does a check to test if a buffer contains data that was compressed using GZip. It does this by checking the stream identifier at the beginning and end: bool isGzipped() const { // Gzip file signature (0x1f8b) return (_bufferEnd

Specify multiple (gzip + brotli) httpCompression schemes in IIS7/8/8.5 and prioritise brotli

让人想犯罪 __ 提交于 2020-08-22 12:05:01
问题 I'm trying to get the new Brotli compression scheme working in IIS using "Brotli compression module for Microsoft IIS" by iisspeed.com. The Brotli compression module itself works fine if I change the <httpCompression> config section in applicationHost.config to only have the Brotli module. The problem is that I want to have both gzip and Brotli, and prefer Brotli The documentation on iisspeed.com says to do this: <httpCompression directory="path\to\temp\folder" minFileSizeForComp="50">

curl 源码编译.

一个人想着一个人 提交于 2020-08-12 06:21:07
LT_SYS_LIBRARY_PATH 下载 地址 https://curl.haxx.se/download.html 查看编译选项: ./configure --help Host setup: x86_64-pc-linux-gnu Install prefix: /opt/bin/curl770 Compiler: gcc CFLAGS: -Werror-implicit-function-declaration -O2 -Wno-system-headers -pthread CPPFLAGS: LDFLAGS: LIBS: -lidn2 -lssl -lcrypto -lssl -lcrypto -lldap -llber -lz curl version: 7.70.0 SSL: enabled (OpenSSL) SSH: no (--with-{libssh,libssh2}) zlib: enabled brotli: no (--with-brotli) GSS-API: no (--with-gssapi) TLS-SRP: enabled resolver: POSIX threaded IPv6: enabled Unix sockets: enabled IDN: enabled (libidn2) Build libcurl: Shared=yes,