Java Mentor – Telegram
Java Mentor
293 subscribers
173 photos
48 videos
1 file
79 links
Download Telegram
Всем привет, ребят!

Короче не могу молчать. Я делаю видос про Transactional и он у меня занимает ну капец как много времени. 🤯

Я написал сценарий для вступления, и отснял вступление. Знаете, вообще хорошо так заходит, когда есть подготовленный сценарий.

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

И есть такое ощущение, что раз пообещал выложить видос, то не появляться в блоге, пока видос не будет готов. Собрав всю волю в кулак решил послать в жопу это ощущение. 🤦‍♂️

Я просто не могу молчать. Столькими вещами хочется поделиться.

Ну, во-первых - помидоры. Я стал выращивать помидоры. 🍅

Просто гляньте. На кой хер мне они сдались - хз 🤣

Знаете, это произошло как-то спонтанно Я не планировал это делать. Более того, я не знаю как это делать. Оказывается есть столько ньюансов о том как выращивать помидоры. Если вам кажется, что технари - зазнавшиеся в своем интеллектуальном превосходстве люди - посмотрите на садоводов. Это просто родина снобизма и завышенного ЧСВ 🤣

Это я к чему. Если бы я посмотрел видос "Как вырастить помидоры" - я бы ни за что не взялся за это дело. А тут я просто не знаю какие могут возникнуть трудности, и просто делаю 1 понятный шаг - посадить семена, пересадить ростки в отдельные горшки, пересадить помидоры в горшки побольше. Кажется это крутой урок. Часто мы рисуем в голове себе кучу преград, которые тормозят нас в действии. Проще было бы вообще их не знать и тупо делать что получается, не зная страха.

В следующий раз, вкушая помидор - подумайте, а какие бы внутренние преграды и барьеры послать нахер и просто сделать то, что хочется? 🤔
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍33🆒2
Тыкните плз, будет полезно для понимания актуальности след постов)
Anonymous Poll
15%
Живу в Питере
85%
Живу не в Питере
Я чего про Питер спрашивал.

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

Офис на работе крутой, но ехать туда далековато и от этого часто лениво.

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

Просто коворкинг

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

И все это бесплатно. Бесплатно для людей до 35 лет.

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

Не стал затягивать с посещением, и обнаружил, что в коворкинге все топовые места уже заняты 😂

Поерзал на стуле, поменял место, потом поменял место еще раз, на самое топовое и понял, что не в местах дело. А просто меня удручает офисная атмосфера. Все так чинно, важно, и скучно. 😴

К счастью в соседнем помещении я обнаружил крутую кофейню для тех, видимо, кому за 35 🤣

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

Так что если вы из Питера - очень рекомендую данное пространство

Какой-то рекламный пост, за который мне нихера не заплатят ))
🔥115👍2😁2
🚀 Новый разбор: Spring @Transactional, Propagation и Proxy

В этом видео я показываю:

🔸 Как работает аннотация @Transactional в Spring
🔸 Что такое разные Propagation и как они работают
🔸 Свой пример Proxy, чтобы понять как под капотом Spring создает и откатывает транзакции

📹 Смотрим видео на YouTube:
🔗 Смотреть

💻 Репозиторий с кодом:
🔗 GitHub
🔥133👍3❤‍🔥1
Media is too big
VIEW IN TELEGRAM
Ламповые домашние рассуждения поехавшего профессора, в которых он затрагивает, в том числе, и этот видос: https://youtu.be/o2xAkuBf9W4?si=Z4IOlda2ubZfjqKZ

PS Пупс, я вообще хз, интересно ли тебе слушать мое бородатое рыло аж целых 7 минут, так что не стесняйся влепить какаху - если все мимо, и жгучее сердечко, если оно у тебя екнуло
❤‍🔥12👍3
💡 Когда и где использовать @Transactional в Spring?

После выхода последнего видео получил хороший вопрос:

"А когда вообще стоит использовать @Transactional? Например, для методов getAll, getById, create, update, delete — нужно ли? И создает ли она дополнительную нагрузку?"

Выше оставил маленькую шпору, а ниже разбирем всё по порядку 👇

📌 1. Где использовать?
@Transactional имеет смысл в методах, где мы меняем состояние базы данных — то есть выполняем INSERT, UPDATE или DELETE.
Это:

🔸create
🔸update
🔸delete

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

‼️ Особенно важно оборачивать транзакцией методы с несколькими изменениями — тогда в случае ошибки все изменения откатятся.

А вот если у вас всего один апдейт, то @Transactional технически не обязателен — драйвер JDBC и так выполняет операцию в транзакции (если надо расскажу об этом подробнее). Но вешать её можно для единообразия, особенно если логика метода со временем может вырасти.

📌 2. Нагрузка на БД
Транзакция сама по себе — не "тяжёлая" операция, но:

1. Держит соединение с БД дольше
2. Может блокировать строки или таблицы (зависит от уровня изоляции)
3. В случае долгих транзакций — мешает другим запросам

Поэтому не транзакционируем всё подряд, особенно долгие чтения.

📌 3. Нагрузка на приложение
Spring при использовании @Transactional создаёт прокси и оборачивает вызов метода в транзакционный менеджер.
Эта накладка минимальна, а основная "стоимость" транзакций всегда на стороне базы.

💬 Итог:

1️⃣ Несколько изменений в БД → транзакция обязательна
2️⃣ Один апдейт → можно без неё, но допустимо вешать для консистентности
3️⃣ Чтение → транзакция редко нужна, но бывают исключения

Это базовые принципы, но транзакции ещё и по-разному взаимодействуют друг с другом: одни продолжают существующую, другие создают новую, третьи вообще запрещают выполнение внутри транзакции.
Подробно об этом я рассказал в новом видео — в котором разобрал параметр Propagation и показал на примере как оно работает под капотом

🎥 Ссылка на видео: https://youtu.be/ZWuvSOCRs3Q?si=TPUYjcVto42gfHMp
7🔥7👍2
Попросил ChatGPT нарисовать мне баннер для YouTube канала, на основе всего того, что он обо мне знает.

Похож? 😂

Судя по всему знает он обо мне многое, кроме того, что я НОШУ ЧЕЛКУ ТОЛЬКО ВПЕРЕД!!! 🤣
🥴5🤣3👍2🙈2💘2
💻 Совсем немного Java Core
🔥 И ты забудешь про хардкор
А чтоб сервак твой не упал
👉 Вступи скорее в мой канал

Короче, всем привет!

У меня на канале — и думаю, никто не будет с этим спорить — ублюдская шапка:

📩 Для связи: @zor_07
📚 обучающие материалы по Java
Пет-проекты
Помощь в составлении резюме
Подготовка к собесам

Какие-то всратые галочки. Люди на это смотрят и такие: «Ну нахер…» — как в том меме со священником.

Короче, надо придумать новую шапку.

Я пробовал с GPT, но он разговаривает такими же пресными ублюдскими формулировками, от которых меня ввергает в экзистенциальную апатию и скуку.

🙏 ПАМАГИТЕ!
Мне нужна новая шапка. 🥹

📏 Ограничения:
— немного скрытой эротизации — маст хэв
— но так, чтобы было понятно: мы всё-таки порой и про Java разговариваем
— максимум 255 символов (вместе с пробелами и эмодзи)

Вот мои варианты:

💡 Войти в Java, чтоб сервак не упал, а жизнь не переставала возбуждать?
Невозможно — скажете вы. Просто подпишись — отвечу я.

💡 Как выучить Java, чтоб твой сервак никогда не падал?
За 10 лет я этого так и не понял. Но ты залетай — будем разбираться вместе.

Все ещё ВСРАТО. Мне не нравится.

✍️ Накидайте ваши варианты для описания канала.
🏆 Победителю, чей вариант я использую (или отрефакторю и заюзаю), — бесплатная консультация на любую тему (хоть сколько-нибудь близкую к Java).

👉 Варианты от GPT для разгона

💡 «Java без боли и уныния: чтобы код компилился, сервак не падал, а жизнь стояла колом от удовольствия. Подписывайся — будем разбираться вместе 🍅»

💡 «Как выучить Java и не потерять стояк на жизнь? Тут и про Spring, и про базы, и про то, как не сойти с ума на собесах. Влетаешь — дальше только веселее 🚀»

🤪 Дичайшие варианты от GPT

💡 «Java и стояк на жизнь: одно поддерживаем транзакциями, другое — кофеином . Подписывайся, пока GC не собрал твой энтузиазм!»

💡 «Освоишь Java — сервак не упадёт. Подпишешься сюда — и либидо тоже. Тут баги фиксят не только в коде, но и в душе ❤️»

💡 «Канал о Java: чтобы твой код не вис, сервак не падал, а стояк не прерывался даже после дедлайна 🍆»

💡 «Java, Spring и немного эротики: чтобы не только тесты проходили, но и ты всегда был готов к нагрузочному 😏»
😁6🍌3😨3🗿1👾1
Сегодня записывал видос на одну интересную тему, которую я сильно тут задолжал.

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

1.5 часа безудержного кодинга. А по итогу что? По итогу этот тигр не включил микрофон 🎤 🤦‍♂️

Короче да, перезапишу в скором времени, но пока что это фиаско, братан 😂

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

Задачи довольно сложные. Кодовая база не просто большая, а 🤬 какая большая. Более 100 микросервисов + несколько монолитов.

Фикшу баги, занимаюсь аналитическими задачами.

Была аналитическая задача узнать на какую максимально возможную версию можно поднять один крайне важный инфраструктурный компонент.

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

Я описываю в общих чертах без конкретики, так как не хочется случайно нарушить nda, но в общих чертах поделиться все равно хочу.

Сломалось что-то важно и нужное прям каждый день. Клиенты страдали от этой поломки. Нужно было сделать фикс максимально быстро. Замедлилась обработка сообщений в одном брокере сообщений. И надо было понять почему. С учетом размера кодовой базы и отсутствием доступа к логам прода понять это было не то чтобы очень просто.

За первый день удалось разобраться в принципе как эта херабора работает.

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

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

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

Решая эту проблему вдруг пришла мысль: «теперь понятно, почему мне платят такие деньги»

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

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

К понедельнику (истерический смех).

Примерно такие вот будни у бэкенд проктолога. Во всем этом дерьме стараюсь научиться выделять время этому проекту, радовать вас чем-то полезным интересным. Иногда забываю включить микрофон…
🔥96👍4
Поделитесь плз, читаете ли вы книги? И если да, то как?

- Бумажные
- В читалках электронных?
- На телефонах/планшетах? Какие юзаете приложения-читалки?

И как вы выбираете что почитать? Как приходит понимание, что вот эту книжку я почитать хочу?

Думаю снова вернуться к чтению и хочу понять какой формат был бы удобным для меня)
💘2
Media is too big
VIEW IN TELEGRAM
Завтра будет новый видос 😱
@AivenDemin, кажется, он тебе понравится)
🔥4🤣3👏2👍1
This media is not supported in your browser
VIEW IN TELEGRAM
😁4🤩2
Как изначально назывался язык программирования Java?
Anonymous Quiz
15%
Lava 🔥🌋
6%
Nova
45%
Oak 🌳
23%
CoffeeScript ☕️
2%
GreenTea 🍵
5%
С --
3%
ByteBrew 🧑‍💻🍺
👍4😱2🥴2
This media is not supported in your browser
VIEW IN TELEGRAM
А я тут рилсик запилил, и в мотиваторы подался 🌚
10🔥7👍3
Я как-то снимал видос про докер на YouTube.

И недавно пришел чел, и сказал:
- Непонятно, поясни за эти файлы (см скрин)

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

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

Урок в коментах.

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

Залетайте короче
🔥5👍4❤‍🔥3