SlideShare a Scribd company logo
1 of 37
tastes like ruby
* ruby
* rails
* ecosystem
* community
1976
1991
1992
1993
1994
1996
2012
философия
• мощный скриптовый язык
• полноценное ООП
• простота и практичность
• продуктивность программиста
• предсказуемое поведение
история
1993 - 1996 // первая версия @matz
1997 // английская документация
2001 // RubyConf #1
2004 // RubyConf - @dhh
13 дек 2005 // Rails 1.0 / ruby 1.8.2
особенности
• все является объектом
• миксины (mixins)
• операторы это методы
• открытые классы
• выражение возвращает свое значение
• блоки
• синтаксис (CONST, method_names, :symbols)
объекты
1.class
=> Fixnum
1.year.class
=> ActiveSupport::Duration
1.year.to_s
=> "31557600.0"
1.year.ago
=> Sun, 19 Jul 2015 18:32:48 UTC +00:00
mixins
операторы = методы
return value
(1..9).class
=> Range
(1..9).select { |e| e > 4 }
=> [5, 6, 7, 8, 9]
(1..9).select { |e| e > 4 }.reverse
=> [9, 8, 7, 6, 5]
блоки
синтаксис
rails
* actioncable
actionmailer
actionpack
actionview
* activejob
activerecord
принципы
• don’t repeat yourself (DRY)
• convention over configuration
• model-view-controller (MVC)
• RESTful design
• security
• developer happiness :)
фичи
• роутинг
• миграции
• ассоциации (ActiveRecord)
• i18n
• автоматизированное тестирование
• asset pipeline
ecosystem
community
the end

More Related Content

Viewers also liked

Как достигнуть компромисса с клиентом в спорной ситуации?
Как достигнуть компромисса с клиентом в спорной ситуации?Как достигнуть компромисса с клиентом в спорной ситуации?
Как достигнуть компромисса с клиентом в спорной ситуации?iQSpace
 
Дмитрий Лукьянов — Agile и Agility в управлении проектами. Может ли "водопад"...
Дмитрий Лукьянов — Agile и Agility в управлении проектами. Может ли "водопад"...Дмитрий Лукьянов — Agile и Agility в управлении проектами. Может ли "водопад"...
Дмитрий Лукьянов — Agile и Agility в управлении проектами. Может ли "водопад"...AgileLAB
 
Freelance VS Teamwork
Freelance VS TeamworkFreelance VS Teamwork
Freelance VS TeamworkiQSpace
 
Harga travel bag maika etnik
Harga travel bag maika etnikHarga travel bag maika etnik
Harga travel bag maika etnikDawang Sirita
 
Presentation zerocopy importance of paper for digital natives
Presentation zerocopy   importance of paper for digital nativesPresentation zerocopy   importance of paper for digital natives
Presentation zerocopy importance of paper for digital nativesARTOOS|HAYEZ
 
MiniCRM - Profesionalno upravljanje odnosima s klijentima
MiniCRM - Profesionalno upravljanje odnosima s klijentimaMiniCRM - Profesionalno upravljanje odnosima s klijentima
MiniCRM - Profesionalno upravljanje odnosima s klijentimaHrvatski Telekom
 

Viewers also liked (6)

Как достигнуть компромисса с клиентом в спорной ситуации?
Как достигнуть компромисса с клиентом в спорной ситуации?Как достигнуть компромисса с клиентом в спорной ситуации?
Как достигнуть компромисса с клиентом в спорной ситуации?
 
Дмитрий Лукьянов — Agile и Agility в управлении проектами. Может ли "водопад"...
Дмитрий Лукьянов — Agile и Agility в управлении проектами. Может ли "водопад"...Дмитрий Лукьянов — Agile и Agility в управлении проектами. Может ли "водопад"...
Дмитрий Лукьянов — Agile и Agility в управлении проектами. Может ли "водопад"...
 
Freelance VS Teamwork
Freelance VS TeamworkFreelance VS Teamwork
Freelance VS Teamwork
 
Harga travel bag maika etnik
Harga travel bag maika etnikHarga travel bag maika etnik
Harga travel bag maika etnik
 
Presentation zerocopy importance of paper for digital natives
Presentation zerocopy   importance of paper for digital nativesPresentation zerocopy   importance of paper for digital natives
Presentation zerocopy importance of paper for digital natives
 
MiniCRM - Profesionalno upravljanje odnosima s klijentima
MiniCRM - Profesionalno upravljanje odnosima s klijentimaMiniCRM - Profesionalno upravljanje odnosima s klijentima
MiniCRM - Profesionalno upravljanje odnosima s klijentima
 

More from iQSpace

Дизайнеры vs Роботы
Дизайнеры vs РоботыДизайнеры vs Роботы
Дизайнеры vs РоботыiQSpace
 
Мозг, страх, боль и дизайн
Мозг, страх, боль и дизайнМозг, страх, боль и дизайн
Мозг, страх, боль и дизайнiQSpace
 
How to improve mobile UI/UX
How to improve mobile UI/UXHow to improve mobile UI/UX
How to improve mobile UI/UXiQSpace
 
Лекция Руслана Назаренко "Вирусный продукт"
Лекция Руслана Назаренко "Вирусный продукт"Лекция Руслана Назаренко "Вирусный продукт"
Лекция Руслана Назаренко "Вирусный продукт"iQSpace
 
Switch careers after 30
Switch careers after 30Switch careers after 30
Switch careers after 30iQSpace
 
To be or not to be?
To be or not to be?To be or not to be?
To be or not to be?iQSpace
 
Iт рекрутинг-без-факапов-одесса
Iт рекрутинг-без-факапов-одессаIт рекрутинг-без-факапов-одесса
Iт рекрутинг-без-факапов-одессаiQSpace
 
Работа удаленно
Работа удаленно Работа удаленно
Работа удаленно iQSpace
 
Как создать себе имя и репутацию
Как создать себе имя и репутацию Как создать себе имя и репутацию
Как создать себе имя и репутацию iQSpace
 
Как с 1 годом опыта получить контракт с Toyota, Lexus и Suzuki?
Как с 1 годом опыта получить контракт с Toyota, Lexus и Suzuki?Как с 1 годом опыта получить контракт с Toyota, Lexus и Suzuki?
Как с 1 годом опыта получить контракт с Toyota, Lexus и Suzuki?iQSpace
 
Есть ли жизнь после фриланса?
Есть ли жизнь после фриланса?Есть ли жизнь после фриланса?
Есть ли жизнь после фриланса?iQSpace
 
Как управлять командами в IT?
Как управлять командами в IT?Как управлять командами в IT?
Как управлять командами в IT?iQSpace
 
IT-рекрутинг. Как найти единорога?
IT-рекрутинг. Как найти единорога?IT-рекрутинг. Как найти единорога?
IT-рекрутинг. Как найти единорога?iQSpace
 
Python Meetup
Python Meetup Python Meetup
Python Meetup iQSpace
 
Чего можно добиться за год работы в UI/UX дизайне?
 Чего можно добиться за год работы в UI/UX дизайне? Чего можно добиться за год работы в UI/UX дизайне?
Чего можно добиться за год работы в UI/UX дизайне?iQSpace
 
Hard'n'Soft. Скиллы универсального дизайн-солдата
Hard'n'Soft. Скиллы универсального дизайн-солдатаHard'n'Soft. Скиллы универсального дизайн-солдата
Hard'n'Soft. Скиллы универсального дизайн-солдатаiQSpace
 
Как управлять командами в IT?
Как управлять командами в IT?Как управлять командами в IT?
Как управлять командами в IT?iQSpace
 
Кто такой идеальный рекрутер?
Кто такой идеальный рекрутер?Кто такой идеальный рекрутер?
Кто такой идеальный рекрутер?iQSpace
 
Эффективная команда - принципы создания и работы!
Эффективная команда - принципы создания и работы!Эффективная команда - принципы создания и работы!
Эффективная команда - принципы создания и работы!iQSpace
 
Ruby and Ruby on Rails
Ruby and Ruby on Rails Ruby and Ruby on Rails
Ruby and Ruby on Rails iQSpace
 

More from iQSpace (20)

Дизайнеры vs Роботы
Дизайнеры vs РоботыДизайнеры vs Роботы
Дизайнеры vs Роботы
 
Мозг, страх, боль и дизайн
Мозг, страх, боль и дизайнМозг, страх, боль и дизайн
Мозг, страх, боль и дизайн
 
How to improve mobile UI/UX
How to improve mobile UI/UXHow to improve mobile UI/UX
How to improve mobile UI/UX
 
Лекция Руслана Назаренко "Вирусный продукт"
Лекция Руслана Назаренко "Вирусный продукт"Лекция Руслана Назаренко "Вирусный продукт"
Лекция Руслана Назаренко "Вирусный продукт"
 
Switch careers after 30
Switch careers after 30Switch careers after 30
Switch careers after 30
 
To be or not to be?
To be or not to be?To be or not to be?
To be or not to be?
 
Iт рекрутинг-без-факапов-одесса
Iт рекрутинг-без-факапов-одессаIт рекрутинг-без-факапов-одесса
Iт рекрутинг-без-факапов-одесса
 
Работа удаленно
Работа удаленно Работа удаленно
Работа удаленно
 
Как создать себе имя и репутацию
Как создать себе имя и репутацию Как создать себе имя и репутацию
Как создать себе имя и репутацию
 
Как с 1 годом опыта получить контракт с Toyota, Lexus и Suzuki?
Как с 1 годом опыта получить контракт с Toyota, Lexus и Suzuki?Как с 1 годом опыта получить контракт с Toyota, Lexus и Suzuki?
Как с 1 годом опыта получить контракт с Toyota, Lexus и Suzuki?
 
Есть ли жизнь после фриланса?
Есть ли жизнь после фриланса?Есть ли жизнь после фриланса?
Есть ли жизнь после фриланса?
 
Как управлять командами в IT?
Как управлять командами в IT?Как управлять командами в IT?
Как управлять командами в IT?
 
IT-рекрутинг. Как найти единорога?
IT-рекрутинг. Как найти единорога?IT-рекрутинг. Как найти единорога?
IT-рекрутинг. Как найти единорога?
 
Python Meetup
Python Meetup Python Meetup
Python Meetup
 
Чего можно добиться за год работы в UI/UX дизайне?
 Чего можно добиться за год работы в UI/UX дизайне? Чего можно добиться за год работы в UI/UX дизайне?
Чего можно добиться за год работы в UI/UX дизайне?
 
Hard'n'Soft. Скиллы универсального дизайн-солдата
Hard'n'Soft. Скиллы универсального дизайн-солдатаHard'n'Soft. Скиллы универсального дизайн-солдата
Hard'n'Soft. Скиллы универсального дизайн-солдата
 
Как управлять командами в IT?
Как управлять командами в IT?Как управлять командами в IT?
Как управлять командами в IT?
 
Кто такой идеальный рекрутер?
Кто такой идеальный рекрутер?Кто такой идеальный рекрутер?
Кто такой идеальный рекрутер?
 
Эффективная команда - принципы создания и работы!
Эффективная команда - принципы создания и работы!Эффективная команда - принципы создания и работы!
Эффективная команда - принципы создания и работы!
 
Ruby and Ruby on Rails
Ruby and Ruby on Rails Ruby and Ruby on Rails
Ruby and Ruby on Rails
 

Что должен знать Ruby-программист?