Perl-语言编程-Notes 第2章 集腋成裘2.2 分子Perl 识别 token 时采用的是一种贪婪方式,如果特定情况下 Perl 解析器要在识别一个短 token 还是一个长 token 之间做出选择,他肯定会选择长的那一个. 如果某一行以 = 开头,这个语句是合法的,从这一行向下,直到下一个以 =cut 开头的行,这之间的所有内容都会被 Perl 忽略,被忽略的这些文本称为 pod (plain old documen 2022-12-09 Perl
Linux-提权 参考 都是先用 root 来模拟配置不当. 利用 SUID 二进制文件进行提权SUID 为 Set UID, 就是设置用户权限. 当你具有 SUID 权限二进制文件的可执行权限时,执行时会获得属主的权限. SUID 只能添加给二进制文件,且只有在运行时才会获得属主权限. 比如, 你给 rm 命令添加了 SUID 权限,假设 test 文件是 root 用户创建的文件,此时, 你是普通用户,具有 r 2022-12-08 Linux
洛伦兹变换-Notes 参考 知乎 先导知识: 波速取决于介质的速度,而不是波源的速度如你跑步时说话,声音的传播速度并没有变 (你是波源,空气是介质). 而如果你迎风说话,声音的传播速度或增大 (介质的速度变大) 真空中的光靠什么介质传播没有传统意义上的介质. 光速不便的背后是我们相信电磁学规律不回因为惯性参考系的变化而变化, 即麦克斯韦方程组在不同惯性系下保持同样的形式,方程内的常数也保持不变. 洛伦兹变换的推导看完博 2022-12-07 Physics
构建-C-语言编译器-Notes 教程地址 手把手教你构建 C 语言编译器 资料1 Let’s Build a Compiler 资料2 Lemon Parser Genenrator c4 编译器 github 地址 c4 重写版编译器 github 地址 1 设计 解释器和编译器仅在代码生成阶段有区别,而其他方面如词法分析,语法分析是一样的. 解释器需要我们实现自己的虚拟机与指令集 一般而言,编译器的编写分 3 个步骤: 2022-12-07 Compiler Theory
相对论和量子力学 量子力学和相对论的开端参考 B 站 开尔文爵士提出两朵乌云: 黑体辐射 –> 量子力学 迈克尔孙实验 –> 相对论 黑体: 只吸收和辐射电磁波,但是不反射. 瑞利和金斯利用经典电动力学推导出的 “瑞利-金斯公式”, 和黑体辐射变化图像不符,这里同时出现了 – “紫外灾难” 普朗克,引入假设,振动的带电粒子,能量不是连续的,能量是一份一份的,其能量表示为:$$\displaylin 2022-12-06 Physics
Vimscript-技巧积累 获取当前文件 basename1let filename = fnamemodify(expand('%'), ':r') 这里查看 :h fnamemodify 函数的文档. fnamemodify 函数fnamemodify 可以读作 “file name modify”, 即用于修改文件名, 函数声明为: 1fnamemodify({fna 2022-12-06 Vim
Vimscript-函数名中的-pound-sign-的作用 参考 和 .config/nvim/autoload 这个文件夹有关, 如: 1:call foo#bar#func() 则会寻找 .config/nvim/autoload/foo/bar.vim 下的 foo#bar#func() 函数. 2022-12-06 Vim
JSON-教程 参考 JSON 简介JSON 指 JavaScript Object Notation, JavaScript 对象表示法. JSON 使用 JavaScript 语法来描述数据对象. JSON 语法两种结构: 对象, 用 {} 保存 数组, 用 [] 保存 JSON 内的对象对象, 键值对的集合, 用 {} 保存. 各键值对用 , 分隔. 如: 123 2022-12-06 JSON
Perl-中-experimental-报错 参考 这个是解决使用 given-when 语句的报错. 使用如: 1use experimental qw( switch ); 可以解决. 2022-12-06 Perl