對抗垃圾信!請您點這裡:

我的E-mail:
我的Skype:My status

2006年11月18日

FON Taiwan重新運作!

FON Taiwan重新運作,最新一批Router將會在12月初開始販賣寄送
11/1前寄信索取299元Fon Router者可以用149元購買(一個人只可以買一台)
然後可以推薦七個人用199購買Fon Router

詳情請看:http://blog.yam.com/twfon

2006年11月10日

Ruby predefined read-only variable

在這個網址下有個List
http://www.math.hokudai.ac.jp/~gotoken/ruby/ruby-uguide/uguide20.html

$! error message
$@ position of an error occurrence
$_ latest read string by `gets'
$. latest read number of line by interpreter
$& latest matched string by the regexep.
$1, $2... latest matched string by nth parentheses of regexp.
$~ data for latest matche for regexp
$= whether or not case-sensitive in string matching
$/ input record separator
$\ output record separator
$0 the name of the ruby scpript file
$* command line arguments for the ruby scpript
$$ PID for ruby interpreter
$? status of the latest executed child process

順手補上一個...
$: 會印出Ruby Path

2006年10月22日

防盜版?先教育老師吧!

很有趣!剛剛朋友問我有沒有C++ IDE
傳了Dev-Cpp的網址給他後,居然說:我們教授指定要用 Microsoft Visual C++ 6.0
教授喔!是教授喔!

卡比獸-我可以為兄弟兩肋插刀,但是我會為女人插兄弟兩刀 說:
HI
在嗎??
CFC 說:
?
卡比獸-我可以為兄弟兩肋插刀,但是我會為女人插兄弟兩刀 說:
你手邊有 C++ 嗎?
CFC 說:
http://www.bloodshed.net
卡比獸-我可以為兄弟兩肋插刀,但是我會為女人插兄弟兩刀 說:
我們教授指定要用 Microsoft Visual C++ 6.0
...有點鳥的東西~"~
CFC 說:
跟他說:幹你媽的微軟狗
卡比獸-我可以為兄弟兩肋插刀,但是我會為女人插兄弟兩刀 說:
不行...人家是 學務長


是教授又是學務長的,寫程式一定要用Visual C++ 6.0那個垃圾嗎?
那使用*nix的學生怎辦?不都全部被你當掉嗎?
底下用gcc、g++編譯,不可以嗎?
幹麻?你微軟的嗎?
每個學生不過就上你的那堂課而已,就要花錢買垃圾?
有沒有搞錯?

我不懂,既然要求要上Word、Excel等課程
為什麼學校不幫學生買來送給學生呢?
為什麼好好的OpenOffice在那邊不用,偏偏要用Word?Excel?
別跟我說什麼外面企業怎樣怎樣的廢話
除非你承認你是廢人!
只要可以產生*.doc就好了,管他是啥軟體?
只要可以編譯成執行檔就好了,管他是啥IDE?
只要可以用就好了,管他是不是正版?

操!狗眼瞎啦?你以為台灣人民很有錢嗎?
啥都用商業軟體,不去用自由軟體
自己孩子都在抓盜版X片打飛機不管,管別人家孩子辛辛苦苦學著用該死的Word
我去你媽!
我等著看你孫子沒屁眼!

銘傳X學的什麼學務長
叫做楊ㄐㄧㄢˋ貴的
何必呢?

2006年10月16日

PHP 會被 Ruby 殺死嗎?

轉貼至:http://www.hkpug.net/node/106

這個標題沒有惡意,只是用來吸引大家的注意力,文章的作者 Stefan Mischook 在他的網誌比較了 Ruby 和 PHP 兩種經常被人拿來比拼的網頁開發語言,事實上一些 PHP 社群對於 Ruby 近年推出的優秀(但並不完美)開發架構 Rails 有一點恐懼,藉著 Rails 的關係 Ruby 的普及程度大幅提高,對 PHP 構成一定的威脅。所以 Stefan 嘗試解答「PHP 會被 Ruby 殺死嗎?」

Stefan 認為簡單的答案是「不」。

Stefan 的理據

儘管 PHP 和 Ruby 同樣是開發網上應用程式的腳本語言,但正如 Java 社群所說,兩者有很大的分別,適合不同的用戶。

Ruby 很優美,但也很複雜

Stefan 首先申明,他認同 Ruby 是一個偉大的編程語言,PHP 開發人員有很好的理由學習一點兒 Ruby,事實上任何人想做一個高明的開發人員,多學習一些其他語言總是有益的。

Stefan 跟著說,Ruby 並不切合大部分 PHP 開發人員的需要,因為 Ruby 太抽象了。

只有 Java 呆子愛上 Ruby

由於 Ruby 可以把非常高階的抽象概念有很簡單的語法表現出來,相對於 Java 那些七拼八湊而冗長的語法,Ruby 吸引很多 Java 開發人員,加上寫 Java 的人已經習慣了不管項目的大小總是從企業級系統角度來規劃程式,Ruby 的對抽象概念的表達能力對他們特別有吸引力。

為何 PHP 有用?

PHP 經常被批評為兼具程序導向(procedural)和物件導向(object oriented)兩種概念於一身的語言,有人認為這兩種截然不同的概念使 PHP 陷入混亂,但 Stefan 卻認為這正是 PHP 的強項。

物件導向的模式適合用來開發簡潔、易於維護、加強代碼「可再用性」(reusability)的設計,代碼的可再用性經常被視為物件導向的重大優點,不過 Stefan 發覺在 Java 的社群真正發揮這一個優點的例子的很少。

可是使用物件導向是有代價的,相對於其他方法,物件導向的程式需要編寫更多代碼。

PHP 證明非物件導向的語言也有一席之位

Stefan 認為大部分 PHP 都適用在簡單的項目,例如:

網頁介面的電郵處理系統
對網頁表格進行處理,然後把資料存到數據庫
建立一個只有 10 個物品的小店子
即是說,對大部分 PHP 項目而言物件導向都是一把用來殺雞的牛刀。

為甚麼說 PHP 不會被 Ruby 殺死?

在 Ruby 的世界一切東西都是物件,即使是一個數字也是一個物件,必須對該語言的複雜核心有所了解才能編寫有效率的 Ruby 程式,Ruby 的強項也是它的弱點。

Stefan 認為大部分 PHP 開發人員不願意在一個抽象的世界鑽得如此深入,大部分的情況根本沒有這個需要。

========CFC=========
底下是我的想法:

說真的,Ruby無法殺死PHP
我真的是這樣認為
為什麼我會這樣想呢?原因很簡單!
因為Ruby != Ruby on Rails
如果說,同樣是針對Application的開發,Ruby可以很輕易的將PHP給Kill
但是換到Web去,PHP就不會被Ruby Kill,反而是Ruby有可能被Kill
因為Ruby只能寫CGI...
但是搭配Rails呢... ?

但是我是這樣認為的,PHP還是可以占有一席之地
它對於小的、輕的、不龐大的應用,像是文章所說的電郵系統可以用PHP開發
用Rails則是太扯了..

很明顯的,我認為原文作者(英文那篇)並不了解Ruby跟Rails

就像是有很多的Java coder不懂Ruby,就馬上說Ruby沒有任何可以贏過Java的缺點

真的是這樣嗎:)?

2006年10月11日

Google WebMaster Tools

我在我的Google服務列表內看到了這個





WebMaster Tools,聽起來很像是網站管理工具,來看看它的介面吧







Robot.txt分析工具





這個工具看來還只是個使用20%時間開發出來的小工具

或許可以搭配Google Analysis一起使用

2006年10月10日

Hacker文

在Google內設置語系為駭客(Hacker)的話,你會有全新的體驗
那到底Hacker文該怎樣學習呢?
這一個網站或許可以提供一點幫助:http://labs.absurdlycool.com/hacker

Google Reader小更新

http://reader.google.com
Google Reader更新了,版面改了,也增加許多小功能
像是按下U會將左邊欄隱藏、按下j、k可以在資料中上下交換觀看等等
這對於觀看RSS來說更加方便了!
詳細的操作列表(取自Google Reader首頁):

Tips and tricks

Here are some useful keyboard shortcuts:

* j/k: next/previous item (下/上 一筆資料)
* space/ + space: next/previous item or page (下/上一筆資料或頁面)
* n/p: scan down/up (list only) (往下/往上移動,不會顯示內容)
* o/enter: expand/collapse (list only) (打開/收合)
* s: star item (給資料星號)
* + s: share item (分享資料)
* v: view original (顯示完整內容,會開新視窗)
* t: tag item (給資料標籤)
* m: mark item as read (標記已閱讀)
* r: refresh (重新整理)
* u: toggle full screen mode (切換全螢幕模式)
* + a: mark all as read (標記全部已經閱讀)
* 1: switch to expanded view (切換閱讀模式=>全部打開的模式)
* 2: switch to list view (切換閱讀模式=>標題列表模式)
* + n/p: next/previous subscription (切換前/後一個訂閱)
* + x: expand folder (展開資料夾)
* + o: open subscription or folder (打開訂閱或者資料夾)
# 底下是先按g再按其他按鍵
* g then h: go home (回到首頁)
* g then a: go to all items (回到All items)
* g then s: go to starred items (到被星號標記的資料列表)
* g then t: open tag selector (打開標籤選擇器)
* g then u: open subscription selector (打開訂閱選擇器)

說真的,Google Reader真的很好用!不必安裝軟體、介面又乾淨,功能又齊全!
首選的RSS Reader阿!

又是Ruby一行文... 畫出一張圖

請在命令提示字元或者虛擬終端機下執行以下指令(請記得安裝Ruby)

ruby -e "32.times{|y|print\" \"*(31-y);(y+1).times{|x|print\" #{~y&x==0?\"A\":\".\"}\"};puts}"

Pool wretch.. XD

看看底下的圖片吧

我不想多說XDDDDD



 

1.hours

我絕對沒有唬爛
這件事情是真的
如果你有裝Rails
請開啟irb,依照下列步驟code

irb(main):001:0> require 'rubygems'
=> true
irb(main):002:0> require 'active_support'
=> true
irb(main):003:0> puts 1.hours
3600
=> nil
irb(main):004:0> puts 1.minutes
60
=> nil
irb(main):005:0> puts 1.seconds
1
=> nil
irb(main):006:0> puts 1.years
31557600
=> nil
irb(main):007:0> puts 1.days
86400
=> nil
irb(main):008:0>

該死
這讓我回想起當初在寫PHP的Wretch Blog RSS Reader時,在判斷檔案建立時間的部份寫得多痛苦
這麼直覺化的東西.. 就算會讓我腦殘我也要去用.. Orz

Google Gadget for HEMiDEMi

葛力~ 葛力~ 葛力葛力葛力~ 好吃拉XD... 不對= ="
各位Google Fans + 黑咪飯團重度愛好者們,現在HEMiDEMi推出Google Gadget拉!!!
所以可以很方便的就在Google個人化首頁或者Google Desktop上使用喔!
那說得這麼好聽,到底要怎樣加入呢?
來來來,網址底加拉!!!
請按此
預設只會顯示3個書籤,請加入後按下編輯改成9個(最多只能9個了....)

有任何問題記得回覆一下唷!

2006年9月4日

Hemidemi群組最新書籤 0.0.0.2 版

這次的這個版本,則是將 "最新書籤(整個網站)", "使用者最新書籤", "群組最新書籤" 3個合併囉
也就是說,使用者只要下參數,就可以抓到資訊了!
參數:

$ ruby ./recent.rb [要抓的資訊] [要顯示的書籤量] [名稱]

* 整個程式省略掉參數的話,就是整個網站的最新書籤

要抓的資訊:
0: 整個網站的最新書籤
1: 使用者最新書籤
2: 群組最新書籤

這個版本還沒有Method overload... 因此沒有辦法省略掉其中的幾個參數..
未來版本會修正這個問題
程式碼如下:

#!/usr/bin/env ruby
# Code by CFC Zuso Security
# # Taiwan Ruby Users Group: http://www.ruby.oss.tw/
# # Rails Taiwan: http://www.rubyonrails.org.tw/
#
# Hemidemi bookmarks loader: Ver. 0.0.0.2 Beta
#
#==========
#
# 1. Recent: http://www.hemidemi.com/rss/bookmark/recent.xml
# 2. User's recent: http://www.hemidemi.com/rss/user/#{@usr_name}/bookmark/recent.xml
# 3. Group's recent: http://www.hemidemi.com/rss/group/#{@grp_name}/bookmark/recent.xml
#
#==========
#

require 'rexml/document'
require 'open-uri'
include REXML

class Recent
def initialize(opt, count, name)
case opt.to_i
when 0
@url = "http://www.hemidemi.com/rss/bookmark/recent.xml"
when 1
@url = "http://www.hemidemi.com/rss/user/#{name}/bookmark/recent.xml"
when 2
@url = "http://www.hemidemi.com/rss/group/#{name}/bookmark/recent.xml"
else
@url = "http://www.hemidemi.com/rss/bookmark/recent.xml"
end
@channel = @channel || {}
@items = []
if count == nil
@count = 6
else
@count = count.to_i
end
end

def run
load_in
show
end

def load_in
open(@url) do |f|
xml = Document.new(f.read)

xml.elements.each("*/channel") do |chnl|
@channel["name"] = chnl.elements["description"].text
@channel["link"] = chnl.elements["link"].text
end

xml.elements.each("*/channel/item") do |item|
itm = {}
itm["title"] = item.elements["title"].text
itm["description"] = item.elements["description"].text
itm["link"] = item.elements["link"].text
itm["creator"] = item.elements["dc:creator"].text
@items << itm
end
end
end

def show
line = "=" * 100
puts @url
puts line
puts "#{@channel["name"]} [ #{@channel["link"]} ]"
puts "共有#{@items.size}個書籤"
puts line
@count = @items.size if @items.size < @count
@count.times { |cnt|
puts "張貼者:#{@items[cnt]["creator"]} [ http://www.hemidemi.com/user/#{@items[cnt]["creator"]}/home ]"
puts "標題:#{@items[cnt]["title"]}"
puts "網址:#{@items[cnt]["link"]}"
puts "敘述:#{@items[cnt]["description"]}"
puts "-"*10
}
puts line
end
public :run
private :load_in, :show
end

rss = Recent.new(ARGV[0], ARGV[1], ARGV[2])
rss.run

下載點:
http://stmail.tajen.edu.tw/~593092514/recent.rb

Hemidemi群組最新書籤 -- Console版

哇哇哇
http://flickr.tw的站長推出這麼棒的Hemidemi hacking...
只是小弟遜咖,沒辦法像他那樣>"<
好吧.. 我只好寫個個人用的小工具
這個程式是適用於群組的,一般來說群組都會有最新書籤,而這個是將最新書籤印出來的..
程式只能跑在純文字模式下..
輕巧咩~另外網管如果沒有在管沒有X Window的主機時,也可以用這個拉!
Usage: $ ./grp_recent.rb group_name [count]
Options: * group_name: 沒錯!就是群組名稱!
* count: 可省略參數,用於顯示幾個書籤(從最新的開始算起,預設是6個)
程式碼如下:
#!/usr/bin/env ruby
# Code by CFC Zuso Security
# Taiwan Ruby Users Group: http://www.ruby.oss.tw/
# Rails Taiwan: http://www.rubyonrails.org.tw/
#
require 'rexml/document'
require 'open-uri'
include REXML

class Recent
attr_accessor :grp_name, :channel, :items

def initialize(grp_name, count)
@grp_name = grp_name
@url = "http://www.hemidemi.com/rss/group/#{@grp_name}/bookmark/recent.xml"
@channel = @channel || {}
@items = []
if count == nil
@count = 6
else
@count = count.to_i
end
end

def run
load_in
show
end
def load_in
open(@url) do |f|
xml = Document.new(f.read)

xml.elements.each("*/channel") do |chnl|
@channel["name"] = chnl.elements["description"].text
@channel["link"] = chnl.elements["link"].text
end

xml.elements.each("*/channel/item") do |item|
itm = {}
itm["title"] = item.elements["title"].text
itm["description"] = item.elements["description"].text
itm["link"] = item.elements["link"].text
itm["creator"] = item.elements["dc:creator"].text
@items << itm
end
end
end

def show
puts "="*10
puts "群組:#{@channel["name"]} [ #{@channel["link"]} ]"
puts "共有#{@items.size}個書籤"
puts "="*10
@count = @items.size if @items.size < @count
@count.times { |cnt|
puts "張貼者:#{@items[cnt]["creator"]} [ http://www.hemidemi.com/user/#{@items[cnt]["creator"]}/home ]"
puts "標題:#{@items[cnt]["title"]}"
puts "網址:#{@items[cnt]["link"]}"
puts "敘述:#{@items[cnt]["description"]}"
puts "*"*10
}
puts "="*10
end
public :run
private :load_in, :show
end

rss = Recent.new(ARGV[0], ARGV[1])
rss.run

下載點:http://stmail.tajen.edu.tw/~593092514/grp_recent.rb

2006年8月24日

Rails + AJAX範例

這網站看起來真不錯:P
網址:http://demo.script.aculo.us/

裏面有幾個不錯的Demo
而且都有釋出原始碼

用Rails真的很快Orz..
像是第一個範例
Autocompleting text fields (basic)

程式碼兩行(一行在view,一行是controller)就搞定

第二個也是扯
上面
To:那邊輸入A
CC:輸入B
輸入一個字後先等著不要離開,它就會出現suggestion了..

hmmm... 真是好玩!

2006年8月22日

Ubuntu -- 更新系統後進不去X Window

早上要去學校前,更新了一下xserver-xorg-core
剛回到家發現.. X進不去了!?
怪.. 用laptop上IRC後發現也有其他人這樣
卻不知道是那邊出問題..
上了論壇,一樣有這問題的求助文章
上去Cn那邊.. 也是有.. 可是都沒有解答
好吧.. 去美國看看
看完後,找到解決方案... 底下是步驟

根據以下指令動作
wget -c http://people.ubuntu.com/~rodarvus/packages/dapper/xorg-server/xserver-xorg-core_1.0.2-0ubuntu10.4_i386.deb
wget -c http://people.ubuntu.com/~rodarvus/packages/dapper/xorg-server/xserver-xorg-dev_1.0.2-0ubuntu10.4_i386.deb
抓完後,請下 dpkg -i xserver-xorg*
如果說,xserver-xorg-dev安裝失敗也沒關係
我想應該沒有什麼影響
然後裝好後就可以 sudo /etc/init.d/gdm restart
接著就可以進去X了!

2006年8月21日

如何進去網站後就轉到指定的Controller?

嗯.. 關於這點..
呵~cookoo大哥先在這邊謝過拉XD
雖然你忘記要作最後一個動作...

ok...

  1. edit config/routes.rb
  2. add map.connect '', :controller => "ctrl_name"
  3. save it and remove or rename public/index.html
cookoo大哥忘記說哪一點呢?
沒錯...
第三點="=

害我昨天測試了老半天阿阿阿阿阿阿阿阿阿!!!!!!!

2006年8月14日

set_primary_key

在Rails,如果你想要使用自訂的Primary Key Name(主鍵)的話(如果你用Migrate產生,預設就會建立一個叫作id的主鍵)可以使用set_primary_key
set_primary_key好像還要搭配set_table_name使用,不然會出錯!
因為我在作補習班網站的案子時,僅僅加入set_primary_key就出錯,加上set_table_name才正常,因此我想set_primary_key一定要有set_table_name的輔助吧?不過反之我想應該不同!
請在Model裏面編輯
set_table_name “tbl_name”
set_primary_key “pk_name
但是請注意!如果自訂Primary Key的話,在編輯的欄位內請不要讓那個欄位可以編輯!假設我...
set_table_name "people"
set_primary_key "uid"
此時就別讓uid可以編輯,像是出現:
<%= text_field "person", "uid" %>
這樣會產生錯誤!
詳情可以參考:
Agile Web Development with Rails書中第14章第三節的部份,雖然繼續使用uid還是可以的,但是會比較麻煩點!
而該節最後一句話:When you need to set the primary key, use id. At all other times, use the actual column
感謝China on Rails群組中的darren.hoo!
相關討論請看:
Ruby on Rails on Google Groups

2006年8月6日

"Getting Real" 到底想要告訴我們甚麼?

文章引用至


Getting Real 是 37signals 最近出版的一本電子書, 內容探討開發 web application 的方法及經營策略. 蠻顛覆一般傳統軟體工程所學的. 聽說已經賣了 6000 多本, 大家當做求取新知看看吧!

大致把書上 Table of Content 放上來, 相信看完後你們會有一些新想法!

  1. 起跑線
    • Build Less(少功能, 少人開發, 少廣告…), 了解你的問題? 自己投資
    • 要在時間及預算內完成, 些許的彈性(減少你的功能)
    • 找個敵人給自己. 不要把它當雜務事
  2. 保持苗條
    • 越是苗條越容易改變, 不要混亂. 降低你的變動成本
    • 只要 3 個員工就可開始(RD, designer, sweeper)
    • 要能接受限制, 你的計畫就不會失控, 還有就是樂於當你自己
  3. Priorities
    • What’s the Big Idea, 忽略細節吧
    • It’s a Problem When It’s a Problem
    • Hire the Right Customers, 慢慢擴充, 做個堅持己見的計畫
  4. Feature Selection
    • 一半就夠了, 但要好的那一半
    • 開始說 “No”, 你處理的來嗎?, 讓使用者自己想解決方案, 忘記 Feature Requests 吧!
  5. Process
    • 開始寫程式及 demo 結果, 反覆的修正更改, 開始把想法寫出來, 不要有 “設定/Preference” 功能,
    • “完成啦”, 直接進入網路世界測試
  6. 組織運作
    • Unity, 要有單獨(不被打擾)的時間
    • 開會絕對是毒蘋果, 慶祝你計畫上可能的小小勝利
  7. 員工
    • 僱用少一點人或晚一點開始雇人
    • 做事而不是高談, 不要掩飾你的熱情
  8. 使用者介面設計
    • 一切從使用者介面開始, 從中心畫面開始往外
    • 要考慮正常使用, 新增時空白及錯誤時的畫面, 要有一致性
    • 使用者介面才是你的著作權
  9. 寫程式
    • 用少少的軟體(可以依賴 opensouce), 快樂至上, 讓程式自己說話,
    • 你寫的程式可能是負債, 要小心謹慎
    • 讓資料可以透過 RSS, API 和世界連結
  10. Words
    • 沒有 Functional Spec
    • 不要寫常常過期又沒用的文件,
    • Tell Me a Quick Story, 給你的計畫命個名
  11. Pricing and Signup
    • 免費使用, 使用者容易加入及取消
    • Silly Rabbit, Tricks are for Kids
  12. Promotion
    • Hollywood Launch, 建立一個網站能介紹你的產品
    • 利用 Blog 的力量, 早早提供一些消息吸引大眾, 追蹤你程式內 log
  13. Support
    • 讓開發人員感受 Support 的痛苦, 免訓練即可用(也不用 manual, 只要有 online help & FAQ)
    • 快速回答問題, 不用害怕跟客戶說 “No”
    • 善用 Forum
  14. Post-Launch
    • 每月可以調整一下程式, Keep the Posts Coming, 讓程式更好而不是 Beta
    • 所有 Bugs 要分輕重緩急, Ride Out the Storm, Keep Up With the Joneses, Beware the Bloat Monster, Go With the Flow

軟 體/網站人員應該對這些新看法覺得蠻有趣的, 看到專案市場常常有人在抱怨, 但有一些人已經開始採取另外的作法. 不像現在軟體公司養那麼多人, 都快要進入恐龍級了, 為了獲利只得外包到人工便宜的地方, 不然就是壟斷那塊市場, 或許他們是因為網路公司的背景, 讓他們有如此不同的看法吧! 這些理念及經營手法多少可以從 37signals 及一些新興的 web 2.0 網站看出來

讓Ubuntu上網速度加快

我想大家都知道上網時,電腦會透過DNS要求遠端IP
拿到IP後才可以進行連線
而通常連線到DNS的這段時間其實是可以不需要的
只要自己的主機架設DNS,或者在/etc/hosts上手動設定網域名稱跟IP
就可以加快網路速度!
可是,手動設定網域名稱跟IP不是每個人都會,而且設定繁瑣,更新困難
乾脆就裝個輕便型的DNS吧:P

$ sudo apt-get install dnsmasq

$ sudo vim /etc/dnsmasq.conf

把listen-address=127.0.0.1
弄好後存檔離開

接著設定dhclient.conf

$ sudo vim /etc/dhcp3/dhclient.conf

確定這幾行的樣子是跟以下一樣:

#supersede domain-name "fugue.com home.vix.com";
prepend domain-name-servers 127.0.0.1;
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, host-name,
netbios-name-servers, netbios-scope;

尤其是prepend domain-name-servers 127.0.0.1;這行,這行如果是註解就請去掉。
存檔離開

打開/etc/resolv.conf吧

在nameserver的第一行加上自己主機
存檔離開後就可以restart dnsmasq
$ sudo /etc/init.d/dnsmasq restart

OK,來試試看是否正常運行

$ dig google.com
看看Query time
第一次可能會超過10
第二次試試看,應該不會超過3 :)



如果你是xDSL使用者,可以參考下面的其他設定
打開/etc/dnsmasq.conf
尋找
#resolv-file=
註解取消,加上
/etc/resolv.dnsmasq.conf

存檔離開後把/etc/resolv.conf複製一份,路徑名稱是:/etc/resolv.dnsmasq.conf

編輯/etc/resolv.conf
確定檔案內只有一行
nameserver 127.0.0.1

存檔離開,修改/etc/ppp/peers/dsl-provider
把usepeerdns給註解掉

OK~ 成功!


2006年8月1日

工具發佈: CharArray

呼.. 為了EasyURL,剛剛花了點時間自己搞了個產生亂碼的程式
程式碼在這邊
想看的請用Shift + 左鍵點選(或者右鍵開新視窗;如果是Firefox使用者建議使用”用新分頁開啟”)
class CA
def generate times=1
times = 1 if times <= 0
return (1..times.to_i).to_a.collect{|x| (('a'..'z').to_a+('A'..'Z').to_a+('0'..'9').to_a)[rand(62)]}.join
end

def gen times=1
generate times
end
end

程式碼修正:
心得:被GSR用一行嗆明.. 我真的該檢討>"<

2006年7月31日

Ajax Scaffold -- 真是帥阿

昨晚在逛Railscn時看到AJAX Scaffold
當時在想:”AJAX腳手架?不會吧… ” 看過Rails的scaffold後感覺到真的很恐怖
因此就在想… 該不會真的這麼棒?只要幾個步驟就可以搞定了嗎?
點進去後,發現只要五個步驟就可以搞定… “嘿!挺有趣的說!”
網址是:

我簡單的寫個步驟好了…

1. 當然是先建立一個Rails專案拉!記得要去設定config/database.yml
  • rails ajax
2. 產生一個model
  • script/generate model member
3. 編輯db/migrate/001_create_members.rb
  • 請根據下面去修改
    class CreateMembers < ActiveRecord::Migration
    def self.up
    create_ table :members do |t|
    t.column :name, :string
    t.column :email, :string
    t.column :address, :string
    end
    end
    def self.down
    drop table :members
    end
    end
4. 好!開始rake migrate
  • rake migrate
5. 產生AJAX Scaffold
  • script/generate ajax_scaffold member

好拉!去看看吧!

script/server -p 3000

http://localhost:3000/members

哈哈!
這邊可以看到範例

2006年7月28日

嗯.. 第二個Rails程式完成 -- Bookmanager

哇呼.. 雛形是出來了
版面不能看(!)

大致上是還好
在開發的過程中,沒有遇到太大的問題
而且在這次開發的過程中我又釐清了很多東西
對Rails的操控又更加熟悉了

其實Rails的開發真的很簡單
一個rails project建立好後
修改config
建立Controller
連去Database建立Schema、Tables
建立Model
使用Scaffold
OK~ 基本的東西出來了

接著再修改一些東西
還有rhtml的修改、版面配置
這樣就完成一個Web Application

其實在這整個過程中
寫的程式碼真的不多
我相信比用PHP還要節省更多時間

過幾天再丟到網路上吧...

Zonble -- 偶像阿!

剛剛回去聽了聽兩首不錯的歌

1. No, I won't fix your computer
2. Hacker Song

呵呵,我想有些人都有聽過吧?
有的人聽過只是笑笑
有的人是不知道在唱啥
可是我相信,有人絕對是聽不懂也看不懂歌詞在寫什麼
還會說:「怎麼那麼難聽啊?」 (沒錯,就是妳!http://www.wretch.cc/blog/cfcef&article_id=5338321 )

唉,這兩首歌寫的很貼切
寫得深入人心
對於那些只會叫人家來幫忙修電腦
自己卻不肯去學(還有一大部分自己是資管生,卻不知道唸資管的使命是什麼!很多都是女生!)
很好笑,問題說不清楚
自願去妳家幫妳又理由一堆
弄不好都怪我
妳他媽的妳算什麼?
跩?妳既然啥都不會妳還跩什麼?

奉勸各位有求於人的朋友們最好口氣好一點
不然可能得到的答案會是反效果的:P


嗯... 那兩首歌的網址是:
http://zonble.twbbs.org/archives/2005_07/784.php
http://zonble.twbbs.org/archives/2005_02/696.php

2006年7月27日

最近...

我想我或許已經想到我該走哪條路了
回想以前,剛從網頁開始走入資訊這條路.. 夢想當一個程式設計師
漸漸的,發現到這只是一個夢想,因為我不太喜歡爆肝的感覺...
開始往多方面去嘗試了解學習專研...
這也玩那也玩,玩到最後什麼都知道,什麼都不精通

不過,比較熟的還是那個.. 沒錯!
就是網頁設計!
其實說熟網頁設計也不盡然.. 我比較熟Coding..
嗯,Web Application開發真的很有趣

如果用PHP開發,也許我還不太想要走這條
可惜Ruby on Rails出現了...
Ruby on Rails真的很不錯..
一個十幾歲的小鬼,獨自一人在兩個禮拜內寫出CMS
扣除掉吃飯睡覺上課洗澡跑出去打球把妹的時間,也有一個多禮拜吧?
PHP、JSP、ASP高手們寫給我看...

由於是用Ruby開發出來的Framework
所以承襲了Ruby:"簡單原始碼"的優點
小弟的另一個Blog:CFC on Rails將會近期內補上文章:)
敬請期待XD

Yahoo! Kimo該檢討了!

標題點下去,會連結到我所看到的那篇頁面

看完該文章後,讓我更加討厭Yahoo! Kimo
其實本身對於他們的政策就有許多不滿
政策外,還有服務跟服務人員智商

朋友說過,他之所以選擇使用Yahoo Messenger,就是因為沒有廣告
可是當第七版出來後,出現廣告了...
所以跑去用Google Talk.. (個人認為Google Talk實在是太好用了.. 推薦:P)

Yahoo吃記憶體量,不輸給MSN... 好用度可沒勝過MSN...
連MSN都取笑Yahoo Messenger常常連不上.. (雅虎工作人員們... 被合作夥伴笑的感覺怎樣?)

Yahoo拍賣也不是多好,就算再臺灣佔有量第一好了.. 也不想想如果沒有網友支持,你們有可能第一嗎? 憑你們也想學電子灣收錢!? 再等等好嗎?過兩世紀後再談好了...

網友們沒有品,難道服務人員也得跟著沒品嗎!?
服務人員很高尚嗎?在雅虎工作就很跩嗎!?
那Google工作人員怎辦!?小小服務人員而已!跩什麼?

還好Flickr沒有限制只有Yahoo會員可以用...
不然我看會有人反彈喔:P

Yahoo Google
家族 Google Group
信箱 GMail
即時通訊 GTalk
Yahoo部落格 Blogger
Yahoo搜尋 Google, Google suggest


現有其他服務

國外有 del.icio.us,台灣有HEMiDEMi



知道的朋友們說一下吧...