Author: admin

彻底弄懂浏览器缓存策略

Web 缓存介绍

  • Web 缓存是指一个 Web 资源(如 html 页面,图片,js,数据等)存在于 Web 服务器和客户端(浏览器)之间的副本。
  • 缓存会根据进来的请求保存输出内容的副本;当下一个请求来到的时候,如果是相同的 URL,缓存会根据缓存机制决定是直接使用副本响应访问请求,还是向源服务器再次发送请求。
            

一文详解PHP的内存泄露

FPM 的黑魔法

首先,传统的跑在 FPM 下的 PHP 代码是没有“内存泄漏”一说的,所谓的内存泄漏就是忘记释放内存,导致进程占用的物理内存(附1)持续增长,得益于 PHP 的短生命周期,PHP 内核有一个关键函数叫做php_request_shutdown此函数会在请求结束后,把请求期间申请的所有内存都释放掉,这从根本上杜绝了内存泄漏,极大的提高了 PHPer 的开发效率,同时也会导致性能的下降,例如单例对象,没必要每次请求都重新申请释放这个单例对象的内存。(这也是Swoolecli方案的优势之一,因为 cli 请求结束不会清理内存)。…

如何选择软件版本,是选择一般版本,还是LTS长期支持版本?

如何选择软件版本,是选择一般版本,还是LTS长期支持版本?我们以laravel为例。

很久以前在一个话题里面聊到的观点,很多同学在 Laravel 版本选择时候比较混淆,这里说下我的看法。

对 Laravel 框架发布周期不熟悉的同学请参阅 - Laravel 的发布路线图。

什么是 LTS
首先你需要明白 LTS 的概念。…

优化 PHP 和 Laravel 以提高 Web 应用的性能

 

Laravel 有很多东西。但是快不是其中之一。让我们学习一些优化技巧,以加快运行速度!

自从 Laravel 诞生以来,没有一个 PHP 开发人员不受她的影响。他们是喜欢 Laravel 提供的快速开发的初级或中级开发人员,或者是由于市场压力而被迫学习 Laravel 的高级开发人员。

不管怎样,不可否认的是,Laravel 已经振兴了 PHP 生态系统(我确定,如果没有 Laravel,早就离开了 PHP 世界了)。

            

Laravel-admin发布2.0BETA版本

大家好,最近花了不少时间在 laravel-admin 的 2.0 版本的开发工作上面,目前开发工作基本完成,今天发布 BETA 版本,有兴趣的同学们可以尝试安装使用,如有遇到问题,可通过 Github issue 反馈。

MongoDB是什么?看完你就知道了!

一、概述

1.MongoDB是什么?用一句话总结

MongoDB是一款为web应用程序和互联网基础设施设计的数据库管理系统。没错MongoDB就是数据库,是NoSQL类型的数据库。

2.为什么要使用MongoDB?

(1)MongoDB提出的是文档、集合的概念,使用BSON(类JSON)作为其数据模型结构,其结构是面向对象的而不是二维表,存储一个用户在MongoDB中是这样子的。…

一文搞懂后台高性能服务器设计的常见套路, BAT 高频面试系列

前言

金九银十,又是一年校招季。

经历过,才深知不易。最近,和作为校招面试官的同事聊了聊,问他们是如何去考察一个学生的,我简单归为以下几点:

  1. 聪明、反应快,这点自不必说,聪明意味着学习能力、适应力强,能够快速胜任工作。
  2. 算法不错,代码基本功好,这点其实考察的是算法能力和代码是否写得优雅。
  3. 基础过硬,技术岗面试最核心的还是考察「技术储备」,包括了语言基本功,操作系统、网络、体系结构、系统设计。
  4. 语言组织和表达能力,这点很重要,很多同学懂得某个知识点,却很难用简洁准确的语言表述出来。
    

PHP 8的 Attributes新特性介绍

从PHP 8开始,我们将能够使用Attributes。Attributes(在许多其他语言中也称为annotations)的目标是将元数据添加到类,方法,变量等中;以结构化的方式。

attributes的概念根本不是什么新概念,多年来,我们一直在使用docblock来模拟其行为。但是,通过添加attributes,我们现在有了该语言的一等公民来表示这种元数据,而不必手动解析docblock。

那它们长什么样呢?我们如何制作自定义attributes?有什么警告吗?这些是本文将要回答的问题。让我们深入!…