年度归档: 2023 年

18 篇文章

laravel中的两种锁
/** * Lock the selected rows in the table for updating. * 悲观锁 锁住后读改阻塞 * @return $this */ public function lockForUpdate() { return $this->lock(true)…
Linux 中如何安全地抹去磁盘数据
有些情况下我们不得不以一种确保无法恢复的方式从磁盘上擦除所有信息 许多小伙伴可能认为使用文件管理器或者 rm 命令删除数据可以保证安全性,但其实不然 因为 rm 命令或者文件管理器删除文件只是删除指向文件系统的指针(inode),所以原始数据仍可以使用 在 Linux 中,文件由指针部分(inode…
Linux 系统中调用 exit() 和 _exit() 结束进程的区别
根据此图,进程终止方式有三种(不涉及多线程情况下),分别为: 进程调用_exit或_Exit(两者等价),进程立即终止,内核负责各项清理工作,如移除进程表项(自然也包括“关闭”进程的文件描述符),发送SIGCHILD信号给父进程等。 进程调用exit函数,exit逐一调用进程事先通过atexit或o…
Linux文件链接
为了方便用户访问文件,Linux提供了一种称为连接(link)的机制,可以将一个文件或目录与另一个文件或目录建立关联,从而实现多个路径指向同一个文件或目录的效果。 概述 Linux是一个多用户多任务的操作系统,它提供了一种灵活的文件系统,可以在不同的分区、设备和网络上存储和管理文件。 为了方便用户访…
PHP8.2新特性
trait 常量 在PHP 8.2之前,不允许将常量添加到trait中。这是一种语言差异,因为trait可以访问使用它们的类的常量。 但是你不能严格地定义一个常量存在于一个类中,次问题已经在PHP 8.2修复。 <?php trait testTrait { private const NAM…
git rebase
rebase在git中是一个非常有魅力的命令,使用得当会极大提高自己的工作效率;相反,如果乱用,会给团队中其他人带来麻烦。它的作用简要概括为:可以对某一段线性提交历史进行编辑、删除、复制、粘贴;因此,合理使用rebase命令可以使我们的提交历史干净、简洁! 写在前面:如果你的分支不只有你在进行开发,…
git简洁提交
修改上个提交 git commit --amend 该命令的帮助文档描述如下: --amend 修改之前的提交 也就是说,它可以帮助我们修改上次提交的内容 可以修改我们提交的消息和提交的文件,最后替换最后的提交ID 提交时我们可能会遗漏文件。当我们再次提交时,我们可能会有多个无用的提交 ID。如果大…
Nginx配置解析
#==========================nginx全局配置==========================# # 指定 nginx 进程运行的用户,这里是 nginx,默认为nobody。 user nginx; # 指定 nginx 使用多少个 worker 进程处理请求,这里使…