понедельник, 24 сентября 2012 г.

Программа курсов

Пришло время рассказать Вам о чем будут курсы. Они будут построены по аналогии с предыдущими, прошедшими весной 2012г, там было вот что:

     0. Занятие на самостоятельную проработку дома до начала курсов. Нужно установить Java  и изучить базовый синтаксис. Подробнее можно почитать здесь
  1. Введение. На первом занятии мы рассказывали об общей структуре курсов и занятий. Научились работать с системой контроля версий, сделали первые комиты кода и разрешили конфликты. Поучили базовые навыки работы со средой разработки (IDE), в т.ч. попробовали на практике базовые рефакторинги. 
  2. Пишем для Web с Play framework. Потрогали его руками и сделали первое Web-приложение на основе данного фреймворка.
  3.  Долгоживущие данные. Вспомнили DDL и DML, разобрали как можно отображать данные с помощью современных ORM (JPA, Hibernate), подключили транзакции, организовали кеширование данных
  4. Без права на ошибку. Занятие посвящено контролю качеству. В т.ч. рассмотрели виды тестирования, непрерывную интеграцию. Разобрались как писать автоматические тесты для веб-приложений.
  5. Модульное тестирование. Почему важно писать модульные тесты и почему это нужно делать до написания кода. Выяснили, для чего нужны мок-объекты и как их использовать. Выучили мантру TDD и уяснили, какие есть антипаттерны.
  6. Чистый код. Рефакторинг. Что это? Признаки дурного "запаха" кода и как от него избавиться с помощью рефакторинга. Приемы рефакторинга и инструментарий.
  7. Agile`n`Scrum. Рассмотрели как в целом может быть организован производственный процесс на основе гибких методологий. Взяли колоду карт и сыграли в планирование. Интегрированный инструментарий для управления проектами на примере assembla.com.
  8. Встречают по одёжке. Как правильно организовать слой представления в веб-приложении: HTML, CSS, JS. Инструментарий для отладки, клиентской части. Обзор CSS и JS библиотек, с помощью которых можно быстро привести в порядок веб-слой и сделать его вид более привлекательным для пользователя.
  9. Исключительные ситуации. Со студенческой скамьи все знают что такое исключения, как они порождаются и как они обрабатываются. Нужно знать много нюансов, чтобы делать это правильно. Об этом и пойдет речь на этом занятии.
  10. Многопоточность. Эта тем приобретает особенную популярность с развитием многоядерных архитектур, поэтому важно понимать, как рационально управлять предоставляемыми процессорными ресурсами, а для этого нужно знать чуть больше, высокоуровневое API для работы с процессами и потоками. Много наглядных примеров, которые мы выполнили все вместе продемонстрировали различные аспекты построения многопоточных приложений.
  11. Шаблоны проектирования. Зависмости. Наиболее распространенные шаблоны проектирования, которые вы уже возможно использовали на предыдущих занятиях, но не подозревали об этом. Управление зависимостями внешних библиотек, репозитории артефактов, автоматизация.
  12.  Всегда есть Другой подход. Кроме процедурного и объектного, есть и другие подходы в программировании - об этом и шла речь. Как с помощью этих подходов можно элегантно решать типовые и не очень задачи.
Подробности о курсах и как на них попасть можно прочесть здесь

Комментариев нет:

Отправить комментарий