文章列表

PHP 带超时功能的 get_headers

, , ,
代码比较多,但是比较简单,一眼就看明白的,so,文字尽量少写了。因为众所周知的网络原因,gavatar也开始越来越慢,写了一个小东西来解决这个问题,过程中遇到了get_headers这个函数,甚是忧伤,记录下来,以免后来人踩坑。 更新记录,函数稍微改了一下,返回值基本和之前序列化后的结果一致,暂时没考虑支持子项也支持数组等(考虑细节性能,还想把没用的http头砍掉....)需求很简单:获取图片的head信息。调试程序的时候发现这个函数的调用很缓慢,即使绑定ip,有时候都能蹦到20多秒。 阅读全文

更靠谱一些的正则表达式验证 JavaScript URL

, ,
看草稿的时候,看到一段代码,想到之前被不知道谁随手抄来的正则坑的内牛满面...下面是一段相对全面的用例测试,可以考虑使用,当然,如果你的要求很简单,用网上传的各种简单版,cover到自己的用例就好。 阅读全文

家庭网络环境折腾笔记二

订的屌丝版NAS到了,于是开始继续折腾,目前效果还算良好,记录一些细节,或许会帮到相同硬件的人。购入设备是WD MY CLOUD 3T,这个NAS有个毛病,是总是只自作主张的扫描磁盘上的数据进行分类,那么,我们要先关了它: 阅读全文

家用网络环境折腾笔记

发一篇没有折腾完,但是折腾完对自己蛮有意义的东西。 阅读全文

WordPress 简单提权工具

团队里管理淘宝团队技术博客的大神只给了我一个可怜巴巴的发布权限。最近在做 D2 的票务相关的事情,缺少系统支撑和服务器资源。于是,考虑借用“淘宝技术博客”的机器来解决问题。我机器用户账号得到了 sudo 权限,可能是出于技术博客对淘宝团队还挺重要的考虑,给我创建的 WordPress 系统里的用户权限只有最低的发布权限。为了解决上面提到的 D2 报名和签到的问题,我写了一个 WordPress 插件。然而因为“淘宝技术博客”使用了一个奇葩的 WordPress 版本,插件激活启用,必须要管理员访问 WordPress 的插件管理页面手动激活,哪怕是通过 mu-plugins 的方式想自动激活都不行。而且每更新一次插件,也都必须“重启”插件才能“刷掉”插件的缓存。因为时间比较赶,这个事情只能等到下班后再做。等我发现这个问题之后,大半夜的,也实在不好意思喊大神起来帮我手动做这个事情,尤其这个事情不能一次性解决。那么,就只好进行一次手动的用户提权啦。 阅读全文

console 的简单替换函数

常常稍不注意就会发现IE低版本或者某个覆写了console的浏览器环境因为调用了console而功能出现了一些意外,或者收集了一堆console undefined的错误,推荐的做法不是对浏览器做shim,而是使用自建的函数去代替程序中使用的console。对于开发过程中,我们需要设置日志输出的等级,去过滤不必要的信息,原生的console目测暂时还不支持这个功能。还有诸如向指定服务器提交错误日志,以供后续优化和bugfix。或者提供性能检查支持,估计还需要多添加一些其他的兼容的收集写法,以及常用的打时间戳功能。 阅读全文

解决 IE11 开发工具无法切换文档模式的问题

,
这个问题比较简单,但是目测网上居然没有人写,记录下来,以免其他人也踩坑。最近测试页面比较频繁,总是登录公司的远程测试服务器或者来回切换虚拟机也不是办法,当然,最后上线前还是得挨着虚拟机逐个测,力求无误,但是开发的时候,使用IE11的话,还是能省很多事情的。可是,莫名其妙的发现我的虚拟机里的IE11的文档模式被锁定成了edge,无法修改。![ie11-default-document] 阅读全文

MacOS X 安装 Closure Linter 出错解决方法谬误

,
最近开始对权限敏感起来,或许是因为NPM使用了内部私有NPM包管理工具的缘故吧,直接执行[官方说明],会报错。 阅读全文

推荐一些软件

老话重提,推荐一些软件,至于虚拟机,服务端软件神马的稍后再整理吧。 阅读全文

Math.random() 随机数的二三事

, ,
看到题目,如果大家平时被问到:如何生成一个怎么样怎么样的整数随机数。估计大家都会不屑,但是当你淡定的回答获取一个范围应该是随机数seeds和区间数值差的乘机与最小数相加然后再怎么怎么的时候...有没有发现你的思维已经固化了呢。这个知识点应该是玩JS肯定会碰到的之一吧。文末有Markdown,可以直接下载阅读,清爽一点。 阅读全文