Реляционные СУБД такие быстрые и надёжные, потому что обеспечивают высококонкурентный доступ к данным. При обновлении поля в JSONB будет заблокирована строка. Так что, если всё положить в один большой JSONB и обновлять разные его поля, получится последовательный доступ и узкое место в производительности. Это стоит учитывать при проектировании схемы
Мне кажется, в идеале должно быть кроссплатформенное ядро и набор нативных непортируемых программ для каждой платформы отдельно, использующих по максимуму нативные API системы, написанные на языках нативных для этой платформы, использующие стандарты дизайна для этой платформы и экономящие ресурсы. В таком случае окна будут выглядеть максимально стандартно, но всё же софт будет непортируемый.
Но на практике это дорого и пока этого нет у конкурентов, мало какой бизнес это волнует.
А вот для конечного пользователя этого бизнеса гораздо более важно потребление ресурсов своего компьютера. Да и для бизнеса это всё не так важно только до тех пор, пока лёгкого, нативного и надёжного софта нет у конкурентов.
Код без экспертизы в нём почти всегда write only. Rust кажется понятным, пока не откроешь исходный код какой-нибудь популярной библиотеки. Для меня, как человека, который не пишет ни на C++, ни на Rust на работе, промышленный код на этих языках выглядит одинаково непонятно. На “питомцах” Rust для меня тоже красивый :)
Есть специализированные системы, но если часть данных уже хранится в PostgreSQL, то потребуется дополнительно делать интеграцию с Elasticsearch. К тому же Elasticsearch сам по себе потребует много доп. вычислительных ресурсов. Ну и транзакционную целостность проще обеспечить, храня всё в PostgreSQL, если она требуется.
Первый муж Хеди Ламарр занимался производством оружия и, вероятно, рассказал Хеди, как блокируются радиосигналы управления торпедами. А когда вдруг обнаружилось, что он продает вооружение гитлеровской армии, Хеди сбежала из дома. Уже в Голливуде в свободное от работы время действительно изобрела метод перестройки частоты, т.к. мечтала хоть чем-нибудь помочь союзным войскам.
Сервер 9.9.9.9 от Quad9 блокирует вредоносные домены (Malware Blocking). У них есть сервер 9.9.9.10, который ничего не блокирует, а просто работает, как DNS-сервер.
Если нужна блокировка рекламы на уровне DNS, то есть https://dnsforge.de/. Он медленее и у него есть лимит 100 запросов в 10 секунд, но работает отлично.
Язык становится популярным и нужным, когда он помогает решать задачи людей и бизнеса. Чаще всего это означает, что на этом языке должно быть написано как можно больше критически важного софта для бизнеса. Либо иметь какую-то другую (например, образовательную) ценность. А драйвер развития -- живое сообщество и развивающаяся экосистема, что в конечном счёте также означает, что язык будет так или иначе приносить пользу людям и бизнесу.
Пробежадться по всей кодовой базе и починить утечку ресурсов — никто нигде PrepareStatement не закрывал. Везде код разный, автозаменой Intellj IDEA или вимом это не решить (я сперва пытался, это невозможно)
Для этого уже давно есть статические анализаторы. В случае конкретно с Java: Checkstyle, PMD, FindBugs, Error Prone, дополнительные расширения и наборы правил к ним. Причём это будет работать на этапе сборки для даже без внешних систем вроде SonarQube. А при некотором должном усилии можно написать собственные проверки и правила для каждого из этих анализаторов.
А для всего, что касается проверки конфигурациионных файлов, можно написать собственные правила, например, для Maven Enforcer Plugin.
Реляционные СУБД такие быстрые и надёжные, потому что обеспечивают высококонкурентный доступ к данным. При обновлении поля в JSONB будет заблокирована строка. Так что, если всё положить в один большой JSONB и обновлять разные его поля, получится последовательный доступ и узкое место в производительности. Это стоит учитывать при проектировании схемы
Мне кажется, в идеале должно быть кроссплатформенное ядро и набор нативных непортируемых программ для каждой платформы отдельно, использующих по максимуму нативные API системы, написанные на языках нативных для этой платформы, использующие стандарты дизайна для этой платформы и экономящие ресурсы. В таком случае окна будут выглядеть максимально стандартно, но всё же софт будет непортируемый.
Но на практике это дорого и пока этого нет у конкурентов, мало какой бизнес это волнует.
А вот для конечного пользователя этого бизнеса гораздо более важно потребление ресурсов своего компьютера. Да и для бизнеса это всё не так важно только до тех пор, пока лёгкого, нативного и надёжного софта нет у конкурентов.
Код без экспертизы в нём почти всегда write only. Rust кажется понятным, пока не откроешь исходный код какой-нибудь популярной библиотеки. Для меня, как человека, который не пишет ни на C++, ни на Rust на работе, промышленный код на этих языках выглядит одинаково непонятно. На “питомцах” Rust для меня тоже красивый :)
Есть специализированные системы, но если часть данных уже хранится в PostgreSQL, то потребуется дополнительно делать интеграцию с Elasticsearch. К тому же Elasticsearch сам по себе потребует много доп. вычислительных ресурсов. Ну и транзакционную целостность проще обеспечить, храня всё в PostgreSQL, если она требуется.
Первый муж Хеди Ламарр занимался производством оружия и, вероятно, рассказал Хеди, как блокируются радиосигналы управления торпедами. А когда вдруг обнаружилось, что он продает вооружение гитлеровской армии, Хеди сбежала из дома. Уже в Голливуде в свободное от работы время действительно изобрела метод перестройки частоты, т.к. мечтала хоть чем-нибудь помочь союзным войскам.
Сервер 9.9.9.9 от Quad9 блокирует вредоносные домены (Malware Blocking). У них есть сервер 9.9.9.10, который ничего не блокирует, а просто работает, как DNS-сервер.
Если нужна блокировка рекламы на уровне DNS, то есть https://dnsforge.de/. Он медленее и у него есть лимит 100 запросов в 10 секунд, но работает отлично.
Язык становится популярным и нужным, когда он помогает решать задачи людей и бизнеса. Чаще всего это означает, что на этом языке должно быть написано как можно больше критически важного софта для бизнеса. Либо иметь какую-то другую (например, образовательную) ценность. А драйвер развития -- живое сообщество и развивающаяся экосистема, что в конечном счёте также означает, что язык будет так или иначе приносить пользу людям и бизнесу.
Для этого уже давно есть статические анализаторы. В случае конкретно с Java: Checkstyle, PMD, FindBugs, Error Prone, дополнительные расширения и наборы правил к ним. Причём это будет работать на этапе сборки для даже без внешних систем вроде SonarQube. А при некотором должном усилии можно написать собственные проверки и правила для каждого из этих анализаторов.
А для всего, что касается проверки конфигурациионных файлов, можно написать собственные правила, например, для Maven Enforcer Plugin.