Spring Security框架
Spring Security框架 第一章了解Spring Security Spring Security是基于Spring的安全框架。它提供全面的安全性解决方案,同时在Web请求和方法调用级处理身份确认和授权。在Spring Framework基础上,Spring Security充分利用了依赖注入(DI)和面向切面编程(AOP)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。是一个轻量级的安全框架。他与SpringMVC有很好地集成。 1.1Spring Security 核心功能 (1)认证(你是谁,用户/设备/系统) (2)验证(你能干什么,也叫权限控制/授权,允许执行的操作) 1.2Spring Security 原理 基于 Filter,Servlet,AOP实现身份认证和权限验证 第二章 实例驱动学习 导入依赖: 1234<dependency> <groupId>org.springframework.boot</groupId> ...
常用SQL大全
常用SQL大全 12#显示查询数据库文件存储所在磁盘位置show variables like '%datadir%'; 123456#日志文件路径show variables like 'general_log_file';#错误日志文件路径show variables like 'log_error';#慢查询日志文件路径show variables like 'slow_query_log_file'; 修改数据库密码: 1set password for 'root'@'%' = password('123456'); 1ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; 这里指的是更新用户名称为root其访问范围为%的账号密码为123456,注意%代表的是无任何访问限制的账户也就是说可以从公网访问,如果%替换为localhost,那么意思就是只能数据库所在机子才能访问。 删除数据库: 1DROP USER 'root'@'localhost'; 这里演示的是删除root账户 刷新权限: 1flush...
STM32学习
STM32 学习 工程架构: ST建议是如果是想自己写中断的话,是写在这个位置; 直接操作寄存器可以查看stm32f10x.h: stm32f10x.adc.c封装了寄存器的操作,提供了更加人性化的操作。 GPIO介绍 GPIO(General Purpose Input...
FCNN神经网络算法
FCNN神经网络算法 1 BP神经网络概念 首先从名称中可以看出,Bp神经网络可以分为两个部分,bp和神经网络。bp是 Back Propagation 的简写 ,意思是反向传播。 BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。 其主要的特点是:信号是正向传播的,而误差是反向传播的。 举一个例子,某厂商生产一种产品,投放到市场之后得到了消费者的反馈,根据消费者的反馈,厂商对产品进一步升级,优化,一直循环往复,直到实现最终目的——生产出让消费者更满意的产品。产品投放就是“信号前向传播”,消费者的反馈就是“误差反向传播”。这就是BP神经网络的核心。 2 算法流程图 3...
C++复习特性关键点快速总结
C++复习特性关键点快速总结 C++类的定义 访问数据成员 类的对象的公共数据成员可以使用直接成员访问运算符==.==来访问。 为了更好地理解这些概念,可以尝试下面的实例: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758#include <iostream> using namespace std; class Box{ public: double length; // 长度 double breadth; // 宽度 double height; // 高度 // 成员函数声明 double get(void); void set( double len, double bre, double hei );};// 成员函数定义double Box::get(void){ return length *...
Flutter基础学习笔记
Flutter基础学习 目录结构 android:用于android软件的相关 ios:用于ios相关 lib:Flutter代码存放地 test:测试用例代码存放地 Dart以main函数为入口,软件以runApp实体类为软件绘制入口。 123456789import 'package:flutter/material.dart';void main(){ runApp( Center( child: Text('XXX'), ) );} 可以单独将Center抽离成一个组件: 1234567891011121314151617181920212223242526import 'package:flutter/material.dart';void main(){ runApp(MyApp());}class MyApp extends StatelessWidget{ @override Widget build(BuildContext context){ ...
Linux学习(CentOS)
Linux学习 目录作用 / 根目录 /bin 存放必要的指令 /boot 存放内核以及启动所需的文件 /dev 存放设备文件 /etc 存放系统配置文件 /home 普通用户的宿主目录,用户数据存放在其主目录中 /lib 存放必要的运行库 /mnt 存放临时的映射文件系统,通常用来挂载使用。 /proc 存放存储进程和系统信息 /root 超级用户的主目录 /sbin 存放系统管理程序 /tmp 存放临时文件 /usr 存放应用程序,命令程序文件、程序库、手册和其它文档、 /var 系统默认日志存放目录 Linux常用命令 默认进入系统,我们会看到这样的字符:[root@localhost~]#,其中#代表当前是root用户登录,如果是$表示当前为普通用户。 我们了解Linux由很多目录文件构成,那我们来学习第一个Linux命令: cd 命令,cd /home;解析:进入/home目录 cd /root 进入/root目录;cd …/返回上一级目录;cd ./当前目录;(.和…可以理解为相对路径:例如:cd /home/test...
Shell学习
Shell学习 echo 说明:#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。echo 命令用于向窗口输出文本。 12#!/bin/bashecho "Hello World!" Shell 变量 在 Shell 编程中,变量是用于存储数据值的名称。 定义变量时,变量名不加美元符号($,PHP语言中变量需要),如: 1shellyour_name="runoob" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则: 只包含字母、数字和下划线: 变量名可以包含字母(大小写敏感)、数字和下划线 _,不能包含其他特殊字符。 不能以数字开头: 变量名不能以数字开头,但可以包含数字。 避免使用 Shell 关键字: 不要使用Shell的关键字(例如 if、then、else、fi、for、while 等)作为变量名,以免引起混淆。 使用大写字母表示常量: 习惯上,常量的变量名通常使用大写字母,例如 PI=3.14。 避免使用特殊符号: 尽量避免在变量名中使用特殊符号,因为它们可能与...
Docker学习
第一章 Docker概述 1.1虚拟化技术发展史 在虚拟化技术出现之前,如果我们想搭建一台服务器,我们需要做如下的工作: 购买一台硬件服务器; 在硬件服务器上安装配置操作系统; 在操作系统之上配置应用运行环境; 部署并运行应用; 这种方式的缺点就是: 部署应用非常慢; 需要花费的成本非常高(时间成本、服务器成本); 应用迁移麻烦;要将应用迁移,又得重复部署应用的过程:购买服务器->安装操作系统os->配置运行环境->部署应用 所以,为了解决这个问题,后续出现 了虚拟化技术。 1.2 虚拟化技术是什么? 虚拟化(英文:Virtualization)是一种计算机资源管理技术,是将计算机的各种硬件资源,比如服务器、网络、CPU、内存及存储等,予以抽象和转换后呈现出一套新的硬件资源环境,在这一套新的硬件环境下可以安装我们的操作系统,部署我们的应用运行环境等,它打破计算机硬件资源不可切割的障碍,使我们可以比原本的计算机硬件资源结构更好的方式来组合应用这些资源。 1.3 ...
JDBC学习笔记
JDBC学习笔记 1.JDBC是什么? Java DataBase Connectivity(Java语言连接数据库) 2.JDBC的本质是什么? JDBC是SUN公司制定的一套接口(interface) java.sql.*;(这个软件包下有很多接口) 接口都有调用者和实现者。 面向接口调用、面向接口写实现类,这都属于面向接口编程。 为什么要面向接口编程? 解耦合:降低程序的耦合度,提高程序的扩展能力。 多态机制就是非常典型的:面向抽象编程。(不要面向具体编程) 建议: 12345678910Animal a = new Cat();Animal a = new Dog();//喂养的方法public void feed(Animal a){//面向父类幸型编程。 }//不建议:Dog d = new Dog();Cat c = new Cat(); 思考:为什么SUN制定一套JDBC接口呢? 因为每一个数据库的底层实现原理都不一样。 Oracle数据库有自己的原理。 MySQL数据库也有自己的原理。 MS...