Terraform 基础知识
Terraform 基础知识目录 什么是 Terraform 核心概念 基本工作流程 配置文件语法 状态管理 Provider 系统 模块系统 常用命令 实际应用示例 最佳实践 一、什么是 Terraform1.1 定义Terraform 是 HashiCorp 公司开发的一个开源的基础设施即代码(Infrastructure as Code, IaC)工具。 1.2 核心价值传统方式 (点击式操作) Terraform 方式 (代码化) ┌─────────────────────┐ ┌─────────────────────┐ │ 1. 登录 AWS Console │ │ 1. 编写配置文件 │ │ 2. 点击创建 S3 │ VS │ 2. terraform apply │ │ 3. 手动配置参数 │ │ 3. 自动创建所有资源 │ │ 4. 重复上述步骤 │ │ 4. 可重复、可追踪 │ └─────────────...
使用 Hexo 搭建博客
Hexo 安装运行环境安装 Node.js (Node.js 版本需不低于 10.13,建议使用 Node.js 12.0 及以上版本) Git Hexo 安装npm install -g hexo-cli 创建目录Hexo 安装完成后,选择一个空文件夹执行: hexo init <folder> cd <folder> npm install 初始化后,目录结构如下: . ├── _config.yml ├── package.json ├── scaffolds ├── source | ├── _drafts | └── _posts └── themes 只需要关注:_config.yml / source/ / themes/,其余文件不需要修改 页面生成使用命令生成静态文件 hexo g # hexo generate 然后再使用 hexo s 可在本地启动 hexo s # hexo server 使用 hexo clean 清除生成的静态文件 hexo clean 一键部署 Github Page下...
Mermaid使用
Mermaid 使用手册 Mermaid 是一种基于文本的图表语言,可以在 Markdown 中直接渲染成流程图、时序图等各种图表。 📝 基本语法在 Markdown 中使用三个反引号 + mermaid 来声明: ```mermaid graph TD A[开始] --> B[处理] B --> C[结束] ``` 🎯 常用图表类型1. 流程图 (Flowchart)基本方向 TD / TB - 从上到下 (Top Down / Top Bottom) LR - 从左到右 (Left to Right) RL - 从右到左 (Right to Left) BT - 从下到上 (Bottom to Top) 节点形状graph LR A[方形节点] B(圆角矩形) C([体育场形]) D[[子程序]] E[(数据库)] F((圆形)) G>标签形] H{菱形决策} I{{六角形}} ...
LR分析
LR 分析概述什么是 LR 分析LR 分析(LR Parsing)是一种强大的自底向上语法分析方法。 LR 的含义: L(Left-to-right):从左到右扫描输入 R(Rightmost derivation in reverse):构造最右推导的逆序(规范归约) (k):向前看 $k$ 个输入符号(通常 $k=0$ 或 $k=1$) LR 分析是最右推导的逆过程,也就是规范归约。 LR 分析的基本思想自底向上分析从输入串(叶节点)出发,逐步归约(Reduce)到文法的开始符号(根节点)。 核心问题: 何时归约?(识别句柄) 用哪个产生式归约? 句柄(Handle)句柄是句型中最左边的直接短语,也就是下一步应该归约的部分。 回顾:如果有推导 $S\Rightarrow^\alpha A\delta\Rightarrow\alpha\beta\delta$,其中 $A\rightarrow\beta$,则 $\beta$ 是句型 $\alpha\beta\delta$ 相对于产生式 $A\rightarrow\beta$ 的*句柄。 移进-归约...
支持向量机
支持向量机概述支持向量机(Support Vector Machine, SVM)是一种二分类模型,它的基本思想是:在特征空间中找到一个最优的分离超平面,使得不同类别的样本被正确分开,并且分离超平面到两类样本的间隔最大。 为什么叫”支持向量”?想象你要在平面上画一条线,把圆圈和叉叉分开。你会发现: 大部分点离这条线很远,移动它们不会影响这条线的位置 只有最靠近分界线的几个点,才真正决定了这条线的位置 这些关键的点就叫做**”支持向量”**(Support Vectors) SVM 的三种情况根据训练数据的特点,SVM 可以分为三种: 线性可分支持向量机:当数据线性可分时,使用硬间隔最大化 线性支持向量机:当数据近似线性可分时,使用软间隔最大化 非线性支持向量机:当数据线性不可分时,使用核技巧将数据映射到高维空间 学习方法SVM 的学习策略是间隔最大化,可以形式化为一个凸二次优化问题。 学习的基本步骤: 构造最优化问题(原始问题) 转化为对偶问题(更容易求解) 使用 SMO 等算法求解 得到分离超平面和分类决策函数 线性可分支持向量机与硬间隔最大化线性可分支持向量机基...
零停机部署策略
Blue-Green Deployment核心思想:同时维护两套完全相同的生产环境 ┌─────────────────────────────────────────────────────────┐ │ 用户流量 │ │ ↓ │ │ 负载均衡器 │ │ ↓ │ │ ┌──────────────┴──────────────┐ │ │ ↓ ↓ │ │ 🔵 Blue 环境 🟢 Green 环境...
自顶向下语法分析方法
语法分析概述语法分析(Syntax Analysis 或 Parsing)是编译器的第二个阶段,它接收词法分析器产生的单词符号序列,检查这些单词符号的组合是否符合语言的语法规则(由文法定义),并构造出语法树(或抽象语法树)。 语法分析的任务 检查语法正确性:判断输入的程序是否符合语言的语法规则 构造语法树:为正确的程序构造语法树(推导树或抽象语法树) 报告语法错误:对于错误的输入,指出错误位置和可能的原因 语法分析的分类根据构造语法树的方向,语法分析分为两大类: 1. 自顶向下分析(Top-Down Parsing) 方向:从文法的开始符号 $S$ 出发,推导输入串 推导方式:最左推导 构造语法树:从根节点开始,逐步向下扩展叶节点 代表方法: 递归下降分析(Recursive Descent Parsing) LL(k) 分析(LL:Left-to-right, Leftmost derivation) 思想:尝试为输入串构造一个最左推导序列。 2. 自底向上分析(Bottom-Up Parsing) 方向:从输入串出发,归约到开始符号 $S$ 推导方式:最右推导的逆过程...