自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 四种常见排序(冒泡、选择、插入、快速排序)--- Python版

冒泡排序、选择排序、插入排序、快速排序

2022-12-15 19:20:22 1034 1

原创 【海龟编辑器--imageio库版本安装错误问题】

import tracebackimport osimport sysimport platform# *********************************************************************# 本程序主要为了解决imageio库版本安装错误问题# 本程序安装的版本如下:# 统一需要先卸载imageio版本,不管有没有安装过。后续安装imageio2.5.0# 程序使用过程中若出现任何问题,可以钉钉Luyang# **********

2022-02-19 15:48:48 2924

原创 Python中qrcode库生成不同颜色二维码

import qrcode # 导入二维码的库# 二维码的内容content = 'https://www.baidu.com'# 使用qrcode库中的QRcode模块qr = qrcode.QRCode()# 给二维码添加数据qr.add_data(content)# 生成二维码qr.make(fit=True)#设置二维码颜色,第一个是填充颜色 第二个是背景颜色image = qr.make_image(fill_color="red", back_color="whi

2020-07-16 13:57:19 1660

原创 Python 报错:TypeError: can't send non-None value to a just-started generator

TypeError: can’t send non-None value to a just-started generator 该错误翻译成中文:无法将非None值发送到刚刚启动的生成器def gen(): X = 0 while True: X = yield X*Xa = gen()for i in range(5): print(a.sen...

2019-10-28 23:32:25 1010 1

原创 瞧一下常用数据库默认端口号

mysql的默认端口是3306sqlserver默认端口号为:1433oracle 默认端口号为:1521DB2 默认端口号为:5000PostgreSQL默认端口号为:5432

2019-10-28 23:26:21 281

原创 Selenium Webdriver各个版本的下载

我们下载浏览器驱动的时候,要注意驱动和浏览器的版本对照,一般在每个版本详情目录中的notes.txt文件里,存着对应版本关系:ChromeDriver

2019-10-09 19:35:09 1298

原创 关于MySQL练习题的一二三...四十道题✔️

首先,创建表咯。一共有4张表。分别是学生表,课程表,教师表,成绩表 。学生表Student4个字段,SId(学生ID),Sname(学生姓名),Sage(学生年龄),Ssex(学生性别)create table Student(SId varchar(10),Sname varchar(10),Sage datetime,Ssex varchar(10),PRIMARY key(SId));...

2019-10-06 12:00:39 375

原创 CentOS 7系统的云服务器ECS实例如何配置默认防火墙Firewall

概述CentOS 7系统默认的防火墙是Firewall,替代了之前的iptables,Firewall有图形界面管理和命令行管理两种方式。本文主要介绍如何通过命令行配置Firewall。详细信息启动Firewall进入系统之后,发现CentOS 7默认已安装Firewall,但是没有启动,所以需要先启动Firewall,同时设置开机自启动。登录ECS实例,执行如下命令,启动Firewal...

2019-09-23 16:33:59 228

原创 Centos7安装Nginx

Nginx 读作 engine x, 是一个免费的、开源的、高性能的 HTTP 和反向代理服务,主要负责负载一些访问量比较大的站点。Nginx 可以作为一个独立的 Web 服务,也可以用来给 Apache 或是其他的 Web 服务做反向代理。相比于 Apache,Nginx 可以处理更多的并发连接,而且每个连接的内存占用的非常小。开始前的准备在开始阅读此教程之前,请确保你是以拥有 sudo...

2019-09-23 14:54:01 116

原创 Centos7 安装Node.js10以上版本

Node.js 是一个基于Chrome JavaScript运行时的平台,可轻松构建快速,可扩展的网络应用程序。最新版本 node.js yum存储库 由其官方网站维护。使用本教程添加yum存储库,并使用简单命令将最新Nodejs安装到CentOS / RHEL 7/6系统。要安装特定的nodejs版本,请访问我们的教程 使用NVM安装特定的Nodejs版本。删除旧的 nodejs 版本:$...

2019-09-23 11:07:03 569

原创 Linux设置Centos7显示中文

1、查看当前系统语言登陆linux系统打开操作终端之后,输入echo $LANG可以查看当前使用的系统语言。如[root@localhost ~]# echo $LANGen_US.UTF-82、查看安装的语言包查看是否有中文语言包可以在终端输入locale命令,如有zh cn 表示已经安装了中文语言。[root@localhost ~]# localeLANG=en_US.UT...

2019-09-20 14:21:20 5458 1

原创 SSH免密登陆远程服务器

1、在本地机器生成公钥/私钥对$ ssh-keygen -t rsa根据提示,回车即可,提示输入密码时回车即表示空密码。在用户根目录下生成.ssh文件夹,里面包括id_rsa(私钥)和id_rsa.pub(公钥)2、将本地机器的id_rsa.pub推倒远程服务器上$ scp .ssh/id_rsa.pub [email protected]:~/这一步还需要输入远程机器的密码3、在远程...

2019-09-20 12:35:21 213

原创 如何自动生成和安装requirements.txt依赖

在查看别人的Python项目时,经常会看到一个requirements.txt文件,里面记录了当前程序的所有依赖包及其精确版本号。这个文件有点类似与Rails的Gemfile。其作用是用来在另一台PC上重新构建项目所需要的运行环境依赖。requirements.txt可以通过pip命令自动生成和安装生成requirements.txt文件pip freeze > requirement...

2019-09-20 12:28:59 388

原创 linux expect详解(ssh自动登录)

shell脚本实现ssh自动登录远程服务器示例:#!/usr/bin/expectspawn ssh [email protected] "*password:"send "123\r"expect "*#"interactExpect是一个用来处理交互的命令。借助Expect,我们可以将交互过程写在一个脚本上,使之自动化完成。形象的说,ssh登录,ftp登录等都符...

2019-09-19 16:11:44 1201

原创 Linux常用命令大全(你想要的我都有)

Linux系统信息arch 显示机器的处理器架构uname -m 显示机器的处理器架构uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)hdparm -i /dev/hda 罗列一个磁盘的架构特性hdparm -tT /dev/sda 在磁盘上执行测试性读取操作cat /proc/cpuinfo 显示CPU info...

2019-09-19 15:57:41 199

原创 Centos7 安装 Node.js

Node.js 是一个基于Chrome JavaScript运行时的平台,可轻松构建快速,可扩展的网络应用程序。最新版本 node.js yum存储库 由其官方网站维护。使用本教程添加yum存储库,并使用简单命令将最新Nodejs安装到CentOS / RHEL 7/6系统。要安装特定的nodejs版本,请访问我们的教程 使用NVM安装特定的Nodejs版本。删除旧的 nodejs 版本:$...

2019-09-19 15:52:20 119

原创 Python通过txt文件批量安装依赖包

如果要用某个开源框架,需要安装多个依赖包可以如下操作:如依赖文件形式如下(可以不要版本号):txt文件名为requirements.txt,内容为:sklearn==0.0 subprocess32==3.2.7 tablestore==4.3.4 tensorboard==1.8.0 tensorflow==1.8.0 可以用如下命令安装...

2019-09-18 16:11:49 585

原创 日志级别的选择:Debug、Info、Warn、Error还是Fatal

日志信息分类1.等级由低到高:debug<info<warn<Error<Fatal2.区别:debug :级别最低,可以随意的使用于任何觉得有利于在调试时更详细的了解系统运行状态的东东;info:重要,输出信息:用来反馈系统的当前状态给最终用户的;后三个,警告、错误、严重错误,这三者应该都在系统运行时检测到了一个不正常的状态。warn:警告,可修复,系统...

2019-09-18 12:13:14 2987

原创 Mac下如何安装MongoDB?

话不多少 直接上命令行,依次输入下面命令brew tap mongodb/brewbrew install [email protected]

2019-09-10 13:26:44 112

原创 关于django-debug-toolbar的一二三

django-debug-toolbar 是一个可视化的django调试工具,可以方便快捷的帮助我们查看当前请求/相应的各种调试信息。安装$ pip install django-debug-toolbardjango settings.py配置INSTALL_APPS 配置将debug_toolbar添加到 INSTALL_APPS 中INSTALL_APPS = [ .....

2019-09-09 09:00:20 187

原创 当Python爬虫遇到JS加密

我们在做python爬虫的时候经常会遇到许多的反爬措施,js加密就是其中一种。破解js加密的方法也有很多种:1.直接驱动浏览器抓取数据,无视js加密。2.找到本地加密的js代码,使用python的相关库直接运行js代码。3.找到本地加密的js代码,理清加密逻辑,然后用python代码来模仿js代码的流程,生成我们想要的加密的数据。这里我们简单介绍一下第三种,也是最难的一种。目标网站:h...

2019-09-08 23:38:43 4649 3

原创 关于正则 实现6-10位密码由数字和字母混合组成

匹配6~10位由数字和26个英文字母混合而成的密码:^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,10}$解析:^匹配字符串的开始位置(?![0-9]+$)断言此位置之后,字符串结尾之前,所有的字符不能全部由数字组成(?![a-zA-Z]+$)断言此位置之后,字符串结尾之前,所有的字符不能全部由26个英文字母组成[0-9A-Za-z]{6...

2019-09-08 23:30:56 3523

原创 关于消息队列RabbitMQ简介,以及各种MQ对比

前言:MQ 是什么?队列是什么,MQ 我们可以理解为消息队列,队列我们可以理解为管道。以管道的方式做消息传递。场景:1.其实我们在双11的时候,当我们凌晨大量的秒杀和抢购商品,然后去结算的时候,就会发现,界面会提醒我们,让我们稍等,以及一些友好的图片文字提醒。而不是像前几年的时代,动不动就页面卡死,报错等来呈现给用户。在这业务场景中,我们就可以采用队列的机制来处理,因为同时结算就只能达到这...

2019-09-08 21:43:54 215

原创 关于HTTP和HTTPS

一、HTTP和HTTPS的基本概念HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于用WWW服务器上传输超文本到本地浏览器的传输协议,它可以使浏览器更高效,是网络传输减少。HTTPS:是以安全为目标的HTTP通道,在HTTP上加一层安全保护SSL层,将详细内容进行加密。HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证...

2019-09-08 17:40:47 238

原创 关于uWSGI、WSGI、Nginx

区分uWSGI和WSGI在python web开发中,我们经常使用uwsgi配合nginx部署一个web框架,如Django或flask。同时我们又会说,框架和web服务器之间要符合WSGI协议。那就来理清一下这几个概念。web服务器和web框架讲uWSGI和WSGI之前,先要弄清楚web开发的两大块,web服务器和web框架。web服务器即用来接受客户端请求,建立连接,转发响应的程序。至...

2019-09-06 00:12:12 291

原创 MySQL窗口函数及其分析查询

MySQL从版本8.0开始,支持窗口函数。窗口函数允许您以新的,更简单的方式解决查询问题,并具有更好的性能。假设我们有一个sales表,按员工和财政年度存储销售额,如下所示:CREATE TABLE sales( sales_employee VARCHAR(50) NOT NULL, fiscal_year INT NOT NULL, sale DECIMAL(14,...

2019-09-06 00:05:50 1435

原创 栈溢出的一点点

关于栈溢出:栈一般默认是1-2m,一旦出现死循环或者大量递归调用,在不断压栈的过程中会造成栈容量的移除一般栈溢出的情况:局部数组过大或者递归调用层次太多了一般解决方法:将栈递归编程非递归增大栈空间(后续再说,今天没时间)...

2019-09-02 20:16:44 122

原创 Scrapy框架的优点?

Scrapy框架是什么?Scrapy框架是一个快速(fast)、高层次(high-level)的基于Python的web爬虫框架,抓取web站点并从页面提取结构化数据那么为什么要使用Scrapy框架呢?Scrapy框架的有点:更容易构建大规模抓取项目;异步处理请求的速度快使用自动调节机制自动调整爬取速度...

2019-09-02 20:13:02 6687

原创 Redis内存满了的几种解决方法(内存淘汰策略与Redis集群)

增加内存;使用内存淘汰策略;Redis集群。** 第1点** 就是直接增加Redis内存 无需多言第2点 使用内存淘汰策略我们知道,redis设置配置文件的maxmemory参数,可以控制其最大可用内存大小(字节)。那么当所需内存,超过maxmemory怎么办?这个时候就该配置文件中的maxmemory-policy出场了。其默认值是noeviction。下面我将列出当可用...

2019-08-30 23:57:29 1109

原创 关于乐观锁和悲观锁

一、概念悲观锁:总是假设最坏的情况,认为竞争总是存在,每次拿数据的时候都认为会被修改,因此每次都会先上锁。其他线程阻塞等待释放锁。乐观锁:总是假设最好的情况,认为竞争总是不存在,每次拿数据的时候都认为不会被修改,因此不会先上锁,在最后更新的时候比较数据有无更新,可通过版本号或CAS实现。二、两种锁的使用场景悲观锁:用于写比较多的情况,避免了乐观锁不断重试从而降低性能乐观锁:用于读比较多的...

2019-08-30 23:36:14 146

原创 关于贪心算法

百度的定义: 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。通俗一点讲,当要解决某一个问题时,先判断第一步的最优解,然后把剩下的步骤看作下一个递归的具体问题。例如0-1背包问题:给定n种物品和一个背包。物品i的重量是Wi,其价值为Vi,背包的容量为C。应如何选择装入背包的物品,使得装入背包中...

2019-08-30 23:20:28 152

转载 动态规划--金矿模型

对于动态规划,每个刚接触的人都需要一段时间来理解,特别是第一次接触的时候总是想不通为什么这种方法可行,这篇文章就是为了帮助大家理解动态规划,并通过讲解基本的01背包问题来引导读者如何去思考动态规划。本文力求通俗易懂,无异性,不让读者感到迷惑,引导读者去思考,所以如果你在阅读中发现有不通顺的地方,让你产生错误理解的地方,让你难得读懂的地方,请跟贴指出,谢谢!第一节 初识动态规划 经典...

2019-08-30 22:59:22 163

原创 Scrapy如何实现分布式抓取?

可以借助scrapy_redis类库来实现。在分布式爬取时,会有master机器和slave机器,其中,master为核心服务器,slave为具体的爬虫服务器。我们在master服务器上搭建一个redis数据库,并将要抓取的url存放到redis数据库中,所有的slave爬虫服务器在抓取的时候从redis数据库中去链接,由于scrapy_redis自身的队列机制,slave获取的url不会相互...

2019-08-30 16:56:17 288

原创 Scrapy框架有哪些组件模块?具体的工作流程?

Scrapy Engine: 这是引擎,负责Spiders、ItemPipeline、Downloader、Scheduler中间的通讯,信号、数据传递等等!(像不像人的身体?)Scheduler(调度器): 它负责接受引擎发送过来的requests请求,并按照一定的方式进行整理排列,入队、并等待Scrapy Engine(引擎)来请求时,交给引擎。Downloader(下载器):负责下载Sc...

2019-08-30 16:54:35 1632

原创 关于跳表一二三

什么是跳表SkipList?跳表是一个随机化的数据结构,实质上是一种可以进行二分查找的有序链表。跳表在原有的有序链表上面增加了多级索引,通过索引来实现快速查找。跳表不仅能提高搜索性能,同时也可以提高插入和删除操作的性能,有序链表我们来想一个有序链表,我们要查找3、7、17这几个元素,但是在有序链表中我们只能是从头开始遍历链表,直到查找到元素位置。(因为链表有序,不能使用二分查找)那么...

2019-08-27 20:32:22 202

原创 技术党求生骚操作!手把手教你做一只口红色号识别器!

直男送礼,首选口红。毕竟李佳琦一句"OMG买它”,女朋友披头散发抢购,钱包就空了一半。但是,口红色号千千万,选对了牌子才成功了一半。快乐橙、伤心紫,姨妈红,鸡屎绿…直男眼里没什么区别的颜色,在女生眼里各种色调、质地细微的区别都能分析一清二楚。那么,对于直男来说,怎么才能搞清楚如此多的口红色号呢?文摘菌耗费一毫米发际线,琢磨了一下,做出了一个口红色号识别器,希望能帮大家把深刻的革命友谊再...

2019-08-23 10:26:31 1607

原创 Git中关于merge和rebase的使用场景

很多人都熟悉merge在git中的使用,但是并不是很熟悉rebase,那么首先我们先了解一下什么是rebase?⁉️git rebase 可以将它理解为重新设置基线–变基,将你当前的分支重新设置为开始点。这样你才能知道当前所处的分支与需要进行比较的分支的差别在哪里。rebase要基于一个分支来设置你当前的分支的基线,即当前最新跟踪的分支的最后面,这样当前分支就是最新的跟踪分支。因为这里的操作是...

2019-08-21 20:47:58 1440

转载 关于数据库分库分表方案

一、数据库瓶颈IO瓶颈CPU瓶颈二、分库分表水平分表水平分库垂直分表垂直分库三、分库分表工具四、分库分表步骤五、分库分表问题非partition key的查询问题(水平分库分表,拆分策略为常用的hash法)非partition key跨库跨表分页查询问题(水平分库分表,拆分策略为常用的hash法)扩容问题(水平分库分表,拆分策略为常用的hash法)六、分库分...

2019-08-21 19:54:41 235

转载 关于Python连接MySQL数据库

在关于Python的使用,不管是机器学习、web开发或者爬虫,数据库都是绕不过去的。那么今天就来介绍一下关于Python如何和MySQL数据库进行连接以及数据的交换,主要是分一下方面:什么是数据库?什么是MySQLdb?Python如何连接数据库?创建MySQL数据库数据库操作–CRUD什么是数据库数据库基本上是结构化数据的集合,通过数据库可以用各种方式轻松地检索、管理和访问数据...

2019-08-19 21:20:32 219

原创 Pandas中读取文件关于header参数的设置

Python中Pandas读取csv文件关于header的设置:使用pandas中的read_csv读取csv数据时,在对有表头的数据表进行读取的时候,它会自动识别表头(默认的就是读取第一行,header=0 );当数据表没有表头的情况,如果不设置header,读取时将把第一行数据视为表头,这样读取的数据会有问题,所以此时需要设置为header=None参考文档这是pandas的read_c...

2019-08-14 00:55:36 4296

空空如也

空空如也

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

TA关注的人

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