0x00 前言 本文将对 Vue-Vben-Admin 的状态管理实现源码进行分析解读,耐心读完,相信您一定会有所收获! 0x01 errorLog.ts 错误日志 文件 src\store\modules\errorLog.ts 声明导出一个store实例 useErrorLogStore .一个方法 useErrorLogStoreWithOut()用于没有使用 setup 组件时使用. // 错误日志存储实例 export const useAppStore = defineStore({…
前言 本文将对 Vue-Vben-Admin 角色权限的状态管理进行源码解读,耐心读完,相信您一定会有所收获! 更多系列文章详见专栏   Vben Admin 项目分析&实践 . 本文涉及到角色权限之外的较多内容(路由相关)会一笔带过,具体功能实现将在后面专题中详细讨论.为了更好的理解本文内容,请先阅读官方的文档说明 # 权限. permission.ts 角色权限 文件 src\store\modules\permission.ts 声明导出一个store实例 usePermissionSto…
0x00 前言 Vue-Vben-Admin 是一个免费开源的中后台模版.使用了最新的vue3,vite2,TypeScript等主流技术开发,开箱即用的中后台前端解决方案考. 本系列本着学习参考的目的,对项目代码进行深入分析 ,耐心读完,相信您会有所收获. 本系列需要一定的项目使用经验,建议先阅读项目的 中文文档 ,会对理解非常有帮助. 0x.01 目录说明 项目主要目录结构及说明,接下来将一一深入分析介绍. . ├── build # 打包脚本相关 ├── mock # mock文件夹 ├─…
核心数据结构 linux 2.6 的内存管理支持NUMA(Non Uniform Memory Access Achitecture),即非一致内存访问体系,在该体系中存在多个CPU,并且拥有分离的存储器以及共享存储器.因此在linux的代码中将每一个CPU的可访问内存定义为一个内存节点.总体上linux采取了节点.域.页面三级结构描述物理内存,核心数据结构如下: typedef struct pglist_data { //内存节点数据结构 struct zone node_zones[MAX…
在base.php文件中,用一句代码\think\Error::register();实现错误和异常处理机制的注册. // 注册错误和异常处理机制 \think\Error::register();   打开library/think/Error.php,register函数如下: /** * 注册异常处理 * @access public * @return void */ public static function register() {     error_reporting(E_AL…
一.Spring事务管理的特点 Spring框架为事务管理提供一套统一的抽象,带来的好处有:1. 跨不同事务API的统一的编程模型,无论你使用的是jdbc.jta.jpa.hibernate.2. 支持声明式事务3. 简单的事务管理API4. 能与Spring的数据访问抽象层完美集成 说明:Spring的事物管理是用AOP实现的 二.事务概念学习 1. Isolation隔离级别 此事务与其他事务的工作隔离的程度.例如,该事务能否看到来自其他事务的未提交的写操作READ_UNCOMMITTED读…
Spring5.0源码学习系列之事务管理概述(十一),在学习事务管理的源码之前,需要对事务的基本理论比较熟悉,所以本章节会对事务管理的基本理论进行描述 1.什么是事务? 事务就是一组原子性的SQL操作,或者说一个独立的工作单元.在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit) 注意:Spring的事务支持是基于数据库事务的,在MySQL数据库中目前只有InnoDB或者NDB集群引擎才支持,MySQL5.0之前的默认MyISAM存储引擎是不支持事务的 2.事务的AC…
阅读本文大概需要 6 分钟 一个项目随着功能开发越来越多,项目必然越来越大,工程管理成本也越来越高,后期维护成本更高.如何更好的组织管理工程,是非常重要的 今天我们来学习下 Qt Creator 是如何组织管理这么庞大的一个项目工程的 QMake 多工程管理方法 我们知道 Qt 采用 qmake语法进行组织管理工程结构,想要更好的学习管理一个工程需要你了解基本的qmake语法 在Qt当中,一般以xx.pro结尾的文件是某个工程文件,我们只要打开该文件即可打开该文件管理的工程 单工程基本用法 比如…
      Spark作为当前主流的分布式计算框架,其高效性.通用性.易用性使其得到广泛的关注,本系列博客不会介绍其原理.安装与使用相关知识,将会从源码角度进行深度分析,理解其背后的设计精髓,以便后续在Spark使用以及设计类似产品提供相关经验,下面开始进入正题.        本系列博客将从集群各端点的设计原理.通信方式.启动流程,以及用户任务提交后,任务的集群加载.分解.调度的方式两个方面进行解读.   首先,从脚本开始             详见<[Spark2.0源码学习]-2.一切从…
简述 关于ORM的定义,我们引用了一下百度百科给出的定义,总体来说ORM就是提供给开发人员API,方便操作关系型数据库的,封装了对数据库操作的过程,同时提供对象与数据之间的映射功能,解放了开发人员对访问数据库交互的维护,大大提高工作效率. 我们以传统JDBC编程中的查询操作为例进行说明,其主要步骤如下: (1)注册数据库驱动类,明确指定数据库URL地址.数据库用户名.密码等连接信息. (2)通过DriverManager打开数据库连接. (3)通过数据库连接创建Statement对象. (4)通…