Lighthouse

PageSpeed insights went through upgrade as on 27th May 2020

拟墨画扇 提交于 2020-06-27 18:38:06
问题 https://developers.google.com/speed/pagespeed/insights/ On 27th May 2020 I had used page speed where I got a pretty good score for desktop (90+) and for mobile around (85+), but as on 28th May 2020 the metrics seems to drastically changed, I can see the PageSpeed has new version (v6) but no proper release notes are provided here https://developers.google.com/speed/docs/insights/release_notes. Anyone had faced similar issue and found that google pagespeed did undergo certain upgrades then

how to integrate lighthouse with testcafe?

試著忘記壹切 提交于 2020-06-17 06:31:21
问题 I need to pass the connection argument while calling lighthouse https://github.com/GoogleChrome/lighthouse/blob/master/lighthouse-core/index.js#L41 async function lighthouse(url, flags = {}, configJSON, connection) { // verify the url is valid and that protocol is allowed if (url && (!URL.isValid(url) || !URL.isProtocolAllowed(url))) { throw new LHError(LHError.errors.INVALID_URL); } // set logging preferences, assume quiet flags.logLevel = flags.logLevel || 'error'; log.setLevel(flags

前端性能优化之谈谈通用性能指标及上报策略

…衆ロ難τιáo~ 提交于 2020-05-08 19:20:05
背景 性能优化是所有前端人的追求,在这条路上,方法多种多样。这篇文章,说一下可以怎样定义性能指标及上报。 指标 FP 含义 FP,全称 First Paint ,翻译为 首次绘制 ,是时间线上的第一个 时间点 ,它代表网页的第一个像素渲染到屏幕上所用时间,也就是页面在屏幕上首次发生视觉变化的时间。 统计逻辑 通过performance.getEntriesByType('paint’),取第一个pain的时间。如: function getFPTime ( ) { const timings = performance.getEntriesByType( 'paint' )[ 0 ]; return timings ? Math .round(timings.startTime) : null } 复制代码 FCP 含义 FCP,全称 First Contentful Paint ,翻译为 首次内容绘制 ,顾名思义,它代表浏览器第一次向屏幕绘 内容 。 注意:只有首次绘制文本、图片(包含背景图)、非白色的canvas或SVG时才被算作FCP。 统计逻辑 通过performance.getEntriesByType('paint’),取第二个pain的时间,或者通过Mutation Observer观察到首次节点变动的时间。如: const domEntries = [] const

线上图片请抛弃 PNG 和 JPG:使用 WebP

六月ゝ 毕业季﹏ 提交于 2020-05-08 18:44:56
了解一下这个开源的图片编辑工具来节省时间和空间。 WebP 是 2010 年 Google 开发的一种图片格式,它为网页上的图片提供了卓越的无损和有损压缩。网站开发者们可以使用 WebP 来创建尺寸更小、细节更丰富的图片,以此来提高网站的速度。更快的加载速度对于网站的用户体验和网站的营销效果是至关重要的。 为了在所有设备和用户中达到最佳加载效果,你网站上的图片文件大小不应该超过 500 KB。 与 PNG 图片相比,WebP 无损图片通常至少要比 PNG 图片小 25%。在同等的 SSIM(结构相似度structural similarity)质量指标下,WebP 有损图片通常比 JPEG 图片小 25% 到 34%。 无损 WebP 也支持透明度。而在可接受有损 RGB 压缩的情况下,有损 WebP 也支持透明度,通常其大小比 PNG 文件小三倍。 Google 报告称,把动画 GIF 文件转换为有损 WebP 后文件大小减少了 64%,转换为无损 WebP 后文件大小减少了 19%。 WebP 文件格式是一种基于 RIFF(资源互换文件格式resource interchange file format)的文档格式。你可以用 hexdump 看到文件的签名是 52 49 46 46 (RIFF): $ hexdump --canonical pixel.webp

[译]编写更快、更好的JavaScript的13个技巧

丶灬走出姿态 提交于 2020-05-02 09:51:07
10年前,亚马逊分享一个例子,每100毫秒的延迟都会是他们损失1%的销售收入,即在全年中,每增加1秒钟的加载时间将使该公司损失约16亿美元。同样,谷歌发现搜索页面的生成时间增加500毫秒,访问量将减少20%,潜在的广告收入也将减少五分之一。 我们中很少人可以像谷歌和亚马逊一样去处理这种大场面,但是,相同的原则也适用于更小规模的场景,速度更快的代码可以带来更好的用户体验,并且对业务更有利。特别是在web开发中,速度可能在与对手竞争中成为关键因素。在较快的网络上浪费的每一个毫秒,就会在较慢的网络上放大。 在本文中,我们将探讨13种提升JavaScript运行速度的实用技巧,无论你是写基于Node.js的服务端代码还是客户端的JavaScript代码。我已经提供了基于 jsperf.com 创建的性能测试用例。如果你想自己测试这些技巧,请确保点击这些链接。 Do It Less 最快的代码是那些从来不会运行的代码。 1. 删除无用的功能 开始着手优化已经写好的代码是一件很容易的事情,但是,对性能提升最大的方法往往来自于退后一步问问自己为什么我们的代码需要出现在这里。 在继续某项优化工作之前,问问自己你的代码是否真的需要做他现在所做的事情。这个功能里面的组件或者函数是否有必要?如果没有,请删掉它。这一步对提升代码速度非常重要,却很容易被忽略。 2. 避免无用的步骤 基准测试: jsperf

老板知道会点赞,前端开发人员的10个安全建议

蹲街弑〆低调 提交于 2020-04-28 10:32:29
Web安全是前端开发人员经常忽略的主题。当我们评估网站的质量时,我们通常会查看性能,SEO友好性和可访问性等指标,而网站抵御恶意攻击的能力却常常被忽略。即使敏感的用户数据存储在服务器端,后端开发人员也必须采取重要措施来保护服务器,但最终,保护数据的责任在后端和前端之间共享。虽然敏感数据可能被安全地锁在后端仓库中,但前端掌握着前门的钥匙,窃取它们通常是获得访问权限的最简单方法。 后端和前端之间共同承担保护用户数据的责任。 恶意用户可以采取多种攻击手段来破坏我们的前端应用程序,但是幸运的是,我们只需使用几个正确配置的响应头并遵循良好的开发实践,就可以在很大程度上减轻此类攻击的风险。在本文中,我将介绍10种简单的操作,可以通过这些简单的操作来改善对Web应用程序的保护。 测量结果 在我们开始改善网站安全性之前,重要的一点是要对我们所做更改的有效性提供反馈。虽然量化构成“良好开发实践”的内容可能比较困难,但是可以相当准确地度量安全头的强度。就像我们使用Lighthouse获取性能,SEO和可访问性分数一样,我们可以使用 SecurityHeaders.com 根据当前响应头获取安全分数。 SecurityHeaders可以给我们的最高分是“A+”,我们应该始终为此努力。 关于响应头的说明 处理响应头曾经是后端的任务,但是如今,我们经常将Web应用程序部署到Zeit或Netlify等

【开发者成长】Vue.js 中有哪些性能陷阱

大兔子大兔子 提交于 2020-04-06 12:52:08
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 我内心深处对游戏的热爱,让我一直渴望能自己制作一些电子游戏。几个月前我开始将这种梦想变为现实,并第一次参加了全球游戏大赛(Global Game Jam)。我和我的团队使用 Vue.js 构建了一个名为“ ZeroDaysLeft ”的游戏,其形式是 Web 端的单页面应用程序。这款游戏的主题是环境保护,我们考虑到商业活动对地球环境的影响,希望就这个话题做一些有益的探讨。使用 Vue.js 制作的游戏并不多。我的团队迟到了一天,然后用猜拳的方式选择了我们要用的框架;我们飞快地写完了代码,并在周末结束时做出了游戏的可运行版本。在本地测试时一切都很顺利。自然,我们为自己第一次写出来的游戏作品感到自豪,并希望与世界分享它。 可是问题出现了——当我们构建好应用并开始查询域时,内存占用爆表了。它几乎没法正常运行,不管换什么机器都会卡住不动,即使在强大的基于 Intel i7 处理器的系统上程序也会崩溃。游戏大赛的时间限制把我们拉回了现实,我们决定搁置生产性能问题,这样起码我们能做出一款能在自己的设备上运行的完整游戏。就像大部分的“已完成”项目一样,第二天我们就把它抛在脑后了。 但我自己没法释怀。它一直困扰着我。问题是出在 Vue.js 上吗?是 Netlify 吗?还是因为我们的取巧代码

Compiling Qt for iOS (UIKit lighthouse)

拜拜、爱过 提交于 2020-01-03 14:05:23
问题 I've been trying to compile Qt for iOS, but I've been having some crazy problems that noone else seems to be having (at least according to what I read in the past day). I followed the instructions from this article:article url I cloned a the latest Qt 4.8 from git: $ git clone git://gitorious.org/qt/qt.git I made the qt-lighthouse-ios-simulator folder, cd to it. I ran the long line of code from the article: $ ../qt/configure -qpa -xplatform qpa/macx-iphonesimulator-g++ -arch i386 -developer

Lighthouse audit says content not sized correctly for viewport, despite body width being 100%

末鹿安然 提交于 2019-12-30 17:28:34
问题 I have set the body css of my html page to 100% and with no margins or padding, but it still does not pass the following Google Lighthouse audit "Content Sized Correctly for Viewport". The audit passes if window.innerWidth === window.outerWidth It says the viewport size is 422px whereas the window size is 412px, so this means the window is 10px wider than wanted. When I inspect the body element, it is showing as being 412px wide. I would like to pass this audit, any ideas of what is causing

不用再看图片优化指南啦:v-img 介绍

我的梦境 提交于 2019-12-27 17:17:55
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 介绍 你是否早就看过所谓的万字长文,上面陈述了各种图片优化技巧,看完之后,你点赞、收藏,然后就下文了? 你是否早就听说了webp,但考虑到了兼容性,你又老老实实用回了jpg、png? 你是否在项目中拿到UI切的图片就用,使用 img 元素能显示就行,等项目上线了,才发现图片体积过大、刚打开首屏就发送了几十个图片请求,这时才想到对图片进行压缩、使用懒加载? 现在,使用 vue 技术栈的同学有福利啦。大家不需要再重复上述操作了,使用 v-img 组件,就可以解决上述烦恼。 你不需要掌握图片优化技巧、下载各种图片压缩工具,也不需要考虑 webp 的兼容性,也不用再去找懒加载的类库,这一切组件都帮你做了。 你继续使用 jpg、png,让组件帮你返回 webp,让图片加载更快,更节省流量,就是这样简单! 那么,这个组件到底怎么用呢?很简单,就是把代码里的 img 替换成 v-img 就可以了! 效果展示 说得这么神奇,到底效果如何,我们先来一睹为快。 懒加载 启用webp/使用阿里云OSS服务 启用webp/项目私有化部署 案例分析 下面来看一个项目在引入 v-img 前后的对比。 优化前 在没有使用 v-img 的时候,项目首页的加载情况是这样的: 如图所示, 首屏图片总体积为 947.1 KB,请求数量为 61 个。