Successfully reported this slideshow.
+

Web aplikāciju izstrāde ar
 Ruby on Rails un Oracle
Raimonds Simanovskis

    TietoEnator Alise
Kas ir Ruby on Rails?
Ruby programmēšanas
        valoda
• Izveidoja Yukihiro Matsumoto (“Matz”)
    1993-1995

• Ietekmējās no Perl, Python, Sm...
Ruby principi &
  priekšrocības
  Pilnībā objektorientēta valoda
Vienkārša un saprotama sintakse

    Elastīgas dinamiskās...
Ruby on Rails
   Moderns “tīmekļa lietojumu ietvars”
  Veidots Ruby programmēšanas valodā

 Radies no 37signals Basecamp a...
Pamatprincipi
        Neatkārto sevi
     DRY - Don’t Repeat Yourself

Vienošanās nevis konfigurēšana
    Convention over C...
Komponentes
Active Record (Model)
Action Controller
Action View
Ruby => Oracle
                           require 'oci8'
 Ruby application          OCI8.new('scott', 'tiger').exec(
     ...
JRuby => Oracle
                        require quot;javaquot;
                        sql =
Ruby application        JavaS...
Ruby on Rails
            => Oracle
gem install activerecord-oracle_enhanced-adapter

database.yml
development:
  adapter:...
Demonstrācija

  jeb kā uztaisīt blog
aplikāciju 10 minūtēs...
ruby-plsql gem
plsql.connection = OCI8.new(quot;hrquot;,quot;hrquot;,quot;xequot;)

plsql.test_uppercase('xxx')           ...
class Employee < ActiveRecord::Base
               set_create_method do
                 plsql.employees_pkg.create_employ...
Ruby on Rails + Oracle
     references
Paldies!
http://blog.rayapps.com
http://github.com/rsim
Web aplikāciju izstrāde ar Ruby on Rails un Oracle DB
Web aplikāciju izstrāde ar Ruby on Rails un Oracle DB
Web aplikāciju izstrāde ar Ruby on Rails un Oracle DB
Upcoming SlideShare
Loading in …5
×

Web aplikāciju izstrāde ar Ruby on Rails un Oracle DB

1,968 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Web aplikāciju izstrāde ar Ruby on Rails un Oracle DB

  1. 1. + Web aplikāciju izstrāde ar Ruby on Rails un Oracle
  2. 2. Raimonds Simanovskis TietoEnator Alise
  3. 3. Kas ir Ruby on Rails?
  4. 4. Ruby programmēšanas valoda • Izveidoja Yukihiro Matsumoto (“Matz”) 1993-1995 • Ietekmējās no Perl, Python, Smalltalk, Lisp, CLU, ... • “Programming Ruby”, 2000 Dave Thomas, Andy Hunt • Ruby on Rails, 2004 David Heinemeier Hansson (DHH) • 2006 2007
  5. 5. Ruby principi & priekšrocības Pilnībā objektorientēta valoda Vienkārša un saprotama sintakse Elastīgas dinamiskās un metaprogrammēšanas iespējas Mazāka apjoma kods Projesionāla un atsaucīga kopiena
  6. 6. Ruby on Rails Moderns “tīmekļa lietojumu ietvars” Veidots Ruby programmēšanas valodā Radies no 37signals Basecamp aplikācijas Atvērtā koda programmatūra Fokusējas uz izstrādātāju produktivitāti Spējā (Agile) programmatūras izstrādes pieeja
  7. 7. Pamatprincipi Neatkārto sevi DRY - Don’t Repeat Yourself Vienošanās nevis konfigurēšana Convention over Configuration Programmatūra ar viedokli Opinionated software
  8. 8. Komponentes
  9. 9. Active Record (Model)
  10. 10. Action Controller
  11. 11. Action View
  12. 12. Ruby => Oracle require 'oci8' Ruby application OCI8.new('scott', 'tiger').exec( 'select * from emp') do |r| puts r.join(',') end ruby-oci8 Oracle Instant Oracle Database Client SQL*Net
  13. 13. JRuby => Oracle require quot;javaquot; sql = Ruby application JavaSQL::DriverManager.getConnec tion(db, user, password) statement = sql.createStatement status = statement.execute quot;select * from parts;quot; JRuby rs = statement.getResultSet() JDBC driver Oracle Database SQL*Net
  14. 14. Ruby on Rails => Oracle gem install activerecord-oracle_enhanced-adapter database.yml development: adapter: oracle_enhanced database: XE username: blogdemo password: blogdemo encoding: utf8
  15. 15. Demonstrācija jeb kā uztaisīt blog aplikāciju 10 minūtēs...
  16. 16. ruby-plsql gem plsql.connection = OCI8.new(quot;hrquot;,quot;hrquot;,quot;xequot;) plsql.test_uppercase('xxx') # => quot;XXXquot; plsql.test_uppercase(:p_string => 'xxx') # => quot;XXXquot; plsql.test_copy(quot;abcquot;, nil, nil) # => { :p_to => quot;abcquot;, # :p_to_double => quot;abcabcquot; } plsql.test_copy(:p_from => quot;abcquot;, :p_to => nil, :p_to_double => nil) # => { :p_to => quot;abcquot;, # :p_to_double => quot;abcabcquot; } plsql.hr.test_uppercase('xxx') # => quot;XXXquot; plsql.test_package.test_uppercase('xxx') # => 'XXX' plsql.hr.test_package.test_uppercase('xxx') # => 'XXX' plsql.logoff
  17. 17. class Employee < ActiveRecord::Base set_create_method do plsql.employees_pkg.create_employee( :p_first_name => first_name, :p_last_name => last_name, :p_employee_id => nil )[:p_employee_id] PL/SQL end set_update_method do procedūras plsql.employees_pkg.update_employee( esošās :p_employee_id => id, :p_first_name => first_name, datubāzēs :p_last_name => last_name ) end set_delete_method do plsql.employees_pkg.delete_employee( :p_employee_id => id ) end end
  18. 18. Ruby on Rails + Oracle references
  19. 19. Paldies! http://blog.rayapps.com http://github.com/rsim

×