Ruby on Rails at HackDay in Saint Petersburg

Post on 21-Dec-2014

567 views 0 download

Tags:

description

Презентация для мастер-класса по Ruby on Rails на HackDay в Санкт-Петербурге 5 сентября 2009 года.

Transcript of Ruby on Rails at HackDay in Saint Petersburg

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

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

16

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

method_missing

17

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

18

Ruby

• Очень активное сообщество

• Постоянно совершенствуется

19

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

20

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

Convention over Configuration

21

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

Don’t Repeat Yourself

22

Model-View-Controller

23

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

Active Record

Поле Тип

id int(11)

title varchar(255)

due_date date

24

Таблица tasks

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

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