4_IIFE
发表于|更新于|Backend Dev
|浏览量:
Javascript - 立即调用函数表达式
IIFE(立即调用函数表达式)
IIFE 是定义后立即运行的函数。
1 | (function () { |
箭头版本
1 | (() => { |
为什么用在后端?
- 隔离变量
- 运行启动配置一次
- 避免全球污染
1 | const config = (() => { |
下一主题: 异步/等待
文章作者: xhj
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 xhj的博客!
相关推荐
2025-01-16
ValidationsAndTransformations
🏗️ 后端分层架构什么是分层架构?分层架构是一种后端设计模式,其中应用程序分为不同的层,每个层都有特定的职责。 1Client → Controller → Service → Repository → Database 它确保干净的代码、关注点分离和可扩展性。 为什么使用它?它解决的问题 将业务逻辑与 HTTP 逻辑混合 控制器内的 SQL 查询 难以维护且混乱的代码 测试困难 紧耦合 好处 结构简洁 轻松测试 可扩展的设计 可维护的代码 团队友好 层解释1️⃣ 控制器层作用: 处理 HTTP 请求。 职责: 验证输入 验证/授权 致电服务 返回响应 用于: 仅请求级验证。 2️⃣ 服务层作用: 包含业务逻辑。 职责: 应用业务规则 协调存储库 数据转换 用途: 业务验证(例如,“用户已存在”)。 3️⃣ 存储库层作用: 数据库交互。 职责: 增删改查操作 与DB / ORM通信 用途: 所有数据库访问。 验证规则 类型 层 输入验证 控制器 业务验证 服务 何时使用推荐用于: API 可扩展的后端系统 生产项...
2025-06-05
C++学习笔记
C++基础入门1 C++初识1.1 第一个C++程序1234567891011#include<iostream>#include<string>using namespace std;int main(){ // ... system("pause"); return 0;} 1.2 注释1.3 变量1.4 常量12#define 常量名 常量值const 数据类型 常量名 = 常量值 1.5 关键字1.6 标识符命名规则 不能是关键字; 只能由字母、数字、下划线组成; 第一个字符必须为字母或下划线; 区分大小写。 2 数据类型2.1 整型 数据类型 占用空间 short 2 字节 int 4 字节 long Win 4 字节,Linux 4 字节(32 位)或 8 字节(64 位) long long 8 字节 2.2 sizeof()作用:返回当前数据的类型长度(字节)。 2.3 浮点型 数据类型 占用空间 float 4 字节 ...
2025-06-03
02.Go语言原理与实践学习资料(下)
第四节:高性能 Go 语言发行版优化与落地实践概述本节课程主要分为四个方面: 自动内存管理 Go 内存管理及优化 编译器和静态分析 Go 编译器优化 课前部分主要罗列课程中涉及到的概念。对于不熟悉的概念,同学们可以提前查询预习;课中部分主要罗列每一部分的关键思路,帮助同学们跟上课程的进度;课后部分是一些问题,帮助同学们在课后梳理本课程的重点。 课前 (必须)自动内存管理 Auto memory management: 自动内存管理 Grabage collction: 垃圾回收 Mutator: 业务线程 Collector: GC 线程 Concurrent GC: 并发 GC Parallel GC: 并行 GC Tracing garbage collection: 追踪垃圾回收 Copying GC: 复制对象 GC Mark-sweep GC: 标记-清理 GC Mark-compact GC: 标记-压缩 GC Reference counting: 引用计数 Generational GC: 分代 GC Young generati...
2025-01-14
SerializationAndDeserialization
🔍 这是什么?序列化将内存中对象(如 Java 类或 JS 对象)转换为传输格式(如字符串或字节流)的过程。 反序列化将传输格式转回程序可以使用的本机对象的过程。 💡为什么我们需要它?想象一下 JavaScript 前端 将“User”对象发送到 Rust 后端: JavaScript 将数据视为动态对象。 Rust 将数据视为严格的结构。 他们不能共享内存。他们需要一个通用标准(如 JSON)来充当桥梁。 现实生活中的类比: 想想宜家的家具。 序列化: 工厂将成品办公桌拆成扁平包装箱(紧凑型运输)。 传输: 盒子被运送到您家。 反序列化: 您将部件从盒子中取出并重建桌子,以便您可以使用它。 🛠 流行标准 类型 示例 最适合 基于文本 JSON、XML、YAML Web API、配置、人类可读性 基于二进制 Protobuf、Avro 高性能微服务,内部通信 🏗 JSON 深入探究JSON(JavaScript 对象表示法)是最流行的 Web 通信标准。 规则: 大括号: 必须括在 {} 中。 键: 必须位于 "double q...
2025-01-01
AuthenticationAndAuthorization
基础 身份验证(AuthN):“你是谁?” (身份)。 授权 (AuthZ): “你可以做什么?” (权限)。 📦 关键技术1. 会话(有状态) 它是什么:会话是一种服务器端机制,用于在无状态协议中跨多个 HTTP 请求记住用户。 它是如何工作的: 用户使用凭据登录。 服务器验证凭据并创建会话。 服务器将会话数据(例如,用户 ID、角色、登录状态)存储在 Redis/DB/内存中。 服务器通过 cookie 向客户端发送 session_id。 对于每个后续请求(例如,/profile),浏览器会自动通过 cookie 将 session_id 发送回服务器。 服务器验证 session_id、检索会话数据并授权用户。 机制:服务器将会话数据存储在Redis/DB/内存中;客户端仅将 session_id 存储在 cookie 中。 用例:需要高安全性、服务器端控制和即时会话撤销的 Web 应用程序(例如登录系统、管理面板、仪表板)。 优点: 安全(敏感数据保留在服务器上) 易于使会话失效(...
2025-02-13
mysql-advance-note
MySQL Advance NoteMySQL 配置文件二进制日志 log-bin用于主从复制 错误日志 log-error默认是关闭的,记录严重的警告和错误信息,每次启动和关闭的详细信息等. 查询日志 log默认关闭,记录查询的 sql 语句,如果开启会减低 mysql 的整体性能,因为记录日志也是需要消耗系统资源的 数据文件数据库数据默认放置于 Linux 文件系统的/var/lib/mysql下一个目录对应一个数据库 schema .frm 文件form,存放表结构 .myd 文件myData,存放表数据 .myi 文件myIndex,存放表索引 MySQL的逻辑框架 1.Connectors指的是不同语言中与SQL的交互 2.Management Serveices & Utilities系统管理和控制工具 3.Connection Pool: 连接池管理缓冲用户连接,线程处理等需要缓存的需求。负责监听对 MySQL Server 的各种请求,接收连接请求,转发所有连接请求到线程管理模块。每一个连接上 MySQL Server 的客户端请求都会被分配(或创建)一个...