SlideShare a Scribd company logo
Ruby on Rails
     Александр Красс
Alexander.Krass@gmail.com
Что такое Ruby on Rails?
• Ruby
• Мощнейший фреймворк




                                2
Ruby
На язык очень сильно повлияли:
• Perl
• Smalltalk
• Lisp

Разработан в 1993 году.



                                 3
Ruby
“Ruby is designed to make programmers happy”
          Yukihiro Matsumoto aka Matz




                                               4
Ruby
• Важно, чтобы удобно было человеку, а не
  машине, тогда программирование по-
  настоящему продуктивно.




                                            5
В Ruby всё – это объекты




                           6
If без всяких хитростей




                          7
If без всяких хитростей




                          8
Case




       9
Регулярные выражения




                       10
Блоки




        11
Как принимать в функции блок?




                            12
Посмотрим внимательно на
динамическое типизирование




                             13
Duck typing
• Если что-то ходит как утка, крякает как утка,
  выглядит как утка, то это утка
• Это называется “Duck typing” (“утиным
  типизированием”)




                                              14
Посмотрим ещё внимательнее




                             15
Посмотрим ещё внимательнее




У объекта класса Dog вызовется
method_missing, который сгенерирует
исключение.
                                      16
method_missing




                 17
Это можно, например,
  использовать так…




                       18
Ruby
• Очень активное сообщество
• Постоянно совершенствуется




                               19
Rails. Кто, например, использует?




                                20
Rails. Основные принципы
Convention over Configuration




                                21
Rails. Основные принципы


  Don’t Repeat Yourself




                           22
Rails. Основные принципы
   Model-View-Controller




                           23
Active Record
     Таблица tasks
Поле       Тип

id         int(11)

title      varchar(255)

due_date   date




                          24
Создаём модель




                 25
Database Migration




                     26
db/migrate




             27
Active Record




                28
Active Record




                29
Action Controller
• http://www.../tasks/index

• Здесь:
  – tasks – это TaskController
  – index – это метод класса
    TaskController




                                 30
Для этого создаём ресурс




                           31
Как это выглядит




                   32
Action View




              33
Action View




              34
Демонстрация


               35
Они сделают за Вас многое –
      плагины и gems




                              36
Аутентификация и авторизация
•   restful_autentification
•   authlogic
•   authlogic_openid
•   restful_acl
•   …




                                37
Загрузка файлов и изображений
•   papaperclip
•   attachments_fu
•   file_column
•   …




                                      38
И многое, многое другое
• will_paginate
• recaptcha
• act_as_commentable
• act_as_taggable /
  act_as_taggable_on_steroids
• act_as_rateable
• act_as_state_machine
• …

                                39
Популярные IDE
•   Aptana RadRails (Eclispse)
•   IntelliJ IDEA / RubyMine
•   Microsoft Visual Studio (Ruby in Steel)
•   NetBeans
•   TextMate, Vim и другие мощные текстовые
    редакторы



                                              40
Что же нам даёт Rails в двух словах?




                                   41
Rails делает за Вас много рутинных
 задач, сохраняя Ваше время для
            творчества.



                                     42
Что посмотреть?
•   rubyonrails.com
•   railscasts.com
•   slideshare.net
•   Agile Web Development with Rails.
    3rd Edition




                                        43
Ruby on Rails
     Александр Красс
Alexander.Krass@gmail.com

More Related Content

PDF
Как сделать контрибут в Ruby on Rails
PDF
Why Ror
PDF
Jazz – открытая платформа разработки ПО
PDF
Social Computing Tools and Social Technography
PDF
20070329 Phpconf2007 Training
PPT
Hackday Ml
PDF
dRuby
PDF
за Ruby
Как сделать контрибут в Ruby on Rails
Why Ror
Jazz – открытая платформа разработки ПО
Social Computing Tools and Social Technography
20070329 Phpconf2007 Training
Hackday Ml
dRuby
за Ruby

Viewers also liked (20)

PDF
17 декабря, HR Workshop от FriendWork Recruiter, «Автоматизация рекрутинга: н...
PPTX
Разрушаем негативные мифы Ruby, Rails.
PDF
Корпоративное приложение на Rails
PDF
Отладка и эксплуатация Rails-приложений
PDF
Rails, Eventmachine, Erlang
ODP
Top10 доводов против языка Ruby
PPTX
Опыт эксплуатации большого проекта на Ruby
PPT
Ruby On Rails: Web-разработка по-другому!
PDF
Ruby: интерпретируемый, динамичный, человеколюбивый
PDF
Антон Веснин - "Обзорное сравнение серверов приложений ruby-on-rails"
PPTX
13 HappyDev-lite-2015 autumn. Руслан Шарипов. Ruby, making programmers happy.
PPT
1000 запросов в секунду на rails (Макс Лапшин)
PDF
Oleg Gorbunov Action cable
PDF
Codefest 2016 - Go в Openprovider
PDF
Go в автобусе
PDF
Обзорная экскурсия по runit
PDF
РИФ+КИБ 2016: как потратить почти 2 миллиона рублей и так и не сделать бизнес
PDF
PDF
Как ВКонтакте использует Go
PDF
Dynamic Ruby. Lesson #1: Object model
17 декабря, HR Workshop от FriendWork Recruiter, «Автоматизация рекрутинга: н...
Разрушаем негативные мифы Ruby, Rails.
Корпоративное приложение на Rails
Отладка и эксплуатация Rails-приложений
Rails, Eventmachine, Erlang
Top10 доводов против языка Ruby
Опыт эксплуатации большого проекта на Ruby
Ruby On Rails: Web-разработка по-другому!
Ruby: интерпретируемый, динамичный, человеколюбивый
Антон Веснин - "Обзорное сравнение серверов приложений ruby-on-rails"
13 HappyDev-lite-2015 autumn. Руслан Шарипов. Ruby, making programmers happy.
1000 запросов в секунду на rails (Макс Лапшин)
Oleg Gorbunov Action cable
Codefest 2016 - Go в Openprovider
Go в автобусе
Обзорная экскурсия по runit
РИФ+КИБ 2016: как потратить почти 2 миллиона рублей и так и не сделать бизнес
Как ВКонтакте использует Go
Dynamic Ruby. Lesson #1: Object model

Similar to Ruby on Rails at HackDay in Saint Petersburg (20)

PDF
P2 P Mobile Advertising And Targeting
PDF
Intro To RDBMS And SQL Server 2005 - Svetlin Nakov
PDF
Защо Ruby on Rails
PDF
тупицын Ec2 Rootconf2009
PDF
IBM Jazz - A New Approach For Software Development (In Russian)
PDF
20070613 Rit2007 Training
PPTX
Minsk Jazz 190509 Templ
PPTX
vSphere Launch Business Keynote - Москва, 26 мая
PPTX
Delivery of media content of IIS Media Services
PDF
Управление рисками ИБ: отдельные практические аспекты
PPTX
Что такое ASP.NET MVC?
PDF
Scrum And Business
PPSX
11 Net Scaler Xa1
PDF
Основы работы с Memcached
PPT
OO Design with C++: 1. Inheritance, part 1
PDF
колышкин Rootconf 2009 Openvz
PDF
колышкин Rootconf 2009 Openvz
PDF
Дизайн посуды: Тенденции и образ жизни.
PDF
Minsk Web Appl 190509
PDF
Обеспечение безопасности web приложений
P2 P Mobile Advertising And Targeting
Intro To RDBMS And SQL Server 2005 - Svetlin Nakov
Защо Ruby on Rails
тупицын Ec2 Rootconf2009
IBM Jazz - A New Approach For Software Development (In Russian)
20070613 Rit2007 Training
Minsk Jazz 190509 Templ
vSphere Launch Business Keynote - Москва, 26 мая
Delivery of media content of IIS Media Services
Управление рисками ИБ: отдельные практические аспекты
Что такое ASP.NET MVC?
Scrum And Business
11 Net Scaler Xa1
Основы работы с Memcached
OO Design with C++: 1. Inheritance, part 1
колышкин Rootconf 2009 Openvz
колышкин Rootconf 2009 Openvz
Дизайн посуды: Тенденции и образ жизни.
Minsk Web Appl 190509
Обеспечение безопасности web приложений

More from Alexander Krass (12)

PDF
HR-аналитика и автоматизация рекрутинга: лучшие практики
PDF
HR и new media - тренды и перспективы
PDF
FriendWork
PDF
Ликбез для HR'ов в IT
PDF
8 актуальных вопросов о карьере в IT
PDF
Путь профессионала в IT
PDF
7 актуальных вопросов о карьере в IT
PDF
Стартап vs. компания - где лучше?
PDF
Lifestyle для стартапера. Что может помочь (Internet life 2011, Алесандр Красс)
PDF
Интернет-магазины. Как будут продавать завтра (СПб-РИФ 2011)
PDF
Прокачай свою жизнь!
PDF
Бизнес - это стиль жизни
HR-аналитика и автоматизация рекрутинга: лучшие практики
HR и new media - тренды и перспективы
FriendWork
Ликбез для HR'ов в IT
8 актуальных вопросов о карьере в IT
Путь профессионала в IT
7 актуальных вопросов о карьере в IT
Стартап vs. компания - где лучше?
Lifestyle для стартапера. Что может помочь (Internet life 2011, Алесандр Красс)
Интернет-магазины. Как будут продавать завтра (СПб-РИФ 2011)
Прокачай свою жизнь!
Бизнес - это стиль жизни

Recently uploaded (20)

PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
1. Introduction to Computer Programming.pptx
PDF
Mushroom cultivation and it's methods.pdf
PPTX
OMC Textile Division Presentation 2021.pptx
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
A novel scalable deep ensemble learning framework for big data classification...
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
WOOl fibre morphology and structure.pdf for textiles
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
cloud_computing_Infrastucture_as_cloud_p
PPTX
A Presentation on Touch Screen Technology
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
August Patch Tuesday
Unlocking AI with Model Context Protocol (MCP)
1. Introduction to Computer Programming.pptx
Mushroom cultivation and it's methods.pdf
OMC Textile Division Presentation 2021.pptx
A comparative analysis of optical character recognition models for extracting...
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
A novel scalable deep ensemble learning framework for big data classification...
Group 1 Presentation -Planning and Decision Making .pptx
Univ-Connecticut-ChatGPT-Presentaion.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Encapsulation_ Review paper, used for researhc scholars
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
SOPHOS-XG Firewall Administrator PPT.pptx
WOOl fibre morphology and structure.pdf for textiles
Programs and apps: productivity, graphics, security and other tools
cloud_computing_Infrastucture_as_cloud_p
A Presentation on Touch Screen Technology
Building Integrated photovoltaic BIPV_UPV.pdf
August Patch Tuesday

Ruby on Rails at HackDay in Saint Petersburg