Wake Me Up When September Ends.

A wanderer capable of grasping the beauty of the grass, with a heart full of ancient charm, and a fondness for playful wit. Those who understand my words are knowledgeable individuals; those who decipher my code truly comprehend the essence. I am a wandering code swordsman, carrying my skills and riding freely through the digital world.

MySQL 错误 1449 通常表示 The user specified as a definer ('user'@'host') does not exist。出现这个错误的原因是mysql在尝试执行某个存储过程、函数或视图时,定义者(definer)指定的用户不存在于数据库中。

首先先查看一下,目前数据库中存储过程有哪些定义者,sql如下:

SELECT 
    ROUTINE_NAME, 
    DEFINER
FROM 
    information_schema.ROUTINES
WHERE 
    ROUTINE_TYPE = 'PROCEDURE' 
    AND ROUTINE_SCHEMA = 'your_database_name'; # your_database_name 替换成实际数据库名称
阅读全文 »

Ubuntu 安装vlc之后无法正常打开,命令行输入vlc,显示如下错误信息:

> vlc
/usr/share/libdrm/amdgpu.ids: No such file or directory
amdgpu: unknown (family_id, chip_external_rev): (146, 32)
libGL error: failed to create dri screen
libGL error: failed to load driver: radeonsi
VLC media player 3.0.20 Vetinari (revision 3.0.20-1-g2617de71b6)
[00006310db453a10] main libvlc: 正在以默认界面运行 vlc。使用“cvlc”可以无界面模式使用 vlc。
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
Qt: Session management error: Could not open network socket
Fontconfig warning: FcPattern object width does not accept value [75 100)
[1]    238348 segmentation fault (core dumped)  vlc
阅读全文 »

最近家里面神兽英语功课上一直处于“懒驴拉不上磨”尴尬处境。每天老师在群里面公布英语学习情况,和神兽关系立马从亲密到仇家。晚上下班回来的亲子时光早已成为“家庭小地震”。总结如下一段话:

“现代父母辅导孩子学习,那可真是‘拿起课本变老师,放下课本叹口气’。本想温文尔雅地指点一二,结果变成了河东狮吼;原计划是寓教于乐、共同成长,实际上却成了修罗战场。

每晚的家庭作业时间,简直就是一场脾气与耐心的大考验,孩子们的小脑袋里装着无数个为什么,而家长们则是在工作之余还得辅导孩子,数学题解得比加班还辛苦,语文作文批改得比写报告还要仔细。这不,一不小心,就从亲子教育升级成了家庭版《最强大脑》挑战赛!”

阅读全文 »

这里介绍一些简单的算法,包括:冒泡排序、快速排序、二分查找、二叉树的遍历、二叉树的层次遍历、二叉树的前序、中序、后序遍历,一些简单的实现。

冒泡排序

function bubble_sort($arr)
{
    $n = count($arr);
    for ($i = 0; $i < $n; $i++) {
        for ($j = 0; $j < $n - $i - 1; $j++) {
            if ($arr[$j] < $arr[$j + 1]) {
                [$arr[$j], $arr[$j + 1]] = [$arr[$j + 1], $arr[$j]];
            }
        }
    }
    return $arr;
}

冒泡排序过程的详细步骤,假设我们有一个数组 [64, 34, 25, 12, 22, 11, 90] 需要进行升序排序:

  1. 第一轮冒泡:

    • 比较 64 和 34,64 > 34,交换它们的位置,数组变为 [34, 64, 25, 12, 22, 11, 90]
    • 比较 64 和 25,64 > 25,交换它们的位置,数组变为 [34, 25, 64, 12, 22, 11, 90]
    • 比较 64 和 12,64 > 12,交换它们的位置,数组变为 [34, 25, 12, 64, 22, 11, 90]
    • 比较 64 和 22,64 > 22,交换它们的位置,数组变为 [34, 25, 12, 22, 64, 11, 90]
    • 比较 64 和 11,64 > 11,交换它们的位置,数组变为 [34, 25, 12, 22, 11, 64, 90]
    • 比较 64 和 90,64 < 90,不需要交换,这一轮结束

    第一轮冒泡后,最大的数 90 被“冒泡”到了数组的最后一位。

阅读全文 »