会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
zhaijihai
博客园
首页
新随笔
联系
管理
订阅
随笔- 150 文章- 2 评论- 4 阅读-
99934
01 2019 档案
高阶函数,柯里化
该文被密码保护。
posted @
2019-01-31 16:19
zhaijihai
阅读(4)
评论(0)
推荐(0)
编辑
爬虫Scrapy框架
摘要:安装scrapy Scrapy架构图: Scrapy Engine(引擎):负责Spider, ItemPipeline, Dowmloads, Scheduler 中间件的通讯, 信号,数据的传递等. Scheduler(调度器): 他负责接受引擎发过来的Request请求,并按照一定的方式进行整
阅读全文
posted @
2019-01-24 16:35
zhaijihai
阅读(205)
评论(0)
推荐(0)
编辑
BeautifulSoup
摘要:标签参数tag,他可以传一个标签的名称或多个标签名称组成的Python列表做标签参数. 属性参数attributes使用一个Python字典封封装一个标签的若干属性和对应的属性值. 在运行带有class的属性查找是会报错: 不过,可以用Beautiful提供的臃肿的方案:在class后面加一个下划线
阅读全文
posted @
2019-01-24 11:13
zhaijihai
阅读(188)
评论(0)
推荐(0)
编辑
爬虫之selenium使用
摘要:详细使用链接: 点击链接 selenium介绍: selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果,可支
阅读全文
posted @
2019-01-23 20:56
zhaijihai
阅读(953)
评论(0)
推荐(0)
编辑
爬虫之BeautifulSoup
摘要:BeautifulSoup是一个模块,该模块用于接收一个HTML或XML字符串,然后将其进行格式化,之后便可以使用他提供的方法进行快速查找指定元素,从而使得在HTML或XML中查找指定元素变得简单。 1. name,标签名称 2. attr,标签属性 3. children,所有子标签 4. des
阅读全文
posted @
2019-01-23 11:20
zhaijihai
阅读(178)
评论(0)
推荐(0)
编辑
urllib模块
摘要:urlopen方法 User-agent urllib.parse模块 从运行结果来看冒号,斜杆,&,等号,问号等符号全部被编码,%之后实际上是单字节十六进制表示的值. 一般来说url中的地址部分,一般不需要使用中文路径,但是参数部分,不管GET还是POST方法,提交的数据中,可能有斜杠,等号,问号
阅读全文
posted @
2019-01-22 11:44
zhaijihai
阅读(120)
评论(0)
推荐(0)
编辑
爬虫基础 - Robots协议
摘要:Robots协议 指定一个robots.txt文件,告诉爬虫引擎怎么爬取 https://www.taobao.com/robots.txt 其他爬虫,不允许爬取 User-Agent: * DisalloW: / 这是一个君子协定,'爬亦有道' 这个协议为了让搜索引擎更有效搜索自己的内容
阅读全文
posted @
2019-01-21 20:18
zhaijihai
阅读(713)
评论(0)
推荐(0)
编辑
爬虫基本流程及简单爬取网页
摘要:一 基本流程: 二 请求与响应 三 Request 四 Response 五 总结及爬取梨视屏网站
阅读全文
posted @
2019-01-21 19:01
zhaijihai
阅读(5859)
评论(0)
推荐(0)
编辑
基础知识复习,查漏1
摘要:continue 中断此次循环,进行下一次循环 有时候用法与else一样,但推荐用continue break 终止当前循环 数字的函数处理 import math math.floor(2.5) 2 math.ceil(2.5) 3 math.round() 4舍6入5取偶 pow(x,y)等于x
阅读全文
posted @
2019-01-21 12:25
zhaijihai
阅读(159)
评论(0)
推荐(0)
编辑
MongoDB基础知识
摘要:一 MongoDB基础知识 1、文档是MongoDB的核心概念。文档就是键值对的一个有序集{'msg':'hello','foo':3}。类似于python中的有序字典。 2、集合就是一组文档。如果将MongoDB中的一个文档比喻为关系型数据的一行,那么一个集合就是相当于一张表 3、数据库:在Mon
阅读全文
posted @
2019-01-18 20:01
zhaijihai
阅读(336)
评论(0)
推荐(0)
编辑
git在使用中出现 refusing to merge unrelated histories如何解决?
摘要:一、GIT的使用 解决方法:
阅读全文
posted @
2019-01-18 18:46
zhaijihai
阅读(1735)
评论(0)
推荐(0)
编辑
Redis常见操作
摘要:1. 对于key的所有操作 del key1 key2 … keyn 作用:删除1个或者多个键返回值:不存在的key忽略掉,返回真正删除的key的数量 rename key newkey 作用:给key附一个新的key名注:如果说newkey的值已经存在,则newkey的原值被覆盖 renamenx
阅读全文
posted @
2019-01-17 19:01
zhaijihai
阅读(186)
评论(0)
推荐(0)
编辑
Redis缓存技术
摘要:1、Redis功能介绍 高速读写数据类型丰富 (笔试、面试)*****支持持久化 (笔试、面试)*****多种内存分配及回收策略支持事务 (面试) ****消息队列、消息订阅 支持高可用 ****支持分布式分片集群 (面试) *****缓存穿透\雪崩(笔试、面试) *****Redis API **
阅读全文
posted @
2019-01-17 18:58
zhaijihai
阅读(327)
评论(0)
推荐(0)
编辑
Python作用域-->闭包函数-->装饰器
摘要:1.作用域: 在python中,作用域分为两种:全局作用域和局部作用域。 全局作用域是定义在文件级别的变量,函数名。而局部作用域,则是定义函数内部。 关于作用域,我要理解两点:a.在全局不能访问到局部定义的变量 b.在局部能够访问到全局定义的变量,但是不能修改全局定义的变量(当然有方法可以修改) 下
阅读全文
posted @
2019-01-16 20:53
zhaijihai
阅读(272)
评论(0)
推荐(0)
编辑
MySQL之备份恢复
摘要:1.备份的种类 逻辑备份:SQL语句的备份 物理备份:数据页备份 2.逻辑备份工具介绍 3.主从复制 基于二进制日志完成的. Master slave 3307 >3308 3.1 3307中创建复制用户 主库开启二进制日志 3.2 3308节点开启主从复制功能
阅读全文
posted @
2019-01-16 19:43
zhaijihai
阅读(153)
评论(0)
推荐(0)
编辑
MySQL日志
摘要:1.错误日志 log_error=/var/log/mysql.log 分析[error] 2.二进制日志(binlog,逻辑型日志) 2.1作用 记录所有变更类的语句 DDL,DCL :以语句方式(statement)记录 DML(已提交的事务语句):默认是以行模式记录(row模式,数据行的变化)
阅读全文
posted @
2019-01-16 19:36
zhaijihai
阅读(197)
评论(0)
推荐(0)
编辑
MySQL存储引擎与事务
摘要:1.作用 和磁盘的数据打交道 2.简介 MySQL 基于存储引擎管理 表空间数据数据文件 3.种类 Innodb存储引擎ibd:存储表的数据行和索引frm:表基本结构信息Myisam存储引擎frmmyi myd 4.Innodb存储引擎核心特性 4.1事务的基本特性ACID特性: 1.原子性(Ato
阅读全文
posted @
2019-01-16 19:17
zhaijihai
阅读(435)
评论(0)
推荐(1)
编辑
在数据库查询中不走索引的情况与压力测试
摘要:重点关注: 1) 没有查询条件,或者查询条件没有建立索引 例如: 在业务数据库中,特别是数据量比较大的表。是没有全表扫描这种需求。 1、对用户查看是非常痛苦的。 2、对服务器来讲毁灭性的。 例如: 2) 查询结果集是原表中的大部分数据,应该是25%以上。 查询的结果集,超过了总数行数25%,优化器觉
阅读全文
posted @
2019-01-15 23:49
zhaijihai
阅读(1906)
评论(0)
推荐(0)
编辑
数据库索引的设计原则
摘要:1.选择的唯一性 唯一性索引的值是唯一的,可以更快速的通过该索引来确定某条记录。例如,学生表中学号是具有唯一性的字段。为该字段建立唯一性索引可以很快的确定某个学生的信息。如果使用姓名的话,可能存在同名现象,从而降低查询速度。 主键索引和唯一键索引,在查询中使用是效率最高的。 注意:如果重复值较多,可
阅读全文
posted @
2019-01-15 23:38
zhaijihai
阅读(4813)
评论(0)
推荐(0)
编辑
MySQL初始化设置
摘要:1 初始化数据: 2 配置文件 3 多实例(3307 3308 3309) 4 测试 5 systemd管理多实例 6.忘记密码处理 7.数据类型和字符集
阅读全文
posted @
2019-01-15 23:29
zhaijihai
阅读(9170)
评论(0)
推荐(0)
编辑
MySQL索引
摘要:索引分类: 我们常说的索引一般指的是BTree(多路搜索树)结构组织的索引。其中还有聚合索引,次要索引,复合索引,前缀索引,唯一索引,统称索引,当然除了B+树外,还有哈希索引(hash index)等。 覆盖索引就是:在辅助索引使用的时候,要查多个字段,且这几个字段都创建了辅助索引,不用回表查询.
阅读全文
posted @
2019-01-15 20:48
zhaijihai
阅读(152)
评论(0)
推荐(0)
编辑
MySQL与Btree
摘要:Btree,B+tree,B*tree 平衡多路查找树(B-Tree) B-Tree是为磁盘等外存储设备设计的一种平衡查找树。因此在讲B-Tree之前先了解下磁盘的相关知识。 系统从磁盘读取数据到内存时是以磁盘块(block)为基本单位的,位于同一个磁盘块中的数据会被一次性读取出来,而不是需要什么取
阅读全文
posted @
2019-01-15 20:34
zhaijihai
阅读(3698)
评论(0)
推荐(0)
编辑
MySQL索引优化案例浅析
摘要:案例分析: 场景一:订单导入,通过交易号避免重复导单 业务逻辑:订单导入时,为了避免重复导单,一般会通过交易号去数据库中查询,判断该订单是否已经存在. 最基础的sql语句: sql语句和查询都没有问题,但是功能一旦上线,查询慢的问题就迎面而来,几百万,几千万的订单,用全表扫描???那就完了....
阅读全文
posted @
2019-01-15 18:44
zhaijihai
阅读(669)
评论(0)
推荐(0)
编辑
explain(desc)命令的使用
摘要:获取 type:查询类型 1.可以判断出,全表扫描还是索引扫描(ALL就是全表扫描,其他就是索引扫描) 2.对于索引扫描来讲,可以西划分,可以判断是哪一种扫描 type的具体类型介绍: ALL:全表扫描 Index:全索引扫描 range:索引范围扫描 union all 不去重 union 会去重
阅读全文
posted @
2019-01-15 15:52
zhaijihai
阅读(363)
评论(0)
推荐(0)
编辑
Mysql2索引
摘要:索引分类: 作用:优化查询,select查询有三种情况:缓存查询(不在mysql中进行数据查询),全表查询,索引扫描 Btree(btree b+tree b*tree) Rtree HASH FullText Btree分类: 聚集索引:基于主键,自动生成的.一般是建表时创建主键,如果没有主键,自
阅读全文
posted @
2019-01-15 12:58
zhaijihai
阅读(164)
评论(0)
推荐(0)
编辑
Mysql2
摘要:Mysql5.7 1.初始化数据: 2.配置文件 主要实在启动的时候,一些命令后面需要跟一串数据,为了使用方便,可以将其写入配置文件 mysql -uroot -123 >mysql 作用: 1.影响mysql的启动 标签:[mysqld] [mysql_safe] [server] ... 2.影
阅读全文
posted @
2019-01-15 10:12
zhaijihai
阅读(195)
评论(0)
推荐(0)
编辑
如何优雅的,灵活的把想要展示的数据传给前端
摘要:先在后台处理要发送的数据: 前端数据渲染:
阅读全文
posted @
2019-01-14 21:05
zhaijihai
阅读(775)
评论(0)
推荐(0)
编辑
利用AES算法加密数据
摘要:准备工作: 模块安装问题: 实现逻辑
阅读全文
posted @
2019-01-14 20:53
zhaijihai
阅读(328)
评论(0)
推荐(0)
编辑
MySql语句
摘要:DDL 库: SQL语句规范第一条: 表: SQL语句规范第二条: DCL DML SQL语句规范第三条: DQL: SQL语句规范第四条: 数据类型与字符集 SQL语句规范第五条: int 最多存10位数字 1.少于10位数字的int,大于10位数char,例如手机号 2.
阅读全文
posted @
2019-01-14 11:17
zhaijihai
阅读(175)
评论(0)
推荐(0)
编辑
在setting中实现可拔插的插件功能实现
摘要:1.setting配置信息 在配置文件中通过对插件进行注释来实现可拔插,例如在配置中将其注释,则在使用此功能不起作用,注释取消后则可正常使用
阅读全文
posted @
2019-01-10 18:50
zhaijihai
阅读(264)
评论(0)
推荐(0)
编辑
用hashlib生成动态token
摘要:生成token:
阅读全文
posted @
2019-01-10 18:19
zhaijihai
阅读(277)
评论(0)
推荐(0)
编辑
cmdb相关
该文被密码保护。
posted @
2019-01-09 22:42
zhaijihai
阅读(1)
评论(0)
推荐(0)
编辑
如何在python项目中写出像Django中一样功能的settings
摘要:一 核心文件目录结构 二 实现代码 在setting中取值:
阅读全文
posted @
2019-01-09 20:18
zhaijihai
阅读(360)
评论(0)
推荐(0)
编辑
CMDB实现的四种方式
摘要:第一种(agent): 这种方式是通过向每一台服务器安装agent脚本,然后通过中控机的API,来收集所需要的数据,最后放到数据库中,在通过web的方式显示出来. 实现流程图: 第二种(ssh) 这种方式是通过中控机通过ssh的方式类似于shell向每台服务器发送命令,然后得到数据返回给中控机,中控
阅读全文
posted @
2019-01-08 17:04
zhaijihai
阅读(690)
评论(0)
推荐(0)
编辑
如何删除Docker中的镜像相关
摘要:1.正常情况下 2.当上面的步骤删不掉时 当出现这种情况时:
阅读全文
posted @
2019-01-07 19:52
zhaijihai
阅读(1631)
评论(0)
推荐(0)
编辑
数据卷与私有仓库
摘要:1.数据卷 2.制作私有仓库 2.1配置私有仓库 2.2使用本地镜像:
阅读全文
posted @
2019-01-07 19:09
zhaijihai
阅读(158)
评论(0)
推荐(0)
编辑
容器基本管理
摘要:1.容器的类型 工具类:vim 工具类的容器一般都是 -it启动 (交互式启动) 服务类:nginx 服务类容器需要-d 放在后台去运行,去映射他的端口到本地 2.容器的多类启动方式 2.1交互式启动 2.2守护式启动 3.容器的常用管理命令
阅读全文
posted @
2019-01-07 19:03
zhaijihai
阅读(183)
评论(0)
推荐(0)
编辑
Docker容器技术
摘要:1.环境准备: 2.配置镜像加速 阿里云Docker-hub https://cr.console.aliyun.com/cn-hangzhou/mirrors 3.常管管理 3.1获取镜像: 3.2查询镜像 3.3删除镜像 3.4导入导出镜像 3.5启动容器并获取镜像 4.docker一步一步学习
阅读全文
posted @
2019-01-07 18:53
zhaijihai
阅读(248)
评论(0)
推荐(0)
编辑
Python在运维工作中的经典应用之ansible
摘要:1.安装ansible 克隆虚拟机 2.管理被控端,管理机先生成秘钥,然后推送公钥 多台机器情况下: 3.配置被管理的主机清单 4.使用ansible的ad-hoc测试 5.ansible playbook自动化安装nginx 6.default.conf.template文件如下 7.执行ansi
阅读全文
posted @
2019-01-07 17:33
zhaijihai
阅读(793)
评论(0)
推荐(0)
编辑
BBS项目部署
摘要:1.准备 项目架构为:LNM+Python+Django+uwsgi+Redis (L:linux,N:nginx,M:mysql) 将bbs项目压缩上传到: /opt 在shell中直接拖拽 1.1将sql文件导出,传到opt(选择结构和数据) 1.2不要用数字与大写开头的库名,尽量使用小写(字符
阅读全文
posted @
2019-01-07 17:20
zhaijihai
阅读(298)
评论(0)
推荐(0)
编辑
BBS项目部署之数据库的处理
摘要:一 数据库的处理: 1.1上传bbs.sql(数据库中的数据) 1.2在mysql中创建bbs库,并导入数据库SQL脚本 在mysqld的文件夹中: 1.3查看项目settings.py配置文件,修改以下两处的内容: 一般项目名与数据库的用户名相同 二 MySql用户定义: 给用户授权 grant
阅读全文
posted @
2019-01-07 17:04
zhaijihai
阅读(319)
评论(2)
推荐(1)
编辑
关闭linux的防火墙
摘要:有两道防火墙 第一道 第二道 设置在开机时就关闭
阅读全文
posted @
2019-01-04 19:55
zhaijihai
阅读(179)
评论(0)
推荐(0)
编辑
源码包安装(Python mysql redis)
摘要:一 源码包安装 二 经典互联网架构项目 三 二进制包mysql(mysql5.7.20)
阅读全文
posted @
2019-01-04 19:45
zhaijihai
阅读(376)
评论(0)
推荐(0)
编辑
Linux包管理及yum
摘要:1.光盘挂载 2.安装rpm包 3.卸载 卸载rpm rpm -e vsftpd-3.0.2-22.el7.x86_64 which vim :查看命令具体路径在哪 rpm -qf /usr/bin/vim :在rpm -qf加命令的路径,查看命令来自那个包 rpm -ql 软件包名:查询软件产生的
阅读全文
posted @
2019-01-04 19:37
zhaijihai
阅读(136)
评论(0)
推荐(0)
编辑
Linux命令(补充)
摘要:1.查看已启动服务的端口: netstat -tulnp |grep 80 ss -tulnp|grep 802.查看全部已启动的端口:netstat -tulnp3.查看当前目录:pwd4.关闭某个端口:kill -9 555(端口号)5.杀掉某个进程pkill nginx(进程名)6.开启每个程序systemctl start nginxsystemctl enable nginx # ...
阅读全文
posted @
2019-01-04 19:22
zhaijihai
阅读(171)
评论(0)
推荐(0)
编辑
在linux上配置Django项目
摘要:依赖包 1. 安装Python3 2. 安装Django框架和uwsgi 安装Django项目中所用到的包 3. 测试uwsgi是否正常,新建test.py文件,内容如下: 接下来在终端运行: 4. 测试Django是否正常,运行: 在浏览器内输入:http://127.0.0.1:8002,检查d
阅读全文
posted @
2019-01-04 19:14
zhaijihai
阅读(463)
评论(0)
推荐(0)
编辑
Linux命令(基础3)
摘要:关机重启 reboot poweroff ============================ linux命令分类 1.针对不同文件的管理命令 1.1 目录 FHS 文件系统层次化标准 绝对路径:从"/"开始一个具体路径 相对路径:从当前目录开始的具体路径(pwd可以查看当前所在目录) /3层/oldboy/教室3 /3层/oldboy/教室2 1.1.1 创建目...
阅读全文
posted @
2019-01-03 19:37
zhaijihai
阅读(168)
评论(0)
推荐(0)
编辑
Linux命令(基础2)
摘要:1.命令概要介绍: 查看目录内容:ls 切换目录命令:cd 创建与删除目录:touch(创建文件)、rm(移除文件与目录)、mkdir(创建目录) 拷贝与移动命令:cp(拷贝)、mv(移动) 查看文件:cat、more、grep 其他:echo、重定向>和>> 、管道 | 2.终端使用技巧 tab键
阅读全文
posted @
2019-01-03 19:31
zhaijihai
阅读(166)
评论(0)
推荐(0)
编辑
Linux命令(基础1)
摘要:一 命令的基本构成 (PS:Linux发行版本命令大概有200多个,熟练掌握个百八的就行了,其余的有个大概了解) 1.1参数:文件 文件类型: d :目录f :普通文件l :链接b :块设备,磁盘 光驱c :字符设备p :管道s :套接字 1.2命令提示符 1.3常用快捷键 如果输入的内容没有歧义,
阅读全文
posted @
2019-01-03 19:20
zhaijihai
阅读(167)
评论(0)
推荐(0)
编辑
Linux基础配置
摘要:1 常用软件安装 2 主机名和网络 3 关闭防火墙
阅读全文
posted @
2019-01-03 19:01
zhaijihai
阅读(287)
评论(0)
推荐(0)
编辑
面向对象知识补充1
摘要:1、__setattr__ 1、__setattr__:对属性赋值或修改时候被调用 触发了__setattr__触发了__setattr__{} 从上面结果可以看出,当我们设置属性或者给属性赋值的时候,会调用__setattr__的执行。但为什么对象f的名称空间没有我们设置的name和x两个变量呢?
阅读全文
posted @
2019-01-02 20:38
zhaijihai
阅读(131)
评论(0)
推荐(0)
编辑
linux系统centOS在虚拟机下的自定义安装
摘要:一 前戏 1.1在官网找到合适的版本,镜像文件 1.2安装VMware FF590-2DX83-M81LZ-XDM7E-MKUT4 CG54H-D8D0H-H8DHY-C6X7X-N2KG6 ZC3WK-AFXEK-488JP-A7MQX-XL8YF AC5XK-0ZD4H-088HP-9NQZV-
阅读全文
posted @
2019-01-02 19:23
zhaijihai
阅读(740)
评论(0)
推荐(0)
编辑
sql注入
摘要:一 sql注入 原理:其实就是利用sqld的注释来骗过数据库去操作数据库 -- 是sql的注释,语法为:-- sql语句 1.1一个简单的登陆验证页面来验证用户名和用户密码 1.2sql注入演示 假如我的用户名存在的,不知道密码的情况下情况: 用户名与密码都不知道的情况下: 为什么能登陆成功? 解决
阅读全文
posted @
2019-01-02 09:33
zhaijihai
阅读(219)
评论(0)
推荐(0)
编辑
公告
首页
联系
管理
个人主页
添加随笔
CNBlogs
最新随笔
我的标签
随笔分类
Close Menu
MENU
Scroll Down
昵称:
zhaijihai
园龄:
6年7个月
粉丝:
4
关注:
13
<
2025年2月
>
日
一
二
三
四
五
六
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1
2
3
4
5
6
7
8
搜索
常用链接
我的随笔
我的评论
我的参与
最新评论
我的标签
更多链接
我的标签
Docker
(4)
flask
(3)
vue-cookies
(1)
settings
(1)
RESTful
(1)
redis
(1)
python高级
(1)
mysql优化
(1)
es6
(1)
django中mysql配置
(1)
更多
随笔分类
(96)
CMDB(2)
Django(23)
ES6(1)
flask(1)
Linux(17)
mysql(16)
Python(12)
Redis(6)
rest_framework(8)
爬虫(6)
前端(1)
数据库(3)
随笔档案
(149)
2020年1月(1)
2019年11月(1)
2019年9月(6)
2019年3月(4)
2019年2月(8)
2019年1月(53)
2018年12月(36)
2018年11月(19)
2018年10月(6)
2018年9月(15)
阅读排行榜
1. MySQL初始化设置(9170)
2. 爬虫基本流程及简单爬取网页(5859)
3. 数据库索引的设计原则(4813)
4. Django中ModelViewSet的应用(3708)
5. MySQL与Btree(3698)
评论排行榜
1. BBS项目部署之数据库的处理(2)
2. celery(1)
3. django中实现微信消息推送(1)
推荐排行榜
1. Django-DRF中使用Elasticsearch ,使用IK分词(1)
2. 使用cookiecutter创建django项目(1)
3. MySQL存储引擎与事务(1)
4. BBS项目部署之数据库的处理(1)
最新评论
1. Re:celery
写得赞,作者用心了。但主要还是celery太难了。 此国产分布式函数调度框架 ,从用法调用难度,用户所需代码量,超高并发性能,qps控频精确程度,支持的中间件类型,任务控制方式,稳定程度等19个方面全...
--北风之神0509
2. Re:BBS项目部署之数据库的处理
写的太好了
--wangzhaojin
3. Re:BBS项目部署之数据库的处理
写的真好
--wangzhaojin
4. Re:django中实现微信消息推送
lqz的代码笑哭 哭笑 笑出眼泪 破涕为笑 笑死 笑尿 笑cry
--L-Jason
点击右上角即可分享