Pull to refresh
33
Karma
0
Rating
Илья Сазонов @poxvuibr

Software developer

Spring Data Specification: наложение фронтенд-фильтров на репозитории spring data

Да тут впринципе со статьёй что-то не так. Сначала написано, что будем искать книги, у которых название начинается с какой-то строки, но в коде ничего такого нет. Энтити с книгами и авторами нет, есть какой-то Workspace. Ну и так далее

Пишем плагин для IntelliJ IDEA. Ускоряем написание тестов на DTO

Стоит что-то пропустить и затем либо вечно об этом помнить, чтобы никому ничего не сломать

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

Пишем плагин для IntelliJ IDEA. Ускоряем написание тестов на DTO

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

В примере используется Lombok, его можно настроить, чтобы он ставил на сгенерированные dto анотации *Generated . Тогда jacoco проигнорирует сгеренерированный код. Затраты небольшие, специально пакеты указывать не надо. Мне кажется эту фичу часто используют

Пишем плагин для IntelliJ IDEA. Ускоряем написание тестов на DTO

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

Я часто встречаюсь с мнением, что такие тесты вооще не нужны, потому что работоспособность сериализации и десериализации постоянно проверяется QA в процессе тестирования системы и разработчиками в процессе разработки (они это через сваггер делают). Это мнение мне неблизко, но всё-таки мне очень интересно, как вы убедили разработчиков, что такие тесты нужны.

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

Как самому за один вечер собрать минимальную ОС Linux из исходного кода

Чисто навскидку, насколько lfs собирать дольше, чем то, что описано в статье?

То ли я не умею собирать информацию и заметки на десктопе, то ли с таким софтом под Windows всё очень плохо

Редактор статей вроде понимает маркдаун-команды

Ооо, действительно )). Он преобразует текст на лету.


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


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


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


Хорошая новость )))

То ли я не умею собирать информацию и заметки на десктопе, то ли с таким софтом под Windows всё очень плохо

Аа, вы по комментарии! Я то подумал, может и правда можно статьи с помощью Markdown писать. Увы ((

То ли я не умею собирать информацию и заметки на десктопе, то ли с таким софтом под Windows всё очень плохо

На «Хабре» бесподобный новый редактор. Хочешь WYSIWYG, хочешь маркдаун

А как включить маркдаун в новом редакторе?

Hibernate Best Practices для начинающих

А какая альтернатива у UUID.toString()? Что вам нравится меньше?

Hibernate Best Practices для начинающих

Используйте UUID как идентификатор.
String id;

Так UUID или String ?

Hibernate Best Practices для начинающих

например, сущность не имеет связей и коллекций. все равно плохо?

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


так а если есть необходимость использовать все поля для equals и hashcode?

А как возникнет такая необходимость, если сущность не хранится в коллекциях? Для чего это может понадобиться?

Новая версия Хабра. Ещё не всё потеряно, ещё не всё?… (часть вторая)

А может быть кто-нибудь в курсе, почему решили убрать возможность использовать markdown для статей?

Я проехал на односкоростном велосипеде 270 км за сутки, чтобы показать атлетам: набор высоты — это условность

Я ответил на ваши вопросы?

Да, исчерпывающе, большое спасибо!


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

Очень интересно по поводу суставов. Можно велосипедом колени повредить? Я то думал, крути себе педали и крути, по сравнение с бегом вообще для колен не вредно

Я проехал на односкоростном велосипеде 270 км за сутки, чтобы показать атлетам: набор высоты — это условность

Да что такое этот ваш набор высоты? Почему надо было показывать, что это условность? Зачем вместе с рекомендацией игнорировать набор высоты рядом стоит рекомендация беречь суставы? Так много вопросов и так мало ответов!

YouTube Vanced больше нет. Но есть ReVanced

Боже мой )).


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


Но именно вот это, не следящее устройство назвали Большим Братом )). Какая ирония!

Почему следует избегать использования JPA/Hibernate в продакшене

Любопытно, как на текущем месте работы обоснована рекомендация не использовать JPA. Или это просто так сложилось?

Моя борьба с санкциями или как появился умный VPN

Это круто, конечно! Год назад где-то мне бы очень помогло что-то, что роутит запросы не по айпи, а по символьному имени. То есть всё, в чём есть, например, слово youtube, нужно направлять в vpn, а всё, где его нет, мимо vpn. Да и сейчас это мне пригодится. Я так понимаю mrvpn либо это уже может, либо надо только совсем немного поправить код. Бурные апплодисменты!


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


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


Ещё интересно, почему именно веб-сокеты. Почему не обыкновенные сокеты (не знаю, как их правильно назвать )) ) или не unix domain sockets?


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

Тренировка мозга для эффективной деятельности

Зачем? Я упоминал первоисточники. С работами Савельева знаком, противоречий особых не вижу.

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

Тренировка мозга для эффективной деятельности

Да, Савельев к статье имеет отношение, натолкнул на идею ее написать.

Так чего ж вы в статье про Савельева ни слова не написали?

Тренировка мозга для эффективной деятельности

Давненько я не читал такой лютый гугл транслейт

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

Information

Rating
Does not participate
Date of birth
Registered
Activity