我从参加#PerfMatters会议中学到的东西

by Stacey Tay

通过史黛西泰

从参加#PerfMatters会议中学到的东西 (What I learned from attending the #PerfMatters conference)

前端的网络运行情况发布会上的注意事项 (Notes from a front-end web performance conference)

This week I had the privilege of attending #PerfMatters, a conference focused on front-end web performance. I’ve never been to a conference before, but I was thrilled to be attending because it promised an amazing lineup of speakers and topics.

本周,我有幸参加了#PerfMatters ,这是一个有关前端Web性能的会议。 我以前从未参加过会议,但是我很高兴参加会议,因为会议答应了精彩的演讲者和主题 阵容 。

I started delving into web performance about over a year ago, and so thought this would be a great chance to deepen my knowledge and meet other people in the community.

大约一年多以前,我开始研究网络性能 ,因此认为这是加深我的知识并结识社区中其他人的好机会。

This post consists of three parts:

这篇文章包括三个部分:

(1) my experience attending the conference,

(1)我参加会议的经验,

(2) some of the things I learnt at the conference, and

(2)我在会议上学到的一些东西,以及

(3) parting thoughts.

(3)离别思想。

关于会议体验的思考 (Thoughts on the conference experience)

每个人都很友好和平易近人 (Everyone is so friendly and approachable)

I went alone and it was a fairly intimidating experience, since I’m generally a shy person and can take awhile to warm up. But, I made a rule to not sit alone during lunch and to try to talk to at least 2 people each day. I’m glad I did because everyone I met was nice and fun to talk to.

我一个人去,那是相当令人生畏的经历,因为我通常是一个害羞的人,可能需要一段时间才能热身。 但是,我制定了一个规则,不要在午餐时间独自一人坐,并且每天尝试与至少2个人交谈。 我很高兴,因为我遇到的每个人都很好并且很有趣。

I ended up meeting a lot of people, talking about things ranging from the PRPL pattern, experimenting with Cloudflare workers to better serve users in Australia (from servers in the US), functional programming’s increasing prevalence in front-end web development, and how to get started with snowboarding (not performance related, in case you’re wondering).

我最终结识了很多人,讨论了从PRPL模式 ,尝试Cloudflare工作者以更好地为澳大利亚的用户提供服务(来自美国的服务器),函数式编程在前端Web开发中日益普及的各种事情。开始使用单板滑雪(与性能无关,如果您想知道的话)。

这次谈话真是太神奇了 (The talks were absolutely amazing)

All the speakers had something related to web performance in one form or another to talk about, and it was obvious that they put in a lot of effort into their presentations. Jenna Zeigen’s talk covered a long list of performance tricks and each of her points had a song lyric to go along with them, which was so entertainingly informative. She told me that it took her about 15 minutes for each song and there’s like over 30 in there ?

所有发言人都以一种或另一种形式谈论与网络性能有关的事情,很明显,他们在演讲中付出了很多努力。 珍娜·泽根 ( Jenna Zeigen )的演讲涵盖了一长串表演技巧,她的每一个要点都带有一首歌词, 与之融为一体 。 她告诉我,每首歌花了她大约15分钟,那里大概有30多分钟?

Videos of the talks should be announced on @perfmattersconf soon, but a number of the slides have already been published with #perfmattersconf.

会谈的影片应在公布@perfmattersconf很快,但一些幻灯片已经出版了#perfmattersconf 。

讲座涵盖了网络性能方面的许多方面 (The talks cover the many facets of working on web performance)

Improving a web page’s performance isn’t just a one-off audit, fixing the problems that makes that page slow, and then moving on. It takes a concerted effort from all stakeholders—business, design, engineering, marketing, product—in an organisation to get and stay fast.

改善网页的性能不仅是一次性审核,更正了使网页变慢的问题,然后继续进行。 在组织中, 所有利益相关者(业务,设计,工程,市场营销,产品)需要齐心协力 ,以保持并保持快速发展。

The talks weren’t all just about how we could improve TTIs or load times, which are important. But, they also covered the other important parts of making the web accessible and usable for as many people as possible. From how people perceive performance to empowering a performance culture, and from how privilege defines performance to the intersection of performance and accessibility.

讨论不仅涉及如何改善TTI或加载时间,这很重要。 但是,它们还涵盖了使尽可能多的人可以访问和使用Web的其他重要部分。 从人们对绩效的看法到授权绩效文化 ,从特权如何定义绩效到绩效与可访问性的交集 。

非详尽的性能提示和技巧列表 (A non-exhaustive list of performance tips and tricks learnt)

Some, if not all, of these might be common knowledge, but many were new to me.

这些中的一些(如果不是全部)可能是常识,但是许多对我来说是新的。

表演文化 (Performance Culture)

  • Empower developers with tools to enable better performance. Also, make performance part of the development process.

    使开发人员能够使用工具来实现更好的性能。 另外, 将性能作为开发过程的一部分 。

  • Compare your site with your competitors’ to get executive buy-in on driving performance. Use WebPagetest’s side-by-side video comparison of your webpage against a competitor’s loading journey to succinctly drive your point across.

    将您的网站与竞争对手的网站进行比较,以获取高管对绩效的支持。 使用WebPagetest对您的网页进行的并行视频比较 ,与竞争对手的加载过程进行比较 ,以简洁地传达您的观点。

  • Measure the potential annual revenue gains from increasing site speed with Google’s Test My Site tool.

    使用Google的“测试我的网站”工具来 衡量提高网站速度可能带来的潜在年度收益

网络性能 (Performance on the Web)

  • Latency has an outsized impact over bandwidth on network requests.

    延迟对带宽对网络请求的影响很大

  • SVG animations are great for animating loaders because of their (relatively) smaller sizes.

    SVG动画 (相对)较小, 因此非常适合动画加载器

  • Squeeze your page into 14KB if possible, to avoid multiple round trips because of TCP slow-start.

    如果可能,将页面压缩到14KB ,以避免由于TCP慢启动导致多次往返 。

  • Not all CDNs are doing HTTP/2 prioritisation as expected.

    并非所有CDN都按预期执行HTTP / 2优先级划分。

  • If you have to use web fonts, Zach Leatherman wrote a great guide on how to load them well.

    如果您必须使用网络字体 , Zach Leatherman撰写了一份很好的指南,介绍了如何很好地加载它们 。

  • Perceived performance is influenced by duration (actual duration that a process takes, referred to as “performance”), responsiveness, fluency (perceived smoothness of a process), and tolerance (how long does the user expect a process to take). Slides from Gemma Petrie and Heather McGaw’s talk on Measuring Perceived Performance to Prioritize Product Work.

    感知的性能受 持续时间 (一个过程所花费的实际持续时间,称为“性能”), 响应能力流畅性 (一个过程的感知平滑度)和容忍度 (用户期望一个过程花费多长时间)的影响。 来自Gemma Petrie和Heather McGaw的演讲的幻灯片 ,该演讲涉及衡量感知性能以优先进行产品工作

一些整洁的工具 (Some Neat Tools)

  • Chrome’s code coverage tool is useful for determining where and when to code-split stuff out. Interact with the page a little to see how the numbers change, and according to Tim Kaldec, about 45% unused code is normal and it’ll be diminishing marginal gains to optimise over that.

    Chrome的代码覆盖率工具对于确定何时何地对内容进行代码拆分很有用。 与页面进行一些交互以查看数字如何变化,并且根据Tim Kaldec的说法 ,大约有45%的未使用代码是正常的,因此优化该代码将减少边际收益。

  • Chrome’s override network resource feature allows developers to return a locally saved file, which is useful for debugging something on the fly.

    Chrome的覆盖网络资源功能使开发人员可以返回本地保存的文件,这对于动态调试某些内容很有用。

  • Google Docs Spreadsheet to do bulk WebPagetest audits.

    Google Docs Spreadsheet可以进行批量的WebPagetest审核

  • Online JavaScript AST explorer (alright, this one isn’t exactly related to web performance, but I found out about it during the conference and can’t stop playing with it).

    在线JavaScript AST资源管理器 (好吧,这与网络性能并不完全相关,但是我在会议期间发现了它,因此无法停止使用它)。

  • Request Map creates a network graph from a web page and is useful for visualising third party requests.

    请求地图可从网页创建网络图,对于可视化第三方请求非常有用。

离别的想法 (Parting Thoughts)

If there’s one overarching theme I got from the conference, it’s that to be good at web performance, it’s crucial to understand how the browser works (things like how rendering happens and the critical rendering path). But, performance doesn’t just stop at technical gains.

如果有一个最重要的主题我从会上得到的,那就是要善于Web性能,它的关键是要了解如何 在浏览器 作品 (已经是如何渲染发生和关键渲染路径 )。 但是, 性能不仅止于技术进步

Getting buy-in from all stakeholders, not just engineering, is crucial to improving and maintaining performance because web performance goes beyond loading a page as fast as possible.
从所有利益相关者那里获得购买的支持,而不仅仅是工程方面的支持,对于提高和维护性能至关重要,因为Web性能不仅限于尽可能快地加载页面。

There’s also perceived performance to consider, and then determining whether further improvements in performance creates additional significant business or user improvements. It’s important to keep in mind that performance is just one part of the user experience.

还需要考虑性能 ,然后确定性能的进一步提高是否会带来其他重要的业务或用户改进 。 重要的是要记住, 性能只是其中一个用户体验的一部分是很重要的。

I didn’t take too many photos during the conference (note to self to definitely take more photos the next time), but I did manage to snap this one.

会议期间我没有拍太多照片(请注意,下次一定要拍更多照片),但是我确实设法拍了一张。

If you’re interested in web performance or just web development in general, this is an amazing conference to check out and it’s scheduled to happen next year too! There’s also a scholarship program for those unable to attend without financial assistance. Looking forward to seeing you there next year!

如果你有兴趣在网络性能或只是Web开发总的来说,这是一个了不起的会议,以检查和它预定明年要发生呢! 还有一个奖学金计划,针对那些没有经济援助就无法参加的人。 期待明年与您相见!

Thanks to Hui Yi, Jingwen Chen, and Yao Hui Chua for reading an earlier draft and sharing their feedback.

感谢Hui Yi , Chenjingwen Chen和Yao Hui Chua阅读早期的草稿并分享他们的反馈。

翻译自: https://www.freecodecamp.org/news/thoughts-and-learnings-from-perfmatters-2019-c5d4daa8519/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/391711.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

修改innodb_flush_log_at_trx_commit参数提升insert性能

最近,在一个系统的慢查询日志里发现有个insert操作很慢,达到秒级,并且是比较简单的SQL语句,把语句拿出来到mysql中直接执行,速度却很快。 这种问题一般不是SQL语句本身的问题,而是在具体的应用环境中&#…

leetcode 1178. 猜字谜(位运算)

外国友人仿照中国字谜设计了一个英文版猜字谜小游戏,请你来猜猜看吧。 字谜的迷面 puzzle 按字符串形式给出,如果一个单词 word 符合下面两个条件,那么它就可以算作谜底: 单词 word 中包含谜面 puzzle 的第一个字母。 单词 word…

Nexus3.x.x上传第三方jar

exus3.x.x上传第三方jar: 1. create repository 选择maven2(hosted),说明: proxy:即你可以设置代理,设置了代理之后,在你的nexus中找不到的依赖就会去配置的代理的地址中找hosted:你可以上传你自…

责备的近义词_考试结果危机:我们应该责备算法吗?

责备的近义词I’ve been considering writing on the topic of algorithms for a little while, but with the Exam Results Fiasco dominating the headline news in the UK during the past week, I felt that now is the time to look more closely into the subject.我一直…

电脑如何设置终端设置代理_如何设置一个严肃的Kubernetes终端

电脑如何设置终端设置代理by Chris Cooney克里斯库尼(Chris Cooney) 如何设置一个严肃的Kubernetes终端 (How to set up a serious Kubernetes terminal) 所有k8s书呆子需要的CLI工具 (All the CLI tools a growing k8s nerd needs) Kubernetes comes pre-packaged with an ou…

spring cloud(二)

1. Feign应用 Feign的作用&#xff1b;使用Feign实现consumer-demo代码中调用服务 导入启动器依赖&#xff1b;开启Feign功能&#xff1b;编写Feign客户端&#xff1b;编写一个处理器ConsumerFeignController&#xff0c;注入Feign客户端并使用&#xff1b;测试 <dependen…

c/c++编译器的安装

MinGW(Minimalist GNU For Windows)是个精简的Windows平台C/C、ADA及Fortran编译器&#xff0c;相比Cygwin而言&#xff0c;体积要小很多&#xff0c;使用较为方便。 MinGW最大的特点就是编译出来的可执行文件能够独立在Windows上运行。 MinGW的组成&#xff1a; 编译器(支持C、…

渗透工具

渗透工具 https://blog.csdn.net/Fly_hps/article/details/89306104 查询工具 https://blog.csdn.net/Fly_hps/article/details/89070552 转载于:https://www.cnblogs.com/liuYGoo/p/11347693.html

numpy 线性代数_数据科学家的线性代数—用NumPy解释

numpy 线性代数Machine learning and deep learning models are data-hungry. The performance of them is highly dependent on the amount of data. Thus, we tend to collect as much data as possible in order to build a robust and accurate model. Data is collected i…

spring 注解方式配置Bean

概要&#xff1a; 再classpath中扫描组件 组件扫描&#xff08;component scanning&#xff09;&#xff1a;Spring可以从classpath下自己主动扫描。侦測和实例化具有特定注解的组件特定组件包含&#xff1a; Component&#xff1a;基本注解。标示了一个受Spring管理的组件&…

主成分分析 独立成分分析_主成分分析概述

主成分分析 独立成分分析by Moshe Binieli由Moshe Binieli 主成分分析概述 (An overview of Principal Component Analysis) This article will explain you what Principal Component Analysis (PCA) is, why we need it and how we use it. I will try to make it as simple…

扩展方法略好于帮助方法

如果针对一个类型实例的代码片段经常被用到&#xff0c;我们可能会想到把之封装成帮助方法。如下是一段针对DateTime类型实例的一段代码&#xff1a;class Program{static void Main(string[] args){DateTime d new DateTime(2001,5,18);switch (d.DayOfWeek){case DayOfWeek.…

零元学Expression Blend 4 - Chapter 25 以Text相关功能就能简单做出具有设计感的登入画面...

原文:零元学Expression Blend 4 - Chapter 25 以Text相关功能就能简单做出具有设计感的登入画面本章将交大家如何运用Blend 4 内的Text相关功能做出有设计感的登入画面 让你五分钟就能快速做出一个登入画面 ? 本章将教大家如何运用Blend 4 内的Text相关功能做出有设计感的登入…

leetcode 395. 至少有 K 个重复字符的最长子串(滑动窗口)

给你一个字符串 s 和一个整数 k &#xff0c;请你找出 s 中的最长子串&#xff0c; 要求该子串中的每一字符出现次数都不少于 k 。返回这一子串的长度。 示例 1&#xff1a; 输入&#xff1a;s “aaabb”, k 3 输出&#xff1a;3 解释&#xff1a;最长子串为 “aaa” &…

冠状病毒时代的负责任数据可视化

First, a little bit about me: I’m a data science grad student. I have been writing for Medium for a little while now. I’m a scorpio. I like long walks on beaches. And writing for Medium made me realize the importance of taking personal responsibility ove…

集合_java集合框架

转载自http://blog.csdn.net/zsw101259/article/details/7570033 Java集合框架图 简化图&#xff1a; Java平台提供了一个全新的集合框架。“集合框架”主要由一组用来操作对象的接口组成。不同接口描述一组不同数据类型。 1、Java 2集合框架图 ①集合接口&#xff1a;6个…

显示随机键盘

显示随机键盘 1 <!DOCTYPE html>2 <html lang"zh-cn">3 <head>4 <meta charset"utf-8">5 <title>7-77 课堂演示</title>6 <link rel"stylesheet" type"text/css" href"style…

数据特征分析-统计分析

一、统计分析 统计分析是对定量数据进行统计描述&#xff0c;常从集中趋势和离中趋势两个方面分析。 集中趋势&#xff1a;指一组数据向某一中心靠拢的倾向&#xff0c;核心在于寻找数据的代表值或中心值-统计平均数&#xff08;算数平均数和位置平均数&#xff09; 算术平均数…

心学 禅宗_禅宗宣言,用于有效的代码审查

心学 禅宗by Jean-Charles Fabre通过让查尔斯法布尔(Jean-Charles Fabre) 禅宗宣言&#xff0c;用于有效的代码审查 (A zen manifesto for effective code reviews) When you are coding, interruptions really suck.当您编码时&#xff0c;中断确实很糟糕。 You are in the …

leetcode 896. 单调数列

如果数组是单调递增或单调递减的&#xff0c;那么它是单调的。 如果对于所有 i < j&#xff0c;A[i] < A[j]&#xff0c;那么数组 A 是单调递增的。 如果对于所有 i < j&#xff0c;A[i]> A[j]&#xff0c;那么数组 A 是单调递减的。 当给定的数组 A 是单调数组…