Jin Blog

纸上得来终觉浅,绝知此事需躬行

NoSQL数据库的四大分类

Four major classifications of NoSQL database

一、KV键值 典型介绍: 新浪:BerkeleyDB+redis 美团:redis+tair 阿里、百度:memcache+redis 二、文档型数据库(bson格式比较多) 典型介绍: CouchDB MongoDB MongoDB是一个基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能...

Activiti多租户

The multi tenant of Activiti

一、多租户共享数据库 主要用于数据共享在一个数据库的使用场景,一个或者多个引擎共用一个数据库,因此,操作的时候需要区分部署的流程资源的来源。 上图中的例子存在两个相同的流程定义Key,但是来源不同,引擎会使用TENANT_ID_来确保数据不会混乱。 优点:部署比较方便,只需要在启动流程实例的同时设置TENANT_ID_即可。 缺点: ...

Activiti概要总览

The summary overview of Activiti


RESTful API的HTTP动词

The HTTP verb of RESTful API

常用的HTTP动词有下面五个(括号里是对应的SQL命令)。 GET(SELECT):从服务器取出资源(一项或多项)。 POST(CREATE):在服务器新建一个资源。 PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。 PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。 DELE...

Shiro架构

Shiro Architecture

Shiro架构(Shiro外部来看) 从外部来看Shiro,即从应用程序角度来观察如何使用Shiro完成工作 Subject:应用代码直接交互的对象是Subject,也就是说Shiro的对外API核心就是Subject。Subject代表了当前"用户",这个用户不一定是一个具体的人,与当前应用交互的任何东西都是Subject,如网络爬虫,机器人等;与Subje...

Shiro入门介绍

Introduction to Shiro

权限系统简介 几乎所有的权限系统都分为两个部分,一个是分配权限部分,一个是验证权限部分,为了理解它们,首先解释两个基本的名词:安全实体和权限。 安全实体:就是被权限系统保护的对象,比如工资数据。 权限:就是需要被校验的权限对象,比如查看,修改等。 分配权限和验证权限的含义:...

Mybatis中的#和$的区别

The difference between # and $ in Mybatis

#{}将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by id #{sequence},如果传入的值是desc,那么解析成sql时的值为order by id “desc”。 ${}将传入的数据直接显示生成在sql中。如:order by id ${sequence},如果传入的值是desc,那么解析成sql时的值为order...