11 2018 档案

摘要:1,双端队列定义 双端队列:其两端都可以入列和出列的数据结构,如下图所示,队列后面(rear)可以加入和移出数据,队列前面(front)可以加入和移出数据 双端队列操作: 操作示例: 2, 用python实现双端队列 Deque的代码实现如下: 3,Deque的应用 回文检查(Palindrome 阅读全文
posted @ 2018-11-29 21:35 silence_cho 阅读(2433) 评论(0) 推荐(0) 编辑
摘要:1,队列的定义 队列:是一种先进先出的数据结构,如下图所示,现进去的数据在队列前面(front),先出队列,后进入队列的数据在后面(rear),后出队列。 队列常用操作: 操作示例: 2,用python实现队列 可以用python的list来实现队列,其定义如下面代码所示。 (其中enqueue和d 阅读全文
posted @ 2018-11-29 20:40 silence_cho 阅读(1594) 评论(0) 推荐(0) 编辑
摘要:1,栈的定义 栈:先进后出的数据结构,如下图所示,先进去的数据在底部,最后取出,后进去的数据在顶部,最先被取出。 栈常用操作: s=Stack() 创建栈 s.push(item) 将数据item放在栈的顶部 s.pop() 返回栈顶部数据,并从栈中移除该数据 s.peek() 返回栈顶部数据,但不 阅读全文
posted @ 2018-11-28 22:02 silence_cho 阅读(11791) 评论(0) 推荐(0) 编辑
摘要:websocket协议规定了客户端和服务端socket连接和通信时的规则,一是连接握手时的认证,二是通信时的数据报文解析。其整个流程的简单分析如下: (websocket简介参见:https://www.zhihu.com/question/20215561/answer/40316953) 1.w 阅读全文
posted @ 2018-11-26 22:30 silence_cho 阅读(966) 评论(0) 推荐(0) 编辑
摘要:1. celery介绍和使用 Celery 是一个 基于python开发的分布式异步消息任务队列(可以简单理解为python多进程或多线程中的queue),通过它可以轻松的实现任务的异步处理。celery的架构由三部分组成:消息中间件(message broker),任务执行单元(worker)和任 阅读全文
posted @ 2018-11-24 11:33 silence_cho 阅读(2716) 评论(1) 推荐(0) 编辑
摘要:1. NoSQL数据库 redis是基于key-value模型的非关系数据库(NoSQL),常见的非关系数据库如下: NoSQL数据库的四种分类表 redis支持的数据类型包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型 阅读全文
posted @ 2018-11-21 22:13 silence_cho 阅读(1659) 评论(0) 推荐(0) 编辑
摘要:1,基本概念 Shell(命令行):是一个程序,接受键盘输入的命令,并将命令传递给操作系统进行执行。 Bash:Bourne Again Shell, 是大多数linux系统分之中所带的一种shell程序。 命令提示符: [username@machinename]: 表示普通用户登录 [ro 阅读全文
posted @ 2018-11-18 21:24 silence_cho 阅读(847) 评论(0) 推荐(0) 编辑
摘要:1. 数据库索引 1.1 索引作用 当我们在数据库表中查询数据时,若没有索引,会逐个遍历表格中的所有记录,表格中数据记录量大时很耗时。建立索引就像创建目录一样,直接通过索引找到数据存储位置,加快查找。例如:有一张person表,其中有2W条记录,记录着2W个人的信息。有一个Phone的字段记录每个人 阅读全文
posted @ 2018-11-18 18:08 silence_cho 阅读(4397) 评论(0) 推荐(0) 编辑
摘要:1,服务端和客户端 MySQL 包括服务端和客户端,服务端是MySQL server,客户端包括命令行客户端和图形用户客户端; 命令行客户端:mysql,mysqladmin,mysqldump (都存在于C:\programs\MySQL\MySQL Sever n.n\bin或自定义安装目录下, 阅读全文
posted @ 2018-11-18 10:56 silence_cho 阅读(474) 评论(0) 推荐(0) 编辑
摘要:tornado是一个非阻塞的web服务器框架,每秒可以处理上千个客户端连接(都是在一个线程中,不需要为每个客户端创建线程,资源消耗少),适合用来开发web长连接应用,如long polling(轮询),WebSocket协议等(http协议为短连接)。 1,简单使用 #coding:utf-8 im 阅读全文
posted @ 2018-11-11 16:34 silence_cho 阅读(1021) 评论(0) 推荐(0) 编辑
摘要:1.多线程网络IO请求: #!/usr/bin/python #coding:utf-8 from concurrent.futures import ThreadPoolExecutor import requests #线程池 # def get_page(url): # response = 阅读全文
posted @ 2018-11-11 16:30 silence_cho 阅读(2044) 评论(1) 推荐(1) 编辑
摘要:Twisted是用Python实现的基于事件驱动的网络引擎框架,是python中一个强大的异步IO库。理解twisted的一个前提是弄清楚twisted中几个核心的概念: reactor, Protocl, ProtocolFactory, Deffered 1 reactor twisted.in 阅读全文
posted @ 2018-11-10 12:02 silence_cho 阅读(9499) 评论(0) 推荐(0) 编辑
摘要:1.Scrapy整体框架 Scrapy采用了Twisted异步网络来处理请求,整体框架如下: Scrapy Engine爬虫引擎:协调整个框架组件间的数据交互,是框架的核心 Schedule调度器:接受引擎发过来的请求, 压入队列中, 并在引擎再次请求的时候返回. 可以想像成一个URL的优先队列, 阅读全文
posted @ 2018-11-10 09:06 silence_cho 阅读(657) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示