07 2017 档案

摘要:使用 MapReduce 要实现两个函数 Map 函数和 Reduce 函数,Map 函数调用 emit(key, value), 遍历 collection 中所有的记录, 将key与 value 传递给 Reduce 函数进行处理。 Map 函数必须调用 emit(key, value) 返回键 阅读全文
posted @ 2017-07-27 17:10 Erick-LONG 阅读(191) 评论(0) 推荐(0)
摘要:备份 语法 -h:服务器地址,也可以指定端口号 -d:需要备份的数据库名称 -o:备份的数据存放位置,此目录中存放着备份出来的数据 例1 恢复 语法 -h:服务器地址 -d:需要恢复的数据库实例 --dir:备份数据所在位置 例2 阅读全文
posted @ 2017-07-27 17:04 Erick-LONG 阅读(182) 评论(0) 推荐(0)
摘要:分片 在Mongodb里面存在另一种集群,就是分片技术,可以满足MongoDB数据量大量增长的需求 当MongoDB存储海量的数据时,一台机器可能不足以存储数据,也可能不足以提供可接受的读写吞吐量,这时,我们就可以通过在多台机器上分割数据,使得数据库系统能存储和处理更多的数据 为什么使用分片 本地磁 阅读全文
posted @ 2017-07-27 17:01 Erick-LONG 阅读(215) 评论(0) 推荐(0)
摘要:复制(副本集) 什么是复制 复制提供了数据的冗余备份,并在多个服务器上存储数据副本,提高了数据的可用性,并可以保证数据的安全性 复制还允许从硬件故障和服务中断中恢复数据 为什么要复制 数据备份 数据灾难恢复 读写分离 高(24* 7)数据可用性 无宕机维护 副本集对应用程序是透明 复制的工作原理 复 阅读全文
posted @ 2017-07-27 16:56 Erick-LONG 阅读(326) 评论(0) 推荐(0)
摘要:1、功能需求 2.1 设计架构前需要考虑的问题 2.2 架构实现 所需服务组件: django: 用户页面呈现 nginx: 前端高并发必备 cdn:异地高并发、静态内容速度快必备 redis: 热点weibo\话题数据高效存储 rabbitMQ: 用户weibo推送 SOA:服务解耦,服务接口化 阅读全文
posted @ 2017-07-27 07:39 Erick-LONG 阅读(1180) 评论(1) 推荐(0)
摘要:hash_ring 增加删除机器时有可能数据找不到 阅读全文
posted @ 2017-07-26 08:40 Erick-LONG 阅读(995) 评论(0) 推荐(0)
摘要:我们根据pid加客户端的时间戳进行加密md5(pid|时间戳)得到的单向加密串,与时间戳,或者其它字段的串的url给服务端。 服务端接收到请求的url进行分析 客户端时间与服务端的时间戳之差如果大于规定的时间比如我们规定10s,这样就是属于过期时间。防止有人黑了url,再次请求 可以用redis 如 阅读全文
posted @ 2017-07-26 08:01 Erick-LONG 阅读(1508) 评论(0) 推荐(0)
摘要:聚合 aggregate 聚合(aggregate)主要用于计算数据,类似sql中的sum()、avg() 语法 管道 管道在Unix和Linux中一般用于将当前命令的输出结果作为下一个命令的输入 在mongodb中,管道具有同样的作用,文档处理完毕后,通过管道进行下一次处理 常用管道 $group 阅读全文
posted @ 2017-07-25 18:01 Erick-LONG 阅读(2000) 评论(0) 推荐(0)
摘要:BinaryHeap() 创建一个新的,空的二叉堆。 insert(k) 向堆添加一个新项。 findMin() 返回具有最小键值的项,并将项留在堆中。 delMin() 返回具有最小键值的项,从堆中删除该项。 如果堆是空的,isEmpty() 返回 true,否则返回 false。 size() 阅读全文
posted @ 2017-07-24 11:44 Erick-LONG 阅读(909) 评论(0) 推荐(0)
摘要:性质1: 在二叉树的第i层上至多有2^(i-1)个结点(i>0)性质2: 深度为k的二叉树至多有2^k - 1个结点(k>0)性质3: 对于任意一棵二叉树,如果其叶结点数为N0,而度数为2的结点总数为N2,则N0=N2+1;性质4:具有n个结点的完全二叉树的深度必为 log2(n+1)性质5:对完全 阅读全文
posted @ 2017-07-24 09:04 Erick-LONG 阅读(541) 评论(0) 推荐(0)
摘要:(非递归实现) (递归实现) 最优时间复杂度:O(1) 最坏时间复杂度:O(logn) 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。 阅读全文
posted @ 2017-07-24 08:10 Erick-LONG 阅读(228) 评论(0) 推荐(0)
摘要:最优时间复杂度:O(nlogn) 最坏时间复杂度:O(nlogn) 稳定性:稳定 将数组分解最小之后,然后合并两个有序数组,基本思路是比较两个数组的最前面的数,谁小就先取谁,取了后相应的指针就往后移一位。然后再比较,直至一个数组为空,最后把另一个数组的剩余部分复制过来即可。 阅读全文
posted @ 2017-07-24 07:47 Erick-LONG 阅读(227) 评论(0) 推荐(0)
摘要:最优时间复杂度:O(nlogn) 最坏时间复杂度:O(n2) 稳定性:不稳定 三行代码版本 三路快速排序,重复值 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据 阅读全文
posted @ 2017-07-23 22:04 Erick-LONG 阅读(1050) 评论(0) 推荐(0)
摘要:最优时间复杂度:根据步长序列的不同而不同 最坏时间复杂度:O(n2) 稳定想:不稳定 希尔排序的基本思想是:将数组列在一个表中并对列分别进行插入排序,重复这过程,不过每次用更长的列(步长更长了,列数更少了)来进行。最后整个表就只有一列了。将数组转换至表是为了更好地理解这算法,算法本身还是使用数组进行 阅读全文
posted @ 2017-07-23 20:33 Erick-LONG 阅读(205) 评论(0) 推荐(0)
摘要:最优时间复杂度:O(n) (升序排列,序列已经处于升序状态) 最坏时间复杂度:O(n2) 稳定性:稳定 更容易理解版本 工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供 阅读全文
posted @ 2017-07-21 08:51 Erick-LONG 阅读(1337) 评论(0) 推荐(0)
摘要:最优时间复杂度:O(n2) 最坏时间复杂度:O(n2) 稳定性:不稳定(考虑升序每次选择最大的情况) 它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 选择 阅读全文
posted @ 2017-07-21 08:25 Erick-LONG 阅读(260) 评论(0) 推荐(0)
摘要:递归的三定律 整数转换为任意进制字符串 栈帧:实现递归字符串转换器 可视化递归 谢尔宾斯基三角形 汉诺塔游戏 探索迷宫问题 参考:https://facert.gitbooks.io/python-data-structure-cn/4.%E9%80%92%E5%BD%92/4.11.%E6%8E% 阅读全文
posted @ 2017-07-20 17:00 Erick-LONG 阅读(344) 评论(0) 推荐(0)
摘要:操作 Deque() 创建一个空的双端队列 add_front(item) 从队头加入一个item元素 add_rear(item) 从队尾加入一个item元素 remove_front() 从队头删除一个item元素 remove_rear() 从队尾删除一个item元素 is_empty() 判 阅读全文
posted @ 2017-07-20 09:13 Erick-LONG 阅读(1444) 评论(0) 推荐(0)
摘要:操作 Queue() 创建一个空的队列 enqueue(item) 往队列中添加一个item元素 dequeue() 从队列头部删除一个元素 is_empty() 判断一个队列是否为空 size() 返回队列的大小 烫手山芋 模拟:打印机 主要模拟步骤 每秒(currentSecond): 是否创建 阅读全文
posted @ 2017-07-20 09:12 Erick-LONG 阅读(1541) 评论(0) 推荐(0)
摘要:操作 is_empty() 链表是否为空 length() 链表长度 travel() 遍历链表 add(item) 链表头部添加 append(item) 链表尾部添加 insert(pos, item) 指定位置添加 remove(item) 删除节点 search(item) 查找节点是否存在 阅读全文
posted @ 2017-07-20 09:00 Erick-LONG 阅读(1768) 评论(0) 推荐(0)
摘要:操作 is_empty() 判断链表是否为空 length() 返回链表的长度 travel() 遍历 add(item) 在头部添加一个节点 append(item) 在尾部添加一个节点 insert(pos, item) 在指定位置pos添加节点 remove(item) 删除一个节点 sear 阅读全文
posted @ 2017-07-20 08:34 Erick-LONG 阅读(5093) 评论(0) 推荐(0)
摘要:单链表的操作 is_empty() 链表是否为空 length() 链表长度 travel() 遍历整个链表 add(item) 链表头部添加元素 append(item) 链表尾部添加元素 insert(pos, item) 指定位置添加元素 remove(item) 删除节点 search(it 阅读全文
posted @ 2017-07-19 09:17 Erick-LONG 阅读(943) 评论(1) 推荐(0)
摘要:栈的操作 Stack() 创建一个新的空栈 push(item) 添加一个新的元素item到栈顶 pop() 弹出栈顶元素 peek() 返回栈顶元素 is_empty() 判断栈是否为空 size() 返回栈的元素个数 用栈处理简单括号匹配问题 多括号匹配问题 进制转换 阅读全文
posted @ 2017-07-17 17:28 Erick-LONG 阅读(1037) 评论(0) 推荐(0)
摘要:select,轮询最多可监听1024个人,poll无默认值,但是也是轮询 epoll非轮询,无限制,事件通知机制 EPOLLIN (可读) EPOLLOUT (可写) EPOLLET (ET模式) epoll对文件描述符的操作有两种模式:LT(level trigger)和ET(edge trigg 阅读全文
posted @ 2017-07-16 07:30 Erick-LONG 阅读(620) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2017-07-13 22:11 Erick-LONG 阅读(339) 评论(0) 推荐(0)
摘要:Django Haystack 简介 django-haystack 是一个专门提供搜索功能的 django 第三方应用,它支持 Solr、Elasticsearch、Whoosh、Xapian 等多种搜索引擎,配合中文自然语言处理库 jieba 分词,就可以为博客提供博客文章搜索系统。 安装必要依 阅读全文
posted @ 2017-07-11 14:30 Erick-LONG 阅读(1325) 评论(0) 推荐(2)
摘要:tftp是基于udp的协议 实现简单的tftp,首先要有tftp的协议图。 tftp默认接收端口为69,但每次有连接过来后,tftp会随机分配一个端口来专门为这个连接来服务。 操作码:1.上传 2.下载 3.传数据 4.接收确认 5.错误码 tftp服务器简单实现: 上传数据简单实现: 下载数据简单 阅读全文
posted @ 2017-07-10 08:44 Erick-LONG 阅读(765) 评论(0) 推荐(0)
摘要:多线程socket收发数据 阅读全文
posted @ 2017-07-09 20:01 Erick-LONG 阅读(1992) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2017-07-09 14:29 Erick-LONG 阅读(191) 评论(0) 推荐(0)
摘要:修改全局变量,设立flag来避免线程间数据冲突,低效率版 修改全局变量,互斥锁(高效版),否则不用枷锁 死锁 添加超时时间 mutex.acquire(timeout = 1) 银行家算法-先满足最小需求单位,等待 ThreadLocal 可以解决线程间全局变量,不会因为线程修改全局变量而修改,完成 阅读全文
posted @ 2017-07-08 18:48 Erick-LONG 阅读(254) 评论(0) 推荐(0)
摘要:多fork问题,以下代码会出现4个进程 进程间通信 进程之间默认无关联 普通进程间通信用 Queue队列 进程池中用Manager().Queue() q.qsize() q.full() q.empty() q.put() q.get() q.put_nowait() q.get_nowait() 阅读全文
posted @ 2017-07-08 09:26 Erick-LONG 阅读(294) 评论(0) 推荐(0)
摘要:命令行 Python -m pdb xxx.py l > list 显示当前代码 n > next 向下执行一行代码 c > continue 继续执行代码 b > break 添加断点 b 7 在第7行添加断点 clear 7 清楚 7 断点 p >print 打印一个变量的值 a >args 打 阅读全文
posted @ 2017-07-07 09:22 Erick-LONG 阅读(226) 评论(0) 推荐(0)
摘要:shift + control + + 终端窗口放大 control + - 终端窗口缩小 ls -alh > laowang.txt 重定向,并覆盖源文件内容 ls -alh >> laowang.txt 追加内容不覆盖 ll 相当于ls -al ls >> yyy.txt 或者 ls > yyy 阅读全文
posted @ 2017-07-04 08:59 Erick-LONG 阅读(238) 评论(0) 推荐(0)
摘要:blogproject/blogproject/settings.py ## 其它配置代码... # 把英文改为中文 LANGUAGE_CODE = 'zh-hans' # 把国际时区改为中国时区 TIME_ZONE = 'Asia/Shanghai' ## 其它配置代码... 阅读全文
posted @ 2017-07-03 11:00 Erick-LONG 阅读(234) 评论(0) 推荐(0)
摘要:http://www.cnblogs.com/wanghzh/p/5847643.html 阅读全文
posted @ 2017-07-03 08:30 Erick-LONG 阅读(114) 评论(0) 推荐(0)
摘要:wsgi是将Python服务器端程序链接到web服务器的通用协议 Nginx+uwsgi配置 安装Nginx Nginx 配置文件 进入/usr/local/etc/nginx目录下,执行 sudo vim nginx.conf 参考:http://www.cnblogs.com/Lxiaolong 阅读全文
posted @ 2017-07-02 19:24 Erick-LONG 阅读(352) 评论(0) 推荐(0)
摘要:Python psycopg2 模块APIs 以下是psycopg2的重要的的模块例程可以满足Python程序与PostgreSQL数据库的工作。 这个API打开一个连接到PostgreSQL数据库。如果成功打开数据库时,它返回一个连接对象。 www.yiibai.com 该程序创建一个光标将用于整 阅读全文
posted @ 2017-07-02 19:01 Erick-LONG 阅读(36621) 评论(0) 推荐(0)
摘要:Mac 安装 http://postgresapp.com/ 创建和删除数据库用户 对应命令如下(在postgres=# 环境下):1.查看数据库用户列表: \du2.创建数据库用户: create user user1 with password '123456';3.删除数据库用户: drop 阅读全文
posted @ 2017-07-02 18:56 Erick-LONG 阅读(320) 评论(0) 推荐(0)
摘要:xx 阅读全文
posted @ 2017-07-02 11:00 Erick-LONG 阅读(318) 评论(0) 推荐(0)