Java
ОБЪЯВЛЕНИЯ
Занятия по ВС в 15:00
Почему Java?
Java не сходит с топов языков программирования под десяток лет. На этом языке пишут веб разработку, Android разработку, банковские системы, промышленные программы. Одним из преимуществ Java является его масштабируемость, поэтому работая на этом языке, Вы чаще всего будет писать код для крупных и комплексных приложений. Java создавался как более дружелюбный для новичков язык, в сравнении с C/C++; тем, кто работал с этими языками будет намного проще адептироваться.
Чем мы будем заниматься?
В курсе мы изучим основы Java, после чего приступим к backend (Java EE) разработке. В течение курса будем стараться использовать и изучать стандартные библиотеки, не прибегая к помощи популярных фреймворков (для самостоятельного изучения Spring+Hibernate, ссылка в конце), параллельно затрагивая такие темы, как git, SQL, maven и др. К концу у нас должен получиться полноценный проект с регистрацией/авторизацией пользователей на локальном сервере (ссылка с инструкцией для публикации и хостинга в конце)
Для кого предназначен данный курс?
Данный курс предназначен для тех, кто хочет изучить Java. В этом курсе, в конце мы будем разбирать Enterprise или веб разработку, однако те, кто не заинтересован в этом(к примеру, Android разработчики), могут прислать свой собственный небольшой проект.
Как проводится курс?
Курс рассчитан на 10 пар в конференции Zoom (записи будут). После каждой пары публикуется конспект в Notion. В течение курса будут небольшие домашние задания и в конце сдаётся проект. Описание проекта и подробного плана обучения см. ниже.
Подробный план
Введение:
История и назначение Java
Области использования
Термины JVM, JDK, JRE
Устройство и работа JVM
Особенности (exceptions, annotations, etc.)
Collections (очень поверхностно)
Тесты (junit)
Настройка вспомогательных систем (Intellij IDEA, maven, git)
ООП:
Классы и Объекты
Суть ООП
Конструкторы
Парадигмы
Abstract, final classes; interfaces
Back-end:
http/https протокол
Spring Boot (пишем простое CRUD приложение)
ORM (hibernte)
html/css + JS (совсем базовый)
В конце рассмотрим детальный план для дальнейшего профессионального развития (на основе вакансий на hh.ru). Если останется время, остановимся на основе чего работают все фреймворки - Reflection API
Сдача проекта
В конце последует сдача проектов: в течение курса предлагается написать небольшое приложение, работающее по протоколу http/https и корреткно отвечающее на get и post запросы (см. тему с протоколами). Традиционно пишут сервис с регистрацией/авторизацией, где после успешного входа перенаправляют на домашнюю страницу. Однако реализация собственных идей только приветствуется.
Ссылки и ресурсы
Снизу привожу множество ресурсов, которые сам частенько использую. Для удобства разместил в двух форматах: строгий (текстовый) и с иллюстрациями (при нажатии на картинку, перекидывает на сам ресурс)
Ссылка и литература (текстово)
Дополнения к основам курса:
Несложная книга для изучения ООП (упражнения из книги устарели/не особо полезны, но суть ООП объясняется прекрасно): Head First Java
Java Vision. Структурированная информация в плейлистах: https://www.youtube.com/channel/UChs3Aql8iq3MD1UD303_bMg/playlists?view=1&sort=dd&shelf_id=2
Глубокий Java SE (тратить больше месяца на это не стоит): https://javarush.ru/
Сервисы для укрепления своих алгоритмических навыков: a) https://www.codewars.com/ б)https://www.hackerrank.com/
Упражнения, проверенные годами, для усвоения SQL команд: https://www.sql-ex.ru/
Люди:
Сергей Немчинский. Опытный программист с огромным стажем, отвечает на многие вопросы в своих коротких видео (также выпустил несколько плейлистов с лекциями, из них советую clean code). Очень полезно при изучении рынка: https://www.youtube.com/user/pro100fox2
Winderton. Качественный канал программиста, что начал свой путь с Java и постепенно становился Computer Science специалистом: https://www.youtube.com/watch?v=8kmXmGvc9SA&list=PLR4wcBxrUGPClY1DtRFx6xM3RXe208RL6&index=8
Егор Толстой: TeamLead в компании Jetbrains, свежий блог, подкасты, касающиеся многих тем: https://etolstoy.com/
После курса:
Как опубликовать свой проект: https://habr.com/ru/post/257223/
Для самостоятельного изучения фреймворков Spring + Hibernate, цикл лекций от КФУ и компании FIX: https://youtube.com/playlist?list=PLVJtKDGxOX1V8NpyHUAkrdezZDvgDhe4b
Для крепких ребят, что усвоили материал курса, отлично знают Java SE и хотят углубиться в Java: https://proglib.io/p/10-must-read-java-books/
Аналоги курсу
Ветераны в мире Java (и не только)
Важные доп ресурсы
Мои контакты
Mail: alim.filipov@gmail.com