自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 主键、外键和索引的区别

聚集索引和非聚集索引的区别?聚集索引一定是唯一索引。但唯一索引不一定是聚集索引。聚集索引,在索引页里直接存放数据,而非聚集索引在索引页里存放的是索引,这些索引指向专门的数据页的数据。...

2020-06-26 18:35:56 155

原创 AJAX的简介

什么是 AJAX ?AJAX = 异步 JavaScript 和 XML。AJAX 是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。有很多使用 AJAX 的应用程序案例:新浪微博、Google 地图、开心网等等。直白地说,就是没用AJAX的网页,你点一个按钮就要刷新一下页面,尽管新页面上只有一行字和当前

2020-06-24 12:37:32 179

原创 Scrapy-Redis、Scrapy-splash、scrapy的日志信息与配置、scrapyd部署scrapy项目

1.分布式是什么简单的说 分布式就是不同的节点(服务器,ip不同)共同完成一个任务2. scrapy_redis的概念scrapy_redis是scrapy框架的基于redis的分布式组件3. scrapy_redis的作用Scrapy_redis在scrapy的基础上实现了更多,更强大的功能,具体体现在:通过持久化请求队列和请求的指纹集合来实现:断点续爬分布式快速抓取4. scrapy_redis的工作流程...

2020-06-20 23:03:34 606

原创 算法

冒泡排序冒泡排序只会操作相邻的两个数据。每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系要求。如果不满足就让它俩互换。一次冒泡会让至少一个元素移动到它应该在的位置,重复 n 次,就完成了 n 个数据的排序工作。比如对一组数据 4,5,6,3,2,1​从小到到大进行排序的,第一趟冒泡过程是:经过一次冒泡操作之后,6 这个元素已经存储在正确的位置上。要想完成所有数据的排序,只要进行 6 次这样的冒泡操作就行了:泡排序算法的原理比较容易理解,具体的代码看下面,可以结合着代码来看前面

2020-06-18 13:00:48 247

原创 对Oracle 、SQL Server、MySQL、PostgreSQL数据库优缺点分析

Oracle DatabaseOracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。优点Oracle 性能高 保持开放平台下TPC-D和TPC-C世界记录。Oracle 多层次网络计算支持多种工业标准用

2020-06-14 11:14:26 1084

原创 Scrapy

1. scrapy的概念Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,我们只需要实现少量的代码,就能够快速的抓取。Scrapy 使用了Twisted['twɪstɪd]异步网络框架,可以加快我们的下载速度。Scrapy文档地址:http://scrapy-chs.readthedocs.io/zh_CN/1.0/intro/overview.html2. scrapy框架的作用少量的代码,就能够快速的抓取3.1 scrapy的三个内置对象request请求对象:由url

2020-06-10 23:41:58 134

原创 网络安全技术

网络端口**在网络技术中,端口(Port)大致有两种意思:** 一是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等; 二是逻辑意义上的端口,一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。一些端口常常会被黑客利用,还会被一些木马病毒利用,对计算机系统进行**攻击.如何防范木马及病毒的攻击一、计算机中毒有哪些症状?人生病了,会有各种各样的

2020-06-10 20:12:55 423

原创 Elasticsearch

全文检索方案Elasticsearch1.引入美多商城中,当用户在搜索框输入商品关键字后,我们要为用户提供相关的商品搜索结果商品搜索实现可以选择使用模糊查询like关键字实现,但是like 关键字的效率极低查询需要在多个字段中进行,使用 like 关键字也不方便所以,我们引入全文检索的方案来实现商品搜索2. 全文检索和搜索引擎原理2.1 全文检索方案全文检索即在指定的任意字段中进行检索查询全文检索方案需要配合搜索引擎来实现2.2 搜索引擎原理搜索引擎进行全文检索时,会对数据库中的数

2020-06-09 22:30:46 81

原创 PostgreSQL

PostgreSQL 是一个免费的对象-关系数据库服务器(ORDBMS)PostgreSQL 的 Slogan 是 “世界上最先进的开源关系型数据库”。ORDBMS 术语在我们开始学习 PostgreSQL 数据库前,让我们先了解下 ORDBMS 的一些术语:数据库: 数据库是一些关联表的集合。数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。列: 一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数

2020-06-09 19:37:02 407

原创 WebSocket

一、为什么需要 WebSocket? 初次接触 WebSocket 的人,都会问同样的问题:我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处?答案很简单,因为 HTTP 协议有一个缺陷:通信只能由客户端发起。举例来说,我们想了解今天的天气,只能是客户端向服务器发出请求,服务器返回查询结果。HTTP 协议做不到服务器主动向客户端推送信息。二、简介 WebSocket 协议在2008年诞生,2011年成为国际标准。所有浏览器都已经支持了。它的最大特点就是,服务器可以主动向

2020-06-09 19:08:20 236

原创 DRF

Web开发模式在Web项目开发中,有两种开发模式:前后端不分离前后端分离1 前后端不分离2前后端分离注:后端仅返回前端所需的数据,至于数据怎么进行展示,由前端自己进行控制,前端与后端的耦合度很低。API: 在前后端分离开发模式中,我们通常将后端开发的每个视图都称为一个接口或者API。3.开发模式对比区别:前后端不分离:完整的html页面是在后端生成的,后端给前端返回完整的页面,前端只是进行展示。前后端分离:完整的html页面是在前端生成的,后端只给前端返回所需的数据,前端将数据

2020-06-05 22:37:04 547

原创 正则表达式

re 模块re模块的使用过程 import re 使用match方法进行匹配操作 result = re.match(正则表达式,要匹配的字符串) 如果上一步匹配导数据的话,可以使用group方法来提取数据 result.group()匹配字符示例2:+例:.import reret = re.match(".","M")print(ret.group())ret = re.match("t.o","too")print(ret.group())ret = r

2020-06-03 23:06:51 301

原创 数据结构与算法

介绍数据结构&算法的定义数据结构就是指一组数据的存储结构。算法就是操作数据的一组方法。数据结构和算法,是指某些著名的队列、栈、堆、二分查找、动态规划等。数据结构和算法的关系数据结构和算法是相辅相成的。数据结构是为算法服务的,算法要作用在特定的数据结构之上。因此,我们无法孤立数据结构来讲算法,也无法孤立算法来讲数据结构。比如,因为数组具有随机访问的特点,常用的二分查找算法需要用数组来存储数据。但如果我们选择链表这种数据结构,二分查找算法就无法工作了,因为链表并不支持随机访问。

2020-05-26 23:18:42 357

原创 Django框架

1.Django的介绍Django,发音为['dʒæŋɡəʊ],是用python语言写的开源web开发框架,并遵循MVC设计Django的主要目的是简便、快速的开发数据库驱动的网站,它强调代码复用,多个组件可以很方便的以"插件"形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展性。它还强调快速开发和DRY(DoNotRepeatYourself)原则。2.特点...

2020-05-14 14:27:46 957

原创 爬虫的基础

什么是爬虫网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟浏览器发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序。原则上,只要是浏览器(客户端)能做的事情,爬虫都能够做爬虫的更多用途12306抢票网站上的投票短信轰炸注册页面1注册页面2注册页面3#总结...

2020-05-12 12:49:59 1044

原创 Celery学习与使用

引入有了Celery,我们在使用生产者消费者模式时,只需要关注任务本身,极大的简化了开发者的开发流程介绍一个简单、灵活且可靠、处理大量消息的分布式系统,可以在一台或者多台机器上运行Celery是一个功能完备即插即用的任务队列单个 Celery 进程每分钟可处理数以百万计的任务通过消息进行通信,使用**消息队列(broker)**在客户端和消费者之间进行协调Celery特性Celery 需要一个发送和接受消息的传输者Celery可以使用RabbitMQ 和 Redis 作为中间人进行消息传

2020-05-11 21:45:38 190

原创 RabbitMQ

1.在发送短信验证码,发送邮箱验证邮件时,因为要链接使用阿里云、网易邮箱的相关API,会出现 django项目会卡顿的情况2.同步和异步的图示对比总结:想要实现上图中所说的功能,我们需要将项目与发送短信的服务分离,既要分离还得实现任务消息的传递,此时就需要我们今天学习的消息队列消息队列(MQ)1.什么是消息队列消息队列,即MQ(Message Queue)消息队列是典型的:生产者、消费者模型生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而

2020-05-11 21:28:41 165

原创 Docker

Docker的介绍Docker能够做到对软件层面的虚拟化,但是并没有虚拟化“物理机”,也不需要安装新系统,而是共用“宿主机”的操作系统,所以这样即可以提供功能,还可以提高性能。容器简介容器是一个应用层抽象,用于将代码和依赖资源打包在一起。多个容器可以在同一台机器上运行,共享操作系统内核,但各自作为独立的进程在用户空间中运行。与虚拟机相比,容器占用的空间较少(容器镜像大小通常只有几十兆),瞬间就能完成启动。容器和虚拟机**虚拟机:**虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统。 然

2020-05-11 21:08:12 221

原创 Django和SQLAlchemy,哪个Python ORM更好?

Python语言下的两个ORM库Django和SQLAlchemy进行比较ORM是什么?ORM代表对象关系映射对象(Object):这部分表示哪个对象或者在哪种编程语言下使用这个框架,例如Python。关系(Relational):这部分表示你正在使用的RDBMS数据库(关系数据库管理器系统)。有许多流行的关系数据库,你可能使用以下这些:MSSQL、MySQL、Oracle、PostgreSQL、MariaDB、PerconaDB、TokuDB。关系数据库中最常见的是它们的关系结构(表,列,键,约束

2020-05-10 19:34:21 1014 1

转载 同源和跨域以及解决方法

一、概述1.含义同源策略是浏览器的一种安全策略。最初,它的含义是指,A网页设置的 Cookie,B网页不能打开,除非这两个网页"同源"。同源指的是三个相同协议域名端口号举例来说,http://www.example.com/dir/page.html这个网址,协议是http://,域名是www.example.com,端口是80(默认端口可以省略)。它的同源情况如下。http://www.example.com/dir2/other.html:同源http://example.c

2020-05-10 17:30:55 354

原创 MongoDB

关系型和非关系型的介绍1.之前用MySQL时需要实现设计各种复杂的表结构(例如 一对一、多对一、多对多等),而使用NoSQL则省去了这个环节,以MongoDB为例 存储数据的方式就像Python中的字典一样,非常方便2.对于关系型数据库,存储数据的时候需要提前建表建库,随着数据的复杂度越来越高,所建的表的数量也越来越多;但是非关系型却不需要'NoSQL有哪些常用的数据库RedisMemCache(内存型数据库,与redis有些相似,具体自行谷歌、百度查询)MongoDBRDBMS 对比 N

2020-05-09 23:05:48 193

原创 Djiango框架和Flask框架的区别

为什么要使用框架1)我们把开发一个应用的过程进行类比,往往开发一个应用(web应用、系统应用)跟建造房子的过程一样,需要先打地基,搭好骨架,然后一块砖一块砖叠上去。2)而开发一个应用呢?同样也需要一个好的架构设计,数据库建模,然后一个模块一个模块使用代码实现。3)如果开发一个软件应用不使用框架,和我们建房子时,每一块砖、每一根钢筋都需要自己生产出来本质上是一样的4)显而易见,如果在建造房子...

2020-05-08 16:37:03 1184

原创 Flask

1.浏览器和服务器的关系1)浏览器:浏览器指的是电脑、手机或者平板上的一个程序。它发送请求,接收响应,展示页面2)服务器,是一个笼统的概念,一般来说有2种理解硬件:一台电脑(真正的服务器配置往往较高)软件:提供html、css、js、图片、视频、音频等的一个程序补充:在开发web相关的程序时,浏览器就是一个展示页面的程序,服务器就是一个提供页面数据的程序如果在部署(就是真正的让...

2020-05-03 12:50:24 317

原创 Git

GitHub和Git的区别1.GitHub 、Gitee 是一个完成了Git服务器的一个网站2.Git版本管理工具Git管理的常用命令1.git clone从远程仓库克隆一个版本库到本地。#默认在当前目录下创建和版本库名相同的文件夹并下载版本到该文件夹下$ git clone <远程仓库的网址>#指定本地仓库的目录$ git clone <远程仓库的网址>...

2020-04-30 23:45:28 90

原创 Git和SVN的区别

版本管理  概念:版本管理是软件配置管理的基础,它管理并保护开发者的软件资源。   好处:可以保留我们的历史版本,在代码开发到一半的时候,不至于无故丢失,还可以查看BUG的来龙去脉。   版本管理种类:集中式的版本管理和分布式的版本管理。实现的控制软件分别有SVN和Git。 SVN概念:SVN是Subversion的简称,是一个(开放源代码的集中式的版本控制系统)。具...

2020-04-30 22:59:14 81

原创 Linux

Linux 基础1.经常用到的开发工具是ubuntu182.常用 Linux 命令的基本使用

2020-04-30 16:50:48 109

原创 SQLZOO的练习

**0. SELECT basics**1.這個例子顯示’France法國’的人口。字串應該在’單引號’中。修改此例子,以顯示德國 Germany 的人口。SELECT population FROM world WHERE name = 'Germany'2.查詢顯示面積為5,000,000以上平方公里的國家,該國家的人口密度(population/area)。人口密度並不是WOR...

2020-04-28 22:00:49 466

原创 MySQL高级

1.视图1.对于复杂的查询,往往是有多个数据表进行关联查询而得到,如果数据库因为需求等原因发生了改变,为了保证查询出来的数据与之前相同,则需要在多个地方进行修改,维护起来非常麻烦解决办法:定义视图 2. 视图是什么通俗的讲,视图就是一条SELECT语句执行后返回的结果集。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。视图是对若干张基本表的引用,一张虚表,查询语...

2020-04-19 23:14:56 90

原创 C++

1.C语言的产生C++是C语言的超级, 事实上,任何合法的 C 程序都是合法的 C++ 程序。C++ 也是目前嵌入式 ( 无人驾驶 ) 的首选语言。2.C++的优缺点C++:#include int main(){ int x = 5; std::cout << x << std::endl; return 0 ;}...

2020-04-18 21:43:47 278

原创 Redis

NoSQL与Redis*1.NoSQL* 一类新出现的数据库(not only sql不仅仅是SQL) 泛指非关系型的数据库 不支持SQL语法 存储结构跟传统关系型数据库完全不同,NoSQL中存储的数据都是KV形式 NoSQL的世界中没有一种通用的语言,每种NoSQL数据库都有自己的API和语法,以及擅长的业务场景 NoSQL中的产品种类相当多 Mongodb Redis Hb...

2020-04-12 14:08:47 79

原创 HTTP协议

HTTP协议在Web应用中,服务器把网页传给浏览器,实际上就是把网页的HTML代码发送给浏览器,让浏览器显示出来。而浏览器和服务器之间的传输协议是HTTPHTML是一种用来定义网页的文本,会HTML,就可以编写网页;HTTP是在网络上传输HTML的协议,用于浏览器和服务器的通信。HTTP响应分为Header和Body两部分200表示一个成功的响应,后面的OK是说明。如果返回的不...

2020-04-11 15:46:38 567

原创 多任务

多任务1. 概念:简单地说,就是同时可以运行多个任务2.并发:指的是任务数多余cpu核数,通过操作系统的各种任务调度算法,实现用多个任务“一起”执行(实际上总有一些任务不在执行,因为切换任务的速度相当快,看上去一起执行而已)3.并行:指的是任务数小于等于cpu核数,即任务真的是一起执行的4.真正的"并行"只能在多核CPU上实现,现实中由于任务数量远远多于CPU的核心数量,所以基本上都是“...

2020-04-10 22:42:30 90

原创 UDP和TCP

socket:socket(简称 套接字) 是进程(就是运行中的程序)间通信的一种方式,它与其他进程间通信的一个主要不同是: 它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于 socket 来完成通信的 例如: 我们每天浏览网页、QQ 聊天、收发 email 等等2.函数 socket.socket 创建一个套接字,该函数带有两个参数: Address Family...

2020-04-10 11:58:16 101

原创 MySQL查询

1.MySQL的查询创建数据库、数据表- 创建数据库create database python_test_1 charset=utf8;-- 使用数据库use python_test_1;-- students表create table students( id int unsigned primary key auto_increment not null, ...

2020-04-09 07:07:56 279

原创 MySQL的基本使用

MySQL的基本使用1.数据库:数据库就是一种特殊的文件,其中存储着需要的数据2.数据库分为关系型数据库和非关系型数据库 1)非关系型数据库 oracle:在以前的大型项目中使用,银行,电信等项目 mysql:web时代使用最广泛的关系型数据库 ms sql server:在微软的项目中使用 sqlite:轻量级数据库,主要应用在移动平台3.SQL:SQL是结构化查询语言...

2020-04-08 16:42:18 158

原创 python基础复习(一)

python基础复习(一)1.变量:在Python中,存储一个数据,需要一个叫做变量的东西2.变量类型: 1. Numbers(数字) ---------int(有符号整型)----------long(长整型[也可以代表八进制和十六进制])----------float(浮点型)--------complex(复数) 2. 布尔类型-------True---------False 3...

2020-04-07 23:53:18 204

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除