手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2011年12月的文章

tidy参数引发的问题

tidy库对于我们处理非标准HTML来说是一个好工具,当然,由于他需要在服务器上配置,所以相对就较少人用它,而是HtmlPurifier,毕竟它不需要在服务器上配置直接就可以配置着用了。
为什么我们会用这些工具呢?主要还是由于国内做页面啊,那是相当的不小心,不是这里标签不闭合,就是大小写混用,对于我们做页面分析的来说,就痛苦很多了。肿么办肿么办?
OK,htmlpurifier和tidy库就是帮我们解决这些问题的小工具。
这次要讲的是tidy库参数引发的问题,tidy的函数其实不多,平时我们一般只用tidy_repair_string或者tidy_repair_file就完了,可是就是因为这个REpair导致我的代码出了点问题
tidy_repair_string共需要三个参数,第一个参数string就不用提了,第二个参数是config,第三个参数是encoding。
NND,明明config数组中就可以指定encoding的,为什么还要用第三个参数??
我在处理的时候,在config中指定了input-encoding和output-encoding,分别是实际的编码,但在处理完后。发现有问题,好象页面中有几个字符被处理坏了。导致了UTF-8不认。
最后,只能tidy_repair_string($string,null,"UTF-8");
但这样,好象还是有问题,因为tidy支持的编码都是utf8之类的,参考:http://tidy.sourceforge.net/docs/quickref.html
LOOK:Example: raw, ascii, latin0, latin1, utf8, iso2022, mac, win1252, ibm858, utf16le, utf16be, utf16, big5, shiftjis
因此,写UTF-8有可能会出错(我没有仔细试)
上面的:tidy_repair_string($string,null,"UTF-8");其实还是错的,PHP报错说是找不到 指定的配置文件。所以NULL不能直接用啊,tidy_repair_string($string,array("wrap"=>0),"utf8")
直接解决问题。
(事实上,我一直在怀疑我的页面中是否有一些字符串tidy库处理的有问题,比如一些特殊字符,正如上面所写的,它支持的编码有问题,而我写的input-encoding为gb2312,所以就不正常了?转换有问题?)没有很多时间解决这个问题,主要是被他折腾了一天,所以记录一下。

Tags: tidy, htmlpurifier

删除BootCamp分区

机器上早就没有windows了,所以bootcamp分区对我来说也就没有了意义,主要是机器刚拿到手的时候,被IT分盘分的太厉害了。一半对一半啊。
所以找资料想删除这个bootcamp分区,或者将它的容量再减少一点。
找了一下资料,发现原来在工具的磁盘管理里就可以直接操作:
进入实用工具-》磁盘管理
点中左侧的硬盘(不是点中分区哦,是点中硬盘),在右侧的TAB中,选择分区,可以进行删除或者调整容量大小。

灰常方便,我是将它删除并且重建了一个50G左右的分区,用来存放我的一些重要文件(比如:软件、我的WEB代码 之类的。),这样以后我要备份也只备份这一个分区就OK了

Tags: apple, bootcamp

转:微软升级iPhone应用OneNote,开始支持iPad

Onenote是我在WIN下用的最多的一个程序之一,嗯,Office里面就这一个软件我最喜欢了。为了它,我买了个所谓的正版的Office。然而,在MAC下是无法使用的,这个,你懂的。
看到36氪上的这个新闻的时候,很是欣慰,原来微软哥没有忘记我们,没有抛弃我们,虽然这仅仅只是一个简单的版本,而且是基于skydrive的,但总算有了一个开头了。
先看新闻:
微软刚刚升级了iOS上的OneNote应用到1.3版本,新版将支持任何运行iOS 4.3或以上系统的设备,包括iPad和iPad 2。

除了开始支持新的设备,iPad版本的OneNote还充分利用了平板电脑的大屏幕优势,在使用地图、侧边栏菜单以及其他iPad专有功能时更加适合。

OneNote在2003年第一次随微软Office套件一起发布,今年1月份时候移植到了iPhone上,作为Office套件的一部分,它是唯一一个可以在iOS设备上使用的Office应用,OneNote使用微软的SkyDrive云服务自动跨设备同步笔记。

尽管OneNote应用本身免费,但是用户的笔记数被限制在500以内,超过500后则需要付费,iPhone和iPod Touch用户需要支付4.99美元,iPad用户需要支付14.99美元。如果你在SkyDrive上有超过500条笔记,你仍然可以在你的iOS设备上查看它们,不过微软说,你不能够编辑这些笔记或新建笔记。

不知道微软扩展OneNote支持iPad是意味着要将更多Office应用带到iOS设备上?我们拭目以待。
大小: 62.17 K
尺寸: 480 x 351
浏览: 2047 次
点击打开新窗口浏览全图
原文来自:http://www.36kr.com/p/68055.html
----------
静候mac版本,那样我就真的可以完全脱离windows了(除了玩游戏。NND,arclive没法玩,CS没法玩,真纠结)

Tags: iphone, ipad, onenote, office

开源分词程序

看到张宴的微博上有一条消息:
推荐一个工具:imewlconverter - 深蓝词库转换( http://t.cn/h4YOCi ) ,可以将搜狗拼音输入法细胞词库( http://t.cn/hWFEQ )*.scel 格式转换成文本格式。然后,可以将提取的一些专用词库,用于中文分词接口中去。

不错的工具,毕竟做分词的也好,做其他的也好,都可能会需要用到这个。所以我先备份了这条微博
官方地址是:http://code.google.com/p/imewlconverter/
张宴的微博:http://weibo.com/rewinx

OK,顺便再贴一下张宴的微型HTTP队列:http://blog.s135.com/httpsqs/
所谓的优点:
HTTPSQS 具有以下特征:

● 非常简单,基于 HTTP GET/POST 协议。PHP、Java、Perl、Shell、Python、Ruby等支持HTTP协议的编程语言均可调用。
● 非常快速,入队列、出队列速度超过10000次/秒。
● 高并发,支持上万的并发连接,C10K不成问题。
● 支持多队列。
● 单个队列支持的最大队列数量高达10亿条。
● 低内存消耗,海量数据存储,存储几十GB的数据只需不到100MB的物理内存缓冲区。
● 可以在不停止服务的情况下便捷地修改单个队列的最大队列数量。
● 可以实时查看队列状态(入队列位置、出队列位置、未读队列数量、最大队列数量)。
● 可以查看指定队列ID(队列点)的内容,包括未出、已出的队列内容。
● 查看队列内容时,支持多字符集编码。
● 源代码不超过800行,适合二次开发。
可以利用它来做很多事情,比如我曾经想做的短信队列发送,原来我都是利用MYSQL来做队列的,这样的效率不是特别高。而且额外写了很多程序。现在可以偷懒了。

Tags: 分词, 开源, 词库转换

一句可以围观的SQL

窝窝(Walkerlee)最近说他折腾了一个SQL,提升了他的工作效率。表示要到博客来投稿,今天我把这个SQL放出来了。
嗯。我总不能说,因为我确实会这个SQL就断了他投稿的心,否则他会砍我的。

前因:
数据库结构如下:

要求:一句SQL实现,分别统计type1,2,3,4 一共多少money (group by uid)

原先做法:分开查询 然后用php合并结果,如

SQL代码
  1. select sum(money) form test where type = 1 group by uid  
  2. select sum(money) form test where type = 2 group by uid  
  3. select sum(money) form test where type = 3 group by uid  
  4. select sum(money) form test where type = 4 group by uid  

现在要求一句SQL。
窝窝问我的时候,我说if(a,b,c)这个函数可以解决,于是他很愤怒。。。。
贴出了最终的SQL语句:

SQL代码
  1. SELECT  
  2. uid,  
  3. SUM( IF(`type`=1, money, 0 ) ) AS `BuyByCash`,  
  4. SUM( IF (`type`=3, money, 0 ) ) AS `BuyByCard`,  
  5. SUM( IF( `type` IN (1,3), money, 0 ) ) AS `BuyByCashAndCard`,  
  6. SUM( IF(`type`=2, money, 0 ) ) AS `SellByCash`,  
  7. SUM( IF(`type`=4, money, 0 ) ) AS `SellByCard`,  
  8. SUM( IF( `type` IN (2,4), money, 0 ) ) AS `BuyByCashAndCard`,  
  9. SUM(money) AS `Amount`,  
  10. COUNT(*) AS `DataNums`  
  11. FROM `test`   
  12. group by `uid`  

窝窝比较郁闷,因为以前处理起来很麻烦,而现在一句就解决了。


此事完结后,他又介绍了一个小技巧:
我有一个relation表,用来存储订单下面的游客

SQL代码
  1. ALTER TABLE `travel_order_customer_relation`  
  2.   ADD CONSTRAINT `travel_order_customer_relation_ibfk_1` FOREIGN KEY (`oid`) REFERENCES `travel_orders` (`id`) ON DELETE CASCADE

然后我用了一个外键,这样order被删除时候,这个关系表里面的相关数据也就自动删除了
----
然后我也很郁闷的说,我的数据表不是INNODB的,所以这个功能我不能用。。。也很纠结

Tags: mysql, group, sum, if

Records:43123456789