剛改好的圖,話說灌繪圖軟體的時間都還比較久。改完之後我自己也覺得很好笑...XD
- Jul 28 Fri 2006 06:10
我沒有偷吃雞排!
剛改好的圖,話說灌繪圖軟體的時間都還比較久。改完之後我自己也覺得很好笑...XD
- Jul 28 Fri 2006 02:59
Why Ruby??
在這物價高漲、油價飆升的時代,每個人都想省一點錢,又有一句話說「時間就是金錢」。而Ruby就是我們的救世主啊!
看看這張圖,光是書錢我們就可以省多少了,更別說可以省下多少時間。Ruby的小而美,讓我們不用購買昂貴的硬體架站。Ruby的跨平台,以及跟My SQL的完美結合,讓我們跟微軟說拜拜!
再看看上面這張圖,使用Ruby,不用再擔心忘了哪些語法或Namespace,而浪費時間去查書,這張小抄就能應付你所有的需求,還等什麼,一起Ruby吧!
- Jul 28 Fri 2006 01:09
網誌主題曲.七佛滅罪真言
- Jul 27 Thu 2006 19:29
百元電腦與高階電腦
我的專題老師曾經問我一個問題:「你的電腦有必要這麼快嗎?」他覺得電腦夠用就好,一直升級硬體,但電腦的開機速度卻不曾變快過。我當時只回答自己的需求有必要這麼快,不提打電玩,自己常常就有在寫程式,而且還有專題要作,電腦不快一點根本就是對不起自己,沒人可以忍受編譯器拖跨整個電腦的效能,而且我寫的還是視窗程式。在寫程式的同時,也會想偷懶一下,這時就把所有的工作視窗縮到最小,開啟剛載下來的衛星電視節目,欣賞早安少女組身上每個毛孔……啊我是說動人的舞姿,不然就是上上網,而我上網的習慣就是開很多視窗……這還不包括因為上網找資料而開的視窗。要滿足上述的需求,電腦自然要快一點、強一點,不過我算是個重度使用者,跟我一樣的人比例大概不多。而在前幾天,我看了今週刊的百元電腦報導,又讓我想起了這個問題,人們為何需要電腦,真正的需求是啥,廠商的效能競賽對使用者有沒有益處。報導裡有訪問到廣達董事長林百里,在百元電腦計畫裡,林百里的廣達電子扮演相當重要的角色。他提到,一部高效能的電腦,真正去使用到的功能有多少,電腦速度這麼快,開機速度有變快嗎?顯然是沒有。在今天,一顆CPU的速度都已經2G3G了,想買1G的CPU可能還不容易,大家都視這樣的情形為理所當然,但百元電腦卻反其道而行,不用效能高的零件,甚至連硬碟都沒有,而且還有手搖轉動搖桿,這是用來發電的。這樣的電腦對我們來說,可能會覺得很難用,但是除了廣達,有些廠商其實已經悄悄的投入相關研發。這是一個很有趣的問題,我們都不需要速度快、效能高的電腦嗎?以公司來說,確實只要夠用就好,太好的電腦可能會讓員工用來摸魚,說不定還會裝上魔獸世界在網上廝殺一番。如果以個人使用來說,情況就有點復雜了,因為每個人的需求都不同,只是可以確定一件事,電腦能作的事變多了,因為軟體愈寫愈好,但要使用這些功能,可能需要一些代價………
或許是因為廠商的宣傳,讓許多人覺得電腦不買這麼快就是不夠用,也有人說根本就不需要這麼快的電腦。但站在程式設計的角度來看,個人有一個不同的看法。有些教程式設計的老師會說:「現在的電腦這麼快,有些程式碼不一定要最佳化到最好,有時候能動比較重要。」甚至一些程式設計的書也有這樣提過。確實,一般電腦在用的程式,架構都很復雜,如果每個環節都要最佳化,程式大概十年也寫不完。但這又產生一個問題,假如一個程式執行時浪費5MB的記憶、1%的cpu time。只執行一個時,可能不會有什麼問題,但是當程式一多,常駐程式多跑幾個,那惡夢就來了。
問題出在誰身上,是硬體廠商還是軟體公司。今天硬體就是這麼快,寫程式的當然是多多利用,然後程式就是佔這麼多的系統資源,之後有使用者覺得電腦慢,廠商順勢推出更快的硬體,之後再循環下去……硬體的無間地獄嗎?低價電腦有沒有市場,或許可以拭目以待,期待廠商開發出不同的市場。
有關百元電腦
- Jul 26 Wed 2006 07:54
簡單介紹Ruby的語法
這篇主要介紹Ruby的一些物件導向用法,請看以下的程式碼:
class MyClass
@@num_object = 0 # class variable
def initialize(name,phone)
@name = name
@phone = phone
@count = 0
@@num_object +=1
end
def testSub
puts "this is testSub"
end
def reflex(input)
puts input
end
def showData
puts "name:" + @name
puts "phone:" + @phone
puts "目前有#{@@num_object.to_s}個實體"
return true
end
def printcount
puts @count.to_s
@count += 1
end
end
class SubClass < MyClass
attr_reader:name
attr_writer:name
attr_accessor :value
def initialize(name,phone)
super(name,phone)
end
def description
return @description
end
def description=(aWord)
@description = aWord
end
end
def initialize(name,phone) 這一段是建構子的宣告,在其它的程式語言如C++ Java都是用類別的名稱來宣告建構子,在Ruby一律都是initialize。而變數前面加一個@,代表這是類別裡的成員。另外有加@@的,就是static變數。另外「class SubClass < MyClass」表示SubClass是繼承自MyClass。
另外下面這三個則比較特別:
attr_reader:name
attr_writer:name
attr_accessor :value
這個語法是用來宣告別類的屬性,例如說:
A = SubClass.new("sholfen", "0915000000")
A.name = "Linuxer"
A.value = 700
用attr_reader這個語法宣告時,代表此變數唯讀,要修改的話就得利用attr_writer宣告變數。而attr_accessor則是動態產生的一個變數。當「A.value = 700」這一行還沒執行時,物件裡是不會有value這個變數的,執行之後就會動態產生這個變數,使用上很有彈性。
暫時先簡單介紹到這~~