Друзья! А зачем Вы изучаете программирование?
Учиться всегда трудно, а учиться онлайн еще труднее! Поэтому мне интересно: а какая у Вас супер-мотивация? Выберите свой вариант (варианты). Либо напишите свой ответ в комментариях!
Учиться всегда трудно, а учиться онлайн еще труднее! Поэтому мне интересно: а какая у Вас супер-мотивация? Выберите свой вариант (варианты). Либо напишите свой ответ в комментариях!
Anonymous Poll
69%
Получить новую высокооплачиваемую работу в IT
10%
Успешно закончить ВУЗ
35%
Получать удовольствие от решения задач, развить логику и потренировать мозг
13%
Улучшить свои скиллы программиста за счет изучения второго/третьего/пятого ЯП
16%
Воплотить свои идеи в жизнь, создать свой стартап
1%
Участвовать в олимпиадах по программированию
Куда расти Java-разработчику? 🚀
Изучать Java все мы начинаем с основ языка (Java Core). Именно об этом все мои курсы. Но студенты часто спрашивают: “А что дальше? Что еще нужно знать программисту на Java?”. Ответ на этот вопрос зависит от задач, в которых Вы собираетесь применять свои знания. Вот ключевые направления, где сегодня особенно нужны джависты:
🔹 Веб-разработка (Backend) — создание серверной логики и API с Spring Boot, Hibernate, PostgreSQL. Востребовано в финтехе, e-commerce, enterprise-системах.
🔹 Микросервисы и облака — разработка масштабируемых сервисов, работа с Kubernetes, Docker, облаками (AWS, Yandex Cloud).
🔹 Big Data & Data Engineering — обработка больших данных с Apache Spark, Kafka, Flink. Нужны в банках, телекомах и аналитике.
🔹 Разработка для Android — создание мобильных приложений на Kotlin/Java, Android SDK и Jetpack Compose.
И это еще не все. Делитесь в комментариях, какое направление Вам ближе! 👇 И тогда попробуем разобраться, что еще нужно знать после Java Core!
Изучать Java все мы начинаем с основ языка (Java Core). Именно об этом все мои курсы. Но студенты часто спрашивают: “А что дальше? Что еще нужно знать программисту на Java?”. Ответ на этот вопрос зависит от задач, в которых Вы собираетесь применять свои знания. Вот ключевые направления, где сегодня особенно нужны джависты:
🔹 Веб-разработка (Backend) — создание серверной логики и API с Spring Boot, Hibernate, PostgreSQL. Востребовано в финтехе, e-commerce, enterprise-системах.
🔹 Микросервисы и облака — разработка масштабируемых сервисов, работа с Kubernetes, Docker, облаками (AWS, Yandex Cloud).
🔹 Big Data & Data Engineering — обработка больших данных с Apache Spark, Kafka, Flink. Нужны в банках, телекомах и аналитике.
🔹 Разработка для Android — создание мобильных приложений на Kotlin/Java, Android SDK и Jetpack Compose.
И это еще не все. Делитесь в комментариях, какое направление Вам ближе! 👇 И тогда попробуем разобраться, что еще нужно знать после Java Core!
🔥16❤1🙏1
Что нужно знать для Web-разработки на Java, кроме Java Core? 😳
Судя по комментариям, многих интересует именно это направление.
Но сначала разберёмся с тем, что полезно знать каждому, независимо от направления:
👉 Работа с базами данных: SQL, системы управления БД (лучше PostgreSQL), JDBC – инструмент для подключения Java-программ к БД.
👉 JUnit – это инструмент автоматического тестирования программ на Java. Ускоряет отладку сложных программ.
👉 Git – система контроля версий, которая помогает отслеживать изменения в коде и делиться им с другими.
👉 Maven/Gradle – инструменты сборки, которые упрощают подключение библиотек и фреймворков.
👉 Английский язык – для чтения документации и литературы, общения с заказчиками и вообще для лучших перспектив в жизни 😊
Если говорить о серверной части Web-приложений, то необходимо знать:
👉 Основы работы с сетью:
✔️ HTTP/HTTPS – протоколы передачи данных;
✔️ REST – архитектурный стиль взаимодействия в сети;
✔️ WebSockets – технология двусторонней связи между клиентом и сервером;
✔️ JSON – текстовый формат обмена данными.
👉 Hibernate – это фреймворк на Java, который упрощает работу с реляционными базами данных с точки зрения ООП.
👉 Spring Framework и его составные части:
✔️ Spring Core (инъекция зависимостей, контейнеры)
✔️ Spring Boot (создание REST API, автоматическая настройка)
✔️ Spring MVC (разработка Web-приложений)
✔️ Spring Data JPA (упрощает работу с БД)
✔️ Spring Security (аутентификация, авторизация)
Очевидно, что всё это невозможно освоить сразу. Поэтому после изучения Java Core начните с простых шагов:
1. Разберитесь с базами данных и JDBC.
2. Начните изучать Spring Boot (лучше всего с простого REST API).
3. Сделайте пару pet–проектов и разместите их на GitHub.
Все остальное можно изучать уже после трудоустройства, ориентируясь на потребности компании.
Судя по комментариям, многих интересует именно это направление.
Но сначала разберёмся с тем, что полезно знать каждому, независимо от направления:
👉 Работа с базами данных: SQL, системы управления БД (лучше PostgreSQL), JDBC – инструмент для подключения Java-программ к БД.
👉 JUnit – это инструмент автоматического тестирования программ на Java. Ускоряет отладку сложных программ.
👉 Git – система контроля версий, которая помогает отслеживать изменения в коде и делиться им с другими.
👉 Maven/Gradle – инструменты сборки, которые упрощают подключение библиотек и фреймворков.
👉 Английский язык – для чтения документации и литературы, общения с заказчиками и вообще для лучших перспектив в жизни 😊
Если говорить о серверной части Web-приложений, то необходимо знать:
👉 Основы работы с сетью:
✔️ HTTP/HTTPS – протоколы передачи данных;
✔️ REST – архитектурный стиль взаимодействия в сети;
✔️ WebSockets – технология двусторонней связи между клиентом и сервером;
✔️ JSON – текстовый формат обмена данными.
👉 Hibernate – это фреймворк на Java, который упрощает работу с реляционными базами данных с точки зрения ООП.
👉 Spring Framework и его составные части:
✔️ Spring Core (инъекция зависимостей, контейнеры)
✔️ Spring Boot (создание REST API, автоматическая настройка)
✔️ Spring MVC (разработка Web-приложений)
✔️ Spring Data JPA (упрощает работу с БД)
✔️ Spring Security (аутентификация, авторизация)
Очевидно, что всё это невозможно освоить сразу. Поэтому после изучения Java Core начните с простых шагов:
1. Разберитесь с базами данных и JDBC.
2. Начните изучать Spring Boot (лучше всего с простого REST API).
3. Сделайте пару pet–проектов и разместите их на GitHub.
Все остальное можно изучать уже после трудоустройства, ориентируясь на потребности компании.
❤21👍7
Почему важно изучать Java Core?
Мы уже говорили о том, что изучать дальше (и я обязательно учту ваши советы насчет Spring!). А сегодня обсудим, с чего начать.
Какое бы направление вы ни выбрали, начинать следует с Java Core. Это фундамент, на котором строятся все технологии Java: Spring, Hibernate, Android-разработка и многое другое. Без понимания основ сложно двигаться дальше.
Курсы по Java я объединила в «Java Core: программа курсов», которая поможет вам последовательно освоить ключевые темы:
🔹 Основы языка Java
Переменные и типы данных, алгоритмические конструкции, массивы и строки — без этого невозможно начать изучать Java! Здесь мы знакомимся с синтаксисом, развиваем алгоритмическое мышление и не углубляемся пока в тонкости ООП. (500 ₽)
🔹 Объектно-ориентированное программирование на Java
Далее погружаемся в ключевые принципы ООП: инкапсуляцию, наследование, полиморфизм и абстракцию. Разбираемся, как писать структурированный и поддерживаемый код. Множество задач помогут вам сформировать объектный взгляд на программирование. (2200₽)
🔹 Прокачай Java
Вооружившись принципами ООП, переходим к стандартным библиотекам и фреймворкам Java. Учимся работать с коллекциями, потоками (потоки данных, Threads, Streams), регулярными выражениями, датами и временем, а также изучаем нововведения Java 8. Эти инструменты необходимы каждому разработчику. (2200 ₽)
✅ Итог:
Так, шаг за шагом, мы разберем все основные темы, которые часто встречаются на собеседованиях. Вся программа курсов стоит 4200 ₽ — это выгодно, ведь первый курс фактически бесплатный, а на остальные действует скидка.
📢 Бонус для подписчиков!
Дополнительная скидка 10% на этот и все другие курсы. Переходите по ссылке и учитесь с удовольствием! 🚀
Мы уже говорили о том, что изучать дальше (и я обязательно учту ваши советы насчет Spring!). А сегодня обсудим, с чего начать.
Какое бы направление вы ни выбрали, начинать следует с Java Core. Это фундамент, на котором строятся все технологии Java: Spring, Hibernate, Android-разработка и многое другое. Без понимания основ сложно двигаться дальше.
Курсы по Java я объединила в «Java Core: программа курсов», которая поможет вам последовательно освоить ключевые темы:
🔹 Основы языка Java
Переменные и типы данных, алгоритмические конструкции, массивы и строки — без этого невозможно начать изучать Java! Здесь мы знакомимся с синтаксисом, развиваем алгоритмическое мышление и не углубляемся пока в тонкости ООП. (500 ₽)
🔹 Объектно-ориентированное программирование на Java
Далее погружаемся в ключевые принципы ООП: инкапсуляцию, наследование, полиморфизм и абстракцию. Разбираемся, как писать структурированный и поддерживаемый код. Множество задач помогут вам сформировать объектный взгляд на программирование. (2200₽)
🔹 Прокачай Java
Вооружившись принципами ООП, переходим к стандартным библиотекам и фреймворкам Java. Учимся работать с коллекциями, потоками (потоки данных, Threads, Streams), регулярными выражениями, датами и временем, а также изучаем нововведения Java 8. Эти инструменты необходимы каждому разработчику. (2200 ₽)
✅ Итог:
Так, шаг за шагом, мы разберем все основные темы, которые часто встречаются на собеседованиях. Вся программа курсов стоит 4200 ₽ — это выгодно, ведь первый курс фактически бесплатный, а на остальные действует скидка.
📢 Бонус для подписчиков!
Дополнительная скидка 10% на этот и все другие курсы. Переходите по ссылке и учитесь с удовольствием! 🚀
Stepik: online education
Java Core: программа курсов
Программа из трех курсов. Изучаем Java с нуля: синтаксис языка, основы ООП, основные библиотеки вплоть до Java 8. Все, что нужно знать для прохождения собеседования по Java SE. Последовательно, просто, кратко. На интересных, не типовых задачах.
👍13🔥2🙏2
Спасибо всем, кто пишет отзывы на Степике! ❤️❤️❤️
Стесняюсь их публиковать, но по законам жанра должна это делать! Реальные впечатления учеников помогут решить, подходит ли Вам такой формат обучения.
Основы языка Java
Объектно-ориентированное программирование на Java
Прокачай Java
Стесняюсь их публиковать, но по законам жанра должна это делать! Реальные впечатления учеников помогут решить, подходит ли Вам такой формат обучения.
Основы языка Java
Это лучший курс из всех, которые я проходил на Stepik. Автор курса очень коротко и лаконично, а самое главное, что предметно и без всякой воды объясняет материал. Теории действительно полностью хватает для выполнения всех практических заданий без необходимости лезть в интернет. Самым ценным для меня в этом курсе - это обилие практических заданий на закрепление теории. Гораздо интереснее решать самому задачи, чем слушать рассуждения о том, как их можно сделать. Также не могу не отметить отзывчивость и скорость ответа автора на возникающие в процессе прохождения курса вопросы. Для меня это ценнейшая находка на платформе, 5 из 5.
Kirill
Объектно-ориентированное программирование на Java
Отличный курс, хорошо помог разобраться в ООП за счет большого количества практических задач
Сунцов Степан
Прокачай Java
The Best! Идеально соблюдается классический подход к организации учебного процесса: изложение -> повторение -> закрепление. Курсы по Java этого преподавателя лучшие. Четкие, короткие уроки, ни одного лишнего слова, много примеров кода, много заданий для закрепления теории. Конспекты повторяют видео, очень удобно, что не уловил, можно прочитать. Очень рекомендую. Оксана Ивановна, огромное Вам спасибо! Жду продолжения по Java.
SVETLANA MAZHAYKINA
Stepik: online education
Основы языка Java
Откройте дверь в мир возможностей Java! С этим курсом Вы создадите фундамент своих знаний: научитесь писать простые программы, разберетесь с типами данных, алгоритмическими конструкциями, массивами и строками, поймете принципы создания статических методов…
🔥19👍9❤4
Какая строка инициализации приведет к ошибке?
Anonymous Quiz
44%
1
6%
2
13%
3
25%
4
13%
Ошибки не будет
👍3
🎁 Подарок, который меняет будущее! 🚀
Не знаете, что подарить близкому человеку? Новый гаджет, парфюм или книгу – это здорово, но как насчёт действительно ценной вещи?
Подарите курс по программированию на Java! 💻🔥
✔️ Перспективная профессия
✔️ Высокие зарплаты
✔️ Возможность работать удалённо
✔️ Развитие логики и креативности
Это не просто подарок, а инвестиция в будущее! Кто знает, может, именно благодаря вам кто-то станет крутым разработчиком? 😎
Выбирайте осмысленные подарки! 🎯
Не знаете, что подарить близкому человеку? Новый гаджет, парфюм или книгу – это здорово, но как насчёт действительно ценной вещи?
Подарите курс по программированию на Java! 💻🔥
✔️ Перспективная профессия
✔️ Высокие зарплаты
✔️ Возможность работать удалённо
✔️ Развитие логики и креативности
Это не просто подарок, а инвестиция в будущее! Кто знает, может, именно благодаря вам кто-то станет крутым разработчиком? 😎
Выбирайте осмысленные подарки! 🎯
Stepik: online education
Java Core: программа курсов
Программа из трех курсов. Изучаем Java с нуля: синтаксис языка, основы ООП, основные библиотеки вплоть до Java 8. Все, что нужно знать для прохождения собеседования по Java SE. Последовательно, просто, кратко. На интересных, не типовых задачах.
🔥18
Что будет результатом фрагмента кода?
Anonymous Quiz
16%
Ошибка компиляции
19%
3
9%
null
6%
Программа завершится без вывода
50%
IndexOutOfBoundsException
👍2
Итак, весна все-таки пришла! Как неожиданно... 🌱
С первыми теплыми днями хочется что-то изменить: навести порядок, начать заниматься спортом или освоить что-то новое. Весна будто даёт дополнительную энергию, замечали? Так почему бы не направить её в полезное русло?
Если ты давно хотел(-а) попробовать себя в программировании, сейчас отличный момент. Начать можно с курсов “Основы программирования на C/C++. Полная версия” или “Основы языка Java”. Оба этих курса рассчитаны на полных новичков. Оба курса содержат множество задач с автоматической проверкой, которые позволят “прокачать скиллы”. И на оба - весенняя скидка 15%!
Главное — сделать первый шаг. Весна — это про новые старты. Возможно, именно сейчас ты заложишь основу для будущих перемен, а к лету выйдешь на новый уровень... Попробуешь? 😉
С первыми теплыми днями хочется что-то изменить: навести порядок, начать заниматься спортом или освоить что-то новое. Весна будто даёт дополнительную энергию, замечали? Так почему бы не направить её в полезное русло?
Если ты давно хотел(-а) попробовать себя в программировании, сейчас отличный момент. Начать можно с курсов “Основы программирования на C/C++. Полная версия” или “Основы языка Java”. Оба этих курса рассчитаны на полных новичков. Оба курса содержат множество задач с автоматической проверкой, которые позволят “прокачать скиллы”. И на оба - весенняя скидка 15%!
Главное — сделать первый шаг. Весна — это про новые старты. Возможно, именно сейчас ты заложишь основу для будущих перемен, а к лету выйдешь на новый уровень... Попробуешь? 😉
❤21🔥1
Какой порядок инициализации верный?
Anonymous Quiz
6%
Нестатические блоки -> статические блоки -> конструктор
32%
Статические блоки -> конструктор -> нестатические блоки
7%
Блоки и конструктор выполняются в порядке их расположения в классе
12%
Порядок инициализации зависит от JVM и может меняться
43%
Статические блоки при первом обращении к классу -> нестатические блоки -> конструктуктор
Что будет выведено на экран?
Anonymous Quiz
12%
Ошибка компиляции
66%
Child
8%
Parent
10%
Parent Child
4%
Runtime Exception
Вам знакомо чувство, когда ты безнадёжно тупишь?
Когда смотришь на задачу и хочется просто плюнуть и забыть про неё?
Я отлично помню это ощущение. В институте нам задали написать программу для работы с деком на языке PL-1.
Да, в те времена был такой язык. А вот интернета и Степика не было. Если преподаватель объяснял плохо, оставался только один вариант — искать книги и разбираться самой.
Это было трудно. Это было больно. Особенно тяжело – не понимать написанного. Но в этом процессе я научилась «докапываться до сути» и сделала важный вывод:
👉 Всё, что создано людьми (например, язык программирования), может понять любой человек. Главное — не считать себя тупым, а искать объяснения, подходящие именно для твоего уровня.
Позже оказалось, что это умение разбираться и объяснять сложные вещи (сначала самой себе, а потом и другим) оказалось полезным не только мне, но и многим людям.
💡 Если вам тоже хоть раз хотелось бросить программирование к ядрене-фене – ставьте лайк! Мы все через это проходили. 😅
Когда смотришь на задачу и хочется просто плюнуть и забыть про неё?
Я отлично помню это ощущение. В институте нам задали написать программу для работы с деком на языке PL-1.
Да, в те времена был такой язык. А вот интернета и Степика не было. Если преподаватель объяснял плохо, оставался только один вариант — искать книги и разбираться самой.
Это было трудно. Это было больно. Особенно тяжело – не понимать написанного. Но в этом процессе я научилась «докапываться до сути» и сделала важный вывод:
👉 Всё, что создано людьми (например, язык программирования), может понять любой человек. Главное — не считать себя тупым, а искать объяснения, подходящие именно для твоего уровня.
Позже оказалось, что это умение разбираться и объяснять сложные вещи (сначала самой себе, а потом и другим) оказалось полезным не только мне, но и многим людям.
💡 Если вам тоже хоть раз хотелось бросить программирование к ядрене-фене – ставьте лайк! Мы все через это проходили. 😅
❤41👍12🔥6😢2
Как отсортировать подарки по весу?
Anonymous Quiz
9%
gifts.sort(Comparator.reverseOrder());
20%
gifts.sort((g1,g2) -> g2.getWeight() - g1.getWeight());
34%
Collections.sort(gifts, Comparator.comparingDouble(Gift::getWeight));
37%
Collections.sort(gifts, (g1,g2) -> g1.getWeight().compareTo(g2.getWeight()));
В какой последовательности изучать возможности Java?
Это очень важный вопрос. Ведь правильная последовательность изложения материала даст Вам не просто шаблон решения той или иной задачи – она даст Вам понимание языка в целом!
Давайте проиллюстрируем это на примере о сортировке подарков из последнего теста.
Ученики курса “Объектно-ориентированное программирование на Java” решили бы эту задачу так:
Т.е. здесь второй параметр метода
Ученики курса “Прокачай Java” заменили бы переопределение метода более коротким лямбда-выражением:
А когда бы познакомились с новыми статическими методами, добавленными в интерфейс
И этот код уже гораздо короче. Но понятным до конца он становится только тогда, когда сам пройдешь эту эволюцию от создания безымянного класса до использования статических методов компаратора! А то, что понятно – запоминается надолго…
Именно поэтому рекомендую изучать Java Core в той последовательности, которую нам задает "Java Core: Программа курсов". К тому же это и значительно дешевле, особенно со скидкой 10% для подписчиков Телеграмм-канала.
Это очень важный вопрос. Ведь правильная последовательность изложения материала даст Вам не просто шаблон решения той или иной задачи – она даст Вам понимание языка в целом!
Давайте проиллюстрируем это на примере о сортировке подарков из последнего теста.
Ученики курса “Объектно-ориентированное программирование на Java” решили бы эту задачу так:
Collections.sort(gifts, new Comparator<Gift>() {
@Override
public int compare(Gift o1, Gift o2) {
if(o1.getWeight()>o2.getWeight()) return 1;
if(o1.getWeight() < o2.getWeight()) return -1;
return 0;
}
});
Т.е. здесь второй параметр метода
Collection.sort() – это безымянный класс, который реализует интерфейс Comparator. И метод compare() этого класса переопределяется прямо тут, в описании вызова метода sort(). Правильно, но громоздко, не так ли?Ученики курса “Прокачай Java” заменили бы переопределение метода более коротким лямбда-выражением:
Collections.sort(gifts, (o1, o2) -> {
if (o1.getWeight() > o2.getWeight()) return 1;
if (o1.getWeight() < o2.getWeight()) return -1;
return 0;
});
А когда бы познакомились с новыми статическими методами, добавленными в интерфейс
Comparator в Java 8, заменили бы это лямбда - выражение вызовом статического метода comparingDouble() с использованием ссылки на метод Gift::getWeight:Collections.sort(gifts, Comparator.comparingDouble(Gift::getWeight));
И этот код уже гораздо короче. Но понятным до конца он становится только тогда, когда сам пройдешь эту эволюцию от создания безымянного класса до использования статических методов компаратора! А то, что понятно – запоминается надолго…
Именно поэтому рекомендую изучать Java Core в той последовательности, которую нам задает "Java Core: Программа курсов". К тому же это и значительно дешевле, особенно со скидкой 10% для подписчиков Телеграмм-канала.
Stepik: online education
Объектно-ориентированное программирование на Java
Окунитесь в мир объектно-ориентированного программирования! Научитесь создавать и использовать классы, разберитесь с принципами ООП и их реализацией в Java, изучите паттерны проектирования приложений.
Если Вы новичок в ООП и к тому же изучаете Java – этот…
Если Вы новичок в ООП и к тому же изучаете Java – этот…
👍6🔥4⚡1🙏1
Какое утверждение о конструкторе является истинным?
Anonymous Quiz
6%
Конструктор может быть объявлен с возвращаемым типом void
29%
Конструктор может быть унаследован от родительского класса
28%
Если в классе не определен конструктор, компилятор создат приватный конструктор по умолчанию
24%
Конструктор можно перегрузить
13%
Конструктор может быть вызван напрямую по имени, как обычный метод
👍9❤1
Что нужно знать о конструкторах?
1) Конструкторы не наследуются! Это значит, что в наследнике нужно обязательно прописывать свой конструктор. Но при этом первое, что выполняется в конструкторе наследника – это вызов конструктора суперкласса. Т.е. всегда сначала отрабатывает конструктор суперкласса, а потом – конструктор подкласса.
2) Если в классе не определен конструктор, то по умолчанию создается конструктор без параметров. Но он публичный, а не приватный!
3) Если в классе мы объявим хоть один конструктор с параметром, этот конструктор по умолчанию становится недействительным. И мы должны его явно описать, если намерены использовать. Как в примере мы описали конструктор
4) Конструктор не может быть вызван напрямую, как обычный метод. Нужно использовать операцию new. Например,
1) Конструкторы не наследуются! Это значит, что в наследнике нужно обязательно прописывать свой конструктор. Но при этом первое, что выполняется в конструкторе наследника – это вызов конструктора суперкласса. Т.е. всегда сначала отрабатывает конструктор суперкласса, а потом – конструктор подкласса.
class Father {
private int number = 0;
public Father(int number) {
this.number = number;
}
public Father() {
}
}
class Child extends Father {
public Child(int number) {
super(number); //вызов конструктора Father и передача ему параметра
}
public Child() {
//здесь тоже неявно вызывается конструктора Father без параметров
}
}
2) Если в классе не определен конструктор, то по умолчанию создается конструктор без параметров. Но он публичный, а не приватный!
3) Если в классе мы объявим хоть один конструктор с параметром, этот конструктор по умолчанию становится недействительным. И мы должны его явно описать, если намерены использовать. Как в примере мы описали конструктор
public Father() {}
4) Конструктор не может быть вызван напрямую, как обычный метод. Нужно использовать операцию new. Например,
Child c = new Child(7);
👍6❤4