剛改好的圖,話說灌繪圖軟體的時間都還比較久。改完之後我自己也覺得很好笑...XD

卑微研究生 發表在 痞客邦 留言(0) 人氣()

網址
在這物價高漲、油價飆升的時代,每個人都想省一點錢,又有一句話說「時間就是金錢」。而Ruby就是我們的救世主啊!




看看這張圖,光是書錢我們就可以省多少了,更別說可以省下多少時間。Ruby的小而美,讓我們不用購買昂貴的硬體架站。Ruby的跨平台,以及跟My SQL的完美結合,讓我們跟微軟說拜拜!


再看看上面這張圖,使用Ruby,不用再擔心忘了哪些語法或Namespace,而浪費時間去查書,這張小抄就能應付你所有的需求,還等什麼,一起Ruby吧!

卑微研究生 發表在 痞客邦 留言(0) 人氣()







一步蓮華的武戲配樂。

卑微研究生 發表在 痞客邦 留言(0) 人氣()

我的專題老師曾經問我一個問題:「你的電腦有必要這麼快嗎?」他覺得電腦夠用就好,一直升級硬體,但電腦的開機速度卻不曾變快過。我當時只回答自己的需求有必要這麼快,不提打電玩,自己常常就有在寫程式,而且還有專題要作,電腦不快一點根本就是對不起自己,沒人可以忍受編譯器拖跨整個電腦的效能,而且我寫的還是視窗程式。在寫程式的同時,也會想偷懶一下,這時就把所有的工作視窗縮到最小,開啟剛載下來的衛星電視節目,欣賞早安少女組身上每個毛孔……啊我是說動人的舞姿,不然就是上上網,而我上網的習慣就是開很多視窗……這還不包括因為上網找資料而開的視窗。要滿足上述的需求,電腦自然要快一點、強一點,不過我算是個重度使用者,跟我一樣的人比例大概不多。而在前幾天,我看了今週刊的百元電腦報導,又讓我想起了這個問題,人們為何需要電腦,真正的需求是啥,廠商的效能競賽對使用者有沒有益處。報導裡有訪問到廣達董事長林百里,在百元電腦計畫裡,林百里的廣達電子扮演相當重要的角色。他提到,一部高效能的電腦,真正去使用到的功能有多少,電腦速度這麼快,開機速度有變快嗎?顯然是沒有。在今天,一顆CPU的速度都已經2G3G了,想買1G的CPU可能還不容易,大家都視這樣的情形為理所當然,但百元電腦卻反其道而行,不用效能高的零件,甚至連硬碟都沒有,而且還有手搖轉動搖桿,這是用來發電的。這樣的電腦對我們來說,可能會覺得很難用,但是除了廣達,有些廠商其實已經悄悄的投入相關研發。這是一個很有趣的問題,我們都不需要速度快、效能高的電腦嗎?以公司來說,確實只要夠用就好,太好的電腦可能會讓員工用來摸魚,說不定還會裝上魔獸世界在網上廝殺一番。如果以個人使用來說,情況就有點復雜了,因為每個人的需求都不同,只是可以確定一件事,電腦能作的事變多了,因為軟體愈寫愈好,但要使用這些功能,可能需要一些代價………

或許是因為廠商的宣傳,讓許多人覺得電腦不買這麼快就是不夠用,也有人說根本就不需要這麼快的電腦。但站在程式設計的角度來看,個人有一個不同的看法。有些教程式設計的老師會說:「現在的電腦這麼快,有些程式碼不一定要最佳化到最好,有時候能動比較重要。」甚至一些程式設計的書也有這樣提過。確實,一般電腦在用的程式,架構都很復雜,如果每個環節都要最佳化,程式大概十年也寫不完。但這又產生一個問題,假如一個程式執行時浪費5MB的記憶、1%的cpu time。只執行一個時,可能不會有什麼問題,但是當程式一多,常駐程式多跑幾個,那惡夢就來了。


問題出在誰身上,是硬體廠商還是軟體公司。今天硬體就是這麼快,寫程式的當然是多多利用,然後程式就是佔這麼多的系統資源,之後有使用者覺得電腦慢,廠商順勢推出更快的硬體,之後再循環下去……硬體的無間地獄嗎?低價電腦有沒有市場,或許可以拭目以待,期待廠商開發出不同的市場。

有關百元電腦

卑微研究生 發表在 痞客邦 留言(0) 人氣()

這篇主要介紹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這個變數的,執行之後就會動態產生這個變數,使用上很有彈性。

暫時先簡單介紹到這~~

卑微研究生 發表在 痞客邦 留言(0) 人氣()