Часть из нас потратила свои понедельник и вторник на перезагрузку, т.е. дополнительные упражнения по основным рубиновым темам, пройденным за первую неделю:
- Поток и массивы
- Блоки итератора
- Хэш и символы
Я решил присоединиться к перезагрузке, чтобы убедиться, что у меня есть полное понимание этих тем, прежде чем идти дальше. Поскольку вы не написали бы эссе, не зная правил грамматики, я действительно считаю эти понятия основой программирования и крайне необходимыми перед переходом к ООП и фреймворкам. Это было хорошее решение!
Упражнение за упражнением я чувствовал, как растет моя уверенность, и даже удивился, что выполнил большинство необязательных упражнений. Это просто щелкнуло. Практика помогла постепенно выявить закономерности, вызвать соответствующие методы и познакомиться с терминалом. LeWagon использует грабли для проверки каждого упражнения, что приводит к впечатляющему количеству сообщений об ошибках и цветам. Погружение в сообщения об ошибках очень помогло сосредоточиться на соответствующей информации и эффективно отлаживать мои программы. Также время от времени я сходил с ума!
Красные линии по-прежнему появляются чаще, чем нет, но проекты также становятся более захватывающими.
Мы начали экспериментировать со скрейпингом, синтаксическим анализом и хранением, что действительно здорово и привносит новые проблемы в структуру данных и управление ими. С нетерпением жду возможности поиграть с этими инструментами.
Regex был в программе, но я не тратил на него много времени. Для новичков регулярное выражение означает регулярные выражения и представляет собой последовательность символов, определяющую шаблон поиска, в основном для использования при сопоставлении шаблонов со строками. Это выглядит примерно так:
^[+-]?(\d+(\.\d+)?|\.\d+)([eE][+-]?\d+)?$
Внешне он мне очень походил на древнеегипетский. Я читаю по-японски и не боюсь разных алфавитов, но регулярные выражения, вероятно, требуют много практики и самомотивации, чтобы правильно их получить.
ООП
Следующие два дня были посвящены Объектно-ориентированному программированию (ООП), сути Ruby. Специфика языка ruby заключается в том, что все является Объектом, то есть определенным представлением реальности. Каждый объект принадлежит классу. Каждый класс имеет свои особенности и передает их своим экземплярам (объектам). В большинстве случаев класс является просто подклассом другого класса. Дальше идет логика наследования и прочая заморозка мозгов.
Простой пример:
Бигль и далматинец являются подклассами более крупного класса собак. Если вы получите нового бигля по имени «Чарли», он станет объектом класса «Бигль». Легко, правда?!
Уроки ООП постепенно подтолкнули нас к нашему первому большому проекту в пятницу: созданию с нуля простой книги рецептов с использованием архитектуры MVC. MVC расшифровывается как Model-View-Controller. Это архитектурный шаблон программного обеспечения для реализации пользовательских интерфейсов на компьютерах. Он делит данное программное приложение на три взаимосвязанные части:
- Модель: хранит данные, которые извлекаются в соответствии с командами контроллера и отображаются в представлении.
- View : он запрашивает ввод данных пользователем и отображает информацию
- Контроллер: это мозг системы, действующий как платформа для передачи запросов и действий между представлением и моделью.
В настоящее время программисты обычно используют готовые среды MVC, такие как Ruby On Rails (ruby) или Django (python), но это упражнение было очень полезным для понимания взаимосвязи между каждым элементом. С завтрашнего дня мы продолжим работать с этой структурой, чтобы добавить такие функции, как парсинг. Захватывающе !
К сожалению, один из нас решил покинуть буткемп. Высокий ритм и крутая кривая обучения показали, что серьезная подготовительная работа перед приездом необходима, чтобы избежать неприятных сюрпризов. Смелое решение, но грустно видеть, что член покидает нашу маленькую команду.
На новую неделю прямо сейчас!