200+ часов видео-уроков по Enterprise Java
Добрый день.
Я несколько раз читал в аудитории курс Enterprise Java Development и параллельно писал его на видео. Курс состоит из 24 лекций по
Набор “Февраль 2014”
0. Дополнительные лекции: Обзор JavaEE, Обзор Java 8
1. Сетевые протоколы (IP, TCP, UDP, DNS, HTTP): #1, #2
2. Servlet API: #1, #2, #3, #4
3. Spring Framework: #1, #2
4. JDBC: #1, потерялась, #3, #4, #5, #6, #7
5. Object Oriented Principles (SOLID)
6. Gof Patterns
7. JSF: #1, #2, #3
8. WebSockets
9. Maven
10. Log4J
Набор “Август 2013”
0. Дополнительные лекции: java.util.concurrency, Java 8
1. Сетевые протоколы (IP, TCP, UDP, DNS, HTTP): #1, #2
2. Servlet API: #1, #2, #3(интеграция Spring Framework в Servlet container)
3. Разное (генерики, ооп, ...): #1
4. Maven: #1
5. Верстка: CSS #1
6. Servlet API (корзина покупок, login/logout): #4
7. Log4j: #1
8. JDBC: #1, #2
9. Spring Framework (+ разное): #1
10. JDBC: #3
11. Test Driven Development (JUnit, Hamcrest, Mockito): #1, #2
12. Реляционная модель + разное: #1
13. Spring MVC: #1
14. Иммитация собеседования по Servlet API: #5
15. Работа с БД из Spring Framework: #1
16. Hibernate/JPA: #1, #2
Набор “Февраль 2013”
1. Шаблоны проектирования GoF: #1, #22. JDBC: #1, #2, #3, #4, #5
3. Log4j: #1
4. HTTP: #, #2
5. Servlet API: #1, #2
6. DI/IoC: #1
7. TDD (JUnit, Mockito, Hamcrest): #1, #2, #3
8. Maven: #1, #2
9. Имитация интервью: #1
10. Servlet API: #3, #4
11. REST: #1
12. Spring Framework: #1
13. Spring MVC: #1
Замечания
Курс состоит из примерно следующего списка тем (однако от раза к разу они варьировались):
- View
- Протоколы: IP, TCP, UDP, HTTP, AJAX/COMET, WebSockets
- Архитектура простейшего многопоточного HTTP-сервера на Java
- Servlet API, JSP, Tomcat
- Spring MVC
- Основы верстки: CSS, HTML, JS, Bootstrap
- Model
- Шаблоны проектирования
- Di/IoC (Spring)
- TDD: JUnit, Mockito, Hamcrest
- Log4j
- Maven
- Data
- JDBC
- Hibernate/JPA
Целью курса было подготовить человека с твердым пониманием Java (генерики, ООП, Reflection API, аннотации, ...) к быстрому старту на позиции Enterprise Junior Java Developer.
Курс читался для “живой аудитории”, видео снималось как дополнительный сервис для тех, кто пропустил занятие.
Курс целиком составлен, подготовлен и прочитан мной, Головачем Иваном. Я ни с кем не советовался и ни на что не опирался. По сему, возможно, это не лучшая программа или список материала.
Слушатели разные. Как минимум есть “физики” (ориентируются на то, что можно сделать своими руками) и “математики” (ориентируются на понимание внутреннего устройства, стремятся скорее к стройности конструкции, чем к ее практической пользе). Я сам “математик” и курс писал под “математиков”. Первые две лекции курса были бесплатные + я возвращал деньги по требованию за остаток курса в случае отказа. Это вполне компенсировало специфику программы — если вам не подходит, вы просто прекращаете занятия.
Я бы акцентировал внимание на следующих моментах:
1. Мне более близок backend, а не frontend. Потому части JDBC, Servlet API, TDD (Mockito, Hamcrest, JUnit), Maven, Log4j рассказаны намного лучше, чем CSS, JSP, HTML (они рассказаны, как по мне, откровенно плохо).
2. Я ни разу не рассказал тему “Шаблоны проектирования” так, как мне бы хотелось. Меня на ней “несет”. Не то, что бы я “лил много воды”, но я стараюсь охватить слишком много всего.
3. Курс строился вокруг понимания системных принципов, а не прагматичной пользы. Потому я часто фокусируюсь на внутреннем устройстве, а не той пользы, которую можно выжать из API/framework.
4. Курс шел с предоставлением исходного кода, но в этой публикации я его не предоставляю, так как слишком сложно собрать его теперь в одном месте (разбросан по разным местам за полтора года).
5. Я старался построить курс “снизу-вверх”. На примере View-раздела: мы рассматривали основы протокола IP, что бы разобраться в IP-адресации и понятии пакета, далее смотрели TCP, что бы понять как последовательность пакетов в сети “склеивается” в InputStream/OutputStream (java.net.Socket/ServerSocket), далее смотрели на протокол HTTP, как он “ложится поверх” TCP. Смотрели на Servlet API, разбирая его как API к HTTP протоколу и смотрели на Spring MVC как на высокоуровневую надстройку над Servlet API. Иногда успевали поговорить про AJAX/COMET/WebSockets рассматривая не только ЧТО это дает разработчику, но и КАК это ложится поверх HTTP-протокола.
На мой стиль ведения лекций накладывает отпечаток не только моя личность, но и необходимость непрерывно рассказывать что-то 3 часа в реальной аудитории. Тут необходимо, что бы тебя “понесло”. Обратной стороной могут быть неуместные шутки, странные импровизации или “налитая вода”. Если бы курс делался исключительно под запись (кусочками по
На вопросы отвечу в комментариях, однако стоит сказать, что в “реале” я сейчас не преподаю и перешел на вебинары (ближайший — Курс по многопоточности, старт
Найкращі коментарі пропустити