Домой /  Интернет / Почему Ruby on Rails является одним из лучших среди первых языков программирования для дизайнеров. Введение в Ruby on Rails Что нужно для ruby on rails

Почему Ruby on Rails является одним из лучших среди первых языков программирования для дизайнеров. Введение в Ruby on Rails Что нужно для ruby on rails

Изучение нового языка программирования может занять много времени и может быть крайне скучным. Разработчики.Net точно сейчас рассвирепеют и воскликнут: «Зачем мне вообще это учить, ведь я профессиональный разработчик.Net, и моё ежедневное расписание вряд ли сможет втиснуть в себя процесс изучения нового языка!» Но это будет крайне опрометчивым заявлением, так как при изучении новых языков программирования, вы изучаете много нового и полезного, особенно если этот язык представляет собой обновленную версию уже существовавшего ранее другого языка. Ruby как раз относится к такому типу языков. Я согласен с тем, что процесс перехода от разработчика-новичка до профессиональна в рамках того или иного языка программирования – это наисложнейший процесс, но опыт стоит того. Сейчас я могу лишь ввести вас в курс дела, и я уверен, что вы точно не захотите останавливаться. Отнеситесь к этому проще!

Примечание: учтите, что данная статья несет в себе лишь поверхностное знакомство с Ruby (языком программирования) и Rails (приложением-платформой). Главная цель в том, чтобы ввести вас в курс работы с Ruby, и мотивировать вас сделать толчок, требуемый для того чтобы начать изучать новый язык программирования.

Что же такое Ruby?

Ruby, как уже было сказано, - это обновленная комбинация различных подходов в программировании. Ruby – это превосходная смесь простого в понимании подхода к рабочему процессу от Python, утонченность Smalltalk и облегченная стилизация, сопутствующая процессу разработки на Perl. Ruby – это высокий уровень объектно-ориентированного программирования (как и в случае с большинством других языков программирования в наше время), начало которому было положено еще в середине 90-х в Японии. Со временем Ruby распространился и на территорию США и Европы.

Ruby известен за счет системы динамического типа и автоматического распределения памяти. Под динамическим типом я подразумеваю то, что большинство типов, проверяемых в программе Ruby, выполняются во время запуска, а это значит, что вам можно не беспокоиться о типах целых чисел или строчных. Ruby сделает это за вас. Мы увидим это в небольшим примере позже.

Основная цель при запуске Ruby заключалась в том, чтобы облегчить людям взаимодействие с машинами и процесс понимания кода. Основатель Ruby, Юкихиро Матсумото (Yukihiro Matsumoto), настаивает на идее о том, что Ruby был разработан для повышения продуктивности программистов, а не для оптимизации приложения со стороны машины.

«Часто люди, особенно компьютерные инженеры, концентрируют свое внимание на машинах. Они думают, что тем самым можно ускорить работу машины, можно повысить ее эффективность, что можно улучшить всё-всё-всё, что касается машины». Они зацикливаются на машинах. Но на самом деле нам нужно фокусировать свое внимание на людях, заботиться о них, облегчая процесс работы с приложениями, посредством машин. Мы настоящие и живые, а машины всего лишь подчиняются нам.

Что же такое Rails?

Rails представляет собой невероятно продуктивное приложение-платформу, написанную на Ruby Дэвидом Ханссоном (David Heinemeier Hansson). Предполагается, что разработка веб-приложения на Rails происходит в 10 раз быстрее, чем на платформе, основанной на Java. Rails представляет собой платформу, основанную на Ruby (конечно же!), и распространяемую с открытым исходным кодом, которую можно использовать для быстрой и легкой интеграции базы данных.

Rails известен за исключительно первоклассные идеи, которые позволили использовать различные новые подходы к программированию и создавать динамическую структуру программирования. Код основного приложения и обновленная база данных всегда будут включать в себя все требуемые свойства Ruby для выполнения программы от начала до конца.

Обычная программа Ruby

Давайте посмотрим, насколько простыми и интересными будут вещи после этого:

Код:
personal = “I don’t love my girlfriend”
puts personal
На выходе:
I don’t love my girlfriend
Да-да! Никакой инициализации, никаких точек с запятыми и никаких методов.

Теперь давайте постараемся увидеть разницу между PHP и Ruby на примере случая, когда нам нужно перевернуть строку:

PHP:
strrev(“string”);
Ruby:
“string”.reverse
Вуаля! Мы практически не тратим времени и полноценно переворачиваем последовательность записей. Нужно учитывать разницу в усилиях, проделанных в обоих языках. Язык программирования, основанный на Ruby значительно облегчает процесс написания программы. Это напоминает написание на английском языке, нежели на языке программирования. Это будущее для всех языков.

Преимущества использования Ruby (и Rails)

Всем известно, что мир Ruby очень большой, и сегодня мы не охватили даже 1%, но данная запись позволит вам ощутить мощь данного языка программирования и простимулирует вас начать самостоятельно знакомиться с ним. Теперь давайте окунемся в мир преимуществ Ruby:

* Доступность . Как было сказано ранее, именно в этом заключается одно из главных преимуществ Ruby. В качестве языка программирования Ruby является очень уточенным, и очень напоминает английский язык. Именно сходство с обычным разговорным языком позволяет новичкам без труда освоиться в работе с Ruby.

* Лаконичность и мощь . Пример, приведенный выше, демонстрирует нам то, каким лаконичным является код Ruby. Он настолько краток, насколько это вообще возможно. К тому же, Ruby представляет собой язык, настолько же мощный, насколько ими могут быть и другие языки, так как он представляет собой язык объектно-ориентированного программирования на высоком уровне.

* Нет нужны изобретать велосипед . Rails (основанный на Ruby) – это один интерфейс программирования, с которым вам больше не придется «изобретать велосипед». Он генерирует код, который может быть использован многократно в различных случаях.

* Встроенное тестирование . Rails популярен за счет безопасности и возможности внесения исправлений. Платформа будет снабжать вас возможными вариантами написания кода, что значительно облегчит процесс разработки. Также, в Rails представлены некоторые простенькие тесты, которые могут быть расширены по желанию программистов.

* Среды Dev, Test и Prod . Rails позволяет начать ваш проект в трех различных средах, называемых Dev, Test и Prod. Все три среды ведут себя немного по-разному.

Подборка

Теперь давайте ознакомимся с некоторыми веб-сайтами (популярными), в разработке которых был применен инструмент Ruby. Вы увидите, насколько ловко дизайнеры управляются со своими проектами за счет Ruby.


02.


03.


04.


05.


06.

Многие мои друзья-разработчики лестно отзываются о Rails, но я не мог понять почему. Что такое Rails, и чем он отличается, собственно, от Ruby on Rails? Насколько он сложный в изучении? Это вообще язык программирования? Что мне нужно знать, перед тем как учить Ruby on Rails?

Эти и многие другие вопросы постоянно крутились в моей голове, но, как оказалось, я не один такой. Наши читатели тоже интересовалось этим вопросом, поэтому, чтобы узнать об этом больше, я решил задать одному из своих коллег несколько базовых вопросов o Ruby. Так и родилась эта статья.

Вы готовы? Поехали!

13 фактов о Ruby on Rails – Что вам нужно знать?

1. Что такое Rails?

Rails это фреймворк (каркас) веб-приложений, который создан для написания кода на языке Ruby. Звучит запутанно, правда?

Давайте попробуем еще раз. Существует язык программирования Ruby. Писать на нем одно удовольствие. Кстати, человек, который создал его, говорил, что его главной целью было создание языка, который бы делал жизнь программистов лучше. Разве это не прекрасно?

Позвольте привести пример.

Если я захочу вывести текст на экран на PHP, мне нужно написать

echo “Привет Мир”;

Видите точку с запятой? А этот «echo» — что он вообще значит?

С другой стороны, если мне нужно проделать то же самое на Ruby, мне нужно будет написать следующее:

puts “Hello World”

Никакой точки с запятой, и хотя «puts» может выглядеть немного «по-подростковому», мне эта команда кажется более логичной, чем «echo». Когда вы часами пишете код, такие мелкие детали играют БОЛЬШУЮ роль.

Единственной проблемой Ruby было то, что он не предназначен для создания веб-приложений. То есть, на нем у вас не получится, к примеру, создать сайт. Так было до появления Rails. Я не уверен, был ли Rails первым веб-фреймворком для Ruby, но он ОПРЕДЕЛЕННО стал самым популярным.

Задача Rails заключается в предоставлении платформы и возможностей, которые бы позволили создавать на Ruby приложения, в частности сайт. Пока что это звучит довольно размыто, поэтому попробую объяснить вот так. Если бы я написал

puts “Hello World”

то в HTML-документе, вы бы увидели весь текст целиком. Но я же хочу, чтобы вы видели ТОЛЬКО вот это:

Hello World

Проще говоря, Rails позволяет это сделать. Но это далеко не все.

2. Что такое Ruby on Rails?

Ruby on Rails – это ПОЛНОЕ официальное название фреймворка Rails. Но в разговоре разработчики обычно не говорят первую часть, и просто называют его Rails. Поэтому, если вы хотите быть «в теме» и казаться технически подкованным, вы определенно должны называть его Rails, но при этом ПОМНИТЬ о том, что означает эта первая часть – «Ruby on».

3. Я слышал, что Rails отлично подходит новичкам. Почему?

Существует несколько причин, по которым Rails отлично подходит новичкам. Первая из них заключается в том, что сам язык Ruby действительно хорош для новичков, и это первый плюс. Научиться писать код на Ruby гораздо проще, чем на других языках, поскольку язык довольно гибкий и либеральный, что сбережет ваши нервы и позволит вам больше времени уделить изучению основ программирования.

Почему Rails настолько приятен в работе для новичков? Просто он очень стабильный и делает за вас ОГРОМНЫЙ пласт работы.

Для меня работать на Rails сродни вождению на грузовой фуре. Он невероятно мощный, вы только поглядите – вы ведете грузовик!!! Однако, хорошо ли вы знаете, как работает автомобиль, который вы ведете?

То, что Rails отвечает за такое больше количество задач, делая их за вас, позволит вам сразу же довольствоваться большим количеством классных преимуществ. Впрочем, иногда это может играть и против вас, если иногда вы будете обгонять самого себя и до конца не выучите основ, которые вы просто обязаны знать.

По этой причине очень важно изучать Ruby on Rails с нуля. И самое главное – вы должны убедиться в том, что вам действительно удобно работать с Ruby. Иначе вы просто на полпути выйдете из этой фуры и скажете себе: «Погодите, неужели я ехал на этой штуковине?».

4. Чем отличается Rails- от Ruby-разработчика?

Формально отличие заключается в том, что чисто «Ruby-разработчик» будет создавать приложения на Ruby, но не на Rails. Хотя такого, как правило, не бывает. Создавать веб-приложения на Ruby, используя другие фреймворки типа Sinatra, конечно, возможно, но я готов поспорить, что в 99% случаев вас вряд ли будут нанимать как программиста, знающего только Ruby. Поэтому нужно в любом случае изучать и Rails.

5. Насколько хорошо я должен знать Ruby? Что мне следует выучить, перед тем как начать обучение?

На этот счет существуют различные мнения, но, придерживаясь примера с большим грузовиком, я считаю, что вы должны чувствовать себя уверенно при работе с Ruby, чтобы углубиться в изучение Rails. Так же как, скажем, лучше сначала научиться ездить на велосипеде, перед тем как пересесть на легковой автомобиль, а потом уже думать о том, чтобы ездить на грузовике.

И вот еще что. Много времени при работе на Rails будет уходить на написание кода на Ruby. По этой причине нужно очень хорошо знать этот язык, особенно его основы: типы данных, методы, объектную ориентацию, отладку и многое другое. И необязательно быть при этом сверхопытным Ruby-программистом – просто вы должны чувствовать себя при работе с ним уверенно, как рыба в воде.

6. Зачем мне изучать Rails? Что делает его особенным?

Он изысканный и просто потрясающий. Что еще вам нужно знать? Когда Rails только появился, он стал реальным открытием и достижением дизайнерского искусства. С наилучшим практиками, которые были учтены при его создании, Rails практически направляет вас на путь к написанию превосходного кода, даже если вы этого не хотите (или не знаете, как это сделать).

Если вы хотите создавать надежные веб-приложения, которые будут расти по мере необходимости, и при этом их будет легко поддерживать в будущем, Rails это отличный вариант. К тому же, он пользуется популярностью среди многих крутых компаний. Последней важной причиной такой высокой популярности Rails среди стартапов является то, что он прекрасно подходит для быстрого макетирования. Всего за несколько часов вы сможете придумать, создать и запустить нужное вам приложение на Rails. Других фреймворков, которые могли бы с этим справиться, на самом деле очень мало.

7. Что можно создавать с помощью Rails?

А что вы хотите создать? Rails подходит для любых веб-приложений. Для наглядности ознакомьтесь с вот этими отличными примерами сайтов, созданных на Rails: Hulu , Airbnb и Basecamp .

8. Могу ли я создавать мобильные приложения на Rails?

И да, и нет. На Rails не получится создавать мобильные приложения, но на Rails вы определенно сможете создать веб-приложение и использовать его в качестве back-end для мобильного приложения.

Также есть инструмент RubyMotion, который позволяет очень просто создавать нативные приложения для iOS и Android на Ruby (но не Rails). То есть, вы не будете КОНКРЕТНО использовать Rails для создания мобильного приложения для App Store, но Rails определенно может стать важной составляющей вашего мобильного проекта. Надеюсь, теперь картина стала более понятной.

9. Ruby on Rails — Какого рода работу я могу получить?

Rails – это один из самых востребованных навыков в настоящее время, поэтому выбор компаний, с которыми можно работать, довольно большой. Особенно Rails любят стартапы, например, такие как Zearn . Это начинающая неприбыльная образовательная ИТ-компания. Также можно выбрать более крупную компанию вроде Bloomberg и принимать участие в разработке сайтов и приложений, которыми пользуются миллионы пользователей. Фриланс тоже неплохой вариант для Rails-разработчиков. Будучи независимым, вы сможете сами выбирать, в каких проектах вы хотите поучаствовать: в небольших и короткосрочных или серьезных и долгосрочных.

10. Я попробовал другой язык программирования, но мне он не понравился. Стоит ли мне пробовать Rails?

Я снова хочу подчеркнуть – Rails это, собственно, не язык программирования, а фреймворк. Если вы задумывались над тем, есть ли вообще какой-то смысл для вас пытаться полюбить какой-либо язык программирования, я могу сказать лишь одно – Ruby это самый почитаемый и любимый среди пользователей язык программирования в мире. Поэтому я бы не стал списывать со счетов программирование до тех пор, пока вы не попробовали Ruby.

11. Может мне вместе Rails выучить JavaScript?

Вместо – нет. Дополнительно – НЕСОМНЕННО.

Rails-разработчику придется изучать JavaScript (). Это не требование для изучения Rails, но это тот навык, который вам будет необходим по мере обучения.

Скажу честно, постепенно погружаясь в сферу технологий, вы начнете понимать, что вам придется обладать достаточно большим количеством навыков (по сути, это значит, что всем нужно стремиться к тому, чтобы быть Full-Stack-разработчиком). К счастью, по мере приобретения опыта вам будет проще изучать как новые языки, так и новые фреймворки.

Что касается того, что выбрать – JavaScript или Rails, – прямо скажу, что вы в любом случае не ошибетесь. Мне кажется, что Ruby гораздо проще учить, чем JavaScript. К тому же я знаю многих, кому JavaScript давался проще, после того как они сначала изучили Ruby. Но, как я уже сказал выше, вы точно не прогадаете, если изучите и то, и другое.

12. Сколько времени займет обучение?

Сколько времени в день вам придется потратить на обучение? Мне кажется, для хорошего понимания Rails нужно несколько месяцев специального обучения. Но, как и с любым другим навыком, чтобы стать профи в Rails, вам понадобятся десятки тысяч часов, поэтому лучше всего не терять времени и начать прямо сейчас.

На скорость обучения большое влияние будет оказывать ваш уровень знаний в области программирования в целом. Но если вы полный новичок, стоит попробовать начать с Ruby и Rails.

13. Ruby on Rails — С чего начать?

Рекомендую начать с самого лучшего курса по Ruby on Rails на сeгодняший день. Если вы не писали ни строчки кода в своей жизни, первым делом вам стоит пройти курс «HTML и CSS» . К счастью, найти курсы по HTML и CSS довольно просто. После этого вам нужно будет изучить Ruby, Git и командную строку.

В рамках программы обучения вас, как правило, будут постепенно подводить к Rails, рассказывая о том, как работать с Sinatra и ActiveRecord. Это пока что вам ни о чем не говорит, но суть в том, что перед тем как везти ту «фуру», о которой я упоминал раньше, вам предстоит начать с простых курсов вождения на Rails.

Самое лучшее, что можно сделать при изучении, это создавать собственный проект, работать над чем-то и развиваться, понимать, что вы двигаетесь в правильном направлении, а также иметь хорошую поддержку! В процессе обучения у вас будут возникать миллионы мелких вопросов, и для достижения наилучшего результата важно, чтобы у вас был кто-то, кто мог бы помочь вам разобраться и что-то подсказать при возникновении сложностей.

Александр - основатель проекта сайт «Веб-лаборатория успеха», созданного в поддержку начинающим и продолжающим интернет-предпринимателям.Убежденный трудоголик, за плечами которого профессиональный опыт руководства редакцией интернет-журнала, создания и управления собственным интернет-магазином. Основной род занятий: продвижение бизнесов (в т.ч. интернет-магазинов) через Facebook и Google Adwords. Основное увлечение: монетизация сайтов через инструменты партнерского маркетинга и Google Adsense. Личные подтвержденные рекорды: 3 миллиона посетителей блога в месяц.

Сегодня в интернетах я нашел историю о том, как некто Джеймс Фенд учился Ruby on Rails в течение 12 недель. Ниже вы можете прочитать относительно точный перевод этой истории, и, надеюсь, вдохновиться на изучение этого прекрасного фреймворка (и прекрасного языка).

Прежде чем начать, я хотел бы представить Джоша Криуса (http://joshcrews.com) и поблагодарить его за то, что убедил меня начать изучать Ruby on Rails; без него, его помощи и без часов, которые он потратил на то, чтобы быть моим наставником, я не писал бы это сегодня. Спасибо.

23 января я запустил идею своей мечты, Freelancify.com . Ровно 12 недель назад я был техническим предпринимателем (tech entrepreneur), который тратил тысячи долларов, чтобы создать приличный MVP (минимально жизнеспособный продукт), потому что мне недоставало знаний. Одной из причин (как я тогда думал) было то, что обучение было для меня слишком сложным или заняло бы чрезмерно много времени. Я думал (как и многие другие), что программисты (и некоторые действительно) рождаются с набором волшебных навыков в решении проблем и математике, которые делают их гениями программирования. И именно 12 недель назад я принял лучшее решение за долгое, по-настоящему долгое время . Больше ни одна из моих идей не останется не более чем идеей. Теперь у меня есть возможность запускать рабочие версии, тратя деньги лишь на хостинг и прилагая некоторые усилия. На сегодняшний день этот набор навыков - это примерно как пригнать кучу тракторов во времена калифорнийской золотой лихорадки, пока все остальные используют простые лопаты. Я предлагаю каждому научиться писать код . Здесь я хотел бы добавить уточнение: ранее, назвал пост “Как я изучил Rails за 8 недель”, однако, если быть точным, то учитывая дату запуска, получается 12 недель. Однако за 8 недель я почувствовал, что знаю достаточно, а следующие четыре недели были потрачены в большей степени на то, чтобы заставить полученные знания работать, а не на обучение.

Какие навыки я имел прежде, чем начал изучать Rails?

Я был веб-дизайнером, обладающим познаниями в HTML и CSS, и, в основном, фокусировался на дизайне UI и UX. Самое сложное, что я делал с реальным кодом (не считая HTML) - это возможность настраивать Wordpress. Одним словом, я абсолютно не имел представления ни о том, что такое MVC-фреймворк, ни о том, как в целом работают базы данных. Дизайн, макет и HTML для Freelancify были созданы мной за две недели в июне 2011-го.

Почему я принял решение учиться?

Возвращаясь в июнь 2011-го, когда макет был готов, я начал поиски кодера, который сделал бы макет функционирующим. Макет был практически готов: у меня были текстовые поля, выпадающие меню, формы, кнопки, ссылки, ведущие куда необходимо, и так далее. Нашел разработчика, и, если в двух словах, то парень мне не подошел. Я остался с кучей долгов и даже не близким к завершению продуктом. Тогда я связался с Джошем Криусом (с ним я познакомился на встрече, посвященной Ruby on Rails, которую он организовал в Нэшвилле), и встретился с ним, чтобы понять, можно ли сделать хоть что-то из того, что у меня осталось от разработчика. К сожалению, починка и доработка кода заняла бы не меньше времени, чем разработка с нуля грамотным программистом. Я упал духом, понимая, что не смогу позволить себе снова тратить тысячи долларов на разработку с нуля. И тогда Джош сказал… “Почему бы тебе просто не научиться обращаться с Ruby on Rails, этот проект был бы прекрасным способом ” и затем “Я могу даже встречаться с тобой дважды в неделю и помогать тебе в обучении ”. Я потратил целую ночь на раздумья. Моими вариантами было: найти комфортную работу и оплатить счета ИЛИ рискнуть всем, чтобы научиться Rails и, в конце концов, лакомиться лучшим раменом, который только готовят в Италии. Я решил. Позвонил Джошу на следующее утро. Я поставил все. Я выделил деньги из оставшихся сбережений и разделил их на три месяца (для неженатого парня, живущего в одиночестве и без детей одной тысячи долларов на месяц вполне достаточно). Время приниматься за работу, теперь я ученик на полном рабочем дне. Держу в уме: поиск в Google, Stackoverflow, IRC #RubyOnRails и сообщество Rails будут прикрывать меня, когда я застряну, уверен, что их будет достаточно.

Мои следующие три месяца - Миссия : получить MVP, получить достаточно, чтобы работать, но не “отстойно-достаточно”, чтобы оставить ужасное первое впечатление.

Недели 1 - 3

Это была, пожалуй, сложнейшая кривая обучения, но я НЕ сдавался.

Стены созданы для людей, которые, на самом деле, не хотят их покидать.

Установка рабочего окружения Rails для полного новичка может оказаться невероятно раздражающей. Подсказка #1: заимейте Mac. Подсказка #2: используйте Homebrew, RVM, Git и Heroku (на самом деле это все, что вам нужно, чтобы начать). Я потратил пару дней на установку, затем все удалил и снова установил. Достаточно повторить несколько раз, и вы привыкните к использованию командной строки терминала (консоли) и поймете, почему вещи работают так, как они работают. Затем, первая вещь, которой я занялся, были уроки TryRuby , Rails for Zombies и Rails Tutorial Майкла Хартла. Не беспокойтесь о том, чтобы на 120% понять материал, этого не случится, пока вы не начнете по-настоящему учиться. Я закончил Rails Tutorial и создал это похожее на Twitter приложение примерно за неделю, не совсем понимая, что я сделал. Позднее, по мере продвижения, я стал понимать, что все начинает обретать смысл.

Недели 3 - 6

С Twitter-приложением, созданным при помощи Rails Tutorial, я обрел некоторую уверенность. Руководство не сделало меня разработчиком, но теперь я знаю общие шаги в создании приложений, с создания самого приложения, и до установки его на Heroku. Все, что было между тем временем оставалось размытым. Как мне теперь ПО-НАСТОЯЩЕМУ начать учиться? Работая над реальным проектом, который что-то для меня значит . Джош и я решили, что мне стоит свободно поработать над Freelancify и посмотреть, что я смогу сделать. Первым, что я сделал, был перенос всего HTML с каркаса и организация его в файлы видов(views) и парциалов(partials). Я создал(scaffolded) шаблонные платформы для Пользователей(Users) и Проектов(Projects). Затем я начал изучать мой первый реальный гем Devise. Затем, возможность иметь отношения, например каждый Пользователь будет иметь портфолио. Но пользователи могут иметь множество портфолио, в то время как каждое портфолио может принадлежать лишь одному Пользователю. Когда вы поймете, как работают отношения между моделями и как вызывать/отображать вещи, которые принадлежат чему-то еще, жизнь станет намного проще. Если в какой-то части вы застряли и не можете сдвинуться с места, пропустите её, велика вероятность того, что пока вы разрабатываете другую возможность, вы так же поймете, как реализовать и то, что вы пропустили.

Недели 6 - 9

Шажок за шажком, я продолжал учиться, копируя и повторяя. Я мог заставлять какие-то вещи работать, а затем - бац - и я втыкался в стену и абсолютно не представлял, что же делать дальше. Заходя на Stackoverflow , IRC-чат #RubyOnRails, RailsCasts или дергая Джоша , в конце концов, я понимал, как действовать. Делайте то же самое снова и снова, и вы научитесь всему довольно быстро. Тратить раздражающие часы, тестируя чей-то ответ со Stackoverflow, чтобы понять, что он не работает - это, на самом деле, полезно. Вы понимаете, чего не следует делать. И когда вы найдете ответ, вы начнете понимать, ПОЧЕМУ последнее не работало. Примерно в это время я начал осознавать, насколько велика картина вещей, и по-настоящему понимать, ПОЧЕМУ все работает именно так, как работает. Я чувствовал себя идиотом, возвращался назад и рефакторил код, который написал ранее, делая его более эффективным. И в какой-то момент я достиг стадии, когда все начало становиться на свои места.

Недели 9 - 12

Я был в режиме невероятной энергичности, дорабатывая Freelancify до стадии запуска. На этой стадии я чувствовал себя так, словно лечу, претворяя функции в жизнь. Последняя неделя была потрачена на отладку различных багов и ляпов. В этот понедельник я запустил сайт. Но я по-прежнему далек от завершения обучения… Вот так. Я опустил (во имя краткости поста) мелкие детали и технические моменты. Тем не менее, не стесняйтесь задавать вопросы в комментариях, я определенно постараюсь ответить. Джеймс Фенд.

P.S. - Несмотря на то, что мне сильно помогла помощь наставника, с которым я мог встречаться, вы определенно можете изучить Rails и без него. Или же попробуйте найти себе такого человека, многие Rails-разработчики любят вносить свой вклад в сообщество. Поищите локальные конференции и встречи.

Этой записи уже более двух лет (опубликована 27 января 2012-го года), но она, тем не менее, не утратила своей актуальности. Джеймс Фенд за это время успел продать Freelancify и вложиться в новый стартап, запись об этом он оставил 27 февраля 2013. Я считаю, что эта статья - прекрасный пример того, как человек может идти к поставленной цели. Достаточно лишь начать. :)

Создавайте реальные приложения, используя Ruby on Rails. Возможно вы попробовали Ruby on Rails, но обнаружили, что это слишком сложно и чувствуете, что вам нужно более полное введение. Возможно, ваш босс или клиент бросили вас в глубину с проектом Ruby on Rails, и вам нужно быстро узнать о Rails? Или, может быть, вы решили что хотите добавить веб-разработку и Ruby on Rails в свое резюме. Если это так, вы находитесь в нужном месте. Этот курс научит вас создавать веб-приложения с помощью Ruby on Rails.


Почему Ruby on Rails?

Ruby on Rails - это быстрый и эффективный способ разработки веб-приложений. Он упрощает обычные повторяющиеся задачи, которые занимают много времени для создания на других языках. Гораздо проще получить высококачественный продукт, завершенный на Ruby on Rails, чем на других языках.

Поскольку фреймворк зрелый, существует тонна проектов / кода с открытым исходным кодом, которые вы можете использовать, которые чрезвычайно эффективны и действительно дают вам преимущество в создании надежных веб-приложений.

Кроме того, он использует язык программирования Ruby. Программный код Ruby читается как английский, и это значительно облегчает понимание, если вы только начинаете программировать. Как динамически типизированный язык, Ruby не имеет всех тех жестких правил, которые делают другие языки, и во многом похож на разговорный язык. Это дает вам возможность гибко решать проблемы более человечным способом, чем другие языки программирования.

Что покрывается?

Некоторые из функций, охватываемых курсом, включают...

Git Basics, Rails core «7 методов» и как они выполняют «CRUD», Rails Routing, Strong Parameters, Custom Callbacks, Custom Validation, Partials,

Bootstrap 4, генераторы Rails, авторизация пользователя, аутентификация пользователей, управление контентом, развертывание, загрузка базы данных, отправка / получение электронной почты с использованием приложения Rails, настройка Sidekiq, настройка Redis на Heroku и частный сервер, установка шаблонов, пользовательские сообщения о проверке, добавление Активов в Rails Pipeline, загрузка изображений на ваш собственный сервер, загрузка в AWS, добавление WYSIWYG - то, что вы видите, это то, что вы получаете от редактора и многое другое!

Почему зачисление на этот курс - лучшее решение, которое вы можете сделать.

В этих курсах используются не сложные примеры для выполнения сложных задач. Цель состоит в том, чтобы заставить вас понять, что именно вы делаете, и причины, почему, а не вводить код, который вы не понимаете. Никакой код не затушевывается, так как вам важно понять, что делает каждая строка.

После завершения этого курса у вас будут необходимые навыки, чтобы создавать собственные веб-приложения с помощью Ruby on Rails.

Чем скорее вы подпишетесь на этот курс, тем скорее у вас появятся навыки и знания, необходимые для увеличения вашего опыта. Разработчики Ruby on Rails пользуются большим спросом! Почему бы не начать работу над Ruby on Rails уже сегодня?

Я уже давно хотел изучить Ruby on Rails на каком-то базовом уровне. Без конкретной цели. Скорее просто для себя, чтобы лучше понять, что же в нем такого особенного (в отличие от 100500 других технологий и фреймворков), что позволяет быстро создавать и масштабировать довольно нагруженные интернет-проекты. Вторичной причиной стало желание попробовать новые подходы к обучению. Когда я учился на программиста, у нас были только книги и форумы, где можно спросить совета. Сейчас есть интерактивные учебники и онлайн-школы программистов, огромное количество скринкастов (почти мечта: смотреть, как программируют гуру), базы знаний вроде stackoverflow.com и тонны исходных кодов на GitHub, где можно часами изучать исходники настоящих профи. Следующие несколько ночей (а днем банально некогда) я решил выделить на то, чтобы попробовать новые способы обучения в действии.

Ночь первая

Начинать учить Ruby on Rails без хотя бы минимального знания непосредственно Ruby было бы странным. Я уже когда-то брался за интерактивный гид ruby-lang.org . Но как прошел его, так и сразу все забыл. Его создатели обещают, что на прохождение и усвоение синтаксиса Ruby уйдет пятнадцать минут. У меня ушло тридцать. Правда, с постоянным отвлечением на Twitter. Процесс выглядит примерно так. Тебе говорят: «Массивы в Ruby объявляются так, а данные из массивов извлекают вот так. Теперь давай попробуй сделать массив и извлечь из него N элементов. А мы проверим». Читаешь, как все устроено, и сразу пробуешь. Ruby ты так, конечно, не выучишь. Лучше это воспринимать как супер-экспресс-курс, который работает. И все-таки сам Ruby - это очень далеко от фреймворка Ruby on Rails. Хотелось освоить именно рельсы. Из нашей статьи про образование онлайн я точно помнил о нашумевшем курсе Zombie for Rails railsforzombies.org . Это так же, как и Try Ruby, интерактивный учебник, который прямо с места в карьер начинает тебя учить готовить рельсовые приложения. Сначала тебе читают мини-лекцию (на английском, но все предельно понятно - включи субтитры) о структуре файлов рельсового приложения, CRUD-подходе для работы с данными, объясняют, как реализована модель MVC в рельсах, и так далее. После каждого видео тебе предлагают выполнить задания на закрепление материала. Все кажется простым и понятным, курс пролетает незаметно за час-другой (он небольшой). Но! Почувствовал ли я после курса, что смогу написать рельсовое приложение? Увы, нет!

Ночь вторая

Одна из причин, почему после Rails for Zombies появляются некоторые базовые знания, но не появляется уверенности, - это виртуальная среда, в которой проходит обучение. С одной стороны, она до предела уменьшает порог входа: можно не заботиться об окружении. С другой стороны, ничего реального по ходу дела ты не создаешь - никакого тебе «Hello World» на выходе. И главное, с какой стороны подступаться к его созданию, непонятно. С этого момента я хотел попробовать Ruby on Rails в деле, реально установив его в системе (до этого можно было даже не стараться), и с нуля создать простое приложение. Уже не помню как, но совершенно случайно я наткнулся на очень удачный курс скринкастов на русском языке rails.hasbrains.org . Спасибо автору за грамотное изложение: он методично объясняет принципы работы рельсового приложения в деталях, по ходу погружая тебя во все необходимые тонкости. Короче говоря, всю вторую ночь эксперимента я смотрел первую половину из более чем тридцати эпизодов этих скринкастов. В голове окончательно закрепилась картинка, как генерируется приложение, как работать с рельсовой консолью, как создать модели и миграции, как обновлять модели и как валидировать в них данные, RESTful- контроллеры и так далее. Смотря каждый из эпизодов, я сразу пробовал все в действии, выстраивая полностью рабочее рельсовое приложение. Стало понятно, как в принципе устроены рельсы.

Ночь третья

На третью ночь остались последние эпизоды скринкастов, которые удалось посмотреть в один присест: работа с рельсами уже не казалось такой дикой. В этот момент мне кто-то рассказал о том, что у курса Rails for Zombies есть толковое и гораздо более глубокое продолжение. Правда, курс уже платный и хостится в рамках школы программирования Code School www.codeschool.com . Отдать 25 баксов, чтобы получить доступ ко всем курсам школы, было не жалко. Это стоимость на месяц, поэтому, если не понравится, не забудь отменить подписку. Курс Rails for Zombies 2 действительно оказался очень удачным. Правда, многое стало повторением того, что я увидел в скринкастах, - но это было даже отчасти приятно. Пять уровней и пять блоков упражнений, которые делаешь прямо в интерактивной консоли. К этому моменту рельсы уже казались логичными, понятными и пригодными к использованию. В Code School можно программировать прямо в браузере, выполняя задания курса

Что дальше?

Научился ли я делать сложные проекты? Нет. Но точно осознал подходы, используемые в рельсах, и понял их удобство. Научился быстро создавать простые приложения и в суперкороткий срок наращивать его функционал с помощью гемов, написанных сообществом. Я поймал кураж и дальше с удовольствием учусь лучшим практикам по программам Code School (сейчас смотрю курс по юнит-тестам). И меня чертовски радует то, что изучать технологии стало так просто.