Các vấn đề hiện đại Công nghệ phần mềm: Slide Ruby On Rails

30 707 2
Các vấn đề hiện đại Công nghệ phần mềm: Slide Ruby On Rails

Đ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

Cha đẻ của Ruby là Matshumoto Yukishiro hay còn được biết đến với tên Matz. Ruby là sự kết hợp thành công của Smalltalk, Python, Perl,... Ruby mang đầy đủ các đặc điểm ưu việt của các ngôn ngữ đã có từ trước đó như: tính thông dịch (Perl, Python), hướng đối tượng (Smalltalk, Java). Phiên bản hiện tại của Ruby là 2.0.Ruby có cú pháp đơn giản. Mang đặc điểm của nhiều ngôn ngữ khác: hướng đối tượng (class, method, object…), chồng toán tử (operation overloading), Xử lý các ngoại lệ (Exception handling), trình gom và xử lí rác (garbage collection), nhập liệu tự động (dynamic loading) và độc lập trong cấu trúc, dependency injection, iterator. Ngoài các đặc điểm chung, Matz cũng đưa vào một số khái niệm khác như mixin, singleton method, renaming, closures… tính khả chuyển cao (high transportability) nên chạy được trên nhiều nên khác nhau như: Unices, Windows, DOS, OSX, OS2, Amiga… Ruby cũng hỗ trợ rất nhiều thư viện chuẩn cho lập trình viên.

Gi i thi u ngôn ng ớ ệ ữ Ruby Members: Phan Duy Toàn Nguy n Văn N iễ ộ N i dung chínhộ I. T ng quan v Rubyổ ề II. Ruby Advance III. Demo 2 T ng quan v Rubyổ ề Yukihiro Matsumoto (Matz)  Sinh ngày: 14 - 04 – 1965  Quốc tịch: Nhật  Nghề nghiệp: Computer scientist, programmer 3 “Ruby is simple in appearance, but is very complex inside, just like our human body” Matz, speaking on the Ruby-Talk mailing list, May 12th, 2000. T ng quan v Rubyổ ề  Ruby là:  S k t h p thành công c a Smalltalk, Python, Perl. ự ế ợ ủ  Ngôn ng l p trình c p cao.ữ ậ ấ  Đ c thông d ch gi ng Perl, Pythonượ ị ố  H ng đ i t ng gi ng Smalltalk, Javaướ ố ượ ố  Đ c vi t b i Matz năm 1993ượ ế ở 4 T ng quan v Rubyổ ề  M t s đ c tr ng c a Ruby:ộ ố ặ ư ủ  H ng đ i t ng thu n túyướ ố ượ ầ  D h c t p và nghiên c u.ễ ọ ậ ứ  Mã ngu n mồ ở  R t nhi u th vi nấ ề ư ệ  Code ít, l i ítỗ 5 T ng quan v Rubyổ ề  Variables:  $ten_bien: bi n toàn c c, có th s d ng trong các class ế ụ ể ử ụ khác nhau  @ten_bien: bi n th c th , có th s d ng trong các ế ự ể ể ử ụ ph ng th c khác nhau c a 1 classươ ứ ủ  @@ten_bien: bi n l p, gi ng bi n staticế ớ ố ế  ten_bien: bi n localế  Pseudo-Variables:  self: gi ng $this trong PHPố  nil: gi ng null trong PHP. ố  … 6 T ng quan v Rubyổ ề  Constant :  Cú pháp: Tên_h ng = giá_trằ ị  Ví d :ụ Const = 5 MyConst = ‘my constant’ 7 T ng quan v Rubyổ ề  Types Integer Numbers, Floating Numbers, Boolean  String String là lớp dùng để thể hiện chuỗi ký tự string = ‘hello world!’  Ruby Arrays  Cách khai báo arr = [1, 2, 3] arr = Array.new  Các d ng:ạ arr = [1, 2, 3] arr = [[1,2],[3,4,5,6],[7,8,9]] subArr = arr[0,2] 8 T ng quan v Rubyổ ề  Ruby Hashes hsh = { "red" => 0xf00, "green" => 0x0f0 } for key, value in hsh puts “#{key} is #{value}” end  Ruby Ranges for n in 10 15 puts n end 9 T ng quan v Rubyổ ề  Operator  S h c: +, -, *, /, %, …ố ọ  So sánh: ==, !=, >, >=, <, <=, …  Gán: =, +=, …  Logic: &&, ||, !, … 10 [...]... Tổng quan về Ruby  Ưu điểm  Cú pháp trong sáng hơn  Hướng đối tượng thuần túy  Khả năng khai thác văn bản mạnh   Nhược điểm  Số lượng dòng code lớn hơn các ngôn ngữ khác như Python, Perl …  Là ngôn ngữ chạy khá chậm Có tính cấu trúc và ổn định hơn 18 Ruby Advance  Ruby      Object oriented Ruby là một ngôn ngữ lập trình thuần hướng đối tượng Mọi thứ trong Ruby đều là Object, từ các class... Nó định nghĩa một tập các method, các variables và các conventions mà cung cấp một consistence database interface, độc lập với database đang được sử dụng Nhờ vậy, lập trình viên có thể dễ dàng giao tác với database mà không cần quan tâm đến loại DBMS nào đang được sử dụng 23 Ruby Advance  DBI Application’s Architecture DBD:Oracle A P I DBI DBD:MySQL MySQL RDBMS DBD:Postgr eSQL Ruby Script Oracle RDBMS...  next : nhảy sang bước lặp kế tiếp 13 Tổng quan về Ruby  Blocks Trong quá trình sử dụng các cấu trúc liệt kê, chúng ta thường thấy một nhóm các câu lệnh nằm trong cặp ngoặc nhọn hoặc trong lòng khối begin/end Người ta gọi đó là block Thông thường block bao giờ cũng được thực hiện sau lời gọi hàm Ví dụ: 10.downto(0){|x| print x}  14 Tổng quan về Ruby Class class Hello [< Class] def initialize( name... name>.new Constructor Method def initialize code 19 end Ruby Advance  Ruby Object oriented (tiếp) Attributes (Instance variables) của Object là private với các Object khác và không thể truy cập từ bên ngoài của class Chúng chỉ có sẵn đối với các object mà được kế thừa  Ngoài ra, từ bên ngoài class, có thể truy cập gián tiếp đến các attributes thông qua các accessor method và setter method (tương tự các. .. giống nạp chồng toán tử trong C++ class Complex def initialize(r, v) @real, @virtual = v end def +(other) Complex.new(@real+other.real, @virtual+other.virtual) end 22 end Ruby Advance  Ruby   Database Access Các script Ruby tương tác với các database thông qua một interface độc lập với cơ sở dữ liệu được cung cấp bởi Ruby DBI module DBI tạo ra một lớp trừu tượng hóa giữa code Ruby và database nằm bên... = Hello.new( "Ruby" ) # Output "Hello Ruby! " h.Salute  15 Tổng quan về Ruby  Module Modules là nhóm các thành phần hàm, biến, hằng số và chạy độc lập  Ví dụ: module MyModule def MyModule.intro puts "This is the intro of modul" end def MyModule.sayHello puts "Hello" end end 16 Tổng quan về Ruby  Một     số framework cho Ruby: Sinatra: Kích thước nhỏ Padrino: Kích thước trung bình Rails: Kích thước... dụng Tk là một hệ thống phân cấp các widget Widget là component cơ bản nhất, bất kỳ widget nào cũng được đặt trong 1 widget khác và bản thân nó cũng chứa các widget khác Widget chính trong Tk là widget root, được tạo ra bằng cách tạo một instance từ TkRoot root = TkRoot.new 26 Ruby Advance  Webservice     Sử dụng giao thức SOAP (Simple Object Acces Protocol) Trên Ruby, bản cài đặt SOAP có tên SOAP4R... loại SOAP server applications: CGI/FastCGI based (SOAP::RPC::CGIStub) Standalone (SOAP::RPC:StandaloneServer) SOAP::RPC::Driver hỗ trợ cho việc viết ứng dụng SOAP client applications 27 Demo    Kế thừa trong Ruby Sending mail use a gmail Webservice 28 Tổng kết     Là sự kết hợp của nhiều ngôn ngữ khác nhau Mang ưu điểm đặc trưng của hướng đối tượng thuần túy Sử dụng công nghệ mới nhất Là ngôn ngữ... Box.new(30, 100) Box.printCount() 21 Ruby Advance  Ruby     Object oriented (tiếp) 3 level of access at instance method: private, protected, public Các level này không áp dụng đối với instance và class variables Inheritance: chỉ hỗ trợ đơn kế thừa, không hỗ trợ đa kế thừa Thay vào đó Ruby đưa ra khái niệm Mixins Overriding: các lớp con có thể thay đổi hành vi của các method đã được định nghĩa sẵn... một tập các phương thức để giao tác với database  DBD layer: phụ thuộc database, cung cấp các drivers cho từng database tương ứng Mỗi drivers sẽ thông dịch các request từ DBI layer và ánh xạ chúng thành các request 24 phù hợp với loại database đang được sử dụng Ruby Advance  Sending     Mailing Ruby cung cấp class Net::SMTP cài đặt giao thức SMTP phía client-side Tạo SMTP object, và thực hiện kết

Ngày đăng: 20/05/2015, 08:10

Từ khóa liên quan

Mục lục

  • Giới thiệu ngôn ngữ Ruby

  • Nội dung chính

  • Tổng quan về Ruby

  • Slide 4

  • Slide 5

  • Slide 6

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

  • Slide 11

  • Slide 12

  • Slide 13

  • Slide 14

  • Slide 15

  • Slide 16

  • Slide 17

  • Slide 18

  • Ruby Advance

  • Slide 20

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

Tài liệu liên quan