自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 scrapy-redis

1. 简介scrapy流程scrapy-redisscrapy是一个基于redis的scrapy组件,用于快速实现scrapy项目的分布式部署和数据爬取。组件Scrapy Engine(引擎):负责Spider、ItemPipeline、Downloader、Scheduler中间的通讯,信号、数据传递等。Scheduler(调度器):它负责接受引擎发送过来的Request请求,并按照一定的方式进行整理排列,入队,当引擎需要时,交还给引擎。Downloader(下载器):负责下载Scra

2022-05-24 14:17:14 3069 2

原创 序列化、反序列化

1.简介名称方法功能序列化dump(返回dict)dumps(返回json)obj–>python或json将数据对象转化为可存储或可传输的数据类型反序列化load;loadspython或json–>obj将可存储可传输的的数据类型转化为数据对象2.案例# classimport datetime as dtclass User: def __init__(self, name, email): self.name

2022-05-24 14:16:30 183

原创 端口、防火墙、定时

端口# 查看端口占用情况$ netstat -ntulp | grep 80# 查看已经开放的端口$ firewall-cmd --list-ports# 开启端口$ firewall-cmd --zone=public --add-port=80/tcp --permanent–zone #作用域–add-port=80/tcp #添加端口,格式为:端口/通讯协议–permanent #永久生效,没有此参数重启后失效防火墙# 重启防火墙firewall-cmd --reloa

2022-05-24 14:15:45 195

原创 Redis 主从、Sentinel、Cluster

主从模式主从模式数据库分为两类:主数据库(master)、从数据库(slave)* 主数据库可以进行读写操作,当读写操作导致数据变化时会自动将数据同步给从数据库* 从数据库一般都是只读的,并且接收主数据库同步过来的数据* 一个master可以拥有多个slave,但是一个slave只能对应一个master* slave挂了不影响其他slave的读和master的读和写,重新启动后会将数据从master同步过来* master挂了以后,不影响slave的读,但redis不再提供写服务,m

2022-05-24 14:15:13 311

原创 MongoDB

1. 基本概念SQL术语/概念MongoDB术语/概念解释/说明databasedatabase数据库tablecollection数据库表/集合rowdocument数据记录行/文档columnfield数据字段/域indexindex索引table joins表连接,MongoDB不支持primary keyprimary key主键,MongoDB自动将_id字段设置为主键2. RDBMS与MongoDB对应

2022-05-24 14:14:49 348

原创 kafka

1. 安装docker-compose.ymlversion: '3.7'services: zookeeper: image: bitnami/zookeeper:latest ## 镜像 container_name: zookeeper ## 容器名称 restart: always ## 重启策略 ports: - "2181:2181" ## 对外暴露的端口号 network_mode: 'host' ## 网络模式

2022-05-24 14:13:55 155

原创 Docker学习总结

1.Docker# 查看全部镜像$ docker images# 网络上搜索镜像$ docker search 镜像名称# 拉取镜像$ docker pull 镜像名称# 删除所有镜像$ docker rmi 'docker images -q'# 查看镜像体积(镜像、容器、数据卷所占用的空间)$ docker system df# 查看正在运行的容器$ docker ps# 查看停止的镜像$ docker ps -f status=exited# 创建容器

2022-05-24 14:13:18 78

原创 Nginx

NginxNginx配置# 进入nginx安装目录$ cd /usr/local/nginx# 配置nginx.conf server { listen 8000; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { include uws

2022-05-10 09:30:01 133

原创 Docker学习总结

1.Docker# 查看全部镜像$ docker images# 网络上搜索镜像$ docker search 镜像名称# 拉取镜像$ docker pull 镜像名称# 删除所有镜像$ docker rmi 'docker images -q'# 查看镜像体积(镜像、容器、数据卷所占用的空间)$ docker system df# 查看正在运行的容器$ docker ps# 查看停止的镜像$ docker ps -f status=exited# 创建容器

2022-05-10 09:29:26 90

原创 shell

1.变量1.变量类型运行shell时,会同时存在3种变量:1) 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。2) 环境变量 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。3) shell变量 shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行# !/

2022-05-10 09:28:24 218

原创 Go redis操作

1. Redis1.Redis key命令del key 删除key。dump key 序列化给定key,返回序列化后的值。exixts key 检查key是否存在。expire key 10 设置过期时间。keys pattern 查找符合给定模式的key。move key db 移动key到给定db。persist key 删除key过期时间pttl key 返回key过期时间(ms)rename

2022-01-11 18:02:23 434

原创 Go mysql操作

Go mysql 增、删、改、查及事务性package mainimport ( "fmt" _ "github.com/go-sql-driver/mysql" "github.com/jmoiron/sqlx")type Person struct { Id int `db:"id"` Username string `db:"username"` Sex string `db:"sex"` Email string `db:"email"`}

2022-01-11 10:56:08 231

原创 GoLang并发编程

1. 并发进程、线程进程是拥有资源和独立运行的最小单位,也是操作系统分配资源的最小单位。线程是程序执行的最小单位。并发、并行并发是指两个或多个事件在同一时间间隔发生,分时执行。并行是指两个或者多个事件在同一时刻发生,同时执行。协程、线程协程:独立的栈空间,共享堆空间,调度由用户自己控制,本质上有点类似于用户级线程,这些用户级线程的调度也是自己实现的。线程:一个线程上可以跑多个协程,协程是轻量级的线程。2. Goroutine​ goroutine是go官方实现的超级“线程池”。

2021-12-30 18:37:37 770

原创 Go网络编程

1. Socket编程​ socket:安全套接字协议。应用层与Tcp/IP协议族通信的中间软件抽象层(可以理解为TCP/IP的API),它把复杂的TCP/IP协议隐藏在socket后面。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x5s0yjF8-1640576822711)(C:\Users\EDZ\AppData\Roaming\Typora\typora-user-images\image-20211227105251843.png)]2. TCP编程​

2021-12-27 11:47:24 140

原创 SQL优化

1.为什么要对sql进行优化项目初期业务数据量较少,一些sql的执行效率对程序运行效率影响不太明显,开发和运维人员也无法判断sql对程序的运行效率有多大,故而很少针对sql进行专门的优化。随着时间的积累,业务数据量的增多,sql的执行效率对程序的影响逐渐增大,此时sql优化很有必要(前期数据量较少,sql查询对效率的影响不大,后期随着数据增多地程序运行效率影响逐渐增大,所以要采取sql优化)2.sql优化的26种方法1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order b

2021-12-21 10:02:54 45

原创 SQL命令

第一步、下载Mysql安装包wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm安装mysql源:yum -y localinstall mysql57-community-release-el7-11.noarch.rpm 第二步、在线安装mysqlyum -y install mysql-community-server第三步、启动mysql服务systemctl start mysql

2021-12-20 13:07:28 401

原创 selenium验证码登录

初始化seleniumimport timeimport ddddocrfrom selenium import webdriverfrom PIL import ImageHost = "https://www.jxjypt.cn"browser = webdriver.Chrome('./utils/chromedriver.exe')browser.get(Host + '/hnlgdx')查找登录按钮login_btn = browser.find_element_by_xp

2021-12-20 13:06:30 990

原创 Python依赖包安装

打包当前依赖环境到requirements.txtpip freeze > requirements.txt安装依赖包pip install -r requirements.txt制定源 命令 -i阿里云 http://mirrors.aliyun.com/pypi/simple/中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/豆瓣 (douban) http://pypi.douban.com/simple/清华大学 https://

2021-12-20 13:05:07 325

原创 Python面试

Python语言特性1.可变、不可变类型在python中String,tuples和numbers是不可变参数,list、dict、set等是可变参数。2.python有3种方法,既静态方法,类方法,实例方法def foo(x): print "executing foo(%s)"%(x)class A(object): def foo(self,x): print "executing foo(%s,%s)"%(self,x) @classmethod

2021-12-20 13:04:34 535

原创 Numpy Pandas

Numpy​ Numpy的主要对象是同质的多维数组。其中的元素通常都是数字,并且是同样的类型,由一个正整数元组进行索引。每个元素在内存中占有同样大小的空间。在Numpy中,维度被称为‘轴’。np.array的代码定义如下numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)各参数的含义:object:用于生成数组的数据对象dtype:指定类型,可选。copy:可选,默认为T

2021-12-20 12:00:32 670

原创 Linux fuser

fuser使用文件或文件结构识别进程fuser命令用于报告进程使用的文件和网络套接字。fuser命令列出了本地进程的进程号。c: 指示进程的工作目录。e: 指示该文件为进程的可执行文件f: 指示该文件被进程打开,默认f字符不显示F: 指示该文件被进程打开进行写入,默认F不显示r: 指示该目录为进程的跟目录m: 指示进程使用该文件进行内存映射语法fuser (选项)(参数)选项-a:显示命令行中指定的所有文件;-k:杀死访问指定文件的所有进程;-i:杀死进程前需要用户进行确认

2021-12-20 11:59:33 302

原创 Git命令

安装GitLinux安装sudo dnf install git-all安装完成后使用git获取更新git clone git://git.kernel.org/pub/scm/git/git.git获取帮助$ git help <verb>$ git <verb> --help$ man git-<verb>用户信息设置用户名和邮箱地址git config --global user.name 'user_name'git config -

2021-12-20 11:58:01 55

原创 Django3.1异步

先决条件项目环境依赖Python >= 3.8Django >= 3.1UvicornASGIASGI支持异步服务器网关接口。ASGI与WSGI向后兼容,可以直接将uWSGI之类的WSHI服务器切换至Uvicorn或Daphne之类的ASGI服务器。创建项目与应用mkdir django-async-views && cd django-async-viewspython3.8 -m venv envsource env/bin/activatealia

2021-12-20 11:57:05 1460

原创 Django model

索引primary_key = True 主键db_column 列名db_index 加速查找unique = True 加速查找;限制列值唯一primary = True 加速查找;限制列值唯一(不能为空)Adminverbose_name admin中显示的字段名称blank admin中是否允许用户输入为空editable admin中是否可以编辑help_text admin中该字段的提升信息choices admin中显示选择框的内容,用不变的数据放在内存中从而避

2021-12-20 11:56:34 65

原创 部署项目到Nginx

nginx安装pcre、pcre-devel安装​ pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库。安装命令:yum install -y pcre pcre-devel安装openssl​ openssl是web安全通信的基石,没有openssl,可以说我们的信息都是在裸奔。安装命令:yum install -y openssl openssl-devel下载nginx安装包wget htt

2021-12-20 11:55:17 1862

原创 Golang函数

1. 函数定义1.1 golang函数特点 • 无需声明原型。 • 支持不定 变参。 • 支持多返回值。 • 支持命名返回参数。 • 支持匿名函数和闭包。 • 函数也是一种类型,一个函数可以赋值给变量。 • 不支持 嵌套 (nested) 一个包不能有两个名字一样的函数。 • 不支持 重载 (overload) • 不支持 默认参数 (default parameter)。​ 函数声明包含一个函数名,参数列表,返回列表和函数体

2021-12-15 10:51:48 346

原创 GoLang流程控制

1. if• 可省略条件表达式括号。 • 持初始化语句,可定义代码块局部变量。 • 代码块左 括号必须在条件表达式尾部。 if 布尔表达式 { /* 在布尔表达式为 true 时执行 */ }2. switch​ switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上直下逐一测试,直到匹配为止。 Golang switch 分支表达式可以是任意类型,不限于常量。可省略 break,默认自动终止。switch var1 {

2021-12-13 11:58:49 215

原创 GoLang基础

1. Golang内置类型和函数1.1 内置类型值类型boolint(32 or 64),int8,int16,int32,int64uint(32 or 64),uint8(byte),uint16,uint32,uint64float32,float64stringcomplex64,complex128array -- 固定长度的数组引用类型slice -- 序列数组map -- 映射chan -- 管道1.2 内置函数append -- 追加元素到数组、slic

2021-12-13 11:44:52 185

空空如也

空空如也

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

TA关注的人

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