Shiro安全框架
简介
Apache Shiro 是一个功能强大、灵活的,开源的安全框架。它可以干净利落地处理身份验证、授权、企业会话管理和加密。
Apache Shiro Features 特性
下图为描述 Shiro 功能的框架图:
Authentication(认证), Authorization(授权), Session Management(会话管理), Cryptography(加密)被 Shiro 框架的开发团队称之为应用安全的四大基石。那么就让我们来看看它们吧:
**Authentication(认证):**用户身份识别,通常被称为用户“登录”
**Authorization(授权):**访问控制。比如某个用户是否具有某个操作的使用权限。
**Session Management(会话管理):**特定于用户的会话管理,甚至在非web 或 EJB 应用程序。
**Cryptography(加密):**在对数据源使用加密算法加密的同时,保证易于使用。
High-Level Overview 高级概述
在概念层,Shiro 架构包含三个主要的理念:Subject,SecurityMana ...
kaptcha验证码组件
简介
kaptcha是谷歌开源的简单实用的验证码生成工具。通过设置参数,可以自定义验证码大小、颜色、显示的字符等等。
Maven引入
增加了com.google.code.kaptcha:kaptcha 依赖,pom.xml 配置文件如下:
12345<dependency> <groupId>com.github.axet</groupId> <artifactId>kaptcha</artifactId> <version>${kaptcha.version}</version></dependency>
配置
配置类如下
1234567891011121314151617181920212223import com.google.code.kaptcha.impl.DefaultKaptcha;import com.google.code.kaptcha.util.Config;/* ... *//** * 生成验证码配置 * */@Configurationpu ...
利用 Github Actions 自动部署 Hexo博客
介绍
使用Hexo框架写博客时,每次都要经历清除、生成、部署,使用Github Actions可以实现自动化工作流。
假设用一个 blog 仓库存储markdown等文件,使用 Github Actions后,每次push时即可自动生成部署到 .github.io 仓库中去。如果有gitee或其他域名要同步部署博客,Github Actions提供 的便利会更明显。
确定目标
用一个仓库存储markdown等原始文件。
原始文件仓库push操作后自动部署到GitHub Pages仓库
(可选)原始文件仓库push操作后自动部署到Gitee Pages仓库
(可选)原始文件仓库push操作后自动部署到所购买域名的对应文件系统
目前只使用GitHub Pages部署博客,故本文只介绍这部分对应流程。
准备
创建所需仓库
创建 blog 仓库存放Hexo项目,仓库可以私密。
创建 yourname.github.io 仓库存放静态博客页面,仓库需要公开。
为仓库配置密钥
生成密钥
1ssh-keygen -f github-deploy-key
当前目录下会有 github-depl ...
给butterfly主题添加看板娘live2d
效果图
简单版
使用 hexo-helper-live2d ,善用搜索。
威力加强版
如果使用了hexo-helper-live2d,需要先卸载。
下载
大神魔改后的项目地址
下载解压到 themes\butterfly\source\ (或者 source\)文件夹下
必要配置
修改 autoload.js 文件中的 live2d_path 路径。直接使用第三行被注释掉的路径即可,记得注释掉第二行。
123// 注意:live2d_path 参数应使用绝对路径// const live2d_path = "https://cdn.jsdelivr.net/gh/stevenjoezhang/live2d-widget@latest/";const live2d_path = "/live2d-widget/";
默认的 cdnPath 需要开启CDN服务,否则会失效,可选择使用 apiPath 。
1234567891011121314151617// 加载 waifu.css live2d.min.js waifu-tips.jsif (s ...
FreeMaker配置与使用
FreeMaker
参考资料
英文官网
中文翻译版文档
Spring-boot集成freemarker入门|实践
配置
maven引入依赖
123456<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring‐boot‐starter‐freemarker</artifactId> </dependency></dependencies>
配置文件
1234spring: freemarker: suffix: .html request-context-attribute: request
(可选)配置类
12345678910111213141516171819@Configurationpublic class FreemarkerConfig { @Be ...
Anaconda介绍、安装及使用教程
转载自Anaconda介绍、安装及使用教程
〇、序
Python是一种面向对象的解释型计算机程序设计语言,其使用,具有跨平台的特点,可以在Linux、macOS以及Windows系统中搭建环境并使用,其编写的代码在不同平台上运行时,几乎不需要做较大的改动,使用者无不受益于它的便捷性。
此外,Python的强大之处在于它的应用领域范围之广,遍及人工智能、科学计算、Web开发、系统运维、大数据及云计算、金融、游戏开发等。实现其强大功能的前提,就是Python具有数量庞大且功能相对完善的标准库和第三方库。通过对库的引用,能够实现对不同领域业务的开发。然而,正是由于库的数量庞大,对于管理这些库以及对库作及时的维护成为既重要但复杂度又高的事情。
一、什么是Anaconda?
1. 简介
Anaconda(官方网站)就是可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本。Anaconda包含了conda、Python在内的超过180个科学包及其依赖项。
2. 特点
Anaconda具有如下特点:
▪ 开源
▪ 安装过程简单
▪ 高性能使用Python和R语言
▪ 免费的社区支 ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick Start
Create a new post
1$ hexo new "My New Post"
More info: Writing
Run server
1$ hexo server
More info: Server
Generate static files
1$ hexo generate
More info: Generating
Deploy to remote sites
1$ hexo deploy
More info: Deployment