慎用阿里云CDN 便宜没好货

阿里云的CDN除了价格便宜,其他方面在我看来要走的路还很长很长。

首页,阿里云CDN的控制台界面交互体验非常差劲。经常会遇到:
1.域名在列表中排序不固定,经常会随机变化位置,会导致误操作。
2.用同一个关键词搜索域名,有时能搜到结果,有时搜不到。
3.在对某个域名进行设置时,原本设置的参数会莫名其妙的改变(似乎是变成了别的某个域名的参数)

其次,和传统CDN厂商相比,用户最关注的信息都被藏的很深,放在外边显示的信息又算不上用户最关注的,这就导致例如每次我想确定一个域名的源站ip时,都要找到域名点进去看。

上面说的这些都还凑合能忍受,最恶心的地方也是大家吐槽最多的就是工单。

可以这么说,几乎所有的工单都是在应付和敷衍,想真正解决问题,反反复复的去回复工单是家常便饭。你发现有问题或bug时,明明很高频次的遇到,你好心提工单给阿里云,结果都是回复“无法复现问题”敷衍了事!难道你们的阿里云的产品都是给自己人用的?自己人用的正常就ok了,客户用起来怎样就不管了?

总之,阿里云CDN给我的使用感受,如果满分是10分,我只给1分!这1分是对阿里品牌的固有好印象而已。

利用Swoole实现服务器通过WebSocket主动向浏览器推送数据

WebSocket 协议是基于 TCP 的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信,允许服务器主动发送信息给客户端。

下面的代码演示了利用 Swoole 实现服务器向浏览器主动推送数据的例子。

Server端代码:

 

浏览器端(Client)代码:

 

阳光部落原创,更多内容请访问http://www.sunbloger.com/

在XAMPP中为PHP安装YAML扩展

YAML 简介

YAML(是 YAML Ain’t Markup Language 的缩写,尾音的发音类似 Camel)是一种序列化数据的语言(类似 JSON 和 XML ),使用轻量高可读性的语法描述 list 和 dict 等数据结构。

在 XAMPP 中安装 YAML 扩展

首先,根据你本地的 PHP 版本,去 http://pecl.php.net/package/yaml/ 下载 dll。

将下载的压缩包解开后,把其中的 php_yaml.dll 拷贝到你的 php 扩展目录下(例如:C:\xampp\php\ext)。并将压缩包中的 yaml.dll 拷贝到你的 XAMPP 根目录下。然后重启 apache,通过 phpinfo() 查看是否安装成功。

阳光部落原创,更多内容请访问http://www.sunbloger.com/

用Python3提取网页中的超链接

最近有朋友给我指出,我此前写的博文《用Python提取网页中的超链接》(原文地址:http://www.sunbloger.com/article/442.html)中,给出的代码在Python3下运行报错。下面给出在Python3的代码写法:

阳光部落原创,更多内容请访问http://www.sunbloger.com/

PHP开源框架MiniFramework发布1.0.11版

MiniFramework 是一款遵循 Apache2 开源协议发布的,支持 MVC 和 RESTful 的超轻量级 PHP 开发框架。MiniFramework 能够帮助开发者用最小的学习成本快速构建 Web 应用,在满足开发者最基础的分层开发、数据库和缓存访问等少量功能基础上,做到尽可能精简,以帮助您的应用基于框架高效运行。

MiniFramework于2017年7月16日发布1.0.11版本,变化有:

* 改进转换伪静态地址分隔符的机制
* 优化路由处理伪静态时的性能
* 优化部分核心类的属性
* 优化框架内存占用

MiniFramework 1.0.11 版本下载地址
zip格式:https://github.com/jasonweicn/MiniFramework/archive/1.0.11.zip
tar.gz格式:https://github.com/jasonweicn/MiniFramework/archive/1.0.11.tar.gz

MiniFramework 快速入门文档
地址:http://www.miniframework.com/docv1/guide/

近期版本更新主要变化回顾:

1.0.10

* 新增支持使用“_”字符作为伪静态URL中的分隔符
* 新增支持伪静态时使用“.html”作为URL结尾的机制

1.0.8

* 新增在REST模式的API接口中,向Header传入Ver(版本号)实现调用不同版本的API接口的功能

1.0.7

* 新增Cache_Memcached类,用于对PHP的Memcached扩展的支持
* 改进Cache缓存类,增加支持写入永久有效缓存数据的特性,不再强制缓存具有有效期

1.0.6

* 新增在REST模式的API接口中使用$this->forbidden()方法直接输出403禁止访问的信息
* 新增向REST模式的API接口中不存在的方法发起请求时,自动输出403禁止访问的信息

1.0.4

* 新增用于获取请求头数据的方法

汇总PHP最常见的四种排序算法

PHP最常见的四种排序算法分别是:冒泡排序法,选择排序法、插入排序法和快速排序法。下面我们就分别给出四种排序算法的实现代码,供大家参考。

1.冒泡排序法

2.选择排序法

3.插入排序法

4.快速排序法

阳光部落原创,更多内容请访问http://www.sunbloger.com/

在CentOS环境为PHP安装Memcached扩展

首先,安装PHP的Memcached扩展前,要先安装其所依赖的libmemcached,方法如下:

libmemcached安装完毕后,就可以开始安装Memcached扩展了,方法如下:

解压缩后,我们需要先修改一下php_libmemcached_compat.h文件
将#include 的路径修改成#include </usr/local/include/libmemcached/memcached.h>然后再继续编译安装

最后,还要修改php.ini文件,加入extension=memcached.so并重启php-fpm即可。

阳光部落原创,更多内容请访问http://www.sunbloger.com/

用 MiniFramework 快速构建 REST 风格的 API 接口

MiniFramework 是一款遵循 Apache2 开源协议发布的,支持 MVC 和 RESTful 的超轻量级 PHP 开发框架。

通过 MiniFramework 内置的 REST 接口功能,我们可以很轻松的快速构建起基于 REST 风格的 API 接口,特别是在开发 iOS 和 Android 手机客户端应用时,服务器端的 API 接口是否灵活高效,直接影响着手机应用的体验。

下面介绍一下如何使用 MiniFramework 开发 REST 风格的 API 接口。

第一步,我们下载最新 MiniFramework 1.0.2 版本

下载地址是:https://github.com/jasonweicn/MiniFramework/archive/1.0.2.zip

下载并解压缩后,会看到里面有 App 和 MiniFramework 两个目录,App 目录是一个附带的应用 demo,MiniFramework 目录是框架核心文件。

阅读全文

书籍制作工具 GITBOOK 的安装方法

GitBook 是一个命令行工具(也是 Node.js 库),让你能够使用 GitHub/Git 和 Markdown 构建出美丽的书籍,可以包含互动的练习。GitBook 支持使用多种语言构建书籍。

GitBook支持输出多种文档格式,如:

静态站点:GitBook默认输出该种格式,生成的静态站点可直接托管搭载Github Pages服务上;
PDF:需要安装gitbook-pdf依赖;
eBook:需要安装ebook-convert;
单HTML网页:支持将内容输出为单页的HTML,不过一般用在将电子书格式转换为PDF或eBook的中间过程;
JSON:一般用于电子书的调试或元数据提取。

阅读全文