自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(144)
  • 问答 (1)
  • 收藏
  • 关注

原创 项目第一天:搭建项目环境——让项目跑起来

项目需要的环境1、Oracle VM VirtualBox(虚拟机)安装教程 + ubuntu-16.04.6-desktop-amd64(镜像)注意:安装教程中楼主写的已经很详细了。我提示以下几点第一点:设置虚拟机与Windows共享粘贴板和拖放双向。步骤:移动鼠标到虚拟机最顶部,点击设备,下拉列表分别选择共享粘贴板和拖放选项分别选择双向就OK第二点:安装增强功能让虚拟几自适应屏幕大小。移动鼠标到虚拟机最顶部,点击设备,下拉列表选择增强功能,点击自动完成安装,重启虚拟机就OK。第三点:为了加

2020-05-10 15:33:07 537

原创 python——字典和集合

dict 类型不但在各种程序里广泛使用,它也是 Python 语言的基石。跟它有关的内置函数都在 builtins.__dict__模块中。正是因为字典至关重要,Python 对它的实现做了高度优化,而散列表则 是字典类型性能出众的根本原因。集合(set)的实现其实也依赖于散列表,反过 来说,想要进一步理解集合和字典,就得先理解散列表的原理。collections.abc 模块中有 Mapp...

2020-05-07 11:26:44 180

原创 Python——序列构成的视图

数据结构一、序列构成的数组:1、1:内置序列类型容器序列:list、tuple和collections.deque能存放不容类型的数据。特点:容器序列存放的是他们所包含的任意类型的对象的引用扁平序列:str、bytes、bytearray、memoryview和array.array只能容纳一种类型特点:存放的是值而不是引用,扁平序列其实是一段连续的内存空间,更加紧凑。可变序列:li...

2020-05-06 15:22:59 338

转载 Flask-Login——进阶使用

官网是最好的资料入门使用安装必要的库编写web框架app.py文件from flask import Flask, Blueprintapp = Flask(__name__)# url redirectauth = Blueprint('auth', __name__)@auth.route('/login', methods=['GET', 'POST'])def ...

2020-05-03 19:09:10 378

原创 Vue——学习第一天

一、什么是Vue?Vue是目前最火的一个框架,React是最流行的一个框架(React除了开发网站,还可以开发手机App)Vue是前端的主流框架之一,是一套构建用户界面的框架,只关注视图层,不仅容易上手,还便于与第三方库或既有项目整合。二、提高开发效率的发展历程?原生JS -> JQuery之类的库 -> 前端模板引擎 -> Angular.js / Vue.js在Vu...

2020-05-01 23:24:55 390

原创 Flask——应用程序错误处理

官网溜达一圈错误邮件如果你的应用在生产模式下运行(会在你的服务器上做),默认情况下,你不会看见任何日志消息。为什么会这样? Flask 试图成为一个零-配置框架。如果没有配置日志会被放在哪里了?猜测不是一个好主意因为可能性太多, 它猜测的位置可能不是一个用户有权限创建日志文件的地方。对于大部分小型应用没有人会去看日志。你需要的应是异常发生时的邮件,然后你会得到一个警报,并做些什么。Flas...

2020-04-28 18:54:16 216

原创 Flask——快速入门

唯一urls/重定向行为:Flask 的 URL 规则是基于 Werkzeug 的 routing 模块。该模块背后的想法是基于 Apache 和早期的 HTTP 服务器定下先例确保优雅和唯一的 URL。@app.route('/projects/')def projects(): return 'The project page'@app.route('/about')de...

2020-04-28 14:40:06 126

原创 Flask——视图和路由的进阶技能

官网是最好的地方认证:Flask-Login 扩展可以很容易地实现登录系统。除了处理用户认证的细节,Flask-Login 提供给我们一个装饰器,它用来限制只允许登录的用户访问某些视图: @login_required。# app.pyfrom flask import render_templatefrom flask.ext.login import login_require...

2020-04-28 10:39:00 146

原创 Vue——组件

组件(Component)是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装可重用的代码。组件系统让我们可以用独立可复用的小组件来构建大型应用,几乎任意类型的应用的界面都可以抽象为一个组件树:全局组件所有实例都能用全局组件。局部组件我们也可以在实例选项中注册局部组件,这样组件只能在这个实例中使用:Propprop 是子组件用来接受父组件传递过来的数据的一个...

2020-04-28 08:53:14 117

原创 Flask-Bcrypt

Flask-Bcrypt对于必须保护的敏感数据,如密码,bcrypt是一个明智的选择。一、安装 pip install flask-bcrypt二、使用from flask import Flaskfrom flask.ext.bcrypt import Bcryptapp = Flask(__name__)bcrypt = Bcrypt(app)# 在python2中,像...

2020-04-27 15:08:09 336

原创 Flask-WTF

官网研究地址一、功能简介集成 wtforms。带有 csrf 令牌的安全表单。全局的 csrf 保护。支持验证码(Recaptcha)。与 Flask-Uploads 一起支持文件上传。国际化集成。二、安装pip install Flask-WTF三、简单使用创建表单form.pyfrom flask_wtf import Formfrom wtforms impor...

2020-04-27 14:40:30 1184

原创 Flask-bootstrap

一、配置Flask配置大全这儿有一些Flask-Bootstrap使用的配置选项,这些是普通的Flask配置变量。二、基本用法导入加载扩展pip install flask-bootstrapfrom flask import Flaskfrom flask_bootstrap import Bootstrapdef create_app(): app = Flask(__n...

2020-04-27 10:08:20 316

原创 flask-mail——发送邮件

Flask-mail官网去瞅瞅Flask-Mail 扩展提供了一个简单的接口,可以在 Flask 应用中设置 SMTP 使得可以在视图以及脚本中发送邮件信息。一、安装:pip install Flask-Mail二、简单初始化:邮件是通过一个 Mail 实例进行管理:from flask import Flaskfrom flask_mail import Mailapp =...

2020-04-23 09:27:15 447

原创 Flask-Cache——缓存

一、安装:pip install Flask-Cache不会去官网学啊二、配置缓存:二、使用:from flask import Flaskfrom flask.ext.cache import Cacheapp = Flask(__name__)# Check Configuring Flask-Cache section for more detailscache ...

2020-04-23 08:44:18 1840 1

原创 Flask-Celery

一、基本使用Flask 与 Celery 整合是十分简单,不需要任何插件。一个 Flask 应用需要使用 Celery 的话只需要初始化 Celery 客户端像这样:from flask import Flaskfrom celery import Celeryapp = Flask(__name__)app.config['CELERY_BROKER_URL'] = 'redis:...

2020-04-23 08:06:41 295 1

原创 Flask_调试工具——flask-debugtoolbar

一、安装调试工具官网pip install flask-debugtoolbar二、配置三、用法from flask import Flaskfrom flask_debugtoolbar import DebugToolbarExtensionapp = Flask(__name__)# the toolbar is only enabled in debug mode:...

2020-04-22 11:07:09 919 1

原创 Flask-RESTful——SQLAlchemy

一、Flask-SQLAlchemyFlask-SQLAlchemy 使用起来非常有趣,对于基本应用十分容易使用,并且对于大型项目易于扩展。有关完整的指南,请参阅 SQLAlchemy 的 API 文档。1、创建一个最小的应用常见情况下对于只有一个 Flask 应用,所有您需要做的事情就是创建 Flask 应用,选择加载配置接着创建 SQLAlchemy 对象时候把 Flask 应用传递给它...

2020-04-22 09:40:10 1035 1

原创 Flask-RESTful——限流

一、Flask-RESTful如何限流?如果是普通的Flask项目,怎么使用节流,官方已经写的很详细了官网详解二、FBV——限流from flask import Flaskfrom flask_limiter import Limiterfrom flask_limiter.util import get_remote_addressapp = Flask(__name__)li...

2020-04-21 21:08:36 1520

原创 Flask-RESTful——扩展

一、扩展 Flask-RESTful1、内容协商:Flask-RESTful 仅配置为支持 JSON。要添加其它的 mediatypes 到你的 API 中,你需要在 Api 对象中声明你支持的表示。app = Flask(__name__)api = restful.Api(app)@api.representation('application/json')def output...

2020-04-21 20:46:24 235

原创 Flask-RESTful——格式化输出字段详解

一、flask-restful格式化输出字段Flask-RESTful 提供了一个简单的方式来控制在你的响应中实际呈现什么数据。使用 fields 模块,你可以使用在你的资源里的任意对象(ORM 模型、定制的类等等)并且 fields 让你格式化和过滤响应,因此您不必担心暴露内部数据结构。1、基本用法:装饰方法from flask.ext.restful import Resource,...

2020-04-21 20:25:30 2046 1

原创 Flask-RESTful——请求参数解析详解

一、Flask_RESTful——请求解析Flask-RESTful 的请求解析接口是模仿 argparse 接口。它设计成提供简单并且统一的访问 Flask 中 flask.request 对象里的任何变量的入口。from flask.ext.restful import reqparse# 创建参数解析对象,进行请求参数解析parser = reqparse.RequestPars...

2020-04-21 20:02:01 3511

原创 Flask_RESTful——简单api中包含的知识点

一、RESTful一个简单接口定义流程from flask import Flask, request, jsonify, send_filefrom flask_restful import Api, Resourceimport settingsapp = Flask(__name__)app.config.from.object(settings)# 步骤一:创建Api对象...

2020-04-21 18:39:58 460 1

原创 Flask——组件学习——后续补全

一、flask——hello world# 安装flaskpip install flaskpip 安装 flask 后的依赖包如下各个库说明如下:Flask:Flask库Jinja2:模板渲染库MarkupSafe:返回安全标签 只要Flask返回模板或者标签时都会依赖MarkupSafeWerkzeug:德文“工具” ,底层是WSGI,等价与uWSGI,Flask的启动都...

2020-04-21 16:02:38 109

原创 django——自定义模型管理器——后续完成细节

1问:模型类.objects.all() 中objects是一个什么呢!2答:objects是django帮我们自动生成的管理器对象,通过这个管理器实现对数据的查询。1问:如何自定义模型管理器?2答:1、定义一个类继承models.Manager类。2、具体定义模型类里定义一个自定义管理器类的对象。1问:自定义管理器类的应用场景?2答:1、改变查询的结果集2、添加额为的...

2020-04-17 10:15:32 126

原创 django——自定义上下文管理器

应用场景:模板继承可以减少页面内容的重复定义,实现页面内容的重用。个人博客右侧的导航栏都是继承base页面从而让代码得到最大程度的复用,但是当父模板中有动态数据的话,这些动态数据在子模板中是不会显示的。可以用自定义上下文处理器来解决。第一步:定义一个conntext_processors.py的上下文管理器文件第二步:文件中定义一个函数:# 必须传入request参数def...

2020-04-17 10:14:01 191

原创 setuptools——将项目打包

步骤一:安装setuptoolspip install setuptools步骤二:查看项目结构步骤三:在项目根目录下创建setup.py文件from setuptools import setup,find_packagessetup( name = '名称', version = '版本号', package = find_packages(),...

2020-04-17 10:12:39 188

原创 Linux——磁盘命令——深入

Linux磁盘管理常用到的有三个命令1、df:列出文件系统的整体磁盘使用量语法:df [-ahikHTm] [目录或文件名]选项参数:-a:列出所有的文件系统-k:以 KBytes 的容量显示各文件系统;-m:以MBytes的容量显示各文件系统-T:显示文件系统类型2、du:检查磁盘空间使用量du命令是对文件和目录磁盘使用的空间的查看...

2020-04-16 08:11:09 86

原创 Linux——精通AWK——未完成

1、AWK用法入门awk 'awk_program' a.txt# a.txt 是要读取的文件,可以指定多个文件# 单引号:在awk中经常使用$符号,而$符号在shell是变量符号,使用双引号会被解析为shell变量。# ‘{}’大括号表示代码块,代码块之间可以连用,代码块内部的多个语句使用分好';'分隔。awk '{print $0}' a.txt# 1、读取文件第一行# 2...

2020-04-15 08:40:18 94

原创 架构师之路——即使删了全库,保证半小时恢复

删除恢复方案一:全量备份+增量备份如果不小心误删了全库,可以这么恢复:(1)将最近一次全量备份的全库找到,拷贝回来(文件一般比较大),解压,应用(2)将最近一次全量备份后,每一天的增量binlog找到,拷贝回来(文件较多),依次重放(3)将最近一次增量备份后,到执行“删全库”之前的binlog找到,重放恢复完毕。为了保证方案的可靠性,建议定期进行恢复演练。方案二:【1小时延时从】...

2020-04-13 16:47:25 81

原创 架构师之路——数据库垂直拆分

需求背景:当数据库的数据量非常大时,水平切分和垂直拆分是两种常见的降低数据库大小,提升性能的方法。水平切分:将一个库(表)上的数据拆分到多个库(表)上,降低单库(表)大小。各库的特点:1、每个库(表)的结构都一样2、每个库(表)的数据都不一样,没有交集3、所有库(表)的并集是全量数据垂直拆分:将一个属性较多,一行数据较大的表,将不同的属性拆分到不同的表中,降低单库(表)大小。各...

2020-04-13 16:25:50 167

翻译 架构师之路——为表增加一列属性

给表增加一列方案一:版本号+通用列不足:(1)ext里的字段无法建立索引(2)ext里的key值有大量冗余,建议key短一些方案二:通过扩展行的方式来扩展属性不足:(1)key值有大量冗余,建议key短一些(2)本来一条记录很多属性,会变成多条记录,行数会增加很多方案三:提前预留一些reserved字段预留过多,会造成空间浪费,预留过少,不一定达得到扩展效果。方案四:通过...

2020-04-13 15:33:26 300

翻译 架构师之路——缓存与数据库

一、更新缓存VS淘汰缓存1、更新缓存:数据不但写入数据库,还会写入缓存。优点:缓存不会增加一次miss,命中率高。2、淘汰缓存:数据只会写入数据库,不会写入缓存,只会把数据淘汰掉。优点:简单。3、如何选择呢:更新的代价不是太大则更新缓存,否则淘汰缓存。二、先操作数据库Vs先操作缓存1、如何选择:如果出现不一致,谁先对业务的影响较小,就谁先执行。情况一:假设先写数据库,在淘汰...

2020-04-13 12:09:04 148

翻译 架构师之路——究竟啥是高并发

一、高并发常用的指标:1、响应时间:例如系统处理一个HTTP请求需要300ms,这个300ms就是系统的响应时间。2、吞吐量:例如在1秒内处理的请求数量3、QPS:每秒的响应请求数4、并发用户数:同时承载正常使用系统功能的用户数量二、如何提升系统的并发能力:1、垂直扩展a、增强单机硬件性能:增加CPU核数,更好的硬盘等等。b、提升单机架构性能:使用Cache来减少IO次...

2020-04-13 10:18:04 108

原创 负载均衡——架构师之路

简介将请求/数据【均匀】分摊到多个操作单元上执行负载均衡方案1、客户端——>反向代理层(的负载均衡)解决方案:是通过“DNS轮询”实现:DNS-server对于一个域名配置了多个解析ip,每次DNS解析请求来访问DNS-server,会轮询返回这些ip,保证每个ip的解析概率是相同的。这些ip就是nginx的外网ip,以做到每台nginx的请求分配也是均衡的。2、反向代理层—...

2020-04-12 20:40:20 117

原创 沈剑架构师之路——秒杀系统的优化思路

1、秒杀系统架构优化思路常见的架构:优化方向:1、将请求尽量拦截在系统上游:2、充分利用缓存:各层优化细节1、客户端怎么优化(浏览器层,App层)(a)、产品层面:用户点击后按钮置灰,禁止用户重复提交。(b)、js层面:限制用户在x秒内只能提交一次请求。2、站点层面请求的拦截(a)、在站点层面,对uid进行请求计数和去重(b)、利用缓存:同一个uid,限制访问频度,做...

2020-04-12 00:24:10 386

原创 Django——项目部署上线

1、前期准备工作:<1>、上线前的检查工作。python manage.py check --deploy<2>、将DEBUG设置为False并配置ALLOWED_HOSTS。DEBUG= FalseALLOWED_HOSTS = ['*']<3>、安全相关的配置# 保持https连接的时间SECURE_HSTS_SECONDS = 3600...

2020-04-11 11:14:20 340

原创 django-解决大并发量下mysql连接数的问题

1、场景描述并发量达到一定数量, 就会导致 数据库的连接数会被瞬时占满。2、解决方法<1>安装djorm-ext-poolpip install djorm-ext-pool<2>创建一个APP应用创建一个专门为djorm_pool的App,在init.py文件中添加下面代码# -*- coding: utf-8 -*-import loggingfr...

2020-04-02 20:42:00 1085

原创 Linux ——Shell编程---以后补全

简介:Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。1、查看Linux支持的shellvi /etc/shells/bin/sh/bin/bash/usr/bin/sh/usr/bin/bash/bin/tcsh/bin/csh2、第一个shell脚本# vi test.sh# 编写test.sh内容#!/bin/bashecho 'h...

2020-04-02 13:45:00 202

原创 python——os模块 学习

1、简介os模块提供使用操作系统相关功能的函数2、常用函数<1>目录os.getcwd() — 获取当前工作目录os.mkdir(path) — 创建目录os.makedirs(path) — 创建递归目录os.rmdir(path) — 删除指定目录os.removedirs(path) — 删除递归目录os.path.isdir(path) —判断对象是否...

2020-03-31 19:29:11 90

原创 supervisor——管理uwsgi进程

使用supervisor配置1、作用:让supervisor管理uwsgi,可以在uwsgi发生意外的情况下,会自动的重启。2、安装:pip install supervisor3、在项目根目录下创建一个文件叫’zlkt_supervisor.conf’# supervisor的程序名字,不一定与项目名一致[program:mysite]# supervisor执行的命令co...

2020-03-30 14:20:51 752

空空如也

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

TA关注的人

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