Если не задать -Xmx, то какое дефолтное значение будет взято?
Anonymous Quiz
27%
1 гигабайт
23%
Вся доступная память
41%
1/4 физической памяти
9%
1/2 физической памяти
This media is not supported in your browser
VIEW IN TELEGRAM
Ловите продвинутый инструмент для разработчиков
👍1🔥1🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
Крутите барабан - или ваши ретро выглядят не так?
😁1
В дополнение к видео выше - тесты - это часть процесса разработки, это ваши 'друзья', которые помогают понять сломали вы логику приложения или нет, а ещё отчасти документируют поведение.
На своих проектах я бывает рефакторю код на 100+ классов и не особо беспокоюсь, что приложение не взлетит только потому, что основная бизнес-логика у меня покрыта тестами. Желаю и вам той же уверенности в том, что вы пишете.
P.S. Отдавать написание тестов на откуп ИИ не имеет никакого смысла, ведь при их самостоятельном написании можно обнаружить ошибки в логике.
На своих проектах я бывает рефакторю код на 100+ классов и не особо беспокоюсь, что приложение не взлетит только потому, что основная бизнес-логика у меня покрыта тестами. Желаю и вам той же уверенности в том, что вы пишете.
P.S. Отдавать написание тестов на откуп ИИ не имеет никакого смысла, ведь при их самостоятельном написании можно обнаружить ошибки в логике.
👍4
Айти бывает разным.
Мы все привыкли пользоваться сервисами для повседневной жизни, но в этот день стоит вспомнить пути своих предков. В этом мне помогает сайт https://m.pamyat-naroda.ru/ . К сожалению точной информации у меня никогда не было и мне он очень помог хоть как-то понять, что случилось с участниками ВОВ из моих родственников. Надеюсь, что вам он тоже поможет.
С праздником победы!
Мы все привыкли пользоваться сервисами для повседневной жизни, но в этот день стоит вспомнить пути своих предков. В этом мне помогает сайт https://m.pamyat-naroda.ru/ . К сожалению точной информации у меня никогда не было и мне он очень помог хоть как-то понять, что случилось с участниками ВОВ из моих родственников. Надеюсь, что вам он тоже поможет.
С праздником победы!
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Так или не так?
Невыдуманные истории
Пришли ко мне как-то раз посмотреть проблемы утечки памяти (в простонародье OOM) в результате нагрузочного тестирования, вообще довольно частая проблема на самом деле, когда что-то выжирает вашу память и надо детектировать этого нарушителя.
Сразу опущу вводную часть с проверкой конфигураций и прочим (оно на самом деле важное, но пожалуй в другом посте или видео объясню). По мониторингу (это тоже отдельная тема для разговора) нашел очень интересную штуку - один эндпоинт был со средним временем ответа порядка 3-4 минут (для реста это ну очень много и выходит за рамки дозволенного). Копаясь в коде я обнаружил некоторые изменения, которые как раз были сделаны и одна из заглушек возвращала
а дальше по коду просто была попытка получить результат выполнения через get().
Попробуйте предположить какая же здесь кроется проблема, не заглядывая дальше по тексту.
А проблема вот в чем - эта самая фича не имеет результата, а следовательно будет висеть пока поток кто-то не прервет для прекращения ожидания, как итог получаем множество потоков, которые просто встали в ожидании пока завершится та самая фича.
Как это можно исправить - использовать статические методы (с передачей результата выполнения в метод)
Пришли ко мне как-то раз посмотреть проблемы утечки памяти (в простонародье OOM) в результате нагрузочного тестирования, вообще довольно частая проблема на самом деле, когда что-то выжирает вашу память и надо детектировать этого нарушителя.
Сразу опущу вводную часть с проверкой конфигураций и прочим (оно на самом деле важное, но пожалуй в другом посте или видео объясню). По мониторингу (это тоже отдельная тема для разговора) нашел очень интересную штуку - один эндпоинт был со средним временем ответа порядка 3-4 минут (для реста это ну очень много и выходит за рамки дозволенного). Копаясь в коде я обнаружил некоторые изменения, которые как раз были сделаны и одна из заглушек возвращала
return new CompletableFuture();
а дальше по коду просто была попытка получить результат выполнения через get().
Попробуйте предположить какая же здесь кроется проблема, не заглядывая дальше по тексту.
А проблема вот в чем - эта самая фича не имеет результата, а следовательно будет висеть пока поток кто-то не прервет для прекращения ожидания, как итог получаем множество потоков, которые просто встали в ожидании пока завершится та самая фича.
Как это можно исправить - использовать статические методы (с передачей результата выполнения в метод)
CompletableFuture.completedFuture(U value);
CompletableFuture.failedFuture(Throwable ex);
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Уже завтра он встретит вас на работе
😁6
Попробовал я значит эти разрекламированные сегодня тесты на форуме ЦИПР (это же надо додуматься, чтобы на такой уровень вынести 10-20 - минутные тесты для разрабов как вау-технология).
Краткий итог - шлак полнейший - теоретические вопросы еще более-менее, но практика с ужасным редактором кода, который даже не умеет в автокомплит - это фиаско (на самом деле то ли тормозит, то ли частично умеет). Кроме того - задачи элементарные, но с кучей условий, что ты можешь не успеть вспомнить все нужные статические методы, которые на практике не часто используешь, вроде parseDouble, Math.pow. Вообще эта часть похожа на алгоритмическую секцию в одной известной компании на "Я" - сидишь как дурак и пытаешься доказать, что ты - не верблюд.
Кто пытался - кидайте в комменты свои впечатления!
Краткий итог - шлак полнейший - теоретические вопросы еще более-менее, но практика с ужасным редактором кода, который даже не умеет в автокомплит - это фиаско (на самом деле то ли тормозит, то ли частично умеет). Кроме того - задачи элементарные, но с кучей условий, что ты можешь не успеть вспомнить все нужные статические методы, которые на практике не часто используешь, вроде parseDouble, Math.pow. Вообще эта часть похожа на алгоритмическую секцию в одной известной компании на "Я" - сидишь как дурак и пытаешься доказать, что ты - не верблюд.
Кто пытался - кидайте в комменты свои впечатления!
👍1😁1
Включил ненадолго сообщения в канале - проверим насколько это целесообразно и не будет ли спама.
Немного про практику. 💻 Технический дневник.📒
Впервые о нем я прочёл в книге 'Программист-прагматик'. Я и до этого делал некоторые заметки, но после стал намного чаще. О чем вообще эта идея - всякий раз, когда вы решаете какую-то задачу и сталкиваетесь с нестандартным кейсом, фиксируете это. Я последнее время использую телефон, несмотря на то, что бумага иногда даже лучший вариант. Просто блокнот в моменте не всегда под рукой.
У меня в заметках телефона накопилось уже очень много таких знаний, буду пробовать с вами делиться в том или ином виде. А пока вы можете эту технику взять и себе на вооружение - это полезно не только на работе, но и в учёбе - ведь она для разработчика никогда не заканчивается.
Впервые о нем я прочёл в книге 'Программист-прагматик'. Я и до этого делал некоторые заметки, но после стал намного чаще. О чем вообще эта идея - всякий раз, когда вы решаете какую-то задачу и сталкиваетесь с нестандартным кейсом, фиксируете это. Я последнее время использую телефон, несмотря на то, что бумага иногда даже лучший вариант. Просто блокнот в моменте не всегда под рукой.
У меня в заметках телефона накопилось уже очень много таких знаний, буду пробовать с вами делиться в том или ином виде. А пока вы можете эту технику взять и себе на вооружение - это полезно не только на работе, но и в учёбе - ведь она для разработчика никогда не заканчивается.
👍5🔥1
В пользу поста выше. 👆
Я как-то с другим сеньором решал проблему того, что созданный мок в тестах не отрабатывал, те не отрабатывал verify на вызове его метода (если не поняли, то ничего страшного) 🤔. Проблему мы как-то решили и забыли. А буквально вчера в общем чате джавистов про похожую кто-то спросил, а я не запомнил и не записал, что в итоге сделали. А ведь мог оперативно помочь коллеге, да и сам освежить свою память по этому кейсу.
Я как-то с другим сеньором решал проблему того, что созданный мок в тестах не отрабатывал, те не отрабатывал verify на вызове его метода (если не поняли, то ничего страшного) 🤔. Проблему мы как-то решили и забыли. А буквально вчера в общем чате джавистов про похожую кто-то спросил, а я не запомнил и не записал, что в итоге сделали. А ведь мог оперативно помочь коллеге, да и сам освежить свою память по этому кейсу.