新增的中间件和并发模式见注释. 消息队列中间件方面celery支持的,都要支持.并发模式,celery支持的都要支持. 从无限重复相似代码抽取框架,做成万能复用,是生产力的保障. 使用模板模式使加新中间件时候,在改实现消费框架的代码非常方便,不会影响到原有中间件使用. 使用策略模式使加入新的并发模式,,在改实现消费框架的代码非常方便,不会影响到原有并发模式. 所以实现消费框架的代码虽然很长有1000多行,但修改和增加的时候不会出现如履薄冰的害怕情绪. 使用工厂模式,使得调用框架时候,非常容易切换…
Maven打jar包的三种方式 不包含依赖jar包 该方法打包的jar,不包含依赖的jar包,也没有指定入口类. <build> <plugins> <plugin> <!-- 指定项目编译时的java版本和编码方式 --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <…
一.model深入 1.model的功能 1.1 创建数据库表 1.2 操作数据库表 1.3 数据库的增删改查操作 2.创建数据库表的单表操作 2.1 定义表对象 class xxx(models.MODEL) 2.2 定义字段 CharField EmailField TextField IntegerField AutoField BooleanField DateField DateTimeField GenericIPAddressField IntegerField(choices=)…
摘录 python核心编程 上节介绍的thread模块,是不支持守护线程的.当主线程退出的时候,所有的子线程都将终止,不管他们是否仍在工作. 本节开始,我们开始介绍python的另外多线程模块threading,该模块支持守护线程,其工作方式:守护线程一般是一个等待客户端请求的服务器.如果没有客户端请求,守护线程就是空闲的.如果把一个线程设置为守护线程,就表示这个线程是不重要的,进程退出时不需要等待这个线程执行完成. 如果主线程准备退出的时候,不需要等待某些子线程完成,就可以为这些子线程设置守护…
一.依赖注入DI 学习目标1)搞清楚构造参数依赖注入的过程及类2)搞清楚注解方式的属性依赖注入在哪里完成的.学习思路1)思考我们手写时是如何做的2)读 spring 源码对比看它的实现3)Spring 源码解读 1. 构造参数依赖注入 org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(String, RootBeanDefinition, Constructor<?>[], Obj…
我们在用Eclipse开发程序的时候,经常要用到第三方jar包.引入jar包不是一个小问题,由于jar包位置不清楚,而浪费时间.下面配图说明3种Eclipse引入jar包的方式. 1.最常用的普通操作方式:基本步骤式 右击“项目”→选择Properties,在弹出的对话框左侧列表中选择Java Build Path,如下图所示:选择Add External JARs,就可以逐个(也可以选择多个jar,但是限制在同一个文件夹中)添加第三方引用jar包. 上面这种方式的操作具有通用性,但是每次创建项…
二进制日志文件Binlog的格式主要有三种: 1.Statement:基于SQL语句级别的Binlog,每条修改数据的SQL都会保存到Binlog里面. 2.ROW:基于行级别,每一行数据的变化都会记录到Binlog里面,但是并不记住原始SQL语句,因此它会记录的非常详细,日志量也比statement格式记录的多得多.在主从复制中,这样的Binlog格式不会因存储过程或触发器原因造成主从数据不一致的问题. 3.Mixed:混合Statement和Row模式. 在mysql5.7中,默认是ROW模…
引用自 http://chenxu.wo.blog.163.com/blog/static/50239687201162310620634/ 使用Eclipse开发应用程序,少不了使用第三方jar包,而每次引入jar包都是一个不小的问题,不仅那些jar包的位置经常弄不清楚,而且很浪费时间.鉴于此,我列举了三种常用的jar包引入方式,其中第一种是我们最常用的普通操作方式,而第二种和第三种则是快速版的操作方式. 下面看第一种方式:基本步骤式 右键项目属性,选择Property,在弹出的对话框左侧列表…
Storyboard引入了2个概念:1. scene:一个场景,由一个viewController和相关的xib表示. 2. segue:在这是用于连接scenes,其有多种类型,iphone包括:Push,Modal,Custom.当然segue也负责传递数据和返回数据.整个程序的界面转换就是在各个scene之间切换.界面跳转关系,比如按哪个键跳到哪个界面,是由segue来描述.segue也可以带数据,以便做数据传递. 多个场景之间切换的样式(Style)总共有5个,iphone3个:Moda…
在日常的开发测试中我们经常会遇到本地开发和测试或者线上配置参数不同的场景,必要你要是使用一个三方的支付,它的本地测试和线上的key值或者账号存在不同.最基本的做法是本地用测试参数,提交到测试的时候再改参数.这种做法比较繁琐. 此时我们完全可以使用下面降到的方法,根据项目运行环境来自动加载参数.活不多说请看下文讲解: 先看目录结构 project 应用部署目录├─application 应用目录(可设置)│ ├─common 公共模块目录(可更改)│ ├─index 模块目录(可更改)│ │ ├─…