- 博客(25)
- 收藏
- 关注
原创 mongodb Journal
https://blog.csdn.net/yibing548/article/details/508443101.之前用mongodb数据的时候,有时候会有丢失,一开始考虑到是mongodb的安全性能不行吗,在网上看了一些资料,做了一些解释:MongoDB确实在其发展的过程中,有一些数据持久化的问题没有处理好,特别是一些默认值的选定上。大部分用户会拿来就用,直到遇到问题之后才发现他们应该在开始的...
2018-04-28 17:44:13 799
原创 python 排序算法之 二分查找
def binary_search(find, L) : low = 0 high = len(L) while low < high : mid = int((low + high) / 2) if L[mid] == find : return mid #左半边 elif L[mid] > find : high = mid
2017-09-25 00:00:43 371
原创 pythn 冒泡排序
def bubble_sort(lists): # 冒泡排序 count = len(lists) for i in range(0, count): for j in range(i + 1, count): if lists[i] > lists[j]: lists[i], lists[j] = l
2017-09-24 18:01:24 293
原创 python 排序之 快速排序
def quick_sort(arr): if len(arr) 1: return arr m = arr[0] small_list = [] big_list = [] for i in arr[1:]: if i m: small_list.append(i) else:
2017-09-24 17:58:49 177
原创 python 排序算法之---插入排序
def insert(arr, target): if len(arr) < 1: return arr if target <= arr[0]: arr.insert(0, target) return arr if target >= arr[-1]: arr.append(target)
2017-09-24 17:48:23 161
原创 dockerfile
dockerfile 介绍Docker简介Docker项目提供了构建在Linux内核功能之上,协同在一起的的高级工具。其目标是帮助开发和运维人员更容易地跨系统跨主机交付应用程序和他们的依赖。Docker通过Docker容器,一个安全的,基于轻量级容器的环境,来实现这个目标。这些容器由镜像创建,而镜像可以通过命令行手工创建或 者通过Dockerfile自动创建。Dockerf
2017-09-24 17:25:00 189
原创 docker 部署nginx
官方安装:docker pull nginx启动跑个静态网页docker run --name my-nginx -d -p 80:80 -v /webroot:/usr/share/nginx/html:ro -d nginx这儿简单介绍下ro,默认容器对这个目录有可读写权限,可以通过指定ro,将权限改为只读添加日志记录docker run --name
2017-09-24 17:24:17 181
转载 策略模式
策略模式(Strategy Pattern):策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。原则:针对接口(即超类型)编程,而不是针对实现编程;把会变化的部分取出并“封装”起来,好让其它部分不会受到影响;多用组合,少用继承;案例:现在需要实现几种鸭子,每种鸭子都有不同的特
2017-09-23 10:50:22 159
转载 工厂模式
python 模式之工厂模式工厂模式是一个在软件开发中用来创建对象的设计模式。工厂模式包涵一个超类。这个超类提供一个抽象化的接口来创建一个特定类型的对象,而不是决定哪个对象可以被创建。为了实现此方法,需要创建一个工厂类创建并返回。 当程序运行输入一个“类型”的时候,需要创建于此相应的对象。这就用到了工厂模式。在如此情形中,实现代码基于工厂模式,可以达
2017-09-23 10:47:44 497
原创 celery系列 一 celery 相关配置
CELERY_RESULT_BACKEND = "amqp" # 官网优化的地方也推荐使用c的librabbitmqCELERY_TASK_RESULT_EXPIRES = 1200 # celery任务执行结果的超时时间,我的任务都不需要返回结果,只需要正确执行就行CELERYD_CONCURRENCY = 50 # celery worker的并发数 也是命令行-c指定的数目,事实上实
2017-09-19 16:37:42 525
原创 requests模拟登录
requests有一种用法, 通过一个requests.Session对象,来完成请求在上下文,传递过程中的处理 import requests s = requests.Session()
2017-03-18 00:45:50 391
原创 带参数的装饰器
# coding=utf-8def say(worker): print 'I am worker %s' % worker def dec(fn): def wraped(*argv,**kwgs): print 'staring..', worker fn(*argv,**kwgs) pri
2017-02-28 00:18:36 229
转载 Gevent的协程实现原理
之前之所以看greenlet的代码实现,主要就是想要看看gevent库的实现代码。。。然后知道了gevent的协程是基于greenlet来实现的。。。所以就又先去看了看greenlet的实现。。。 这里就不说greenlet的具体实现了,关键就是栈数据的复制拷贝,栈指针的位移。。。因为gevent带有自己的I/O以及定时循环,所以它对greenlet又加了一层的扩展。。。 这里我们用如下的代码来
2017-02-25 20:15:12 678
转载 什么是猴子补丁(monkey patch)
monkey patch指的是在运行时动态替换,一般是在startup的时候.用过gevent就会知道,会在最开头的地方gevent.monkey.patch_all();把标准库中的thread/socket等给替换掉.这样我们在后面使用socket的时候可以跟平常一样使用,无需修改任何代码,但是它变成非阻塞的了.之前做的一个游戏服务器,很多地方用的import json,后来发现ujson比自带
2017-02-25 17:49:43 559
转载 文章标题
浅谈 Gevent 与 Tornado(转)阅读目录从 Tornado 说起 再来看下 Gevent 总要总结一下 原文:http://www.pywave.com/2012/08/17/about-gevent-and-tornado/还是前几月的时候,几乎在同一时间,自己接触到了 Gevent 和 Tornado 这两个已经不新的东西,那时那个 思绪混乱啊!似乎都支持异步,似乎都是无阻塞(
2017-02-25 17:41:20 181
转载 文章标题
浅谈 Gevent 与 Tornado(转)阅读目录从 Tornado 说起 再来看下 Gevent 总要总结一下 原文:http://www.pywave.com/2012/08/17/about-gevent-and-tornado/还是前几月的时候,几乎在同一时间,自己接触到了 Gevent 和 Tornado 这两个已经不新的东西,那时那个 思绪混乱啊!似乎都支持异步,似乎都是无阻塞(
2017-02-25 17:39:03 208
转载 文章标题
谈谈协程 关于协程,网上能看到很多资料。这里再自个梳理一下。协程展开来说,叫做协作的程序,想表达的意思是,两段程序,能协作地,共用公共资源,来完成两段程序各自的目的,就叫做协程了。把现在所有的容易混淆的名字罗列出来:并发,并行,进程,线程,协程。说说他们的历史。并发 首先是并发,并发的概念是很早就有的了。最早的时候机器都是批处理系统,而且是单道批处理系统,这个系统就是很简单的线性逻辑,一个批处理
2017-02-25 17:12:04 206
原创 文章标题
python中的super( test, self).init()首先找到test的父类(比如是类A),然后把类test的对象self转换为类A的对象,然后“被转换”的类A对象调用自己的init函数
2017-02-25 14:37:45 191
原创 欢迎使用CSDN-markdown编辑器
python中的_init_ 、_new_、_call_小结1.new(cls, *args, **kwargs) 创建对象时调用,返回当前对象的一个实例;注意:这里的第一个参数是cls即class本身 2.init(self, *args, **kwargs) 创建完对象后调用,对当前对象的实例的一些初始化,无返回值,即在调用new之后,根据返回的实例初始化;注意,这里的第一个参数是self即
2017-02-25 11:04:00 154
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人