自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 机器学习

机器学习基本概念什么是机器学习和深度学习名词解释样本集:一般就是一个表格数据 ,我们研究数据的集合,每一列就是样本的一条属性,每一行就是一个数据样本样本标签:我们要研究的数据指标, 可能是数据的一条属性训练集:从样本集中,拆分出来的一部分样本,样本个数多 8:2 9:1 7:3,用来训练算法模型的数据集合测试集:从样本集中,拆分出来的一部分样本,样本个数少 8:...

2019-08-29 10:59:06 1747

原创 负载均衡与服务器架构

2.5 WebServer、负载均衡、服务器架构Nginx 与负载均衡反向代理将用户请求转发给内部服务器,保护内网拓扑结构 / static file /cache hit─>Redis/NoSQL / / / ...

2019-08-28 21:04:04 320

原创 分布式部署2

2.4 SSH、部署、脚本服务器环境部署Step-1: 创建登录密钥$ ssh-keygen -t rsa # 执行此命令# 程序输出Generating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa): # 确认密钥文件位置 (敲回车)Enter passp...

2019-08-28 21:02:48 383

原创 项目部署

2.3 分布式存储及 Web 服务器性能后端知识体系语言:语法 20%语言生态:库、框架 20%服务器:Linux 15%网络:15%存储:File 10%SQL 20%高可用与负载均衡单点故障:一个服务只有一个可工作的节点,一旦发生问题,就完全无法提供服务,这样的故障称为单点故障冗余:多余的,一大好处是,有问题的时候,有一个备用的,缺点是成本双倍。...

2019-08-28 21:02:06 260

原创 Social模块开发(3)

2.2 缓存、排行榜、积分接口开发任务为获取个人资料接口添加缓存处理统一为所有数据模型增加缓存处理任何 model 对象创建时,自动为该对象添加缓存任何 model 对象创建时,自动更新缓存数据开发全服人气排行功能被左滑 -5 分被右滑 +5 分被上滑 +7 分统计全服人气最高的 10 位用户缓存处理缓存一般处理流程data = get_fr...

2019-08-28 21:00:30 143

原创 Social模块开发(下)

2.1 会员、权限、日志VIP、权限模块功能VIP 分类非会员一级会员二级会员三级会员权限分类超级喜欢每日反悔 3 次查看喜欢过我的人权限分配非会员: 无任何权限一级会员: 超级喜欢二级会员: 超级喜欢 + 反悔3次三级会员: 超级喜欢 + 反悔3次 + 查看喜欢过我的人开发难点User 与 VIP 的关系一种 VIP 对应多个...

2019-08-28 20:59:06 161

原创 social模块开发

1.5 Social 模块开发Social 功能概述交友模块获取推荐列表喜欢 / 超级喜欢 / 不喜欢反悔 (每天允许返回 3 次)查看喜欢过我的人好友模块查看好友列表查看好友信息开发中的难点滑动需有大量用户,如何初始化大量用户以供测试?推荐算法如何从推荐列表中去除已经滑过的用户滑动操作,如何避免重复滑动同一人如果双方互相喜欢,需如何处理好友关系如...

2019-08-28 20:57:57 164

原创 Django配置

1.4 上传文件、异步、初始化脚本项目中的静态文件处理NginxNginx 处理静态资源速度非常快, 并且自身还带有缓存.但需要注意, 分布式部署的多台 Nginx 服务器上, 静态资源需要互相同步80: Nginx -> {server config} -> django:8080​ ...

2019-08-28 20:56:38 191

原创 Django缓存、验证码、登录、表单验证

1.3 缓存、验证码、登录、表单验证Django 中的缓存接口及用法from django.core.cache import cache# 在缓存中设置 age = 123, 10秒过期cache.set('age', 123, 10)# 获取 agea = cache.get('age')print(a)# 自增x = cache.incr('age')prin...

2019-08-28 20:55:55 503

原创 机器学习

机器学习基本概念名词解释样本集:一般就是一个表格数据 ,我们研究数据的集合,每一列就是样本的一条属性,每一行就是一个数据样本样本标签:我们要研究的数据指标, 可能是数据的一条属性训练集:从样本集中,拆分出来的一部分样本,样本个数多 8:2 9:1 7:3,用来训练算法模型的数据集合测试集:从样本集中,拆分出来的一部分样本,样本个数少 8:2 9:1 7:3,用...

2019-08-28 20:42:17 2064

原创 scikit-learn 估计器的选择

基估计器的选择

2019-08-28 20:39:00 155

原创 文件的读写操作和遍历目录

读文件过程:找到文件打开文件读取文件内容关闭文件打开文件原型:def open(file, mode=‘r’, buffering=None, encoding=None, errors=None, newline=None, closefd=True)参数:file:要打开文件的路径mode:打开方式encoding:编码格式errors:错误处理返回值:文...

2019-08-23 22:36:41 228

原创 银行系统(python基础实现)

银行提款机系统首先应该明确有哪些类和哪些属性,方法用户身份证类class IdCard(object): def __init__(self, name, cardId): self.__name = name self.__cardId = cardId @property def name(self): retur...

2019-08-23 21:36:28 2314

原创 python的异常处理和调试

异常处理概述:在程序运行过程中,总会遇到到各种各样的错误,有的错误是编程代码有问题造成的,这种错误通常称为BUG,BUG是必须修复的。有的错误时用户输入造成的,这种错误可以通过检查用户的输入来做响应处理。还有一种错误是完全无法再程序运行过中预测的,比如写文件的时候,磁盘满了,写不进去了。在比如从网络中抓取数据,突然断网了,通常这种情况称为异常,在程序中必须要处理的,否则程序会应为各种问题而结...

2019-08-23 21:23:17 285 1

原创 python实现各种常见的算法

单链表单链表和数组的比较数组静态分配内存,链表动态分配内存;数组在内存中连续,链表不连续;数组利用下标定位,时间复杂度为O(1),链表定位元素时间复杂度O(n);数组插入或删除元素的时间复杂度O(n),链表的时间复杂度O(1)。根据以上分析可得出数组和链表的优缺点如下:数组的优点随机访问性强(通过下标进行快速定位)查找速度快数组的缺点插入和删除效率低(插入和删除需要移...

2019-08-21 22:22:11 1039

原创 Tensorflow的基本使用

基本使用安装:要仅为CPU安装当前版本:$ pip install tensorflow将GPU包用于 支持CUDA的GPU卡:$ pip install tensorflow-gpu使用 TensorFlow, 你必须明白 TensorFlow:使用图 (graph) 来表示计算任务.在被称之为 会话 (Session) 的上下文 (context) 中执行图.使用 t...

2019-08-15 22:05:37 236

原创 机器学习

机器学习基本概念名词解释样本集:一般就是一个表格数据 ,我们研究数据的集合,每一列就是样本的一条属性,每一行就是一个数据样本样本标签:我们要研究的数据指标, 可能是数据的一条属性训练集:从样本集中,拆分出来的一部分样本,样本个数多 8:2 9:1 7:3,用来训练算法模型的数据集合测试集:从样本集中,拆分出来的一部分样本,样本个数少 8:2 9:1 7:3,用...

2019-08-08 00:55:31 1385

原创 matplotlib基础

matplotlib基本用法一、Matplotlib基础知识1.绘制一条曲线图import matplotlib.pyplot as plt%matplotlib inlineimport numpy as npimport pandas as pdfrom pandas import Series,DataFrame# 1、可以使用多个plot函数(推荐),在一个图中绘制多个曲线...

2019-08-06 21:36:10 510

原创 Scipy简介

Scipy简介Scipy依赖于NumpyScipy包含的功能:最优化、线性代数、积分、插值、拟合、特殊函数、快速傅里叶变换、信号处理、图像处理、常微分方程求解器等应用场景:Scipy是高端科学计算工具包,用于数学、科学、工程学等领域Scipy由一些特定功能的子模块组成:图片消噪处理scipy.fftpack模块用来计算快速傅里叶变换速度比传统傅里叶变换更快,是对之前算法的改进...

2019-08-04 00:37:01 39848

原创 交叉表和透视表

利用Python实现数据透视表和交叉表1、透视表 pivot table透视表(pivot table)是常见的数据汇总工具,它根据一个或多个键对数据进行聚合,根据行和列上的分组键将数据分配到矩形区域中。pandas中使用pivot_table方法创建透视表,pd.pivot_table(data,values=None,index=None,columns=None,aggfunc='me...

2019-08-02 21:11:00 697

原创 pandas的高级使用

pandas层次化索引导入三剑客包import numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom pandas import Series,DataFrame读取外部excel文件# header 设置为列表,表示第0、1两行同时作为多层级索引读取pd.read_excel('datas.x...

2019-08-01 22:40:34 998

原创 pandas的基本使用

pandas的基本使用pandas三剑客# 财务部门import numpy as np# 业务部门import pandas as pd# UI部门import matplotlib.pyplot as plt# 导入两种数据类型from pandas import Series, DataFrameSeries数组一维数组:一组【有序的】,【数据类型相同】的集合...

2019-07-31 13:44:59 270

原创 numpy简单使用

ndarray、array、list的区别1.python中的数组用list和tuple等数据结构表示数组一维数组 List1 = [1, 2, 3]二维数组 Tuple1 = ([1, 2, 3], [4, 5, 6], [7, 8, 9])但是:列表是【动态指针数组】,它保存的是对象的指针,其元素可以是任意类型的对象。比如要保存上述的List1,需要3个指针和3个整数对象,浪...

2019-07-30 21:58:15 541

转载 jupyter notebooke 基本操作

jupyter notebooke 基本操作cell单元格的状态编辑状态 鼠标点击cell内部,就转换成可编辑状态选中状态下 按下Enter, 也可以切换到编辑状态选中状态 鼠标点击cell左侧,边框颜色变成蓝色,此时为选中状态编辑状态下 按下 ESC, 也可以切换到选中状态新增单元格选中状态下:b 在选中单元格的正下方,新增一个单元格cella 在选中单元格...

2019-07-30 13:38:59 2596

原创 python中类的演变

python类的发展史经典类(python2.2以前):是一种没有继承的类,对象类型都是type类型,如果经典类被作为父类,子类调用父类的构造函数时会出错# 1import inspectclass D: passclass E: passclass B(D): passclass C(E): passclass A(B, C): pas...

2019-07-27 00:42:11 161

转载 scrapy框架的实现(重写)

import requestsfrom lxml import etreeimport threadingfrom time import sleepfrom urllib.parse import urlparsefrom queue import Queueimport redis# 建立一个redis链接rds = redis.StrictRedis(host="www.f...

2019-07-26 21:22:40 673

转载 分布式爬虫的部署(scrapy_redis)

理论基础:分布式爬虫的原理分布式数据库中有4个key:xxx:start_urls : 起始url列表,用于存放我们通过服务器脚本加入的起始urlxxx:requests : 用于存储爬虫过程中新产生的那些url对应的请求对象xxx:items : 用于存储抓到的数据xxx:dupefilter: 用于去重实际操作系统要求:一台性能较好Linux的主机,和...

2019-07-25 20:39:48 335

转载 scrapy的增量爬虫(未完待续。。。)

增量爬虫1、增量爬虫(crawlspider)1)创建增量式爬虫:scrapy genspider -t crawl xxx xxx.xx2)增量式爬虫介绍:在scrapy中有许多的爬虫模板(例如:crawl,Feed等模板),这些模板可以对basic爬虫进行功能的扩充),这些模板经过扩充以后可以更好的实现一些复杂功能,crawlspider是最常用的一种爬虫模板3)增量式爬虫...

2019-07-24 22:28:02 422

转载 scrapy如何GET和POST请求

post请求class FanyiSpider(scrapy.Spider): name = 'fanyi' allowed_domains = ['baidu.com'] # start_urls = ['https://fanyi.baidu.com/sug'] # 引擎调度起来以后首先会从start_urls中提取起始url然后发起get请求,现在把这个属性...

2019-07-23 22:05:06 2215

转载 greenlet实现协程

greenlet实现协程greenlet+switch机制来实现协程greenlet用于创建协程,switch用于进行协程之间的切换某个协程在执行的过程中可以随时的被其他协程通过switch函数来打断,转而去执行其他协程,当前协程的中断现场会被保留,一旦中断的协程再次获得cpu的执行权首先会恢复现场然后从中断处继续执行这种机制下的协程是同步,不能并发from greenlet import...

2019-07-22 22:11:03 211

转载 利用协程爬取某网站

爬取详情页import geventfrom gevent import monkeymonkey.patch_all()import requestsimport redisfrom queue import Queueimport json# 定义一个函数用于请求每一个id对应的详情页def request_detail(poiId_queue,comment_queue)...

2019-07-22 22:02:23 501

转载 Scrapy框架基础

Scrapy概念:是一个爬虫框架,提取结构性的数据。其可以应用在数据挖掘,信息处理等方面。提供了许多的爬虫的基类,帮我们更简便使用爬虫。基于Twisted安装首先安装依赖库Twistedpip install (依赖库的路径)依赖库:lxml,twistedpip install lxml在线安装twisted:pip install twistedpip install...

2019-07-22 21:57:06 246

原创 面向对象

面向对象基本概念软件编程的实质软件编程就是将我们的思维转变成计算机能够识别语言的一个过程面向过程自上而下顺序执行,逐步求精;其程序结构是按功能划分为若干个基本模块,这些模块形成一个树状结构;每一模块内部均是由顺序、选择和循环三种基本结构组成;其模块化实现的具体方法是使用子程序。程序流程在写程序时就已决定。面向对象把数据及对数据的操作方法放在一起,作为一个相互依存的整...

2019-07-22 01:03:15 432

原创 python常用模块

模块概念概念:1、在计算机程序开发过程中,随着代码越写越多,在一个文件中会越来越长,越来越难以维护2、为了编写可维护性的代码,我们会把很多函数进行分组,分别放到不同的文件里。这样,每个文件包含的代码就相对较少,大多数编程语言都是采用这种组织代码的方式3、python中一个.py文件就称为一个模块(module)优点1、提高了代码的可维护性2、提高了代码的复用度,编写代码可以不必从...

2019-07-20 17:30:00 749

转载 进程、线程、协程、同步与异步

单核CPU实现多任务原理多任务:多个任务在同一个操作系统上同时运行,这种机制就是多任务。原理:多核CPU实现多任务原理实现多任务的机制串行:多个任务依次执行,前面的任务不完成后面的任务不能开启。并行:多个任务同时执行,他们之间的执行互不影响。并行系统需要有多机支持,多个CPU或者内核或者一个服务器集群。一旦有新的任务产生,这个任务会被分配到一个空闲的处理机上执行。并发:多个任...

2019-07-18 22:43:15 601

转载 爬虫之滑动验证破解

滑动验证码编程思路封装一个函数进行登录创建一个driver对象找到输入框和密码框,将用户名和密码输入找到登录按钮破解滑动验证码(封装函数)关闭浏览器对象封装一个函数,用于破解滑动验证码计算滑动距离截取带缺口的图(封装函数)用js语句去掉缺口截取不带缺口的图把去掉的缺口补回来根据两张图片的缺口处的像素差异,来求出存在差异的第一个像素的x轴坐标,即为滑动距离(封...

2019-07-18 21:13:52 1720 1

转载 爬虫基础

验证码识别使用pytesseract工具验证码识别工具安装pip install pytesseractpip install pillowimport pytesseractfrom PIL import Image# 读取图片img = Image.open("./code/mbb5.png")# 将图片转成灰度图片img = img.convert("L")# im...

2019-07-17 22:15:25 577

转载 Python操作MongoDB

Python操作MongoDB一 安装 pymongopip install pymongo==3.4导入 MongoClientfrom pymongo import MongoClient二 连接MongoDB数据库MongoDB端口号:27017连接MongoDB我们需要使用PyMongo库里面的MongoClient,一般来说传入MongoDB的IP及端口即可,第一...

2019-07-16 21:57:08 155

转载 python操作Redis

Python操作Redis连接 Redis**import **redisr = redis.StrictRedis(“localhost”,6379,password=‘123456’)一 STRING 字符串的操作1. r.set h设置值#在Redis中设置值,默认不存在则创建,存在则修改r.set('name', 'zhangsan')'''参数: set(nam...

2019-07-16 21:52:46 186

转载 爬虫案例(xpath)

爬虫案例(某某二手房)步骤请求模块# 封装一个函数,用于将url处理成请求对象def request_by(url,city,page): page_url = url%(city,page) # 请求头 headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit...

2019-07-16 21:27:00 975

空空如也

空空如也

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

TA关注的人

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