自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 异或交换

异或交换a,b = 1,-1a = a ^ bb = a ^ ba = a ^ bprint('a:%s\nb:%s'%(a,b))bin A : 0100 0001(二进制) B : 0100 0010异或交换规则:0 ^ 0 = 0 相同为01 ^ 0 = 1 不同为1a = a ^ b : 0100 00010100 0010结果: 0000 0011此时 a = 0000 0011b = a ^ b : 0000 00110100

2020-09-15 18:35:51 310

原创 python垃圾回收机制浅解

引用计数1).当一个对象的引用被创建或者复制时,对象的引用计数加1;当一个对象的引用被销毁时,对象的引用计数减1.2).当对象的引用计数减少为0时,就意味着对象已经再没有被使用了,可以将其内存释放掉。标记-清除1)它分为两个阶段:第一阶段是标记阶段,GC会把所有的活动对象打上标记,第二阶段是把那些没有标记的对象非活动对象进行回收。2)对象之间通过引用(指针)连在一起,构成一个有向图3)从根对象(root object)出发,沿着有向边遍历对象,可达的(reachable)对象标记为活动对象,不可

2020-07-31 08:09:45 236

原创 HTTP与HTTPS,Tcp的简介

HTTP(HyperText Transfer Protocol:超文本传输协议):是一种作用于分布式,协作式和超媒体信息系统的应用层协议,简单来说就是一种发布和接收HTML页面的方法,被用于在web浏览器和网站服务器之间传递信息HTTP 默认工作在 TCP 协议 80 端口,用户访问网站, http:// 打头的都是标准 HTTP 服务。HTTP 协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适

2020-07-30 11:42:35 1326

原创 Flask-Restful 浅解

最小的APIfrom flask import Flask,requestfrom flask_restful import Api,Resource# 创建 Flask 类的对象,指向程序所在的包的名称app = Flask(__name__)api = Api(app)class Helloworld(Resource): def get(self): return {'hello':'world'}api.add_resource(Helloworld,'

2020-07-29 22:00:47 258

原创 SOLID简介

(1)SRP(The Single Responsibility Principle)单一责任原则:表明软件组件(函数、类、模块)必须专注于单一的任务(只有单一的职责)(2)OCP(The Open-Closed Principle)开放-封闭原则:表明软件设计时必须时刻考虑到(代码)可能的发展(具有拓展性),但是程序的发展必须最少的修改已有的代码(对已有的修改封闭)(3)LSP(The Liskov Substitution Principle)Liskov替换原则:表明只要继承的是同一个接口,程序里

2020-07-29 21:39:22 463

转载 微服务架构

微服务架构介绍微服务架构(Microservice Architecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。你可以将其看作是在架构层次而非获取服务的类上应用很多SOLID原则。微服务架构是个很有趣的概念,它的主要作用是将功能分解到离散的各个服务当中,从而降低系统的耦合性,并提供更加灵活的服务支持。概念:把一个大型的单个应用程序和服务拆分为数个甚至数十个的支持微服务,它可扩展单个组件而不是整个的应用程序堆栈,从而满足服务等级协议。定义:围绕业务领域组件来创

2020-07-29 21:17:25 198

原创 利用flask实现简单的注册,登录

目录结构:from flask import Flaskfrom flask_restful import Resource,Api,reqparse,fields,marshal_withfrom sql_test import sql_test,sql_registapp=Flask(__name__)api=Api(app)parser=reqparse.RequestParser()parser.add_argument('username',type=str,required=

2020-07-29 21:03:41 1097 1

原创 协程

1. 什么是协程(进入上一次调用的状态)1.协程,又称微线程,纤程,协程是一种用户态的轻量级线程。2. 线程的切换会保存到CPU的栈里,协程拥有自己的寄存器上下文和栈3. 协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈4. 协程能保留上一次调用时的状态(即所有局部状态的一个特定组合),每次过程重入时,就相当于进入上一次调用的状态5. 协程最主要的作用是在单线程的条件下实现并发的效果,但实际上还是串行的(像yield一样)2. 协程缺点(无法利用多

2020-07-23 07:57:23 312

原创 python查找算法

二分查找# 返回 x 在 arr 中的索引,如果不存在返回 -1def binarySearch(arr, l, r, x): # 基本判断 if r >= l: mid = int(l + (r - l) / 2) # 元素整好的中间位置 if arr[mid] == x: return mid # 元素小于中间位置的元素,只需要再比较左边的元素 elif arr

2020-07-22 17:01:58 141

原创 django全文检索实现

安装工具pip install django-haystackpip install whooshpip install jieba在setting.py中配置'''注册app '''INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contr

2020-07-22 11:13:39 337

原创 全文检索里的组件简介

1、什么是haystack?1 . haystack是django的开源搜索框架,该框架支持Solr,Elasticsearch,Whoosh, Xapian搜索引擎,不用更改代码,直接切换引擎,减少代码量。2 . 搜索引擎使用Whoosh,这是一个由纯Python实现的全文搜索引擎,没有二进制文件等,比较小巧,配置比较简单,当然性能自然略低。3 . 中文分词Jieba,由于Whoosh自带的是英文分词,对中文的分词支持不是太好,故用jieba替换whoosh的分词组件。2、什么是jieba?1、

2020-07-22 11:03:49 235

原创 全文检索简介

什么是全文检索全文检索是计算机程序通过扫描文章中的每一个词,对必要的词建立一个索引,指明该词在文章中出现的次数和位置。当用户查询时根据建立的索引查找,类似于通过字典的检索字表查字的过程。全文检索(Full-Text Retrieval)是指以文本作为检索对象,找出含有指定词汇的文本。全面、准确和快速是衡量全文检索系统的关键指标。关于全文检索,我们要知道:1,只处理文本。2,不处理语义。3,搜索时英文不区分大小写。4,结果列表有相关度排序。5,并且可以对结果具有过滤高亮的功能在信息检索工具中,全文检索

2020-07-22 10:54:46 1464

原创 Mysql的锁

question 1:如何查看mysql的自动提交设置?select @@autocommit;查看默认提交的状态是否为自动提交0手动提交 1自动提交question 2:如何设置autocommit;set @@autocommit=0;设置的是本次mysql窗口的自动提交取消,不影响别的连接的自动提交查看怎么锁定了行锁的例子的演示1 开启事务 未提交;2 重新打开一个连接,更新锁定的行的内容 ,一直等待释放锁3 第一个连接提交完,释放锁4 第二次的跟新获得锁得以提交5 如

2020-07-22 09:40:38 132

原创 python排序算法

插入排序插入排序:插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序;首先将第一个作为已经排好序的,然后每次从后的取出插入到前面并排序;时间复杂度:O(n²)空间复杂度:O(1)稳定性:稳定def insert_sort(ilist): for i in range(len(ilist)): for j in range(i): if ilist[i] < ilist[j

2020-07-21 22:41:49 130

原创 线程

1.线程定义线程是操作系统调度的最小单位它被包含在进程之中,是进程中的实际运作单位进程本身是无法自己执行的,要操作cpu,必须创建一个线程,线程是一系列指令的集合线程定义拓展回答内容1. 线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位2. 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务3. 无论你启多少个线程,你有多少个cpu, Python在执行的时候会淡定的在同一时刻只允许一个线程运行4. 进程本身是

2020-07-21 20:30:28 216

原创 进程

1.进程定义1.进程是资源分配最小的单位2.当一个可执行程序被系统执行(分配内存等资源)就变成了一个进程进程定义拓展回答内容1.程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,这种执行的程序就称之为进程2.程序和进程的区别在于:程序是指令的集合,他是进程运行的静态描述文本;进程是程序的一次执行活动,属于动态概念3.在多道编程中,我们允许多个程序同时加载到内存中,在操作系统的调度下,可以实现并发地执行4.进程的出现让每个用户感觉到自己独享CPU,因此,进程就是为了在CPU上

2020-07-21 20:21:17 106

原创 django+celery+redis异步发送邮件

django+celery+redis异步发送邮件代码如下tasks.pyfrom celery import Celeryfrom shiyanlou.settings import *from django.conf import settingsfrom django.core.mail import send_mailapp = Celery('celery_task.tasks',broker="redis://127.0.0.1:6379/3",worker="redis:

2020-07-21 18:27:18 154

原创 阿里云沙箱服务

阿里云沙箱服务使用依赖包工具安装(推荐):执行以下命令,安装阿里云SDK核心库。如果您使用Python 2.x,执行以下命令,安装阿里云SDK核心库:pip install aliyun-python-sdk-core如果您使用Python 3.x,执行以下命令,安装阿里云SDK核心库:pip install aliyun-python-sdk-core-v3python代码如下from alipay import AliPayalipay_public_key_string = "

2020-07-21 16:07:35 564

原创 python短信服务

from aliyunsdkcore.client import AcsClientfrom aliyunsdkcore.request import CommonRequestAK = '***************'SK = '********************'client = AcsClient(AK, SK, 'cn-hangzhou')request = CommonRequest()request.set_accept_format('json')request.set_

2020-07-07 22:49:19 257

原创 项目思维导图

注册流程登录流程找回密码流程文档仅供参考

2020-07-07 19:00:05 610

原创 ez冒泡排序

冒泡排序:list1 = [1,2,4,6,3,5,9,8,7]for i in range(len(list1)-1): #循环遍历从0开始到倒数第二个元素下标 for j in range(len(list1)-1-i): #循环遍历从0开始,每次循环将最大数放到最末尾 if list1[j] > list1[j+1]: #判断两个相邻数的大小,大的往后面排,小的往前面排 list1[j],list

2020-07-06 23:26:06 89

原创 python实现字符串反转

第一种:使用字符串切片方法result = s[::-1]第二种:使用列表的reverse方法l = list(s)l.reverse()result = "".join(l)l = list(s)result = "".join(l[::-1])第三种:使用reduce方法result = reduce(lambda x,y:y+x,s)第四种:使用递归函数方法def func(s): if len(s) <1: return s ret

2020-07-06 16:49:03 169

原创 python邮件发送

import smtplibfrom email.mime.text import MIMETextfrom email.header import Header# come_from 是自己的邮箱,password是邮箱的授权码come_from = 'xxxxxxxx@qq.com'# who 用户是谁 ,相当于用户名。password = 'xxxxxxxxx' # 秘钥串 ,相当于密码。# to_email 是接收的邮箱to_email = 'xxxxxxxxx@qq.com' #

2020-07-06 16:34:31 102

原创 简单算法整理

回文数:a=input('输入:')b=a[::-1]if a==b: print('{} 是回文数'.format(a))else: print('{} 不是回文数'.format(a))斐波那契数列:## 迭代器:斐波那契数列class FeiBo(): def __init__(self,n): self.a = 1 self.b = 1 self.c = 0 self.n = n def

2020-07-06 13:01:52 136

原创 Python基础数据类型及其操作

1.数字 (Number)一、数字类型:①int 整数(整型):通常被称为是整型或整数,可以是正整数或负整数,不带小数点。Python3整型是没有限制大小的,可以当做long类型使用, 但实际上由于机器内存的有限,我们使用的整数是不可能无限大的。整型的四种表现形式:2 进 制:以’0b’开头。例如:'0b11011’表示10进制的278 进 制:以’0o’开头。例如:'0o33’表示10进制的2710进制:正常显示16进制:以’0x’开头。例如:'0x1b’表示10进制的27各进间数字进

2020-07-06 11:55:02 514

原创 Windows系统码云使用流程

1.下载GIT官网下载网址:https://git-scm.com/downloads(下载速度较慢)腾讯下载网址:https://pc.qq.com/detail/13/detail_22693.html(推荐)2.码云官网注册网址:https://gitee.com/3.初始化1.准备一个文件夹,用来克隆git仓库2.右键文件夹3.出现以下界面4.生成一个本地密钥,和码云上面的密钥产生关联。密钥生成的指令:ssh-keygen -t rsa -C “XXX@QQ.com” 邮

2020-07-06 10:18:56 386

空空如也

空空如也

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

TA关注的人

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