

💡 提升JavaScript 加载速度的10种方式
在许多现代网站中,有大量的JavaScript。事实上,根据HTTP统计,平均每个页面有超过500KB的JavaScript。问题是,JavaScript的下载和解析都需要时间,这使得网站的加载速度大大降低,从而影响了网站的保留率,因为如果一个网站的加载时间太长,用户就会离开。幸运的是,有一些简单的
分类 实用干货 🌋 的文章
🏃 无为则无所不为 🌊


在许多现代网站中,有大量的JavaScript。事实上,根据HTTP统计,平均每个页面有超过500KB的JavaScript。问题是,JavaScript的下载和解析都需要时间,这使得网站的加载速度大大降低,从而影响了网站的保留率,因为如果一个网站的加载时间太长,用户就会离开。幸运的是,有一些简单的


前言本文将跟大家聊聊InnoDb的锁,以及如何分析和解决死锁问题,希望对大家有帮助哈。为什么需要加锁呢?InnoDB的七种锁介绍一条SQL是如何加锁的RR隔离级别下的加锁规则如何查看事务加锁情况死锁案例分析1.为什么需要加锁?为什么需要加锁呢?在日常生活中,如果你心情不好想静静,不想被比别人打扰,你
前言日常开发中,经常会碰到秒杀抢购等业务。为了避免并发请求造成的库存超卖等问题,我们一般会用到Redis分布式锁。但是使用Redis分布式锁,很容易踩坑哦~本文将给大家分析阐述,Redis分布式锁的10个坑~1.非原子操作(setnx+expire)一说到实现Redis的分布式锁,很多小伙伴马上就会


1.什么是数据库事务?事务,由一个有限的数据库操作序列构成,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。假如A转账给B100元,先从A的账户里扣除100元,再在B的账户上加上100元。如果扣完A的100元后,还没来得及给B加上,银行系统异常了,最后导致A的余额减少了,B的余额却没


前言最近在开发需求的时候,用到了select......forupdate。在代码评审的时候,一位同事说,唯一索引+一个非索引字段,是否可能会锁全表呢?本文将通过9个实验操作的例子,给大家验证select......forupdate到底加了什么锁,是表锁还是行锁。因为加锁是跟数据库的隔离级别息息相


这是一篇介绍悲观锁和乐观锁的入门文章。旨在让那些不了解悲观锁和乐观锁的小白们弄清楚什么是悲观锁,什么是乐观锁。不同于其他文章,本文会配上相应的图解让大家更容易理解。通过该文,你会学习到如下的知识。锁(Lock)在介绍悲观锁和乐观锁之前,让我们看一下什么是锁。锁,在我们生活中随处可见,我们的门上有锁,


前言金三银四很快就要来啦,准备了数据库锁的12连问,相信大家看完肯定会有帮助的。1.为什么需要加锁在日常生活中,如果你心情不好想静静,不想被比别人打扰,你就可以把自己关进房间里,并且反锁。这就是生活中的加锁。同理,对于MySQL数据库来说的话,一般的对象都是一个事务一个事务来说的。所以,如果一个事务


大家平时在开发的时候有没被newDate()折磨过?就是它的诸多怪异的设定让你每每用的时候,都可能不小心踩坑。造成程序意外出错,却一下子找不到问题出处,那叫一个烦透了……下面,我就列举它的“四宗罪”及应用思考可恶的四宗罪1.Safari浏览器不兼容YYYY-MM-DD这样的格式newDate('20


SQL语句的执行顺序:1、LIMIT语句分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语句,一般DBA想到的办法是在type,name,create_time字段上加组合索引。这样条件排序都能有效的利用到索引,性能迅速提升。SELECT*FROMoperationWH


写提交信息没有严格的规则,但当在GitHub上做项目时,清楚、简洁地传达你所做的修改是很重要的。做到这一点的方法之一是在提交信息中使用关键字。这些关键词,或标签,有助于表明变化的性质,使其他人更容易理解你的贡献的背景。以下是一些常见的关键词和它们所表示的内容。FEAT:使用这个关键词来表示你正在致力


一、前言在日常开发中,我们往往会给表加各种索引,来提高MySQL的检索效率。但我们有时会遇到明明给字段加了索引,并没有走索引的Case。进而导致MySQL产生慢查询。严重场景下,甚至出现主从延迟、数据库拖垮的极端事故。本文梳理出索引失效的几种常见场景给大家参考。二、技术基础Explain命令使用只要


一、命名规范市面上常用的命名规范:camelCase(小驼峰式命名法——首字母小写)PascalCase(大驼峰式命名法——首字母大写)kebab-case(短横线连接式)Snake(下划线连接式)1.1项目文件命名1.1.1项目名全部采用小写方式,以短横线分隔。例:my-project-name。