Bài viết được dịch từ trang web SkilledUp

Học lập trình Ruby on Rails tốt nhất

Bạn đang háo hức để bắt đầu học lập trình Ruby. Vậy thì bạn cần chuẩn bị những thứ sau:

  • Một máy tính đã cài đặt Ruby trên đó
  • Một trình soạn thảo code
  • Kiến thức về cách sử dụng giao diện dòng lệnh (command line) trên máy tính

"Để học lập trình Ruby, thứ quan trọng nhất bạn cần là một nơi để chạy code", Burks giải thích. "Nếu bạn có một máy Mac, thì đã có sẵn Ruby được cài trong đó. Nhiều phiên bản Linux cũng bao gồm nó theo mặc định, hoặc làm cho nó rất dễ dàng cài đặt bằng cách sử dụng một package manager. Thứ tiếp theo bạn cần là một trình soạn thảo code tốt. Tôi khuyên bạn nên sử dụng SublimeText, Atom, hoặc vim. Mỗi trình soạn thảo đều tuyệt vời và được hỗ trợ rất tốt trong cộng đồng lập trình viên."

Có những dịch vụ như CodeanywhereNitrous.io cung cấp những trình soạn thảo trực tuyến và các máy ảo, nơi bạn có thể chạy code Ruby của mình. Đây là những dịch vụ rất tuyệt vời cho người mới bắt đầu học lập trình Ruby.

"Việc cài đặt Ruby trên máy tính của bạn có thể là một thử thách khi bạn mới bắt đầu," Chaffetz cảnh báo. "Hãy tìm hỏi sự giúp đỡ của những người có kinh nghiệm và sử dụng một dịch vụ như nitrous.io trong khi chờ đợi. Bạn sẽ muốn một trình soạn thảo code miễn phí và dễ sử dụng. Chúng tôi thích Atom bởi vì nó đầy đủ tính năng và miễn phí cho sinh viên. Bạn cũng sẽ cần phải tìm hiểu những điều cơ bản của việc sử dụng máy tính thông qua command line. Những hướng dẫn tại địa chỉ cli.learncodethehardway.org là một nơi tuyệt vời để bắt đầu."

Khóa học lập trình Ruby On Rails được học cả HTML5, CSS3, JavaScript. Cam kết việc làm cho học viên có sản phẩm tốt nghiệp

Những khái niệm hữu ích

Khi bạn tìm hiểu sâu về Ruby, bạn có thể gặp phải những khái niệm và practice sau. Dưới đây là một tổng quan nhanh của một số nguyên tắc khoa học máy tính và khái niệm về lập trình Ruby, được giải thích bởi các chuyên gia của chúng tôi.

ActiveRecord: "Một trong những thuật ngữ mà bạn sẽ nghe thấy thường xuyên nhất khi nói về Rails là ActiveRecord," Burks nói. "Đây là thư viện bên trong Rails để gửi và nhận thông tin đến và đi từ cơ sở dữ liệu. Rất nhiều các tính năng hữu ích trong Rails framework xuất phát từ ActiveRecord. 

CRUD: "Trong phát triển phần mềm có rất nhiều cụm từ viết tắt, và một trong những từ phổ biến nhất bạn sẽ nghe thấy là CRUD", Burks nói. "CRUD là viết tắt của Create-Read-Update-Delete và đại diện cho các thao tác với cơ sở dữ liệu phổ biến nhất mà bạn sẽ thực hiện. Một ứng dụng CRUD là ứng dụng hướng cơ sở dữ liệu, chẳng hạn như một chương trình kiểm hàng tồn kho, một blog, một trang web mua sắm, hoặc một chương trình kế toán. Đây là tất cả các công việc mà có thể sẽ được giải quyết bởi các lập trình viên Ruby".

Các kiểu dữ liệu: "Khi một chương trình nhận giá trị của một biến hoặc đầu vào", Smith giải thích, "nó có thể bắt buộc hoặc yêu cầu giá trị là một kiểu dữ liệu nhất định nào đó, ví dụ như một số nguyên (một số không có giá trị sau dấu chấm thập phân), Boolean (true hoặc false), một chuỗi (văn bản), v.v... Bằng cách bắt buộc một biến hoặc đầu vào là một kiểu dữ liệu nhất định nào đó, một lập trình viên có thể tự tin rằng dữ liệu đó có thể được sử dụng theo dự định."

DRY: "Đây là chữ viết tắt của "Don't Repeat Yourself " và là một quy tắc chung mà thường bị vi phạm bởi các lập trình viên mới vào nghề", Smith nói. "Điều này có nghĩa rằng code hoặc logic cho bất kỳ chức năng cụ thể, dữ liệu, hoặc dịch vụ sẽ chỉ tồn tại ở một nơi duy nhất và sẽ không được có bản sao trong code base. Bằng cách làm theo nguyên tắc này, việc duy trì và cập nhật vào phần mềm được thực hiện dễ dàng hơn."

Fat và skinny: "Bạn sẽ nghe thấy thuật ngữ 'fat' và 'skinny' rất nhiều, ý muốn nói đến các controllers và models trong ứng dụng của bạn," Burks nói. "Đây là hai trong các cấu trúc cốt lõi xử lý yêu cầu dữ liệu trong ứng dụng Rails của bạn."

Học lập trình Ruby on Rails tốt nhất

Front-end và back-end: Phần front-end của một trang web là phần người dùng nhìn thấy và tương tác, trong khi back-end là máy chủ, ứng dụng và cơ sở dữ liệu -- quyết định việc trang web thực sự hoạt động như thế nào. Ruby on Rails được sử dụng chủ yếu trong phát triển back-end. Các nhà thiết kế web đưa ra các quyết định về thiết kế, phông chữ và màu sắc có liên quan đến việc phát triển front-end. "Back-end là phần mềm máy chủ mà một trang web hoặc ứng dụng di động tương tác phía sau hậu trường", Armstrong nói. "Nó lưu trữ tất cả các dữ liệu người dùng và thực hiện bất kỳ nhiệm vụ nào mà một ứng dụng hoặc trang web có thể cần."

Phát triển lặp: Một phương pháp của phát triển phần mềm và kinh doanh trong đó một quá trình được lặp đi lặp lại và xây dựng để đạt được một sản phẩm tối ưu. Nó dựa trên một quá trình tạo nguyên mẫu (prototyping), kiểm thử, phân tích và cải tiến sản phẩm (chẳng hạn như một trang web hoặc ứng dụng di động).

Model View Controller (MVC): "Đây là một cách để cấu trúc các ứng dụng lớn như vậy giúp cho việc duy trì và mở rộng theo thời gian được dễ dàng hơn", Smith giải thích. "Bằng cách tổ chức code back-end tách phần logic nghiệp vụ ra khỏi phần hiển thị trong tương tác client-server."

Object Relational Mapping (ORM): "Các ứng dụng web được xây dựng trên cơ sở dữ liệu chứa các bảng dữ liệu liên kết với nhau (ví dụ như phần văn bản của status Facebook và siêu dữ liệu, hình ảnh của người dùng, lịch sử của các hành động của người dùng trên một trang web, danh sách bạn bè, v.v...), Smith nói. "Một ORM kết nối dữ liệu này với code. Dữ liệu quan hệ trong cơ sở dữ liệu này được ánh xạ tới các đối tượng trong Ruby, sau đó có thể thao tác và hiển thị dữ liệu một cách dễ dàng như tham chiếu một thuộc tính của một đối tượng.

Lập trình cặp: Nhiều lập trình viên Ruby mới vào nghề có thể được hưởng lợi từ lập trình cặp, trong đó một đối tác sẽ làm việc cùng với bạn trong thời gian thực để sửa code của bạn.

Biến: "Một biến là một giá trị có thể được thiết lập hoặc thay đổi trong một phần mềm", Smith nói. "Nó chứa dữ liệu và cho phép bạn tham chiếu đến nó bằng một cái tên. Bạn đặt tên cho một biến và sau đó cho phép người dùng hoặc code thiết lập giá trị cho biến đó. Bởi vì bạn đã đặt tên cho biến, nên bạn có thể sử dụng giá trị đó (mặc dù thực tế nó có thể thay đổi khi phần mềm chạy) trên khắp code base."