学习资料:开涛的<跟我学SpringMVC.pdf> 众所周知,springMVC是比较常用的web框架,通常整合spring使用.这里抛开spring,单纯的对springMVC做一下总结. 概念 HandlerMapping:处理器映射,对请求的URL进行映射为具体的处理器(如果有拦截器也包含拦截器,会将Handler和多个HandlerInterceptor封装为HandlerExecutionChain对象) HandlerAdapter:处理器适配器,适配不同类型的处理器,如Cont…
一.前言 个人感觉学习Flink其实最不应该错过的博文是Flink社区的博文系列,里面的文章是不会让人失望的.强烈安利:https://ververica.cn/developers-resources/. 本文是自己第一次尝试写源码阅读的文章,会努力将原理和源码实现流程结合起来.文中有几个点目前也是没有弄清楚,若是写在一篇博客里,时间跨度太大,但又怕后期遗忘,所以先记下来,后期进一步阅读源码后再添上,若是看到不完整版博文的看官,对不住! 文中若是写的不准确的地方欢迎留言指出. 源码系列基于Fl…
一. jwt token校验源码简析 1.1 前言 之前使用jwt签发了token,里面的头部包含了加密的方式.是否有签名等,而载荷中包含用户名.用户主键.过期时间等信息,最后的签名还使用了摘要算法进行不可逆的加密. 同时检验签名时还需进行签名的碰撞检测,判断该token是否合法.jwt提供了一个校验token的认证方法,使用时只需要CBV中进行局部身份验证配置即可.使用如下: from rest_framework_jwt.authentication import JSONWebTokenA…
1.概述 Spring MVC中的拦截器(Interceptor)类似于Servlet中的过滤器(Filter),它主要用于拦截用户请求并作相应的处理.例如通过拦截器可以进行权限验证.记录请求信息的日志.判断用户是否登录等. 2.简单示例 2.1.继承 HandlerInterceptorAdapter 抽象类实现一个拦截器.代码如下: public class DemoInterceptor extends HandlerInterceptorAdapter { @Override    pu…
ClassPathXmlApplicationContext 首先我们先从平时启动spring常用的ClassPathXmlApplicationContext开始解析 ApplicationContext context = new ClassPathXmlApplicationContext(...) // ClassPathXmlApplicationContext 133 public ClassPathXmlApplicationContext(String[] configLocat…
AFNetworking基本是苹果开发中网络请求库的标配,它是一个轻量级的网络库,专门针对iOS和OS X的网络应用设计,具有模块化的架构和丰富的APIs接口,功能强大并且使用简单,深受苹果应用开发人员的喜爱. 本文主要介绍一下AFNetworking(版本:3.1.0)的模块结构.请求的执行过程.网络状态监测以及网络安全的处理等等,从而对AFNetworking的具体功能.执行过程有一个大致的了解,在实际的项目开发过程中,能够更好的进行应用. 一.结构 下面是AFNetworking的源码结构…
Glance简介 OpenStack镜像服务器是一套虚拟机镜像发现.注册.检索. glance架构图: Glance源码结构: glance/api:主要负责接收响应镜像管理命令的Restful请求,分析消息请求信息并分发其所带的命令(如新增,删除,更新等).默认绑定端口是9292. glance/registry:主要负责接收响应镜像元数据命令的Restful请求.分析消息请求信息并分发其所带的命令(如获取元数据,更新元数据等).默认绑定的端口是9191. glance/db:主要负责与数据库…
ElementUI 作为当前运用的最广的 Vue PC 端组件库,很多 Vue 组件库的架构都是参照 ElementUI 做的.作为一个有梦想的前端(咸鱼),当然需要好好学习一番这套比较成熟的架构. 目录结构解析 首先,我们先来看看 ElementUI 的目录结构,总体来说,ElementUI 的目录结构与 vue-cli2 相差不大: .github:存放贡献指南以及 issue.PR 模板,这些是一个成熟的开源项目必须具备的. build:毫无疑问,看文件夹名称就知道是存放打包工具的配置文件…
一,前言 XXL-JOB是一个优秀的国产开源分布式任务调度平台,他有着自己的一套调度注册中心,提供了丰富的调度和阻塞策略等,这些都是可视化的操作,使用起来十分方便. 由于是国产的,所以上手还是比较快的,而且他的源码也十分优秀,因为是调试平台所以线程这一块的使用是很频繁的,特别值得学习研究. XXL-JOB一同分为两个模块,调度中心模块和执行模块.具体解释,我们copy下官网的介绍: 调度模块(调度中心): 负责管理调度信息,按照调度配置发出调度请求,自身不承担业务代码.调度系统与任务解耦,提高了…
一. 安装djangorestframework 安装的方式有以下三种,注意,模块就叫djangorestframework. 方式一:pip3 install djangorestframework 方式二:pycharm图形化界面安装 方式三:pycharm命令行下安装(会装在当前工程所用的解释器下) 二. APIView源码分析 在此强调源码分析时一定要依据属性及方法的查询顺序从底部开始查询,不要直接ctrl + 鼠标左键点过去,因为可能跳过去的是其他类中的方法.除此之外只需搞清楚源码的流…