1 2 3 4 5 6 7 8 9 10 11 12 13

пятница, 5 апреля 2013 г.

С чего начать изучать Ruby

Этот блог я создал для того, чтобы помочь таким же новичкам как и я в изучении Ruby on Rails.
Поставленная цель изучить ruby on rails с нуля за 4 месяца. Поэтому посты будут идти в обратном порядке :) Итак сегодня 05/12/12 + 4 месяца получаем 05/04/13 с этой даты начну делать записи в блог.
Конечным результатом изучения будет создание 4 движков сайтов на RoR:
  • движок для блоггинга аналог livestreet.ru
  • движок интернет магазина
  • движок доски объявлений
  • движок городского портала
(полные требования опишу позднее)

В каждом посте будет краткое описание того что надо сделать. Небольшой видеоурок. Перечень вопросов по теме и небольшое практическое задание.

Итак с чего начать?
Информации в интернете много (подкасты, книги, видеоуроки). Можно запутаться. С чего начать изучение, что бы не погрязнуть в этом море информации?
Шаг №1
Смотрим видеоуроки по Ruby для начинающих. Конкретно первый урок. Как создать программу Hello World.
Шаг №2
После просмотра этого урока становится очевидным, что для изучения ruby необходимо поставить linux. Проще всего ubuntu. Для этого качаем виртуальную машину VirtualBox. Качаем образ Ubuntu. Устанавливаем его под виртуальной машиной.


Шаг №3
Для редактирования кода в ubuntu. Используется редактор vim. Я установил gvim. Необходимо его предварительно настроить. Далее изучить как он работает. Также устанавливаем сам ruby




четверг, 28 марта 2013 г.

Учимся работать с редактором Vim (GVim)

VIM умеет только пищать и портить текст

В прошлом уроке С чего начать изучать Ruby я установил ubuntu и сам ruby  на виртуальную машину. Теперь разберемся как работать в редакторе GVim в котором и будет набираться текст программ на ruby. Стоит сказать что этот редактор имеет свои особенности и мне как windows пользователю начать работать с ним сразу не получилось. Даже есть такая шутка: VIM умеет только пищать и портить текст :) Благо в ubutu есть такая классная штука как vimtutor. Открываем окно терминала (Ctrl+Alt+T) и пишем в командной строке vimtutor. Запуститься учебник по работе с этим редактором. Просто читаем и выполняем все что там написано.


суббота, 15 декабря 2012 г.

Список книг для изучения ruby

Прежде чем начать выполнять видеоуроки по ruby я решил сделать для себя небольшую подборку литературы. Чтобы можно было одни и те же задания и примеры рассматривать параллельно как в видеоуроках, так и по книгам.
В поиске обнаружил хороший обзор книг по ruby.
Из этих книг для начала воспользуюсь:
1. Язык программирования Ruby, Флэнаган Д., Мацумото Ю.
2. The Well-Grounded Rubyist, David A. Black, 2009

Отдельно стоит упомянуть два онлайн справочника по функциям ruby:
Help and documentation for the Ruby programming language
Ruby 1.9.2 Searchable API

пятница, 14 декабря 2012 г.

Первые уроки по Ruby

Приступаем к изучению уроков по ruby
Урок 1 Программа Hello World
Урок 2 Строки и числа
Урок 3 Переменные
Урок 4 Операторы
Урок 5 Операторы продолжение
Из уроков узнаем:
  • исполняемые файлы сохраняем с расширением rb
  • команды вывода в ruby (puts)
  • понятие строки
  • понятие числа
  • правила наименования переменных строчные буквы плюс нижнее подчеркивание 
  • какие бывают операторы
  • результат операторов сравнения
  • использование скобок
  • логические операторы (оператор И &&, ИЛИ ||)

четверг, 13 декабря 2012 г.

Условные выражения и циклы в ruby


Продолжаем изучать видеоуроки. Следующие три урока про условные выражения и циклы
Условные выражения часть 1
Условные выражения часть 2
Цикл while

Конструкция Если
if условия
  выражения
end

Конструкция противоположная Если
unless условия
  выражения
end

среда, 12 декабря 2012 г.

Методы и классы в ruby

Смотрим следующую серию видеоуроков
Методы ч. 1
Методы это один из способов структурировать программу.
Метод описывается так (правила названия как у переменных). В метод можно передать переменные и задать их значения по умолчанию.
def simple (name,rem = "")
  puts "hello world " + name
end
Методы ч. 2
Операторы сравнения равенство = = , неравеноство !=
Методы ч. 3
Для возвращения значения из метода используется ключевое слово return
знач += знач2 тоже самое что и знач = знач + знач2
\n - символ переноса новой строки
return не обязателен метод возвращает последнее значение перед end.
Объекты и классы
Имя класса начинается с заглавной буквы.
Если имя класса состоит из двух слов, то набирается CamelCase ом.
Пример класса:
class ItemClass

end
Можно создавать различные объекты класса.
item1 = Item.new
Для вывода информации в терминал об объекте используется команда p вместо puts
p item1
Внутри класса определяем методы через def

Геттеры, сеттеры, акссесоры, символы и хэши

Продолжаем смотреть видеоуроки
Геттеры и сеттеры
В прошлом посте мы рассматривали создание методов внутри классов
Свойство внутри объекта задается в виде @price
Методы возвращающие значение из свойств объектов называются геттеры
Сеттеры устанавливают значение из свойств объектов пример
def price=(price_value)
  @price = price_value
end
Знак равно является частью имени метода
Чтобы установить значение свойства объекта необходимо описать сеттер, чтобы считать геттер
В каждом классе есть специальный метод initialize, вызывается при создании объекта (new). Хорошо использовать для задания значений по умолчанию внутри объектов.
attribute readers, writers and accessors
Ридер это упрощенная запись для создания геттера attr_reader :price, :weight создаст два геттера для свойств @price и @weight
attr_writer :price, :weight создает сеттер для аналогичных свойств.
Также есть метод attr_accessor он создает сразу и геттеры и сеттеры для свойств
attr_accessor :price, :weight
Символы, хеши, инициализация значений в ruby
irb - интерактивная консоль руби в которой можно выполнять простые команды. Т.е. необязательно создавать файл а потом запускать его из терминала командой ruby имяфайла.rb. Можно сразу в терминале запустить irb и там писать код который будет выполнятся
Все в ruby является объектом. Чтобы получить id можно написать "text".object_id
Символы в ruby задаются двоеточием перед именем :text.
Хеш (hash) это структура типа массива с перечнем ключ-значение, ключи обычно задаются в виде символов. Получить значение можно указав в квадратных скобках ключ хеша.
my_data = {:name => "James", :famaly_name = "Bond"}
puts my_data[:name]
Для вывода вместо puts можно использовать p. Эта команда выведет весь объект.
Хеш удобен для передачи начальных значений при инициализации класса.
class Item
def initialize(options)
  @price = options[:price]
  @weight = options[:weight]
end
end
Передача хеша для инициализации выглядит так
item1 = Item.new({:price => 30, :options => 50})
Символы удобны для использования в качестве ключей в хешах вместо строк потому, что на их хранения расходуется меньше памяти.
Все в ruby является объектом
Все в ruby является объектом, поэтому мы можем вызвать метод практически на всем что угодно. Например для строки "ruby" мы можем вызвать любые методы которые заданы для строк. Посмотреть список методов для работы со строками в ruby можно в документации (список источников я указывал в Список книг для изучения ruby). Например "hello".capitalize вернет "Hello". Из документации понятно Returns a copy of str with the first character converted to uppercase and the remainder to lowercase. что эта функция возвращает копию строки с первым символом в верхнем регистре.