分类 网页与编程 中的文章

Rust 学习之 Some、Option、Result

最近学习 Rust 时对它的所有权,借用等概念,包括语法之类的都还算好理解,但碰到 Some、Option、Result 这些,包括语句后面的 ? 号等等着实困惑了一把,不过经过各种资料的翻阅,总算是理解这几样东西的用法及存在的意义,在这里记录一下。

VGOT Blog 新增了 Akismet 反垃圾评论服务插件

自从评论功能上线没多久,经常收到国外的大量垃圾评论,评论内容都如出一辙,基本上都是国外的各种与博客内容没有实质关系的内容加上在线服务销售网站链接,搞的我不得不进数据库删除这些评论(评论管理功能还没做好)。

上次看到这些垃圾评论后(删除前忘了截图,看不到了),就想着做一个反垃圾评论的功能。后来大概研究了一下,如果自己做反垃圾可能会比较复杂,目前相以现实的反垃圾服务大概有以下几种方式:

  1. 添加验证码或其它验证机制

    英文数字验证码
    滑动验证码

  2. 针对大部分都是英文评论垃圾的情况限制无中文评论发表

  3. 使用第三方反垃圾内容服务
    使用易盾、同盾等国内反垃圾服务
    使用 Wordpress 的 Akismet 服务

VGOT Blog 现在支持插件功能啦


        因为想在博客中实现一些有意思的功能,比如有人评论了向手机发送一个通知,而这些功能又不属于博客基础系统的流程,最好的方式是这些博客主业务以外的流程使用插件来实现,经过一段时间的构思后,现在已经实现了插件的机制。

OneExplorer 更新日志

OneExplorer 是一个单文件的 php 文件浏览器,主要用于展示服务器目录/文件列表以方便访问和下载等。

本文展示 OneExplorer 的更新日志,关于 OneExplorer 请点击这里。

PHP 第三方序列化扩展 igbinary

igbinary 是一个 php 的第三方扩展,相对于 php 自带的 serialize,igbinary 具有性能高,节省空间的特点,在某些高要求的场景中使用它是个不错的方案。

igbinary 使用一些对应标记和信息分隔变量中数组的键名和值等其它内容,并且依赖这些标记信息进行反序列化。
如数组

array(true, null, 'foo'=>'bar', 'text', 123)

序列化后大概是这种形式
[STX][DC4][ACK][ENQ][ACK][SOH][DC1][EXT]foo[DC1][EXT]bar[ACK][STX][DC1][EOT]text[ACK][EXT][ACK]{
黑色标记的内容,如 [STX] 代表一个位标记(1个字节),这里只是形式表现,并不代表标记就是这样。