iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 2
0
Modern Web

Ruby on Rails面試題挑戰系列 第 2

Ruby on Rails面試題挑戰 Day02 - Ruby on Rails 是什麼?

既然要談Rails面試題,第一題就從基本的對於Ruby on Rails的理解開始吧!
https://ithelp.ithome.com.tw/upload/images/20200909/20129544ejFCVzmKp5.png


請解釋Ruby on Rails 是什麼?
Explain what is Ruby on Rails?


Ruby是什麼?

Ruby 是一種物件導向非常徹底的程式語言,由日本人松本行弘(Matz)在1995年發明。設計初衷是作者想要一款物件導向且容易使用的程式語言,Perl與Python兩款並不符合他的需求,於是就決定自己做一個,Ruby就此誕生!

名稱由來:

Matz與他的同事Keiju Ishitsuka討論中,Keiju以Perl(源自珍珠Pearl)聯想到了Ruby(紅寶石)的名稱,最後在Coral與Ruby中,Matz選擇Ruby做為程式語言的名字。

設計哲學:

希望Ruby能幫助程式設計的人變得更有生產力樂於寫程式寫得開心


Rails是什麼?

Rails是一種以Ruby語言所寫的網站開發框架,全名為Ruby on Rails,作者David Heinemeier Hansson (DHH)是個丹麥人,除了程式設計師外,還是個賽車手、作家、企業家。於2004年,DHH從公司的專案管理工具BaseCamp中將Ruby on Rails獨立出來,2005年以開源的方式發布,漸漸的流行於程式圈。

名稱由來:

DHH在訪談中提到,起先他想取個R開頭的名字致敬Ruby,於是想到了Rails,講說我在Rails上開發聽起來很有趣,有種走吧、非常快速(Just goes,it’s fast)的感覺,於是DHH開始搜尋 Rails.com/Rails.org 等相關網域,但都被取走了,後來終於找到RubyonRails.com這個名字,就此定案!

設計哲學:

兩大原則分別是「不做重複的事」(Don’t Repeat Yourself)和「慣例優於設定」(Convention Over Configuration)。

  1. 不做重複的事:將重複的程式碼或結構抽離出來,以便程式更簡潔。
  2. 慣例優於設定:一種框架中約定俗成的慣例,包括命名的方式、網址、檔案的位置等等,目的是為了減少軟體開發者所需下的決定,若大家在照著同樣的慣例情況下,程式碼變得易懂且優雅。

若要簡單回答這題面試題,我會這麼說:


Ruby是一種物件導向的程式語言
而Rails(或Ruby on Rails)是以Ruby這款程式語言所寫的網站開發框架


參考資料

  1. https://www.ruby-lang.org/zh_tw/about/
  2. https://en.wikipedia.org/wiki/Ruby_(programming_language)
  3. http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/88819
  4. https://tim.blog/2018/06/05/the-tim-ferriss-show-transcripts-david-dhh-heinemeier-hansson/

上一篇
Ruby on Rails面試題挑戰 Day01 - 開賽宣言
下一篇
Ruby on Rails面試題挑戰 Day03 - 在Ruby當中幾乎所有的東西都是物件?
系列文
Ruby on Rails面試題挑戰30

尚未有邦友留言

立即登入留言