10

JavaScript中的call、apply、bind方法的异同

js中的call(), apply()和bind()是Function.prototype下的方法,都是用于改变函数运行时上下文,最终的返回值是你调用的方法的返回值,若该方法没有返回值,则返回undefined。这几个方法很好地体现了js函数式语言特性,在js中几乎每一次编写函数式语言风格的代码,都离不开call和apply,能够熟练运用它们,是真正成为一名jser程序员的重要一步。 Continue reading

05

Composer采集功能扩展插件QueyListy

thinkphp thinkCMF Composer采集功能扩展插件QueyListy

安装 composer require jaeger/querylist

——————————

QueryList 简介

QueryList是一套简洁、优雅、可扩展的PHP采集工具(爬虫),基于phpQuery。

特性

  • 拥有与jQuery完全相同的CSS3 DOM选择器
  • 拥有与jQuery完全相同的DOM操作API
  • 拥有通用的列表采集方案
  • 拥有强大的HTTP请求套件,轻松实现如:模拟登陆、伪造浏览器、HTTP代理等意复杂的网络请求
  • 拥有乱码解决方案
  • 拥有强大的内容过滤功能,可使用jQuey选择器来过滤内容
  • 拥有高度的模块化设计,扩展性强
  • 拥有富有表现力的API
  • 拥有高质量文档
  • 拥有丰富的插件
  • 拥有专业的问答社区和交流群

通过插件可以轻松实现诸如:

  • 多线程采集
  • 采集JavaScript动态渲染的页面 (PhantomJS/headless WebKit)
  • 图片本地化
  • 模拟浏览器行为,如:提交Form表单
  • 网络爬虫
  • …..

  Continue reading

02

50 个最佳的轻量级 JavaScript 框架和库

正如你期望的,文中的一些插件可用来创建滑块、图片库、响应式菜单、弹出式窗口以及许多其他常见的组件。同时,你也可以发现一些能够提供独特功能的插件,像旁注工具、GIF 预览、动画图标等。50 个最佳的轻量级 JavaScript 框架和库,前端框架,前端库,JS框架

或许,你可能还想了解下 2015 年 50 个最佳的 JavaScript 集合,以及 50 个最佳的免费 jQuery 插件Continue reading

01

php时间加减,加一天,一小时

php时间加减,php时间加一天,php时间一小时

Continue reading

01

thinkphp5.1中容器(Container)和门面(Facade)的实现

thinkphp 5.1中引入了容器(Container)和门面(Facade)这两个新的类

官方文档已经给出了定义:

容器(Container)实现类的统一管理,确保对象实例的唯一性。

门面(Facade)为容器(Container)中的类提供了一个静态调用接口,相比于传统的静态方法调用, 带来了更好的可测试性和扩展性,你可以为任何的非静态类库定义一个facade类。

深入源码,我们来看看它到底是如何实现的: Continue reading

24

composer为原有项目新添加扩展的安全方法

composer为原有项目新添加扩展的安全方法,使用composer require new/package这种方式来安装。

如果需要增加版本号,则composer require "foo/bar:1.0.0"

另外,在手动修改 composer.json 添加扩展包后,composer update new/package 进行指定扩展包更新的方式,也可以正确的安装,不过不建议使用这种方法,因为,一旦忘记敲定后面的扩展包名,就会进入万劫不复的状态。

composer的三个常用命令install, update, require,注意使用环境。 Continue reading

15

Linux中修改文件时间属性atime(Access time)、mtime(Modified time)、ctime(Change time)

在Linux中,文件没有“创建时间”这个说法。Linux中的文件的时间属性只有三个:atime(Access time)、mtime(Modified time)、ctime(Change time)。不过,有时有人把ctime理解为create time(创建时间),这是不对的,为什么呢?因为,我们知道一个文件的创建时间只有一次,按这个理论,创建时间是不允许修改的,即一个文件一旦创建,它的ctime值就固定不变;但事实呢?是可以改变的。 Continue reading

13

百度推送错误提示{“error”:401,”message”:”token is not valid”}

百度推送错误提示{"error":401,"message":"token is not valid"}

按着官方给出的PHP提交数据方法,怎么弄都是上面的提示,曾经放弃过,但是一直过不来那个坎。

这几天有客户来问,要做这个,还给了我一个织梦的百度推送插件,叫我参考。

那插件也是用得百度官方代码,只是做了个封装,没有测试可用性,但是我认为他还是不可用的。

我用重写了脚本,还是不可用。

最后最后的一个测试,恍然大悟,开悟了,哈哈。

就差API地址最后的这个字符&,官方是没有加的,不知道官方代码是在什么环境下可用。