Lập trình ruby on rails on mac

  • Trang chủ >
  • Blog >
  • HyShare - IT Tips >
  • 7 lý do bạn nên học Ruby on Rails ngay từ bây giờ

Ruby on Rails, không thể nghi ngờ, là một trong những frameworks phổ biến nhất dùng cho web app viết riêng cho ngôn ngữ lập trình Ruby. Mặc dù hầu hết lập trình viên khi bắt đầu sự nghiệp đều sử dụng ngôn ngữ Java, PHP, C#… nhưng Ruby lại là ngôn ngữ mà những công ty start-up hoặc công ty lâu đời sử dụng thường xuyên nhất.

Ruby on Rails dường như  là sự ra đời hoàn hảo cho những lập trình viên mải miết tìm kiếm câu trả lời: vì sao họ tìm đủ mọi cách phát triển ra những phần mềm đơn giản nhất cho người dùng, nhưng lai không thuận tiện cho họ, vì chương trình càng đơn giản thì câu trúc lập trình càng phức tạp. Và Ruby on Rails đã hoàn toàn trả lời được câu hỏi đó.

Bảng infographic dưới đây sẽ đưa ra 7 lý do bạn nên bắt đầu học Ruby on Rails ngay từ bây giờ.

Lập trình ruby on rails on mac

Bạn thích bài viết này chứ? Đăng ký để nhận những bài viết thú vị như thế hàng tuần.

Đừng sợ thất bại, chỉ sợ việc dậm chân tại chỗ

TÌM VIỆC

Trong chương này, chúng tôi khái quát về ngôn ngữ lập trình Ruby.

Cài đặt và thiết lập môi trường phát triển

Hệ điều hành Ubuntu 14.04 LTS

Ubuntu là một hệ điều hành mã nguồn mở dựa trên GNU Debian Linux.

Ruby Version Management Tool

Việc học lập trình Ruby nên bắt đầu từ việc thiết lập môi trường phát triển cũng như cách thức cài đặt gói phân phối của Ruby. Qua thực tế sử dụng, chúng tôi thấy rằng việc cài đặt qua một công cụ quản lý phiên bản Ruby (Ruby Version Management Tool) như rvm hay rbenv sẽ có nhưng thuận lợi đáng kể:

  • Với rvm hay rbenv, bạn có thể dễ dàng cài đặt một phiên bản Ruby mà bạn cần
  • Bạn có thể thay đổi phiên bản Ruby đang sử dụng trên máy một cách nhanh chóng. Việc này giúp bạn có thể thiết lập cùng lúc nhiều môi trường phát triển trong mỗi thư mục khác nhau.

Trong cuốn sách nhỏ này, chúng tôi hướng dẫn cách cài đặt và sử dụng Ruby với rbenv trên hệ điều hành Ubuntu 14.04 LTS.

Cài đặt Ruby 2.2.0 bằng rbenv

rbenv được phát triển và duy trì bởi sstephenson trên trang dịch vụ lưu trữ Git repositories Github. Chúng ta sẽ sử dụng git để cài đặt rbenv. Script để cài đặt rbenv trên Ubuntu 14.04 như sau:

$ sudo apt-get install git
$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv

Git là một công cụ quản lý phiên bản phân tán dựa trên mã nguồn mở. Phiên bản mới nhất là 2.4.1 (2015/05/19) và có thể download từ http://git-scm.com . Các thông tin thêm về Git có thể tìm thấy tại http://git-scm.com/about .

Để có thể sử dụng câu lệnh rbenv mà không cần quan tâm tới đường dẫn tới thư mục ~/.rbenv, bạn có thể thêm đường dẫn đó vào file ~/.bashrc:

$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc

Bây giờ khởi động lại ứng dụng shell của bạn trên Ubuntu (mặc định là /bin/bash), bạn có thể kiểm tra rbenv

$ type rbenv
rbenv is a function
rbenv () 
{ 
    local command;
    command="$1";
    if [ "$#" -gt 0 ]; then
        shift;
    fi;
    case "$command" in 
        rehash | shell)
            eval "`rbenv "sh-$command" "[email protected]"`"
        ;;
        *)
            command rbenv "$command" "[email protected]"
        ;;
    esac
}

Để việc cài thêm một phiên bản mới của Ruby dễ dàng hơn, chúng tôi khuyến khích bạn cài đặt plugin ruby-build của rbenv

git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

Bây giờ, bạn có thể dễ dàng cài đặt Ruby 2.2.0 như sau

# Lấy danh sách các phiên bản ruby có thể cài đặt 
$ rbenv install -l
# Cài đặt ruby 2.2.0
$ rbenv install 2.2.0

Việc cài đặt sẽ mất một thời gian ngắn. Sau khi hoàn tất việc cài đặt, bạn có thể thiết lập để phiên bản 2.2.0 là phiên bản chung trên máy của bạn:

$ rbenv global 2.2.0

hoặc chỉ thiết lập phiên bản Ruby cho một thư mục nào đó

$ cd folder
$ rbenv local 2.2.0
# để bỏ thiết lập phiên bản Ruby cho folder
$ rbenv local --unset

Để kiểm tra các phiên bản Ruby có trong máy

# Lấy danh sách tất cả các Ruby trên máy
$ rbenv versions
# Lấy tên phiên bản Ruby đang được thiết lập mặc định trên máy
$ rbenv version

Các thông tin về các thiết lập và câu lệnh khác của rbenv có thể được tìm thấy tại đây. Trong cuốn sách nhỏ này, chúng ta sử dụng Ruby 2.2.0 là phiên bản Ruby chính trong các bài tập.

Các thay đổi của phiên bản Ruby 2.2.0 có thể được tìm thấy tại trang chủ của Ruby.

Làm quen với các công cụ của Ruby

Gem

Gem là gì? khái niệm package (gói) trong UNIX có thể là khái niệm gần gũi nhất với gem. Đối với một ngôn ngữ lập trình như Ruby, việc xây dựng các ứng dụng kết nối các tiện ích như SQL, networking, ... là rất cần thiết. Để thực hiện việc này, chúng ta có thể dùng các gem của Ruby. Gem như một "plug-in" của Ruby, bạn chỉ cần cài đặt gem cần thiết vào máy (ví dụ gem mysql2), khi cần sử dụng, bạn require mysql2 và bạn có thể sử dụng các chức năng của mysql2 trong chương trình Ruby của mình.

Sau khi cài đặt Ruby thành công, mặc định là bạn có thể chạy câu lệnh gem trên môi trường của bạn. Một danh sách khá đầy đủ về các gem được phát triển bởi RubyGems có thể tìm thấy tại: https://rubygems.org/gems. Cách sử dụng đầy đủ của câu lệnh gem có thể tìm thấy tại: http://guides.rubygems.org/command-reference/. Một vài câu lệnh cơ bản như sau:

# Tìm kiếm một gem
$ gem search 
$ gem search ^rails
# Cài đặt một gem
$ gem install  [tuỳ chọn] -- --build-flags [tuỳ chọn build] 
$ gem install mysql2 -v 0.3.18
# Gỡ bỏ một gem
$ gem uninstall mysql2
# Xem danh sách các gem trên máy
$ gem list

Tips

Mặc định của gem sẽ cài đặt tài liệu hướng dẫn nên sẽ khá mất thời gian cho việc cài đặt cả gem. Nếu bạn không thường xuyên tham khảo tài liệu hướng dẫn trên ứng dụng shell (bạn vẫn có thể xem tài liệu hướng dẫn trên trang chủ của RubyGems) và muốn tiết kiệm thời gian cài đặt, chúng tôi khuyến cáo bạn thiết lập mặc định không tự động cài đặt tài liệu hướng dẫn như sau:

# Với Ruby 1.8, 1.9, 2.0
$ echo "--no-ri --no-rdoc" >> ~/.gemrc 
# Với Ruby sau 2.1
$ echo "--no-document" >> ~/.gemrc

Đối với trường hợp cài đặt tài liệu hướng dẫn, sau đây là một số câu lệnh cơ bản:

# Xem tài liệu hướng dẫn của một gem trên shell
$ ri RBTree
RBTree < MultiRBTree

(from gem rbtree-0.4.0)
-------------------------------------------
A sorted associative collection that cannot
contain duplicate keys. RBTree is a
subclass of MultiRBTree.
-------------------------------------------

Bạn cũng có thể truy cập tài liệu hướng dẫn từ trình duyệt web:

$ gem server
Server started at http://[::]:8808

Sau đó bạn sẽ truy cập tài liệu hướng dẫn tại: http://localhost:8808/

Interactive Ruby Shell