Java Mentor – Telegram
Java Mentor
294 subscribers
173 photos
48 videos
1 file
79 links
Download Telegram
Не знаю что радует меня больше.

То, что по обратной связи я чувствую, как наставничество приносит пользу.

Или то, что мой ученик, уже на второй месяц наставничества делает тестовое задание 💥

Убежден, нас ждет успех 😎💪
🔥10
Поделюсь своим мнением на эту тему. Представим что у нас есть три параметра:

- Скорость изучения
- Стомость изучения
- Качество изучения

Увы, выучить Spring быстро, бесплатно и качественно практически невозможно. Здесь каждый решает сам что ему важно.

Если нет желания платить за обучение, но есть уйма свободного времени - можно прочитать книжку Spring in Action.
Получится бесплатно, качественно, но медленно.

Если нет желания платить за обучение, и времени нет - можно изучать Spring по видео на youtube.
Получится быстро, бесплатно, но не очень качественно.

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

Вариаций на самом деле гораздо больше .

Но пет-проектов вам в любом случае не избежать. Так что самый оптимальный путь - учить Spring, делая пет-проекты 🧑‍💻
👍71
This media is not supported in your browser
VIEW IN TELEGRAM
🔥10❤‍🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
JDBC Мое решение

Прежде чем переходить к Spring мне нужно закрыть гештальт и выложить свое решение по JDBC.

Напомню, я выкладывал задание, к которому выложили одно решение.

Мне осталось выложить свое. Обычно я записываю небольшой скрин-каст, но в этот раз я, аки трушный фрилансер, работаю из кафе, в котором ОЧЕНЬ много детей. Так что в этот раз я просто выложу свое решение вам на ревью: https://github.com/yourjm/project1/pull/2/files

Кидайте замечания в коменты к этому посту)
🔥6❤‍🔥1👍1
Так, я сижу и думаю как с вами поздороваться дольше, чем стоило-бы)

И получается такой вот внутренний диалог:
"Привет, чуваки" - у меня точно есть подписчицы и они точно не чуваки
"Привет, ребята" - надоело уже
"Привет, ленивцы" - надеюсь они поймут что это шутка. Хотя, зная своих учеников, это точно не шутка
"Здорова, волчары" - Ты вроде программистов выращиваешь, не инвесторов
"Привет, котики" - Не для того я бороду отпускал, чтоб всех котиками называть.

Как бы то ни было, я запилил для вас лекцию на тему: Введение в мать его Spring

Оно для тех кто вообще не в теме, и хотел бы понять, почему свет на спринге клином сошелся.

А теперь, накидайте, братцы и сестры мне реакций, если хотите получить практическое задание, которое я конечно же тоже запилил, но без реакций вы его не получите 😜.

PS И как вас называть то? Кто предложит лучший вариант в коментах, тому подарю народую любовь )
🔥192🤣2
Привет, паjavaны!

Денис, коллега, спасибо за идею! wtf

Ваши огонечки растопили мое сердечко 🥹, будем делать веб приложение на Spring-Boot. Свое, с базой данных, блэк джэком и... формочками 😎.

Нам нужно придумать предметную область. Обычно делают какой-нибудь to-do list. А я не хочу делать to-do list. Хочется что-нибудь веселое, упоротое и странное. Например not-to-do list

Поэтому у меня для вас 2 (✌🏿) задания.

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

2. Написать Hello-World на Spring-Boot. Мне хотелось дать вам что-то неординарное для первого задания. Но я забил. Поймете почему, когда откроете гайд Hello-World на Spring-Boot.

PS Давайте сделаем так, чтобы наш первый раз с этим горячим фреймворком не хотелось поскорее забывать

Кидайте реакций, если заходит такой движ, заходите в комменты и голосуйте реакциями за идеи. Идею следующего народного любимца будем воплощать)
🔥16👍2❤‍🔥1
Привет, друзья!

Эта картинка к посту ниже. Пост о моих учениках. Пост вышел слишком длинным для того, чтобы прикрепить картинку.

А без этой картинки ему ну никак нельзя
7
Хочу рассказать вам о своих учениках. 👨‍🎓

Когда я только начинал, мне сложно было поверить, что кто-либо купит мое наставничество. В такие моменты я говорил себе: "Анзор, кто-то покупает расклады таро". И становилось легче.

Теперь у меня 4 ученика. И они из 3 стран. Израиль, Казахстан, РФ. Эта обширная география тешит мое эго, словно нежные пальчики пузико котенку.

🎓Один мой ученик работает воспитателем в школе. Да, я тоже думал, что в школах работают учетиля. Но в Израиле, видимо, свои порядки. Его, как и всех нормальных людей, в край задолбало писать на листике список продуктов питания для своих подопечных.

И сейчас я помогаю ему делать Digital Ordering. Заказы на кухню будут поступать через веб-приложение.

🦾Второй ученик ходит в качалку . И вы только представьте себе, какой это простор для творчества, когда ты джавист, а в твоей качалке продают бумажне абонементы. Когда мы закончим работу над его пет-проектом (электронные абонементы), качалку тут же переименуют в фитнес-центр.

💲Мой третий ученик делает проект на заказ для менеджеров по продажам. Он пишет SSM систему. Sales Script Manager. Систему управления скриптами продаж. Да, я только что выдумал это пафосное название. Но это не умаляет крутости его проекта.

🔜Четвертый ученик присоединился к нашей тусе совсем недавно. Но я уверен, что там тоже будет что-то заряженное.

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

Я вам мамой клянусь, меня так воодушевляет что я сопричастен к этой истории.
❤‍🔥11🔥4👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Привет, ребята!

Давеча я кинул клич, мол запилите Hello world на Spring-Boot, ну и, если вас не сильно затруднит, придумайте тему для нашего пет-проекта.

Было озвучено несколько идей:
🛡Сервис по поиску работы, который ддосит Яндекс
🔓Сервис который ищет вакансии на hh и откликается на них с помощью чата gpt
🔝Соц сеточка

Из всего этого я решил выбрать виш-лист 😄

Цель которую я преследую: дать базовое понимание того, как можно сделать пет-проект на Spring-Boot и при этом не сильно заморочиться. Поэтому я решил выбрать проект с минимумом сущностей, но с наличием связей между ними.

Ваши идеи классные, но моей лени они не нравятся 🚫

К тому же, я давно не могу найти себе нормальный виш лист.

Итак виш-лист. Это должна быть система, в которой можно завести несколько разных списков желаний, а в каждом списке по нескольку желаний.

У нас будут три сущности:

1. Список желаний
Например:
Список одежды
Список книг
Список техники
Список людей... 🥰

2. Желание
В каждый список можно будет добавлять желание.
Желание - это сущность, в которой есть название, описание, признак исполенности, и картинка (ссылка на картинку)

3. Пользователь
Пользователь - это человек, которому принадлежит набор списков желаний)

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

Какие бы таблицы и с какими полями вы бы завели?
Делитесь в комментариях своими идеями.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥3🤔2🏆1
Media is too big
VIEW IN TELEGRAM
3.5 минуты о том, почему я ничего не выкладываю, или как получить мотивацию глядя на ленивца
❤‍🔥13🔥4🎉2🏆1
Доброго утречка!

Есть одна вещь, которой давненько хочется с вами поделиться.

Мой ученик, @VavilovNikita59, закончил работу над своим первым пет-проектом.

Этот проект предназначен для хранения, поиска и копирования скриптов, используемых при продажах. Он создан для упрощения работы пользователей, особенно тех, кто занимается продажами. - это официальное описание проекта на github 😄

И если вам интересно, вы можете не только посмотреть код в репозитории, но и потыкать само приложение в интерфейсе: http://www.notebook6.online/

Наверное стоило говорить, что я помогаю не только разрабатывать пет-проекты, но и деплоить их на реальные сервера😅

Помимо этого Никите сделали оффер. Оффер не очень привлекательный, и мы продолжаем работу. Но блин! Я капец как горд тем, что он прошел несколько собесов, выполнил тестовые задания, и получил оффер!

Так держать!
🔥10🎉43👍3🏆1🙈1
Привет, друзья!

На выходных был в горах и в своем познании настолько преисполнился, что написал для вас небольшую статью про Optional

Многие методы репозиториев в Spring возвращают значения обернутые в Optional. Так что умение работать с Optional избавит вас от ошибок в ваших пет-проектах.

В статье вы узнаете что это за класс такой. Когда лучше использовать Optional, а когда не стоит. Как правильно работать с классом, а как не правильно.

А в конце вас ждут 10 задачек и я надеюсь что увижу ваши решения в коментах под данным постом)

Всем бобра!
👍83🔥3😁1🏆1
Привет, друзья!

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

В связи с этим хочу объявить игру: Собес по переписке 🥵

Суть простая: я задаю вопрос - вы отвечаете в коментах - я задаю следующий вопрос.

Итак, для тех, у кого чешутся ручки пройти жОсткое собеседование, вопрос первый:

Какие методы класса Object вы знаете?

Чур не подглядывать и у GPT не списывать

PS картинки не пугайтесь, за неправильные ответы наказывать не буду сильно 😈
🔥11😁21👍1
3 вещи, которые тормозят развитие новичка

Лень, теория и скромность - вот три кита, которые сдерживают развитие новичка в программировании.

Давайте по порядку.

Лень.

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

Лень, как бы говорит тебе: "Чувак, а тебе точно это нужно?" И это очень важный внутренний вопросы. Вам точно это нужно? А для чего?

Если вы испытываете лень, и у вас нет ответов на вопросы выше, найдите ответы внутри себя. Самое лучшее средство в борьбе с ленью - это ответ на вопрос, зачем МНЕ это нужно.

Теория.

Вторая ошибка - это уделение теории больше времени, чем практике.

Не делайте так. Программирование - это не философия, это вполне прикладная вещь. Сюда хорошо ложится аналогия про спорт. Я могу 7 тысяч часов уделить обучающим видео по боксу, но встретив чувака, который тупо лупил грушу две недели, я смогу проявить только технику падения на землю.

Также и тут. Можете хоть весь YouTube пересмотреть. Без практики от этого будет столько же толка, как от просмотра всех сезонов "Жить здорово" с Еленой Малышевой.

Чтобы стать программистом, нужно (ахтунг!) программировать.

Программируйте.

🔹 Хотите изучить ArrayList - решайте задачи на эту тему.
🔹 Хотите изучить Spring? Напишите пет-проект.
🔹 Хотите изучить X, но не знаете, что написать? Задайте вопрос мне - в комментариях, в личных сообщениях, где угодно. Что? Стесняетесь задать вопрос?

Скромность.

Скромность - это сторожевой пес вашей большой зарплаты. Правда, сторожит он ее от вас.

Представьте, что у вас есть воображаемый друг. Вам с ним весело, хорошо. Правда, он существует лишь в вашем воображении...

Также и со скромностью. Только это воображаемый враг, а не друг. А существует он лишь для вас. Остальному миру глубоко плевать, скромный вы человек или нет. Хотя нет, не плевать. Остальной мир дарит блага только тем, кто одолел этого внутреннего демона.

Хотите победить его прямо сейчас? У меня для вас задание.

Заведите себе резюме, если его еще нет, и заполните его так, будто вы заполняете резюме другу, который сел за вас в тюрьму, а после выхода на волю отдал вам свою почку. Именно так вы должны себя ценить. Я не призываю врать в резюме, перечислите все, что знаете, и откликайтесь на все вакансии подряд.
🔥12👍41❤‍🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
👍11👌1
Итак, ребята, доброго утра!

Проснулся сегодня в 6 утра. Вообще работаю над тем, чтобы стать воплощением успешного успеха. В 6 утра меня заставила проснуться книжка магия утра. Всем рекомендую. Спать хочется просто жесть. Но зато вы сможете хвастаться другим сколько всего вы успели сделать из того, что делаете чуть реже чем никогда.

Как бы то ни было.

Инкапсуляция.

Иногда я спрашиваю прохожих: "Как ты понимаешь, что такое инкапсуляция?"

Те из них, кто еще никогда не работал программистом, но очень этого хочет, отвечают: "Это когда мы делаем поля private и добавляем геттеры и сеттеры.".

Я продолжаю допрос: "Т.е. инкапсуляция применима только к полям?"

Те из них, кто не посылает меня в пешее путшествие к успешному успеху отвечают: "Да"

Лайфхак: "Всегда говори да" - это не лучшая стратегия на собесах. Если вам задали да/нет вопрос - это повод задуматься.

Короче, если сделать поля private и добавить геттеры и сеттеры - то это будет все равно что сделать все поля public и не писать лишнего кода. Кстати говоря, самый крутой программист с которым я работал так и делал. Он конечно задел мои религиозные чувсвтва, но впоследствии я тоже стал заниматься чернокнижьем.

Инкапсуляция, котятки, это сокрытие реализации и предоставление интерфейса для взаимодействия с аппаратом, классом, объектом, модулем, целой программой.

Это когда у вас есть какой-то класс с одним публичным методом:

public сделатьМагическуюХерь(КровьДевственницы ингредиент1, ХвостЕнота ингредиент 2) {
// тут что-то происходит
}


И в том же классе несколько private/package-private/protected (да, инкапсуляция может быть разной) методов:

private сделатьДичьСХвостомЕнота(ХвостЕнота хвостЕнота) {
// поверьте, тут лучше не смотреть 🙈
}


private обработать(КровьДевственницы кровьДевственницы) {
// Эмм… ну 18+ наверное 😈
}


Итого у нас получается вот что. У нас есть класс (имени не придумал) в нем есть интерфейс. Не буквально interface, а метафорически. Т.е. метод, который предоставлен/выставлен наружу: сделатьМагическуюХерь

А как эта магическая херь делается - сокрыто. Что-то происходит с хвостом бедного енота и кровью несчастной девственницы в методах: сделатьДичь и обработать. Какая там дичь происходит и каким образом делается обработка - сокрыто (и наверное оно и к лучшему).

То что сокрыто - инкапсулировано. Но при этом есть рычаг для взаимодействия с тем, что сокрыто. Все вместе - это инкапсуляция.

И в конце. Не работайте с хвостом енота и кровью девственницы пока не станете Senior-помидорами. И используйте инкапсуляцию правильно.
🔥133👍1
Привет!

Сегодня я подготовил для вас нечто очень вкусненькое:

🔤🔤🔤🔤

Эту тему я разбил на 4 части:

🔹 Что такое этот REST
🔹 Разбор протокола HTTP
🔹 Создание Restful сервиса на Spring-Boot
🔹 Тестирование сервиса с помощью Postman

Я буду выкладывать вам эти части поэтапно. Сегодня мы раберемся с тем:

🔸 Что такое REST?
🔸 История создания REST
🔸 REST ограничения и принципы
🔸 Преимущества, которые дает REST

Накидайте реакций, чтобы я понимал что для вас это интересно, и завтра скину часть 2 - разбор протокола HTTP

А сама статья - вот она 😀
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20👍2
Ребятки, вы опять мое сердце растопили 🫠 Как обещал:

REST 2

Здесь вы более подробно узнаете о:

🔹 Клиент-серверной коммуникации
🔹 URI и ресурсах
🔹 Протоколе HTTP

Вот сама статья: СТАТЬЯ

Ставте огонечки, и уже завтра теорию по REST вы сможете применить на практике. Заставлю таки расчехлить вас IDEA и накодить на спринге

А тем из вас, кто прочитал первую статью, задам вопрос, который чаще всего слышал на собесах о REST:

"REST - это протокол?"
🔥125
Надеюсь вы не очень сильно ждали практики по REST?

Потому что кодить вечерам пятницы - плохая примета.

Лучше давайте дружно продолжим ассоциативный ряд в комментах)
😁5🤣31👍1🙈1