React18 的 useEffect 会执行两次的 Feature
背景描述 前段时间在一个 React 项目中,在编码的过程中遇到一个很奇怪的“Bug”。 其中简化版的代码如下所示。 // 入口文件 import { StrictMode } from 'react'; import * as ReactDOMClient from 'react-dom/client'; import App from './App'; const root = Re...
背景描述 前段时间在一个 React 项目中,在编码的过程中遇到一个很奇怪的“Bug”。 其中简化版的代码如下所示。 // 入口文件 import { StrictMode } from 'react'; import * as ReactDOMClient from 'react-dom/client'; import App from './App'; const root = Re...
什么是硬件直通 硬件直通概念 硬件直通是一种虚拟化技术,它允许虚拟机(VM)直接访问和独占使用物理主机上的某个硬件设备,而无需通过 hypervisor(虚拟机监控器)进行模拟或中介。 简而言之,它就像是给虚拟机开了一个“专属通道”,让它感觉自己在使用一个真实的、非虚拟化的硬件设备。 核心原理与作用 绕过 Hypervisor 在传统的虚拟化架构中,所有硬...
UFW 简介 UFW 是 Uncomplicated Firewall(不复杂的防火墙) 的简称,是一个用于在 Linux 系统中管理防火墙规则的命令行工具。它是一种用户友好的前端工具,用于简化底层的 iptables 配置,让用户可以更轻松地创建和管理防火墙规则,以限制网络流量并保护服务器。 主要特点和作用 简化 iptables 配置: UFW 实际上是 Linux 内核内置...
接口幂等性问题,对于开发人员来说,是一个跟语言无关的公共问题。本文分享了一些解决这类问题常见的办法 接口幂等性和使用场景 幂等性定义 不知道你有没有遇到过这些场景: 有时我们在填写某些form表单时,保存按钮不小心快速点了两次,表中竟然产生了两条重复的数据,只是id不一样。 我们在项目中为了解决接口超时问题,通常会引入了重试机制。第一次请求接口超时了,请求方没能及时获取返回结...
WSL简介 WSL(Windows Subsystem for Linux)允许开发人员在 Windows 系统上直接运行 Linux 发行版,例如 Ubuntu、Debian、Kali 等,而无需传统虚拟机的复杂配置或双系统设置的开销。 🚀 WSL 的目标是为想要同时利用 Windows 和 Linux 的优势的开发人员提供一个无缝且高效的体验。 原生 Linux 环境: 你可...
毛玻璃效果(Glassmorphism)是目前非常流行的设计新趋势,你可以在 Dribbble 等网站上看到毛玻璃效果,甚至像 Apple 和 Microsoft 这样的大公司也在使用它。 什么是毛玻璃效果 基本上,它的主要特征就是半透明的背景,以及阴影和边框。 同时还要为背景加上模糊效果,使得背景之后的元素根据自身内容产生漂亮的“变形”效果。 示例: 这是一个应用毛玻璃效果的...
基本语法 在python开发的过程中,经常会遇到需要打印各种信息。海量的信息堆砌在控制台中,就会导致信息都混在一起,降低了重要信息的可读性。这时候,如果能给重要的信息加上字体颜色,那么就会更加方便用户阅读了。 在 Python 中控制 print 输出颜色主要使用 ANSI 转义码 (ANSI Escape Codes) 这是跨平台兼容性最好的方法,但在 Windows 系统上可能...
使用 Sleep() 函数 第一种办法是最简单又最暴力。那就是在一个死循环中,使用线程睡眠函数 sleep()。 from datetime import datetime import time ''' 每个 10 秒打印当前时间。 ''' def timedTask(): while True: print(datetime.now().strftime("...
我们一般使用 SSH 客户端来远程管理 Linux 服务器。但是,一般的密码方式登录,容易有密码被暴力破解的问题。所以,一般我们会将 SSH 的端口设置为默认的 22 以外的端口,或者禁用 root 账户登录。其实,有一个更好的办法来保证安全,而且让你可以放心地用 root 账户从远程登录——那就是通过密钥方式登录。 密钥形式登录的原理是:利用密钥生成器制作一对非对称密钥(一只公钥和一只私...
反代中配置上游为什么需要SNI 在配置 CDN(内容分发网络)或任何其他反向代理时,需要配置回源 SNI (Server Name Indication) 的根本原因是为了正确地与使用 HTTPS/SSL 的源站建立连接,尤其当源站的同一 IP 地址上托管了多个 HTTPS 域名时。 如果没有回源 SNI,代理服务器(如 CDN 边缘节点或 Nginx)将无法知道它应该请求哪个域名的证书...