В попытках привести свои знания в джаве в порядок и предлагать хотя-бы что-то, что может заинтересовать работодателя - так или иначе придется обратиться к данному болоту работы с базами данных, модных инструментов, фреймворков и прочей нечисти, которая всегда казалось чем-то ниже девственно чистого написания алгоритмов и работы с консолькой/файлами.
Мне попалось в руки от предлагающего работу HR-а тестовое задание, пестрящее огромным количеством названий, которые я регулярно слышал, но никогда не щупал. Maven, HSQLDB, JDBC, JPA. В теории, что все это делает логично и понятно, проблем с пониманием процессов абстрактно у меня нет. Но когда я начал все это открывать - голова начала кружиться от огромных ХМЛ-ек, с серверами для запуска ДБ, пользователями, кучей библиотек и т.п. Уже попытался с 7-8 различными ютуб видосами и статьями разобраться что и куда, но понимаю, что у меня нет ни малейшей возможности сделать шаг в сторону от того что там рассказывают. Не HSQL а MySQL? Ступор. Не Maven а Gradle? Ступор.
И т.п. Из-за жонглирования огромным количеством систем, которые мне незнакомы, я ощущаю себя потерянным человеком, который просто перепечатывает символы как показано на экране без понимания что вообще происходит.
Вкатывание в новые языки программирования достаточно понятно. Хелло ворлд -> написать цикл/рекурсию, поработать с массивами, написать функции, и в процессе все становится понятно и известно. Но тут передо мной стоит скала (не язык), и я не знаю, как к ней вообще подступиться, попытки воткнуть альпинистские принадлежности заканчиваются ничем спустя поднятия на пару метров вверх. Может кто посоветовать, как начинать свой путь во всю эту сферу, адекватно переваривая информацию, а не бездумно пытаясь повторить то что происходит на экране, не отдавая отчета процессам?
Все логично, зачем работодателю человек, который работает с массивами и рекурсиями и не умеет решать прикладные задачи?
Странно, что человек, не умеющий работать с системами сборки , еще пытается работу найти...
Низким казалось? Ну посиди без работы, попиши еще свои алгоритмы)
Здравствуйте!
Могу лишь поделиться тем, как я начинал работать....
Во-первых, чтобы сделать свои первые шаги я взял пару видеокурсов на udemy. Цена вопроса 30-40 долларов. Взял курсы по Spring Boot & Hibernate.
Далее обязательно рекомендую прочитать книгу
К. Бауэр - Java Persistence API и Hibernate
Это даст понимание для работы с БД. Ну а дальше продолжайте читать профессиональную литературу.
Начинайте изучать jdbc. А далее уже технологию ORM и фреймворки, которые его реализуют. например, Hibernate, EclipseLink
Я так понимаю, правильный порядок из всего этого -> взяться изучать JDBC вместе с какой-то из баз данных, затем уже Фреймворки и JPA? И если я понял верно, JDBC проще чем JPA является (или, точнее, JPA из JDBC растет)?
azerphoenix, Хм, меня пункт из задания змутил, касательно того что JDBC и JPA - похожие вещи. Такой пункт:
>Доступ к данным через JDBC или JPA.
Спасибо за ссылочки, буду ознакомляться и гуглить более целенаправленно.
Gerom, JDBC - это стандарт доступа к базам данных. JPA - это стандарт отображения реляционных данных в объекты. Реализующие JPA библиотеки используют JDBC. То есть, как вам уже подсказали в комментариях, учить надо в таком порядке SQL -> JDBC -> JPA.