Apr022025
如何在 Laravel 代码中正确地使用数据库事务
引言
在 web 开发中,数据的完整性和准确性非常重要。因此,必须确保我们编写的代码能够以安全的方式存储、更新和删除数据库中的数据。
在本文中,我们将看看什么是数据库事务,为什么它们很重要,以及如何在 Laravel 开始使用它们。我们还将研究一个常见的 “问题”,涉及队列和数据库事务。
什么是数据库事务?
在我们开始研究 Laravel 的数据库事务之前,让我们先看看它们是什么以及它们...阅读全文
抢沙发
Mar112025
解决终端ssh连接服务器一段时间不操作之后卡死(断线,掉线)的问题
在通过ssh连接服务器的过程中,如果长时间不再做任何操作,再切换到该连接的时候经常会碰到卡死的情况,卡死是因为LIUNX安全设置问题,在一段时间内没有使用数据的情况下会自动断开,解决方法就是让本地或者服务器隔一段时间发送一个请求给对方即可。
在本地打开配置文件(不建议在server端设置)
sudo vim /etc/ssh/ssh_config
添加以下参数,如果有直接修改
ServerAliveInterval 50 #...阅读全文
Mar082025
Web播放器,同时支持 HTM5 和 Flash 视频Video.js
Video.js是一款优秀的HTML5 Web视频播放器。它同时支持 HTM5 和 Flash 视频,支持在桌面和移动设备上的视频播放,截至目前,大概有40W的站点在使用Video.js作为web播放器。
获取Video.js
Video.js支持npm和bower方式安装:
NPM
$ npm install --save video.js
Bower
$ bower install --save video.js
也可以在页面中直接通过标签引用CDN资源:
<link href="https://unpkg.com/video....阅读全文
Feb112025
utf8和utf8mb4的区别
一、简介
MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为了节省空间,一般情况下使用utf8也就够了。
二、内容描述
那上面说了既然utf8能够存下大部分中文汉字,那为什么还要使用utf8mb4呢? 原来mysql支持的 utf8 编码最大字符长度为 3 字节,如果遇到 4 字...阅读全文
Jan212025
分布式自增id->snowflake算法的php实现版本
在分布式系统中,需要生成全局UID的场合还是比较多的,twitter的snowflake解决了这种需求,实现也还是很简单的,除去配置信息,核心代码就是毫秒级时间41位+机器ID 10位+毫秒内序列12位。
twitter的分布式自增id算法snowflake,每秒能产生20w+的自增id,也适用于php。
<?php
2 class Idwork
3 {
4 const debug = 1;
5 static $workerId; ...阅读全文
Jan162025
使用 Let\’s Encrypt创建免费的https证书
使用 Let’s Encrypt创建免费的https证书,本次操作是在本地电脑上手动生成 phpernote.com 域名的 https 证书,不做自动配置和自动续期,本地 ubuntu 系统。
注意:Let’s Encrypt 的证书有效期为 90 天。
1. 更新软件包并安装(如果已安装则跳过)
sudo apt update
sudo apt install certbot python3-certbot-nginx # 对于 Nginx
2. 手动申请证书(如果不自动配置)
certbot...阅读全文
Jan012025
Dec282024
PHP计算两组经纬度坐标之间的距离
定义π
define('PI',3.1415926535898);
define('EARTH_RADIUS',6378.137);
计算两组经纬度坐标 之间的距离:
/**
* 计算两组经纬度坐标 之间的距离
* params :lat1 纬度1; lng1 经度1; lat2 纬度2; lng2 经度2; len_type (1:m or 2:km);
* return m or km
*/
function GetDistance($lat1, $lng1, $lat2, $lng2, $len_type = 1, $decimal = 2) {
$radLat1 = $lat1 * PI / 180.0;
...阅读全文
Dec252024
React 18并发渲染性能优化全攻略:时间切片、Suspense与自动批处理技术深度解析
React 18并发渲染性能优化全攻略:时间切片、Suspense与自动批处理技术深度解析
引言
React 18的发布标志着前端开发进入了一个全新的时代。其中最引人注目的特性就是并发渲染(Concurrent Rendering),它彻底改变了React处理UI更新的方式。通过时间切片、Suspense组件和自动批处理等核心技术,React 18能够在保持应用响应性的同时,显著提升渲染性能。
本文将深入探讨这些核心技术的工作...阅读全文
Dec232024
CentOS 上部署达梦数据库
下载达梦数据库安装包
访问达梦官网(http://www.dameng.com/)下载达梦数据库的安装包。选择适合你的操作系统的版本,然后解压到一个目录,例如 /opt。
wget http://download.dameng.com/DMInstall_x86_64_1020/dminstall.zip
unzip dminstall.zip -d /opt/dm
创建达梦用户和组
为了安全起见,我们需要创建一个专门的用户和组来运行达梦数据库。
groupadd dmdb
useradd -g dmdb dmd...阅读全文