- 博客(53)
- 资源 (11)
- 收藏
- 关注
原创 用selenium+php-webdriver实现抓取淘宝页面
用selenium+php-webdriver实现抓取淘宝页面by Minirplus on 2015-05-08 in DEV功能:实现抓取淘宝店铺商品信息,绕过淘宝防抓取策略环境Windows 8.1selenium-2.44.0ChromeDriver 2.15php-webdriverChrome安装selenium在http://selenium-release.storage.googleapis.com/index.html找到最新的版本,下载selenium-server
2020-06-03 15:50:06 2458
转载 PHP 底层的运行机制与原理
PHP 底层的运行机制与原理PHP说简单,但是要精通也不是一件简单的事。我们除了会使用之外,还得知道它底层的工作原理。PHP是一种适用于web开发的动态语言。具体点说,就是一个用C语言实现包含大量组件的软件框架。更狭义点看,可以把它认为是一个强大的UI框架。了解PHP底层实现的目的是什么?动态语言要像用好首先得了解它,内存管理、框架模型值得我们借鉴,通过扩展开发实现更多更强大的功能,优化我们...
2020-03-10 13:00:47 224
原创 武汉疫情资源调配系统(民间组织)wuhan2020项目
本项目旨在收集各医院、酒店、工厂、物流、捐赠、捐款、预防、治疗、动态等信息,统一收集,统一发布,以便各方之间进行信息互通,有效调配社会资源操作流程如下文字流程描述1.数据提供者需要申请石墨文档的账号密码 (石墨文档的网站: https://shimo.im/login) 点击可以登录2.先填写志愿者统计表,获得编辑权限 (点击这里申请)3.获得权限后,需要把自己核实好的信息,填入石...
2020-01-29 23:02:03 788
原创 函数 变颜色 echo 字符串改变颜色
base_dump.sh 文件复制到项目目录下,然后定义常用方法. 文件名称 dump_function.shfunction dump_error(){ ./base_dump.sh "$1" red-b}function dump_warning(){ ./base_dump.sh "$1" red}function dump(){ ./base_dump....
2020-01-27 22:24:26 242
原创 http header php header使用和笔记
//定义编码header( 'Content-Type:text/html;charset=utf-8 '); //Atomheader('Content-type: application/atom+xml'); //CSSheader('Content-type: text/css'); //Javascriptheader('Content-type: text/java...
2020-01-21 16:10:04 201
原创 nginx 缓存配置
高并发的三剑客 缓存、降级和限流缓存分类应用服务器端缓存redis 、 memcache 、文件缓存、mongodb,等代理服务器缓存一般是文件缓存,或者redis客户端缓存一般采用浏览器数据库缓存,或者内存机制缓存nginx 缓存模块配置upstream imooc { server 192.168.1.112:8001; ...
2020-01-21 15:57:40 234
原创 正则限定开头和取反 (否)
用法一: 限定开头文档上给出了解释是匹配输入的开始,如果多行标示被设置成了true,同时会匹配后面紧跟的字符。 比如 /^A/会匹配"Ane"中的A,但是不会匹配"ab A"中的A用法二:(否)取反当这个字符出现在一个字符集合模式的第一个字符时,他将会有不同的含义。 比如: /[^a-z\s]/会匹配"my 3sisters"中的"3" 这里的”^”的意思是字符类的否定...
2020-01-19 09:15:15 2580
原创 整理--针对强类型语言自动转换数据类型--自动对数据验证类型并过滤
/** * 自动对数据验证类型并过滤 * @param $data $data 要过滤的数据。支持String|Number|array * @param bool $str_to_int 数字字符串是否需要转为整形 * @param bool $decode 是否逆解析数据 * @param string $default 为null的默认值 * @return ar...
2020-01-08 15:42:00 254
原创 php 实现 tail -f的功能
php 实现 tail -f的功能#!/usr/local/php/bin/php<?phpif (2 != count($argv)) { fwrite( STDERR, "调用格式错误!使用格式 ./tail filename".PHP_EOL ); return 1;}$file_name = $argv[1];...
2020-01-08 15:10:33 707
原创 php 不阻塞执行的方式总结,这些是基础的
php 用linux 后台不阻塞执行 脚本文件 nohup cp 大文件 /目录shell_exec("nohup php /vagrant/html/cli.php /order{$v['id']} {$k} > /dev/null 2>&1 &");php fastcgi_finish_request 此函数冲刷(flush)所有响...
2020-01-06 14:43:42 1083
原创 php cli 输出带有颜色的字体
class FormatOutput{ private $log = ''; private $start = ''; private $end = "\033[0m"; private $cli = true; private $color = ''; private $background = false; public funct...
2020-01-06 14:35:56 895
原创 缓存穿透,大面积key失效的解决方案
缓存穿透,大面积key失效的解决方案<?phpclass cacheBreakdown{ public $redis; public $queueName = 'queue_name'; public $error = ''; public $surviveTime = 20;//存活时间,以秒计算 //总共有两种解决方案 ...
2019-12-26 14:15:03 465 1
转载 python3 pip3安装
python3和pip3安装和问题解决python3安装前,最好先安装下依赖包:yum install -y openssl-develyum install -y opensslyum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdb...
2019-12-26 10:14:10 389
原创 生成不会重复的订单号码 不会重复 订单号
<?php/** * 生成不会重复的订单号 * @param mixed|null $prefix * 为null的时候没有前缀, * 为空字符串的时候,按年计算前缀,34年不会重复 * @param bool $bigOrder * 为false的时候表示订单量较小 * 为true的时候表示订单量较大 * @return s...
2019-12-25 17:38:16 350
转载 docker 的 link 和 network 网络互连问题
docker 的 link 和 network 网络互连问题docker的每个容器相当于有个内网地址。比如 mymysql 容器172.17.0.2,mynginx 容器为172.17.0.3 ,那么他们的通信机制是连到了 docker0 这个bridge,大概如下图:容器之间互相访问,一般形式是:ip+端口,比如:// 进入容器:docker run exec -it /bin/bash...
2019-12-23 18:21:52 804
原创 centos 配置服务器间目录共享
俩台机子,192.168.168.18 192.168.168.30,将18的 abc 目录共享1.安装rpcbind 命令yum -y install nfs-utils rpcbind2.启动rpcbind 命令service rpcbind start3.启动nfs 命令systemctl start nfs-server.service #cent...
2019-12-23 16:14:11 555
原创 php提示 No input file specified 错误的解决办法
php提示 No input file specified 错误的解决办法原理任何对.php文件的请求,都简单地交给php-cgi去处理,但没有验证该php文件是否存在。PHP文件不存在,没办法返回普通的404错误,它返回 一个404,并带上一句”No input file specified”另外,还可能跟 路径或者 权限有关系,或者SCRIPT_FILENAME 变量没有被正确的...
2019-12-20 16:26:23 13125
原创 设计模式- 模板模式
本文为大家介绍的是php设计模式中的 Template (模板模式)示例代码,感兴趣的同学参考下。定义一个操作中的算法骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构可以定义该算法的某些特定步骤继承关系由于自身的缺陷,被专家们扣上了“罪恶”的帽子。“使用委派关系代替继承关系”,“尽量使用接口实现而不是抽象类继承”等等专家警告,让我们这些菜鸟对继承“另眼相看”。其实,继承还是有很...
2019-12-20 15:33:04 103
原创 safe-rm 代替 rm 防止误删除重要东西
safe-rm 代替 rm 防止误删除重要东西特别是防止 rm -rf /1、下载safe-rm,下载地址:https://launchpad.net/safe-rm/+downloadwget https://launchpadlibrarian.net/188958703/safe-rm-0.12.tar.gz2、解压safe-rmtar -zxvf safe-rm-0.12.ta...
2019-12-18 19:16:15 184
原创 一个很简单的协程任务调度demo
<?phpclass Task{ protected $taskId; protected $coroutine; protected $sendValue = null; protected $beforeFirstYield = true; public function __construct($taskId, Generator $cor...
2019-12-18 14:19:58 243
原创 设计模式- 组合模式
<?php/** * 组合模式 * * 将对象组合成树形结构以表示"部分-整体"的层次结构,使得客户对单个对象和复合对象的使用具有一致性 */abstract class MenuComponent{ public function add($component) { } public function remove($componen...
2019-12-18 11:50:23 118
转载 设计模式----状态模式
允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它所属的类状态state模式是GOF23种模式中的一种,和命令模式一样,也是一种行为模式。状态模式和命令模式相当像,一样是“接口—实现类”这种模式的应用,是面向接口编程原则的体现。状态模式属于对象创建型模式,其意图是允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了他的类。比较常见的例子是在一个表示网络连接的类TCP...
2019-12-18 11:20:18 101
原创 php库和资源
PHP开发资源速查表依赖管理Composer Installers - 一个多框架Composer库安装器Composer/Packagist - 一个包和依赖管理器Melody - 一个用于构建Composer脚本文件的工具Pickle - 一个PHP扩展安装器Composed - 一个在运行时解析你项目Composer环境的库Composer Checker - 一个校验Comp...
2019-12-18 09:35:40 1377
原创 supervisor 进程管家 永不挂掉的进程
1.安装:a. wget方式 (对python版本要求比较严格。)cd /usr/local/lee #这个lee是我自己建立的一个目录wget https://pypi.python.org/packages/7b/17/88adf8cb25f80e2bc0d18e094fcd7ab300632ea00b601cbbbb84c2419eae/supervisor-3.3.2.ta...
2019-12-17 14:36:42 256
转载 升级python到2.7.13
1、查看Centos版本及python版本:[root@localhost ~]# cat /etc/centos-releaseCentOS Linux release 7.3.1611 (Core) [root@localhost ~]# python -VPython 2.7.52、从官网下载相应的Python包(以2.7.13为例):wget https://www.pyth...
2019-12-16 18:51:02 217
原创 vagrant 的一些笔记
vagrant 是管理虚拟机的一个软件,可以很方便的在本地搭建虚拟主机。vagrant 需要配合 虚拟机软件 (vm、virtualbox等)一般是virtualbox软件增加box文件到环境中vagrant box add docker_1.1 D:/vagrantbox/centos/opscode_centos-7.0_chef-provisionerless.box...
2019-12-16 11:15:48 233
原创 对于IP地址、子网掩码、默认网关、DNS服务器、MAC地址的一些理解
首先IP地址网络通信是通过ip找寻主机的信息子网掩码相当于是锁定地区找人一样,必须配合ip地址一起使用。A类 从1.0.0.0 到126.255.255.255B类 从128.0.0.0到191.255.255.255C类 从192.0.0.0到223.255.255.255请来一位先生主持公道,先生这么来操作:192.168.1.0-192.168.1.63 分给大儿子192...
2019-12-16 10:44:21 913
原创 php 取余的一些笔记
取模5 mod 3 = 2-5 mod 3 = 15 mod -3 = -1-5 mod -3 = -2取余5 rem 3 = 2-5 rem 3 = -25 rem -3 = 2-5 rem -3 = -2取余,遵循尽可能让商大的原则取模,遵循尽可能让商小的原则经过测试,在C/C++, C#, JAVA, PHP这几门主流语言中,’%’运算符都是做取余运算,而在pytho...
2019-12-13 11:11:07 671
原创 vscode快捷键
选中选中当前行 Ctrl + I选择所有出现在当前选中的词汇-操作 Ctrl + F2同时选中所有匹配的Ctrl+Shift+L查找替换 Ctrl+H选中字符搜索,在搜索到的结果中同时编辑 ctrl + shirt + L跳转跳转到定义处:F12 / alt+点击、匹配花括号的闭合处,跳转 Ctrl + Shift + |从定义处往回跳 alt+左键移动...
2019-12-12 18:47:56 237
转载 Redis的过期策略和内存淘汰机制
过期策略 我们set key的时候,都可以给一个expire time,就是过期时间,指定这个key比如说只能存活1个小时,我们自己可以指定缓存到期就失效。如果假设你设置一个一批key只能存活1个小时,那么接下来1小时后,redis是怎么对这批key进行删除的?答案是:定期删除+惰性删除所谓定期删除,指的是redis默认是每隔100ms就随机抽取一些设置了过期时间的key,检查其是否过期...
2019-12-12 17:06:13 97
转载 Linux top命令的用法详细详解
Linux top命令的用法详细详解首先介绍top中一些字段的含义:VIRT:virtual memory usage 虚拟内存1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量RES:resident memory usage 常驻内存1、进程当前使用的内存大小,但不包括swap...
2019-12-12 16:46:53 146
原创 预先生成一些随机的令牌
<?php//生成令牌$arr = range(100, 999);//shuffle 打乱令牌shuffle($arr);//防止存入信息过长。信息分块存储$arr = array_chunk($arr, 10);$redis = new \Redis();$redis->connect('192.168.168.30');$redis->auth('red...
2019-12-12 16:42:08 188
原创 Docker基础命令学习
Docker基础命令学习二、Docker 入门Docker是什么?Docker 是一个开源的应用容器引擎,你可以将其理解为一个轻量级的虚拟机,开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上。为什么要使用 Docker?作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势。更高效的利用系统资源由于容器不需要进行硬...
2019-12-10 18:43:00 116
原创 redis 主从、读写 相关
1.配置主从 主:6379 从6380a,配置主从复制方式一、新增redis6380.conf, 加入 slaveof 192.168.152.128 6379, 在6379启动完后再启6380,完成配置;b,配置主从复制方式二、redis-server --slaveof 192.168.152.128 6379 临时生效c,查看状态:info replicationd,...
2019-12-10 18:14:27 464
转载 Linux模拟网络延迟、丢包等
1.netemnetem 是 Linux 2.6 及以上内核版本提供的一个网络模拟功能模块。该功能模块可以用来在性能良好的局域网中,模拟出复杂的互联网传输性能,诸如低带宽、传输延迟、丢包等等情况。使用 Linux 2.6 (或以上) 版本内核的很多发行版 Linux 都开启了该内核功能,比如Fedora、Ubuntu、Redhat、OpenSuse、CentOS、Debian等等2.tct...
2019-12-10 17:05:58 414
原创 redis 实现消息队列的代码。
redis 实现消息队列的代码。<?phpini_set('default_socket_timeout', -1);try{ $redis = new \redis(); $redis->pconnect('127.0.0.1'); $redis->setOption(\Redis::OPT_READ_TIMEOUT, -1); $redi...
2019-12-10 11:55:06 365
原创 2.0 php写的服务器,升级版本
2.0 php写的服务器,升级版本支持信号处理使用的是epoll io复用模型事件监听。<?php/** * Created by PhpStorm. * User: Sixstar-Peter * Date: 2018/11/14 * Time: 21:04 */class Server{ private $_mainSocket; private ...
2019-12-10 09:14:33 111
原创 1.0 php写的一个简单的多进程服务器
php写的一个简单的多进程服务器。<?phpclass server{ public $port; public $ip; protected $server; public function __construct($ip = '0.0.0.0', $port) { $this->ip = $ip; ...
2019-12-10 09:08:23 133
原创 redis 的一些理解
1.redis 单台容易出现故障2.单台会 出现读写的瓶颈3.单台可能会出现容量(20G)不够的问题。解决思路逐步演进:1.先主从备份,防止单台故障出现缓存不可用的问题。2.然后读写分离,配合哨兵机制,可以实现读写瓶颈的一些问题,以及故障的发现和转移。3.利用在应用层使用一致性哈希等的手段,可以实现redis的扩容,但是不容易扩展以及收缩。4.redis cluster 是redis...
2019-12-09 12:11:17 87
lnmp 环境 docker-compose 一键搭建
2021-05-26
全国城市列表,带经纬度,.sql
2020-01-22
Microsoft VS Code.zip
2020-01-13
简短的语言描述 设计模式
2019-12-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人