- Java для новичков: подборка материалов для самостоятельного изучения и сообществ для погружения
- Разбираемся с базой
- Нетворкинг и полезные сообщества
- Погружаемся в Java-разработку
- Большая подборка полезных практических и обучающих материалов по Java
- Для начинающих
- Для продвинутых
- Для всех
- Практика
- Полезные библиотеки
- Java 9
- Статьи
- Блоги
- Книги и курсы
- Язык java для начинающих учить
- Мне всё еще непонятно, с чего начинать путь в IT. Что посоветуете?
Java для новичков: подборка материалов для самостоятельного изучения и сообществ для погружения
Привет, Хабр! Меня зовут Егор Ерохин, я — наставник на курсе «Java-разработчик» Яндекс Практикума и Java-тимлид. В этой статье я собрал как русскоязычные, так и англоязычные ресурсы, которые помогут начинающим Java-разработчикам на их пути. А ещё комьюнити, которые будут полезны для расширения кругозора и нетворкинга.
Конечно, не могу не порекомендовать курс от Практикума — он сложный, интересный, с большим количеством практики написания кода. По-моему, наш курс дает отличную базу и на выходе получаются уверенные специалисты уровня джун или джун+.
Считаю, что на английском языке часто можно найти более качественные материалы, потому что на этом рынке выше конкуренция за потребителя, поэтому таких материалов в этой подборке будет больше. Не пугайтесь, автоматические переводчики и субтитры помогут вам справиться с языковым барьером и быстрее влиться в поток англоязычной информации. Но будут в этой подборке и русскоязычные материалы, которые помогут разобраться как с азами, так и с более сложными темами.
Разбираемся с базой
Если вы не знаете, чем бит отличается от байта, не нужно бросаться на материалы по Java и писать код. Начните с основ информатики.
- Курс лекций по информатике от профессора МИРЭА Романа Шамина. Профессор расскажет, что такое программирование, и объяснит основные понятия, которыми вам предстоит оперировать.
- Материалы по информатике от «Фоксфорда». В плейлисте больше 200 видео вразнобой, можно фильтровать их по темам — выбрать нужные технологии.
- Основы информатики от “Crash Course: Computer Science”. Это англоязычный ускоренный курс информатики, но в нём доступны русские субтитры.
Нетворкинг и полезные сообщества
Если для вас важна поддержка товарищей по пути изучения Java, начните участвовать в различных онлайн-комьюнити. А лучше и офлайн — поищите митапы и конференции по Java в своем городе. Я советую новичкам вступать в сообщества, чтобы смотреть там полезные материалы и общаться с единомышленниками.
- Java_Developer — семитысячное русскоязычное сообщество Java-разработчиков в Телеграм.
- Javaproglib — библиотека джависта. Java, Spring, Maven, Hibernate. Это телеграм-канал с видео, статьями и мемами по Java и не только — полезные материалы по всему, что может быть полезно разработчику на Java.
- Javastart — телеграм-чат для новичков в Java-разработке и не только. Полезные материалы и общение могут здесь найти и более опытные пользователи.
- Learnjava — англоязычный сабреддит, содержит ответы на множество вопросов новичков о Java-разработке.
- Learnprogramming — более общий сабреддит для обучающихся программированию с вопросами, советами, историями успеха. Присутствует специфика найма англоязычного мира, но большинство топиков актуальны и для русскоязычных программистов.
Погружаемся в Java-разработку
- Dev.Java — платформа обучения Java от Oracle на английском языке. Это уже более профессиональный ресурс, который рассчитан на людей, понимающих основные принципы программирования и имевших с ним опыт в других языках.
- Раздел Oracle-документациипо Java с туториалами. На этом сайте подробно расписаны нюансы использования средств языка.
- Бесплатный курс от Udemy на английском языке, очень подробный, с примерами кода практически по каждой теме. В конце есть проверочный тест.
- Бесплатный открытый онлайн-курс Хельсинкского университета (МООК) по объектно-ориентированному программированию на Java на английском языке. Курс затрагивает основы компьютерного программирования, а также алгоритмы и основы ООП, содержит много упражнений и подходит для обучения с нуля.
- Youtube-канал Нельсона Джало, Java-разработчика и создателя образовательной платформы с набором курсов. На канале разбор Java-топиков, современных вопросов разработки и актуальных технологий. У видеороликов есть русские субтитры в машинном переводе.
- CodingWithJohn — Youtube-канал ведёт Джон, разработчик с 10-летним стажем. Он периодически выпускает видеотуториалы по Core Java и примеры кодинга несложных приложений. У видео есть русские субтитры в машинном переводе.
А вместо итогов порекомендую несколько книг — общеразработческую нетленку от Роберта Мартина «Чистый код», «Чистая архитектура», «Идеальный программист». Хотя эти материалы критикуют в последнее время, они расширят ваш кругозор и познакомят с некоторыми неочевидными проблемами разработчиков.
Большая подборка полезных практических и обучающих материалов по Java
Java — язык программирования, который очень строго соответствует принципам объектно-ориентированного программирования. В этой статье вы найдете несколько полезных материалов, с которых стоит начать знакомство с языком.
Для начинающих
- Отличная статья, в которой описано, как стоит подходить к изучению Java. После прочтения стоит заглянуть и в другие разделы сайта Skipy.ru, это уже будет полезно не только начинающим.
- Study-Java — сайт, полностью состоящий из туториалов по Java, которые подскажут вам, в каком направлении стоит идти и какие навыки нужно вырабатывать в первую очередь.
- Курс по основам языка Java.
- Обширное руководство по многим темам с примерами кода.
- Базовый курс по Java на ресурсе Stepik.
- Более 350 вопросов с ответами для подготовки к интервью на позицию Junior Java Developer.
- Наша подборка материалов для изучения языка Java.
- Подборка полезных советов от Наньянского технологического университета — там есть аналогичные материалы и по другим темам.
Форумы, на которых вы можете задать возникшие вопросы:
- JavaTalks;
- VPF:Java;
- Раздел Java на SQL.ru;
- Раздел Java на CyberForum
- Группа ru-java в ЖЖ;
- И, конечно же, обсуждение в нашей группе. Не забывайте про него.
Для продвинутых
- Раздел Java на developer.com собрал в себе руководства как по целым пластам языка, вроде Enterprise Edition, так и разъяснения отдельных нюансов, вроде новомодных лямбда-выражений. Вот, например, статья, прочитав которую, вы разберётесь с тем, что такое аннотации, зачем они нужны и как правильно их использовать.
- На сайте Tutorials Point есть раздел с исчерпывающим количеством туториалов по Java. Также там есть отдельный раздел для Java 8.
- Java2S — коллекция примеров на все случаи жизни. Примечательно, что здесь есть не только чистая Java, но и работа с разными библиотеками, например JUnit. Хорошо описаны и нововведения Java 8 — Date-Time API, лямбды, потоки (streams).
- Oskar Veerhoek — канал на YouTube, посвящённый OpenGL. Если вы собираетесь связать свою жизнь с программированием, маловероятно, что вам никогда не придётся работать с графикой. В течение курса из 41 видео автор расскажет вам, как работать с OpenGL в Java. Курс начинается с самых основ и написания 2D Minecraft’а, а заканчивается шейдерами, освещением и созданием 3D комнаты.
Для всех
- Java-Tips — сборник готовых рецептов, шпаргалок, туториалов и полезных библиотек… Сайт будет незаменим для любого Java-программиста, особенно если вы только начинаете изучать язык. Отдельное спасибо стоит сказать тому, кто сортировал это всё — вам не составит труда найти здесь то, что вам нужно. Присутствуют материалы как по Java SE, так и по Enterprise и Micro версиям.
- Регулярно обновляемый список вопросов и ответов.
- Примеры решённых практических задач.
- Структурированный справочник по языку.
- Подробное руководство с примерами по каждой теме.
- Обучающий материал от w3resource.
- Учебное пособие от Oracle, создателей языка.
- Помните, что официальная документация — это источник самой достоверной и качественной информации.
- Напоминаем, что на нашем сайте тоже есть порядочное количество статей по этому языку.
Практика
- Бесплатные задачи, отсортированные по категориям на Codingbat;
- Cписок задач от автора блога eax.me;
- Олимпиадные задачи с ACMP;
- Олимпиадные задачи с Codeforces;
- Задачи с ответами на Codewars.
Полезные библиотеки
- JUnit
Любой код должен сопровождаться тестированием. Многие очень напрасно об этом забывают. Эта библиотека предназначена для автоматизации модульного тестирования. Еще несколько инструментов для тестирования в Java, вы найдете в нашей подборке. - HttpClient
Библиотека для работы с HTTP ресурсами. - CommonsLang
То, что «забыли» включить в JDK. - CommonsMath
Отличное дополнение к java.math . - CommonsLogging
Если вы используете для логирования System.out.println() , товам стоит отрубить себе руклучше воспользуйтесь этой библиотекой, так будет правильнее. - CommonsNet
Логическое продолжение java.net , множество классов для работы с сетевыми протоколами. - CommonsVFS
Библиотека, которая поможет вам абстрагироваться от способа хранения файлов — вы сможете достаточно обобщённо иметь к ним доступ по FTP, SFTP, WEBDAV, (G)ZIP и т.д. - CommonsIO
С ней работать с вводом-выводом станет значительно проще.
Java 9
О том, какие изменения появились в Java 9, читайте в нашем обзоре с примерами.
Статьи
- Подробный гайд по Java 9;
- Знакомство с Project Jigsaw;
- Java 9 Stream API: введение и материал по коллекторам;
- Java 9 Process API;
- Улучшения в Java Time (JSR-310);
- Конкурентность;
- Новое в Optional;
- Разбираемся с Stack-Walking API;
- Коллекции;
- «Applying @Deprecated Enhancements»;
- Variable Handles;
- Рефлексия vs Инкапсуляция;
- Создание multi-release JAR-файлов при помощи Maven: о формате JAR, и о формате JAR с использованием Maven;
- Ограничения памяти и Docker;
- Введение в JShell.
Больше статей можно найти на этом сайте.
Блоги
- Oracle (нет тега Java 9);
- SitePoint;
- Voxxed (выделим отличный цикл);
- Baeldung;
- Iteratr Learning (нет тега Java 9);
- CodeFX;
- Joda.
Книги и курсы
- Курс «Java 9 Modularity: First Look»;
- Книга «Java 9 Modularity»;
- Книга «Mastering Java 9»;
- Книга «Modular Programming in Java 9»;
- Книга «Java 9 with JShell»;
- Книга «Java 9 Module System».
В комментариях пишите, какие ресурсы были полезны для вас при изучении Java, самое интересное добавим в статью.
Язык java для начинающих учить
Здесь мы описали шаблон будущего объекта – класс. У него есть две переменные состояния – speed и maxSpeed, а также две функции, которые описывают поведение объекта.
Теперь приложение нужно запустить, для этого Java надо подсказать, где находится точка входа в него. Для этого существует особое соглашение – нужно добавить в описание любого объекта метод:
Наше приложение запустилось, но ничего не произошло, потому что мы не добавили никакой логики в метод. Добавим простой вывод на консоль текста:
Создатели предложили называть эти папки как доменные имена в интернете, чтобы точно разграничить их, но это не обязательно, вы можете называть их как захотите.
Это так же позволяет легко импортировать чужие классы в свой код:
Мне всё еще непонятно, с чего начинать путь в IT. Что посоветуете?
Стоит подумать, как построить свой путь в индустрию, чтобы получить качественные знания и устроиться на работу.
Онлайн-университет Skypro помогает новичкам в IT комфортно сменить сферу деятельности. Курс «Java-разработчик» построен так, чтобы дать полноценный взгляд на IT и базовые знания для работы младшим специалистом. Вы научитесь:
- писать код на языках Java и SQL;
- управлять схемами баз данных;
- собирать проекты на Maven и Spring;
- работать с кешем и потоками.
На протяжении всего обучения студентов поддерживают наставники и обучают топовые специалисты рынка. Если вы не устроитесь на работу в течение четырех месяцев после окончания обучения, Skypro вернет деньги — это прописано в договоре.