Java Mentor – Telegram
Java Mentor
294 subscribers
173 photos
48 videos
1 file
79 links
Download Telegram
Когда бот, которого ты разрабатываешь не хочет с тобой знакомиться((

Вообще я только что осознал что всех своих учеников (целых двух), учу на разных языках. Первого на английском, а второго на Kotlin 😂

Хотел сказать что меня к такому жизнь не готовила, а оказалось, что готовила 🌚

Скрин про бота типа затравочка к чему-то мега-полезному, следите за апдейтами.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍3
28 августа 2023 года, Миша написал мне, что ему было бы интересно узнать о моем наставничестве подробнее.

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

Миша работал на заводе, у него маленький ребенок и жена. 3 вещи, которые сильно бустили его мотивацию в изучении Java 🚀. Если у вас проблемы с мотивацией, берите на заметку)

Мне кажется, его семья проживала не обособленно. Кажется потому, что во время занятий, в комнату иногда заглядывала бабушка. Я бы не стал писать про такие личные детали, если бы это не было так важно для меня. Почему важно, я объясню ниже. Миша, прости, если что)

У Миши была мечта, устроиться в СБЕР. И я понял, что это мечта серьезная, когда он отказался от оффера от других ребят, потому что ждал решения от ребят из СБЕРа.

Мы закончили наше наставничество еще зимой. А сегодня, спустя 11 месяцев после нашего знакомства, я получил от него письмо счастья:

Анзор, привет!
Пришел похвалиться)) У меня закончился испытательный срок!

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

Параллельно еще написал бота который парсит авито по ссылке поиска и скидывает новые объявления и он мне уже принес профит. Суть в том что в Рязани какой-то дикий спрос на квартиры, особенно если она дешевая. И если ты звонишь по поводу квартиры через минут 30, то ты уже в очереди находится. А бот смотрел объявления каждую минуту и когда появилось новое мне скинул в телегу и уже через пару минут я звонил и так оказался первым в очереди. В итоге переехали с семьей в более дешевую квартиру, правда не сильно хороший ремонт, но зато недалеко от садика.

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


Почему же мне так важна бабушка, которая иногда мелькала в кадре?

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

У Миши большие планы и амбиции, и отдельный город - лишь малая их часть.

Я очень благодарен ему за то, что он доверился и позволил пройти с ним часть его большого пути. И желаю ему исполнения всех его больших замыслов. По правде сказать, я желаю этого каждому из вас. А если у вас проблемы с мотивацией, то вот три простых шага по тому, как ее забустить: жена, ребенок и работа на заводе)
Please open Telegram to view this post
VIEW IN TELEGRAM
👏13🔥54❤‍🔥1
Привет! В мае я запустил свой курс по созданию пет-проекта на Spring Boot.

Для меня это первый опыт. Было тяжело начать, потому что я никогда не делал такого раньше.

Труднее всего было озвучить эту идею в мир: Я продаю курс по спрингу. Я откладывал это несколько месяцев. Боролся с общественным осуждением, которое существовало лишь в моем сознании.

А когда я все же решился, то получил первую оплату менее чем за 15 минут после публикации.

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

В моём курсе не все идет супер гладко и идеально. Но теперь я точно знаю что можно улучшить, а самое главное - точно понимаю как это можно сделать.

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

90% вещей, о которых я переживаю - нереальны. Но страх, который я испытываю вполне себе осязаем.

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

Но никто не сделает за меня мою жизнь лучше. Поэтому я желаю вам того, чего желаю себе самому.

PS Вообще, хотел написать про то, что мы успели сделать на курсе, но мои пальчики понесло не на те клавиши. Картинка в посте - логика ТГ бота, который мы на данный момент внедряем в наш проект. О ТГ ботах я еще напишу, но следующий пост будет про 📿🦊BDSM🤐
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥123❤‍🔥3👍3
В одной из контор где я работал был отдел: 🔠usiness 🔠evelopment, 🔠ales and 🔠arketing

А в офисе того же БЦ где располагались мы, располагалась комната, где проводили шибари сессии(кажется). 📿

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

Одна из вещей, на которых я тормозил - это стоп слова.👎
Как придумать стоп слово, от которого не тянет поржать?

Стандартный светофор использовать как-то скучно, а все остальное вызывает жуткий приступ кринжа. Ну что я случайно не назову во время сессии в порыве возбуждения? Фалафель? Фамилию бывшего начальника?🗿

Но вчера меня осенило. Я ж программист. В программировании столько терминов, которые идеально легли бы на стоп слова.

Например:
Rollback - откат изменений.

Или же коды ответов HTTP:
200-ОК
300-Redirect
400-Bad Request
500-Server Error

Или же уровни изоляции транзакций в бд, или же различные ошибки выполнения. 🚫

А сколько exception-ов в Java…

Только представьте, сабмисив кричит:
-Ошибка, Ошибка!
Мастер спрашивает:
-Какая ошибка?
-Ввода-вывода…
И мастер сразу понимает, что подход к вводу выводу посторонних предметов в организм подопечного нужно как-то пересмотреть. 🤐

Объявляю конкурс на лучшее стоп слово из IT терминологии.

Победитель получит народную любовь 😈 и мой гайд по созданию телеграм ботов.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7🍓3😈321
This media is not supported in your browser
VIEW IN TELEGRAM
“А еще меня беспокоит, что ты совсем не занимаешься на JavaRush”, - я услышал это прогуливаясь по парку у дома.

Услышал от девушки, она говорила это своему парню.

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

Подъемы в 4:30 🌚
Занятия на тогдашней работе 🤕
Месяцы безделья, когда я сам себе говорил, что меня беспокоит, что я ничего не делаю,
а потом снова ударные дозы обучения 😞

И в конце концов заветное: «Ваше решение нам так понравилось, что мы не станем дожидаться решений от других кандидатов и делаем оффер вам» 🚀✈️👍

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

Но тут я вспомнил, что помимо того, что я классный программист, я еще лютый стесняжка…

Так что надеюсь, парень сейчас сидит и смотрит не на дождик и свечку, как я, а на код…
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥6👏1
Запилил себе летний офис. Теперь совсем не хочется работать, но не работать уже не так скучно

По вечерам вообще хорошо, но комары жрут.

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

Доедать не стал, хотя я и не веган
🔥18❤‍🔥331🤣1
Audio
Актуалочка в ваши ушки от Java AI FM 😏

Безудержного вам веселья и крепкого здоровья
5🔥5💯2🦄1
Не пишите комментарии так:
//эта функция такая классная
void goodGirl() {...}


Или так:
//этот класс такой хороший
class GoodBoy {...}


Используйте Javadoc.

В сравнении с обычными комментариями Javadoc обладает рядом преимуществ:

🎮 Автоматическая генерация документации: Javadoc позволяет автоматически генерировать HTML-документацию, которая структурирована и легко читается.

🎮 Систематизация: Вся документация классов, методов и полей собирается в одном месте, что облегчает ее просмотр и навигацию.

🎮 Стандартизация: Javadoc использует стандартизированный формат комментариев, что способствует единообразию в проекте.

🎮 Поддержка специальных тегов: Javadoc поддерживает специальные теги, такие как @param, @return, @throws, @see, @since и другие, которые позволяют структурировать и уточнять информацию.

🎮 Обратные ссылки: Теги @see и другие позволяют создавать ссылки на связанные элементы кода, улучшая навигацию и понимание кода.

🎮 Интеграция с IDE: IDE могут отображать Javadoc-комментарии в виде всплывающих подсказок, что облегчает понимание кода без необходимости открывать документацию.

🎮 Повышение качества кода: Наличие Javadoc-комментариев побуждает разработчиков более тщательно описывать свои классы и методы, что может выявлять недостатки в проектировании и реализации.

🎮 Расширяемость: Javadoc поддерживает различные форматы вывода и может быть настроен для генерации документации в различных форматах, включая PDF, ePub и другие.

А чтобы вам было проще перейти с обычных комментариев на Javadoc я составил для вас небольшой гайд. Юзайте)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥6
This media is not supported in your browser
VIEW IN TELEGRAM
А вы как воскресенье проводите? Да и код вообще набираете?
👀4🔥3👾1
Привет!
Больше месяца не писал. К чему эта инфа? Она как бы важная для меня. Надо сказать: я больше месяца не писал. А зачем? Просто чтобы закрыть этот пунктик.

Но проблема в том, что сложно придумать какое-то естественное продолжение этой констатации факта.

Типа: больше месяца не писал. Кстати, большинство ребят сейчас придумывают себе опыт работы при трудоустройстве.

Согласитесь, нежные ножки вашего внутреннего читателя невольно спотыкаются об эту несуразную конструкцию слов.

Ну чтож. Приложите подорожник, и продолжим.

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

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

Откуда я это знаю? Я помогал придумывать опыт одному из вас. Если узнал себя - ставь лайк)

А другой из вас просто раскрыл глаза на масштаб проблемы. Представьте себе какой нибудь большой банк зеленого цвета (имен называть не будем). И там в отделе 4 из 5 разрабов выдумали себе опыт работы при трудоустройстве.

Не то чтобы пол года. Было 0 стало 2+ года опыт в резюме.

Целая индустрия, построенная на лжи. Плохо это? Я не знаю. А вы как думаете?
👍54🤔3👎1
В мае я запустил курс, который постепенно подходит к своему завершению.

Недавно я спросил у ребят как дела, и вдруг узнал что кто-то уже трудоустроился! Курс прошел наполовину, а уже работает Java разработчиком! 🚀👍

Я очень этому рад. Приятно, что мой совет не бояться ходить на собесы помог кому-то действительно этого не бояться и трудоустроиться.

Но для многих этот страх актуален, поэтому решил еще раз написать на эту тему.

Вряд ли получится полностью избавиться от страха ходить на собеседования, но мы точно можем с ним разобраться.

Давайте представим, что может произойти, если попробовать преодолеть этот страх прямо сейчас?

1. Вы актуализируете свое резюме и выложите его везде где можно.
2. Поймете, что раз у вас нет откликов, значит что-то не так с привлекательностью резюме.
3. Обновите резюме
4. Получите приглашение на собес(ы)
5. Сходите на собес(ы)
6. Скорее всего вы провалите их
7. Поймете, что у вас пробелы в областях знаний X и Y
8. Подтяните то, чего вам не хватает
9. Сходите на собес(ы)
10. Получите оффер

Теперь давайте представим, что может произойти, если попробовать преодолеть этот страх чуть позже?

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

У вас также, скорее всего, не будет понимания, когда эта куча с названием "Все что нужно знать" закончится и вы будете учить все подряд неизвестное количество времени.

Вы будете учить как то, что действительно важно и нужно, так и то, что не очень важно. С учетом того, что вы учите "все что нужно", часть действительно важных вещей просто вылетит из головы.

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

2. В конце концов вы решите попробовать пойти на собес и пройдете по все тем же 10 пунктам, перечисленным выше.

Что мы получим откладывая решение преодолеть страх собесов прямо сейчас? Мы получаем просто какое-то время "спокойствия" избегая встречи с этим стрессом.

Это действительно стресс для многих людей. Страшно даже не провалить собес. А выдержать это давление. Предстать перед другими людьми и казаться глупым.

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

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

Я думаю нет, а вы как считаете?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥105👍3
Интересный вопрос:

Почему char[] предпочтительнее String для хранения пароля?
Вчера с учеником проводили мок-собеседование по темам:

🦸‍♂️ SOLID
🎮Интерфейсы
🎮 Функциональные интерфейсы
🎮 Лямбды
🎮Stream API

Вот несколько (на мой взгляд) интересных вопросов на эту тему:

1. Можете привести пример того, как внедрение функциональных интерфейсов помогло сохранить обратную совместимость?

2. Часто говорят, что есть терминальные и промежуточные операции в стримах. Но есть еще ленивые и не ленивые операции, stateful и stateless операции. Можете рассказать о них?

3. Почему функциональный интерфейс может быть создан только с 1 абстрактным методом?

4. Приведите пример нарушения принципа LSP

5. Что такое Spliterator и связан ли он со Stream API, если да, то каким образом?

Накидайте своих ответов в коментах, а чуть погодя скину вам свои шпоры по этим темам 🖨
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥6
Привет, друзья!

Как обещал кидаю шпоры по темам из предыдущего поста, надеюсь будет полезно 🤗

👽 Примеры нарушения SOLID

👽 Вопросы по интерфейсам

👽 Вопросы по Stream API

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

Я сам себе обещал 10 постов за 2 недели.

Завтра две недели подойдут к концу и это мой второй пост 😀

Поделитесь, как вы мотивируете себя делать важные вещи?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥53👍2
This media is not supported in your browser
VIEW IN TELEGRAM
😍4🤩1
Когда я учился на Java разработчика мне было сложно .

Сложна не сама Java, хотя она и не проста. А сложно долгое время находиться в состоянии неопределенности.

Сколько еще учиться? А получится ли у меня?

Было сложно продолжать заниматься этим, когда на собесы не звали несколько месяцев подряд 🤯.

В самые трудные времена меня поддерживали чужие истории успеха.

Я думал раз у них получилось, то и я смогу.

Я смог.

Как смог и Никита , о котором я писал почти год назад, а недавно получил отзыв и от него 💪

Как сможет и любой человек, продолжительное время фокусирующий свои усилия на своей цели 🎯.

Ну а если вы уже смогли 💪, то поделитесь своей историей. Это капец как помогает ребятам, которые пока еще только взбираются на эту гору 🏔
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤‍🔥4🔥2💯21
Ребята, вдруг стало интересно узнать кто тут во что играет)

Прокликайте плз: Я имел опыт (хоть мало мальский и чисто для себя) программирования на стеках:
Anonymous Poll
89%
Java + Spring MVC
14%
Java + Spring Webflux
4%
Kotlin + Spring MVC
2%
Kotlin + Sping Webflux
2%
Все это херня, щас напишу в комментах на чем люди кодят
🔥4
Задача которая меня вымотала

Дисклеймер:
Писал с телефона в состоянии индифферентности к форматированию

На работе меня передали в аренду в другую команду для реализации интеграции со сторонней системой.

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

Первый камень о который я споткнулся называется Microsoft SQL Server. Это именно та база из которой нужно было забирать данные.

А второй камень - это r2dbc. У нас на проекте стоит Kotlin и WebFlux, реактивный стек. А r2dbc - это реактивный драйвер для баз данных.

Ну так вот, нужно мне фильтрануть данные в исходной табличке по дате.
В базе стоит тип smalldatetime. В документации майкрософта написано, что для Java smalldatetime парсится в java.sql.Timestamp.

Но r2dbc не поддерживает java.sql.Timestamp, он поддерживает LocalDateTime. Но при передачи значения фильтра в виде LocalDateTime ругается уже MS SQL.

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

Что-то типа такого:

‘’’
Select *
From table
Where date > CAST(‘2024-07-14 10:00:00’ as smalldatetime)
‘’’

И вроде заработало… А вроде и нет. Часть дат парсится нормально, а часть падает с ошибкой.

С помощью метода тыка, танцев с бубном и заветов Ванги возникла одна безумная теория.

А что если все даты отображаются в базе в формате YYYY-MM-DD, но парсить их надо в формате YYYY-DD-MM?

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

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

Ставь 🔥, если интересно почитать через что я прошел, чтобы запилить MR на 2.7К строк, и расскажу почему я не люблю r2dbc и как я в очередной раз убедился что от соприкосновения со всем, где в названии есть слово Microsoft все таки укачивает.
🔥272👍1😁1
Капча, которую мы заслужили 😅
🤣14😁5🌚2
Как разбирать проблемы в коде?

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

Представьте, вы кликаете на ссылку. Что происходит дальше?

1. Отправляется запрос на сервер. ⤵️
2. Выполняется код контроллера. ⤵️
3. Контроллер вызывает метод сервиса.⤵️
4. Сервис обращается к репозиторию.⤵️
5. Репозиторий формирует SQL-запрос в базу данных.⤵️
6. База возвращает данные обратно в репозиторий.⤵️
7. Репозиторий передаёт их сервису.⤵️
8. Сервис возвращает данные контроллеру.⤵️
9. Контроллер отправляет результат в веб-интерфейс.⤵️

Это как доставка посылки: вы забираете её из пункта выдачи и возвращаетесь домой.

Данные — это ваша "посылка", а маршрут — это выполнение кода программы.

Важно знать этот маршрут и контрольные точки, через которые проходят данные 🗺.

Контрольные точки — это методы в коде, и на каждой из них данные могут изменять свой вид. Например:

🃏 Запрос — это JSON.
🃏 В контроллере данные преобразуются в объект DTO.
🃏 В сервисе — это уже сущность (Entity).
Понимание того, как выглядят данные на каждой контрольной точке, помогает быстро обнаружить место, где что-то идёт не так.

Итак, чтобы эффективно находить проблемы:

1. Поймите маршрут потока данных.
2. Определите ключевые контрольные точки.
3. Проверьте, как данные меняются на каждом этапе.

Следуя этому алгоритму, разбор любой проблемы становится намного проще.

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

Я часто вижу как ребята не пользуются этими простыми правилами и прыгая растерянно от класса к классу выглядят как потерявшиеся телята на незнакомом пастбище.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍32