笔记
文章平均质量分 58
东东_123
这个作者很懒,什么都没留下…
展开
-
TCP的三次握手和四次挥手
一、TCP连接的建立(三次握手,即Three-Way Handshake)建立一个TCP连接,需要客户端和服务器总共发送3个数据包用来确认连接的建立,流程如下图:TCP报文格式:字段解释:(1)序号:Seq序号(Sequence number),占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。(2)确认序号:ack序号( Acknowl...原创 2018-07-30 17:38:27 · 163 阅读 · 0 评论 -
Python模块之time
最近遇到一个问题,需要转换时间格式,当时有点懵逼了,知道要用time模块,但是具体的用哪个方法,记不得了,真是学的慢,忘得快啊!因此决定把这些内容系统的整理、复习一下!time模块,python内置模块有以下方法['_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'altzo...原创 2018-11-14 18:59:29 · 150 阅读 · 0 评论 -
django 的请求处理部分----WSGIHandler 源码分析 django1.5.5
转自:Django的请求处理部分从这里拉开django框架的帷幕主要涉及的类:django.core.handlers.base.BaseHandler,django.core.handlers.wsgi.WSGIHandler,前者为后者的父类。django.http.request.HttpRequest后者的实例实现了WSGI请求的处理,因为WSGIHandler 实现了__call...转载 2018-11-17 07:41:25 · 484 阅读 · 0 评论 -
B/S、C/S模式介绍
B/S、C/S模式介绍1.B/S模式B/S(Browser/Server,浏览器/服务器)方式的网络结构。①、客户端统一采用浏览器如:Netscape和IE,通过Web浏览器向Web服务器提出请求,由Web服务器对数据库进行操作,并将结果传回客户端。②、B/S结构简化了客户机的工作,但服务器将担负更多的工作,对数据库的访问和应用程序的执行都将在这里完成。即当浏览器发出请求后,其数据请求、加...转载 2018-11-19 15:01:47 · 4024 阅读 · 0 评论 -
RESTful API 最佳实践
RESTful 是目前最流行的 API 设计规范,用于 Web 数据接口的设计。它的大原则容易把握,但是细节不容易做对。本文总结 RESTful 的设计细节,介绍如何设计出易于理解和使用的 API。一、URL 设计1.1 动词 + 宾语RESTful 的核心思想就是,客户端发出的数据操作指令都是"动词 + 宾语"的结构。比如,GET /articles这个命令,GET是动词,/articl...转载 2018-11-19 20:33:09 · 165 阅读 · 0 评论 -
转:Django 源码阅读(一):概览从入口到请求到响应
转载:Django 源码阅读(一):概览从入口到请求到响应————作者:hongweipeng起步在我研究完 django 的自动加载机制后,有了阅读 django 源码的想法。那就看看吧,也不知道能坚持到什么地方。我阅读的版本也是我正在使用的 1.10.5 版本,算是比较新的了。一般运行 django 程序都是通过: python manage.py runserver 开始的,那我们就从...转载 2018-11-17 23:11:31 · 269 阅读 · 0 评论 -
LeetCode解题 387. 字符串中的第一个唯一字符
题目描述:给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。案例:s = "leetcode"返回 0.s = "loveleetcode",返回 2.注意事项:您可以假定该字符串只包含小写字母。这道题很容易做出来,但是想要提交通过,就必须降低时间复杂度,否则会超时。class Solution: "&q原创 2018-11-30 09:14:34 · 1041 阅读 · 1 评论 -
242.有效的字母异位词
本文章已同步更新到我的个人博客,欢迎访问跳转链接今天想多刷几道题,上一篇,解题、优化加上发博客,用来一个小时,为了省时间简单的题就直接贴代码了。有效的字母异位词给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。示例 1:输入: s = "anagram", t = "nagaram"输出: true示例 2:输入: s = "rat", t = ..原创 2018-11-30 09:34:33 · 172 阅读 · 0 评论 -
125. 验证回文串
文章已同步更新到本人个人博客 跳转链接125. 验证回文串给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1: 输入: "A man, a plan, a canal: Panama" 输出: true 示例 2: 输入: "race a car" 输...原创 2018-11-30 10:00:59 · 113 阅读 · 0 评论 -
8.字符串转换整数 (atoi)
8.字符串转换整数 (atoi)请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后...原创 2018-11-30 10:51:03 · 790 阅读 · 0 评论 -
Django 使用Ajax验证邮箱
今天在给博客做注册功能,在找回密码验证邮箱时,选择使用Ajax异步验证是否已经注册,好久不用Ajax,都快忘完了,磕磕绊绊的折腾了半天,才搞好,遇到问题都是在网上找各位大神的博客,这次也做个详细的记录,也为后来人贡献一份力量!1, 创建表单,2,配置路由、视图视图函数,3,发送Ajax请求,1,创建表单创建表单就很简单了,form表单,填好请求的地址,加上csrf验证,第一个inp...原创 2018-12-02 19:42:03 · 398 阅读 · 0 评论 -
requests请求详解(转)
发送请求使用 Requests 发送网络请求非常简单。一开始要导入 Requests 模块:import requests然后,尝试获取某个网页。本例子中,我们来获取 Github 的公共时间线:r = requests.get(‘https://api.github.com/events’)现在,我们有一个名为 r 的 Response 对象。我们可以从这个对象中获...转载 2018-11-30 19:10:49 · 1081 阅读 · 0 评论 -
fileinput模块读取文件
fileinput模块可以对一个或多个文件中的内容进行迭代、遍历等操作。该模块的input()函数有点类似文件readlines()方法,区别在于前者是一个迭代对象,需要用for循环迭代,后者是一次性读取所有行。用fileinput对文件进行循环遍历,格式化输出,查找、替换等操作,非常方便。【典型用法】import fileinputfor line in fileinput.input...转载 2018-12-06 13:37:05 · 1138 阅读 · 0 评论 -
windows/linux后台执行命令
后台执行是经常要用到的命令 ,收集了常用的进程管理命令,记录下来便于以后使用Windows:启动后台执行start /b + 命令如 start /b python test.py查看进程tasklist杀进程taskkill /im python.exe /t /fLinux启动后台执行命令 + &如:python test.py &查看进程ps,可...原创 2018-12-04 09:32:26 · 703 阅读 · 0 评论 -
爬虫与反爬、加密算法
转自: http://www.cnblogs.com/woaixuexi9999/p/9392964.html爬虫与反爬、加密算法网络爬虫网络爬虫,是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。但是当网络爬虫被滥用后,互联网上就出现太多同质的东西,原创得不到保护。于是,很多网站开始反网络爬虫,想方设法保护自己的内容。他们根据ip访问频率,浏览网页速度,...转载 2018-12-16 17:34:48 · 791 阅读 · 1 评论 -
数据结构之单向链表
链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是不像顺序表一样连续存储数据,而是在每一个节点(数据存储单元)里存放下一个节点的位置信息(即地址)。链表可以分为单向链表、单向循环链表、双向链表单向链表也叫单链表,是链表中最简单的一种形式,它的每个节点包含两个域,一个信息域(元素域)和一个链接域。这个链接指向链表中的下一个节点,而最后一个节点的链接域则指向一个空值。...原创 2018-11-18 18:37:26 · 551 阅读 · 0 评论 -
Navicat Premium 远程连接云服务器MySQL
环境:Navicat Premium 11.0.17版本阿里云服务器Ubuntu系统18.04,MySQL 5.71,服务器要启动MySQL服务,MySQL安装后都是默认处于启动状态的(没有主动停止的情况下),可以先用mysql -uroot -p 命令登录测试一下,如果没有启动,需要启动启动:sudo service mysql start停止:sudo serv...原创 2018-11-14 09:05:39 · 1089 阅读 · 0 评论 -
DDL、DML和DCL的区别与理解(转载)
转自https://www.2cto.com/database/201610/555167.html这篇文章主要介绍了DDL、DML和DCL的区别与理解,需要的朋友可以参考下DML、DDL、DCL区别 .总体解释:DML(data manipulation language):它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据...转载 2018-11-08 20:18:36 · 213 阅读 · 0 评论 -
RE正则表达式总结(一)
一、概念 正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,用来检索、替换那些符合规则的文本...原创 2018-08-04 09:07:44 · 6029 阅读 · 0 评论 -
Python下JSON格式的读写
一、JSON (JavaScript Object Notation)是一种数据交换格式。JSON 的规定字符集是UTF-8,字符串必须使用""双引号,Object的键也必须使用双引号,不能使用单引号;JSON格式的数组或者对象中,不同的元素用逗号隔开,最后一个元素后面,不能加逗号。二、1、dump()和load()dump主要用来json文件写入,和load(读取)配合使...原创 2018-07-31 07:40:10 · 9693 阅读 · 0 评论 -
浅复制和深复制
Python中,复制有以下几种方法1.赋值复制>>>a = [1, 2, 3]>>>b = a>>>b[1, 2, 3]此时的复制,b仅仅是指向了a所在的内存空间,在内存中,并没有申请一处新的空间来存储列表b,a和b在内存中的id是相同的,如果a发生改变,b也会跟着改变。>>>id(a)260417...原创 2018-08-16 00:29:20 · 115 阅读 · 0 评论 -
Python collections 模块学习总结
collections 模块collections是Python的一个内建集合模块,提供了许多有用的集合类。1.deque 双端队列Deque是一种可以对序列两端元素进行添加和删除操作的基本序列容器,是以双向链表的形式实现的,向deque 两端添加或删除元素的开销很小,它不需要重新分配空间。 方法 操作 平均时间复杂度 最坏时间复杂度 备注 appe...原创 2018-08-16 23:42:29 · 132 阅读 · 0 评论 -
在Ubuntu中添加和删除PPA的软件源(转)
文章转自:https://blog.csdn.net/luckydarcy/article/details/55803500PPA,英文全称为 Personal Package Archives,即个人软件包档案。是 Ubuntu Launchpad 网站提供的一项源服务,允许个人用户上传软件源代码,通过 Launchpad 进行编译并发布为二进制软件包,作为 apt / 新立得(Synapt...转载 2018-08-30 09:47:07 · 593 阅读 · 0 评论 -
RE正则表达式总结(二)
三、常用方法1,match( rule , targetString [,flag] ): 默认从字符串的开头开始匹配,如果开头位置没有匹配成功,则返回空;第一个参数是匹配规则,第二个参数是目标字符串,第三个flag是一个可选的规则选项(修饰符,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等)。使用group(num) 或 groups() 匹配对象函数来获取匹配表达式。2...原创 2018-11-06 22:22:30 · 1083 阅读 · 0 评论 -
Docker学习
docker version:查看版本 Images:Docker镜像,用于创建Docker容器的模板Container:Docker容器,是独立运行的一个或一组应用Client:Docker客户端,通过命令行或者其他工具使用Docker API与Docker的守护进程通信。Host:Docker主机,一个物理或者虚拟的机器用于执行Docker守护进程和容器。Registry:...原创 2018-11-07 15:00:57 · 173 阅读 · 0 评论 -
uWSGI部署Django项目
一、准备工作:1,搭建虚拟环境,使用virtualenv,没有安装的需要安装$ apt-get install virtualenv # 安装创建虚拟环境:$ virtualenv webvenv # 虚拟环境名为webvenv启动虚拟环境(注意:如果切换目录的话,webvenv前需要加相对路径):$ source webvenv/bin/activate2...原创 2018-11-10 16:09:40 · 1130 阅读 · 0 评论 -
二十三种设计模式及其python实现(转载)
转自http://www.cnblogs.com/Liqiongyu/p/5916710.html设计模式是什么?设计模式是经过总结、优化的,对我们经常会碰到的一些编程问题的可重用解决方案。一个设计模式并不像一个类或一个库那样能够直接作用于我们的代码。反之,设计模式更为高级,它是一种必须在特定情形下实现的一种方法模板。设计模式不会绑定具体的编程语言。一个好的设计模式应该能够用大部分编程语言...转载 2018-11-08 07:42:25 · 159 阅读 · 0 评论 -
Python315道面试题(转载)
315道面试题(转载)翻译 2018-11-08 08:47:58 · 249 阅读 · 0 评论 -
python3.6.7运行Django项目报错:ModuleNotFoundError: No module named '_sqlite3'
重装了python3.6.7,运行Django项目时报错:ModuleNotFoundError: No module named '_sqlite3',百度搜索解决方案,是缺少sqlite3模块,搜索了几个方案,找到一个能用的记录下来。1,下载源码编译安装sudo wget https://www.sqlite.org/2018/sqlite-autoconf-3250300.tar...原创 2018-11-14 00:51:44 · 3508 阅读 · 3 评论