首页 > 心得分享

【正则表达式】解析命令行参数(附PHP例子)

不知道别人有没有这样的需求,今天下午需要做一个自己的命令系统。 需要解析来自用户传递的命令行字符串。 例如这样的命令行,把里面的命令和参数都提取出来。 cmd -y 10 'test' 考虑一般比较常见的兼容,正则表达式可以直接使用。 // 带分组名 (?:(?<s>['"])?(?<v>.+?)?(?:(?<!\\)\k<s>)|(?<u>[^'"\s]+)) // 不带分组名 (?:(['"])?(.+?)?(?:(?<!\\)\1)|([^'"\s]+)) 一个自己写的比较极端...

JS匿名函数如何反复调用自身实践: 动态加载指定JS列表后执行方法.

这个绝对是造轮子,但是程序员不就是为了反复造轮子而生的吗??? 主要是实践另一个内容,我们经常会使用JS写匿名函数,但我前段时间突然遇到一个问题。 我想写一个匿名函数,但是还想反复调用这个匿名函数。 但是我真心不想污染全局环境(好吧,是做某些不可告人的事,怕被检测到...) JS的方法函数内,提供了一个 arguments 对象,它主要保存了当前方法调用是传递的参数, 同时,还有一个指针变量,指向了本方法本身。 我们可以通过这个方法来实现匿名函数反复调用自身的需求。 (function(scripts, callback) { var this_function = argume...

使用Putty的端口映射功能通过跳板机连接到内网FTP服务器上

根据昨天文章的配置,在网站被黑洞时,会有修改服务器上文件的需求。 特别像我们这样的被攻击专业户,一黑洞就十天已经是家常便饭了。 但是,工作总要继续,网站还是要修改。 已经被黑洞的服务器技术是无法通过FTP连接上了。 但是,我们可以借用Putty的端口映射功能把内网端口映射出来。 具体配置方法如下: 一、打开Putty,主机名写跳板机地址; 二、左侧选择 “连接”=》“SSH”=》“通道” 三、右侧新增映射端口,源端口设置一个本地端口,例如3982; 目的地填写目标服务器的IP与端口,比如192.168.1.16:22; 点击添加,并应用打开,登录到跳板服务器上。 四、本地新开一个Put...

使用阿里云服务器时被DDOS到黑洞时的一种解决方案

使用阿里云ECS服务器容易被DDOS进黑洞而又没钱购买DDOS高防IP时。 并不是没有其他的解决办法,因为有很多ISP提供价格较为低廉的高防服务器。 每个月也才几千块钱,相较阿里云动辄几万每月的高防服务,确实便宜了很多。 本文根据自己的需要,说明了一下如何使用第三方高防服务器为自己清洗流量。 首先,看一下目前使用的流程逻辑。 平时用户端直接访问阿里云的应用服务器。 被攻击时,将域名解析到高防IP上,通过Nginx反向代理回源到阿里云服务器上。 由于阿里云服务器被DDOS时会进黑洞,所以加了一个用来将外网请求映射到内网的代理服务器。 为了提高被攻击时的网站打开速度,高防服务器上会使用静态...

PHP中if($a==false)和if(!$a)哪种写法速度更快?

今天某Q群群主突然问了这么一个问题,并发起了一个投票。 从投票结果上看,多数人都认为 if(!$a) 速度更快。 但是当问道为什么这个速度快的时候,大多数人都沉默了。 其实,包括我也沉默了,因为我选 if(!$a) 速度快的原因是: 可以少写几个符号... 如果这题说的写代码速度的话,我估计这就算是结束了。 但是,我突然很想知道,特么到底是哪个运行效率更高。 虽然我猜想也应该是 if(!$a) ,但是程序并不会因为你认为怎样就怎样。 实践出真知,还是马上写了一堆代码,测试了一下,测试结果如图: 其中,测试了三种不同的写法,每次运行一千万次为结果。 从图中看,显而易见,和我们预想的差...