- 博客(27)
- 资源 (83)
- 收藏
- 关注
原创 python基础-单分派泛函数singledispatch
函数中使用对象中使用singledispatch是标准库functools模块的函数 可以把整体方案拆成多个模块,甚至可以为你无法修改的类提供专门的函数,使用@singledispatch装饰的函数会变成泛函数1、singledispatch:标记处理object类型的基函数 2、各个专门函数使用@<<base_function>>.r...
2018-03-31 19:37:49 7922
原创 python基础-LruCaChe
常规方法OrderedDictlru_cacheLRU是Least Recently Used 近期最少使用算法。是一种置换算法, 百度百科是这么介绍的:内存管理的一种页面置换算法,对于在内存中但又不用的数据块(内存块)叫做LRU,操作系统会根据哪些数据属于LRU而将其移出内存而腾出空间来加载另外的数据。LruCache算法在安卓开发里面用的很广泛在Andr...
2018-03-31 18:16:02 7450
原创 RabbitMQ
Windows下安装RabbitMQ概念基本示例消息持久化exchange发布订阅direct 有选择的接收消息模糊匹配topicWindows下安装RabbitMQ(1):下载erlang,原因在于RabbitMQ服务端代码是使用并发式语言erlang编写的,下载地址:http://www.erlang.org/downloads,双击.ex...
2018-03-31 14:47:06 308
原创 python设计模式---观察者模式
什么是观察者模式呢? 我是这样理解观察者模式的,当我去使用一个设计模式时候,我很喜欢将抽象的问题具体化 1、被观察者 2、被观察者的行为 3、观察者 4、观察者的行为 5、关联2者的类(简单的可以在被观察者里面去关联2者)首先先来了解一个最简单的观察者模式,我就拿一个最经典的例子来解释 我和小明(观察者)去订报(观察者行为),邮局(被观察者)有报纸(被观察者行为)就会通知我和小明...
2018-03-31 11:18:05 327
原创 django---信号、序列化
信号默认信号自定义信号序列化serializersjson.dumpsJSONEncoder信号Model signals pre_init # django的modal执行其构造方法前,自动触发 post_init # django的modal执行其构造方法...
2018-03-30 21:26:10 375
原创 django---缓存
内存缓存文件缓存全站缓存局部视图缓存MemcacheDjango提供了6种缓存方式开发调试缓存内存缓存文件缓存数据库缓存Memcache缓存(使用python-memcached模块)Memcache缓存(使用pylibmc模块)经常使用的有内存缓存、文件缓存和Mencache缓存内存缓存内存缓存需要在settings.py中进行...
2018-03-30 18:47:50 173
原创 python设计模式---策略者模式
策略者模式定义是定义一组算法,将每个算法都封装起来,并使他们之间可互换。 我简单的理解就是一个任务,可以用多种方法实现通过一个简单例子来理解吧,我要买车,可以分成如下的途径方法实现1、我借钱买车2、我自己花钱买车首先我们定义一个策略任务接口类,里面有一个strategy抽象的方法,这里写的不严谨,应该参数带上selffrom abc import ABCMeta,abstr...
2018-03-21 21:28:17 264
原创 python设计模式---享元模式
享元模式定义是它使用共享物件,用来尽可能减少内存使用量以及分享资讯给尽可能多的相似物件;它适合用于只是因重复而导致使用无法令人接受的大量内存的大量物件。通常物件中的部分状态是可以分享。常见做法是把它们放在外部数据结构,当需要使用时再将它们传递给享元从享元模式定义来看,跟单例模式有相同之处, 单例模式(Singleton)的定义:是为了确保一个类只能产生一个实例,从而节省对象创建所花费的时间,...
2018-03-21 20:31:20 455
原创 python设计模式---适配器模式
适配器模式定义如下:将一个类的接口变换成客户端期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作我们先来看不利用适配器模式,如何调用其他类的方法的class A(): def a(self): raise NotImplementedErrorclass CompanyA(A): def a(self): ...
2018-03-20 21:42:26 373
原创 python设计模式---代理模式
代理模式是为某对象提供一个代理,以控制对此对象的访问和控制 这里我利用经典的案例,来阐述何为代理模式 人通过汽车4S店购买车代理商:汽车4S店实体:人行为:买车我们时时刻刻在使用代理模式,比如如下的代码,我感觉就是一个代理模式class Foo(): a = 1类Foo中持有了一个a变量,只是我们没有对a进行处理操作人通过汽车4S店购买车,这个案例,我们...
2018-03-20 20:26:32 227
原创 python设计模式---原型模式
在了解原型模式前,我们先复习下python基础知识–深浅拷贝我们先来看浅拷贝l1 = [1, 2, 3, ['barry', 'safly']]l2=l1.copy()#浅拷贝print(id(l1),id(l2))输出如下81298256 81298336我们定义了一个变量l1,然后通过浅拷贝l1.copy()赋值一个变量l2,此刻l1与l2的内存地址值是不同的,我...
2018-03-16 22:05:05 519
原创 python设计模式---工厂模式
在学习工厂模式之前,我们必须要了解何为所谓的工厂模式 这篇博客,我就利用一个例子来一步步对工厂模式,进行概述 提到工厂模式,我们要有两个事物,一是工厂,二是产品,具体工厂、产品是什么类型的? 这里是抽象的,不具体的,需要具体的工厂、产品来继承或实现其方法,才能称为具体工厂、具体产品接下来我定义1个抽象的工厂,它的实现类或子类是自行车厂、汽车厂 接下来我定义1个抽象的产品,它的实现类或子...
2018-03-16 17:31:13 651
原创 python基础-attr系列
__getattr____getattribute____setattr__Local其他__getattr__实例instance通过instance.name访问属性name,只有当属性name没有在实例的__dict__或它构造类的dict或基类的dict中没有找到,才会调用__getattr__。当属性name可以通过正常机制追溯到时,getat...
2018-03-15 20:30:46 3467
原创 python设计模式---装饰器模式
装饰普通函数装饰函数不含语法糖装饰函数含语法糖装饰类方法装饰类方法不含语法糖装饰类方法含语法糖装饰类对象方法装饰类对象方法不含语法糖装饰类对象方法含语法糖装饰类装饰类不含语法糖装饰类含语法糖functools 方法类内置的装饰器如何想了解如何一步步构造通用的装饰器,可以查阅我如下的笔记 pytho...
2018-03-15 18:36:50 721
原创 django---forms模块源码解析(二)
我们在上篇文章 django—forms模块源码解析(一) ,简单了解了Form类的元类构造方式,以及BaseForm的逻辑封装,以及Field的数据校验,这篇博客,我们就来细致的分析下,校验的一步步流程,包含局部钩子、全局钩子等当我们使用继承forms.Form的类对象时候,我们通常会使用类似如下的代码块 if request.method == "POST": r...
2018-03-14 22:30:50 699
原创 django-ModelForm组件
这个组件的功能就是把model和form组合起来首先导入ModelFormfrom django.forms import ModelForm在视图函数中,定义一个类,比如就叫StudentList,这个类要继承ModelForm,在这个类中再写一个原类Meta(规定写法,并注意首字母是大写的)在这个原类中,有以下属性(部分):class StudentList(ModelFo...
2018-03-14 16:37:08 505
原创 django---forms模块源码解析(一)
用户表单是Web端的一项基本功能,大而全的Django框架中自然带有现成的基础form对象,Python的Django框架中forms表单类的使用方法详解Form表单的功能自动生成HTML表单元素检查表单数据的合法性如果验证错误,重新显示表单(数据不会重置)数据类型转换(字符类型的数据转换成相应的Python类型)Form相关的对象包括Widget:用来渲染成HTML元素的...
2018-03-13 22:03:34 894
原创 django---admin模块源码解析
django有一套强大的admin后台数据库管理工具,通过url(r'^admin/', admin.site.urls)完成对已注册model的增删改成,注册方法是admin.site.register(Publish)我们创建一个app,然后创建一个model对象,然后迁移数据库class Publish(models.Model): title = models.Char...
2018-03-12 21:34:25 3167 1
原创 django---加载INSTALLED_APPS的源码分析
运行django项目,我们除了可以通过django图形界面启动,我们也可以通过命令行方式启动,启动方式如下:python manage.py runserver当我们创建django项目时候,会生成如下目录mysite/├── manage.py # 管理文件└── mysite # 项目目录 ├── __init__.py ├── settings.p...
2018-03-12 16:49:55 11642 6
原创 python基础-元类执行流程
第一步继承默认元类typeclass Mymeta(type): # 继承默认元类的一堆属性 def __init__(self, class_name, class_bases, class_dic): print("Mymeta__init__") super(Mymeta, self).__init__(class_name, class_...
2018-03-09 19:37:05 630
原创 python设计模式---多种方法实现单例模式
__new__方式创建type构建单例metaclass元类方式(1)metaclass元类方式(2)模块构建单例这篇博客利用了元类,type的特性,需要了解其方法,这里就不去赘述了,请自行百度,或者看我如下博客 这里就不去介绍元类的用法了,如果感兴趣的可以去自行百度,或者看我下面的元类介绍文章python基础-元类 python基础-元类 __...
2018-03-09 17:45:07 293
原创 python基础-元类
return class构建type()metaclass示例其他return class构建def createClass(): class Foo(): pass return FoomyClass = createClass()print(myClass,type(myClass))print(myCl...
2018-03-08 17:55:15 356
原创 django---SessionMiddleware源码解析(二)
在上篇博客中 django—SessionMiddleware源码解析(一) ,我们简单了解了下django框架中的中间件SessionMiddleware的执行流程,这篇博客,就来对了解下db模块如何对session进行数据库持久化,以及如何加载session操作的我们知道在SessionMiddleware中process_response方法下,下面一行代码才是对session进行数据库...
2018-03-07 18:13:08 1232 1
原创 django---SessionMiddleware源码解析(一)
django—SessionMiddleware源码解析(二)是分析django session的数据库持久化,以及缓存数据加载此篇博客是分析django SessionMiddleware源码执行流程 SessionMiddleware是django框架的一个中间件,关于中间件的自定义创建、执行流程,这篇博客不去说明讲解,我们只是来了解下SessionMiddleware的源码当我们创...
2018-03-06 21:26:42 3549 1
原创 Ajax补充
$.ajax参数csrf跨站请求伪造$.ajax参数######################------------data---------################ data: 当前ajax请求要携带的数据,是一个json的object对象,ajax方法就会默认地把它编码成某种格式 (urlencod...
2018-03-02 20:41:20 264
原创 Ajax跨域
同源策略项目一项目二JsonpjQuery对JSONP的实现$.ajax同源策略同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。 同源策略,它是由Netscape提出的一个著名...
2018-03-02 17:52:37 276
原创 BeautifulSoup
BeautifulSoup一BeautifulSoup二BeautifulSoup三BeautifulSoup四BeautifulSoup五BeautifulSoup六BeautifulSoup七BeautifulSoup一from bs4 import BeautifulSoupdoc = """<html><head&...
2018-03-01 17:01:22 421
捕获异常、存sd卡、自定义封装json、传log日志到服务器、app崩溃友好重启
2016-07-15
一款很实用的 字母条索引+自定义进度条 http://blog.csdn.net/u013210620/article/details/51250542
2016-04-26
Animation动画详解(六)——ValueAnimator高级进阶(二)
2016-01-27
Animation动画详解(五)——ValueAnimator高级进阶(一)
2016-01-27
SaflyMVP
2016-11-09
简封Volley、Gson和JsonObject生成Json数据、添加Volley请求头体Json参数、Gson解析返回的Json
2016-07-24
buildJSONPacketBody数组形式封装json、JsonReader解析服务器返回值、封装对象、https协议
2016-07-16
捕获异常、存sd卡、自定义封装json(含网络工具类)、生成Json格式、传log日志到服务器(https方式))、app崩溃友好重启
2016-07-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人