Archive for 一月, 2009

ruby使用open-uri做http basic验证

Posted on 一月 29th, 2009 in 备忘 | 2 Comments »

如今的web api基本上都是用http basic作为验证方式, 在浏览器中的话只要将用户名和密码用和一个@放到url的前面即可,如http://ssword:password@somedomain.com , 使用curl也是简单无比, 如饭否api的示例, 它可以验证你的身份并获得你好友的信息, 若密码错误, 就得到一个401的错误

curl -u loginname:password http://api.fanfou.com/statuses/friends_timeline.rss

在ruby中的解决方法有很多, 只是我不喜欢封装的库函数, 记不住那东西. http basic验证只是http协议的一部分嘛, 简单地加个http头不就行了? 再使用open-uri的话就更简单不过了, 它允许你像打开本地文件那样打开uri的内容, 并可以添加http头, 十分方便, 如下:

require ‘open-uri’
require ‘base64′
f = open(url,”Authorization”=>”Basic #{Base64.b64encode(“myaccount:mypassword”)}”)
puts f.read

听学长一席话

Posted on 一月 3rd, 2009 in 笔记 | 4 Comments »

前天聚餐的时候幸得一学长指点,我听得痛快,他说得也痛快,可惜没有录音,呵呵。

上个星期有个《嗯,学计算机的》的post,而这位学长就为我解答了其原因。你说,你一个本科生比起双N来,强在哪里?那就是你有四年时间来学习而他们承诺“一年就是白领”。时间,对。你也许会说了,老子1个月能用php做项目,2个月就会玩java。可是学这点技术可不比学垒砖都容易,你不做民工,谁做?而在四年的时间里,你可以学习(不一定学到)很多理论,而你就了解了一门科学,即所谓的“计算科学”。人家mit给大一小朋友们教sicp是他们傻吗?在1年学得着的只是技术,而4年学得着的则是理论,这就是差异。

“大学里这么多东西,这个证那个证,都是虚的,你得自己取舍”,人的精力毕竟有限,而你要学什么东西全看你自己的取舍,选择当个cs高手当然是可以的,不过上帝的公平之处就是他不会让人做全才。有些课程实在是一无用处,而也有些貌似没用的课程却有十分高的价值。像算法,计算理论,操作系统,数据库原理,里面讲的一些东西很可能一辈子都用不上,但它们都是总结几代人的精良设计,了解它们可以启智。知道如何使用是一个层面,而理解它的设计思想就又是另一个层面。道是相通的,但不会被所有人所认识。

“学计算机的人多了是了,但只有10%,不,真正学到东西的也就是3%,我们就得做这3%” 听这句话时差点喷了,以前我就跟同学说过“学计算机的千千万,傻逼,百分之九十八”,哈哈,自己想的东西从别人嘴里说出来就是痛快。很多人就是入错了行,没多说的。

“还要了解一下哲学和经济学,这都是密切相关的”。专搞计算机而不问世事,也就是呆子一个。