<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[blackdevil_的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/blackdevil_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; blackdevil_]]></copyright><item><title><![CDATA[scrapy_redis各个组件有什么独特之处？]]></title><link>https://blog.youkuaiyun.com/blackdevil_/article/details/105520749</link><guid>https://blog.youkuaiyun.com/blackdevil_/article/details/105520749</guid><author>blackdevil_</author><pubDate>Tue, 14 Apr 2020 21:20:28 +0800</pubDate><description><![CDATA[文章目录connection.pydefaults.pydupefilter.pypicklecompat.pypipelines.pyqueue.pyscheduler.py
connection.py
用来连接redis数据库

import six
from scrapy.utils.misc import load_object
from . import defaults

# Shor...]]></description><category></category></item><item><title><![CDATA[MySQL常用语句]]></title><link>https://blog.youkuaiyun.com/blackdevil_/article/details/104685259</link><guid>https://blog.youkuaiyun.com/blackdevil_/article/details/104685259</guid><author>blackdevil_</author><pubDate>Thu, 05 Mar 2020 22:04:46 +0800</pubDate><description><![CDATA[创建,删除和最基本查询:
显示数据库 MySQL-&gt;show databases;
创建数据库 MySQL-&gt;create database db;
删除数据库 MySQL-&gt;drop database db;
选择数据库 MySQL-&gt;use db
创建表 MySQL-&gt;create table mytable(name archar(20),sex(char(1)...]]></description><category></category></item><item><title><![CDATA[来看看my-sql数据库]]></title><link>https://blog.youkuaiyun.com/blackdevil_/article/details/104648723</link><guid>https://blog.youkuaiyun.com/blackdevil_/article/details/104648723</guid><author>blackdevil_</author><pubDate>Wed, 04 Mar 2020 11:00:36 +0800</pubDate><description><![CDATA[文章目录一：索引二：事务三：存储引擎四：数据库的优缺点
一：索引
索引的概念：数据库索引是数据库管理系统中一个排序的数据结构，以助快熟查询、更新数据库表中数据。数据库索引就是为了提高表的搜索效率而对某些字段中的值建立的目录
索引的分类：唯一索引、主键索引、聚集索引
主键索引和唯一索引的区别：
1.主键一定会创建一个唯一索引，但是有唯一索引不一定是主键
2.主键不允许为空值，唯一索引列允许有空值
3...]]></description><category></category></item><item><title><![CDATA[反爬虫]]></title><link>https://blog.youkuaiyun.com/blackdevil_/article/details/104523676</link><guid>https://blog.youkuaiyun.com/blackdevil_/article/details/104523676</guid><author>blackdevil_</author><pubDate>Wed, 26 Feb 2020 20:07:12 +0800</pubDate><description><![CDATA[什么是反爬虫？
就是和爬虫抗衡，减少被爬取。
因为搜索引擎的流行，网络爬虫已经成了很普及网络技术，
相当部分国内爬虫不遵守robots协议。
所有有了保护自己内容不让别人抓取的反爬虫需求
发爬虫方法
1、手工识别和拒绝爬虫的访问
2、通过识别爬虫的User-Agent信息来拒绝爬虫
3、通过网站流量统计系统和日志分析来识别爬虫
4、网站的实时反爬虫防火墙实现
5、通过JS算法，文字经过一定转换后才...]]></description><category></category></item><item><title><![CDATA[正则表达式]]></title><link>https://blog.youkuaiyun.com/blackdevil_/article/details/104382031</link><guid>https://blog.youkuaiyun.com/blackdevil_/article/details/104382031</guid><author>blackdevil_</author><pubDate>Tue, 18 Feb 2020 20:36:12 +0800</pubDate><description><![CDATA[正则表达式(Regular Expression)是一种文本模式，包括普通字符（例如，a 到 z 之间的字母）和特殊字符（称为"元字符"）。
1.正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。
2.正则表达式是繁琐的，但它是强大的，学会之后的应用会让你除了提高效率外，会给你带来绝对的成就感。只要认真阅读本教程，加上应用的时候进行一定的参考，掌握正则表达式不是问题。
3.许多程...]]></description><category></category></item><item><title><![CDATA[get与post的区别]]></title><link>https://blog.youkuaiyun.com/blackdevil_/article/details/104317442</link><guid>https://blog.youkuaiyun.com/blackdevil_/article/details/104317442</guid><author>blackdevil_</author><pubDate>Fri, 14 Feb 2020 19:02:50 +0800</pubDate><description><![CDATA[get与post的区别
1.get参数通过url传递，post放在request body中。2.get请求在url中传递的参数是有长度限制的，而post没有。
3.get比post更不安全，因为参数直接暴露在url中，所以不能用来传递敏感信息。
4.get请求只能进行url编码，而post支持多种编码方式
5.get请求会浏览器主动cache，而post支持多种编码方式。
6.get请求参数会被...]]></description><category></category></item><item><title><![CDATA[python--协程]]></title><link>https://blog.youkuaiyun.com/blackdevil_/article/details/104300792</link><guid>https://blog.youkuaiyun.com/blackdevil_/article/details/104300792</guid><author>blackdevil_</author><pubDate>Thu, 13 Feb 2020 19:18:33 +0800</pubDate><description><![CDATA[文章目录概念协程优点yield的简单实现greenlet模块gevent模块
概念
协程：协助程序，线程和进程都是抢占式特点，线程和进程的切换我们是不能参与的。 而协程是非抢占式特点，协程也存在着切换，这种切换是由我们用户来控制的。 协程主解决的是IO的操作。协程，又称微线程，纤程。英文名Coroutine。
协程优点
优点1: 协程极高的执行效率。因为子程序切换不是线程切换，而是由程序自身控制，...]]></description><category></category></item><item><title><![CDATA[生产者AND消费者]]></title><link>https://blog.youkuaiyun.com/blackdevil_/article/details/104300718</link><guid>https://blog.youkuaiyun.com/blackdevil_/article/details/104300718</guid><author>blackdevil_</author><pubDate>Thu, 13 Feb 2020 19:02:11 +0800</pubDate><description><![CDATA[文章目录为什么要使用消费者和生产者模式呢？什么是消费者模式？实例
在并发编程中使用生产者和消费者模式能够解决绝大多数并发问题。该模式通过平衡生产线程和消费线程的工作能力来提高程序的整体处理数据的速度
那么问题来了
为什么要使用消费者和生产者模式呢？
在线程世界里，生产者就是生产数据的线程，消费者就是消费数据的线程。在多线程开发当中，如果生产者处理速度很快，而消费者处理速度很慢，那么生产者就必须等待...]]></description><category></category></item><item><title><![CDATA[两情侣之间容易形成什么锁？进来瞧瞧]]></title><link>https://blog.youkuaiyun.com/blackdevil_/article/details/104283686</link><guid>https://blog.youkuaiyun.com/blackdevil_/article/details/104283686</guid><author>blackdevil_</author><pubDate>Wed, 12 Feb 2020 19:28:44 +0800</pubDate><description><![CDATA[进程之间数据隔离，但是共享一套文件系统，因而可以通过文件来实现进程直接的通信，但问题是必须自己加锁处理。
注意：加锁的目的是为了保证多个进程修改同一块数据时，同一时间只能有一个修改，即串行的修改，没错，速度是慢了，牺牲了速度而保证了数据安全

...]]></description><category></category></item><item><title><![CDATA[线程之间共享变量需要注意哪些？？]]></title><link>https://blog.youkuaiyun.com/blackdevil_/article/details/104268345</link><guid>https://blog.youkuaiyun.com/blackdevil_/article/details/104268345</guid><author>blackdevil_</author><pubDate>Tue, 11 Feb 2020 19:35:28 +0800</pubDate><description><![CDATA[线程共享同一个变量是否需要加锁？
那么就根据需要来定。但是如果两个线程有可能同时修改这个变量的话，
那么一定是需要加锁的。
代码中如果没有pthread_join主线程会很快结束从而使整个进程结束，从而使创建的线程没有机会开始执行就结束了。
加入pthread_join后，主线程会一直等待直到等待的线程结束自己才结束，使创建的线程有机会执行。
pthread_join函数及linux线程
pthr...]]></description><category></category></item><item><title><![CDATA[进程以及线程 两哥们的区别]]></title><link>https://blog.youkuaiyun.com/blackdevil_/article/details/103894503</link><guid>https://blog.youkuaiyun.com/blackdevil_/article/details/103894503</guid><author>blackdevil_</author><pubDate>Wed, 08 Jan 2020 17:02:03 +0800</pubDate><description><![CDATA[还不知道进程是什么的点我右边的小可爱toc想知道线程是什么点击这个小可爱toc
现在来进入我们这节课的主题来了解一下线程与进程的区别
　进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间，一个进程崩溃后，在保护模式下不会对其它进程产生影响，而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量，但线程之间没有单独的地址空间，一个线程死掉就等于整个进程死掉，所以多...]]></description><category></category></item><item><title><![CDATA[python--线程]]></title><link>https://blog.youkuaiyun.com/blackdevil_/article/details/103894084</link><guid>https://blog.youkuaiyun.com/blackdevil_/article/details/103894084</guid><author>blackdevil_</author><pubDate>Wed, 08 Jan 2020 16:49:50 +0800</pubDate><description><![CDATA[线程基本介绍
线程（英语：thread）是操作系统能够进行运算调度的最小单位。线程是独立调度和分派的基本单位。
同一进程中的多条线程将共享该进程中的全部系统资源，如虚拟地址空间，文件描述符和信号处理等等。但同一进程中的多个线程有各自的调用栈（call stack），自己的寄存器环境（register context），自己的线程本地存储（thread-local storage）。
一个进程可以有...]]></description><category></category></item><item><title><![CDATA[进程池]]></title><link>https://blog.youkuaiyun.com/blackdevil_/article/details/103893722</link><guid>https://blog.youkuaiyun.com/blackdevil_/article/details/103893722</guid><author>blackdevil_</author><pubDate>Wed, 08 Jan 2020 16:36:53 +0800</pubDate><description><![CDATA[进程池
文章目录产生原因进程池的原理进程池的创建
产生原因
如果有大量任务需要多进程完成，则可能需要频繁的创建删除进程，给计算机带来较多的资源消耗
进程池的原理
创建适当的进程放入进程池，用来处理待处理事件，处理完毕后进程不晓辉，仍然在进程池中等待处理其他事件，直到事件全部处理完毕，进程退出。进程的复用降低了资源的消耗。
进程池的创建
1.创建进程池，在池内放入合适数量的进程
2.将事件加入进程池...]]></description><category></category></item><item><title><![CDATA[学习python有什么好处？]]></title><link>https://blog.youkuaiyun.com/blackdevil_/article/details/103893147</link><guid>https://blog.youkuaiyun.com/blackdevil_/article/details/103893147</guid><author>blackdevil_</author><pubDate>Wed, 08 Jan 2020 16:12:13 +0800</pubDate><description><![CDATA[python作为一门高级编程语言，它的诞生虽然很偶然，但是它得到程序员的喜爱却是必然之路，Python入门简单，相比于其他语言，初学者很容易入门，对初学者很有好处，除此之外，Python还具有以下优点：

简单：Python奉行简洁主义，易于读写，它使你能够专注于解决问题而不是去搞明白语言本身。
免费：Python是开源软件。这意味着你不用花一分钱便能复制、阅读、改动它，这也是Python越来越优...]]></description><category></category></item><item><title><![CDATA[银行家算法]]></title><link>https://blog.youkuaiyun.com/blackdevil_/article/details/103891097</link><guid>https://blog.youkuaiyun.com/blackdevil_/article/details/103891097</guid><author>blackdevil_</author><pubDate>Wed, 08 Jan 2020 16:04:16 +0800</pubDate><description><![CDATA[银行家算法
银行家算法（Banker’s Algorithm）是一个避免死锁（Deadlock）的著名算法，是由艾兹格·迪杰斯特拉在1965年为T.H.E系统设计的一种避免死锁产生的算法。它以银行借贷系统的分配策略为基础，判断并保证系统的安全运行。
1.算法原理 　　　
安全性检查算法：用于检查系统进行资源分配后是否安全。在系统试分 配资源后，算法从现有进程列表寻找出一个可执行的进程进行执行，执行...]]></description><category></category></item><item><title><![CDATA[python--进程]]></title><link>https://blog.youkuaiyun.com/blackdevil_/article/details/103885673</link><guid>https://blog.youkuaiyun.com/blackdevil_/article/details/103885673</guid><author>blackdevil_</author><pubDate>Wed, 08 Jan 2020 09:57:31 +0800</pubDate><description><![CDATA[我们要学习进程，首先得知道什么是进程，我们想通过酷我听歌，具体的过程应该是先找到酷我应用程序，然后双击就会播放音乐。 当我们双击的时候，操作系统将程序装载到内存中，操作系统为它分配资源，然后才能运 行。运行起来的应用程序就称之为进程。也就是说当程序不运行的时候我们称之为程序，当 程序运行起来他就是一个进程。通俗的理解就是不运行的时候是程序，运行起来就是进程。 程序和进程的对应关系是:程序只有一个，...]]></description><category></category></item><item><title><![CDATA[什么是多任务？多任务是什么？]]></title><link>https://blog.youkuaiyun.com/blackdevil_/article/details/103868244</link><guid>https://blog.youkuaiyun.com/blackdevil_/article/details/103868244</guid><author>blackdevil_</author><pubDate>Tue, 07 Jan 2020 09:40:06 +0800</pubDate><description><![CDATA[多任务呢就是同一时刻多个任务同时执行，例如开演唱会时明星一边唱歌一边跳舞，开车时眼 睛看路手操作方向盘。这些都是多任务场景
多任务有什么好处呢？
那么我们先来一段代码来瞧瞧：
import os
def sing():
     """
     唱歌函数
     :return:
     """
     for i in range(3):
         print("唱第{}首歌"....]]></description><category></category></item><item><title><![CDATA[http工作原理是什么？]]></title><link>https://blog.youkuaiyun.com/blackdevil_/article/details/103867873</link><guid>https://blog.youkuaiyun.com/blackdevil_/article/details/103867873</guid><author>blackdevil_</author><pubDate>Tue, 07 Jan 2020 09:02:26 +0800</pubDate><description><![CDATA[首先我们知道http是一种超文本传输协议，是一种 Client 和 Server 之间请求和应答的标准，目的是更高效的进行网络传输。每个人包括一件智能产品我们都知道他有自己的工作方式对吧，那么们来看看http它的工作方式是什么呢？
用户最直观的感受就是浏览器地址栏键入地址-&gt;回车-&gt;看到浏览器呈现的网页，这个过程简单的流程就是：
浏览器发送请求到服务器，服务器响应请求，浏览器通过渲染引...]]></description><category></category></item><item><title><![CDATA[爬虫中的HTTP协议]]></title><link>https://blog.youkuaiyun.com/blackdevil_/article/details/103864115</link><guid>https://blog.youkuaiyun.com/blackdevil_/article/details/103864115</guid><author>blackdevil_</author><pubDate>Mon, 06 Jan 2020 20:36:59 +0800</pubDate><description><![CDATA[文章目录1.什么是http和https协议呢？2.http工作原理http请求/响应的步骤：3.http状态码
首先我们来提一个问题
1.什么是http和https协议呢？
http:超文本传输协议（英文：HyperText Transfer Protocol，缩写：HTTP）是一种用于分布 式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。
https:是http协议的加...]]></description><category></category></item><item><title><![CDATA[想知道常见的网络协议吗?进来瞧瞧]]></title><link>https://blog.youkuaiyun.com/blackdevil_/article/details/103846226</link><guid>https://blog.youkuaiyun.com/blackdevil_/article/details/103846226</guid><author>blackdevil_</author><pubDate>Sun, 05 Jan 2020 19:21:48 +0800</pubDate><description><![CDATA[文章目录常见的网络协议TCP/IPIPX/SPXNetBIOS/NetBEUIAppleTalk（1）TCP/IP协议（2）Telnet协议（3）FTP协议（4）SMTP协议（5）DNS服务（6）DHCP服务
常见的网络协议
TCP/IP
工业标准、开放式协议，Internet网络的标准
IPX/SPX
Novell开发的Netware操作系统使用的协议，IPX为网际数据包交换协议，工作在网络层，...]]></description><category></category></item></channel></rss>