Как этот курс будет работать
В этом разделе вы будете изучать Ruby, язык, разработанный специально для для того, чтобы программист был счастлив. Это довольно большая часть обучения, но в конце его вы построите такие интересные проекты, как игры Крестики-Нолики (Tic Tac Toe); виселица; реальный, работающий веб-сервер и даже шахматы.
Вы узнаете как сделать спамбота для Twitter (который на самом деле спамит), как сохранять и открывать файлы, как тестировать свой код, разделять свой «спагетти-код» на несколько удобных классов, а также узнаете несколько простых базовых алгоритмов и структур данных, используемых для решения сложных задач. В принципе, вы почувствуете себя более «реальным» программистом и это чувство будет оправданным.
Некоторые считают что можно сразу «погрузиться» в Rails и начать «выстреливать» веб-сайты. Rails это фреймворк, написанный на языке Ruby и каждый кусок вашего Rails кода - это код на языке Ruby. Когда (не если, а когда) что-то в вашем проекте сломается, вам будет проще с этим разобраться если вы знаете Ruby. Когда вы решите «размять крылья» и сделать что-то, чего нет в упрощенных учебных примерах, что вы будете делать? То время, которое вы потратите на «гуглинг» сообщений об ошибках и тупо уставившись в документацию, лучше потратить на изучение Ruby. Несмотря на это, мы предлагаем вам срезать углы и пройти путем который не так углублен, но позволит вам пройти быстрее.
Как вы могли понять, это также тот раздел, в котором начинается реальная работа. Некоторые начальные материалы очень просты и опираются на простые упражнения, с целью закрепить знания. Мы начнем изучение, используя несколько модулей с Codeacademy, но для вас целью является более глубокое и более практическое понимание материала, чем в курсе Codeacademy. В дальнейшем и в более продвинутых темах мы будем меньше учить и больше применять свои знания на практике… просто так оно и должно быть. Давайте учиться!
Формат
Ruby - большой язык, так что он был разбит на маленькие порции, чтобы было проще его понять. Этот формат должен быть знаком вам так как, по существу, мы использовали его в Основах веб-разработки.
В каждом уроке:
- Мы кратко опишем тему и предоставим вам список моментов, на которые стоит обратить особое внимание.
- Вам будет предложено прочесть, посмотреть видео, пройти онлайн-курсы или обратиться к какому-либо другому контенту для изучения материала.
- В конце большинства уроков будут упражнения которые помогут вам укрепить материал.
- Каждые несколько уроков вам будет предложено создать большой проект. Это удобнее делать в паре с единомышленником.
- В конце мы будем включать дополнительные полезные ресурсы и другие потенциально полезные лакомые кусочки.
Два варианта пути вперед
Каждый приходит сюда с разными целями, так что вот два варианта развития событий, которые мы предлагаем:
1. Если вы просто хотите идти вперед и как можно быстрее приступить к созданию сайтов на Ruby on Rails (оставив изучение основ на потом), то вам лучше сначала завершить раздел Основы Ruby, который использует в основе курс на Codeacademy, а затем перейти к Rails. Конечно ваши знания не будут полными но у вас уже будет небольшая база и вы сможете вернуться к изучению Ruby позже если вы торопитесь.
2. Если вы ищете действительно твердую и устойчивую базу для знаний, просто следуйте нашему курсу. Покрытие курса даст вам способность решения задач, которой у вас не будет в противном случае. Проекты, особенно финальный, достойны занять почетное место в вашем резюме, которое можно будет показать работодателю при устройстве на работу. И в этом случае у вас не будет необходимости возвращаться к чему-то, что вы пропустили.
Наши основные «учебники»:
-
Codecademy.com содержит множество вступительных материалов для изучения языка Ruby. Вы уже прочли Chris Pine's Learn to Program в секции Основы веб-разработки, материал Codeacademy перекрывает этот материал и углубляет те знания.
-
Книга Питера Купера «Beginning Ruby» - серьезное вступление в Ruby которая охватывает довольно широкие аспекты языка которые вам нужны для понимания. Она уже немного устарела, но Ruby в целом не изменился с момента ее выхода. Материал этой книги выходит за рамки Codeacademy и других простых, бесплатных ресурсов и вы получите знания необходимые вам для дальнейшего углубленного изучения Ruby. Книга не бесплатная, она стоит порядка 30-40 долларов, но как говорит сам Питер:
Я, конечно, не могу участвовать в пиратском распространении своей книги, но, черт возьми, ссылок на бесплатное скачивание полно на сайтах «бесплатных» электронных книг и на Rapidshare. Также в Твиттере есть ссылки на торрент, например [ссылка удалена]. Я рад что вы пиратите мою книгу, но Я НЕ ЮРИСТ, и я не могу гарантировать такое же лояльное поведение от издательства Apress, так что вы делаете все на свой страх и риск. Так что не надо пиратить ее ;-). Единственное условие, конечно, если вам нравится книга и вы считаете что владеть печатной версией книги будет приятно, то купите ее, или купите ее в подарок кому-нибудь, кто хочет научиться программировать.
(Бесплатные) Резервные учебники:
Некоторые книги не сразу будут понятны, или их содержание не будут полностью покрывать ваши ожидание. К счастью, есть множество ресурсов которые помогут вам полнее понять материал:
- Лучшая бесплатная онлайн книга: Dan Nguyen's Bastard's Book of Ruby. В принципе, если вам не нравится наш выбор ресурсов для обучения, эта книга то, что вам надо.
- Другая бесплатная онлайн книга: Zed Shaw's Learn Code the Hard Way, это расширение очень популярного пособия Learn Python the Hard Way для языка Ruby. Недостатком данной книги является ее некоторая «порывистость», а также то, что еще не все части книги завершены.
- Еще одна хорошая книга доступна в старой редакции бесплатно: The "Pickaxe", или Programming Ruby 3rd Edition. Она также немного устарела.
Хорошо, довольно разговоров, давайте учиться программировать на Ruby!