[學習資源] 奧丁計畫(Odin Project):一個免費學習網頁程式設計前台~後台完整知識的網站 -- 使用 Ruby on Rails 當後台語言/框架。
課程頁面: http://goo.gl/v8nRzN
首頁: http://goo.gl/1Engy4
#eLearning #WebProgramming #RubyOnRails #OdinProject
今天介紹給各位的,是一個稱為「奧丁計畫」的網站。該網站的宗旨是推廣網頁程式設計以及 Ruby on Rails 這套網頁後台框架(Frameworks)。站主從 2012 年開始學網頁程式設計,很希望能結交世界各地的同好一起研究討論,於是就把他所學的內容做成筆記,公開給大家,藉此呼朋引伴、切磋進步。
這個網站的最大優點是「學習順序清楚」、「版面清爽乾淨」。請各位點擊上方標示為「課程頁面」的連結,就會看到站主建議的學習順序。他列出的學習順序如下:
1. Introduction to Web Development
2. Web Development 101
3. Ruby Programming
4. Ruby on Rails
5. HTML5 and CSS3
6. Javascript and jQuery
7. Getting Hired as a Web Developer
我個人對於 (3) (4) 的順序有點意見。(3) (4) 屬於網頁後台,就我個人的教學經驗,對一個完全不懂程式語言的人先教後台有點複雜難懂。我會建議用: (1) -> (2) -> (5) -> (6) -> (3) -> (4) -> (7) 這樣的順序學習會比較好。大家可以試試看。
目前最常見的三大後台語言分別是:PHP, Node.js, Ruby。Ruby 作為一個程式語言本來沒啥特別的地方,但它跟 Rails 這套 Ruby 框架(框架 = Framework = 高人事先寫好、可直接套用的一些好用程式碼)搭配一起,用來開發網頁就很厲害了!簡單不出十個指令,一個網站就能從無到有、包含一個簡陋的前台與後台資料庫,都幫您建置完成!您只要稍微美化一下前台、加點客製化功能,一個看起來蠻像樣的網站就做好了!台灣 318 太陽花學運期間,用七個小時就架出一個理念說明兼募款功能的網站( http://4am.tw/ ),據說就是使用 Ruby on Rails 寫出來的。
今天推薦的這個網站大家覺得有用嗎?感覺大家對網頁程式設計比較有興趣,我也試著回應大家的喜好、特別找了些不錯的資源貼上來。如果您覺得不錯,就麻煩您按讚鼓勵一下、也讓我知道您想看這類學習資源。當然更歡迎您轉發分享給您 Facebook 的其他好友,讓大家一起學習、一起進步。我也會更努力找些超讚的資源,幫助大家體會程式設計的樂趣!
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
「rubyonrails教學」的推薦目錄:
- 關於rubyonrails教學 在 紀老師程式教學網 Facebook 的最佳解答
- 關於rubyonrails教學 在 コバにゃんチャンネル Youtube 的最讚貼文
- 關於rubyonrails教學 在 大象中醫 Youtube 的最佳貼文
- 關於rubyonrails教學 在 大象中醫 Youtube 的精選貼文
- 關於rubyonrails教學 在 [心得] 給網站初學者的建議:用RoR非常辛苦- 看板Soft_Job 的評價
- 關於rubyonrails教學 在 Ruby on Rails 新手村 的評價
- 關於rubyonrails教學 在 [教學] 以YouTube Data API 擷取YouTube 影片資訊[Ruby on ... 的評價
rubyonrails教學 在 コバにゃんチャンネル Youtube 的最讚貼文
rubyonrails教學 在 大象中醫 Youtube 的最佳貼文
rubyonrails教學 在 大象中醫 Youtube 的精選貼文
rubyonrails教學 在 Ruby on Rails 新手村 的美食出口停車場
今年我參加鐵人賽的影片教學組,教大家用簡單的方式製作LINE Bot,已經完賽,在此分享給有興趣的朋友們。 使用基於Rails 的Kamigo 聊天機器人框架開發LINE Bot :: 2021 ... ... <看更多>
rubyonrails教學 在 [教學] 以YouTube Data API 擷取YouTube 影片資訊[Ruby on ... 的美食出口停車場
... 讓大家以Data API 讀取YouTube 的頻道和影片資料。今次教學就使用較為冷門的Ruby on Rails 來使用Data API 以關鍵字搜尋影片。 ... <看更多>
rubyonrails教學 在 [心得] 給網站初學者的建議:用RoR非常辛苦- 看板Soft_Job 的美食出口停車場
yo~小弟出社會工作兩三年了,有一些心得分享給想入門學寫網站的朋友:
用 Ruby on Rails 非常辛苦,用 PHP 非常舒服
網頁好讀版
https://blog.turn.tw/?p=2881
------------------------------------------------------
Rails是新手入門學寫網站最辛苦的選擇之一。
常常有文章或是課程建議新手用Rails入門寫網站,我認為這種建議十分危險。
Rails並不適合初學者使用。推薦沒有資訊背景的人去學Rails,很可能害他事倍功半。
新手用Rails入門的問題在哪?
Rails最大的問題就在於:它從一開始就不是設計給新手用的。
它是設計給工程師快速開發用的。
軟體工程沒有萬靈丹。適合老手的,對新手來說一定太難;
適合新手的,對老手來說一定太囉唆。
Rails為了替工程師節省反覆設定(configuration)的時間,
而預設了許多立場(convention)。
新手連web application的基本知識、環境設定都不知道,
直接去學前人的framework和convention,絕對不是好事,也非常辛苦。
我們從Rails的官方入門導覽來舉例吧:
https://guides.rubyonrails.org/getting_started.html
對新手來說,這份導覽真是充滿了災難。
它就跟大部份的rails教材一樣,會帶新手去學很沒必要的4件事情:
1. 新手沒必要學框架的檔案結構
2. 新手沒必要學框架的command line指令
3. 新手沒必要學helper
4. 新手沒必要學migration
1. 新手沒必要學框架的檔案結構
新手打開導覽之後,映入眼簾的,是這個介紹檔案結構的嚇人表格:
FILE/FOLDER PURPOSE
app/ Contains the controllers, models, views, helpers, mailers and assets
for your application. You’ll focus on this folder for the remainder of this
guide.
bin/ Contains the rails script that starts your app and can contain other
scripts you use to setup, deploy or run your application.
config/ Configure your application’s routes, database, and more. This is
covered in more detail in Configuring Rails Applications.
config.ru Rack configuration for Rack based servers used to start the
application.
db/ Contains your current database schema, as well as the database
migrations.
Gemfile
Gemfile.lock These files allow you to specify what gem dependencies are
needed for your Rails application. These files are used by the Bundler gem. For
more information about Bundler, see the Bundler website.
lib/ Extended modules for your application.
log/ Application log files.
public/ The only folder seen by the world as-is. Contains static files and
compiled assets.
Rakefile This file locates and loads tasks that can be run from the command
line. The task definitions are defined throughout the components of Rails.
Rather than changing Rakefile, you should add your own tasks by adding files to
the lib/tasks directory of your application.
README.rdoc This is a brief instruction manual for your application. You
should edit this file to tell others what your application does, how to set it
up, and so on.
test/ Unit tests, fixtures, and other test apparatus. These are covered in
Testing Rails Applications.
tmp/ Temporary files (like cache, pid, and session files).
vendor/ A place for all third-party code. In a typical Rails application
this includes vendored gems.
初學者一開始只想做個部落格或是個人網頁而已,真的有必要去面對這麼多檔案嗎?
這種架構是框架替工程師的軟體專案長遠著想,而詳細分工的結果。
新手並沒有要開發大型專案,做出幾個能跑能動的頁面就夠了。
結構或是程式碼醜一點無所謂,好上手就好,實在沒必要一開始就碰這麼複雜的。
2. 新手沒必要學框架的 command line指令
官方導覽介紹了產生controller相關檔案的指令:
$ bin/rails generate controller welcome index
然後rails會顯示以下訊息:
create app/controllers/welcome_controller.rb
route get 'welcome/index'
invoke erb
create app/views/welcome
create app/views/welcome/index.html.erb
invoke test_unit
create test/controllers/welcome_controller_test.rb
invoke helper
create app/helpers/welcome_helper.rb
invoke assets
invoke coffee
create app/assets/javascripts/welcome.js.coffee
invoke scss
create app/assets/stylesheets/welcome.css.scss
只不過想做個簡單頁面,居然跑出了好幾個檔案。對新手來說,這非常不友善。
新手想要的,是在資料夾裡面一次建立一個檔案,然後在裡面寫一點東西。
接著看看程式有什麼反應、跑不跑得動。這樣他才知道自己在做什麼、在學什麼。
像這種打一個指令產生一堆檔案的學習方法,就算真的「快速做出了一點東西」,
之後大概連怎麼修改程式都不知道。如此黑箱,很容易帶來挫折感。
3. 新手沒必要學helper
官方導覽提到了Form的寫法如下:
<%= form_for :article do |f| %>
<p>
<%= f.label :title %><br>
<%= f.text_field :title %>
</p>
<p>
<%= f.label :text %><br>
<%= f.text_area :text %>
</p>
<p>
<%= f.submit %>
</p>
<% end %>
這完全是災難一場。
新手該學的不是這種ERB語法,而是原始HTML的Form element語法:
<form>
<label>title</label>
<input />
<label>text</label>
<textarea></textarea>
</form>
Form element的語法一點都不難,網路上到處找都有。
新手學HTML基本知識就夠了。接著再學一些HTTP的基本知識,
了解瀏覽器如何將表單的資料丟給後端程式互動。
學這些基本知識才踏實、才有成就感。
helper是工程師為了少寫HTML而使用的進階工具。
初學者連基本的HTML都不會,學什麼helper?徒然增加挫折感而已。
4. 新手沒必要學migration
migration是工程師方便管理資料庫結構的版本,以及在團隊成員間同步化的工具。
初學者根本沒有這種管理資料庫的需求。
新手如果要學資料庫操作,應該去學資料庫軟體(譬如說MySQL)本身的語法,這樣才會有
學到資料庫操作的扎實感覺。
如果是一開始不想學資料庫語法的新手,那更不應該去學migration。
他應該去安裝一款有圖形化介面的資料庫管理軟體,
用滑鼠按一按把資料表做出來就可以了。
初學者最舒服的學習路徑:PHP + 懶人包
初學者對於開發網站的想像,不外乎就是「寫幾行程式碼,做出幾個小頁面」。
他一開始對於環境安裝與調整沒有興趣,也負荷不來。
這個時候,使用PHP搭配懶人包開發會是最舒服的路徑。
學寫網站至少要碰幾個東西:
HTML
CSS
client-side programming (JavaScript)
server-side programming (ex: Ruby on Rails 或是 PHP)
資料庫
架server
我對新手學習的建議是這樣的:
1. HTML和CSS幾乎沒有入門門檻,線上隨便找教材都有。
2. JavaScript主要是用來做瀏覽器上的一些動態效果,非必要。一開始先不學。
3. 資料庫跟架server一開始超出新手想像,可以先安裝懶人包帶過。
4. server-side programming才是新手原本理解的「學寫網站」。
基於以上四點建議,新手一開始把心力放在1、4即可,然後從以下懶人包擇一安裝:
AppServ
Wamp
Xampp
這些懶人包會直接幫你裝好server、資料庫與PHP。
資料庫相關的操作可以先透過phpMyAdmin之類的軟體用滑鼠操作。
接著在線上找PHP教學之類的東西,以「一個檔案就可以做出一個網頁」的方式開始學習。
在懶人包的協助下,按照興趣慢慢摸索HTML, CSS和PHP的知識。
之後再根據目標,從以下三個方向更進一步學習:
急著讓網站上線者,可以把程式碼交給工程師朋友,請他幫忙買網址、架起來。
對server side工程有興趣者,可以補強資料庫、伺服器等等知識。試著不依靠懶人包就獨
立搞定環境、挑一個框架學習之類的。
對client side工程有興趣者,可以補強JavaScript的知識,學習前端相關知識。
入門最重要的是循序漸進,先想辦法做出一個能動的網站,
之後再根據需求,把缺少的技能一個一個補起來。
在「實作出成品」與「學習新知識」之間來回進行,反覆累積成就感與能力。
一口氣全部一起學,只會非常茫然、倍感挫折而已。況且根本沒有必要。
用Rails就更慘了,在一開始就得學一些工程師用的進階手法。
總結起來,我給網站初學者的建議就是:用Ruby on Rails 非常辛苦,用PHP非常舒服。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.161.170.51
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1455884032.A.A44.html
※ 編輯: poopoo888888 (1.161.170.51), 02/19/2016 20:16:42
... <看更多>