如何在 Debian 和 Ubuntu 系统上安装/升级 PHP 8.2

如何在 Debian、Ubuntu 和其他基于 Ubuntu 的系统上安装 PHP 8.2
PHP 8.2带来了主要的新特性,例如只读类、新random扩展敏感参数编辑以及语言简化更改,包括动态属性的弃用和字符串插值相关的弃用。

注意:PHP 8.2 尚未达到 GA 版本,但
PHP 8.2 计划于 11 月 24 日发布。当第一个稳定的 PHP 8.2 版本发布时,此通知将被删除。在此之前,本指南的其余部分将安装 PHP 8.2 的最新候选版本。对于生产服务器,建议等到 GA 发布。

    

Progressive web apps 渐进式 Web 应用程序 (PWA)

渐进式 Web 应用程序(PWA) 是使用 service workersmanifests和其他 Web 平台功能与渐进式增强相结合的 Web 应用程序,为用户提供与本机应用程序同等的体验。

PWA 为用户提供了许多优势——包括可安装逐步增强响应式设计、可重新参与、可链接、可发现独立于网络安全

PWA 操作指南和其他文档

这些介绍性材料和分步指南将引导您了解构建 PWA

在 Linux 新版内核中的 Rust 初探,原来是这样的!

近来,Rust 爆火。

不久之前,53 岁的 Linus Torvalds 在出席 Linux 基金会主办的 2022 开源峰会时表示,下一个版本的 Linux 内核主线,可能就会合并 Rust 语言提交的 PR 分支。然而,在五天前有开发者询问 Linus 是否在 Linux 6.1 进行补丁合并时错过了一个 Git Pull 请求时,对方称他的电脑内存有问题,合并速度很慢,或将导致 Linux 6.1 补丁合并推迟。

正当众人怀疑他买了一个二手的翻新 ECC 时,10 月 13 日,Linux 内核开发者 Jonathan Corbet 惊喜地分享了一则关于“Linux 6.1 …

如何保持网页图像的纵横比:aspect-ratio vs width & height 属性

默认情况下,an<img>占用零空间,直到浏览器加载足够的图像以知道其尺寸:

一只黑猫,看着镜头,在他的背上滚动
塞纳猫

运行演示时,您会<figcaption>立即看到。然后,几秒钟后,这一段和随后的页面内容向下移动,为图像腾出空间。这使得用户体验非常令人沮丧,因为内容从用户的眼睛/手指/指针下方移出。

十多年来,我们不得不使用愚蠢的技巧来手动应用纵横比,然后,典型的,两个更好的解决方案几乎同时出现。它们是 CSSaspect-ratiowidth&height表示性提示。

那么,您应该使用哪个?首先,让我们看看这些功能是如何工作的,因为那里有很多错误信息……

CSS 纵横比

如果你这样做:

.aspect-ratio-demo {
  aspect-ratio: 16 / 9;
}

......你得到这个:

16 / 9

该功能于 2021 年末登陆 Safari 15 …

为什么您的网页大小应小于 14KB

也可以在dev.to上阅读(警告它远大于 14kB)

拥有一个较小的网站可以使其加载速度更快——这并不奇怪。

令人惊讶的是,一个14kB页面的加载速度比一个15kB页面快得多——也许更快——而一个页面和一个页面612ms之间的区别是微不足道的。15kB16kB

这是因为TCP 慢启动算法。本文将介绍它是什么,它是如何工作的,以及为什么你应该关心。但首先我们将快速回顾一些基础知识。

    

理解异步 JavaScript-学习JavaScript是怎么工作的

 

理解异步 JavaScript

学习 JavaScript 是怎么工作的

照片来自 Unsplash 的作者 Sean Lim

JavaScript 是一种单线程编程语言,这意味着同一时间只能完成一件事情。也就是说,JavaScript 引擎只能在单一线程中处理一次语句。

单线程语言简化了代码编写,因为你不必担心并发问题,但这也意味着你无法在不阻塞主线程的情况下执行网络请求等长时间操作。

想象一下从 API 中请求一些数据。根据情况,服务器可能需要一些时间来处理请求,同时阻塞主线程,让网页无法响应。

这也就是异步 JavaScript 的美妙之处了。使用异步 JavaScript(例如回调,Promise 或者 async/await),你可以执行长时间网络请求同时不会阻塞主线程。

虽然您没有必要将所有这些概念都学会成为一名出色的 JavaScript 开发人员,但了解这些对你会很有帮助 🙂…

使用async属性异步加载执行JavaScript

HTML5让我兴奋的一个最大的原因是,它里面实现的新功能和新特征都是我们长久以来一直期待的。比如,我以前一直在使用placeholders,但以前必须要用JavaScript实现。而HTML5里给JavaScript标记提供的async属性,使JavaScript能异步加载执行。之前我需要各种的JavaScript插件来实现这种功能,但现在这个新属性能让我们轻松的实现异步加载。…

        

写好 JavaScript 异步代码的几个推荐做法

今天给大家来推荐几个写好 JavaScript 异步代码的推荐做法,每种场景都有一个对应的 eslint 规则,大家可以选择去配置一下。

no-async-promise-executor

不建议将 async 函数传递给 new Promise 的构造函数。

// ❌
new Promise(async (resolve, reject) => {});

// ✅
new Promise((resolve, reject) => {});

首先,你在 Promise 的构造函数里去使用 async ,那么包装个 Promise 可能就是没啥必要的。另外,如果 async 函数抛出了异常,新构造的 promise 实例并不会 reject ,那么这个错误就捕获不到了。…

现代 JavaScript,你应该使用的 10 件事,从今天开始

在Twitter 上关注我,很高兴收到您对主题或改进的建议/Chris

您可能对 JavaScript 完全陌生,或者多年来您可能只是偶尔使用它。不过有一件事很清楚 - 很多东西都发生了变化,并且您应该使用一些功能。这篇文章描述了我认为你应该每天使用的特性,如果你对 JavaScript 很认真的话

 

资源

这些是我最喜欢的 ES6+ 资源:

-1- 扩展运算符

这被表示为...一个对象或数组的前面,并完成了名字所说的,它将某些东西从一个结构变成了一个逗号分隔的列表。让我们演示一下:

展开数组

let firstHalf = [ 'one', 'two'];
let secondHalf = [