4 zhubaoJay

尚未进行身份认证

我要认证

share...

等级
TA的排名 4w+

git常用命令

重置客户端账号密码git config --system --unset credential.helper

2020-07-14 10:17:13

python requests post传参data和json的区别

json不管参数是str还是dict类型,如果不指定headers中的content-type,默认为application/json,当参数为dict类型时,request.body中内容为b'{"name":"zhubaoxiang"}' 当参数类型为str时,request.body中内容为b'"{\\"name\\":\\"zhubaoxiang\\"}"',可以看到,json默认会帮你json dumps一下。我们观看requests源码也得出相同结论: def prepare_b

2020-06-23 09:57:46

Nginx与F5会话保持介绍

Nginx是一个很高效稳定的软负载均衡器,最新的版本可以负载均衡HTTP(s),TCP,UDP等多种协议的链接。一般访问量比较大一点的Web站点都会用NGINX做HTTP协议的Web负载均衡,其后端一般是多个PHP或者JAVA中间件。另外NGINX还可以和Keepalived配合防止均衡器的单点故障,这一点要强于F5,A10这一类的硬件负载均衡设备。但是F5,A10等硬件负载均衡器虽然价格昂贵...

2019-12-24 16:12:50

MySQL索引失效情况

1、like是以%开头的查询语句在使用LIKE关键字进行查询的语句中,如果匹配字符串的第一个字符为“%”,索引不会起作用。只有“%”不再第一个位置,索引才会起作用。举例:已知name字段上有索引websites_index。第1个查询语句执行后,rows为5,表示扫描了表中所有的4条数据;第2个查询语句3执行后,rows为1,表示只扫描了1条纪录;第一个查询语句索引没有起到作用。...

2019-12-09 09:34:30

Django请求生命周期

django的请求生命周期如下图,记录笔记,后续翻阅。

2019-12-04 19:32:35

Elasticsearch Doc与segment原理

0x01 摘要本文主要讲下ES中Doc(文档)和Segment(段)的底层原理。0x02 Doc概念2.1 术语介绍首先我们说几个ES中跟Doc相关的概念,以免后面混淆:Index(索引)这里指ES的索引概念,有1个或多个type,由若干shard分片组成Shard(分片)是一个Lucene索引。一个ES Index分为多个Shard,可分布到不同节点上Doc(文档)...

2019-12-01 22:57:58

Elasticsearch各节点分工

ES各种节点的分工1. 客户端节点  当主节点和数据节点配置都设置为false的时候,该节点只能处理路由请求,处理搜索,分发索引操作等,从本质上来说该客户节点表现为智能负载平衡器。独立的客户端节点在一个比较大的集群中是非常有用的,他协调主节点和数据节点,客户端节点加入集群可以得到集群的状态,根据集群的状态可以直接路由请求。2. 数据节点  数据节点主要是存储索引数据的节点,主要对文...

2019-11-30 18:24:27

Elasticsearch写入原理详解

实时性Elasticsearch的主要应用场景就是实时,但Elasticsearch本身并非实时而是near-real-time(近实时)。Index的实时性是由refresh控制的,默认是1s,最快可到100ms,那么也就意味着Index doc成功后,需要等待一秒钟后才可以被搜索到。Elasticsearch中的Get请求也能保证是实时的,因为Get请求会直接读内存中尚未Flush到磁...

2019-11-30 17:00:57

You know, for search

Elasticsearch作为当前流行的分布式搜索引擎,被广泛应用于日志检索,指标采集,APM,安全分析等领域。本文将对Elastic Stack的发展历程,基本原理,产品生态,主要功能和应用场景进行总结,以帮助大家对Elastic生态的前世今生能有一个清晰的了解。1. 发展历程1.1 美好的事物总有一个浪漫的开始许多年前,一个叫Shay Banon的年轻人想为正在学习厨艺的新婚妻子编...

2019-11-25 11:23:11

Elasticsearch分布式架构机制

概要本篇主要介绍Elasticsearch的数据索引时的分片机制,集群发现机制,primary shard与replica shard是如何分工合作的,如何对集群扩容,以及集群的容错机制。分片机制前面基本概念一节中,我们有提到建立索引时,会自动将数据拆分到多个分片(shard)中,默认数量是5,这个就是索引数据分片机制。我们在往Elasticsearch集群插入数据,并没有关心过数据最...

2019-11-25 10:49:20

django ORM 正向查询与反向查询

现有三张表关系如下:from django.db import models# Create your models here.from django.db import modelsclass BaoModel(models.Model): age = models.IntegerField() address = models.CharField(max_le...

2019-07-20 15:25:20

rest_framework学习之序列化(Serializer)

什么是序列化?在我看来,序列化就是将复杂的对象数据转化为简单的通用数据格式(如json),这么一个过程就是序列化。反序列化同理。我们看下DRF对序列化解释,序列化器允许将复杂数据(如查询集和模型实例)转换为原生Python数据类型,然后可以轻松地将其呈现为JSON、XML或其他内容类型。序列化器还提供反序列化,允许在首先验证传入的数据之后将解析后的数据转换回复杂类型。PS:还是官方专业...

2019-07-01 21:12:33

rest_framework学习之分页(Pagination)

DRF提供了默认的分页空间给开发者使用,只有在使用通用视图(generic views)或视图集(viewsets)时才会自动触发分页控件,若使用的是APIView,需要自己实现分页API,可参考GenericAPIView源码。使用generic views来默认调用pagination我们可以在settings.py中设置全局的分页控件配置,如下:REST_FRAMEWORK ...

2019-06-29 10:40:06

rest_framework学习之解析器(Parsers)

概述什么是解析器?在DRF中,解析器是一个类列表,当每次接收到请求时,RDF会根据请求头中的Content-type,来指定使用哪钟解析方法去解析数据。当content-type与解析器列表均不匹配时,则会报解析失败。我们可以在settings.py中全局设置解析器列表,如下:REST_FRAMEWORK = { 'DEFAULT_PARSER_CLASSES': ( ...

2019-06-21 11:40:07

python中的select模块介绍

python中的select模块介绍:Python中的select模块专注于I/O多路复用,提供了select poll epoll三个方法(其中后两个在Linux中可用,windows仅支持select),另外也提供了kqueue方法(freeBSD系统)select方法:进程指定内核监听哪些文件描述符(最多监听1024个fd)的哪些事件,当没有文件描述符事件发生时,进程被阻...

2019-06-18 15:39:48

rest_framework学习之认证(Authentication)&权限(Permissions)

认证和权限控制是web开发中较为重要的知识点,我们看下django rest_framework的认证和权限是如何实现的概述我们知道,在django中,提供内置的认证与权限方式,通过维护几张数据库表(如auth_user、auth_group、auth_permission等),并提供封装好的方法(如:authenticate()、login()、logout())实现认证与权限。re...

2019-06-15 11:21:25

python的复制,深拷贝和浅拷贝的区别

python的复制,深拷贝和浅拷贝的区别在python中,对象赋值实际上是对象的引用。当创建一个对象,然后把它赋给另一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用一般有三种方法,alist=[1,2,3,["a","b"]](1)直接赋值,默认浅拷贝传递对象的引用而已,原始列表改变,被赋值的b也会做相同的改变>>> b=ali...

2019-06-05 09:43:49

MYSQL中建议使用NOT NULL原因

MySQL 官网文档:NULL columns require additional space in the rowto record whether their values are NULL. For MyISAM tables, each NULL columntakes one bit extra, rounded up to the nearest byte.Mysql难以...

2019-06-05 09:20:00

rest_framework学习之view、APIView、GenericAPIView理解

在django和rest_framework项目中我们经常可以看到view、APIView、GenericAPIView,在此记录下三者关系在说之前,先介绍下FBV和CBVFBV(function base view)我们经常写的视图函数都是FBV,如:def index(request): return HttpResponse()CBV(class base v...

2019-05-23 11:30:19

django中间件详解

django中间件详解阅读目录 一、什么是中间件 二、中间件的执行流程一、什么是中间件?官方的说法:中间件是一个用来处理Django的请求和响应的框架级别的钩子。它是一个轻量、低级别的插件系统,用于在全局范围内改变Django的输入和输出。每个中间件组件都负责做一些特定的功能。但是由于其影响的是全局,所以需要谨慎使用,使用不当会影响性能。说的直白一点...

2019-05-18 17:16:06

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。