react
环境搭建初始化项目 执行命令npx create-react-app react-demo-ts --template typescriptcd react-demo-tsnpm start 优化项目结构,优化后的项目结构如下: 安装react-router v6 执行命令:npm install –save react-router-dom@6 在src下新建router/index.jsimport React from 'react';import { Routes, Route } from 'react-router-dom';import Layout from '../layout';import Category from '../views/Category';import Home from '../views/Home';import Login from '../views/Login';functio...
shiro
Shiro简介什么是shiro Apache Shiro是java的一个安全框架。Shiro可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境,也可以用在JavaEE环境。Shiro可以帮助我们完成:认证、授权、加密、会话管理、与web集成、缓存等 Shiro官方网站:https://shiro.apache.org 为什么要学shiro 既然shiro将安全认证相关的功能抽取出来组成一个框架。使用shiro就可以非常快速的完成认证、授权等功能的开发,降低系统成本。(开发和维护) shiro使用广泛,shiro可以运行在web应用,非web应用,集群分布式应用中越来越多的用户开始使用shiro。 基本功能 Authentication 身份认证/登录,验证用户是不是拥有相应的身份 Authorization 授权,即权限授权,验证某个已认证的用户是否拥有某个权限:即判断用不是否能做事情,常见的如:验证某个用户是否拥有某个教师。或者细粒度的验证某个用户对某个资源是否具有某个权限 Session Manager 会话管理,即用户登录后就是一次护花,...
数据结构与算法
数据结构与算法是什么? 数据结构:计算机储存、组织数据的方式 算法:一系列解决问题的清晰指令 程序 = 数据结构 + 算法 数据结构为算法提供服务,算法围绕数据结构操作 将要学习的数据结构 栈、队列、链表(有序、串联) 集合、字典(无序) 树、堆、图 将要学习的算法 链表:遍历链表、删除链表节点 树、图:深度/广度优先遍历 数组:冒泡/选择/插入/归并/快速排序、顺序/二分搜索 时间复杂度是什么? 一个函数,用大O 表示,比如O(1)、O(n)、O(logN)… 定性描述该算法的运行时间 O(1) 代码:let i = 0;i += 1; 解析:每次执行这两行代码的时候,这两行代码永远只执行一次,没有任何循环什么的东西,所以它的时间复杂度是O(1) O(n) 代码:for(let i = 0; i < n; i += 1) { console.log(i)} 解析:因为for循环里面的代码,执行了n次 O(1) + O(n) = O(n) 代码:let i =...
vueResource
vue源码学习vue-router部分(3.x部分对应vue2)思考 vue-router是一个插件? 内部做了什么? 实现并声明了两个组件router-view、router-link 实现install方法,及this.$router.push() 为什么要将router添加到main.js的配置项中 因为要在vue插件vue-router的install方法中去使用,而VueRouter.install方法是谁在调用呢?是Vue.use在调用,也就是说这个router插件执行的时刻是非常早的,在执行Vue.use(VueRouter)的时候,会调用install,所以他执行的时刻会比创建实例newVueRouter要早,所以在Vue.install方法里面,没有办法拿到vue实例this,所以我们才要把这个router写到main.js的new Vue里面 router-view是如何实现的 dom实现:因为在路由文件里定义了path和component,可以通过js的onHashChange事件,监听当前页的hash地址值,或者history的变化popstate...
微信小程序开发总结
小程序代码规范 书写的class类名用中划线-,不要用驼峰或者下划线_命名 自定义组件的wxss文件中尽量不要使用后代选择器、id选择器、标签选择器、带驼峰或者下划线类名的选择器,最好使用class选择器。 在页面级的wxss文件中,可以使用后代选择器,和class选择器,其他避免使用,以免出现警告 在app.wxss中,不要使用标签选择器,不然也会出现警告 在小程序中使用tabbar 找到app.json,和window,pages属性同级的地方添加tabBar属性{ "pages":[ "pages/index/index", "pages/category/category", "pages/cart/cart", "pages/user/user" ], "tabBar": { "selectedColor": "#f77127", "col...
spring整合springSecurity
案例介绍 项目基础代码在https://gitee.com/dujiang1992/spring-security-demo 案例效果图启动项目进入首页 系统管理界面 基础数据界面 项目最终目录结构 建表语句 在mysql中新建一个security_authority的表,再执行下面的sql语句DROP TABLE IF EXISTS `sys_permission`;CREATE TABLE `sys_permission` ( `ID` int(11) NOT NULL AUTO_INCREMENT COMMENT '编号', `permission_NAME` varchar(30) DEFAULT NULL COMMENT '菜单名称', `permission_url` varchar(100) DEFAULT NULL COMMENT '菜单地址', `parent_id` int(11) NOT NULL DEFAULT '0' COMMENT '父菜...
maven高级
分模块开发与设计工程模块与模块划分 ssm_pojo拆分 新建模块 拷贝原始项目中对应的相关内容到ssm_pojo模块中 实体类(User) 配置文件(无) ssm_dao拆分 新建模块 拷贝原始项目中对应的相关内容到ssm_dao模块中 数据层接口(UserDao) 配置文件:保留与数据层相关配置文件(3个) 注意:分页插件在配置中与SqlSessionFactoryBean绑定,需要保留 pom.xml:引入数据层相关坐标即可,删除springmvc相关坐标 spring mybatis spring整合mybatis mysql druid pagehelper 直接依赖ssm_pojo(对ssm_pojo模块执行install指令,将其安装到本地仓库) ssm_service拆分 新建模块 拷贝原始项目中对应的相关内容到ssm_service模块中 业务层接口与实现类(UserService、UserServiceImpl) 配置文件:保留与数据层相关配置文件(1个) pom.xml:引入数据层相关坐标即可,删除springmvc相关坐标 spri...
maven基础
Maven简介Maven是什么 Maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM) POM: 项目对象模型 Maven的作用 项目构建:提供标准的、跨平台的自动化项目构建方式 依赖管理:方便快捷的管理项目依赖的资源(jar包),避免资源间的版本冲突问题 统一开发结构:提供标准的、统一的项目结构 下载与安装下载 官网:http://maven.apache.org/ 下载地址:http://maven.apache.org/download.cgi 安装 将下好的zip包解压 Maven环境变量配置 依赖Java, 需要配置JAVA_HOME 设置Maven自身的运行环境,需要配置MAVEN_HOME 在环境变量中添加MAVEN_HOME,并添加在path中 Maven基本概念仓库 仓库:用于存储资源,包含各种jar包 仓库分类: 本地仓库:自己电脑上存储资源的仓库,远程连接仓库获取资源 远程仓库:非本机电脑上的仓库,为本地仓库提供资源 中央仓库:Maven团队维护,存储所有资源的仓库 私服:部门/公司范围内存储资...
mybatisPlus2
初始代码准备 创建一个itheima_springboot的project 在pom.xml中导入相应的坐标 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId></dependency><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope></dependency><dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> &...









