聊聊Web网页中资源加载的优先级
通过调整或设置资源加载的优先级或者先后顺序,可以让页面重要的资源优先加载,让不重要的内容之后加载,以提高页面的访问体验。
通过文中的视频比较显示了 Google 机票页面,其中加载了使用和不使用“提取优先级”加载的 LCP 背景图片。将优先级设置为“高”后,LCP 时间从 2.6 秒缩短到 1.9 秒。
通过调整或设置资源加载的优先级或者先后顺序,可以让页面重要的资源优先加载,让不重要的内容之后加载,以提高页面的访问体验。
通过文中的视频比较显示了 Google 机票页面,其中加载了使用和不使用“提取优先级”加载的 LCP 背景图片。将优先级设置为“高”后,LCP 时间从 2.6 秒缩短到 1.9 秒。
如何深入理解 Go 的内部数据结构?文章以 BitVec 为例,详细解析了其设计原理、实现方式以及在不同场景中的应用,还探讨了相关的性能优化策略和工程实践。这是一篇高质量的技术解读,为开发者学习 Go 的底层实现提供了宝贵的参考!
在 Electron 和 Web 环境下如何统一展示原生和自定义菜单?本文提供了通用的解决方案,通过封装组件和调用方法,解决了两种环境下菜单交互不一致的问题。如果你正在开发跨平台应用,这篇文章能为你提供实用的开发技巧!
文章探讨了Web开发中使用<dialog>元素和其他顶层特性的方法和潜在问题。作者介绍了如何通过showModal()方法使<dialog>元素成为顶层,从而覆盖页面其他元素,并详细讨论了顶层元素带来的显示问题及其解决方案,如使用showPopover()方法显示自定义提示信息。此外,文章还分享了对未来技术兼容性和实用性的见解。
文章介绍了如何通过简单的Web技术实现图片的马赛克效果。作者主要讨论了使用SVG滤镜来实现此效果,尤其是通过使用像<feFlood>、<feComposite>和<feMorphology>等SVG元素。此外,文章还探讨了通过CSS属性image-rendering: pixelated来模拟马赛克效果的方法,即通过放大小图片来达到效果。文中提供了详细的示例和代码片段来帮助实现这些效果。
在翻译的从慢速到SIMD一文中, SourceGraph工程师其中的一个优化就是边界检查消除(BCE,bounds check elimination)技术,同时他也抛给了读者一个问题:
为啥在使用 a[i:i+4:i+4] 而不是 a[i:i+4]?
本文第一部分先回答这个问题。 第二部分介绍更好的边界检查消除方法。 第三部分再全面梳理Go的边界检查消除技术。
写过文档的大佬们都知道 MDX 这个东西,对原本的 Markdown 进行了扩展,可以在 Markdown 中直接使用框架组件(React,Vue 等等)。
现在也有很多静态生成的博客使用 MDX 去编写博文,在博文中内嵌了 React 组件,在一些需要交互式的场景中,在传统的 Markdown 只能展示内容,而使用了组件就可以把死的文字变活。
MDX 的原理是在项目构建时,解析 Markdown 抽象语法树,把引入的组件进行了编译,然后嵌入到了文章内部。
而使用 MDX,就必须要引入编译时。而对于 CMS 类型的博客网站,因为内容都是动态生成的,就无法使用 MDX。
那么有没有办法去想一个歪路子去实现呢。
现代的 Web 开发中,CLS(Cumulative Layout Shift)是一个关键的 性能指标,它主要关注用户在 Web 网页的使用中,发生意外布局偏移(Layout Shift)、影响用户体验的情况。导致 Layout Shift 的因素很多,这里主要讨论的是图片加载过程的影响。
Web 领域已发展得十分庞杂,就知识规模来说已不是你我一个人可以穷尽。从 Web 前后端开发角度来看,前端当下正流行着 Next.js、Remix 等 SSR 方案、以及 React 后续继续开发的 Server Component 等等;后端方面则搞出了“云原生”相关的一整套技术生态,各路轮子百花齐放,一不留神就容易沉迷其中而难以自拔。
对于开发者来说,越来越重要的事情也是,放下“穷尽一切”的执念,寻找属于自己的一隅落脚之地。在学习精力、时间有限的背景下,关注点也需要开始区分优先级,关于哪些技术细节值得关注,哪些其实不必花太多时间。
在这寻找落脚之地的旅程中,对事物发展的脉络有一个大致的把握,也变得越来越重要。大致也是需要搞清楚,当前 Web 技术大概发展到了什么样的程度,当下有什么问题正在被解决,哪些技术又可能成为历史包袱被淘汰。
想起我自初中开始接触编程至今,冥冥中伴随着 HTML5 技术从萌芽到成熟的过程,当下 HTML5 已融入我们生活方方面面,乃至于已向客户端开发领域进一步扩展。也许可以就我的所见所想,简单理一理其中经历的一些比较关键的形态,也让我对接下来时间精力大概可以投向的方向有所感知。至于技术细节,网络上有着丰富的资料,这里就不再赘述。
随着分布式架构逐渐成为主流,“可观测性”一词也日益频繁地被人提起,它涉及的范围比较广泛,主要概括为如下三类:聚合度量(metrics)、事件日志(logging)、链路追踪(tracing)。
这三个方向虽然各有千秋,各有侧重,但是又不完全独立。在Peter Bourgon 的文章《Metrics, Tracing, and Logging》系统地阐述了这三者的定义、特征,以及它们之间的关系与差异,受到了业界的广泛认可。在实际的工作中,大家或多或少对上面三种都有一定的了解,只是没有机会或者没有需求去深入研究。