- 博客(88)
- 收藏
- 关注
原创 什么是Docker?
Docker简介Docker是什么Docker是一个应用的应用容器引擎,基于GO语言并遵从Apache2.0协议开源.让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。Docker的主要目标:通过对应用组件的封装、分发、部署、运行等生命周期的管理,达到应用组件...
2019-07-25 13:51:09
277
原创 Git总结
集中式与分布式 Git属于分布式版本控制系统,而SVN属于集中式.两者区别集中式版本控制只有中心服务器拥有一份代码,而分布式版本控制每个人的电脑上就有一份完整的代码集中式版本控制有安全性问题,当中心服务器挂了所有人都没办法工作集中式版本控制需要联网才能工作,如果网速过慢,那么提交一个文件会慢的让人无法忍受。分布式版本控制不需要联网就能工作分布式版本控制新建分支、合并分支操作速度...
2019-07-09 20:05:04
171
原创 Redis总结
概述Redis是速度非常快的非关系型(NoSQL)内存键值数据库,可以存储键和五种不同类型的值之间的值。键的类型只能为字符串,值支持五种数据类型:字符串、列表、集合、散列表、有序集合Redis支持很多种特性,例如将内存的数据持久化到硬盘中,使用复制来扩展读性能,使用分片来扩展写性能.优点:异常快,丰富的数据类型,多种使用工具(缓存、消息队列)数据类型字符串:...
2019-07-02 15:57:12
147
原创 Sql语句总结
SQL 语句不区分大小写,但是数据库表名、列名和值是否区分依赖于具体的 DBMS 以及配置。注释# 注释SELECT *FROM mytable; -- 注释/* 注释1 注释2 */创建表CREATE TABLE mytable ( # int 类型,不为空,自增 id INT NOT NULL AUTO_INCREMENT, # int 类型,不可为空...
2019-06-29 21:28:03
164
原创 数据库面试总结
关系数据库设计理论异常以下的学生课程关系的函数依赖为 {Sno, Cname} -> {Sname, Sdept, Mname, Grade},键码为 {Sno, Cname}。也就是说,确定学生和课程之后,就能确定其它信息。1. 冗余数据:例如 学生-2 出现了两次。2. 修改异常:修改了一个记录中的信息,但是另一个记录中相同的信息却没有被修改。3. 删除异常:删除一...
2019-06-29 21:25:33
158
原创 Model层基础知识
ORM(Object Relational Mapping )对象关系映射.Django的Model就是ORM的一个具体实现Model层:字段介绍常用字段类型数值型AutoField 自增主键 model默认提供id的类型,可以被重写BooleanField 布尔类型字段,一般用于记录状态标记DecimalField 精确数值,支付相关 金融相关IntegerField int型...
2019-06-25 16:09:55
4974
原创 WSGI初步理解
三个概念的区分uwsgi 是一个种通信协议,他是uWSGI服务器的独占协议,用于定义传输信息的类型uWSGI是一个web服务器,实现了wsgi、uwsgi、http协议WSGI(Web Server Gateway Interface)Web服务器网关接口->是Python中定义的一个网关协议:用于接受用户请求并将请求进行初步封装交给web框架 使用在uwsgi等web服务器...
2019-06-25 08:18:48
158
原创 操作系统面试总结
基本特征并发:在一段时间内能同时运行多个程序(并行:在同一时刻能运行多个指令)共享:系统中的资源可以被多个并发进程共同使用虚拟:把一个物理实体转换为多个逻辑实体(时分复用:进程可以轮流占用处理器和空分复用:虚拟内存的应用)异步:进程不是一次性执行完毕,而是走走停停,以不可知的速度向前推进大内核:将操作系统功能作为一个紧密结合的整体放倒内核中,由于各模块共享信息,因此具有很高的...
2019-06-23 14:15:04
182
原创 计算机网络面试总结
七层体系结构: 对应部分协议|工具- 应用层- 表示层- 会话层- 运输层 tcp udp- 网络层 ip icmp arp rip ospf 路由器- 数据链路层 ppp csma|cd mac 网桥 交换机- 物理层 rj45 ieee802.3 中继器 网关五层体系结构(tcp/ip)- 应用层- 运输层- 网络层-...
2019-06-23 14:12:47
195
原创 Django之ContentType理解应用
Django ContentType是由Django框架提供的一个核心功能,对当前项目中所有基于Django驱动的model提供了更高层次的抽象接口为什么要使用它?假设我们创建了如下模型,里面包含文章Post,Picture和评论Comment模型。Comment可以是对Post的评论,也可以是对Picture的评论。如果你还想对其它对象(比如回答,用户) 进行评论, 这样你将需要在co...
2019-06-16 20:08:13
862
原创 单向循环链表|双向循环链表
单向循环链表#定义节点class Node(object): def __init__(self,elem,next_=None): self.elem=elem self.next=next_class CircleLinklist(object): def __init__(self,node=None): self.hea...
2019-06-14 13:34:48
646
原创 链表|栈|队列|树(Python实现)
链表(单链表 双链表 循环链表)只是一个定义的结构而已 (数据结构不一样而已)具体的对这个定义的操作要到这个定义实现的类当中去调用而已概念区分头结点:是为了方便操作链表而附设的,头结点数据域通常用来保存跟链表有关的信息,比如链表的长度;首元结点:就是链表里“正式”的第一个结点,即链表的开始结点。形如a1,a2,a3,…an;头指针:头指针是指向链表的基地址。如果链表存在头...
2019-06-13 18:23:05
674
原创 Linux常用指令
Ls 查看当前文件夹下的无内容-l 列出长数据串,包含文件的属性与权限数据等-a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)-d :仅列出目录本身,而不是列出目录的文件数据 -R :连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来 也可组合一起Pwd 查看当前所在文件夹目录mkdir XX 创建文件夹Cd【目录名】 切换文...
2019-06-12 14:40:07
166
原创 uWSGI+Nginx 部署Django
首先安装uwsgipip install uwsgi#建议安装在虚拟环境中因后面的配置也在虚拟环境中检验uwsgi是否正常首先确保django项目是否可以在服务器上跑先修改settings文件的DEBUG=FALSEALLOWED_HOSTS=['*']并尝试用runserver启动 python manage.py runserver 0.0.0.0:8000 ...
2019-06-12 13:07:05
137
原创 Django中的Form表单类
Django的Form类Django表单系统的核心组件是Form类.它与Django模型描述对象的逻辑结构、行为以及它呈现给我们内容的形式的方式大致相同, Form 类描述一张表单并决定它如何工作及呈现。类似于模型类的字段映射到数据库字段的方式,表单类的字段会映射到HTML表单的 元素。 ModelForm 通过 Form 映射模型类的字段到HTML表单的 元素,Django admin...
2019-06-08 18:02:41
1903
1
原创 Django认识、面试题(2)
cookie和session的区别:cookie是保存在浏览器端的键值对,可以用来做用户认证session将用户的会话信息保存在服务端,key值是随机产生的字符串,value值是session的内容,依赖于cookie将每个用户的随机字符串保存到用户浏览器上django中session默认保存在数据库中,django_session表Django orm中所有的方法(Query...
2019-06-08 14:02:39
180
原创 Django认识|面试题(1)
django的认识django是走大而全的方向,只需要使用其ORM起,做简单的对象定义,它就能自动生成数据表结构、以及全功能的管理后台django内置的ORM跟框架的其他模块耦合程度高。程序最好使用内置的ORM,否则不能享受到框架内提供的种种基于ORM的便利;理论上可以切换其ORM。django的优点是其极高的开发效率,但其性能扩展有限;在项目流量达到一定规模后,都需要进行重构,才能满...
2019-06-05 20:45:48
272
原创 Django分页功能(Paginator类)
today,我们实现分页的功能分页的实现不仅提高了用户体验,还是减轻数据库读取数据的压力Django提供了一些类来帮助您管理分页数据Paginator实现分页的具体操作from django.core.paginator import Paginator#获取要分页的查询集 Blog是一个model对象blogs_all_list=Blog.objects.all()#实例...
2019-06-04 23:58:45
568
原创 django-markdown使用(前后端显示)含详细代码流程
Django整合django-mdeditor后端使用安装django-mdeditorpip install django-mdeditor项目setting文件添加appINSTALLED_APPS = [ '....' 'mdeditor']添加保存markdown中图片路径MEDIA_ROOT = os.path.join(BASE_DIR,...
2019-06-03 13:51:17
3172
2
原创 JavaScript基础应用
引入的方式直接编写<script> <!--js代码--></script>导入文件 <script src="hello.js"></script>变量、常量、标识符声明变量时不用声明变量类型. 全都使用var关键字;一行可以声明多个变量,并且可以是不同类型var a;<b...
2019-06-01 13:16:27
208
原创 CSS基础应用
.id #classcss四种引入方式标签中直接使用<p style="color: red;background-color: aquamarine">hello</p> style="name:value;name2:value"在head定义style标签,对变迁类型定义样式<head><style> d...
2019-05-31 17:24:52
161
原创 (Python)文本和字节序列
Python3中的字符串是Unicode字符串而不是字节数组用\u及4个十六进制的数字可以从Unicode256个基本多语言平面中指定某一特定字符。Python为此而设定的转义序列以\u开头,后面紧跟8个十六进制的数字,其中最左一位需位0使用UTF-8编码和解码对字符串进行处理时,并不需要在意Python中的Unicode字符的存储细节,我们只需要完成两件事情1.将字符串编码为字节...
2019-05-29 14:20:08
225
原创 部分学习博客
老男孩培训机构老师的博客林海峰老师的博客1.python基础教程: https://www.cnblogs.com/linhaifeng/p/7278389.html2.mysql数据库教程: http://www.cnblogs.com/linhaifeng/articles/7356064.html夗昊老师的博客1.html2.css http://www.c...
2019-05-28 17:32:46
314
原创 Python面试题自我总结(一)
is与==区别==用来判断两个对象的value(值)是否相等is 用来判断对象间的唯一身份id(标识)是否相等在变量与单例值之间比较常用的是is(x is None)is运算符比 == 速度快深拷贝与浅拷贝浅拷贝:传递对象的引用,原始值被修改/赋值深拷贝:开辟新的空间,保存之前的对象,传递之前对象的值到新的空间中,相互之间不会影响浅拷贝:直接赋值、copy.copy...
2019-05-28 13:16:32
233
原创 Python虚拟环境创建(win+linux)
为什么要虚拟环境?在同一个python环境中安装同一个包的不同版本,后安装的包会把原来安装的包覆盖掉。这样,如果同一台机器上两个项目依赖于相同包的不同版本,则会导致一些项目运行失败。在开始以以下步骤之前务必确保安装好以下包pip install virtualenvpip install virtualenvwrapperLinux安装虚拟环境配置环境变量(家目录下的配置文件.ba...
2019-05-13 13:38:00
206
原创 进程
进程是操作系统的基本单元。一个程序运行后结束后,代码+用到的资源为进程进程的创建Processfrom multiprocessing import Processdef sing(): for i in range(5): print("正在唱111") time.sleep(1)def dance(): for i in range(...
2019-05-12 20:54:12
131
原创 线程
线程是操作系统直接支持的执行单元线程:运行是没有先后顺序的同时运行的理解:实际上是多个线程之间轮流执行的,就是将一个时间段分成若干个时间片,每个线程只运行一个时间片,由于时间片极短,而且电脑运行极快,线程之间切换也极快,几乎可以看做是并行运行的,也就是说可以看成是同时运行的.但实际却不是的同时运行的.线程的实现python的thread模块是比较底层的模块,python的threa...
2019-05-12 20:44:10
159
原创 协程
什么是协程:协程又称微线程,用户级线程,是Python 中实现多任务的方式之一。特点:在不开辟线程的基础上完成多任务创建协程的方式使用yield 即只要含有yield就是协程import timedef task1(): while True: print("--1--") time.sleep(0.1) yield...
2019-05-12 19:58:01
176
原创 可迭代的对象、迭代器和生成器
迭代是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象,迭代器的对象是从集合的第一个元素开始访问,直到所有的元素被访问结束,迭代器只能往前不能往后。可迭代的对象使用for … in …的循环语法从其中依次拿到数据进行使用,把这样的过程叫做迭代只有可迭代对象才可以迭代(tuple\list\str等类型的数据)迭代器一定是可迭代对象,是可迭代对象不一定是迭代器以下为自定...
2019-05-12 19:36:56
235
原创 分布式爬虫实践(附带源码地址)
分布式爬虫优点:可以充分利用多台机器的带宽可以充分利用多台机器的ip地址(同一个局域网内用的还是一个,分布式没有用)多台机器做,爬取效率更高分布式爬虫需要解决的问题分布式爬虫是好几台机器在同时运行,如何保证不同的机器爬取页面的时候不会出现重复爬取的问题同样,分布式爬虫在不同的机器上运行,如何把数据爬完后保证保存在同一个老地方scrapy-redis是一个组件不是框架,...
2019-05-12 10:46:43
619
原创 LeetCode 题目-993. 二叉树的堂兄弟节点/1022. 从根到叶的二进制数之和(python实现)
作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢?993. 二叉树的堂兄弟节点题目要求在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k+1 处。如果二叉树的两个节点深度相同,但父节点不同,则它们是一对堂兄弟节点。我们给出了具有唯一值的二叉树的根节点 root,以及树中两个不同节点的值 x 和 y。只有与值 x 和 y 对应的...
2019-05-09 23:30:06
237
原创 LeetCode 题目-938. 二叉搜索树的范围和/965. 单值二叉树和(python实现)
作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢?938. 二叉搜索树的范围和题目要求给定二叉搜索树的根结点 root,返回 L 和 R(含)之间的所有结点的值的和。二叉搜索树保证具有唯一的值。例如输入:root = [10,5,15,3,7,null,18], L = 7, R = 15输出:32示例 2:输入:root = [10,5,1...
2019-05-09 14:08:26
284
原创 Scrapy下载器中间件的应用(代理、ip池、selenium)
什么是下载器中间件?下载器中间件是引擎和下载器之间通信的中间件我么可以设置代理、更换请求头来达到反反爬虫的目的。要在下载器中实现两个方法:process_request(self.request,spider) 这个方法是在请求发送之前会执行,process_response(self.request,response.spider)这个方法是数据下载到引擎之前执行的。def process...
2019-05-07 21:54:01
1541
原创 Scrapy 模拟登陆(验证码破解)
网上的一些案例比如模拟登陆豆瓣,其实已经不适用了因为验证码已经不是以前的那种看图输文字。这次我们以自己学校的教务网为案例,大家也可以去尝试一下 重点一 scarpy中的post提交:scrapy.FormRequest def start_request(self): url=''#提交的网页 data={'email':'aaa','password':'...
2019-05-06 23:21:39
2041
1
原创 CrawlSpider详解与动手实例(微信小程序社区)
CrawlSpider相比于scrapy的强大之处就是之前的爬虫如果爬完一页了要去爬取第二页的数据需要自己yield发送请求过去,而CrawlSpider就只需要指定一些规则,满足规则的url就去下载,不满足的就不下载。crawlspider中两个图书的类LinkExtractors、RuleLinkExtractors链接提取器程序员可以提取想要的url,然后发出请求。这些工作都可以交给...
2019-05-06 14:35:28
571
原创 LeetCode 题目-872. 叶子相似的树/897. 递增顺序查找树(python实现)
作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢?872. 叶子相似的树题目要求请考虑一颗二叉树上所有的叶子,这些叶子的值按从左到右的顺序排列形成一个 叶值序列 。例如 4 / \ 2 6 / \ 1 3 叶值序列(1,3,6)如果有两颗二叉树的叶值序列是...
2019-05-05 20:57:55
204
原创 LeetCode 题目-700. 二叉搜索树中的搜索/783. 二叉搜索树结点最小距离(python实现)
作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢?700. 二叉搜索树中的搜索题目要求给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。例如给定二叉搜索树: 4 / \ 2 7 / \ 1...
2019-05-05 20:29:12
479
原创 正则表达式操作手册
正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。匹配单个字符a-z 0-9 ?!@等等 匹配对应的指定字符串. 匹配任意一个字符(除了\n)[] 匹配[]中列举的字符\d 匹配数字,0-9\D 匹配非数字,即不是数字\s 匹配空白,即空格,tab键\S 匹配非空白\w 匹配单词字符,即a-z、A-Z、0-9、_\W 匹配非单词字符匹配多个...
2019-05-04 20:01:21
276
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人