跳到主要内容
maintainer
查看所有作者

nano入门指南

· 阅读需 4 分钟
maintainer

Nano 核心快捷键速查表(分类整理)

按使用场景分类标注,「核心」为高频必记项,方便快速查阅:

分类操作标准快捷键简写标识核心说明
基础操作保存文件(核心)Ctrl + O^O回车确认保存(直接回车保留原文件名)
基础操作退出编辑器(核心)Ctrl + X^X未保存时提示:Y = 保存,N = 放弃,Ctrl+C = 取消
基础操作查看完整帮助Ctrl + G^G调出 Nano 官方快捷键说明文档
编辑操作撤销修改Alt + UM-U恢复上一步操作
编辑操作重做修改Alt + EM-E取消撤销(恢复已撤销的修改)
编辑操作激活文本选区Alt + AM-A方向键可扩展 / 缩小选区范围
编辑操作复制选中内容Alt + 6M-6未选中时可复制光标整行
编辑操作剪切 / 删除整行Ctrl + K^K选中时剪切选区;未选中时删除光标所在行
编辑操作粘贴内容Ctrl + U^U粘贴剪切 / 复制的内容到光标位置
查找替换查找文本(核心)Ctrl + W^W输入关键词回车,支持模糊查找
查找替换查找下一个匹配项Alt + WM-W继续查找上一次的关键词
查找替换替换文本(核心)Ctrl + \^\支持单条替换(Y)/ 全部替换(A)/ 取消(N
视图 / 跳转显示 / 隐藏行号Alt + NM-N编辑中快速切换行号显示状态
视图 / 跳转跳转到指定行Ctrl + _^_输入行号回车,快速定位代码报错行
视图 / 跳转切换语法高亮Alt + YM-Y手动触发代码语法高亮(适配 PHP/JSON 等)
多文件编辑切换上一个文件Alt + ,M-,同时打开多个文件时循环切换
多文件编辑切换下一个文件Alt + .M-.同上,按顺序切换已打开文件

laravel12的示例

· 阅读需 1 分钟
maintainer

WSL中安装laravel12

# 安装编译PHP的依赖
sudo apt install -y autoconf build-essential libssl-dev libcurl4-openssl-dev libxml2-dev libzip-dev libonig-dev bison flex libgd-dev libfreetype6-dev libpng-dev re2c libpq-dev

# 安装php8.5
mise use -g php@8.5

# 安装laravel cli
composer global require laravel/installer

# 初始化项目
laravel new laravel12-demo

# 本地开发
composer run dev

mise使用指南

· 阅读需 1 分钟
maintainer

安装

Debian/Ubuntu (apt) amd64

sudo apt update -y && sudo apt install -y curl
sudo install -dm 755 /etc/apt/keyrings
curl -fSs https://mise.jdx.dev/gpg-key.pub | sudo tee /etc/apt/keyrings/mise-archive-keyring.pub 1> /dev/null
echo "deb [signed-by=/etc/apt/keyrings/mise-archive-keyring.pub arch=amd64] https://mise.jdx.dev/deb stable main" | sudo tee /etc/apt/sources.list.d/mise.list
sudo apt update
sudo apt install -y mise

日历化版本的优缺点

· 阅读需 8 分钟
maintainer

优点

日历化版本 (CalVer) 通过将版本号与时间绑定,实现了 "版本即时间,时间即价值" 的理念。它超越了传统版本号的简单标识功能,成为团队协作的时间轴、用户决策的参考点和产品生命周期的管理工具,特别适合当今快速迭代的软件开发环境。

若你的项目追求透明性、可预测性和高效协作,CalVer 值得认真考虑。

直观易懂,一见即知

版本号直接反映发布时间 (如2024.10表示 2024 年 10 月),无需文档解释 普通人也能立即判断版本新旧,无需理解复杂的数字规则 特别适合面向终端用户的产品,提升用户体验

Lighthouse

· 阅读需 1 分钟
maintainer

使用Lighthouse进行性能优化

在某个页面打开调试工具,切换到Lighthouse,然后选择模式,设备类型,最后点击右上角的分析页面负载。等的生成测试报告,针对性的优化即可。

优化常用方法

  • 启用HTTP2,甚至HTTP3
  • 开启网络传输压缩:gzip
  • UI图片尽量使用webp,且压缩到合适的大小
  • css,js等文件需要压缩后,再投入生产环境使用
  • css,js等静态文件,如果可以,尽量主动设置请求头缓存。(但需要考虑副作用,设置后,必须改变文件名才能获取到最新的文件,对构建性应用友好,因为每次都会生成新的文件名,浏览器环境谨慎使用。)
  • 不影响页面渲染的css可以延迟加载<link href="xxx.css" rel="preload" as="style" onload="this.rel='stylesheet'">
  • 屏幕外的图片使用延迟加载,需要设置固定占位宽高。<img loading="lazy" class="size-[40px]" ... />

laravel9模型关联

· 阅读需 1 分钟
maintainer

一对一关联

表结构

用户表,头像表

users
id
nickname

avatars
id
user_id

定义模型

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
public function avatar()
{
return $this->hasOne(Avatar::class);
}
}
namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Avatar extends Model
{
public function user()
{
return $this->belongsTo(User::class);
}
}