Size: a a a

pgsql – PostgreSQL

2020 May 31

Ð

Ð in pgsql – PostgreSQL
Dmitriy Momotyuk
Применимо к типизированным языкам
В нетипизированных чаще всего их воспринимают за одно (отсутствие значения)
совсем нет, только говнокодеры делают if(string) где пустая строка, нулл и андифайнед это одно и то же
источник

Ð

Ð in pgsql – PostgreSQL
в нормальном проекте такого даже не может быть, все строго и валидировано
источник

DM

Dmitriy Momotyuk in pgsql – PostgreSQL
Найс вброс, но нет
источник

DM

Dmitriy Momotyuk in pgsql – PostgreSQL
Писать в каждом условии exists && defined && != '' это оверкилл когда ЯП тебе позволяет этого не делать
Каждую эту операцию нужно делать только когда у этих значений разный пост-процессинг
источник

Ð

Ð in pgsql – PostgreSQL
Dmitriy Momotyuk
Писать в каждом условии exists && defined && != '' это оверкилл когда ЯП тебе позволяет этого не делать
Каждую эту операцию нужно делать только когда у этих значений разный пост-процессинг
так делают обычно те кто не фильтрует внешние данные, в частности схемами
источник

Ð

Ð in pgsql – PostgreSQL
да, ифы - это мучение и страдание, для говнокодеров :)
источник

DM

Dmitriy Momotyuk in pgsql – PostgreSQL
собственно для валидации и придумали схемы, чтобы убрать эту логику из кода
источник

Ð

Ð in pgsql – PostgreSQL
так точно :)
источник

Ð

Ð in pgsql – PostgreSQL
и в типизированных тоже, кстати. Негоже фильтровать и валидировать внешние данные встроенными исключениями несоответствия типа и прочими неявными способами
источник

Ð

Ð in pgsql – PostgreSQL
нет никаких проблем в том чтобы использовать нулл и пустые строки логично и по назначению
источник

DM

Dmitriy Momotyuk in pgsql – PostgreSQL
всегда нужно стремиться к чему-то лучшему, но некоторым не хватает стремления или знаний
я бы не сказал что это такая большая проблема, только если она не приводит к проблемам в бизнес-логике или секурности
иногда в легаси проектах исключениями приходится делать, потому что в базе, например, тот же жсон, в нём могут быть как числа так и строки и там два пути:
найти все места которые пишут с неправильным типом и привести к одному + сделать миграцию
или обрабатывать исключениями
и не всегда есть возможность пойти по первому пути
источник

Ð

Ð in pgsql – PostgreSQL
Dmitriy Momotyuk
всегда нужно стремиться к чему-то лучшему, но некоторым не хватает стремления или знаний
я бы не сказал что это такая большая проблема, только если она не приводит к проблемам в бизнес-логике или секурности
иногда в легаси проектах исключениями приходится делать, потому что в базе, например, тот же жсон, в нём могут быть как числа так и строки и там два пути:
найти все места которые пишут с неправильным типом и привести к одному + сделать миграцию
или обрабатывать исключениями
и не всегда есть возможность пойти по первому пути
смешивание нуллов, булей и пустых строк очень часто приводит к жутким аномалиям, "бомбам замедленного действия"
источник

DM

Dmitriy Momotyuk in pgsql – PostgreSQL
всё так, но чо поделать
не всегда это зависит только от разработчика
источник

Ð

Ð in pgsql – PostgreSQL
как и жсоны в базе, в общем-то, вот вчера тут пример был, когда возникла необходимость что-то там выбирать по наличию элемента в массиве который хранится в поле жсонб
источник

DM

Dmitriy Momotyuk in pgsql – PostgreSQL
у меня был описанный мною кейс
сначала пошел по пути исключений просто чтобы работало, потом углубившись в проект и найдя все места которые туда пишут - привел к одному типу и сделал миграцию
но, повторюсь, не у всех есть желание вообще заниматься такими вещами
очень многие (даже сильные разработчики) пишут код по принципу "работает - не трогай" и не занимаются реальной поддержкой
источник

DM

Dmitriy Momotyuk in pgsql – PostgreSQL
ну и бизнес не очень любит в такие вещи вкладывать ресурсы
источник

SE

Sergey Engels in pgsql – PostgreSQL
Ребята и девчата, задам избитый вопрос.
А как организовать бэкап баз в постгресе на windows? 🤨
На ум приходит только pg_dump по планировщику, три-четыре раза в день. Но как органихзовать им ротацию, чтобы в конце дня оставлять только один последний. и так за неделю, за месяц.
источник

SE

Sergey Engels in pgsql – PostgreSQL
какие-то костыли роятся в моей голове
источник

SE

Sergey Engels in pgsql – PostgreSQL
направьте на путь истинный, как правильнее
источник

Ð

Ð in pgsql – PostgreSQL
Dmitriy Momotyuk
ну и бизнес не очень любит в такие вещи вкладывать ресурсы
бизнес разный бывает, к счастью.
источник