自定义博客皮肤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)
  • 收藏
  • 关注

原创 阿里云免费镜像仓库+金克斯+码云实现自动CI

除了要安装中文插件之外,还要安装一个脚本神器,它可以让你在金克斯上运行linux命令,从而完成我们的打包,推送镜像命令,甚至运行镜像都可以。新建一个任务,大部分和测试环境的配置一样,有些需要改一下。填写获取的WebHook 密码和URL,上图有。

2023-09-08 14:44:58 288

原创 MySQL性能优化

一、字段类型选取:一般原则是保小不保大,能占用字节少的字段就不用大字段。比如主键强烈建议用int不要用uuid或guid,除了占用磁盘少,还会占用更少带宽。1、手机号用什么类型?相信很多公司会用varchar(11),其实从性能上考虑,应该设置为bigint,因为utf8占3个字节,那么11乘3就是33个字节,像bigint(20)的宽度为20,只占用8个字节。2、IP地址用什么类型?其实IP最好也用int整形,MySQL提供了一个很好用的函数:INET_ATON和INET_NTON它们负责把IP转

2021-08-16 13:18:31 189

原创 用虚拟机搭建Kubernetes集群

有状态服务:它们都需要实时地进行数据的更新以及存储,把它们摘出集群之后再放回来,就没办法继续工作了,典型:mysql,mongo。无状态服务:即没有对应的存储需要实时地保留,或者说是把它摘出来以后,经过一段时间之后再次运行会正常为我们提供服务。典型:docker高可用集群副本最好是 >= 3 的奇数个APISERVER:所有服务访问统一入口。ControllerManager:维持副本期望数目。(少则建多则抹)Scheduler:负责介绍任务,选择合适的节点进行分配任务。Etcd:键值对

2020-09-28 22:56:18 3659 5

原创 python操作excel报表

一、说一下pip报错:1、修改pip镜像源临时使用国内清华pip镜像pip install xxx -i https://pypi.tuna.tsinghua.edu.cn/simple或永久改为pip镜像(需要把pip升级到10.0.0以上):建议永久改镜像。pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple2、终极办法进这个网站https://www.lfd.uci.edu/~gohlke/py

2020-05-30 00:43:30 359

原创 使用django rest framework开发api

对于学python的人来说,肯定会接触到一个python的开源web框架——django。django里面的视图函数就是一个个web接口。先看看不用djano rest framework时,api该怎样开发。class RoleView(View): def get(self, request, *args, **kwargs): # values和values_list都是返回queryset对象 roles = Role.objects.all().valu

2020-05-28 01:14:10 854

原创 Scrapy框架以及scrapy-redis实现分布式爬虫

Scrapy异步爬虫框架:一、Scrapy介绍Scrapy是一个为了爬取网站数据,提取结构性数据而编写的异步应用框架,非常出名,非常强悍。所谓框架就是一个集成了各种功能(高性能异步下载,队列,分布式,解析,持久化等)的具有很强通用性的项目模板,对于框架的学习,重点是要学习框架的特性、各个功能的用法即可。二、安装:# 在终端中输入scrapy,检测是否成功安装scrapypip insta...

2020-05-14 20:48:39 1159 1

原创 django中使用RabbitMQ

在MQ之前,我一直使用的redis作为中间人broker然后用celery执行耗时任务。从未在python项目中使用过MQ。所以今天就在django中用RabbitMQ取代redis+celery。django中使用RabbitMQ:本次使用RabbitMQ完成点击注册后给用户发送激活邮件的场景,如果不使用MQ,或者不使用异步的方式,后端就会一直等待smtp服务器把邮件发到用户邮箱后才往下走(...

2020-04-28 23:33:19 7215 8

原创 python实现RabbitMQ六种模式

各类MQ的作用:1、异步。请求过来,耗时操作(激活邮件发送)直接塞进MQ,系统继续进行下一步操作(不会在页面一直等待)。2、解耦。原来订单创建系统是调库存接口,现在是把减库存操作放进MQ,库存系统挂了,订单照样创建。3、削峰限流。用在秒杀和抢购,让消息队列只允许塞100个消息。第101个请求直接回给用户抢购结束。JMS消息模型:1、点对点模式。每个消息只有一个消费者,一旦被取走,该消息就...

2020-04-28 23:33:03 2796 2

原创 使用redis连接池操作数据库

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2020-04-25 20:19:03 370

原创 python爬虫三(bs4,xpath解析)

数据解析器:我们前面都是爬的整个页面。对返回json串的地址我们可以直接json()拿:# 通过json()requetss.get('https://www.sogou.com/websearch/api/getcity').json()但是如果是返回的是页面不是json数据,就用content.decode(),目前我们只能通过正则来拿取页面中想要的元素值,比如前面拿src2(很多图...

2020-04-14 22:04:06 1217 1

原创 python爬虫四(cookie,代理池,模拟登录(打码))

requests高级操作:cookie处理,代理操作,验证码识别,模拟登录cookie:cookie是存储在客户端的一组键值对cookie是由服务器端创建cookie应用:免密登录(服务器端将用户id和密码存在cookie中)案例爬取该网站中的新闻资讯https://xueqiu.com/分析:首页第一屏的数据不是动态加载,直接爬到就拿到实实在在的数据,但是滚轮往下划,会发起一...

2020-04-14 22:03:59 1547

原创 python爬虫五(多线程,异步协程)

异步爬虫是爬虫中的最重要的环节:一是多线程,二是协程。一、基于线程池的异步爬虫:准备工作:为了营造更好的实验效果需要自己搭建一个服务器,django搭可以,flask也要的,按理用flask好一点,几行代码就能跑个服务器,但我django有现成的项目,搭服务器的目的就是排除外界因素,因为爬公网上的网站可能受外界因素以及反爬策略的影响,因为为了达到异步效果,我们要发大量的请求。先使用同步爬虫,...

2020-04-14 22:03:51 1495 4

原创 python爬虫六(selenium使用,js加密(混淆))

selenium和爬虫之间的关联?1、非常便捷的捕获到任意形式动态加载出来的数据。真正实现了可见即可大,但是爬取数据效率低。2、帮我们实现模拟登录,有些大型的网站确实不好模拟。就可以用selenium。selenium捕获动态加载数据:selenium在python中的使用方法:1、下载chromedriver,是基于浏览器的selenium驱动程序,作用是让selenium能启动谷歌浏...

2020-04-14 22:03:39 2659 9

原创 python爬虫二(懒加载,正则解析)

站长素材图片数据的爬取:老规矩:先判断页面数据是否是ajax生成,在局部搜索发现不是动态加载的数据。除了可以在response选项卡中进行局部搜索外,我们还可以去preview可视化中,发现preview中只显示了图片名称没有显示图片内容。接着看发现,站长素材就是用的图片懒加载:图片懒加载是什么意思呢,就是不在用户可视化范围内的图片前端src标签统统是src2,当然这个可以不是src...

2020-04-14 22:02:49 587

原创 python爬虫一(jupyter使用,ajax动态加载)

开发环境介绍-----anaconda:基于 数据分析和机器学习的集成环境-----jupyter:anaconda提供的一个基于浏览器的可视化开发工具jupyter的基本使用— cd到工作目录,输入jupyter notebook指令即可启动jupyter可视化的开发工具。爬虫的三种分类:京东的robor协议,要是按照这个,啥也爬不了。写爬虫,不要定死请求参数,尽量把参数...

2020-04-14 22:02:03 1041

原创 深度系统deepin

介绍一款ubuntu改良版系统:说到linux系统,比较流行的就是这些Centos,Ubuntu,redhat,Suse,包括大家爱用的ios苹果系统,大同小异,不过ios是unix内核。我们常用的形式是,要有图形化界面的话就用ubuntu,ios,要做服务器基本用centos这种不带图形化界面的。之前我一直用xshell连服务器,虚拟机装Ubuntu,但是我最近接触了deepin操作系统,发...

2020-03-26 23:13:48 820

原创 mysql高级(视图事务索引搭建主从架构)

mysql客户端命令行清屏:ctrl Lmysql的curd,代码连接mysql操作数据是最常用的,但有些特殊的业务场景应该搞点mysql高级。我用docker跑的mysql,你要是用docker跑,不要跑最新版,最新版问题很多,跑这个版本,跑的时候用id跑docker run -id --name mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=你的密码...

2020-03-23 13:49:57 174

原创 (四)redis主从搭建及哨兵

docker跑这3台redis容器出来:服务器端口8001------->6379服务器端口8002------->6379服务器端口8003------->6379本例以8001端口映射出的redis服务作主,其余俩为从。由于主从太简单了,就不截图了,直接说:1、首先随便进一个容器,用一下里面的客户端,或者你自己找一个redis客户端也行,甚至拿python程序的Re...

2020-03-23 13:41:24 122

原创 (三)redis的数据持久化

内存型数据是断电后丢失,重启机子后丢失,重启r服务后丢失mysql是关系型数据库,他是实实在在的存在磁盘的数据,而redis是内存型数据库,他的数据就不是存在硬盘了,是在内存,存在内存,你用着看着挺好,一旦你重启之后再进来keys*,啥也没有了。做个小实验:所以,redis就引出了两种数据持久化的配置:一种是rdb 配置 项dbfilename dump.rbd(需要通过save手动触发...

2020-03-23 13:39:35 71

原创 (二)redis的发布订阅

redis不仅是缓存数据库的佼佼者,还能作分布式消息中间件。rabbitmq能做redis也能做,这篇就记一下redis作消息中间件时的发布订阅模式:就使用三个关键字就能完成:publish(发广播),subscribe(订阅),就记这前两个就行了,敲出来会给你提示channel(电台名), message(消息)记住,既然是发布订阅,那你肯定是必须所有的redis客户端都要连接同一个r...

2020-03-23 13:39:19 150

原创 (一)docker跑redis

1、简单方式:docker run -id -p 6379:6379 redis --requirepass 123456-p指定端口,服务器或虚拟机的6379映射到redis容器的6379。最好还是设置个密码。直接进容器redis-cli测试连接就好了,直接连接时后面加上 -a 123456就不用auth认证了。这样运行有个很大的弊端:1、你跑的redis在它容器中的端口必须是redi...

2020-03-23 13:38:48 701

原创 fastdfs + nginx实现对项目图片文件的存储

@[TOC]python内置函数你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写...

2020-03-23 13:36:16 377

原创 发布python web项目

发布一个python项目如果你想要发布项目在公网上,首先你要有一台能在公网上访问的服务器,我推荐阿里。1、最简单的方式:直接使用runserver服务器,把代码发到服务器上,或者推到github上,再在服务器上clone下来,然后创建一个虚拟环境安装依赖包,直接python manage.py runserver 0.0.0.0:8000,但是一定要记得让debug=True,这个选项你改为...

2020-03-19 10:47:47 1102

原创 docker中使用nginx

web框架说服务器,肯定离不开网站,先说一下python中常用来做web的框架。django:大而全,我常用的flask:轻量,什么功能都没有全靠插件tornado:异步非阻塞 吞吐率1200/s一说到吞吐或性能,就得说一下go语言,高并发的语言,它内置了goroutine(轻量级的协程) 不跟你搞什么进程线程。要搞就搞最轻量最快的并发。nginxcurl -I www.jd.c...

2020-03-19 10:47:13 468

原创 天天生鲜项目总结

1、生鲜类产品 B2C PC端网站2、功能模块:用户模块,商品模块,购物车模块,订单模块3、用户模块:注册,激活,登录,退出,个人中心,地址4、商品模块:首页,详情页面,列表页面,搜索(hasystack+whoosh)5、购物车模块:增加,修改,删除,查询6、订单模块:确认订单页,订单创建(下单),请求支付,查询支付结果,评论7、django默认的用户认证模型类AbstractUse...

2019-10-22 14:12:38 4484

电商web项目中页面静态化

1、问题的引入:任何一个电商web项目,当用户通过浏览器或者说是客户端输入对应IP访问这个网站时,后端必定会返回给用户该网站的主页,就这个主页而言,用户没有登陆的情况下,每个用户看到的主页都是一模一样的。像这种高并发的访问一个完全一样的页面,我们可以把它静态化,取代了web框架或者web模块做出处理的过程,提高了页面返回的效率。2、何为页面静态化?即这个静态页面不需要web框架或者模块去找到...

2019-10-09 14:04:19 935

空空如也

空空如也

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

TA关注的人

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