Spring я встретил в списке требований в вакансиях,
после чего узнал что это очень полезный каркас и набор
определенных фишек которые делают разработку на java
гораздо более удобной и качественной,
и я начал искать всякие туториалы по обучению,
однако эти туториалы имеют свойство на практике их прохождения
сильно отличатся друг от друга, в результате чего может возникать куча
всяких проблем которые приходится фиксить уже у себя на компе...
Хочу узнать каким образом можно выучить Spring Framework
без всяких костылей, концентрируясь только на нем,
и вообще возможно ли так.
Попробовал пройти несколько разных туториалов(гайдов, уроков)
не важно, от разных авторов.
Где все сводилось к написанию какого то crud rest приложения,
и абсолютно в каждом таком туториале я дошел до момента,
где я упираюсь в какую то проблему, которой не возникло у автора,
в результате чего не могу двигаться дальше т.к. просто не знаю что делать.
То я зависну с тем что у меня аннотация ломбок не работает,
а у автора все норм,
то с тем что тупа строчка кода красная,
а у автора все норм,
то БД не подключается, то зависимость не подгружается,
то автор использует какую то штуку которую не объяснял до этого,
и в дальнейшем так и не объяснил...
что то получается фиксить, а что то нет, но когда наростает сложность
конструкции и возникает опять какая то неполадка,
то пофиксить уже не получается,
и соответственно двигаться нога в ногу с автором также.
Я осознаю что встреча со всякими кастылями и проблеммами это
не избежно, но есть ли возможность понизить как то колличество
этих встречь, обойдя подобные туториалы где все по разному и
заточенно под комп автора.
пишите в комментариях или в личку ваши мысли/советы.
it
21 уровень
Дайте совет как изучить Spring
Комментарии (19)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Justinian Judge в Mega City One Master
9 мая 2023, 08:05
Первое и самое важное, ищи туториалы с кодом (гитхаб/zip) , если туториал +/- на нужную тему тогда сразу запускай код, там на этапе запуска могут быть проблемы, но спросишь, здесь же можешь спрашивать, гугли.
Если запустишь и оно запустится, попробуй проверить функциональность, что оно работает.
Если все ок, то только тогда ты и можешь начинать проходить туториал.
Ведь если у тебя что-то пойдет не так, у тебя есть работающий экземпляр, с которого можно передирать и смотреть что отличается от твоего.
Второе, желательно системные курсы, но часть из них стоит денег, если есть финансовая возможность посмотри онлайн курсы с преподом и домашками, есть не шибко дорогие если поискать, они дадут хотя бы точку опоры на старте, это упрощает.
+ есть всякие Удеми, там есть хорошие курсы https://www.udemy.com/course/spring-hibernate-tutorial/ к примеру
Третье, есть хорошие книги, Spring in Action, есть перевод, посмотри только какие издания доступны и найди там самое свежее которое сможешь найти.
Ну и чем старше туториал тем больше проблем с его прохождением, поскольку разница межд унастройками и версиями технологиями автора и твоими будет пропасть.
Учитывай это, и если туториал хорошо объясняет - видео на ютубе просто смотри, практику возьмешь на другом или если возникают проблемы и не можешь порешать, просто смотри дальше.
Ну и на гитхабе поищи или в гугле Spring boot crud example + у Сулейманова посмотри. Нагреби себе 3-5 рабочих проектов с кодом, и на которых ты можешь прорабатывать темы в тех же туториалах.
На рабочем проекте это реально будет сделать.
+1
Justinian Judge в Mega City One Master
9 мая 2023, 08:05
Насмотрись туториалов, у Заура Треуголова хороший курс, на ютубе он есть бесплатно.
И начинай делать свою практику, забей на фронт на первых порах если не идет особенно,
напиши калькулятор на спринге, естественно без никаких "ввод с консоли", берешь idea http client или лучше Postman и вперед запросы на контроллер в json. Отправляешь два числа и операцию и получаешь результат.
Потом КРАД сделай на 1 энтити, в примере на Movie, а ты на Car переделай, лишь бы другое, придумай свои поля и сохрани. Потом КРАД на несколько энтити со связями.
Потом тесты junit попиши и к калькулятору и к краду.
Потом поищи Spring тестовое задание или у ребят попроси, их поделай.
Потом можно уже Spring security посмотреть, рассмотреть простые примеры с фронтом и как оно работает в связке фронт-бек если раньше не смотрел.
И так по нарастающей.
Но и еще вопрос.
С SQL, JDBC, PostgreSQL/MySQL, git, maven и неплохо бы Хибернейт ты уже разобрался?
Поскольку если нет, то тебе Спринг будет осваивать сложнее, лучше небольшие части разобрать раньше, чем потом куча непонятного по спринг и + еще сверху разбираться с гитом, мавеном и прочим.
Но опять же, у каждого своя стратегия.
Если прорезюмировать, ищи варианты, не зацикливайся на проблемах, если хорошая теория не страшно что практически все не получится повторить, и самое главное это практика, теория в голову сама не зайдет, практика и еще раз практика, ищи работающие примеры и пиши по подобию меняя что-то - энтити, поля , логику и тд, добавляя какие-то новые фичи с туториалов.
Ну и гугли, гугли, гугли и спрашивай здесь, если больше не у кого
+1
Сергеев ВикторMaster
9 мая 2023, 13:51
Вот сейчас часть людей пойдут гуглить, что такое КРАД )
+2
Justinian Judge в Mega City One Master
9 мая 2023, 15:36
🙂 Tаков путь )
+2
it
9 мая 2023, 17:27
Спасибо за советы!)))
уже пятую часть книги прочитал,
- сделал по книге крад но без БД,
буду с БД пробовать теперь,
- по sql прошел третью часть от курса на степике, основные крад запросы знаю,
агрегатные функции, запросы корректировки...
- вот буду джойны учить,
- с jdbc немного ознакомился,
- mySQL скачал,
- на github умею пушить, но в основном интерфейсом idea пользуюсь, а не в терминале пишу git запросы..
- по maven - совсем основы знаю...
- хайбернейт про него считай только слышал... 0
it
9 мая 2023, 17:31
хоть это я знаю - create, read, update, delete =)
0
Сергеев ВикторMaster
9 мая 2023, 17:50
просто для меня это непривычное название, круд - да, crud - да, но крад слышку первый раз и скорее всего не понял бы автора без контекста )
+1
it
9 мая 2023, 19:03
не знаю конкретного правила, но
произношение_link
на этом сайте можно слушать как произносят англоговорящие, с разными акцентами,
где в лекции из CS50 - лекция 7 sql, преподователь четко произносит как "крад",
однако нейросеть мне сообщила что правильно согласно общепринятому какому то правилу, произносить как "круд", и добавила, что это так же зависит от предпочтений или региональных особенностей.
=)
0
Сергеев ВикторMaster
9 мая 2023, 23:21
ну да, так же как и с обозначением маппинга урла, как только не называют и рест и эндпоинт и ручка и наверно еще много разных вариантов, просто это меня цепануло, я первый раз прочитал как крад на русском )
0
Justinian Judge в Mega City One Master
10 мая 2023, 00:57
или еще роутер и рутер ) просто я всегда употребляю крад и кругом только крад и слышал, я знаю что есть вариант с круд но мне редко попадался.
Знаю, что некоторые считают устаканившимся именно круд, с какой-то стороны логично если брать те же мавен и градл вместо мейвен и грейдл, но в то же время устаканилось хибернейт, а не хибернате. (хотя хибернейт опять же это я так называю, а по сути это хайбернейт должен быть, в общем да, кто в лес кто по дрова :))
Та главное что друг друга понимаем, а если что можно спросить ))
А там пусть лингвисты уже пишут монографии, о чем молчит default конструктор.
+1
Justinian Judge в Mega City One Master
10 мая 2023, 01:08
обычно классическая схема, пишешь крад на jdbc, на 1-2 энтити, связь 1-m или 1-1 возьми, потом этот же крад переписываешь на хибернейт, и потом его же на спринг буте.
Хорошая наглядная разница, просто тот же Spring data jpa под капотом содержит хибернейт, который под капотом jdbc.
Есть еще неплохой источник краткой информации, гуглишь hibernate interview questions или на русском, и так по темам jdbc, maven, hibernate и тд, чтобы и вопросы и ответы, кратко и по сути и самое необходимое.
А потом уже можно на спринге сфокусироваться.
По гиту, консоль не обязательно там все в ней, но чтобы при необходимости ты мог и там что-то прописать. По БД, MySQL и PostgreSQL , у тебя в идеале крад то не один должен быть , а значит у тебя будут разные проекты и в них можно разные БД попробовать, хотя бы разу, а потом уже останавливайся на той, которая больше понравилась.
По мавену опять же, посмотри вопросы из собесов по нему, на вики почитай и какие-то статьи , да и этого хватит с того что ты будешь использовать первое время
+1
it
10 мая 2023, 05:18
Justinian, спасибо, понял, я начал так сказать с наивысшего уровня абстракции)) а нужно немного опустится))
0
Justinian Judge в Mega City One Master
10 мая 2023, 14:10
та можно по разному, есть что и джава кор после спринга изучают, лишь бы результат был.
Просто обычно, если ты более менее разберешься с более базовыми темами, то ты на более сложных темах сможешь легче сфокусироваться именно уже на этих темах, область незнания будет чуть меньше и легче будет, чем когда 100 терминов с каждого угла будет сыпаться.
Но и обратный подход имеет свои плюшки, когда ты более осознанно сможешь разбирать более низкоуровневые темы опираясь на свой опыт, а вот это я уже видел там, ага, вот оно к чему было, а это в другом месте, ага, понятно теперь.
Смотри по себе, как заходит
+1
Денис Enterprise Java Developer
7 мая 2023, 19:34
Начать со спрингом можно отсюда:
spring.io
baeldung.com
Дальше уже смотреть по обстоятельствам.
+1
it
7 мая 2023, 19:43
погляжу, спасибо)
0
Сергеев ВикторMaster
7 мая 2023, 17:27
Не для всех библиотек есть документация, для тех для которых есть, она не всегда актуальная.
Я бы сказал, что у вас сейчас идеальный момент, когда можно научиться решать возникающие проблемы. Сейчас потому, что проекты простые и можно научиться залезать внутрь библиотек и понимать что пошло не так.
Примеры рассуждений:
- Красная строчка? Ок видимо чего-то нет (метода/константы), надо сравнить версии. Пойду посмотрю версию у автора, а если взять по новее может там есть, а если постарше? А если проект опенсорс, то можно скачать исходники и посмотреть когда убрали и что сделали взамен
- зависимость не подгружается - интересно почему? А где загрузчик ее ищет, а есть ли она там, есть, а давай дебаг лог посмотрю
Ну и все в таком духе.
Честно скажу, на простых крудах этому научиться проще и лучше. Чем потом получить инфу, что на этом сервере, к которому нет документации и исходников (только декомпиляция), не работает как ожидалось.
Чем больше проблем ты сможешь решить сейчас, тем меньше ты будешь их бояться в будущем и больше сможешь решить, потому что проблема всегда имеет код
+1
it
7 мая 2023, 17:44
Просто иногда ощущение будто я не java и spring учу, а с idea воюю))
т.к большинство проблем как будто с ней и возникают,
в итоге день прошел, я пофиксил какую то мелочь, и не чего не выучил
0
Сергеев ВикторMaster
8 мая 2023, 00:15
Не совсем так. У любого софта будут проблемы. На работе тоже будут проблемы, которые напрямую с написанием кода не связаны. Важно привыкнуть их решать, находить решение, копаться внутри. На мой взгляд это важнее знаний по конкретному стеку.
Человек который работал например с jee стеком, но умеет решать проблемы будет выгоднее, того кто умеет писать по туториалам, а шаг влево для него нерешаемая сложность.
Первому человеку можно дать лубую задачу и на выходе получить какой-то результат. Второму можно дать только в пределах его знаний и умений, любое отклонение он уже не вытянет
+1
it
8 мая 2023, 04:29
Я понял Виктор, окей, значит буду учится решать проблемы, спасибо)
блин теперь даже захотелось решать проблемы, пойду найду))
лол, ты чего не спишь))
у меня 7:25 утра, ответ около 4 часов назад, то есть в 3 25))) или у тебя не CEST/EEST)
+1