tiểu luận môn Nguyên lý các ngôn ngữ lập trình. Đề tài tìm hiểu ngôn ngữ lập trình RUBy và ứng dụng

23 954 3
tiểu luận môn Nguyên lý các ngôn ngữ lập trình. Đề tài tìm hiểu ngôn ngữ lập trình RUBy và ứng dụng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

MỤC LỤC Cuối kỷ 20 mở thời đại , thời đại khoa học công nghệ đòi hỏi người luôn không ngừng tìm tòi học tập để tiến Với nhảy vọt khoa học, kỹ thuật thực ngành Công nghệ thông tin nói chung ngôn ngữ lâp trình nói riêng ngày phát triển thời gian ngắn đạt thành tựu to lớn hầu hết lĩnh vực khác đời sống xã hội Một ngôn ngữ lập trình đời thời kỳ ngôn ngữ lập trình Ruby Ruby ngôn ngữ lập trình hướng đối tượng cung cấp nhiều mẫu hình lập trình lập trình hàm, hướng đối tượng, mệnh lệnh, phản xạ sử dụng hệ thống kiểu biến động tự động quản ký nhớ Để tìm hiểu sâu cú pháp, ưu điểm ngôn ngữ lập trình Ruby Trong tiểu luận này, nhóm em xin trình bày “Tìm hiểu ngôn ngữ lập trình Ruby” Em xin trân thành cảm ơn thầy TS.Nguyễn Hữu Đức hướng dẫn tạo điều kiện tốt để em hoàn thành tốt tiểu luận Chương 1: Ngôn ngữ lập trình Ruby Lịch sử hình thành Ruby ngôn ngữ lập trình hướng đối tượng, có khả reflection Cú pháp bị ảnh hưởng từ Ada Perl với đặc tính hướng đối tượng Smalltalk, chia sẻ số đặc tính với Python, Lisp, Dylan CLU Ruby tạo Yukihiro Matz Matsumoto từ 24 tháng 2, 1993 đưa thức vào năm 1995 Ruby chịu nhiều ảnh hưởng từ Perl, hoàn tất ngôn ngữ này, anh đùa với người bạn nên đặt tên nghe cho giống thứ đá quý Và bạn anh gợi ý tên Ruby Anh cho tên Ruby phù hợp Ruby kế thừa phát triển nhiều đặc tính từ Perl Tháng năm 2005, phiên ổn định 1.8.3 Ruby 1.9 (với số thay đổi) trình phát triển Giới thiệu ngôn ngữ ruby Thay định nghĩa Ruby xin trích nguyên văn lời giới thiệu Ruby cộng đồng Ruby sau: “Ruby ngôn lập trình mã nguồn mở, linh hoạt, với bật đơn giản dễ dùng hữu ích Nó có cú pháp tự nhiên dễ đọc dễ dàng để viết” Và theo tác giả ngôn ngữ Ruby, anh Yukihiro “matz” Matsumoto người Nhật, tác giả người ưa thích ngôn ngữ như: Perl, Smalltalk, Eiffel, Ada, Lisp Tác giả cố gắng kết hợp cách thận trọng ngôn ngữ với từ tạo Ruby Có lẽ mà Ruby ngôn ngữ với câu lệnh cú pháp quen thuộc học Một vài đặc điểm nhận thấy ngôn ngữ Ruby là: • Ruby có cú pháp ngắn làm nhiều việc • Ruby ngôn ngữ hướng đối tượng Xem thứ hướng đối tượng Với Ruby, thứ đối tượng Mọi bit thông tin hay code đưa cho chúng việc sở hữu thuộc tính hay hành động Trong lập trình hướng đối tượng thuộc tính gọi biến thực thể (instance variables) hành động gọi phương thức Ruby hướng đối tượng “tinh khiết”, điều thấy bit code mà thực hành động với số Số coi đối tượng có phương thức làm times Đoạn code in lần dòng “We *love* Ruby”: 5.times{ print "We *love* Ruby" } Đa số ngôn ngữ khác, số số kiểu liệu nguyên thủy khác không coi hướng đối tượng Nhưng Ruby theo ảnh hưởng lớn ngôn ngữ Smalltalk việc đưa phương thức thực thể biến tới tất kiểu Điều tạo nên thống dế dàng sử dụng Ruby với tất đối tượng Ruby ngôn ngữ mềm dẻo linh hoạt Ruby coi ngôn ngữ mềm dẻo linh hoạt, từ cho phép người dùng tự sửa đổi phần cốt lõi Các phần cốt lõi Ruby rời định nghĩa lại ý muốn Các phần hữu thêm vào Ruby cố gắng không hạn chế nhà lập trình Chương 2: Ngôn ngữ Ruby Biến Ruby Biến ruby không cần khai báo kiểu Khi gán giá trị cho biến tự động nhận kiểu, nhận giá trị cho biến Ví dụ: User =”user” Puts user => user Khai báo biến ruby làm cho ngôn ngữ trở lên linh hoạt Biến toàn cục ruby: thêm @ trước biến trở thành biến toàn cục để sử dụng tác động chương trình Còn @ biến địa phương sử dụng phần chương trình Mỗi biến ruby đối tượng Nhờ vào vấn đề này, bạn tác động đến vấn đề biến: chuyển kiểu, ghép biến với Nhờ có tính chất biến ruby tương tác với cách dễ dàng Ví dụ: @u =”Ngon ngu” “{#@u} lap trinh”=> “Ngon ngu lap trinh” Cũng đảo ngược chuỗi viết hoa … Các dạng liệu ruby Ruby ngôn ngữ hướng đối tượng Ở thành phần liệu từ số, ký tự, mảng xây dựng sở lớp 2.1 Số Cấu trúc phân cấp liệu dạng số Ruby: Các dang liệu kiểu số xây dựng từ lớp Numeric Kiểu số nguyên: Integer có hai dạng Fixnum với độ dài 31 bits Bignum có độ dài tùy ý Kiểu số thực thể qua lớp Float Bên cạnh số kiểu liệu khác sẵn đinh nghĩa thư viện chuẩn Ruby 2.2 Ký tự String lớp dùng để thể chuỗi ký tự Khác với Java String Ruby “mutable” String Ruby khai báo dấu ngoặc đơn ngoặc kép Với dạng chuỗi đặt dấu nháy đơn ‘’ ký tự \ có ý nghĩa sau ký tự \ ‘ Bên cạnh chuỗi nháy đơn viết xuống dòng hiển thị thành nhiều dòng tương ứng Với dạng chuối dấu nháy kép “” nhiều ký tự đặc biệt hỗ trợ, ví dụ \n, \t java Bên cạnh chuối dấu nháy kép thị kết biểu thức thông qua ký tự # Mảng ruby Mảng khai báo trực tiến thông qua đối tượng Array Ví dụ: Arr = [1,2,3,4,5,6] Arr = Array.new Cách đánh số mảng Ruby đánh từ đến số phần tử -1 Ruby việc xếp thành phần mảng linh hoạt mềm dẻo Ta khai báo mảng chiều gồm phần tử đơn: arr = [1,2,3,4,5,6] Hoặc mảng lồng: arr = [[1,2],[3,4,5,6],[7,8,9]] Hoặc mảng trích xuất subArr = arr[0,2] # subArr = [[1,2],[3,4,5,6]] Các mảng tương tác với thông qua toán tử +,-,*… Với phép + ta cộng hai mảng với nhau: arr = [1,2,3] +[4] # arr =[1,2,3,4] Với phép - phần tử mảng mảng trừ loại bỏ phần tử có mảng bị trừ Arr = [1,2,3] -[2] # arr =[1,3] Với phép * ta nhân mảng với số kết cho ta số phần tử mảng lặp lại theo giá trị nhân: arr = [1,2,3]*2 # arr = [1,2,3,1,2,3] Các mảng đính thêm phần tử với phép toán "Nhan vat lich su", "tinh cach"=>"yeu nuoc" } Với mảng Hash, ta có persons[xep loai] = "Nhan vat lich su" Mảng Hash không sử dụng số (index) để truy vấn liệu mà sử dụng từ khóa (clef) để liên kết với liệu liên quan Mảng Hash gi ống mảng Array nên thừa hưởng phương thức each Persons = { "ten" => "Ho Chi Minh", "xep loai" => "Nhan vat lich su", "tinh cach" => "yeu nuoc" } persons.each |clef,value| puts clef + "=>" + value end 5.6 Có vấn đề Blocks Trong trình sử dụng cấu trúc liệt kê, thường thấy nhóm câu lệnh nằm cặp ngoặc nhọn long khối begin/end Người ta gọi block Thông thường block thực sau lời gọi hàm Ví dụ: 10.downto(0){|x| print x} Ở khối |x| print x thực sau lời gọi hàm block Theo quy ước với với block phạm vi dòng ta nên dùng ngoặc nhọn với block có nhiều dòng ta nên sử dụng end Chú ý block, giá trị trả thông qua câu lệnh next return (chỉ trả giá trị cho hàm đóng) Cấu trúc hàm Ruby def () Ví dụ: def squareRootOf(n,loop) ini = n/2 loop.times {ini = (n/ini + ini)/2} return ini end Một điểm đặc biệt nhiều giá trị đồng thời trả phương thức Các giá trị trả tập hợp mảng Ví dụ: def multiValuesReturn() return end arr = multiValuesReturn arr.each {|x| print x} procs lambdas procs lambdas hai cách thức để đưa blocks vào đối tượng Tùy thuộc vào cách mà đối tượng tạo ta có procs haylambdas Tạo procs def createProcs(&p) p end exp = createProcs{|x,y| x**y} Hoặc exp = Proc.new{|x,y| x**y} Gọi procs puts exp.call(2,3) Tạo lambdas incre = lambda{|x| x+1} incre= ->(x){x+1} # ruby version 1.9 incre=->(x;step=2){x+step} # Một tham số x biến nội step Gọi lambdas puts incre.call(2) Closures Closures khái niệm hàm sử dụng biến giới hạn Thông thường closures dùng để nói đến hàm lồng Ở hàm bên sử dụng biến khai báo hàm chứa Ở Ruby, khái niệm thường thể khối lambdas procs Ví dụ def mainFunction(n,m) lambda{|x| x*n/m} end myLambda = mainFunction(2,4) puts myLambda.call(2) Kết Lớp modules Là ngôn ngữ hướng đối tượng, khái niệm lớp thành phần Ruby Lớp khai báo sau: 10 class End Khới tạo class .new Hàm khởi tạo lớp ( giống hàm tạo khởi tạo giá trị java) def initialize(,) end Đối với hàm việc xác định khả truy cập thông qua từ khóa public , private, protected giống Java Tuy nhiên Java có thêm default coi mặc định khai báo public coi mặc định khai báo Public cho phép hàm truy nhập từ đâu private cho hàm truy nhập từ thành phần khác lớp lớp nó, protected giống private khác chỗ hàm protected gọi thực thể lớp với sefl Class Test private def myTest() puts "test" end protected def proTest() puts "pro" end public def testTest() theTest = Test.new theTest.proTest() end def testPrivate() theTest = Test.new theTest.myTest() end end a = Test.new a.testTest()# =>pro a.testPrivate()#=> error in red as below Kết quả: pro HelloWorld.rb:20:in ‘testPrivate’: private method `myTest' called for #(NoMethodError) from HelloWorld.rb:28 Bên cạnh Ruby biến lớp đặt private, số 11 public Thừa kế Ruby Là ngôn ngữ hướng đối tượng nên Ruby có đầy đủ tính chất tính đa hình, đóng gói…và kế thừa class Parent def printOut puts "This is Parent class" end end class Child def printOut puts "This is Child Class" end end Modules Modules nhóm thành phần hàm, biến, số chạy độc lập module MyModule def MyModule.intro puts "This is the intro of modul" end def MyModule.sayHello puts "Hello" end end class MyClass include(MyModule) def sayHello MyModule.sayHello end end myClass = MyClass.new myClass::sayHello Một chương trình gồm nhiều file, với ngôn ngữ script Ruby việc phân chia chương trình thành file chứa module khác nhau.Các file sau sử dụng thông qua lời gọi require load chương trình 12 Chương 3: Framework Rails Đến với chương bạn biết framework, mô hình kiến trúc nó, đặc điểm framework Rails đánh giá với framework khác Thế framework Framework thư viện code, thiết kế để giúp đỡ việc phát triển phần mềm Framework tạo ứng dụng thiết kế dựa vào thư viện phát triển theo ngôn ngữ để tạo người lập trình dễ dàng để phát triển phần mềm cách nhanh nhóng hiệu Khi phát triển phần mềm dựa vào framework việc phát triển trở lên thuận lợi với người lập trình giảm bớt thời gian tập trung vào việc code để tập trung vào việc giải vấn đề liên quan đến logic điều làm tăng hiệu người lập trình Mô hình MVC Ngày framework thiết kế website sử dụng mô hình MVC để phát triển mô hình có đặc điểm mà framework sử dụng để phát triển vậy? 2.1 Khái quát mô hình MVC MVC viết tắt Model – View – Controller Nó kiến trúc phần mêm hay mô hình thiết kế sử dụng kỹ thuật phần mềm, giúp cho người lập trình tách ứng dụng họ thành ba thành phần khác Model, View Controller Mỗi thành phần có nhiệm vụ riêng biệt độc lập với thành phần khác 2.2 Các thành phần mô hình MVC Dưới sơ đồ mô hình MVC: 13 Các thành phần mô hình MVC có quan hệ chặt chẽ với Các thao tác lặp lại tiếp nhận yêu cầu người dùng Như hình có th ể thấy mô hình MVC gồm thành phần chính: Model, View Controller Model: Gồm hoạt động liên quan đến sở liệu, thao tác với sở liệu thực gồm: chuẩn hóa, phân tích đánh giá… View: Phần liên quan đến người dùng Nó phần hiển thị với người dùng Nó đưa thông tin cụ thể đến với người dùng cách cụ thể Và nh ận tương tác người dùng hệ thống Controller Controller chịu trách nhiệm phân phối ứng dụng Nó nhận kiện từ bên ngoài, tương tác với Model để xử lý thông tin Sau xử lý tác động liên quan đến hệ thống truyền đến View để hiển thị với người dùng Như dễ dàng thấy tương tác thành phần mô hình thông qua controller Controller cầu lối View Model Nó điều khiển liệu sau đưa thông tin cần thiết cho người dùng 2.3 Ưu nhược điểm mô hình MVC  Ưu điểm mô hình MVC: • Mô hình MVC làm tăng khả phát triển mở rộng ứng dụng • Mô hình MVC khiến cho việc bảo trì trở lên dễ dàng hơn: thành phần phụ thuộc thấp với nhau, thay đổi không ảnh hưởng đến khác • Các thành phần mô hình MVC sử dụng lại: ví dụ model sử dụng cho nhiều phần hiển thị ngược lại • Mô hình MVC phân tán: chia cách biệt code thành phần có ý nghĩa thành phần chúng máy tính riêng, thấy cần thiết  Nhược điểm mô hình MVC: • Đối với dự án nhỏ áp dụng mô hình MVC gây cồng kềnh, tốn thời gian trình phát triển tốn thời gian luân chuyển qua tầng Ruby on Rails 3.1 Nguồn gốc Rails Rails mắt công chúng lần vào năm 2004, Rails đầu dùng tảng cho công cụ quản lý dự án đặt tên Basecamp tạo nhà phát triển web David Heinemeier Hansson, nhân viên công ty phát triển web 37signals (Mỹ) Ban đầu họ xây dựng Rails với mục đích xây dựng framework riêng, chủ tâm ban đầu dùng để xây dựng ứng dụng khác 37signals Sau Heinemeier Hansson thấy tiềm giúp cho anh làm công việc dễ dàng cách rút tính phổ biến trừu tượng sở liệu khuôn mẫu(template) bên trong, sau trở thành phiên tung Ruby on Rails 14 Trên thực tế Rails rút trích từ Basecamp, chương trình mà cộng đồng Rails cho trình làm chương trình gặp giải nhiều vấn đề phức tạp Và Rails, framework bắt nguồn từ chương trình thừa kế sức mạnh từ dự án Vì Rails sẵn sàng giải vấn đề thực tế tồn trình phát triển web Ngoài ra, ban đầu Rails xây dựng với mục đích để xây dựng ứng dụng khác từ nó, Rails trước xuất giới chứng minh thân framework hữu dụng, chặt chẽ toàn diện Sau phiên tung cộng đồng Rails đóng góp bổ sung hàng mở rộng nó, sửa lỗi tìm thấy Và phiên Rails phiên 2.0.2 3.2 Mô hình MVC với Rails Hiện mô hình MVC sử dụng hầu hết framework phát triển ứng dụng web.Rails không ngoại lệ Rails dự mô hình MVC để phát triển framework Cấu trúc mô hình MVC rõ ràng Điều làm cho người lập trình đẽ dàng phát triển ứng dụng Hiện chương giới thiệu vấn đề Rails nên nói sơ qua phần để làm rõ đư ợc mô hình mà framework xử dụng Còn mục sau làm rõ tác động cụ thể mô hình MVC Rails 3.3 Tự động sinh code Rails Ta nói đến Rails với việc sinh code tự động Khi bạn phát triển Rails, có thư mục hay file nơi để bạn điền code vào, tất phần ứng dụng bạn tương tác với cách thức chuẩn Hay chuẩn bị sẵn khung chương trình trước cho bạn, điều giúp bạn đơn giản việc điền đoạn code login vào ứng dụng tích kiệm giảm tải công việc bạn Và nhờ có khung định nghĩa sẵn này, Rails cung cấp generate, rake, script cho phép bạn nhanh chóng tạo, xóa số template để bạn định nghĩa model, view ,controller, hay database sở liệu 3.4 Vòng đời phát triển ứng dụng Rails Rails động viên sử dụng điều kiện khác cho giai đoạn chu trình vòng đời ứng dụng(phát triển,kiểm tra, sản phầm) Nếu bạn hoàn thành việc phát triển ứng dụng web khoảng thời gian, có lẽ cách để bạn thực Rails hợp thức hóa môi trường Development điều kiện development, thay đổi tới code nguồn ứng dụng lập tức; tất cần làm load lại trang tương ứng trình duyệt Tốc độ yếu tố định điều kiện này; Thay vậy, mục tiêu cung cấp cho người phát triển nhìn xuyết suốt thành phần có liên quan đến việc hiển thị trang web Khi lỗi xảy điều kiện phát triển, nhà phát triển nhìn thoáng qua để biết dòng code gây lỗi, dòng gọi tới Khả cung cấp stack trace(bao gồm đầy đủ danh sách phương thức gọi để chuẩn bị cho lỗi), hiển thị lỗi không trông đợi xảy 15 • Test Trong điều kiện kiểm tra, thường làm mới(refresh) sở liệu với ranh giới liệu giả cho lần kiểm tra lặp lại-điều đảm bảo kết kiểm tra quán, cách xử lý có khả tăng thêm Unit thủ tục kiểm tra tự động hóa hòan toàn Rails Khi kiểm tra ứng dụng Rails, không xem sử dụng trình duyệt web truyền thống Thay vậy, kiểm tra gọi từ dòng lệnh, chạy background Điều kiện kiểm tra cung cấp môi trường chuyên dụng để xử lý hoạt động đem lại hiệu Production Giai đoạn mà ứng dụng bạn hoàn thành, mà kết kiểm tra tốt, lỗi loại Khi việc thay đổi code hiếm, điều có nghĩa môi trường sản phẩm lạc quan để tập trung vào việc sử dụng Nhiệm vụ viết số lượng lớn log cho mục đích gỡ trở nên không cần thiết Tuy nhiên, lỗi xảy ra, bạn không muốn làm người dùng sợ hãi với thông báo dấu vết khó hiểu(nó tốt giai đoạn phát triển) Với nhu cầu khác cho điều kiện,giai đoạn, Rails lưu trữ liệu cho điều kiện liệu tách biệt hoàn toàn Bởi vậy, thời điểm nào, bạn có: • Dữ liệu trực tiếp với người dùng thực tương tác môi trường điều kiện sản phẩm Một copy liệu trực tiếp mà bạn sử dụng để gở rối lỗi hay phát triển tính môi trường điều kiện phát triển • Một liệu kiểm tra bạn liên tục làm việc load lại môi trường điều kiện kiểm tra 3.5 So sánh Ruby on Rails với Java PHP Để đánh giá framework, người ta dựa vào yếu tố: tốc độ phát triển (Dev Speed), 16 khả bảo trì (maintainability), công cụ hỗ trợ (Dev Tools)và khả mở rộng thay đổi (Scaling) Như theo lược đồ đánh giá trên, thấy framework có điểm mạnh – yếu riêng Với RoR, tốc độ phát triển khả bảo trì Vậy đâu yếu tố quan trọng yếu tố để đánh giá framework nên sử dụng Theo Tim Bray nhiều chuyên gia, tính bảo trì, ứng dụng xây dựng đa số sử dụng thời gian dài, thực tế cho thấy chi phí cho công tác bảo trì không nhỏ Mặt khác, với hỗ trợ mô hình MVC, đ ộ dễ hiểu độ dài code cải thiện so với PHP Java Ngoài yếu tố trên, nêu thêm yếu tố cụ thể sau ảnh hưởng tới tầm quan trọng RoR so với framework khác Đó giải pháp mã nguồn mở khả thương mại Với giải pháp mã nguồn mở, RoR dung hòa tính dễ học PHP cấu trúc chặt chẽ Java Còn khả thương mại, tảng J2EE NET sử dụng công ty lớn với tính ổn định an toàn chặt chẽ việc quản lý khối lượng lớn liệu RoR đảm bảo nhiệm vụ tương tự với giá thành hạ 17 Chương 4: Cài đặt phát triển môi trường Rails Các môi trường cụ thể để phát triển Ruby on Rails Hầu môi trường phát triển framework Bạn cài đặt hệ điều hành Window, Linux Mac Nhưng học tập phát triển trang web nhà lập trình thường sử dụng Linux Mac Để có server để thực thi hệ thống phát triển Rails người phát triển thường chọn sever Linux Cách cài đặt môi trường phát triển Ruby on Rails Ở hướng dẫn bạn cài đặt môi trường phát triển Rails Windown B1: Truy cập vào trang web railsinstaller.org download gói “web the kit” B2: Chọn cài đặt gói vừa tài kích đúp vào Chọn next sau chọn install chương trình B3: Bỏ tích đánh dấu khỏi dòng “Configure git and ssh when installation has completed”và chọn finish B4: Từ hình cmd bạn gõ: rails new project1 ấn enter B5: Di chuyển vào thư mục project1 gõ: rails s enter B6: Bạn dùng trình duyệt gõ vào địa chỉ: “localhost:3000” hình hình hiển thị “welcome aboard” tức bạn cài đ ặt thành công Cài đặt công cụ hỗ trợ code B1: Bạn download công cụ sublimetext trang http://www.sublimetext.com/ B2: Cài đặt sublimetext B3: Sau cài đặt xong sublimetext ta di chuyển vào thư mục cài đ ặt mặc định là: C:\Program Files\Sublime Text B4: Copy file sublime_text.exe vào thư mục đổi tên “subl” B5: Copy đường dẫn thư mục chứa file “subl” B6: Kích phải chuột vào "My Computer", chọn "Advanced System Settings", chọn "Environment Variables", kéo xuống tìm "Path", chọn "Edit" Thêm ";" vào cuối dòng dán đường link vừa vào B7: Khởi động lại Command line chọn đường dẫn project : gõ “subl” để mở Sublime text Khi hoàn thành xong mục bạn tạo thành công môi trường phát triển công cụ hỗ trợ code Đến bạn học phát triển ứng dụng web framework Rails Bây hoàn thành môi trư ờng phát triển có kiến thức ngôn ngữ Ruby bạn có tìm hiểu vấn để phát triển Ruby on Rails 18 Chương 5: Những vấn đề cụ thể Rails Bộ công cụ để phát triển Rake: công cụ xây dựng viết Ruby, Có khác biệt lớn Rake công cụ khác.Tất công việc viết ngôn ngữ Ruby Vì vậy, thừa hưởng tính linh hoạt, đầy đủ tận dụng lợi số tính tốt Ruby Cài đặt: Để cài đặt Rake, từ cmd ta gõ lệnh : “ gem install rake “ enter Chức năng: • Rake hỗ trợ mô hình quy tắc tổng hợp nhiệm vụ ngầm • Người dùng xác định nhiệm vụ với điều kiện tiên • Một thư viện nhiệm vụ đóng gói sẵn để thực xây dựng rakefiles dễ dàng • FileLists linh hoạt hoạt động mảng hiểu thao tác tên tập tin đường dẫn Các hỗ trợ nhiệm vụ : Di chuyển đến thư mục cần kiểm tra , gõ lệnh : rake tasks • Mỗi danh sách nhiệm vụ có sẵn rake tạo phụ thuộc vào thư mục bạn kiểm tra • Các nhiệm vụ thường liên quan đến database, xóa sửa tạo mới, clean nhớ cache Các hỗ trợ nhiệm vụ chính: • rake about: Thông tin phiên cài đ ặt phiên cài sẵn máy bạn để tiện cho việc chỉnh sửa , update • rake assets: Có chức clean để xóa bỏ assets compiler , compiler assets • rake db: Tổng hợp nhiệm vụ có sẵn rake với database tạo, xóa sửa , rollback… hữu ích xử lý xự cố với db • rake doc: công cụ hỗ trợ việc tạo tài liệu hướng dẫn cho ứng dụng bạn, tài liệu API Nó tách để làm cho code bạn trở lên đơn giản • rake doc:app : Tạo tài liệu hướng dẫn cho ứng dụng bạn doc/ app • rake doc:guides : Tạo hướng dẫn rails doc/guides • rake doc:rails : Tạo hướng dẫn rails api doc/api 19 • rake doc:plugins : Tạo tài liệu api cho tất plugin cài doc/plugins • rake doc:clobber_plugins : Loại bỏ tất tài liệu tạo cho plugins • rake notes : Hàm tìm kiếm thông qua code bạn bắt đầu với từ khóa FIXME, OPTIMIZE or TODO Nó tìm kiếm file có phần mở rộng builder, rb, erb, haml and slim • rake routes: Cung cấp tất đường dẫn định tuyến có sẵn code bạn để bạn hình dung tổng thể • rake test: Công cụ có sẵn unit, hỗ trợ tạo test có sẵn kiểm tra tính ổn định ứng dụng • rake tmp: rails ta có file “Rails.root/tmp” để lưu trữ file tạm , process id dùng hoạt động diễn Rake tmp hỗ trợ dọn dẹp file để giải phóng nhớ  rake tmp:cache:clear : xóa bỏ tmp/cache  rake tmp:sessions:clear : xóa bỏ tmp/session  rake tmp:sockets:clear : xóa bỏ tmp/sockets  rake tmp:clear : xóa toàn file Bundler: Bundler công cụ trì môi trường phù hợp cho mã code nhà phát triển tất dòng máy Khi mã code nhà phát triển triển khai máy khác nhau, thư viện trước nhà phát triển thay đổi theo môi trường máy Điều phá vỡ ứng dụng nhà phát triển Bundler đảm bảo thư viện cũ, ghi hình t ất thứ lại với để phát triển ứng dụng chạy tốt máy, nơi mà triển khai.Ở bundler giúp ta quản lý sử dùng gem trực tiếp Rubygems.org số trang khác Gem: gói thư viện Ruby Cài đặt bunlder: B1 : Trong thư mục gốc app , chọn gemfile tùy chỉnh cài đặt theo mong muốn , chọn gói gem hỗ trợ app “jQuery JavaScript library”, giao di ện Ruby cho SQLite database….Bằng cách xóa ký tự # trước gói cần thiết thêm phiên gói Hoặc bạn tìm thư viện để cài đặt Gem B2: Sau lưu file Gem bạn dùng lệnh bundle install để cài đặt vào ứng dụng Và tiến hành sử dụng thư viện 20 Đặc điểm với sở liệu Ruby on Rails Rails Framework hỗ trợ đầy đủ các ứng dụng liên quan đến quản trị sở liệu (csdl) xampp, wamp Trong trình phát triển Rails, thân Rails tr ừu tượng hóa csdl thông qua tầng liên kết Active record Đây thành phần cho phép điều khiển tương tác qua lại ứng dụng với sở liệu não trung tâm Rails 2.1 Giới thiệu Active Record Active Record tầng ánh xạ quan hệ với đối tượng cho phép bảng ánh xạ tới lớp, hàng tới đối tượng cột tới thuộc tính Tức thay làm việc với csdl thông thường qua hàng cột, thông Active Record ta làm việc với lớp, đối tượng, thuộc tính 2.2 Đánh giá Active Record với hệ csdl khác Ưu điểm: • Thông qua việc Rails tự động thêm vào thuộc tính theo cột csdl việc định rõ thuộc tính theo hướng khác không cần thiết • Có thể không cần sử dụng ngôn ngữ SQL để làm việc với csdl mà sử dụng ngôn ngữ Rails để tạo đồng d ễ dàng việc lập trình Tự động tìm kiếm Primary key Foreign key xây dựng csdl việc liên kết bảng làm tự động Nhược điểm : • Hạn chế Active Record theo m ột chuẩn mẫu sẵn khởi tạo liệu nên việc thay đổi tùy biến • Do liên kết bảng tự động không người cài đặt nên việc liên quan đến chỉnh sửa csdl trở lên phức tạp 2.3 Thao tác sử dụng Active Record a Xác định mối quan hệ Có loại mối quan hệ: 1-1, - nhiều, nhiều – nhiều Quan hệ - 1: 21 Quan hệ – nhiều : Quan hệ nhiều – nhiều : b Lấy đối tượng Active record hỗ trợ việc lấy đối tượng thông qua việc với Model.”method” với Model biến ánh xạ tên bảng method hàm định sẵn find , first , last , first!, last! Lấy liệu có primary key : Model.find(1); select * from Model limit Lấy liệu có promary key từ -> 10 Model.find([1,10]) SELECT * FROM clients WHERE (clients.id IN (1,10) Đối với khối liệu lớn , ta sử dụng “ find_each find_in_batches” với việc lấy nhiều nhiều ghi khối để gọi sử dụng dễ dàng Find_each : với batch_size số lượng hồ sơ lấy để chuyển vào lô để xử lý 22 Chương 6: Tổng kết Ở nhóm tổng kết vấn đề phiên báo cáo này: Các bạn hiểu ngôn ngữ Ruby điều Hiểu mô hình MVC Framework Và em trình bầy framework Rails thư xung quanh đến Phụ Lục Những từ ngữ viết tắt: RoR: Ruby on Rails Csdl: sở liệu Db: database Tài liệu tham khảo [1] http://dev.vast.vn/tuananh/Web/C%C4%90048-1 [2] Nguyễn Hải Châu, “Tổng quan Framework Rails” [3] Michael Harlt,”Ruby on Rails Tutorial Learn Web Development With Rails” http://ruby.railstutorial.org/ruby-on-rails-tutorial-book 23 [...]... lấy ra để chuyển vào từng lô để xử lý 22 Chương 6: Tổng kết Ở đây nhóm sẽ tổng kết các vấn đề trong phiên bản báo cáo này: Các bạn đã hiểu ngôn ngữ Ruby là gì và những điều cơ bản về nó Hiểu được thế nào là mô hình MVC và Framework là gì Và em đã trình bầy về framework Rails và những thư xung quanh đến nó Phụ Lục Những từ ngữ viết tắt: RoR: Ruby on Rails Csdl: cơ sở dữ liệu Db: database Tài liệu tham... Rails tự động thêm vào các thuộc tính theo các cột csdl thì việc chỉ định rõ thuộc tính theo các hướng khác nhau là không cần thiết • Có thể không cần sử dụng ngôn ngữ SQL để làm việc với csdl mà có thể sử dụng duy nhất một ngôn ngữ là Rails để tạo sự đồng nhất cũng như d ễ dàng trong việc lập trình Tự động tìm kiếm Primary key và Foreign key khi xây dựng csdl và việc liên kết giữa các bảng cũng được... ra một bộ ứng dụng thiết kế dựa vào những thư viện phát triển theo ngôn ngữ để tạo người lập trình dễ dàng để phát triển những phần mềm một cách nhanh nhóng và hiệu quả Khi phát triển một phần mềm dựa vào một framework nào đó thì việc phát triển nó trở lên thuận lợi với người lập trình bởi vì nó giảm bớt thời gian tập trung vào việc code hơn để có thể tập trung vào việc giải quyết những vấn đề liên quan... một ứng dụng trong Rails Rails động viên sử dụng các điều kiện khác nhau cho mỗi giai đoạn trong chu trình vòng đời của ứng dụng( phát triển,kiểm tra, và sản phầm) Nếu bạn đã hoàn thành việc phát triển ứng dụng web trong một khoảng thời gian, đây có lẽ là cách để bạn thực hiện Rails chỉ hợp thức hóa các môi trường này Development trong điều kiện development, thay đổi tới code nguồn của ứng dụng ngay lập. .. Rails Khi chúng ta kiểm tra ứng dụng Rails, chúng ta không xem nó sử dụng một trình duyệt web truyền thống Thay vì vậy, các cuộc kiểm tra được gọi từ các dòng lệnh, và có thể chạy dưới background Điều kiện kiểm tra cung cấp một môi trường chuyên dụng để xử lý các hoạt động đem lại hiệu quả Production Giai đoạn mà ứng dụng của bạn đã hoàn thành, khi mà các kết quả kiểm tra là tốt, các lỗi đã được loại ra... rollback… rất hữu ích khi xử lý xự cố với db • rake doc: là một công cụ hỗ trợ việc tạo ra những tài liệu hướng dẫn cho các ứng dụng của bạn, tài liệu API Nó được tách ra để làm cho code của bạn trở lên đơn giản • rake doc:app : Tạo ra các tài liệu hướng dẫn cho các ứng dụng của bạn trong doc/ app • rake doc:guides : Tạo ra các hướng dẫn rails trong doc/guides • rake doc:rails : Tạo ra các hướng dẫn rails... đó ở Ruby các biến trong lớp đều được đặt là private, trong khi các hằng số đều 11 là public 7 Thừa kế trong Ruby Là ngôn ngữ hướng đối tượng nên Ruby có đầy đủ các tính chất như tính đa hình, đóng gói và kế thừa class Parent def printOut puts "This is Parent class" end end class Child def printOut puts "This is Child Class" end end Modules Modules là nhóm các thành phần hàm, biến, hằng số và chạy... Command line và chọn đường dẫn project : gõ “subl” để mở Sublime text Khi hoàn thành xong các mục trên bạn đã tạo thành công môi trường phát triển và công cụ hỗ trợ code Đến đây bạn có thể học và phát triển một ứng dụng web bằng framework Rails Bây giờ khi đã hoàn thành môi trư ờng phát triển và có những kiến thức cơ bản về ngôn ngữ Ruby thì bạn có có thể tìm hiểu những vấn để phát triển Ruby on Rails... doc:plugins : Tạo ra các tài liệu api cho tất cả các plugin được cài trong doc/plugins • rake doc:clobber_plugins : Loại bỏ tất cả các tài liệu tạo ra cho plugins • rake notes : Hàm tìm kiếm thông qua code của bạn và bắt đầu với các từ khóa FIXME, OPTIMIZE or TODO Nó có thể tìm kiếm trong các file có phần mở rộng builder, rb, erb, haml and slim • rake routes: Cung cấp tất cả các đường dẫn và định tuyến có... gói đó Hoặc bạn có thể tìm những thư viện của để cài đặt trong Gem B2: Sau khi lưu file Gem bạn có thể dùng lệnh bundle install để cài đặt nó vào ứng dụng của mình Và tiến hành sử dụng thư viện đó 20 2 Đặc điểm cơ bản với cơ sở dữ liệu của Ruby on Rails Rails là một Framework hỗ trợ khá đầy đủ các các ứng dụng liên quan đến quản trị cơ sở dữ liệu (csdl) như xampp, wamp Trong quá trình phát triển của ... Result: 27 64 select positive = [1 ,-2 ,3,4 ,-9 ].select{|s| s>0} puts positive Result: reject negative = [1 ,-2 ,3,4 ,-9 ].reject{|s| s>0} puts negative Result: -2 -9 5.5 Hash Mảng Hash đ ặc biệt so... http://dev.vast.vn/tuananh/Web/C%C4%9004 8-1 [2] Nguyễn Hải Châu, “Tổng quan Framework Rails” [3] Michael Harlt,”Ruby on Rails Tutorial Learn Web Development With Rails” http://ruby.railstutorial.org/ruby-on-rails-tutorial-book... 2.3 Thao tác sử dụng Active Record a Xác định mối quan hệ Có loại mối quan hệ: 1-1 , - nhiều, nhiều – nhiều Quan hệ - 1: 21 Quan hệ – nhiều : Quan hệ nhiều – nhiều : b Lấy đối tượng Active record

Ngày đăng: 17/04/2016, 21:25

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan