Ruby on rails. 8 Cách học tốt nhất

8 Cách tốt nhất để học Ruby on Rails

Trong thời gian qua, tôi muốn chọn một ngôn ngữ để học và làm mới mình vì bấy lâu nay tôi chỉ dùng .NET và C#, những ngôn ngữ khác mà tôi đã từng học qua thì nay đã ít sử dụng và thật ra nó không khác với C# bao nhiêu (VB6, VB.NET, Delphi, C++, AS3, Java và một chút PHP) và vì vậy tôi chọn thử sức với Ruby và Ruby on Rails (RoR). Bài viết này là bản lược dịch có điều chỉnh ngữ cảnh từ NetTuts+.

Để học Ruby on Rails chúng ta sẽ làm một số nhiệm vụ:

Nhiệm vụ 1 – Làm qua các bài tập “Try Ruby”

Đầu tiên bạn phải thử học Ruby, bạn đừng sợ phải học Ruby hay bất kỳ ngôn ngữ nào. Ruby là một ngôn ngữ thú vị, đẹp và dễ học. Và bạn cũng không cần phải làm chủ Ruby 100% để có thể bắt đầu với Rails. Bạn chỉ cần biết những phần cơ bản nhất của Ruby để bắt đầu với Rails.

Bạn nên vào website Try Ruby để thử làm các bài tập và tương tác với ngôn ngữ Ruby. Khi bạn làm qua các bài tập này một vài lần, bạn sẽ có một nền tảng khá tốt để bắt đầu với Rails. Phần còn lại chúng ta sẽ học cách tạo website với Rails.

Nhiệm vụ thứ 2 – Cài đặt Ruby và Ruby on Rails

Nếu bạn muốn học Rails, bạn sẽ phải cài đặt chúng trên máy tính của bạn. Có nhiều cách để làm điều đó, và phụ thuộc vào nền tảng mà bạn sử dụng. Nếu bạn sử dụng ứng dụng mac và máy tính nền Linux, bạn nên sử dụng RVM, đó là một công cụ tốt để cài Ruby. Nếu bạn muốn cài Ruby trên Windows bạn có thể sử dụng RubyInstaller for Windows.

Nhiệm vụ thứ 3 – Xem screencast giới thiệu về Rails của Jeffrey

Với một video dài 40 phút, Jeffray Way, một tác giả của Nettuts+ sẽ hướng dẫn bạn nhứng điều cơ bản nhất để có thể bắt đầu với Rails.
Khi xem screencast này, bạn sẽ học được nhiều thứ, bao gồm:
Models và các bộ tạo model tự động
Test-driven development
ActiveRecord
Rspec và Capybara
Partials
Và nhiều hơn thế nữa…

Test-driven development (TDD) là phương thức phát triển phần mềm dựa vào quy tắc tập trung viết test trước, tôi sẽ có bài giới thiệu về TDD cho các bạn.

ActiveRecord là một design pattern (mẫu thiết kế) nhằm giúp ánh xạ 1-1 giữa các table trong database và các lớp model bên trong mã ứng dụng.

RSpec là công cụ kiểm thử cho ngôn ngữ lập trình Ruby. RSpec tuân thủ theo mô hình phát triển ứng dụng Behaviour-Driven Development (phát triển hướng hành vi), và nó được thiết kế để giúp cho việc áp dụng mô hình Test-Driven Development một cách hiệu quả hơn.

Capybara là một thư viện có mục đích đơn giản hóa việc kiểm thử tích hợp (intergration testing) cho ứng dụng Rails, Sinatra hoặc Merb. Capybara được dùng mô phỏng cách người dùng tương tác ứng dụng với ứng dụng web.

Partials là một thành phần của Rails nhằm giúp lập trình viên dễ dàng tạo giao diện cho ứng dụng bằng cách ghép các phần khác nhau lại với nhau để tạo thành view trả về cho trình duyệt.

Nhiệm vụ thứ 4 – Học khóa học Rails For Zombies imagetitle

Học bằng các ví dụ là một cách học hay để học một ngôn ngữ lập trình và một framework. Có một khóa học miễn phí rất tuyệt vời mà bạn cần phải học đó là Rails For Zombies của EnvyLabs. Đây là khóa học có tính tương tác cao, nghĩa là sau mỗi khi bạn xem một video, bạn sẽ làm một loạt các ví dụ.

Nhiệm vụ thứ 5 – Đọc sách

Bạn nên tìm đọc cuốn sách Agile Web Development with Rails. Nó sẽ dạy bạn Rails bằng cách hướng dẫn bạn học cách xây dựng một ứng dụng từ đầu. Nó sẽ đi qua những phần cơ bản nhất, như tạo controllers, model, sử dụng scaffolding, unit testing và functional testing, cộng thêm một chút AJAX. Bạn nhớ mua bản phát hành mới nhất nhé.

Ngoài ra, bạn có thể chọn để đọc một số sách về Rails khá phổ biến như sau:
Ruby on Rails 3 Tutorial: Learn Rails by Example: Dạy bạn từng bước một, cũng như cuốn sách đề cập ở phía trên.
Beginning Rails 3: Cũng là một cuốn sách tương tự theo dạng tutorial.
The Rails 3 Way: Là một cuốn sách để tham khảo nhiều hơn là để học từ đầu, tuy nhiên nó cũng đáng để bạn đọc.

Nhiệm vụ thứ 6 – Xây dựng một ứng dụng Blog đơn giản

Xây dựng blog là một nhiệm vụ khá nhàm chán đối với một lập trình viên chuyên nghiệp, tôi đã tự xây dựng cho mình ba đến bốn ứng dụng blog khác nhau nhưng xây dựng blog là một cách luyện tập Rails để quen thuộc và làm chủ được nó. Bây giờ bạn đã có đủ kinh nghiệm nhờ đọc sách, nên bạn sẽ đóng những cuốn sách lại và tự xây dựng một ứng dụng bằng chính tay của mình, và không cần phải tham khảo bất cứ chủ đề nào.

Nhớ xây dựng blog hỗ trợ comment, tuy nhiên bạn không cần phải cài đặt một hệ thống đăng nhập hoàn chỉnh vì đây là một nhiệm vụ đơn giản để có thể bắt đầu.

Nhiệm vụ thứ 7 – Thêm một số chức năng cho ứng dụng Blog

Ở nhiệm vụ vừa rồi bạn đã xây dựng một ứng dụng blog đơn giản, và tất nhiên nó thiếu một số chức năng cơ bản mà một ứng dụng blog đáng phải có.

Bạn cần phải thêm tính năng đăng nhập vào ứng dụng của bạn, phân trang, công cụ soạn thảo văn bản…

Nhiệm vụ thứ 8 – Xây dựng một ứng dụng thực sự

Với nhiệm vụ này thì bạn cần phải sáng tạo. Lần này bạn có thể xây dựng ứng dụng chuyên về bán hàng hoặc xử lý hóa đơn. Bạn có thể tìm kiếm một template đơn giản và xây dựng ứng dụng dựa trên nó. Nếu bạn yêu thích việc lập trình thì công việc đó luôn sẽ mang lại cho bạn niềm vui.

Nhiệm vụ thứ 9 – Luôn cập nhật

Học lập trình và lập tình là một công việc không bao giờ có hồi kết. Vì vậy bạn cần phải đăng ký theo dõi một số blog và các twitter account về chủ đề Rails.

Một tài khoản twitter:
@dhh: Người sáng tạo ra Ruby on Rails
@rbates: Người sản xuất screencast cho Railcasts, đăng các thủ thuật một cách thường xuyên
@rails: Tài khoản chính thức của Ruby on Rails. Hãy theo đuôi chúng nếu bạn muốn biết về các cập nhật và tình hình phát triển của Rails.

Dưới đây là một số website bạn cần thường xuyên theo dõi:
Railscasts: Các screencasts về Ruby on Rails, các kinh nghiệm, thủ thuật…v.v
Asciicasts: Nếu bạn không xem các video, thì bạn nên đọc các bài viết, tuy rằng Asciicast không cập nhật thường xuyên, nhưng chất lượng bài viết thật tuyệt vời.
Nettus+: Nettus+ cung cấp khá nhiều bài viết về screencast về Rails khá chất lượng.
Riding Rails: đây là blog chính thức của Ruby on Rails.
The Rails Way: một blog tuyệt với với nhiều bài viết và tutorials
Planet Ruby on Rails: đây là một trang có nhiều tin tức thú vị về Ruby On Rails

Kết luận

Kế hoạch có thể giúp tôi và bạn trở thành một lập trình viên Rails. Và như mọi người đều biết, Rails là một nền tảng thú vị và càng ngày càng tốt lên. Chúng ta cùng học Rails để nâng cao kỹ năng lập trình và học hỏi từ các Frameworks khác nhau. Dù chỉ mới bắt đầu, nhưng tôi tin rằng Rails thật sự thú vị.

[Nguồn] - techmaster

10 Likes

Dành cho các bạn chưa biết Ruby on rails là gì ?
http://www.railsviet.com/ruby-on-rails-la-gi/

2 Likes

Có thể bạn đã biết, daynhauhoc.com sử dụng Discourse. Discourse viết bằng Ruby on rails.

7 Likes

Quả thực là ngày ruby on rails mới ra đời a có vọc một chút, sau lại thôi. Ví ruby on rails theo anh biết là dùng để làm web. Bây giờ thì anh đầu tư vào python luôn. Nên không dám nhận xét món này.

Nhưng nếu sau này muốn thay đổi hoặc sửa lỗi cho Discourse thì ruby on rails là lựa chọn tốt nhất :slight_smile:

3 Likes

Mnguoi cho mình hỏi, ở hanoi có chỗ nào dạy ruby on rails ko

1 Like

nghe đồn ruby sắp suy tàn à anh :smiley: bây giờ lương cho code ruby khá cao mà tàn thì tiếc quá :frowning:

1 Like

Hôm trước đọc bài phỏng vấn của anh @hungho viết thì thấy bảo như vậy. Nhưng mà a vẫn thấy nhiều project chọn RoR. Anh không làm về mảng này nên không dám comment.

2 Likes

:smiley: nhiều lắm bạn. Nếu có thể add skype mình có gì trao đổi cho vui :smiley:
skype: nhs318

2 Likes

ai cho em cái link học ruby em học python dc 1 tuần k vô!mà em thử ruby thì nó dễ!chuyển qua ruby luôn!

2 Likes

Hi!.Mình đang học ruby on rails. Liên hệ mình qua https://www.facebook.com/EviLDrangonCR nhé. Cảm ơn ^^

1 Like

Nettuts+ là trang gi hay là cái gi thế a !

Khoá học miễn phí về Ruby on Rails cho người mới bắt đầu.

Ngoài ra bạn có thể theo dõi trên blog của mình: http://luanotes.comđể học thêm về Ruby on Rails

Nettus = network + toturials: Nó là 1 trang web hay blog cung cấp các bài viết hữu ích cho việc học và nghiên cứu của em

A post was split to a new topic: Tuyển lập trình viên Ruby TP.HCM

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?