Django中的Request和Response对象
这篇文章我们来学习下Django中的Request对象和Response对象。
HTTP请求与Django Request对象我们看下一个HTTP请求中有哪些需要我们注意的:
请求方法、headers、请求参数、cookies、请求端信息
上面这些在对应于Django Request对象的什么:
请求方法 – Request对象的method属性
客户端信息 – Request对象的META属性
...
Python中Socket编程
本系列Python进阶高级编程为我购买慕课网实战课程的笔记,墙裂推荐大家购买原课程观看,课程地址:
Python高级编程和异步IO并发编程
这一篇我们学习下Python的socket编程。
弄懂HTTP、Socket、TCP这几个概念我们先看下网络的七层结构模型。
下面是五层网络模型:
上层的协议依赖于下层的协议(DNS依赖于UDP)
当我们应用层满足不了的时候我们如何和下层的TCP和UDP打
...
python多线程多进程和线程池编程-下
书接上回我们继续学习Python中的多线程。
12# 优先队列from queue import PriorityQueue
线程同步-SemaphoreSemaphore是控制线程进入数量的锁。
例子:对于一个文件来说,可以同时进行读和写,但是写一般只用于一个线程写,读可以允许多个,比如说我们指定十个线程进行读。
下面模拟一个爬虫,对线程数量进行控制。
一个线程用于抓取URL,用别的URL进行解
...
Python的多线程多进程和线程池编程-上
Python中的全局解释器锁GIL我们首先看下Python中的GIL(global interpreter lock)。
我们现在的编程环境是cpython,Python中的一个线程对应于c语言中的一个线程。
在前期的Python中,为了简单化运行多线程,在解释器中增加一把全局解释器锁,这把锁🔐使得同一时刻只有一个线程在一个CPU上执行字节码,无法将多个线程映射到多个CPU上。
我们如果运行了一
...
使用Python生成PDF-reportlab篇
最近遇到一个需求是要生成一个PDF报表,网上找了几个库,最终使用了reportlab,这篇文章主要记录使用代码。
安装使用pip直接安装
1pip install reportlab
使用1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575
...
Django-REST-framework自定义异常返回信息
我们如果使用了DRF对于异常捕捉的范围是有限的。我们先看下Django中配置。
1234567891011121314151617181920212223242526272829303132333435363738394041def exception_handler(exc, context): """ Returns the response that should be used
...
Centos7安装RabbitMQ
这一篇文章我们来实现安装一些RabbitMQ,为后续学习做准备。
安装erlang12rpm -Uvh https://mirrors.ustc.edu.cn/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpmyum install erlang
安装完成以后,执行erl看是否能打开eshell,用’halt().’退出,注意后面的点号,那是
...
数据结构-链表和递归
移除链表元素这节我们通过移除链表元素这个问题来开始探讨链表和递归的关系。
按照LeetCode上的要求我们在不使用虚拟头节点的时候的代码
1234567891011121314151617181920212223242526272829class Solution { public ListNode removeElements(ListNode head, int val)
...
数据结构-链表
这节我们学习最基础的动态数据结构—链表。
前两篇我们学的线性数据结构动态数组, 栈, 队列的底层都是依托于静态数组,靠我们写的resize`解决固定容量问题。
链表则是真正的动态数据结构。
链表是最简单的动态数据结构
对链表的理解能更深入的理解引用(或者指针)
能够更深入的理解递归
链表能够辅助组成其他数据结构
链表 Linked List
什么是链表呢?维基百科解释 – 链表
链表(Linked
...
python中的迭代器和生成器
Python中的迭代协议Python是面向协议编程的,我们说的迭代协议一般是指__iter__魔法函数。
迭代器是访问集合内元素的一种方式, 一般用来遍历数据迭代器和以下标的访问方式不一样, 迭代器是不能返回的, 迭代器提供了一种惰性方式数据的方式
迭代器和可迭代对象的区别可迭代对象是什么呢?迭代器和可迭代有什么区别?我们看下源码:
12345678910111213141516171819202
...