Что выведет код выше?
Anonymous Poll
18%
true
58%
false
22%
Ошибка компиляции
1%
Исключение в runtime
Всем привет!
На этот год у меня весьма амбициозные планы по развитию своей наставнической деятельности.
Будет больше видосов на YouTube. А в канале больше кружопелей, подксатов, вопросов-ответов, и полезных постов.
Все это в амбициозных планах, которые разбиваются о мою ленивую жопу 🍑
Можно было бы списать все на большую загруженность, сбитый режим, нехватку времени, магнитные бури и на Венеру не в том доме, но... есть подозрение, что виновник торжества где-то внутри, а не снаружи🗿 .
Поэтому, пока что, вместо сочного видоса или моего бородатого лица в кружопеле, я подготовил для вас маленькую статейку на тему того,
Почему 0.1 + 0.2 != 0.3 в Java?
Судя по распределению голосов выше -победил Трамп почитать ее было бы полезно всем, кто тыкнул не в false 😅
На этот год у меня весьма амбициозные планы по развитию своей наставнической деятельности.
Будет больше видосов на YouTube. А в канале больше кружопелей, подксатов, вопросов-ответов, и полезных постов.
Все это в амбициозных планах, которые разбиваются о мою ленивую жопу 🍑
Можно было бы списать все на большую загруженность, сбитый режим, нехватку времени, магнитные бури и на Венеру не в том доме, но... есть подозрение, что виновник торжества где-то внутри, а не снаружи
Поэтому, пока что, вместо сочного видоса или моего бородатого лица в кружопеле, я подготовил для вас маленькую статейку на тему того,
Почему 0.1 + 0.2 != 0.3 в Java?
Судя по распределению голосов выше -
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 пропертя.
Над сервисом, который отвечает за логику интеграции стоит
А теперь загадка:
Как посмотреть с каким значением этой проперти сервис задеплоили на прод?
Приложуха крутится в докере, к нему есть доступ.
Актуатора нет(
Накидывайте варианты, и позже расскажу как я выучил команду docker cp⭐️
Тут несколько вариантов:
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🔥4❤3😨1
Всем привет!
Пропал на какое-то время. Буду исправляться.
Сейчас в разработке обучающий видос по ACID и Transactional🔥
Одна из любимых тем на собесах🤌
Хочу максимально упростить освоение этой приблуды 🤓
Расскажу про уровни изоляции транзакций.
Разберем транзакции в Spring
различные варианты propagation аннотации Transactional.
Выложу ориентировочно завтра, так что до встречи на ютубе 🤝
Пропал на какое-то время. Буду исправляться.
Сейчас в разработке обучающий видос по ACID и Transactional
Одна из любимых тем на собесах
Хочу максимально упростить освоение этой приблуды 🤓
Расскажу про уровни изоляции транзакций.
Разберем транзакции в Spring
различные варианты propagation аннотации Transactional.
Выложу ориентировочно завтра, так что до встречи на ютубе 🤝
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17❤4👍3
Ура, товарищи!
Наконец этот видос загрузился)
Накидайте плз лайков, но только если будет интересно)
https://www.youtube.com/watch?v=Qx7fZqt9cAY
Наконец этот видос загрузился)
Накидайте плз лайков, но только если будет интересно)
https://www.youtube.com/watch?v=Qx7fZqt9cAY
YouTube
ACID и уровни изоляции транзакций | Простое объяснение с примерами ошибок
Telegram: https://news.1rj.ru/str/+HTd2UpOAjWYzNzZi
💾 ACID и уровни изоляции транзакций — простое объяснение с примерами
В этом видео мы разберём, что такое ACID в базах данных, зачем нужны транзакции и какие требования предъявляются к транзакционным системам. Вы узнаете…
💾 ACID и уровни изоляции транзакций — простое объяснение с примерами
В этом видео мы разберём, что такое ACID в базах данных, зачем нужны транзакции и какие требования предъявляются к транзакционным системам. Вы узнаете…
❤7👍5🔥5
Так, ребят, всем привет!
Я короче понял, что постов про Java делать не хочу.
1. Есть дофига каналов, где это итак делается. Например вот
2. Вся эта инфа итак есть в инете в больших объемах. И как-то изгаляться, чтобы написать как-то иначе о том, что уже 1000 раз обсосали - ну такое себе.
Несмотря на это я хочу приносить пользу, поэтому:
1. У нас есть чат, где вы можете задать вообще любой около-джавный вопрос - и получить ответ (более менее адекватный)
2. Мне понравилось делать видосы на ютюб. Вот там буду рассказывать и показывать что-то полезное (возможно)
А что тут?
Здесь хочу писать о себе, делиться мыслями, страхами, успехами и неудачами. Короче обычные, человечные, эмоциональные посты.
А то, чесслово, уже устал оправдываться перед собой за то, что посты не пишу про фишки джавы и тонкости спринга. Не хочу)
Я короче понял, что постов про Java делать не хочу.
1. Есть дофига каналов, где это итак делается. Например вот
2. Вся эта инфа итак есть в инете в больших объемах. И как-то изгаляться, чтобы написать как-то иначе о том, что уже 1000 раз обсосали - ну такое себе.
Несмотря на это я хочу приносить пользу, поэтому:
1. У нас есть чат, где вы можете задать вообще любой около-джавный вопрос - и получить ответ (более менее адекватный)
2. Мне понравилось делать видосы на ютюб. Вот там буду рассказывать и показывать что-то полезное (возможно)
А что тут?
Здесь хочу писать о себе, делиться мыслями, страхами, успехами и неудачами. Короче обычные, человечные, эмоциональные посты.
А то, чесслово, уже устал оправдываться перед собой за то, что посты не пишу про фишки джавы и тонкости спринга. Не хочу)
🔥14👍8❤2
Я, в общем-то, неплохой прогер. Но когда дело касается железа, я вообще нуб-нубяра.
Мне всегда было влом разбираться в железе, в том, какие видюхи топ, и что такое 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к меньше, чем мог, да и я сам остался довольным 😎.
Погамал в игрушки, монтаж летает 🚀.
Хочется в это всё впихнуть полезную мысль, которую я для себя открыл.
Часто мы думаем, что не можем что-то сделать. Если поменять угол восприятия и задаться вопросом: «А как я могу это сделать?», то, скорее всего, окажется, что невозможность рассеется, и вы увидите разные варианты обретения желаемого.
✨ Всем пис, обретайте желаемое! И если интересно подробнее про новый комп узнать — напишите в комментах! 😃
Мне всегда было влом разбираться в железе, в том, какие видюхи топ, и что такое 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
Буквально только что узнал, что минуты через 3 начнется конференция по Spring на русском языке.
Если кому интересно, залетайте сюда:
https://springnow.ru
springnow.ru
Spring Now 2026
👍4🔥4
Вопрос, на который я не ответил на собесе 👩💻
Короче, смотрите, все знают, что нельзя удалять из списка элементы в for-each цикле👎
А если не знают, то теперь знают.👍
Если внутри что-то удалить из списка (или добавить) будет атата: ⚠️
Когда мы итерируемся по коллекции через for-each , Компилятор преобразует for-each в использование
И даже если мы возьмем итератор:
Добавим что-то в список:
Пробежимся итератором по списку:
На первой же итерации в методе
❓ ❓ ❓
Вопрос: как итератор понимает, что список модифицировали?
Короче, смотрите, все знают, что нельзя удалять из списка элементы в 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👍3❤1
В общем да, налутал вопросов с рейда на собес.
Поделюсь еще одним.🪙
Представим себе, что у нас есть два синхронизированных метода:
Вопрос:❓
Могут ли методы wtf1() и wtf2() выполняться одновременно разными потоками?
Поделюсь еще одним.
Представим себе, что у нас есть два синхронизированных метода:
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 собес, к тем же ребятам.
Из того, на что можно было бы лучше ответить - способы блокировок в бд, а именно👩💻
А лучше не просто почитайте, а представьте, что есть таблица
Статус может быть
Задача - селектнуть все записи со статусом⚡
Делать это необходимо в нескольких потоках.
Т.е. 1 поток - 1 обработчик записей
Вопрос❓
👩💻 Какой селект написать для каждого обработчика, для того, чтобы организовать параллельную обработку записей?
Обработчики не знают друг о друге, их может быть от одного до N (количество не важно)
Хинт в начале поста закинул. Развлекайтесь)
Сходил на еще 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
🔥5❤3👍2
Шпаргалка по Kafka.pdf
8.7 MB
Всем привет!
Ловите шпору по кафке, надеюсь будет полезно 😎
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15❤2👍1
Не будьте равнодушными к своей работе, особенно если это ваша первая работа.
Это разбивает сердце лидам 💔
И приводит к увольнениям 😅
Подробности расскажу позже
Голосовуха естественно выложена с согласия голосообладателя
Это разбивает сердце лидам 💔
И приводит к увольнениям 😅
Подробности расскажу позже
Java Mentor
Не будьте равнодушными к своей работе, особенно если это ваша первая работа. Это разбивает сердце лидам 💔 И приводит к увольнениям 😅 Подробности расскажу позже Голосовуха естественно выложена с согласия голосообладателя
Подробности.
Был у нас разработчик, новенький во всех смыслах🔤 🔤 🎆
К слову я его собеседовал, и рекомендовал не делать ему оффера.🌟
Но наше руководство, ввиду своей терпимости к альтернативно одаренным, решило иначе.🤓
Вопросы к работе человека возникали не в первый раз.🤔
Многие вещи были непонятны. Но это и не страшно. Это и не плохо. Это нормально. Не бойтесь тупить. Думаю достаточно дисклеймеров для всех мягкосердечных, поехали дальше.🥰
Самое страшное, что у человека отсутствовало желание разобраться в непонятном вопросе.😐
Либо он свое желание не транслировал, и всячески удерживал себя от реализации этого желания🗿
Голос, который транслирует душевную боль в голосовухе выше, принадлежит нашему тех лиду, который в силу своей должности, обречен делать ревью всего говнокода, который мы порождаем.😭
Что вызвало такие эмоции?
Человеку дали задачу, которая была оценена предварительно в день работы. Задача из разряда поменять в dto некоторые поля и поправить sql запрос.
Человек (не знаю как по другому его называть, имена палить не хочется) оценил задачу в 4.5 дня.❔
В качестве результата работы был выдан копипаст старого кода.😂
Я сам не до конца понимаю, как все это произошло, и передаю, так сказать, со слов очевидца.
Когда у человека стали спрашивать на что были потрачены 4.5 дня, человек попросил уволиться одним днем.🤩 ⭐️ 👋
Теорию о том, что опыт нарисован в резюме, выдвинул я. Все таки очень сложно производить впечатление человека с опытом в три года, когда этого опыта нет совсем.
Но что поделать, к этому привели рынок, реальность и ретроградный меркурий.🃏
Кто-то готов с этим мириться, кто-то нет. Суть поста не в этом. А в том, чтобы… ну послушайте голосовуху выше)
Был у нас разработчик, новенький во всех смыслах
К слову я его собеседовал, и рекомендовал не делать ему оффера.
Но наше руководство, ввиду своей терпимости к альтернативно одаренным, решило иначе.
Вопросы к работе человека возникали не в первый раз.
Многие вещи были непонятны. Но это и не страшно. Это и не плохо. Это нормально. Не бойтесь тупить. Думаю достаточно дисклеймеров для всех мягкосердечных, поехали дальше.
Самое страшное, что у человека отсутствовало желание разобраться в непонятном вопросе.
Либо он свое желание не транслировал, и всячески удерживал себя от реализации этого желания
Голос, который транслирует душевную боль в голосовухе выше, принадлежит нашему тех лиду, который в силу своей должности, обречен делать ревью всего говнокода, который мы порождаем.
Что вызвало такие эмоции?
Человеку дали задачу, которая была оценена предварительно в день работы. Задача из разряда поменять в dto некоторые поля и поправить sql запрос.
Человек (не знаю как по другому его называть, имена палить не хочется) оценил задачу в 4.5 дня.
В качестве результата работы был выдан копипаст старого кода.
Я сам не до конца понимаю, как все это произошло, и передаю, так сказать, со слов очевидца.
Когда у человека стали спрашивать на что были потрачены 4.5 дня, человек попросил уволиться одним днем.
Теорию о том, что опыт нарисован в резюме, выдвинул я. Все таки очень сложно производить впечатление человека с опытом в три года, когда этого опыта нет совсем.
Но что поделать, к этому привели рынок, реальность и ретроградный меркурий.
Кто-то готов с этим мириться, кто-то нет. Суть поста не в этом. А в том, чтобы… ну послушайте голосовуху выше)
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣8😱6