一、问题背景当你使用 ESP32-S3 N16R8(16MB Flash + 8MB PSRAM)开发时,会发现 PlatformIO 的 boards 列表中没有完全匹配的型号。默认选择 esp32-s3-devkitc-1 虽能编译,但系统仍按 4MB Flash 分配资源,导致大量存储空间无法使用。
二、解决方案:自定义配置三步走步骤 1:配置 platformio.ini123456789101112[env:esp32s3-n16r8]platform = espressif32board = esp32-s3-devkitc-1 ; 使用最接近的板子定义framework = arduino; 关键:指定 16MB Flashboard_upload.flash_size = 16MB; 启用 8MB PSRAM(OPI 模式,高速)board_build.arduino.memory_type = qio_opibuild_flags = -DBOARD_HAS_PSRAM
步骤 2:验证配置12345678910111213141516171819202 ...
SpringBoot
未读这里一篇我对Spring Security的笔记,多谢了下面这位博主的教程,也推荐他的视频
123456作者: 夜泊1990企鹅: 1611756908Q 群: 948233848邮箱: hd1611756908@163.com博客: https://hs-an-yue.github.io/B 站: https://space.bilibili.com/514155929/
理解这就是一个过滤器Filter
配置好依赖之后,启动就会自动创建一个动态password,默认用户名为user
客户端向服务器发起请求,被身份认证Filter拦截如果没有授权,让客户端访问/login路由页面客户端访问/login路由页面,则服务器返回login.html
深入常用内置核心接口123InMemoryUserDetailsManager: 内存账户信息管理类,是UserDetailsService的子类 UserDetailsService: SpringSecurity用户信息管理类的核心接口,管理用户信息来源(数据库还是内存以及其他...) UserDetails ...
SpringBoot
未读添加依赖(Freemarker模板)12345678910111213141516<!-- MyBatis Plus Starter --> <dependency> <groupId>com.github.yulichang</groupId> <artifactId>mybatis-plus-spring-boot3-starter</artifactId> <version>3.5.8-001</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.5.14</version> </dependency> < ...
Springboot常用Result12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273import java.io.Serializable; /** * 通用 API 响应封装类 * @param <T> 返回数据类型 */ public class Result<T> implements Serializable { private static final long serialVersionUID = 1L; /** 状态码 */ private int code; /** 提示信息 */ private String msg; /** 返回数据 */ private T data; // ========= ...
RBAC(Role-Based Access Control,基于角色的访问控制)是一种通过角色来管理用户访问权限的模型。它的核心思想是将权限分配给角色,再将角色分配给用户,用户通过扮演角色来获得相应的权限。
下面这个表格可以帮你快速抓住RBAC的核心组成部分:
核心组件
说明
生活中的类比
用户 (User)
系统的使用者,如员工、管理员等。
公司里的员工
角色 (Role)
一组权限的集合,代表特定的职责或岗位,如“经理”、“财务”。
员工所在的职位,如“部门经理”
权限 (Permission)
对特定资源(如文件、数据)可执行的操作(如读、写、删)。
该职位被允许处理的工作内容,如“审批10万元以下预算”
会话 (Session)
用户登录系统后建立的临时上下文,用于激活其拥有的角色。
员工在工作时间内履行其职责
RBAC的不同模型基础的RBAC模型(也称为RBAC0)包含了上述所有核心组件。为了满足更复杂的管理需求,RBAC还衍生出几个扩展模型:
RBAC1(角色分层模型):引入了角色继承概念。子角色可以继承父角色的所有权限,这类似于现实中的职位 ...
这是一个全能的python包管理工具【全面掌握UV:Python下一代环境管理懒人工具(Python五分钟)】 https://www.bilibili.com/video/BV15MVdzaEUw/?share_source=copy_web&vd_source=9c987ed6ab5014f976c5bd5305300cc0
安装1powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
代替pip12345uv run <main.py> 直接运行python文件uv add --script 添加依赖到单个python文件uv remove --script 删除依赖到单个python文件
uv add --script 中的 --script 参数是 uv 工具中一个非常实用的功能,它的核心作用是为独立的 Python 脚本文件(而非完整的项目)声明和管理依赖,让脚本能够“自包含”其运行环境信息。
项目管理:代替venv创建虚 ...
NVM
NVM指的是Node Version Manager,是一个Node.js的版本管理工具。它允许用户在同一台机器上安装和管理多个Node.js版本。这对于需要在不同的项目中使用不同Node.js版本的开发者来说非常有用。
以下是NVM的一些主要特点和功能:hexo
版本切换:允许用户在多个Node.js版本之间快速切换。
简易安装:提供了简单的命令行安装脚本,方便用户安装。
独立环境:每个Node.js版本都安装在其独立的目录中,不会干扰系统的其他Node.js安装。
默认版本设置:可以设置一个默认的Node.js版本,每次打开新的终端窗口时都会使用该版本。
兼容性:支持io.js,以及Node.js的各个LTS(长期支持)版本。使用NVM,开发者可以在测试新版本的应用程序的同时,保持生产环境使用稳定的Node.js版本,从而提高了开发的灵活性和便捷性。安装和使用NVM通常涉及以下步骤:
通过终端运行安装脚本。
使用nvm list available命令安装展示所有版本的Node.js。
使用nvm install <version>命令安装特定版 ...
在根目录创建一个store文件夹,里面创建js、ts文件
如果把state比作实体类的属性(如 user 的 name、age),actions比作实体类的方法(如修改属性的 setAge、执行业务逻辑的 login),那么getters可以理解为实体类中带缓存的 “计算属性方法”—— 它依赖属性(state)计算出新的值,并且只会在依赖变化时重新计算。
- **getters**:用于基于 state 的**派生状态**(如过滤、统计、格式化等),且这个派生状态可能被多次使用(比如在组件模板、其他 getters 中)。利用缓存可以避免重复计算,提升性能。
- **方法(actions 或普通函数)**:适合处理**不需要缓存的逻辑**(如单次计算、带参数的动态过滤),或包含**副作用的操作**(如请求接口、修改 state)。
123456789101112131415161718192021222324252627// 导入 defineStore 函数,用于定义 Pinia 存储import { defineStore } from ' ...
scoop.sh
12Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserInvoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
默认安装在~\scoop
搜索安装123456789101112131415> scoop search pythonResults from local buckets...Name Version Source Binaries---- ------- ------ --------python 3.10.5 mainwinpython 3.10.4.0 main> scoop install python...Creating shim for 'python.exe'.'python' (3.10.5) was installed successfully!> python -c "print( ...
在官方插件中配置date属性
YYYY-MM-DDTHH:mm+08:00
安装插件
插件名
作用
Advanced Tables
表格工具
Better Word Count
字数统计
Editing Toolbar
编辑器上方快捷工具栏
Emoji Toolbar
Emoji表情
Excalidraw
超级好用的白板
Git
git同步
Hidden Folder
隐藏文件夹,例如node_modules
Tasks
任务
Templater
模板
Image auto upload
配合本地Picgo自动上传图片
Templater模板12345678---title: <% tp.file.title %>categories: -tags: -date: <% tp.date.now(format="YYYY-MM-DDTHH:mm:ss+08:00") %>---