Author: admin

PHP 8.2发布了!

PHP 8.2发布了!

PHP 8.2 为性能和细粒度类型安全、readonly类、敏感参数编辑支持、新random扩展和许多新功能带来了类型系统改进,以及一些旨在简化和现代化 PHP 语言的更改,例如:
只读类 (Readonly classes)

析取范式 (DNF) 类型
新的独立类型:null、false 和 true
新的 “Random” 扩展
traits 中的常量
弃用动态属性。

PHP 8.2 新特性

基于 NT 架构全新升级,Linux QQ 今日开启公测

时隔 3 年,Linux QQ 基于 NT 架构迎来全新升级。今日(12 月 7 日)起,全新 Linux QQ 正式开启公测

QQ

下载链接:deb | rpm | AppImage

需要注意的是,全新 Linux QQ 暂时只支持 x64 架构,arm64 架构还在加急适配中

IT之家了解到,本次更新也意味着,QQ 再次覆盖了 Windows、macOS、Android、iOS、Linux 等多种主流平台。根据此前信息,全新 Linux QQ…

Android内存安全漏洞大幅减少,Rust成为关键因素

Android 12 开始,Google 就在 Android 系统中带来了 Rust 语言的支持,作为 C/C 的替代方案,他们的目标并不是把现有的 C/C 代码都转换成为 Rust,而是在新编写的代码中使用 Rust 语言开发。
通过将越来越多的 Rust 代码集成到其 Android 操作系统中,Google 在减少漏洞方面的努力最终是获得了回报。
Google 在公告中表示,"在过去几年 / 几个 Android 系统版本中,内存安全漏洞的数量大幅下降"。…

Axios 基于 Promise 的 HTTP 客户端

Axios ,基于 Promise 的 HTTP 客户端,可以工作于浏览器中,也可以在 node.js 中使用。

功能:

  • 从浏览器中创建 XMLHttpRequest
  • 从 node.js 中创建 http 请求
  • 支持 Promise API
  • 拦截请求和响应
  • 转换请求和响应数据
  • 取消请求
  • 自动转换 JSON 数据
  • 客户端支持防止 XSRF 攻击

示例代码:

执行一个 GET 请求

// Make a request for a user 
    

所有 PHP 7.x 版本现在都是 EOL(寿命终止)

PHP 7.4 是 PHP 7.x 系列的最后一个版本,今天达到了生命周期结束日期。这实质上意味着不会对任何 PHP 7 版本进行错误或安全修复。

PHP 7.0.0 是 PHP 7.x 系列的第一个版本,于 2015 年 12 月发布,对该语言进行了几项重大改进。PHP 7.0 是为 PHP 带来标量类型(stringint,float等)以及返回类型支持的版本。它还添加了对抽象语法树 (AST) 的支持,并删除了许多已弃用和过时的功能(例如mysql扩展)。

PHP 7.x 系列中的一些主要功能里程碑包括:

  • 2016 年的 PHP

在初创公司使用 Rust:一个警示故事

在某些方面,Rust 很棒。但是,在为需要快速行动的初创公司选择它之前请三思。

我在写这篇文章时犹豫不决,因为我不想开始或卷入一场关于编程语言的圣战。(只是为了摆脱火焰诱饵,Visual Basic 是有史以来最好的语言!)但是我有很多人问我关于 Rust 的经验以及他们是否应该为他们的项目选择 Rust。因此,我想分享一些我在创业环境中使用 Rust 的利弊,在这种环境中快速移动和扩展团队非常重要。

我想明确一点,我在某些方面是 Rust 的粉丝。这篇文章不是关于 Rust 作为一种语言或任何类似的语言有多糟糕。然而,我确实想谈的是,使用 Rust 几乎肯定会对生产力造成重大影响,如果你想快速行动,这可能是一个主要因素。仔细权衡速度影响是否值得您的公司和产品使用该语言带来的好处。

就在前面,我应该说Rust 非常擅长它的设计目的,如果你的项目需要 Rust 的特定好处(一种具有高性能、超强类型、不需要垃圾收集等的系统语言)那么 Rust 是一个不错的选择。但我认为 Rust 通常用于不太适合的情况,团队付出了 Rust 的复杂性和开销的代价,却没有获得太多好处。

我对 Rust 的主要体验来自于在之前的一家初创公司使用它工作了 2 年多一点。这个项目是一个基于云的 SaaS 产品,或多或少是一个传统的 CRUD

TypeScript 这十年

今天是 TypeScript 的生日!但是这个生日很特别——10 年前的今天,2012 年 10 月 1 日,TypeScript 首次公开亮相。

 

早期的情况

当 TypeScript 首次亮相时,有很多人持怀疑态度,这也是可以理解的。对于一些 JavaScript 用户来说,一个试图将静态类型引入 JavaScript 的团队可能听起来像是一个邪恶的组织,甚至可视为一个阴谋或笑话。

但是这些功能是有价值的,对吗?类型检查,在你保存文件之前捕捉 Bug,并获得丰富的编辑器功能,如代码完成、导航和重构?我们知道公司内外部的团队在处理复杂的 JavaScript 代码库时遇到了巨大的挑战,而且我们知道 JavaScript 将被广泛使用。因此,谁不希望有强大的工具来帮助编写它呢?对于团队来说,TypeScript 初心未变,一如最初在发布 TypeScript 时所述的那样,“在大型应用开发中使用 JavaScript 开发!"。…

在 Progressive Web Apps 中添加自定义安装按钮

前几天,我正在寻找一种在我的记事本应用程序中添加自定义“安装”按钮的方法,该应用程序本质上是一个渐进式 Web 应用程序 (PWA)

介绍

为了给你一个入门,当你打开一个 PWA 时,一个beforeinstallprompt事件会在支持的浏览器中被触发。触发此事件时,浏览器会像这样向用户显示安装弹出窗口。

原生 PWA 弹窗

然后,用户可以通过点击“安装”按钮或关闭弹出窗口来选择安装应用程序。那么,如果您想在用户关闭安装弹出窗口后再次提醒他们安装您的 PWA 怎么办?

为了解决这个问题,你可以做的是在你的应用程序本身的某个地方显示一个自定义的“安装”按钮,这将触发用户安装你的 PWA。

这也正是我在记事本PWA 中所做的。我是如何做到这一点的?继续阅读以了解如何操作。

您可能喜欢:检查 PWA 是否作为独立应用程序打开

JavaScript 中内存泄漏的原因以及如何避免它们

当涉及到“老式”网页时,对内存管理的关注不足通常不会产生戏剧性的后果。当用户浏览链接并加载新页面时,每次加载都会从内存中删除页面信息。

SPA(单页应用程序)的兴起促使我们更加关注与内存相关的 JavaScript 编码实践。如果应用程序开始逐渐使用越来越多的内存,那会严重影响性能甚至导致浏览器的选项卡崩溃。

在本文中,我们将探讨导致 JavaScript 内存泄漏的编程模式,并解释如何改进内存管理。

H264编码profile & level控制

背景知识

先科普一下profile&level。(这里讨论最常用的H264)
H.264有四种画质级别,分别是baseline, extended, main, high:
1、Baseline Profile:基本画质。支持I/P 帧,只支持无交错(Progressive)和CAVLC;
2、Extended profile:进阶画质。支持I/P/B/SP/SI 帧,只支持无交错(Progressive)和CAVLC;(用的少)
3、Main profile:主流画质。提供I/P/B 帧,支持无交错(Progressive)和交错(Interlaced), …