Чему нужно научиться, чтобы стать Мастером Йодой на Java

Итак, вы решили стать Java-джедаем… Впереди у вас долгий путь.

Дорога начинается с ежедневного написания кода, практики и небольшого изучения теории. Первый большой шаг — попрактиковаться в Java Core. Этот шаг является ключевым и состоит из нескольких уровней (см. ниже). Второй шаг — изучение различных технологий, которые должен знать каждый современный разработчик программного обеспечения. Последний шаг зависит от того, что конкретно хочет сделать Java Padavan. «Приучите себя отпускать все, что вы боитесь потерять», — сказал Йода.

Шаг первый: Java Core+

Нулевой уровень: синтаксис Java
Это похоже на изучение «азбуки» для Java. Когда вы были ребенком, учась писать, вы понимаете буквы и слова и то, как их использовать вместе. Та же история с языком программирования. Не беспокойтесь об этом уровне. Вы усваиваете синтаксис Java шаг за шагом во время практики.
Темы:

1 Что такое объект
2 Что такое класс
3 Что такое метод
4 примитивных типа
5 тип строки
6 основных операторов
7 Оператор if-else в Java
8 операторов цикла (for, while)
9 массивов

уровень 1: ООП
ООП — не самая сложная тема в мире, но чрезвычайно важная. Важно как читать о принципах ООП, так и применять их на практике.

Наследование классов, реализация интерфейса, абстракция данных и поведения, инкапсуляция данных и реализация классов, полиморфизм и виртуальные методы — все это ключевые темы. Практикуйте концепции и читайте книги (например, Cay Horstmann, Gary Cornell Core Java, Object-Oriented Analysis and Design by McLaughlin).

уровень 2: коллекции Java
Вы можете назвать группу отдельных объектов, представленных как единое целое, коллекцией. Java предоставляет инфраструктуру коллекций, которая определяет несколько классов и интерфейсов для представления группы объектов как единой единицы.

Вы изучите структуры данных через интерфейс Java Collections (java.util.Collection) и интерфейс Map (java.util.Map). Вы можете назвать их двумя основными «корневыми» интерфейсами классов коллекций Java.

уровень 3: исключения Java
Исключение (или исключительное событие) — это нештатная ситуация, возникающая во время выполнения программы. Этот механизм значительно упрощает отлов ошибок в программах. Все классы исключений являются подтипами класса java.lang.Exception, и каждый изучающий Java должен очень хорошо его знать.

Уровень 4: Входные/выходные потоки
Java выполняет операции ввода и вывода через потоки. Вы можете представить поток как непрерывный поток данных. Эта тема может быть проблематичной для новичков. Бонус за изучение этой темы в том, что вы обнаружите настоящий скрытый смысл
Система.out.println().

Уровень 5: алгоритмы и головоломки
А алгоритмы? Часто ведутся споры о ценности обучения программированию алгоритмов сортировки или поиска. При изучении коллекций и структур данных вы узнаете о методах сортировки/поиска. Java и большинство языков имеют библиотеки с реализациями всех известных алгоритмов сортировки и поиска. Это означает, что они уже написаны для вас. Так должны ли вы (или не должны) беспокоиться об обучении их программированию?

Я предпочитаю ответ: вы должны выучить его, чтобы лучше думать, как инженер-программист. Очень полезно создавать собственные реализации алгоритмов, а также формировать понимание их сложности. Особенно для людей, которые изучали математику только в средней школе.

Все популярные алгоритмы сортировки и поиска многократно описаны и решены в сети. Так что вам не нужен валидатор для проверки. Выберите любой курс, например, Принстонский университет, CS50 или видео на Youtube, и попробуйте создать свою собственную версию.

Как насчет головоломок или нестандартных задач Java? Они чрезвычайно полезны для любого программиста, потому что вас учат, как решать сложные и нечеткие задачи.

Уровень 6: Многопоточность Java
Каждый после нулевого уровня может написать программу, выводящую «Hello World», но что, если сделать это с помощью Java Thread API, чтобы знаменитая фраза печаталась из дополнительного потока? А что, если программа должна напечатать «Hello world» пять раз из пяти разных потоков без чередования строк. Многопоточность сложна даже для самых простых задач и является сложной темой Java.

Уровень 7: Шаблоны Java
На этом уровне вы будете знать, что можете немного писать программы. Достаточно ли они хороши? Они похожи на профессиональный код? Чтобы писать код как профессионал, вы должны сначала изучить шаблоны проектирования. Они представляют лучшие практики, используемые опытными разработчиками программного обеспечения. Шаблоны проектирования решают многие общие проблемы, с которыми разработчики программного обеспечения сталкиваются во время разработки. Эти шаблоны были выбраны в результате проб и ошибок многочисленных разработчиков программного обеспечения в течение значительного периода времени.

Уровень 8: Модульное тестирование
Важный навык для любого программиста, который пишет модульные тесты для собственного кода. Когда вы поймете, как писать тесты, вы должны применить это как привычку ко всем своим проектам. Модульные тесты гораздо полезнее, чем проверки с использованием вывода консоли. Юнит-тесты — это также первое, что компании обычно доверяют писать новым разработчикам.

Уровень 9: лямбды
Поддержка лямбда-выражений появилась в Java 8, но еще не все программисты их приняли. Однако сегодня в понятие «задачи для Java Junior» входят манипуляции с лямбда-выражениями, поэтому я рекомендую изучить и их.

Уровень 10: Сериализация в JSON, RMI, HttpUrlConnection, сокет
Эти темы предназначены для более опытных и продвинутых разработчиков Java. Они требуют более глубоких знаний и выступают своеобразным мостиком к собственным проектам, стажировкам и работе.

Где найти практические задания для уровней 0–10?

CodeGym — это курс Java Core с более чем 1000 задач по кодированию с проверками.

3. проверка (1).png

w3ресурс— хороший и очень известный сайт для веб-разработчиков.

GeeksForGeeks(особенно алгоритмы и головоломки) — очень хороший ресурс с множеством заданий и разных курсов.

geekgeeks.png

Шаг 2: дополнения

Java-разработчик использует не только Java, но и множество различных технологий. Некоторые из них стали стандартом для всех, кто занимается ИТ. Однако это не означает, что вы должны знать эти технологии так же глубоко, как Java Core. Изучите их немного, некоторые из них вы узнаете лучше во время работы или стажировки.

Гит. Это наиболее широко используемая система контроля версий для отслеживания изменений в компьютерных файлах и координации работы над этими файлами между несколькими людьми. Поэтому, если вы хотите стать профессиональным программистом, понимание Git является обязательным требованием. Его использует почти каждая софтверная компания.

JavaScript. Этот кросс-платформенный объектно-ориентированный язык сценариев можно найти во всех веб-браузерах. JavaScript можно подключать к объектам своего окружения, чтобы обеспечить программный контроль над ними. Так что JavaScript повсюду, и даже если вы не хотите работать фронтенд-разработчиком, слово «JavaScript» будет хорошим дополнением к вашему резюме.

SQL. Википедия определяет его как «Язык структурированных запросов — это предметно-ориентированный язык, используемый в программировании и предназначенный для управления данными, хранящимися в системе управления реляционными базами данных (RDBMS), или для потоковой обработки в системе управления реляционными потоками данных (RDSMS)». На начальном уровне научиться этому довольно легко. Почти каждый программист когда-либо использовал SQL.

Шаг 3: Станьте мастером

Большинство разработчиков Java работают в двух областях: мобильные технологии или корпоративные проекты. После того, как вы получите основные знания на первых двух этапах, мы разделимся на две разные ветви. Подробно на них останавливаться не будем, но каждая ветка заслуживает отдельной статьи. Итак, кратко:

Мобильные технологии

Знание Java открывает для вас мир Android-разработки. Отличное место для начала изучения программирования для Android: Обучение разработчиков Google

Корпоративные технологии

Он состоит из множества технологий, которые сложно освоить самостоятельно. Гораздо лучше найти курсы или стажировку. Полезно узнать о Spring, самой популярной платформе Java, и Hibernate, инструменте объектно-реляционного сопоставления, и других связанных технологиях, и они преподаются в этом бесплатном Удеми курс.

Если вы выбрали путь Java-разработчика — да прибудет с вами сила!

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *