最新文章

[RoR] 用 BIGINT 作為 table primary key 的 type

Ruby 星球 - 週三, 2007-09-12 07:00
不知道有沒有更漂亮的作法耶.. 開發 Ruby on Rails 的人很多都會利用 ActiveRecord::Migration 來建立 database 中的 table,而 Migration 的好處是它幫你制定好了很多「資料型態」,讓你在寫 create table 的 script 時,不用特別考慮底層是用哪一套資料庫系統而煩惱 型態的問題。 而 Migration 中的 create_table 這個 method 會自動幫你的 table 設立一個 id 的欄位作為 primary key,若你的資料庫是採用 MySQL 的話,它的資料型態會使用 int(11) ,但若是想要把它改為使用 BIGINT (64-bit int) 的話,我自己的方式分成兩種: 動手 hack ActiveRecord::ConnectionAdapters::MysqlAdapter 採用這個方式的話,在被你 hack 過的環境下,你的 migration scripts 不用作任何更改,因為我們直接換掉了 id 所採用的資料型態!找到 <ActiveRecord 函式庫目錄>/lib/active_record/connection_adapters/mysql_adapter.rb 這個檔,然後: def native_database_types #:nodoc: [...]
分類: 最新文章

Why supporting multiple OpenIDs per User is useful for users…

Ruby 星球 - 週二, 2007-09-11 23:00
Web apps/services go down for maintenance (expected or erroneously) all the time. What happens when your “sign on to all apps everywhere” OpenID server goes down for an hour? You might not be able to login to any site. Your users may not be able to log into YOUR app. MyOpenID is going down on the [...]
分類: 最新文章

RailsRumble hates OpenID

Ruby 星球 - 週二, 2007-09-11 13:00
There are 146 RailsRumble entrants. %w[rubygems hpricot open-uri].each { |l| require l } (Hpricot(open("http://vote.railsrumble.com"))/"div.app_summary").size # => 146 Voting starts Wednesday. I’ve viewed a dozen or so front pages, and they all look awesome. But to use any a lot of them (I think) you need to create an account. Unfortunately there are only 10 that used OpenID. (see [...]
分類: 最新文章

我想寫 Ruby on Rails (Windows 篇)

Ruby 星球 - 週二, 2007-09-11 07:00
隨著鐵道迷的增加,愈來愈多 Web 開發者想要投入 RoR 的開發,這篇文章主要是分享我在 Windows 上開發 RoR 的環境配置,供想入門的朋友作為參考。 準備要安裝的軟體 為了在 Windows 上開發 RoR,我會安裝下列幾個軟體: JDK 6 Netbeans 一定要你裝 JDK,我也不太喜歡它為什麼一定要 JDK,只裝 JRE 還不行咧…. Netbeans 6 Ruby (Development version) 這是為了有一個整合式開發環境(IDE),除了免去初學者害怕的一連串指令操作之外,也有一些 syntax highlight、code completion 及 code snippets 等等功能,更重要的是,它能夠支援 UTF-8,更免去一些人在 Windows 上開發時搞不清字元編碼問題的煩惱。 MySQL 5.0 Database Server Community Edition 開發 Web application 幾乎都會用到資料庫,所以這裡選擇大家很常用的 MySQL,Windows 版本,透過 Installer 還能幫你把 MySQL Database Server 作成 Windows 服務,開機後就會自動執行了。 MySQL GUI Tools 資料庫的管理工具,裝了這個才不用在命令列下指令來管理你的 MySQL Database Server。 (optional) [...]
分類: 最新文章

JavaEye3.0开发手记之三 - 狮身人面

Ruby 星球 - 週一, 2007-09-10 15:00

网站:JavaEye 作者:robbin 发表时间: 2007-09-10 19:02 此文章来自于 http://www.JavaEye.com
声明:本文系JavaEye网站原创文章,未经JavaEye网站或者作者本人书面许可,任何其他网站严禁擅自发表本文,否则必将追究法律责任!
原文链接: http://robbin.javaeye.com/blog/122696

Sphinx的含义是“狮身人面像”,是古埃及的金字塔建筑,传说Sphinx是有翼的狮身女怪,她常叫过路行人猜谜, 猜不出者即遭杀害。

但是我这里说的Sphinx是一个高性能的搜索引擎:

http://www.sphinxsearch.com/

Sphinx是一个俄国人开发的搜索引擎,它的主要特点是:

一、性能非常出色
150万条记录一两分钟就索引完毕,2-4GB以内的文本检索速度不到0.1秒钟。ferret也望尘莫及,更不要说lucene了。

二、和数据库集成性很好
Sphinx通过配置文件可以自行读取数据库信息做索引,不依赖任何外部的应用程序,并且可以作为一个daemon进程启动,支持分布式检索,并发响应性能很好。因此很多过去使用ferret的人因为并发检索的问题都改用Sphinx了。

三、可以做MySQL的全文检索
MySQL的数据库引擎是可插拔的结构,Sphinx开发了一个SphinxSE数据库引擎,可以在编译MySQL的时候直接编译到MySQL里面去,这样的话,可以在数据库级别支持高性能的全文检索,那么你可以以如下SQL方式去全文检索了:

select * from xxxx where query='test;sort=attr_asc:group_id' AND ....;

很棒吧。

四、RoR支持也很棒
有一个acts_as_sphinx插件,类似acts_as_ferret,集成到RoR里面很简单。

Sphinx目前可能存在的问题估计还是中文分词问题:

Sphinx支持UTF-8编码的分词,但是他自己的文档上面说仅仅支持英文和俄文的分词,因此我估计对中文分词可能还不能很好的支持。

总之,Sphinx是我们另外一个很棒的选择。




《 JavaEye3.0开发手记之三 - 狮身人面 》 的评论也很精彩,欢迎您也添加评论。查看详细 >>

推荐相关文章:
  让ActiveRecord更加active
  JavaEye3.0开发手记之二 - rails的UTF-8支持造成的正则表达式问题




JavaEye推荐
上海乐福狗信息技术有限公司:诚聘技术经理和开发工程师
免费下载IBM社区版软件--它基于开放的标准,支持广泛的开发类型,让您的开发高效自主!
京沪穗蓉四地免费注册,SOA技术高手汇聚交锋.
上海:优秀公司德比:高薪诚聘 资深Java工程师
广州:优易公司:诚聘Java工程师,开发经理
上海:尤恩斯国际集团:诚聘开发工程师
北京:优秀公司NHNChina招聘:WEB开发,系统管理,JAVA开发, DBA


robbin
分類: 最新文章

Firebug中你不该错过的几个功能

Ruby 星球 - 週一, 2007-09-10 11:00
Firebug是Firefox的一个扩展,提供了诸多网页开发的辅助功能,如果你是一个网页开发人员,天天要和HTML/CSS/Javascript打交道,Firebug能大大提高你的工作效率。 Firebug的大部分功能都很直观,我最常使用的是Inspect CSS/DOM和Javascript debug,有时候会看看Net和YSlow。还有一些功能,或大或小,不是上来就发现,但也是非常好用,不容错过: 获取XPATH 无论做userscript、bookmarklet还是网页爬虫,有时候用五六行DOM实现的网页元素提取,用XPath一句就搞定了。以前定位一个元素的XPath主要靠眼,有Firebug就省眼了,先用Inspect定位网页元素,然后点右键,选Copy XPath,搞定。 这个XPath是从DOM树里来的,已经修正了网页上的一些错误,所以有时和实际的XPath有一些偏差,但一般都很容易调整。比如一些网页中table里没有tbody,直接就是表格内容,DOM树会自动补上tbody,得到的xpath中也会有tbody,在实际使用的时候,和网页实际内容对应,就要把tbody去掉。 javascript命令行 如果哪个脚本语言不提供带命令行的控制台(console),我就不玩了,:-p。善用命令行控制台(console),可以省下很多debug的时间。我以前介绍过jsenv。Firebug也提供非常好用的javascript命令行控制台,可以直接和当前网页交互,输入命令的时候还能自动补齐。另外,一定不要忘记先看看这个命令列表。 控制台API 我最爱用的javascript函数就是alert,偶尔把它放在循环里,我可以花一下午的时间点OK玩。现在是和alert说byebye的时间了。Firebug提供了一套相当完备的javascript控制台API,可以将log直接输出到控制台而不再用跳出小窗口,提供多种log级别(debug,info,warn,error)和分组功能,可以显示对象属性,可以记录stack trace,甚至提供timer和profiler,调试performance都不用发愁了。记得查看控制台API的说明。 标尺 无论在网页布局还是做动态HTML,常常需要知道一个网页元素的相对位置。你可以装一个Measueit扩展自己量,也可以用Firebug里的标尺。用Inspector选中你要度量的元素,在右侧选中Layout标签,然后鼠标划过盒模型中央,标尺就会出现。 在所有浏览器中使用Firebug 对不起,不是所有的功能,是不是有点失望。不过,至少你可以保证控制台API正常输出,并且提供命令行的支持,已经相当不错了。下载firebuglite文件,放在脚本目录下,然后在页面中加入: <script language="javascript" type="text/javascript" src="/path/to/firebug/firebug.js"></script> 用F12就可以召唤出Firebug了。
分類: 最新文章

超級星光大道是歌唱比賽節目還是綜藝節目呢?

Ruby 星球 - 週一, 2007-09-10 05:00
標題是疑問句,「大人,我只是假設一下而已嘛….」 上半年火紅的第一屆超級星光大道,儘管出了許多爭議,但最後還算圓滿地劃下句點,而第一屆的優勝者及「節目製作人(或唱片公司)喜歡的參賽者」都不斷以出事(XD)、出書及出專輯的方式出道了。乘著這樣「成功」(?)的氣勢,第二屆超級星光大道也進行了一陣子,不過我倒是沒有看過一兩次第二屆的節目,不過這一陣子倒是常常聽到第二屆賽事的風風雨雨,真是不禁讓人懷疑--「這到底是歌唱比賽節目,還是綜藝節目?」 之前最受爭議的就是方志友事件,之前觀眾還是網友都覺得若是以「歌唱比賽」的比賽性質來評審,這位可愛的小妹妹應該沒辦法進入「列強」之中,但評審卻以「17歲的青春有無限可能」、「她很甜美可愛」這類評語讓她晉級,後來雖然有人質疑評審的公平性,但節目單位似乎以「星光大道」這樣的名稱來反駁,這節目本來就是選明星,這樣的風波就不免讓人懷疑,這是不是又是一個變調的歌唱比賽節目。(還好筆者沒去報名參賽,我這樣子應該初賽就被刷下來了 XD) 大概是節目開始讓人有了不信任感,最近「監督」,或者應該說是「發現」這節目「趣味性」的網友愈來愈多,詳情大家可以參考 Mr./Mrs. Days 他們所整理的文章: 當眾作假的超級星光大道… 據說戴安娜被淘汰的真實原因是這個? 超級剪貼大道整理集 看完之後真是令人咋舌,一個號稱「歌唱比賽」或是「選秀大會」的節目是這樣狠狠地糟塌節目粉絲們的信任感,我還真想知道節目製作單位會怎麼回應這些被踢爆的內幕?還是乾脆眼不見為淨呢?該不會最後又一票大人小孩排排站,然後淚眼盈眶地說:「他們只是個喜歡唱歌的孩子呀!」我只能說這根本就是屁話,難道種花職棒涉及簽賭的球員也可以排排站,然後說句:「我們只是喜歡打球的孩子呀~*哭哭*」球迷就會回去球場看球嗎? 不過,也許是我們太認真了,這個節目只要把它當成一般的綜藝節目來看就沒什麼關係了,反正只要效果達到了,不管妳是不是曾經批評過宅男不適合活在地球上,或是恣意扭曲一部作品的內容等等,在綜藝節目中都是很合理的「劇本」。既然這樣,超級星光大道也不用參賽者準備什麼歌唱比賽了,多找一點願意爆乳的辣妹來節目串場,說不定收視率還會比較高喔~
分類: 最新文章

两部半

Ruby 星球 - 週日, 2007-09-09 15:00
周末花了三个晚上看了两部半电影。 《二十八周后》-《二十八天后》经典无可超越是没什么好说的了,不要报太多期待,作为续集《二十八周后》还是不错的。配乐沿用了上部的主题,仍然相当地道,那种崭新浩劫后世界的感觉也依旧在,情节和节奏稍微欠缺,不过还是能让人体会到导演想要表达的寓意,上帝和撒旦往往是二位一体的。欧洲导演的片子,没有寓意还是不太可能。 《内陆帝国》-只看了一半就放弃了。这次真是比《穆赫兰道》还要难,我决定找到英文版以后再看一遍。当然,再看一遍估计也是不够的。我还是很期待一个逻辑严密的解释的。不同于其它被称为艺术导演的作品,你可以随着性子忽悠。如果只从光影、镜头、氛围和不知所谓的人性观点来评论大卫林奇,而不给出逻辑严密的解释,那一定是皮毛都没有摸到。 《Zodiac》-两个半小时的片子,前半部分大量的铺垫,相对有些沉闷,不过后面都赚回来了。网上有人评论,如果你研究过Zodiac案件,会很认可这部片子,如果以前并不了解,这部片子会激发你去深入了解。作为后一类人,我相当认可这种评价。有机会一定要找原书来看看。
分類: 最新文章

从ChinaonRails网站访问来源看RoR人才的分布情况

Ruby 星球 - 週日, 2007-09-09 09:00
robbin写了一篇从JavaEye网站访问来源看软件公司的区域选择: 从上图可以看出,在国内一线城市北京、上海、广州和深圳四个城市,软件人才的储备北京遥遥领先,上海和广州居中,差不多是...
分類: 最新文章

AK47 與 M16 補充

Ruby 星球 - 週六, 2007-09-08 11:00
分類: 最新文章

離開學校一年後…

Ruby 星球 - 週五, 2007-09-07 21:00
時間正以超乎你想像的速度流逝著.. 去年大約也是這個時間,我拿著碩士班畢業證書「光榮」返家,雖然當時就已結束了廿幾年來的學生生涯,但由於在碩班期間與實驗室學弟們友誼還不錯,再加上也還有一些同學還在唸書,時常與這些學弟、同學聚餐,聊的也盡是些學校的事,所以還不是那麼強烈地認知到自己已經不是學生。 但離開學校一年後,這些會聚餐的學弟、同學也接著畢業各奔東西了,我這才終於承認自己已經是個社會人士,目前是上班族,自由的時間少得可憐,早上爬起來,看見窗外下著傾盆大雨,縱然不般地不願意,還是得出門往公司前去,看見窗外晴朗的天氣,還是只能坐在冷氣房的電腦桌前,在學生時自由的種種一個個被拔走後,才知道自己是多懷念學校生活。 我的運氣不是很好,小學畢業時,班上同學像是被拆成兩半分別去不同的國中就讀,那是我第一次感覺到離別的無奈及感傷,雖然與唸不同國中的同學家離得不遠,但小學畢業後就再也沒去過。國中畢業的離別感更加強烈,因為在我的朋友圈裡,只有我一個人去了台南唸高中,其它人都留在高雄縣市,以前會一起騎著單車漫遊田野(岡山鎮-橋頭鄉-梓官鄉)的朋友,也因為唸了不同的高中各自打拼後,再也沒一起騎腳踏車了。高中的畢業,雖然聯考本身就會拆散你與你同學,但當時國內正起飛的網際網路發展,讓我們都相信畢業後不會斷了聯絡,可是現在同學會會到的就只剩固定班底的十人左右。大學畢業時,離別的感傷好得多了,因為比較熟的同學、朋友大都落腳在台北、新竹,MSN Messenger 也很好用,但仍然有很多當初加入聯絡人的朋友,畢業後再也沒有丟他訊息。碩士班畢業,因為還在台北工作的關係還能與實驗室的學弟、同學們聯絡,但他們也會畢業,而且不一定繼續待在台北,所以又要再一次的離別。 離開學生生活,應該好一陣子不會再碰上這種離別的感覺,因為,能夠離別的都離別了呀… 有時候拿起手機在找某個人電話時,有時候也會看著一個名字突然愣住,心裡雖然想要知道他最近過得怎麼樣,但一想到很久沒有聯絡,「近鄉情怯」的感覺湧上心頭,所以又把這個朋友埋藏在心裡深處,不知道什麼時候才會再想起他了… 希望有一天,我能學會不要愣住,馬上按下通話鍵,問問對方最近過得如何。 今天我想回去我碩士班時最常覓食的台北市和平東路二段 118 巷吃飯,想去感受一定過往的回憶,但是….漲價的菜單居然拿走我對這裡的記憶!真是太可惡了!
分類: 最新文章

Why you should see Dr Nic at RailsConf

Ruby 星球 - 週五, 2007-09-07 11:00
There are 5 sessions on at 11:35am on Tuesday the 18th of September, 2007, at Rails Conf Europe. If you are unlucky enough to be one of those speakers, then I have pity for you. I should know, I’m one of them, and I have pity for me. So, I thought I should give a completely unbiased opinion [...]
分類: 最新文章

map_by_method - the final announcement

Ruby 星球 - 週五, 2007-09-07 11:00
I don’t really talk about my projects after I release them except to show off fancy new things, like newgem sporting the new RubiGen generator. So I don’t know why I give updates here about one of the smallest projects - map_by_method. Probably, its because it doesn’t deserve a Google Group or even a webpage really. It [...]
分類: 最新文章

Adobe 線上圖片編輯軟體搶鮮曝光

Ruby 星球 - 週五, 2007-09-07 11:00
看起來只有 preview 照片而已.. 今天看到從 Adobe 來的
分類: 最新文章

Silverlight 1.0 釋出及 Linux 版研發中

Ruby 星球 - 週四, 2007-09-06 11:00
Web Application 大戰愈演愈烈啦~ Silverlight 是一個類似 flash plugin 的一個跨平台、瀏覽器的 plugin,它提供了一個 web application 的平台,讓開發者來開發一些 RIA。而今天 Silverlight 宣佈推出 1.0 版本,主要的 feature 都是在多媒體上面: 內建 VC-1 及 WMV 的 video codec,以及 MP3 及 WMA 的 audio codec。其中 VC-1 是為了高畫質的 video 而生。 漸進式(progressively)下載多媒體,以便能邊下載邊播放,號稱任何 Web Server 都能 work(IIS 7.0 裝一下 media pack 可以增加 rich B/W throttling)。 多媒體串流。 豐富的 UI 動畫。 video 互動式介面,像全螢幕、選單等等,像看 DVD 一樣的體驗(能快轉嗎? XD) 同時,Silverlight 也即將推出 linux 版本的瀏覽器 [...]
分類: 最新文章

Windows Live Messenger 8.5 Beta2

Ruby 星球 - 週四, 2007-09-06 11:00
正體中文使用者終於可以下載使用 WLM 8.5 了… 今天看到 WLM 8.5 beta2 下載的消息,雖然之前有注意到 8.5 Beta 1 的釋出,但當時還沒有正體中文的版本,現在 beta 2 已經有正體中文版本可以下載啦~ 不過 WLM 的下載變得更賊了,它會預先幫你勾選一些東西改 browser 的設定,如下圖所示: 而且,下載後執行安裝的動作,也會幫你勾好一堆 bundle 軟體: 如果不想下載其它的軟體,一定要記得取消打勾喔! 裝好時候的真相: 至於說 8.5 有什麼新功能呢? 系統最低需求從 Windows XP SP1 變成 SP2,這叫做強迫升級嗎? XD 這種新功能我還第一次看到 漂亮的新外型 從此後更新整合進 Microsoft Update 送你一堆 Windows Live 相關產品 多了一些表情符號,如 (’.') 會變成一隻兔子 好吧~看起來盡是些無用的新功能 XD 想要新外型的 WLM 倒是可以裝一下 :p
分類: 最新文章

千呼萬喚始出來!Google Reader 增加搜尋功能

Ruby 星球 - 週四, 2007-09-06 11:00
這才像是 Google 的產品嘛… 今天一如往常登入 Google Reader 要來看 feeds,結果感覺似乎有些不對勁,畫面好像多出一些東西: 天啊!這不是大家期盼已久的搜尋功能嗎?想想幾乎所有的 Google 產品都少不了的搜尋功能,怎麼在 Google Reader 上就一直沒有,現在總算出來了。 官方的部落格也發佈了這項消息,不知道標題中的「We found it!」是不是別有用意地說:「我們終於找到還有什麼沒作了!」XD
分類: 最新文章
串聯內容