You are on page 1of 15

ĐẠI HỌC ĐÀ NẴNG

KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

BÁO CÁO BÀI TẬP LỚN RUBY


ON RAILS

ĐỀ TÀI: XÂY DỰNG TRANG


WEB ĐÁNH GIÁ HÃNG HÀNG
KHÔNG

Sinh viên thực hiện : ĐINH THANH HUY


Giảng viên hướng dẫn : TS. NGUYỄN QUANG VŨ
Lớp : 18IT2

Đà nẵng, tháng 4 năm 2021


ĐẠI HỌC ĐÀ NẴNG
KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

BÁO CÁO BÀI TẬP LỚN RUBY ON RAILS

ĐỀ TÀI: XÂY DỰNG TRANG WEB ĐÁNH GIÁ


HÃNG HÀNG KHÔNG

Đà Nẵng, tháng 4 năm 2021


MỞ ĐẦU
LỜI CẢM ƠN
NHẬN XÉT
(Của giảng viên hướng dẫn)
MỤC LỤC
Trang
Chương 1 TỔNG QUAN VỀ RUBY ON RAILS FRAMEWORK....................7
1.1 Ngôn ngữ Ruby........................................................................................7
1.1.1 Lịch sử phát triển...............................................................................7
1.1.2 Ruby là gì..........................................................................................7
1.1.3 Ruby có thể làm được những gì.........................................................7
1.2 Rails Framework......................................................................................8
1.2.1 Lịch sử phát triển...............................................................................8
1.2.2 Ruby on rails là gì..............................................................................8
1.2.3 Các tính năng chính của Ruby on Rails.............................................8
1.2.4 Kiến trúc MVC..................................................................................9
1.2.5 Các thành phần của Rails.................................................................10
Chương 2 TRIỂN KHAI XÂY DỰNG............................................................11
2.1 Công nghệ sử dụng.................................................................................11
2.1.1 ReactJS Front-end...............................................................................11
2.1.2 Ruby on Rails Back-end......................................................................11
2.1.3 PostgreSQL Hệ quản trị cơ sở dữ liệu.................................................11
2.2 Thiết kế cơ sơ dữ liệu.............................................................................11
Chương 1 TỔNG QUAN VỀ RUBY ON RAILS
FRAMEWORK
1.1 Ngôn ngữ Ruby
1.1.1 Lịch sử phát triển
Vào năm 1993, kỹ sư người Nhật tên là Matsumoto Yukihiro đã bắt đầu
phát triển ngôn ngữ này và công khai nó vào năm 1995. Kể từ sau khi ngôn ngữ
Ruby được công khai, những hiệu quả phát triển mà nó mang lại ngày càng được
biết đến rộng rãi, và hiện tại nó đã trở thành 1 ngôn ngữ nổi tiếng trên khắp thế
giới. Ruby được phát triển với mục tiêu "Là ngôn ngữ hướng đối tượng trên cả
Python 2 và mạnh mẽ hơn cả Perl". Và trong những năm gần đây, nhờ vào việc
xử lý dễ dàng một lượng lớn dữ liệu mà ngôn ngữ này càng được phổ biến hơn
nữa.

1.1.2 Ruby là gì
Ruby là một ngôn ngữ lập trình hướng đối tượng, có khả năng phản ứng. Theo tác
giả, Ruby chịu ảnh hưởng bởi Perl, Smalltalk, Eiffel, Ada và Lisp. Ruby là ngôn
ngữ thông dịch và hướng đối tượng.
Ruby cung cấp nhiều mẫu hình lập trình, bao gồm lập trình hàm, hướng đối
tượng, mệnh lệnh, phản xạ. Nó sử dụng hệ thống kiểu biến động và tự động quản
lý bộ nhớ tự động.

1.1.3 Ruby có thể làm được những gì


 Web Applications
Ruby cùng Rails luôn là lựa chọn hàng đầu để xây dựng các loại ứng dụng
web. Dễ sử dụng, thời gian phát triển nhanh, gọn nhẹ là những tiêu chí làm
nên thành công của Ruby on Rails. Hiện nay, các web app sử dụng Ruby on
Rails có thể kể đến bao gồm : Github, 500px,…
 E-commerce
Ngôn ngữ này hỗ trợ tất cả những điều mà một shop bán hàng Online cần
như: Payment Getways, Email Campaign Platform,…
 Content Management
Ruby có nhiều thư viện hỗ trợ việc xây dựng nội dung một trang web. Hơn thế
nữa, ngôn ngữ Ruby có nhiều tính năng hỗ trợ SEO giúp nội dung bạn muốn
truyển tải dễ đạt được thứ hạng cao trên các công cụ hỗ trợ tìm kiếm như
Google, Bing,…
 Custom Database Solution
Ruby on Rails sử dụng Active Record, cho phép dễ dàng quản lý dữ liệu mà
không cần dùng đến SQL. Nghe khá là thú vị phải không? Ngoài ra, Ruby còn
tích hợp một Database Management Systems để phục vụ việc thao tác, lưu trữ
dữ liệu phức tạp.
 Prototyping
Nhờ vào tốc độ build một ứng dụng nhanh, dễ dàng sử dụng mà Ruby phù
hợp để tạo nên bản thử nghiệm (prototype). Từ đó bạn sẽ ước lượng trước
được cấu trúc của Project cần làm, các tính năng,…
1.1.4 So sánh với một số ngôn ngữ lập trình khác

1.2 Rails Framework


1.2.1 Lịch sử phát triển
Rails ra mắt công chúng lần đầu tiên vào năm 2004, Rails thoạt đầu được dùng
như là nền tảng cho một công cụ quản lý dự án được đặt tên là Basecamp và được
tạo ra bởi nhà phát triển web David Heinemeier Hansson, một nhân viên của công
ty phát triển web 37signals (Mỹ).

1.2.2 Ruby on rails là gì


Ruby on Rails là mã phần mềm được xây dựng dựa trên Ruby. Về mặt kỹ thuật,
nó được định nghĩa là một gói thư viện có tên là RubyGem, được cài đặt bằng
giao diện dòng lệnh của hệ điều hành. Ruby on Rails là một khung phát triển web
mã nguồn mở, cung cấp cho các nhà phát triển Ruby một giải pháp thay thế tiết
kiệm thời gian để phát triển mã. Nó là một tập hợp các thư viện mã, cung cấp giải
pháp sẵn sàng cho các tác vụ lặp đi lặp lại như phát triển bảng, biểu mẫu hoặc
menu trên trang web.

Nó kết hợp ngôn ngữ lập trình Ruby với JavaScript, HTML và CSS để phát triển
các ứng dụng web thực thi trên máy chủ web. Vì nó chạy trên máy chủ web, nên
Ruby on Rails được phân loại là nền tảng phát triển ứng dụng web phía sau hoặc
phía máy chủ. Ruby on Rails giống như PHP trên Laravel và Symfony , hoặc như
Python trên Django. Sự hấp dẫn chính của Ruby on Rails đối với các nhà phát
triển nằm bên dưới sự nhỏ gọn và sang trọng của ngôn ngữ. Nó được thiết kế để
hỗ trợ phát triển nhanh nhằm mang lại năng suất và tính linh hoạt cho các nhóm
phát triển.

1.2.3 Các tính năng chính của Ruby on Rails


Hầu hết các ngôn ngữ lập trình như JavaScript, HTML, CSS và SQL không bao
gồm cả back-end và front-end. Tuy nhiên, ngôn ngữ lập trình Ruby on Rails bao
gồm cả hai đầu và cho phép các nhà phát triển xây dựng một ứng dụng web hoàn
chỉnh. Dựa trên ngôn ngữ lập trình Ruby, Rails đã cách mạng hóa thế giới phát
triển web thông qua cách tiếp cận thực tế của nó. Với Ruby on Rails, mọi chức
năng mà bạn muốn để phát triển ứng dụng đều nằm trong tầm tay bạn - bạn có thể
trích xuất những gì bạn cần để tiếp tục. Dưới đây là một số đặc điểm chính của
Ruby on Rails khiến nó trở nên độc đáo so với các ngôn ngữ và framework khác:
 Kiến trúc MVC
Ruby on Rails dựa trên mẫu Model, View và Controller, kiến trúc ứng dụng
web được sử dụng rộng rãi. Do đó, các nhà phát triển đã quen thuộc với các
khung công tác khác sử dụng các mẫu MVC có thể dễ dàng sử dụng Ruby on
Rails. Với kiến trúc này, nó phân tách các mã của các chức năng khác nhau,
tức là lớp trình bày, lớp dữ liệu và duy trì một lớp tài nguyên.
 Active Record
Ruby on Rails dựa trên thư viện mạnh mẽ và mạnh mẽ được gọi là active
record, giúp các nhà phát triển dễ dàng thiết kế các truy vấn tương tác với cơ
sở dữ liệu. Điều này là do họ đang viết truy vấn bằng chính ngôn ngữ lập trình
Ruby, sau đó được tự động chuyển đổi thành truy vấn SQL, nhận kết quả đầu
ra và trả về một đối tượng. Thư viện active record có thể hoàn thành hầu hết
nhiệm vụ.
 Quy ước về cầu hình
Ruby on Rails tránh các tệp cấu hình để dự phòng các quy ước, phản chiếu
cũng như các phần mở rộng thời gian chạy động. Ý tưởng đằng sau “Quy ước
về cấu hình” là chỉ định giá trị tự động mà không cần sự can thiệp của người
dùng. Một số hệ thống phần mềm, bao gồm cả các khung ứng dụng web Java,
yêu cầu nhiều tệp cấu hình, mỗi tệp có một số cài đặt rất tẻ nhạt. Tính năng
quy ước giúp tăng năng suất vì bạn không cần mất thời gian thiết lập các tệp
cấu hình. Nó giúp bạn tiết kiệm thời gian suy nghĩ xem nội dung sẽ đi đâu và
đặt tên gì.
 Công cụ kiểm thử đơn giản
Ruby on Rails cũng đi kèm với một thiết lập kiểm thử đơn vị gọi là RSpec, rất
dễ học. Vì nó là Ruby thuần túy, bạn có thể sử dụng nó để kiểm tra các chức
năng được sử dụng trong ứng dụng bằng cách gọi riêng chúng. Nó giúp bạn
đảm bảo ứng dụng của bạn đã được kiểm tra đúng cách.
 Triển khai tự động
Ruby on Rails bao gồm các thư viện để cho phép mã tiến hành sản xuất với ít
nỗ lực hơn và giảm thời gian. Chỉ với thiết lập một lần ban đầu, nó triển khai
mọi thay đổi bạn đã thực hiện đối với quá trình sản xuất chỉ với một dòng duy
nhất trên giao diện lệnh
 Ngôn ngữ lập trình đơn giản
Cú pháp của Ruby on rail rất đơn giản, ngắn gọn, gần với ngôn ngữ tiếng Anh
và linh hoạt. Ruby là một ngôn ngữ lập trình hướng đối tượng, cho phép bạn
tạo các đối tượng ảo trong mã của mình.

1.2.4 Kiến trúc MVC

Mô hình MVC được Trygve Reenskaug đề ra vào năm 1979, mô hình này chia
ứng dụng làm 3 phần: model, view và controller. Là mô hình giúp ta có thể sử
dụng lại code đã viết.

 Model
Một model đại diện cho các dữ liệu của ứng dụng và các quy tắc để điều khiển
dữ liệu đó. Trong trường hợp của Rails, các model được sử dụng chủ yếu để
quản lý các quy tắc tương tác với một bảng trong cơ sở dữ liệu tương ứng.
Trong hầu hết trường hợp, mỗi bảng trong cơ sở dữ liệu sẽ tương ứng với một
model trong ứng dụng. Phần lớn việc logic cho ứng dụng sẽ tập trung trong
các model.
 View
View đại diện cho giao diện người dùng của ứng dụng. Trong Ruby on Rails,
View có nhiệm vụ tạo ra các đoạn c ode HTML để hiển thị lên trình duyệt của
người dùng, thông thường code HTML này có kèm theo dữ liệu được tạo ra từ
các phương thức trong controller.

Các dữ liệu được tạo ra sẽ được tạo ra từ các template, bạn cứ hình dung đây
giống như là một trình thông dịch nhỏ khác là được. Hiện có 3 loại template
trong Rails là Embedded Ruby (ERb), XML Builder và RJS. Trong đó phổ
biến nhất là ERb
 Controller
Phần controller trong Rails là bộ phận trung tâm, có nhiệm vụ xử lý tương tác
giữa người dùng, view và model. Tuy nhiên chúng ta sẽ chỉ tập trung vào việc
phát triển các tính năng của website, còn việc kết nối giữa các thành phần này
sẽ được Rails giải quyết.
Cơ bản thì controller hỗ trợ các tính năng sau:
̶ Định tuyến (routing) các URL tới các phương thức/hàm/action tương
ứng. Ngoài ra controller còn định nghĩa các URL có cấu trúc thân thiện, dễ
nhìn.
̶ Quản lý cache, giúp tăng hiệu năng của hệ thống
̶ Quản lý các module hỗ trợ, giúp mở rộng các tính năng của template
̶ Quản lý session, giúp theo dõi các hoạt động đang diễn ra trên ứng dụng

1.2.5 Các thành phần của Rails


Action Pack
Action Pack là một gem đơn bao gồm Action Controller, Action View, Action
Dispatch.
 Action Controller
Là thành phần quản lý các controller trong ứng dụng rails. Framework Action
Controller xử lý các yêu cầu từ một ứng dụng Rails, chiết xuất thông số và
tryền chúng tới các hành động mong muốn. Các dịch vụ mà Action Controller
cung cấp bao gồm quản lý phiên làm việc, dựng mẫu và chuyển hướng quản
lý.
 Action View
Quản lý các view trong ứng dụng Rails. Nó có thể tạo ra hai đầu ra HTML và
XML theo mặc định. Action View quản lý các khuôn mẫu, bao gồm các mẫu
lồng nhau và từng phần
 Action Dispatch
Action Dispatch quản lý việc định tuyến các yêu cầu trang web và gửi chúng
đi theo mong muốn.
Action Mailer
Action Mailer là một framework cho việc xây dựng một dịch vụ mail. Bạn có thể
sử dụng Action Mailer để nhận và xử lý email đến và đi một đoạn văn bản đơn
giản, hoặc email có nhiều dữ liệu phức tạp dựa trên các khuôn mẫu linh hoạt.
Active Model
1.2.6 Tạo một project Rails
Chương 2 TRIỂN KHAI XÂY DỰNG
2.1 Công nghệ sử dụng

2.1.1 ReactJS Front-end

2.1.2 Ruby on Rails Back-end

2.1.3 PostgreSQL Hệ quản trị cơ sở dữ liệu

2.2 Thiết kế cơ sơ dữ liệu


PHỤ LỤC
(Mẫu)
DANH MỤC TÀI LIỆU THAM KHẢO
Tiếng Việt:
1. An cư với lạc nghiệp, tập thể tác giả, Nhà xuất bản Văn hóa Thông tin,
Hà Nội, 2004
2. Chi tiết máy, tài liệu học tập, Đại học Công nghiệp Tp.HCM, lưu hành
nội bộ, 2006.
3. ……………….
Tiếng Anh:
1. Bouding K.E (1995), Economics Analysis, Hamish Hamilton, London.
2. Andeson, JE (1985), The RelativeIneffciency of Quota, The Cheese
case, American Economic review, 74 (1), pp 78-90.
3. ………………..

Ghi chú:
- Danh mục tài liệu tham khảo phải xếp theo abc tên tài liệu, tác giả, nơi
và năm phát hành.
- Nếu xếp theo tên tác giả thì xếp abc theo họ, sau đó đến tên tài liệu, nơi
và năm phát hành.
- Danh mục tài liệu tham khảo xếp cuối cùng, sau các trang phụ lục.

You might also like