自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Cong_dim的博客

就像全世界美好甜蜜的事物

  • 博客(33)
  • 收藏
  • 关注

原创 flask源码分析

1、flask和django的区别django自带组件,flask需要第三方支持django上下文管理是通过request参数传递,flask基于上下文管理实现的应用上下文(app,g)和请求上下文(request,session)2、flask的生命周期浏览器 -> wsgi(wekzug) -> before_request -> view -> after_request3、wsgi的本质socket服务端4、flask蓝图的作用默认flask通过一个脚本实现服

2022-05-25 10:54:59 520

原创 re正则匹配

正则匹配match和search的区别match:从开头开始匹配,开头不符合就返回Nonesearch:从任意位置匹配strq = '#$d_ddadadad1'import re# res = re.match(r'^(?=.*[a-zA-Z_])(?=.*\d)^[a-zA-Z][\w]{7,17}',strq).group()# print(res)# str1 = '(dadajdbjabaakf)ddna[]]]'# res1 = re.search(r'(?<=\(

2021-12-01 10:57:29 790

原创 selenium基本用法

selenium基本用法import timefrom selenium import webdriverclass Tjgb: def __init__(self,url,if_headless=False): self.chrome_driver_path = r'D:\Python3.6\Scripts\chromedriver.exe' self.binary_location = r'C:\Program Files (x86)\Google\Ch

2021-11-30 16:20:01 494

原创 js加密分析

一、定位js的三种方式1、initiator2、search3、通过点击事件Event Listeners二、代码实现有道翻译import timeimport randomimport hashlibimport requestsimport jsonreq = requests.session()class YouDao: def __init__(self,words): self.url = 'https://fanyi.youdao.com/tr

2021-07-26 18:40:41 214

转载 mysql分库分表方案

文章目录一、前言二、数据库架构演变三、分库分表的问题1、用户请求量太大2、单库太大3、单表太大4、分库分表的方式方法垂直拆分水平拆分五、分库分表后面临的问题事务支持多库结果集合并(group by,order by)跨库join六、分库分表方案产品一、前言公司最近在搞服务分离,数据切分方面的东西,因为单张包裹表的数据量实在是太大,并且还在以每天60W的量增长。之前了解过数据库的分库分表,读过几篇博文,但就只知道个模糊概念, 而且现在回想起来什么都是模模糊糊的。今天看了一下午的数据库分库分表,看了很多

2021-07-08 11:12:11 199

原创 docker遇到问题

这里写目录标题1、docker签证过期问题1、docker签证过期问题docker拉取镜像爆出“Error response from daemon: Get https://registry-1.docker.io/v2/: x509: certificate has expired or is not yet valid”错误解决方案:更换docker registry证书1、查询/etc/docker/certs下的证书是否已过期root@master:~# openssl x509 -i

2021-06-23 14:26:26 594

原创 支付流程

目录一、支付模块1、配置文件配置2、libs文件夹3、视图中4、序列化中一、支付模块1、配置文件配置# 配置文件RETURN_URL = "http://101.201.249.159/course/paysuccess" # 前端地址NOTIFY_URL = "http://101.201.249.159:8000/order/success/" # 公网2、libs文件夹# 先写一个ali_pay的包,pem文件夹# pem文件夹# alipay_public_key.pem-

2021-03-08 21:55:15 820

原创 redis第一篇

文章目录一、 Redis介绍安装配置1、安装2、 API的使用三、高级用法(优化相关)1、慢查询相关2、pipeline与事务3、悲观锁和乐观锁4、发布订阅5、Bitmap位图6、HyperLogLog7、GEO(地理信息定位)四、持久化1、介绍2、rdb方案五、主从复制原理与优化一、 Redis介绍安装配置1、安装#下载wget http://download.redis.io/releases/redis-5.0.7.tar.gz#解压tar -xzf redis-5.0.7.tar.gz

2021-03-01 20:56:07 110

原创 mysql第二篇

目录一、乐观锁和悲观锁的概念二、实现方式三、相关问题一、乐观锁和悲观锁的概念乐观锁和悲观锁是两种思想,用于解决并发场景下的数据竞争问题。乐观锁:乐观锁在操作数据的时候非常乐观,认为别人不会在同一时刻修改数据,因此乐观锁不会上锁,只是在执行更新的时候判断一下在此时间别人是否修改了数据;如果别人修改了数据则放弃操作,否则执行操作悲观锁:悲观锁在操作数据时总是认为别人会同时修改数据,因此操作数据时直接把数据锁住,等操作完成后才释放锁,别人在此期间不能修改数据二、实现方式乐观锁的实现方式:两种,CAS

2021-02-23 20:56:13 71

原创 flask第四篇

目录一、flask上下文源码分析(详见txt和图片)1、具体流程以及源码分析2、关于session以及请求扩展分析二、flask-session的使用三、数据库连接池四、flask-script一、flask上下文源码分析(详见txt和图片)1、具体流程以及源码分析请求上下文执行流程(ctx): 1 flask项目一启动,有6个全局变量 # context locals _request_ctx_stack = LocalStack() # LocalStack对象 _

2021-02-23 20:08:34 138

原创 mysql第一篇

一、mysql的事物隔离级别mysql事务都是指在InnoDB引擎下,MylSAM引擎是不支持事务的事务的特性ACID:原子性、一致性、隔离性、持久性sql标准定义了四种隔离级别,MYSQL全都支持:1、读未提交ru 2、读提交rc 3、可重复读rr 4、串行化 。隔离强度逐渐增强,性能逐渐变差,可重复读是mysql的默认级别。django的orm是设置了读提交。事务的额隔离是为了解决脏读、不可重复度、幻读等问题相关命令# 查看事务隔离级别show variables like 'trans

2021-02-22 22:33:38 116 1

原创 flask第三篇

目录一、Flask中间件1、自己实现中间件2、中间件实现流程二、蓝图三、flask请求上下文四、补充1、requirements.txt2、方法和函数的区别3、threading.local4、偏函数一、Flask中间件性质:在整个请求过程的前后定制一些个性化功能1、自己实现中间件from flask import Flaskapp = Flask(__name__)@app.route('/')def index(): return 'Hello World!'# 模拟中间件

2021-02-22 21:50:03 101

原创 luffy项目相关

目录一、使用redis缓存二、跨域问题解决三、drf内置配置相关1、drf过滤使用2、drf排序使用3、drf分页使用4、drf认证、权限5、drf频率一、使用redis缓存pip install django-redis# 在settings中配置# redis缓存配置,以后所有的缓存都在redis中CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION":

2021-02-20 00:24:24 175

原创 爬虫第三篇

爬虫第三篇一、布隆过滤器二、分布式爬虫1、介绍2、scrapy-redis组件三、js逆向(破解知乎)四、手机爬虫(appnium)五、抓包工具一、布隆过滤器1 bloomfilter:是一个通过多哈希函数映射到一张表的数据结构,能够快速的判断一个元素在一个集合内是否存在,具有很好的空间和时间效率2 数组:连续存储的内存空间,取值,改值效率高;插入值,删除值效率低3 链表:不连续的内存空间,可变长。取值,改值效率低;插入删除效率高4 你现在看到的所有数据结构,本质就是数字,字符串,布尔,数组,链

2021-02-04 23:37:47 133

原创 爬虫第二篇

爬虫第二篇一、scrapy配置参数二、scrapy持久化1、写在文件中cnblogs.json (这个不需要记)2、存在数据库中(常用)三、请求传递参数四、提高爬虫效率五、scrapy中间件1、下载中间件 MyfirstscrapyDownloaderMiddlewareprocess_requestprocess_response2、爬虫中间件MyfirstscrapySpiderMiddleware(了解)六、集成selenium七、去重规则1、scrapy中默认去重2、自定义去重(自己写一个)一、

2021-02-04 23:33:46 267

原创 爬虫第一篇

爬虫第一篇一、xpath的使用二、selenium爬取京东商品信息三、scrapy架构介绍和安装1、scrapy安装2、scrapy的架构3、目录介绍四、scrapy的简单使用一、xpath的使用1 css xpath 通用的2 XPath 使用路径表达式在 XML 文档中选取节点3 lxml模块为例,讲xpath选择(selenium,scrapy---》css/xpath)4 用法: / # 从当前节点开始选择,子节点 // # 从当前节点开始选择,子子节点 @选取属性a[@hr

2021-02-04 23:25:11 127

原创 flask第二篇

这里写目录标题一、模板语言二、请求响应1、请求相关2、响应相关3、文件上传三、session及源码分析四、闪现五、请求扩展(相当于django中中间件)一、模板语言from flask import Markup@app.route('/')def helloU(): s = '<a href="http://www.baidu.com">点我</a>' s = Markup(s) return render_template('s4.html',a

2021-02-04 22:39:55 85

原创 flask第一篇

这里写目录标题一、Flask安装介绍二、登陆小案例三、配置文件1、配置的几种方式2、具体配置settings.py四、路由系统1、路由本质2、转换器类型3、CBV源码分析4、URL_FOR一、Flask安装介绍1 Flask是一个基于Python开发并且依赖jinja2模板(django模板语言)和Werkzeug WSGI(django:wsgiref)服务的一个微型框架2 对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后触发Flask框架,开发人员基于

2021-02-04 22:37:59 160

原创 项目上线遇到的问题

django + vue项目通过Nginx + uwsgi上线遇到的各种Bug1、安装mysql时,遇到初始密码不返回的情况通过命令grep "password" /var/log/mysqld.log 查看默认但没有返回密码解决方法:

2021-01-20 20:28:08 563

原创 路飞第五篇

文章目录一、过滤文件二、从远端拉项目1、使用pycharm拉取2、使用git bash三、连接远程仓库1、首次提交代码连接2、作为参与开发者,操作远程四、冲突出现原因及解决1、情况1:分支合并2、情况2:多个人在同一个分支上修改了同一段代码出现冲突一、过滤文件1 常见的git版本控制器管理代码的公共平台:https://bitbucket.org/、github、gitee、gitlab2 项目中加过滤文件,加了以后,被排除的文件或文件夹不被git管理3 在项目路径下新建 .gitignore 文件

2020-12-27 14:25:45 166

原创 luffy第四篇

文章目录一、luffy项目使用xadmin二、首页轮播图接口1、后端轮播图模型以及序列化2、前端轮播图组件改写3、通过配置实现前端展示轮播图的数量三、git的基本使用1、git的工作流程2、git 分支一、luffy项目使用xadmin1 公司项目,有前台(主站),后台(xadmin)2 使用步骤 #1 安装:luffy虚拟环境下,在终端导入pip install https://codeload.github.com/sshwsfc/xadmin/zip/django2#2 注册app

2020-12-27 14:22:42 219

原创 luffy第三篇

文章目录一、跨域问题1、详解2、后端自己处理跨域问题3、前端处理跨域二、luffy头部组件,尾部组件三、首页组件,轮播图组件四、git入门一、跨域问题1、详解1 同源策略:浏览器为了保护用户信息安全的一种安全机制,不允许去另一个域加载数据2 域:ip或者端口都必须一致3 前后端分离项目会出现跨域(前后端来自同一个ip的不同端口)4 使用第三方模块处理,详见上篇5 CORS:是一门后端技术,全称跨域资源共享,CORS需要浏览器和服务器同时支持,目前所有浏览器都支持该功能,也就是说服务端只要做配置

2020-12-23 20:39:49 206 1

原创 luffy第二篇

文章目录一、luffy前台配置1、vue前端目录2、router的使用3、luffy前台配置二、luffy后端配置1、User表配置2、封装全局Response对象3、全局异常4、配置日志,记录日志5、跨域问题及解决6、前后端打通拓展一、luffy前台配置1、vue前端目录1 node_models 文件夹内放了一堆当前项目的依赖(删掉:可以上传git,分享给他人)2 如果项目中没有node_models这个文件夹,可以执行以下指令 cnpm install (pip3 istall -r req

2020-12-22 20:14:38 374

原创 luffy第一篇

文章目录一、vue总结二、企业软件开发流程三、pip换源1、pip安装源2、永久配置安装源1、优点2、在windows中安装3、mac、linux中安装4、创建虚拟环境5、常用命令五、路飞后台创建,配置修改,目录变更六、数据库配置七、路飞前台搭建一、vue总结1-Vue介绍 -1 vue js框架,渐进式框架 -2 双向数据绑定,组件化开发(js,css,html),单页面开发(index.html)(vue-router) -3 快速使用(1.x,2.x,3.x),下载,放到项目中,通过s

2020-12-21 20:25:00 412

原创 vue第五篇

文章目录一、生命周期二、swiper学习1、swiper基础使用2、自定义组件的封装三、自定义指令四、过滤器五、单文件组件六、vue-cli项目目录介绍一、生命周期1 mounted用的最多:向后端发送请求,定时器初始化2 destroyed:组件销毁--->给组件写一个定时器-->组件销毁,定时器清除<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8">

2020-12-18 21:20:50 227 2

原创 vue第四篇

文章目录二、组件化开发三、组件的注册方式1、定义全局组件,绑定事件,编写样式2、定义局部组件① 局部组件 放在 Vue实例(根组件) 中② 局部组件 放在 全局组件 中四、组件编写方式与Vue实例的区别五、组件通信1、父子通信## 2、属性验证## 3、组件通信之子父通信## 4、ref属性(也可实现组件间通信,子父,父子都可以使用)5、事件总线六、动态组件七、slot插槽1、基本使用2、插槽案例(一个组件通过插槽控制另一个组件的显示隐藏)3、具名插槽(指定标签放到组件的某个插槽中)一、vue开源项目查找

2020-12-17 21:35:04 70

原创 vue第三篇

文章目录一、v-model之lazy,number,trim二、跨域问题解决1、通过jq的ajax实现2、后端读取json文件传到前端三、vue项目与后端交互的几种方式1、fetche向后端发送请求2、axios① Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中② axios官网:http://www.axios-js.com/四、计算属性1、通过计算属性来实现人名首字母大写2、通过计算属性重写过滤小案例五、虚拟dom与diff算法 key的作用六、组件化开发

2020-12-16 21:34:53 1416

原创 vue第二篇

文章目录一、条件渲染1、通过v-if和v-for实现购物车1.1、v-if/v-else-if/v-else二、列表渲染1、for循环数组,对象2、key值的解释3、数组更新与检测三、事件处理1、input过滤案例2、简单事件3、事件修饰符4、按键修饰符四、数据双向绑定1、v-model使用五、表单控制1、checkbox选中2、多选3、单选4、购物车案例5、购物车之全选,全不选一、条件渲染1、通过v-if和v-for实现购物车<!DOCTYPE html><html lang="

2020-12-15 21:28:38 100

原创 vue

文章目录一、 前端目前形式二、vue介绍和使用三、模板语法四、指令1、文本指令2、事件指令3、属性指令五、style和class一、 前端目前形式1、html5,css3,js(es5,es6):写一个一个的页面---》给后端(php,python,go,java)--》后端嵌入模板语法--》后端渲染完数据---》返回给前端---》在浏览器中看2、ajax出现--》后台发异步请求,render+ajax混合3、单用ajax(加载数据,dom渲染页面):前后端分离的雏形4、agular框架:js框架

2020-12-14 19:32:19 125

原创 kubernetes

文章目录一、Pod简介二、Pod使用三、Pod基础命令四、label一、Pod简介Pod 是在 K8s 集群中运行部署应用或服务的最小单元,它是可以支持多容器的。Pod 的设计理念是支持多个容器在一个 Pod 中共享网络地址和文件系统,可以通过进程间通信和文件共享这种简单高效的方式组合完成服务。二、Pod使用pod部署相当于一个微服务创建一个pod.yaml文件#k8s当中一切皆资源#定义创建的资源kind: Pod#指定api版本号apiVersion: v1#定义当前资源的基础信

2020-12-09 15:11:17 64

原创 Docker

文章目录一、Docker概念和使用二、Docker安装三、使用Docker镜像四、容器:docker中对外提供服务的实例一、Docker概念和使用Docker 中有三个核心概念:镜像、容器和仓库。因此,准确把握这三大概念对于掌握 Docker 技术尤为重要。1、镜像:启动容器的模板2、容器:对外提供服务的实例3、仓库:用来保存镜像的仓库。当我们构建好自己的镜像之后,需要存放在仓库中,当我们需要启动一个镜像时,可 以在仓库中下载下来。二、Docker安装http://www.xuexian

2020-12-01 17:15:12 190

原创 Linux第二篇

文章目录一、文本三剑客1、sed命令2、awk命令3、grep二、文件管理之文件查找1、find命令三、文件管理之:上传与下载四、文件管理之:输出与重定向1、输出重定向2、输入重定向五、文件管理之:字符处理命令一、文本三剑客1、sed命令流程编辑器,主要擅长对文件的编辑操作,我们可以事先定制好编辑文件的指定,然后让sed自动完成对文件的整体编辑用法:sed 选项 “定位+命令” 文件路径选项:-n 取消默认输出-r 支持扩展正则元字符-i 立即编辑文件定位行定位:1 代表定位第一行

2020-11-24 09:16:08 189

原创 Linux系统

文章目录Linux系统一、Llinux常用命令1、基本命令2、文件和文件夹的操作3、文件内容的操作(1)创建或者编辑文件(2)文件三种模式(3)定位命令(在一般模式运行)(4)撤销命令(在一般模式运行)(5)行复制(在一般模式运行)(6)删除命令(在一般模式运行)(7)退出文件编辑(8)仅查看文件(9)文件搜索及替换4、文件压缩和解压缩5、用户和用户组的操作(1)linux用户分类(2)linux用户组(3)用户相关的配置信息(4)linux用户组的操作(5)Linux用户的操作6、权限的操作7、关机命令二

2020-11-20 20:51:55 235

空空如也

空空如也

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

TA关注的人

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