- 博客(272)
- 收藏
- 关注
转载 分布式系统ID的几种生成办法
前言一般单机或者单数据库的项目可能规模比较小,适应的场景也比较有限,平台的访问量和业务量都较小,业务ID的生成方式比较原始但是够用,它并没有给这样的系统带来问题和瓶颈,所以这种情况下我们并没有对此给予太多的关注。但是对于大厂的那种大规模复杂业务、分布式高并发的应用场景,显然这种ID的生成方式不会像小项目一样仅仅依靠简单的数据自增序列来完成,而且在分布式环境下这种方式...
2019-08-23 16:31:00
383
转载 python 将带有TZ的UTC时间字符串,转换成本地时间
整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信中,为统一而普遍使用一个标准时间,称为通用协调时(UTC, Universal Time Coordinated)。UTC与格林尼治平均时(GMT, Greenwich Mean Time)一样,都与英国伦敦的本地时相同。UTC与GMT含义完全相同。北京时区是东八区,领先UTC 8个小时。所以将UTC装换成北京时间时,需...
2019-07-26 17:16:00
4212
转载 fake_useragent.json
{ "browsers": { "chrome": [ "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36", "Mozilla/5.0 (Macintosh; In...
2019-06-27 12:05:00
1931
转载 python requests模块session的使用建议及整个会话中的所有cookie的方法
话不多说,直接上代码测试代码服务端下面是用flask做的一个服务端,用来设置cookie以及打印请求时的请求头# -*- coding: utf-8 -*-from flask import Flask, make_response, requestapp = Flask(__name__)@app.route('/a1')def a1(): print(r...
2019-06-26 17:42:00
964
转载 python使用execjs执行含有document、window等对象的js代码,使用jsdom解决
当我们分析爬虫时,有时候会遇到一些加密参数,这个时候就需要我们逆向分析jspython执行js有一些第三方库https://www.jianshu.com/p/2da6f6ad01f0因为我用的Python3,所以没用PyV8(安装网上的方法,也没有安装好,可能我太笨了 - -! 如果有会的麻烦指点一下)我用的比较多的就是js2py和execjs有一次在分析js时,我已经找到了...
2019-06-18 11:23:00
3313
转载 centos下保留python2安装python3
1. 安装依赖环境# yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel2.在python官网找到自己需要的python,...
2019-06-14 11:18:00
127
转载 chrome各版本下载
https://www.chromedownloads.net/chrome64win/转载于:https://www.cnblogs.com/huchong/p/10937816.html
2019-05-28 15:44:00
775
转载 nginx 图片访问404 (使用location中使用 root,alias的区别)
问题描述:在/data/code_img/文件下有很多验证码图片,想将他们展示出来希望通过 http://127.0.0.1/img/1.png 这种形式访问到对应图片,刚开始nginx中配置如下server { server_name location; root /data/code_img; location = / { ...
2019-05-22 17:49:00
303
转载 centos7无GUI运行selenium chromedriver 亲测可用!
1. 安装chrome首先安装google的epel源vi /etc/yum.repos.d/google.repo[google]name=Google-x86_64baseurl=http://dl.google.com/linux/rpm/stable/x86_64enabled=1gpgcheck=0gpgkey=https://dl-ssl.google.com...
2019-04-30 16:35:00
380
转载 常用xpath选择器和css选择器总结
xpath选择器表达式说明article选取所有article元素的所有子节点/article选取根元素articlearticle/a选取所有属于article的子元素的a元素//div选取所有div子元素(不论出现在文档任何地方)article//div选取所有属于article元素的后代的div元素,不管它出现在article之...
2019-04-04 16:40:00
138
转载 在flask中使用swagger(flasgger使用方法及效果展示)
一. 部分代码及效果from flask import Flaskfrom flasgger import Swaggerimport configapp = Flask(__name__)app.config.from_object(config)swagger_config = Swagger.DEFAULT_CONFIGswagger_config['title...
2019-03-21 09:25:00
1385
转载 判断回文字符串、回文链表、回文数(python实现)
所谓回文字符串,就是正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。即是对称结构判断回文字符串方法一:def is_palindrome(s): return True if s == s[::-1] else False方法二:def is_palindrome(s): length = len(s) if not leng...
2019-03-11 19:37:00
341
转载 MySQL高性能优化系列-目录
MySQL高性能优化系列-目录(1)Mysql高性能优化规范建议(2)电商数据库表设计(3)MySQL分区表使用方法(4)MySQL执行计划分析(5)电商场景下的常见业务SQL处理(6)MySQL慢查询日志的使用(7)MySQL数据库备份详解(8)MySQL主从复制架构使用方法(9)MySQL主主复制架构使用方法(10)如何MySQL读压力大的问题转载于:htt...
2019-02-22 21:11:00
190
转载 (10) 如何MySQL读压力大的问题
如何进行读写分离由开发人员根据所执行的SQL类型连接不同的服务器由数据库中间层实现读写分离读写分离时,需要注意,对于实时性要求比较高的数据,不适合在从库上查询(因为主从复制存在一定延迟(毫秒级)),比如库存就应该在主库上查询,如果放在从库上查询,可能会存在超卖的情况由开发人员根据所执行的SQL类型进行读写分离的方式优点:1. 完全由开发人员控制,实现更加灵活2. 由程序...
2019-01-15 09:01:00
375
转载 (9) MySQL主主复制架构使用方法
一. 回忆主从复制的一些缺点上节说到主从复制的一些问题我们再来回忆一下主从复制,增加了一个数据库副本,从数据库和主数据库的数据最终会是一致的之所以说是最终一致,因为mysql复制是异步的,正常情况下主从复制数据之间会有一个微小的延迟通过这个数据库副本看似解决了数据库单点问题,但并不完美因为这种架构下,如果主服务器宕机,需要手动切换从服务器,业务中断不能忍受,不能满足应用高可用...
2019-01-15 09:01:00
107
转载 (8) MySQL主从复制架构使用方法
一. 单个数据库服务器的缺点数据库服务器存在单点问题数据库服务器资源无法满足增长的读写请求高峰时数据库连接数经常超过上限二. 如何解决单点问题增加额外的数据库服务器,组建数据库集群同一集群中的数据库服务器需要具有相同的数据集群中的任一服务器宕机后,其它服务器可以取代宕机服务器三. MySQL主从复制架构1. 主库将变更写入到主库的binlog中一些MySQL版本并不会...
2019-01-13 14:08:00
108
转载 (7) MySQL数据库备份详解
对于任何数据库来说,备份都是非常重要的数据库复制不能取代备份的作用比如我们由于误操作,在主数据库上删除了一些数据,由于主从复制的时间很短,在发现时,从数据库上的数据可能也已经被删除了,我们不能使用从数据库上的数据来恢复主数据库上的数据,只能通过备份进行误删除数据的恢复一. 备份的分类1.按备份的结果来分:逻辑备份其备份结果为SQL语句,适合于所有存储引擎,恢复时需要较多时间...
2019-01-11 09:12:00
371
转载 (6) MySQL慢查询日志的使用
一. 设置方法使用慢查询日志里捕获启用之前需要先进行一些设置方法一:全局变量设置设置慢查询日志的日志文件位置set global slow_query_log_file = "D:/slow_log/slow_log.log" ;设置是否对未使用索引的SQL进行记录set global log_queries_not_using_indexes = on;设置只要SQL执...
2019-01-10 09:21:00
113
转载 解决通过Nginx转发的服务请求头header中含有下划线的key,其值取不到的问题
1. 问题由于在http请求头的头部中设置了一些自定义字段,刚好这些字段中含有下划线,比如bundle_name这种,后端在进去获取头部信息时,发现取不到对应的值2. 原因及解决办法分析首先看一段nginx源码ngx_http_parse_header_line(ngx_http_request_t *r, ngx_buf_t *b,ngx_uint_t allow_under...
2019-01-09 18:06:00
769
转载 (5) 电商场景下的常见业务SQL处理
1. 如何对评论进行分页展示一般情况下都是这样写 SELECT customer_id,title,content FROM product_comment WHERE audit_status = 1 AND product_id =199726 LIMIT 0,15;;我们来看看它的执行计划可以看到possible_keys、key、key_len的值均为NULL,说明这条...
2019-01-09 09:20:00
342
转载 (4) MySQL中EXPLAIN执行计划分析
一. 执行计划能告诉我们什么?SQL如何使用索引联接查询的执行顺序查询扫描的数据函数二. 执行计划中的内容SQL执行计划的输出可能为多行,每一行代表对一个数据库对象的操作1. ID列ID列中的如果数据为一组数字,表示执行SELECT语句的顺序;如果为NULL,则说明这一行数据是由另外两个SQL语句进行 UNION操作后产生的结果集ID值相同时,说明SQL执行顺序是...
2019-01-08 09:22:00
69
转载 (3) MySQL分区表使用方法
1. 确认MySQL服务器是否支持分区表命令:show plugins;2. MySQL分区表的特点在逻辑上为一个表,在物理上存储在多个文件中HASH分区(HASH)HASH分区的特点根据MOD(分区键,分区数)的值把数据行存储到表的不同分区中数据可以平均的分布在各个分区中HASH分区的键值必须是一个INT类型的值,或是通过函数可以转为INT类型如何建立HA...
2019-01-07 13:21:00
185
转载 (2) 电商数据库表设计
一. 用户实体1. 用户登录表(customer_login)CREATE TABLE `customer_login` ( `customer_id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '用户ID', `login_name` varchar(20) NOT NULL COMMENT '用户登陆名', `passw...
2019-01-07 13:20:00
947
转载 (1) Mysql高性能优化规范建议
数据库命令规范所有数据库对象名称必须使用小写字母并用下划线分割所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)数据库对象的命名要能做到见名识意,并且最后不要超过32个字符临时库表必须以tmp_为前缀并以日期为后缀,备份表必须以bak_为前缀并以日期(时间戳)为后缀所有存储相同数据的列名和列类型必须一致(一般作为关联列,如果查...
2019-01-04 13:23:00
247
转载 linux每日命令(39):lsof命令
lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为...
2018-12-10 10:42:00
293
转载 linux每日命令(38):iostat命令
Linux系统中的 iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。iostat属于sysstat软件包。可以用yum install sysstat ...
2018-12-08 09:58:00
109
转载 linux每日命令(37):top命令
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU...
2018-12-07 10:11:00
380
转载 python3.6 使用pyinstaller 打包web程序的方法
官方文档连接 (https://pyinstaller.readthedocs.io/en/stable/ )第一步,下载pywin32首先下载pywin32,下面是下载链接,下载自己的系统版本对应的pywin32https://github.com/mhammond/pywin32/releases第二步,安装pyinstallerpip install pyinstalle...
2018-12-06 17:53:00
297
转载 python bottle框架 解决跨域问题的正确方式
经查询,网上有几种说法https://www.cnblogs.com/EmptyFS/p/6138923.html我首先查到的就是这个,我采用了文中所说的修改源码的方式,但是经测试发现,修改源码依然无效然后我又查询到下面这个链接https://www.cnblogs.com/EmptyFS/p/6138923.html文中的解决方法在加一个钩子函数,在请求前进行一定修改但是...
2018-12-06 17:33:00
370
转载 linux每日命令(36):wc命令
Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。一.命令格式wc [-clw][--help][--version][文件...]二.命令功能利用wc指令我们可以计算文件的Byte数、字数、或是列数,若不指定文件名称、或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据。三.命令参数参数描述...
2018-12-06 09:33:00
161
转载 linux每日命令(35):grep命令
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不...
2018-12-05 10:36:00
178
转载 linux每日命令(34):ps命令和pstree命令
Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程...
2018-12-04 17:06:00
231
转载 linux每日命令(33):diff命令
diff 命令是 linux上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方。diff在命令行中打印每一个行的改动。最新版本的diff还支持二进制文件。diff程序的输出被称为补丁 (patch),因为Linux系统中还有一个patch程序,可以根据diff的输出将a.c的文件内容更新为b.c。diff是svn、cvs、git等版本控制工具不可或缺的一部...
2018-12-03 11:12:00
159
转载 linux每日命令(32):gzip命令
减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格式。据统计,gzip命令对文本文件有60%~70%的压缩率。一.命令格式gzi...
2018-12-01 09:37:00
202
转载 linux每日命令(31):tar命令
tar命令可以为linux的文件和目录创建档案。利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。首先要弄清两个概念:打包和压缩。打包...
2018-11-30 11:02:00
212
转载 raise EnvironmentError("%s not found" % (mysql_config.path,)) EnvironmentError: mysql_config not...
报错信息如下: Downloading https://pypi.tuna.tsinghua.edu.cn/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a3a202652828c73453cad/MySQL-python-1.2.5.zip (108kB) 100% |██████████████████████...
2018-11-29 17:00:00
1036
转载 linux每日命令(30):Linux 用户及用户组相关文件、命令详解
一. 用户、用户组概念及其文件结构详解Linux用户只有两个等级:root及非root。Linux中还有一部分用户,如:apache、mysql、nobody、ftp等,这些也都是非root用户,即普通用户。Linux的权限实际是上不同用户所能访问的文件的不同产生的假象。而这些假象的造成,还要涉及到另外一个概念:用户组一个用户至少要属于一个用户组一个用户可以属于多个用户组用户...
2018-11-29 12:17:00
340
转载 解决Nginx出现403 forbidden (13: Permission denied)报错的四种方法
我是在在本地用虚拟机中通过yum安装nginx的,安装一切正常,但是访问时报403,于是查看nginx日志,路径为/var/log/nginx/error.log。打开日志发现报错Permission denied,详细报错如下:2018/11/28 11:39:40 [error] 41772#41772: *130 "/home/hc/dists/autoAweme/dist/i...
2018-11-28 19:38:00
182
转载 uwsgi -- unavailable modifier requested: 0 -- 的解决办法
nginx 报错upstream prematurely closed connection while reading response header from upstream说明是上游服务器出现了问题所以是uwsgi出现问题uwsgi 报错uwsgi -- unavailable modifier requested: 01. 解决办法一此时uwsgi是用yum安装的...
2018-11-28 19:37:00
520
转载 linux每日命令(29):chown命令
chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。系统管理员经常使用chown命令,在将文件拷贝到另一个用户的名录下之后,让用户拥有使用该文件的权限。一.命令格式:chown [选项]... [所有者][:[组]] 文件...二.命令功能:通过chown改变文件的拥有者和群组。...
2018-11-28 13:24:00
144
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人