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

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

2007年2月20日

Gyre -- 優秀又強大的網頁版Rails編輯器

Gyre是一個網頁版的Rails Editor,雖然是網頁版的可是別小看它喔!
它的執行環境不過就只是從Desktop換到Web而已,一般IDE該有的功能都有喔!
Ruby Inside上有介紹:http://www.rubyinside.com/gyre-web-based-ide-and-debugger-for-rails-383.html
官方網站:http://gyre.bitscribe.net/
ScreenCast:http://gyre.bitscribe.net/screencast
我很推薦各位去看他的ScreenCast,前面介紹蠻多的.. 可以跳過不聽XD
它可以Debug,可以同步變更檔案內容(也就是說當我使用這個網頁版編輯器時,我在一般文字編輯器上的修改,這個編輯器也可以即時更新)!

Win32API Sample: MessageBox

require 'Win32API'

=begin
Message Box:
Coded by CFC Zuso Security
CFC
2007/2/16
=end

class Msgbox
def initialize(lpText="", lpCaption="", wType = 0)
Win32API.new('user32', 'MessageBox', %w(p p p i), 'i').call(0,lpText,lpCaption,wType)
end
end

def Msgbox(lpText="", lpCaption="", wType = 0)
Win32API.new('user32', 'MessageBox', %w(p p p i), 'i').call(0,lpText,lpCaption,wType)
end

採用MIT授權條款
Usage:
Msgbox.new("Hi", "Hello, world")
Msgbox.new("XD", "Hello!", 1)
Msgbox("Hi", "Hello!")

如何透過Ruby呼叫Win32API

研究了一下.. 寫出來當Memo..
我先以一個簡單的例子來解說,就用大家最愛的MessageBox吧!

require 'win32api'
msgbox = Win32API.new('user32', 'MessageBox', %w(p p p i), 'i')
msgbox.call(0, "Message body", "Messagebox title", 1) # hwnd, lpText, lpCaption, wType => Come from API Viewer (API檢視員)

OK.. 開始來講解
1. require 'win32api'
這是將win32api.rb給引入的意思,跟C的#include用意相同

2. msgbox = Win32API.new('user32', 'MessageBox', %w(p p p i), 'i')
實體化一個Win32API物件,第一個是dllname,第二個是要呼叫的東西,第三個是API參數傳遞時的資料型態,第四個是要回傳的資料型態
如果保持nil(也就是null)的話,就表示不會有傳入或回傳

3. msgbox.call(0, "Message body", "Messagebox title", 1)
透過這個物件呼叫,hwnd傳入0,lpText傳入"Message body"接著以此類推

我來張貼一下常數表

# type flag
MB_OK = 0
MB_OKCANCEL = 1
MB_ABORTRETRYIGNORE = 2
MB_YESNOCANCEL = 3
MB_YESNO = 4
MB_RETRYCANCEL = 5

# return values
IDOK = 1
IDCANCEL = 2
IDABORT = 3
IDRETRY = 4
IDIGNORE = 5
IDYES = 6
IDNO = 7

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的缺點

真的是這樣嗎:)?