自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

彭世瑜的博客

记录我的code历程 个人主页:www.pengshiyu.com

原创 MySQL:通过增加索引进行SQL查询优化

一次非常有意思的SQL优化经历:从30248.271s到0.001shttps://mp.weixin.qq.com/s?__biz=Mzg3MjA4MTExMw==&mid=2247485402&idx=1&sn=19653f2f820b96b4b85f257d74a4bd97&chksm=cef5f46cf9827d7ad927c0cbea2079dbdc71...

2019-04-30 19:34:07 425

原创 MySQL:Windows环境下的编码问题和解决

1、MySQL5.5 中文显示为 ?使用下面命令查看目前的字符集SHOW VARIABLES LIKE 'character%';复制my-medium.ini 并重命名为 my.ini 然后添加了如下几行:[client]default-character-set=utf8mb4[mysqld]character-set-server=utf8mb4collation-se...

2019-04-30 09:37:59 107

原创 Git:Git Bash连接MySQL

我直接输入以下指令,发现卡主了,完全没有反应$ mysql -uroot -p输入以下指定就可以正常登陆MySQL了$ winpty mysql -uroot -p参考如何在git bash中运行mysql...

2019-04-28 22:16:45 467

原创 MySQL:自动维护create_time和update_time字段

通过建表语句设置,让mysql自动维护这两个字段,那么编程的时候也能少写一部分代码`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP`update_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP参考MySQL自动设置create_time...

2019-04-27 13:00:20 2227 2

原创 Python爬虫:使用pyppeteer爬取动态加载的网站

pyppeteer 类似selenium,可以操作Chrome浏览器文档:https://miyakogi.github.io/pyppeteer/index.htmlgithub: https://github.com/miyakogi/pyppeteer安装环境要求:python 3.6+pip install pyppeteer代码示例# -*- coding: utf-8...

2019-04-26 18:38:38 3024

原创 Python编程:sh模块执行shell命令

文档: http://amoffat.github.io/sh/index.html安装pip install sh简单示例>>> import sh>>> sh.echo("hi")hi此文章中还提到了好多库和模块,都很有用:精选26个Python实用技巧,想秀技能先Get这份技术列表!26 个 Python 有用的技巧 按照首字母...

2019-04-26 16:31:32 3017

原创 Python爬虫:Scrapy从脚本运行爬虫的5种方式

一、命令行运行爬虫1、编写爬虫文件 baidu.py# -*- coding: utf-8 -*-from scrapy import Spiderclass BaiduSpider(Spider): name = 'baidu' start_urls = ['http://baidu.com/'] def parse(self, response): ...

2019-04-25 19:53:02 2624 3

原创 Python爬虫:Scrapy优化参数设置

修改 settings.py 文件# 增加并发CONCURRENT_REQUESTS = 100# 降低log级别LOG_LEVEL = 'INFO'# 禁止cookiesCOOKIES_ENABLED = False# 禁止重试RETRY_ENABLED = False# 减小下载超时DOWNLOAD_TIMEOUT = 15# 禁止重定向REDIRECT_EN...

2019-04-25 17:59:44 230

原创 Python编程:设置Python解释器不生成字节码pyc文件

字节码文件作用Python解释器将源码转换为字节码 (.pyc文件), 然后再由解释器来执行这些字节码;下次执行时,如果没有变化,则优先执行生成好的字节码文件不过有时候也会不好使,明明代码更新了,执行结果还是 没有变化,心累设置不生成字节码文件方式一:设置环境变量(最常用的)export PYTHONDONTWRITEBYTECODE=1方式二:使用 -B参数$ python -...

2019-04-24 16:51:52 623

原创 Linux:ls按照修改时间排序显示

命令:ls详细解释:-l use a long listing format 以长列表方式显示(详细信息方式)-t sort by modification time 按修改时间排序(最新的在最前面)-r reverse order while sorting (反序)举例:# 按照时间降序ls -lt# 按照时间升序ls -ltr当然为了简便,...

2019-04-24 16:39:03 4263

原创 报错:import pandas._libs.parsers as parsers RuntimeWarning

问题线上运行程序发现报错:import pandas._libs.parsers as parsers RuntimeWarning解决参考了其他类似问题,是因为numpy 版本过高,卸载后安装低版本即可通过 pip 检查环境版本pip list线上环境numpy==1.15.0pandas==0.23.4本地环境numpy==1.13.3pandas==0.23.4...

2019-04-24 15:55:34 601 2

原创 MySQL:增加删除索引

为了记忆简单,统一使用最好理解的方式创建和删除索引(1)创建索引# 普通索引alter table table_name add index index_name (column_list);# UNIQUE索引alter table table_name add unique index_name (column_list) ;# PRIMARY KEY索引alter tabl...

2019-04-24 14:00:02 65

原创 Python编程:使用textrank4zh、jieba、snownlp提取中文文章关键字和摘要

使用的库1、textrank4zhhttps://github.com/letiantian/TextRank4ZHpip install textrank4zh==0.32、jiebahttps://github.com/fxsjy/jiebapip install jieba==0.393、snownlphttps://github.com/isnowfy/snownlp...

2019-04-23 11:55:55 3837

原创 Python编程:Python2.7环境下的中文文件读写

测试环境python 2.7.5读写的文本# -*- coding: utf-8 -*-poetry = """相思唐代:王维红豆生南国,春来发几枝。愿君多采撷,此物最相思。"""1、直接读写中文(正常)# -*- coding: utf-8 -*-# 写入(正常)f = open("相思.txt", "w")f.write(poetry)f.close()...

2019-04-22 16:45:51 1818

原创 MySQL:修改表名和字段名和类型

-- 修改表名 rename table old_table to new_table;-- 或者alter table old_table rename as new_table;-- 修改列名称alter table table_name change column old_name new_name varchar(255);参考:对数据库中的表或字段重命名...

2019-04-22 10:42:13 7460

原创 Java爬虫:使用WebMagic构建最简单的爬虫项目

资料WebMagic的架构设计参照了Scrapy项目主页:http://webmagic.io/github地址:https://github.com/code4craft/webmagic项目文档:http://webmagic.io/docs/zh/环境配置使用 IntelliJ IDEA 新建maven项目1、依赖文件配置WebMagicSpider/pom.xml&lt...

2019-04-21 20:13:39 294 1

原创 Python编程:获取一个类对象的属性和方法

python3.6 下测试# -*- coding: utf-8 -*-class Demo(object): name = "demo" def instance_func(self): pass @classmethod def class_func(cls): pass @staticmethod d...

2019-04-21 18:13:51 2938

原创 Python编程:fabric实现SSH远程管理服务器

fabric 可以很轻松的实现 SSH链接安装pip install fabric查看版本$ fab --versionFabric 2.4.0Paramiko 2.4.1Invoke 1.2.0编写任务 fabfile.py# -*- coding: utf-8 -*-from fabric import task, Connection@taskdef loca...

2019-04-18 10:44:24 497

原创 Python编程:使用doctest进行文档测试

doctest模块是内置模块应用举例# -*- coding: utf-8 -*-def add(x, y): """ 求和 x + y Args: x: int y: int Returns: int eg: >>> add(1, 1) 2 >&gt...

2019-04-17 18:31:57 83

原创 Git:git pull每次都要求输入用户名和密码

git pull 每次都要求输入用户名和密码配置git config --global credential.helper store查看git配置git config --list参考:git 为不同的项目设置不同的用户名和邮箱...

2019-04-17 15:39:19 1555

原创 软考:计划评审技术(PERT)三点估算法计算工期、标准差、完成概率

PERT(Program/Project Evaluation and Review Technique)计划评审技术P 代表最悲观工期 pessimisticM 代表最可能工期 mayO 代表最乐观工期 optimisticPERT公式Te=To+4Tm+Tp6T_e = \frac{T_o + 4T_m + T_p}{6}Te​=6To​+4Tm​+Tp​​标准差公式σ=Tp...

2019-04-17 13:02:13 4868

原创 Html:正确给table表格加边框

给表格加边框<table border="1" cellspacing="0">效果参考Html-浅谈如何正确给table加边框

2019-04-17 12:47:31 8207

原创 Python爬虫:滤网架构处理爬虫数据

业务场景:1、爬虫数据直接入库会出现id自增过大的问题。要么就入库之前做一次查询,确保数据不存在再插入,这样一来就速度就减慢了。而且,爬虫程序运行速度往往较快,查询操作过多对数据库造成压力也不小。2、一个表的数据分别来自不同地方,需要多个程序对其进行数据补全操作,这样一来,就会出现数据缺失现象。如果直接入业务库会出现数据不全,虽然不是bug,但是影响体验为了解决以上两个问题,采用了爬虫数据...

2019-04-17 11:05:46 159

原创 软考:净现值NPV、回收期、收益率计算方法

净现值NPVNet Present Value净现值(NPV)= 未来现金净流量现值 一 原始投资额现值公式NPV=∑CI−CO(1+i)tNPV=\sum\frac{CI-CO}{(1+i)^t}NPV=∑(1+i)tCI−CO​CI 现金流入CO 现金流出i 折现率t 年数举例:假设两个项目A和B,都是投资10万元,贴现率10%,预期收入和净现值如下。(假设项目周期都...

2019-04-17 09:56:20 5577

原创 Python编程:python-attrs模块的简单使用

文档:http://www.attrs.org/en/stable/index.htmlattrs 可以简单理解为namedtuple的增强版安装pip install attrs代码示例1、定义一个tuplep1 = (1, 2)p2 = (1, 2)print(p1 == p2)# Trueprint(p1)# (1, 2)2、namedtuple定义一个类fr...

2019-04-16 14:13:00 5393

原创 MySQL:添加和查看表注释、字段注释

添加注释创建表的时候写注释create table student( name varchar(20) comment '字段的注释', age int comment '字段的注释')comment='表的注释';修改注释修改表的注释alter table student comment '修改后的表的注释';修改字段的注释alter table student mo...

2019-04-15 20:17:16 908

原创 Python编程:使用sqlalchemy对数据库进行增删改查

连接数据库# -*- coding: utf-8 -*-from sqlalchemy import create_engine, textdb_url = "mysql://root:123456@127.0.0.1:3306/demo"engine = create_engine(db_url)db = engine.connect()db.close()1、插入数据...

2019-04-14 23:07:32 480

原创 Python编程:使用pythink查询数据库

github:https://github.com/mouday/PyThink说下这个pythink模块的作用背景:我们公司的主要使用的后端语言有两种,python和phpPython爬虫MySQL数据库PHP业务处理而且有一个专门的DBA管理数据库,就是说,这个数据库不是你一个人的,有同组的成员和其他组的成员在使用,好像大部分公司都一样。Python爬虫部分的业务,主要操作是插入;...

2019-04-14 11:30:10 377

原创 Python编程:Python2 和 Python3的字符串字典取值和MD5比较

python2 和 python3的字符串类型# 3.6.0>>> type("你好")<class 'str'># 2.7.5>>> type("你好")<type 'str'># 引入新特性之后>>> from __future__ import unicode_literals, print_...

2019-04-11 18:18:56 213

原创 MySQL:date_format格式化时间格式

示例select date_format(create_time,'%Y-%m-%d %H:%i:%S') from table_name# 2019-04-10 18:35:43参数说明格式 描述%a 缩写星期名%b 缩写月名%c 月,数值%D 带有英文前缀的月中的天%d 月的天,数值(00-31)%e 月的天,数值(0-31)%f 微秒%H 小时 (...

2019-04-11 15:32:47 165

原创 Python编程:scrapy中使用logging,日志出现多次

同时使用scrapy.log和logging,日志会多次出现在控制台通过 logger 成功解决import logginglogger = logging.getLogger(__name__)logger.setLevel(level=logging.DEBUG)logger.debug("message")...

2019-04-09 16:10:09 376

原创 Python编程:手机号匹配正则表达式

正则表达式^1(3[0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|8[0-9]|9[89])\d{8}$正则匹配示意图图片生成:https://regexper.com/参考:2018 手机号正则最新、最全、最准确的手机号正则表达式...

2019-04-09 10:22:05 678

原创 Python编程:getattribute和getattr访问对象属性顺序

访问类属性的顺序:getattribute -> 如果没有找到属性,则引发异常AttributeError -> AttributeError 异常会触发 getattr,如果没有实现getattr 则抛出异常代码示例# -*- coding: utf-8 -*-class Dog(object): def __getattribute__(self, item...

2019-04-08 15:12:17 230

原创 MySQL:模糊查询LIKE、REGEXP、IN

1、[NOT] LIKE百分号(%):任意个或多个字符下划线(_):任意单个字符SELECT * FROM students WHERE name LIke '王%‘;2、[NOT] REGEXP字符. 任何单个的字符[…]在方括号内的任何字符^ 匹配开始$ 匹配结尾数量* 零个或多个在它前面的字符SELECT * FROM students WHERE name REG...

2019-04-04 10:32:25 162

原创 Jenkins设置流水线Pipeline定时任务

1、新建流水线任务2、构建触发器* * * * * # 为每分钟执行# 分时日月周 与crontab一样3、流水线任务定义(Pipeline script)流水线语法 -> 片段生成器示例步骤(sh: Shell Script)echo $(date "+%Y-%m-%d %H:%M:%S") hello world >> /root/hello.t...

2019-04-03 17:00:34 2599

原创 Mac环境下安装jenkins

jenkins: https://jenkins.io/download/方式一:brew install jenkins # 安装brew services start jenkins # 启动brew uninstall jenkins # 卸载方式二:下载 jenkins.warjava -jar jenkins.war访问测试:http://127.0.0.1:8...

2019-04-03 16:03:07 1543

原创 java有关的打包文件.jar、.war、.ear

java有关的打包文件Jar文件 Java Application Archive 包含Java类的普通库、资源(resources)、辅助文件(auxiliary files)等War文件 Web Application Archive)包含全部Web应用程序Ear文件(扩展名为.Ear,Enterprise Application Archive 包含全部企业应用程序...

2019-04-03 15:59:05 70

原创 Python编程:trio模块异步/等待本地I/O库

github: https://github.com/python-trio/trio文档: https://trio.readthedocs.io/en/latest/tutorial.htmlAn async/await-native I/O library for humans and snake people安装pip install trio代码示例# -*- coding...

2019-04-03 13:04:55 484

原创 Python编程:Python2.7的MD5编码问题

测试环境Python 2.7.51、直接做MD5# -*- coding: utf-8 -*-import hashlibs = '20637332019-03-29已受理'md5 = hashlib.md5(s).hexdigest()# md5 = hashlib.md5(s.encode("utf-8")).hexdigest()# UnicodeDecodeError...

2019-04-01 12:04:35 1156

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