Java Mentor – Telegram
Java Mentor
294 subscribers
173 photos
48 videos
1 file
79 links
Download Telegram
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
This media is not supported in your browser
VIEW IN TELEGRAM
Как выделиться среди других кандидатов?

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

И чтобы стать аппетитным бройлером, а не голодной курочкой, нужно иметь опыт разработки.

Где и как его взять?

Поговорить с владельцем маленького, но очень гордого бизнеса. На худой конец со своим братом-сватом-мамой-папой. Спросить, не нужен ли кому Tg канал или веб приложение, безвозмездно т.е. дадом (надо гундосить как Сова).

Кому-то это точно будет нужно.

Сделать это и с чистой совестью влепить в свое резюме маленький, но очень гордый опыт работы фрилансером джавистом.

А как сделать этот проект?

Конечно на Spring-Boot

Как приблизиться к этому на 1 шаг?

Прочитать третью статью по REST и:

1. Повторить все самостоятельно
2. Вместо HashMap из примера использовать реальную бд развернутую в docker (пример)

Выложить решение сюда одним из первых и получить обратную связь безвозмездно т.е. дадом (надо гундосить как Сова)
🔥5❤‍🔥3👍21
This media is not supported in your browser
VIEW IN TELEGRAM
6🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
🤣11👍1😁1
Всем привет!

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

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

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

В свое время у меня ушло 1.5 года от старта обучения до трудоустройства. А, скажу честно, когда я начал изучать Java, я уже работал программистом 2 года и знал, мягко говоря, чуточку больше Никиты.

Забегая вперед, скажу, что я никогда так сильно не заблуждался...

To be continued...

Накидайте огоньков, если вам интересно узнать, что происходило с Никитой и моей спиной за последние три месяца
🔥191
This media is not supported in your browser
VIEW IN TELEGRAM
🔥11👏1
Про первое наше занятие Никита ... просто забыл. Как и про второе. А на третьем дал недвусмысленно понять, что не хочет делать String CRUD, в который я вложил столько сил и любви…

Повторяя мантру: “Я педагог от Бога”, - я плюнул и решил: “Ну не хочет, так не хочет. Будем делать то, что хочет ученик”.

Мы начали изучать Spring на практике. Причем так, чтобы можно было оформить плоды наших трудов как опыт работы в резюме. Для этого мы:

1️⃣ Нашли клиента - жену нашего протогониста.
2️⃣ Получили тз - сделать систему в которой можно будет хранить скрипты продаж и быстро их копировать в буфер обмена.

Для тех кто умеет читать между строк - пользуйтесь лайфхаком: обзаведитесь женой/мужем и работайте на свою вторую половинку.

Никита сразу же включился в процесс и стал проявлять свои лучшие качества:

🫵Самостоятельность
Инициативность
👊 И лютую работоспособность

Мы начали делать проект в июле. А к началу августа уже реализовали всю основную логику и стали внедрять Spring Security.

На занятиях мы делали все вместе. А после Никита все удалял и делал все тоже самое, самостоятельно и по своему. Как вы думаете зачем? Правильно, для того чтобы все лучше усвоилось. Никто не просил его об этом, но его и не нужно было просить.

В том же августе Никиту позвали на первое собеседование. Я никогда не посоветую человеку идти на собес после месяца обучения. А Никита и не ждал что ему кто-то скажет что-то делать. Собес Никита провалил. Но сам факт посеял в моей голову одну мысль: “Этот парень крут

1 Сентября Никиту пригласили на другой собес. Чувак, откуда ты их берешь?! Он просто писал мне в чатик: “Меня позвали на собес”. Оффер был слабый как человек после передоза слабительным. 20к с переездом в Мухосранск. Но мы согласились, ради опыта. Даже получили оффер... Но оффер был слаб

3 сентября мы перевернули календарь, а 13-го закончили проект. И занялись хостингом. Это было самое долгое занятие, после которого моему рту требовался сеанс реабилитации. Два с половиной часа я рассказывал как арендовать сервер на линуксе, как настроить его, как поставить на него докер, как развернуть в докере базу данных и свое приложение, как приобрести доменное имя.

Знаете что произошло после? Никита все снес к херам и настроил все заново. А потом опять, и опять, и опять. “Я уже могу с закрытыми глазами сервак настроить”, - писал он мне. Делал он это не просто так. А потому что на хостинг попадает вирус - майнер, который пожирает ресурсы оперативки и который никак не удалить. Ну я так думал, что не удалить его. А Никита удалил его. Безвозвратно. И с закрытыми глазами научился сервак переустанавливать. В этом вопросе - ученик превзошел учителя. Разве не это истинная гордость мастера?

Затем был еще один собес и еще одно тестовое и еще один отказ с обратной связью: “В целом все работает верно, но оффера не будет”.

А после было то самое собеседование.
🤌 Удаленка со вкусными цифрами.
🖐️ 5 интервьюеров
✌️ Два часа
💯 И 90% правильных ответов.

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

Но не в этот раз. Мы получили отказ. Ребята взяли к себе соискателя с того же города. Я старался подбодрить Никиту, хотя сам расстроился. Мы очень много работали, и казалось что вот оно. Вот они плоды наших трудов.

Вдобавок ко всему, приглашения на собесы пропали. Никиту собеседовал только я. Мне конечно приятно, что по его словам никто не собеседует так жестко и глубоко как это делаю я. Но кроме этого ничего не происходило. Пока однажды, дождливым серым вечером я не сказал ему: “Забей на все и сосредоточься на откликах. Найди собес. Откуда хочешь. Из под земли его достань.”

PS To be continued... Жми 🔥 если интересно чем все закончилось
🔥23❤‍🔥21
У нас есть концы двух историй.

Финалочка про REST в которой вы научитесь призывать Postman для отправки HTTP запросов и последняя часть приключений Никиты в мире Java разработки.

Что выберете, то и опубликую чуть погодя сегодня. Опрос будет ниже
💊41
Тем дождливым вечером я сказал Никите сфокусироваться исключительно на откликах на вакансии.

Спустя три дня его пригласили на стажировку. 3 дня Карл! Вот она сила фокуса на своей цели.

Стажировка оплачиваемая.
👨‍🏫90% техническая поддержка,
👨‍💻10% работа с кодом.
С течением времени соотношение поддержка/программирование будет расти в сторону программирования вместе с зп.

Но даже в изначальном раскладе Никита с первой зп почти вдвое окупил мое наставничество.

В понедельник было наше последнее занятие. Он успешно прошел стажировку и взят в штат. С чем я его от всей души поздравляю!

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

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

Проект Никиты
Репозиторий

PS Вы это, спрашиваете если что интересно, с радостью вам отвечу 😊
🔥164🎉1