编程

envoy 会取代 nginx 吗?

1648 2023-03-29 05:31:00

Envoy 和 Nginx 是两种不同的反向代理服务器软件,虽然它们在一些方面有相似之处,但是它们也有很多不同之处。Envoy的目标是作为下一代云原生网络代理,提供高度可扩展的服务网格和边缘代理。它是由Lyft开发的,目前得到了Google、Salesforce、Red Hat和AWS等公司的支持,并成为了CNCF(Cloud Native Computing F...

详情...
编程

PHP 8.2: 新增 imap_is_open 函数

1046 2023-03-29 02:55:00

PHP 8.2.1 中,IMAP 扩展添加了一个名为 imap_is_open 的新函数,该函数返回给定的 IMAP 连接对象是否打开。在此之前,没有办法判断IMAP连接对象是否打开。尝试使用已经关闭的对象会导致 \ValueError 异常,因此有了 imap_is_open 函数后,可以不用再通过 try/catch 检测给定的连接对象。imap_is_...

详情...
编程

数据库以及它背后的存储

1047 2023-03-28 09:17:19

先要明确,这里的数据库指的是关系型数据库,即满足 ACID 原则并用 SQL 语言进行操作的持久性(掉电数据不丢)数据库。当然,在追求高并发的过程中,我们将不可避免地接触到内存数据库,但我们一定要知道,内存数据库只是架构设计的一部分,而且不是最重要的部分。数据库是个大单点所有 web 系统都会经常面临这种需求:用户要一个一个注册,ID 不能一样;订单要一个一...

详情...
编程

隐藏在语言背后的魔鬼:运行架构为何会成为性能瓶颈

933 2023-03-27 09:15:19

编程语言的性能差异是程序员社区经久不衰的话题,但当你对各种技术的了解越深入,就越能感受到各种语言的本质区别:不同语言的设计方向不同,就像时间换空间、空间换时间,他们只是选择了一种优势找信息之神换成了另一种优势罢了。没有任何编程语言是单纯的“语法集合”,每一种语言都是它背后“运行架构”的体现,语言之间的差异本质上就运行架构设计方向的差异。Web 系统规模发展史...

详情...
编程

Apache 的性能瓶颈与 Nginx 的性能优势

1160 2023-03-25 16:12:36

每一名后端开发可能都知道 Nginx 比 Apache 性能强,但是为什么强,强在哪里,接下来我们动手实验解答这个问题。Nginx 利用了新的 Linux kernel APINginx 利用了 Linux 内核引入的 epoll 事件驱动 API,大幅降低了海量 TCP 连接下的 CPU 负载,提升了单个系统的 TCP 响应容量,这是 Nginx 性能更好...

详情...
编程

图片懒加载 loading="lazy"

1321 2023-03-24 20:13:00

img属性loading="lazy"延迟请求加载资源HTML元素延迟加载属性 —— loading属性值lazy允许浏览器选择性加载IMG元素,根据用户滚动操作至其元素附近执行加载,一定程度起到节流的作用。懒加载、延迟加载亦或所谓的按需加载,通常在业务项目中,我们会考虑到此场景该如何处理?所谓图片懒加载,在图片位置未至用户视窗范围或屏幕位置时不予请求加载资...

详情...
编程

robots.txt 文件应该如何使用?

800 2023-03-24 19:13:46

robots.txt 是网站与搜索引擎之间不成文的协议,虽然没有明文去规定,但双方都会遵守这个协议。通过 robots.txt 文件我们可以限制搜索引擎蜘蛛的抓取轨迹,对 seo 来说有着比较重要的意义,然后还是有很多人并未引起重视,而且很多人也不会使用,下面我们一起来介绍一下吧。robots.txt 文件的使用  每个网站在每个阶段都有一个体量(内容量级,流量等),这...

详情...
编程

Laravel 10.4 发布

1014 2023-03-24 17:04:00

Laravel 团队发布了 v10.4 版本,其中涉及的新特性和变更包括: File::json 方法、将已有的 HasMany 关联转换成 HasOne 关联、一个新的响应断言等。File::json() 方法Austin White 贡献了 File::json() 方法,可以快速从文件中获取 JSON 格式的数据:// 此前 $contents = F...

详情...
编程

Laravel Breeze 添加 TypeScript 支持

989 2023-03-24 16:43:00

Laravel 团队添加了可选的 TypeScript 支持到 Laravel Breeze 。你可以使用最新版 Brezee,运行 breeze:install 在交互式命令中配置 typescript。也可以使用 --typescript 标志跳过该提示

详情...
编程

MIT 开源协议

1435 2023-03-23 13:11:35

MIT 协议全称为“Massachusetts Institute of Technology”,中文译为“麻省理工学院许可协议”,该协议与 BSD、Apache Licence 2.0 颇为相似,但给予开源软件使用人更大的权利和更少的限制,表现在:1)开源软件使用者有权使用、复制、修改、合并、出版发行、再授权等一系列二次开发权利和不受限的商业行为。2)在软件和...

详情...