豆瓣影视图书小助手(DoubanX – Chrome 扩展)

扩展简介

在视频播放页以及图书详情页显示当前视频或图书在豆瓣(douban.com)对应的评分、评星、评论等信息。在视频和图书列表页显示对应的豆瓣评星和简介。(目前电影、电视剧支持腾讯、优酷、土豆、爱奇艺、乐视、搜狐以及豆瓣,图书支持亚马逊、京东、当当网以及豆瓣)

开发背景

不知道各位看官有没有这样的痛点,反正我有。就是当我在各大视频网站或者图书网站浏览的时候,我会想知道当前播放的视频或者图书的一个客观评分,比如说豆瓣评分,所以每次我会把当前视频和图书的标题复制到豆瓣上搜一下,看看评分、评星、评论等等再决定要不要继续看这个视频和图书。这是一个重复又费时的操作,为什么不把这个流程做成自动化呢?于是就有了这个 Chrome 扩展。

扩展预览

1

2

3

4

如何使用

  1. 前往 Chrome 网上应用店 下载 DoubanX(请自备梯子)。
  2. 点击“+添加至 CHOME”按钮完成安装,无需任何配置。
  3. 前往国内各主流视频或图书网站,进入任意播放页或图书详情页。
  4. 浏览器右侧浮层随即显示当前视频或图书的豆瓣信息。

常见问题

  • Q: 为什么第一次打开视频和图书显示的豆瓣评分有点慢?
    A: 第一次访问该页面的用户会去豆瓣实时抓取数据,可能会有2-3秒延时。
  • Q: 为什么当前页面显示的豆瓣评分和自己去豆瓣网站上查到的有误差?
    A: 为了保证查询速度,做了缓存机制,每5天会更新一下豆瓣的数据,期间会有些误差。
  • Q: 为什么我打开的视频或图书右侧没有显示豆瓣评分?
    A: 首先,请确认安装了最新版本的 DoubanX 扩展并启用;另外,某些花絮、预告片、集锦等视频不在豆瓣信息内,所以不予显示;除此之后,很遗憾,那就是我的 bug 了 :-P
  • Q: 为什么当前页面显示的豆瓣评分的链接指向的不是我看的视频和图书?
    A: 不用怀疑,给我提bug,我会在第一时间修复。

License

Released under MIT LICENSE

四年之后的又一次面基

木木在世博会的时候来上海和我面过一次基,由于旅行社行程的时间安排和限制,当时只是匆匆聊了半个小时,只能相约下次再见,而这“下次”却时隔四年之久,基友又重聚了。

去年木木也来过一次上海,只可惜当时我在深圳出差,所以错过了。当前段时间木木提前告诉我要来上海玩,我又岂能放过这么个机会呢?四年前还是两个单身男diao丝的面基,四年后已经是两个拖家带口的聚会了,木木带着老婆一起来的上海(话说木木的媳妇真人要比照片还漂亮,咳咳,我的媳妇就在边上,赞美之词还是点到为止 :-P)

下班后赶到订好的餐馆,虽然四年没见,但是老远就认出了木木,还是那张带有书卷气的脸,只不过相比较之前,更加成熟更加 Man 了,据说是被她媳妇改造过的形象,改造很成功,哈哈。木木还特地给我未出生的宝宝带了一份礼物,超 nice 超贴心,非常感谢。

一顿饭的时间,聊工作、聊生活、聊媳妇、聊我们共同的 WordPress 情节,但时间短暂,又要 Say Goodbye 了。

什么时候会是下一次的聚会?又要让我憧憬好一阵子。

国内开通电子钱包 Google Wallet 的波折(吐槽+解决)

除了对 Android 无爱,其他 Google 的服务和项目我都比较力挺,算是一个比较铁杆的谷粉吧。

不过有些时候,哦不,应该说很多时候,对于 Google 的服务还是挺无奈的。比如说 Google Reader 抛弃了用户;又比如说因为某些“不可抗力”因素,最近 Google 搜索都变得难以访问,这是很让人抓狂的;再比如说,谷歌的电子钱包居然不对中国大陆地区的用户开放?!这是凭嘛?!

今天就来说说这 Google 电子钱包。

这事还得从 Google Plus 说起,我有个习惯,就是把平时拍的照片和视频上传到 Google Plus 上,Google Plus 有一些很有意思的小功能,例如自动生成故事集和自动拼合成动态 gif 图等,当然,这些不是重点,重点是图片和视频文件都很占空间。Google 免费提供的 15G 存储空间(包括 Drive、邮箱、相册)很快就用完了,升级方案中 1.99美元/月就可以升级到 100G,还是挺划算的。那就升一下呗。

问题随之而来,支付的前提是开通并绑定 Google Wallet,但是!但是!开通的必填项“帐单邮寄地址”中的地区选项根本没有“中国”!就连阿尔巴尼亚这样的小国家都有(毫无冒犯之意),居然没有我大中国的选项!是我国的悲哀,还是 Google 的不厚道。

上帝关上一扇门,同时也会为我们打开一扇窗。这扇“窗”还是 Google。广大国内同胞同样未此困扰,Google 上大片的提问和解决方案。我试了其中一个还真有效,方法如下:

  • 1.帐单邮寄地址就选美国,地址随便填(反正也没指望会寄来帐单)
  • 2.邮编填 90210,这是 California 的邮编,当然,你填其他州的邮编也是可以的
  • 3.电话号码填一个符合美国电话号码格式的就行,我填的是 650-614-4800

跨过了这道门槛,就可以在谷歌上的支付畅通无阻了。

儿童节礼物——Google Adsense 支付到帐

五四青年节差点都没有我的份儿了,六一儿童节也早就和我 Say Byebye 了。不过就是在这个完全没有预期的儿童节,收到了一份让我期待已久的礼物,那就是 Google Adsense 的支付到帐。

自2006年起注册开通了 Google Adsense,就三天打渔两天晒网,没有真正去管理优化过 Google Adsense,期间还有好长一段时间没用,直到去年收到了 Google Adsense 的 PIN 码,才开始正儿八经地在博客上挂广告,也想体验一把收支票的 Feel。直到今天,才终于梦想成真,不容易啊。

先晒几张支票图:

或许你会有疑问,支票上的日期不是今年的1月29日吗?为什么说今天才收到支付到帐呢?

恩,没错,支票的签发日期是1月29日,但是它飘洋过海,翻山越岭,送到我手上的时候已经是2月底了。然后前段时间又一直忙着没去银行兑(也有一部分原因是懒),这封支票就一直搁置到了5月份,终于挤了个时间去中国银行给办理了,但是人家银行 MM 说了,这个兑换的时间比较长,还得等1个月左右才能到帐。好吧,从2006年开始到现在,我也不差多等这一个月了。今天翻出银行卡网上查了一下,居然已经悄无生息地到帐了,Surprise !

不多说了,给自己去买儿童节礼物啦,哈哈 :-)

祝大家儿童节快乐,只要抱着快乐的心情,每天都可以是儿童节,给自己点个赞。

Mac OS X 在线恢复时间牛长!(吐槽+解决)

这是一篇篇又长又臭的吐槽文章,不过如果有人很不凑巧地遇到了和我一样的问题,估计会有和我一样的吐槽,不过吐槽是一方面,另一方面我也是提供解决方案来的,但愿能帮到一些人。

背景:

就在前两天,App Store 右上角的小红点亮起,更新狂看到 Mac OS X 10.9.2 beta 13C62 发布了!虽然只是 Beta 版,我还是手贱点了升级,虽然官方建议备份系统,但我还是很大无畏地没有任何备份地升级了,虽然用了几天毫无异样,但是今天还是爆发了(可恶地 Beta 版),在打开 Dropbox 时,我的 Mac 就这样莫名的卡死了,死了,了。。。

Macbook 第一次死机,而且情况比我想象地还严重,接着就出现了传说中的“六国”语言,然后就再也无法开机,只能停留在“六国”界面。悔不该升级系统到 Beta 版,悔不该没有备份。

方案:

当时买 Macbook Pro 时斥巨资另外买了一份 Applecare 保险,所以第一时间拨打了 400 电话咨询,结果客服很耐心地教了我半小时怎么怎么操作(其实这些方法在网上我都已经看到过,也试过),依然无效,最后得到的建议是拿去苹果店寻求帮助(还要提前预约哟)。

擦,爷重装系统还不行嘛!

Mac OS X 重装系统无外乎有这么几种方法:

1.如果用 Time Machine 备份过,那直接恢复就可以 了,无需多说。

2.用 U 盘自制一个安装盘,开机按 option 进入安装即可。

3.利用 OS X 的在线恢复,重新下载并安装系统。

但是:

1.我没有 Time Machine,也没有备份 :-(

2.U 盘不在身边,没法制做安装盘 :-(

3.在线恢复看起来是我唯一的选择,根据 Apple 官方是这么说的:“OS X 让你只需点击几下,即可轻松恢复你在 Mac 上的系统软件,免去用光驱或硬盘安装的烦扰。”听起来还不错的样子哦 :-)

无奈:

无奈的是,真的只是听起来不错而已,试过才知道,在线恢复系统就是个坑爹货!

为什么这么说呢,在系统恢复 Loading 了N久计算出了剩余时间——222小时!!!这是在逗我玩儿吧,按照这个速度,还让不让我用电脑了。

解决:

时间需要那么久,相信很大一部分是因为需要去 App Store 下载系统包,其实在 iPhone 和 Mac OS X 上很多人都知道怎么解决,不就是改个 DNS 嘛,可以大大加快 App Store 的下载速度。但是我现在系统崩溃了,连系统都进不了,怎么修改 DNS 呢?

本文的关键就在这里,我还是找到了在终端下修改 DNS 的办法,系统虽然崩溃,但是终端还是可以进入的,就在菜单栏里的实用工具里。

这里涉及到几个基本命令:

1.列出所有网络接口,并找到你正在用的那个(这里我用的是 Wi-Fi)

networksetup -listallnetworkservices

2.设置 DNS(这里我设置了两个,用空格分开)

networksetup -setdnsservers Wi-Fi 114.114.114.114 114.114.115.115

3.查看 DNS(用来确认是否设置成功)

networksetup -getdnsservers Wi-Fi

结局:

这时,再进入在线恢复系统,连接速度明显快很多,再看一下计算出的剩余时间,不足8小时,这差距也太大了,折腾这些也总算没有白费。虽然折腾下来有所收获,不过我再也不想体验这样的事情了,看来今后还是要养成经常备份的习惯,Macbook 还是比较娇气的,说崩就崩了,防不住啊。

系统还在恢复中,明天醒来应该差不多装好了吧,求乔帮主保佑。

2013 年终总结

一边听着 Sarah McLachlan 的 《Angel》,一边回忆今年的往事,一边写下这篇 2013 年的总结。让我自己都无法预料到的是,今年会是我人生的转折点,也是一个新的起点,有苦涩、有幸福、有低谷、有进步,所有的所有,都成为了满满的回忆。

2013 是喜庆的一年。犹记得还在 20 出头的大学时期,就整天嚷嚷着是奔三的人了,却对奔三的意义毫无概念,再看今朝,昨天刚过了人生第 29 个生日,不折不扣地真的奔三了,眼看就是而立之年,身上也多了一份责任和压力。周围的朋友同事也大多是些同龄人,很多一起成长的兄弟都陆陆续续办了喜事,今年也参加了很多婚礼,真心祝福。当然,我也没闲着,在众里寻她千百度后,终于在灯火阑珊处与我的爱人成功牵手,经历了2年多的相识相恋,在今年的 5.20 日领证结束了我的单身生活。

2013 是忙碌的一年。正如本文开头提到的,今年是我人生的转折点,因为我结婚了,责任随喜悦而来。明年我们还要举办婚礼,而早在大半年前,我们就要开始忙着订酒店、找婚庆、拍婚纱照、订做礼服和婚纱,另外还要为我们的新房装修,找装修公司、选材料、买家具电器、比较价格……基本每个周末都穿梭在各种展览会上。经历了才发现成长。

2013 是丰收的一年。工作换到了企鹅公司,连工作职责也有了略微的转变,从前端开发转向了 PHP 开发,还特地被派驻到深圳学习了一个多月,从此 HTML、CSS、JavaScript、PHP 一锅端了,有时候还会兼职一下下设计,哈哈。对我来说,是个进步,学到了更多,也发现了自身更多的不足。所以,2013 于我来说,不只是丰收的一年,也是播种的一年,相信在明年的这个时候,我将收获地更多。

我本不擅于言辞,所以有太多太多的感触萦绕心头,但是不知道怎么落笔,一边写还在一边翻看着前两年的年终总结博文,不得不感叹时间的飞逝,虽然有点不舍,但终要和这个让人难忘的 2013 say goodbye,感谢在这一年里所有给予我关心和帮助的朋友,也感谢所有陪伴我成长的朋友们。

JavaScript 的私有成员、公有成员、特权成员、静态成员

JavaScript 大神 Douglas Crockford 曾经这样评价 JavaScript:世界上最被误解的语言。似乎言语之间有种恨铁不成刚的无奈,在日异强大的 Web 应用背景下,甚至是移动应用中 JavaScript 也都起到了举足轻重的作用。设计上就有不足的 JavaScript 是否能背负推动 Web 发展的重担?

JavaScript 最为人所诟病的问题之一就是“面向对象”,JavaScript 有对象对没有真正意义的面向对象,只能说是基于对象,但是程序猿们都想利用 JavaScript 写出面向对象的感觉,这就有点尴尬了。于是 JavaScript 闭包、原形链等特点就被利用起来了,被用于模拟面向对象的写法,衍生出来了 JavaScript 的私有成员、公有成员、特权成员以及静态成员等,以此来代替其他 OO 语言中 private、public、protected、static、class 这些关键字。

下面用一个例子来同时说明怎么实现 JavaScript 类中的私有成员、公有成员、特权成员、静态成员:

如果用面向对象的 php 来“翻译”上面这段 JS,应该就是这个样子:

可以看到 php 有关键字,来实现面向对象要轻松简单很多,但是我们也不能因为 JavaScript “曲线救国”实现的面向对象不好,JavaScript 能在日新月异的互联网发展现状下生存下来,也正是因为它的灵活性和可塑性。

当你深入到 JavaScript 中时,才会发现写 JavaScript 就如同玩乐高积木,千变且奇乐无穷,So Nice!

用 Firephp 工具调试开发 WordPress

如果你做过前端开发,我相信你一定对 Firefox 浏览器的 Firebug 插件不会陌生,如果你做过 Web PHP 开发,那一定了解 Firephp 插件。因为 WordPress 也是基于 PHP,所以 Firephp 插件一样适用于 WordPress。今天就来为大家介绍一下这款简单而又实用的插件。

Firephp 主要功能:

根据 Firephp 的这个名字看来,就应该猜出八九不离十。没错,和 Firebug 插件类似,Firephp 也是一款调试类工具,不同的是,Firebug 可以打印 JavaScript 的 log 信息,而 Firephp 可以打印 PHP 的 log 信息。

Firephp 适用场景:

调试 PHP 可以用 var_dump() 方法,又或者看日志文件,为什么要用 Firephp 插件呢?有什么特点或者优势吗?答案是肯定的!用 var_dump()、echo 之类的打印方法会输出到页面,无疑会给用户带来困扰,查看日志文件又太麻烦,而且日志文件只能被以字符串的形式写入,其他的数据类型就为难了。Firephp 同时解决了以上这两个问题,因为 Firephp 的日志信息会被输出到 Firephp 的面板上,只有安装这个插件才能在面板上查看到,这样也不会影响用户的体验,很 Nice 哦。

安装 Firephp 插件:

firephp

Firephp 的安装分两步。

第一步是客户端,也就是我们的 Firefox 浏览器,在“附加组件”中搜索并安装 Firephp,这和安装其他 Firefox 插件一样,安装完后重启一下浏览器。这时按 F12 打开我们熟悉的 Firebug 面板会发现,在面板的左上角,多了一个蓝色的“臭虫”,那就是 Firephp。

第二步是服务器端,去 Firephp 的官方网站下载最新版 FirePHPCore 库,并上传到你的项目文件夹下。如果是 WordPress,可以上传到主题文件夹里,比如:我的主题文件夹是 wange,那我的 FirePHPCore 所在的目录结构就是 wp-content/themes/wange/FirePHPCore。

使用 Firephp 插件:

还是以 WordPress 为例,如果 FirePHPCore 的目录如上所述,那么在 functions.php 中可以引入:

然后在代码的头部打开缓冲区:

然后就可以打 log 了,让我们来打一个试试:

这时再去面板看看,如果一切正常,应该会输出如下图结果。

firephp_fb

当然,这是 firephp 的最简单的用法,更多的用法可以去官网围观,我在这里就点到为止,不一一介绍了。

最后说一下,文章写到一半的时候,发现 WordPress 已经有了 Firephp 的插件 —— WP-FirePHP,不过我没用过,不好评价,如果想尝试 Firephp 又懒地折腾安装过程的童鞋倒是可以尝试一下这个 WordPress 插件。

Enjoy it :-)