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

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

Все это в амбициозных планах, которые разбиваются о мою ленивую жопу 🍑

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

Поэтому, пока что, вместо сочного видоса или моего бородатого лица в кружопеле, я подготовил для вас маленькую статейку на тему того,

Почему 0.1 + 0.2 != 0.3 в Java?

Судя по распределению голосов выше - победил Трамп почитать ее было бы полезно всем, кто тыкнул не в false 😅
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍6🔥4🤣2👎1
Иногда мне пишут: Анзор, интеграция поломалась.

Тут несколько вариантов:
1. Интеграция просто выключена
2. Интеграция поломалась
3. Увольняться

Увы, пока что вариант 3 неприемлем, так что разбираемся с тем, включена ли интеграция или выключена.

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

Запрашивает прямо селектом из внешней базы.

И как-то раз, мы всю базу внешнему сервису и положили.

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


Ну так вот, первый переключатель находится в таблице системных настроек. В нем простой true/false. Чтобы можно было включать и выключать в рантайме.

А второй - в application.yml

Тоже true/false пропертя.

Над сервисом, который отвечает за логику интеграции стоит @ConditionalOnProperty и сервис интеграции зависит от этой самой проперти.


А теперь загадка:
Как посмотреть с каким значением этой проперти сервис задеплоили на прод?

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

Актуатора нет(

Накидывайте варианты, и позже расскажу как я выучил команду docker cp ⭐️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥43😨1
Всем привет!

Пропал на какое-то время. Буду исправляться.

Сейчас в разработке обучающий видос по ACID и Transactional 🔥

Одна из любимых тем на собесах 🤌

Хочу максимально упростить освоение этой приблуды 🤓

Расскажу про уровни изоляции транзакций.

Разберем транзакции в Spring
различные варианты propagation аннотации Transactional.

Выложу ориентировочно завтра, так что до встречи на ютубе 🤝
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥174👍3
This media is not supported in your browser
VIEW IN TELEGRAM
👍96👌2
Так, ребят, всем привет!

Я короче понял, что постов про Java делать не хочу.

1. Есть дофига каналов, где это итак делается. Например вот
2. Вся эта инфа итак есть в инете в больших объемах. И как-то изгаляться, чтобы написать как-то иначе о том, что уже 1000 раз обсосали - ну такое себе.

Несмотря на это я хочу приносить пользу, поэтому:

1. У нас есть чат, где вы можете задать вообще любой около-джавный вопрос - и получить ответ (более менее адекватный)
2. Мне понравилось делать видосы на ютюб. Вот там буду рассказывать и показывать что-то полезное (возможно)

А что тут?

Здесь хочу писать о себе, делиться мыслями, страхами, успехами и неудачами. Короче обычные, человечные, эмоциональные посты.

А то, чесслово, уже устал оправдываться перед собой за то, что посты не пишу про фишки джавы и тонкости спринга. Не хочу)
🔥14👍82
Я, в общем-то, неплохой прогер. Но когда дело касается железа, я вообще нуб-нубяра.

Мне всегда было влом разбираться в железе, в том, какие видюхи топ, и что такое DDR3-4-5. А что у процов есть поколения — я вообще понял недавно.

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

Когда я закончил универ, я купил себе комп за 50к. Б/у. Он был хороший. До тех пор, пока я не решил его почистить. После моей чистки сгорело всё: материнка, видюха, проц, звуковая карта, оперативка. 🔥💀

И я заменил это всё чем-то, что влезло в корпус и в мой бюджет:

🖥 Материнка
ASUSTeK COMPUTER INC. B85M-E Rev X.0x microATX

⚙️ Проц
Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz, 4 cores

🧠 16 ГБ ОЗУ DDR3

⚡️ БП
Corsair VS 650W

🎮 Видюха
Radeon RX 570 Series

Как говорится: «Я его слепила из того, что было, ну а то, что было, то и полюбила».

Любовь эта длилась долго. Даже не любовь. Такой пресный брак, без радостей супружеской жизни. 😅

Я мог программировать — и хорошо. Ну а потом я устроился в Dins, и там мне дали ноут мечты:

💻 ThinkPad T14, i7 и 32 ГБ оперативки.

Так я и жил, пока не начал заниматься монтажом. И тут мои девайсы стали давиться объёмами возложенных на них задач. 🎬

Установка «я не могу купить себе новый комп, потому что это очень дорого» мешала наслаждаться процессом.

Я всё время искал какие-то обходные пути. Открыл для себя сервисы облачного гейминга, где можно арендовать мощное железо и работать условно через RDP.

Юзал два таких сервиса:
🎮 Warplay, Gatoga.

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

Но я арендую квартиру, и инет тут не быстрый. Так что приходилось мириться с фризами и обрывами соединения. 📶😩

Терпелка у меня не резиновая, и в какой-то момент лопнула.

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

Потом открыл Озон и увидел, что там прям топовый комп продают за 100+ 😳.

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

И он помог мне собрать комплектующие, суммарно на 131к.

💰 Жёну успокоил факт, что я потрачу на 170к меньше, чем мог, да и я сам остался довольным 😎.

Погамал в игрушки, монтаж летает 🚀.

Хочется в это всё впихнуть полезную мысль, которую я для себя открыл.

Часто мы думаем, что не можем что-то сделать. Если поменять угол восприятия и задаться вопросом: «А как я могу это сделать?», то, скорее всего, окажется, что невозможность рассеется, и вы увидите разные варианты обретения желаемого.

Всем пис, обретайте желаемое! И если интересно подробнее про новый комп узнать — напишите в комментах! 😃
❤‍🔥8👍8🔥7
Онлайн конференция по Spring. Бесплатно. Сейчас

Буквально только что узнал, что минуты через 3 начнется конференция по Spring на русском языке.

Если кому интересно, залетайте сюда:

https://springnow.ru
👍4🔥4
Вопрос, на который я не ответил на собесе 👩‍💻

Короче, смотрите, все знают, что нельзя удалять из списка элементы в for-each цикле 👎

А если не знают, то теперь знают.👍

Если внутри что-то удалить из списка (или добавить) будет атата: ⚠️ConcurrentModificationException

Когда мы итерируемся по коллекции через for-each , Компилятор преобразует for-each в использование Iterator, как если бы код выглядел так:

Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String item = iterator.next();
System.out.println(item);
}


И даже если мы возьмем итератор:

Iterator<String> iterator = list.iterator();

Добавим что-то в список:

list.add("B");


Пробежимся итератором по списку:

while (iterator.hasNext()) {
String item = iterator.next();
System.out.println(item);
}




На первой же итерации в методе next() получим ту же бяку: ⚠️ConcurrentModificationException 💩


Вопрос: как итератор понимает, что список модифицировали?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍31
В общем да, налутал вопросов с рейда на собес.
Поделюсь еще одним. 🪙

Представим себе, что у нас есть два синхронизированных метода:

class WTF { 
public synchronized void wtf1() {
System.out.print(" wtf - 1 ");
}

public synchronized void wtf2() {
System.out.print(" wtf - 2 ");
}
}


Вопрос:
Могут ли методы wtf1() и wtf2() выполняться одновременно разными потоками?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍5
Я пожалел, что не знал этого с утра 🙈

Сходил на еще 1 собес, к тем же ребятам.

Из того, на что можно было бы лучше ответить - способы блокировок в бд, а именно select for update 👩‍💻

Почитайте, будет полезно.

А лучше не просто почитайте, а представьте, что есть таблица order с полями:
id
amount
status


Статус может быть PENDING, PROCESSED.

Задача - селектнуть все записи со статусом PENDING и обновить на статус - PROCESSED

Важный момент!
Делать это необходимо в нескольких потоках.

Т.е. 1 поток - 1 обработчик записей

Вопрос

👩‍💻 Какой селект написать для каждого обработчика, для того, чтобы организовать параллельную обработку записей?

Обработчики не знают друг о друге, их может быть от одного до N (количество не важно)

Хинт в начале поста закинул. Развлекайтесь)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥53👍2
Шпаргалка по Kafka.pdf
8.7 MB
🅰️🅰️🅰️🅰️🅰️


Всем привет!
Ловите шпору по кафке, надеюсь будет полезно 😎
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥152👍1
This media is not supported in your browser
VIEW IN TELEGRAM
🔥131
Не будьте равнодушными к своей работе, особенно если это ваша первая работа.

Это разбивает сердце лидам 💔

И приводит к увольнениям 😅

Подробности расскажу позже

Голосовуха естественно выложена с согласия голосообладателя
👍1
Java Mentor
Не будьте равнодушными к своей работе, особенно если это ваша первая работа. Это разбивает сердце лидам 💔 И приводит к увольнениям 😅 Подробности расскажу позже Голосовуха естественно выложена с согласия голосообладателя
Подробности.

Был у нас разработчик, новенький во всех смыслах 🔤🔤🎆

К слову я его собеседовал, и рекомендовал не делать ему оффера. 🌟

Но наше руководство, ввиду своей терпимости к альтернативно одаренным, решило иначе. 🤓

Вопросы к работе человека возникали не в первый раз. 🤔

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

Самое страшное, что у человека отсутствовало желание разобраться в непонятном вопросе.😐

Либо он свое желание не транслировал, и всячески удерживал себя от реализации этого желания 🗿

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

Что вызвало такие эмоции?

Человеку дали задачу, которая была оценена предварительно в день работы. Задача из разряда поменять в dto некоторые поля и поправить sql запрос.

Человек (не знаю как по другому его называть, имена палить не хочется) оценил задачу в 4.5 дня.

В качестве результата работы был выдан копипаст старого кода.😂

Я сам не до конца понимаю, как все это произошло, и передаю, так сказать, со слов очевидца.

Когда у человека стали спрашивать на что были потрачены 4.5 дня, человек попросил уволиться одним днем.🤩⭐️👋

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

Но что поделать, к этому привели рынок, реальность и ретроградный меркурий. 🃏

Кто-то готов с этим мириться, кто-то нет. Суть поста не в этом. А в том, чтобы… ну послушайте голосовуху выше)
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣8😱6
Я меняю работу.

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

Но в какой-то момент свою текущую работу я стал не любить еще больше.

Поэтому решил, что нужно идти на собесы.

Дабы было проще, решил, что не буду принципиально готовиться. Цель просто сходить на собес, а не пройти его.

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

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

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

Пересмотреть свое отношение к финтеху помогли 2 пункта в вакансии:
Зп до полуляма
Нет бюррократии

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

Ладно, откликнулся.

Побеседовал с HR, наметили план:

- тех собес 1 на 1
- тех собес 2 против 1
- знакомство с командой 3 против 1

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

Прошел первый этап, прошел второй этап, прошел третий этап.

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

Оффер я принял, и решил, что раз уж все вышло с первого раза, то на другие собесы ходить не буду 🙃

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

Мой последний день тут 14 апреля и я этому очень рад.

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

Итог. Все оказалось в разы проще, чем я себе рисовал. Да, у меня опыта несколько раз по три года, но тем не менее. Не откладывайте прохождение собесов на годик и 240 месяцев. Нет смысла терпеть так долго. Будет круто, если ты прям щас актуализируешь свою резюмеху, и пойдешь откликаться на все что можно и нельзя. Не откладывай свою жизнь 😘
🔥20❤‍🔥6👍31🤩1