• Регулярное выражение для поиска слов в кавычках?

    SerafimArts
    @SerafimArts
    Senior Notepad Reader
    Ну или вот "[^"\\]+(?:\\.[^"\\]*)*" вариант, если требуется поддержка экранирования через бекслеш.

    https://regex101.com/r/d19vTs/1
    Ответ написан
    Комментировать
  • Как из слова сформировать список всех возможных форм (в разном числе, роде, падеже)?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    В поиске гугл: pymorphy2 java и дальше по ссылкам.
    Ответ написан
    Комментировать
  • Почему может тормозить загрузка статичных файлов на сайте для некоторых клиентов из РФ?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Не забывайте про сетевую машрутизацию(неоптимальные маршруты) и ограниченную пропускную способность в условиях усиленного использования каналов интернета на самоизоляции.
    Маршрутизация.
    Вы используете статическую точку входа в AWS которая приземляется в конкретной физической точке сети. И которая, кстати, находится точно не в России.
    Проблема наблюдается у конкретных клиентов -> с наибольшей вероятностью маршрут от клиента до вашего сервера является проблемой
    Возможные решения
    1.CDN (и да, и AWS и CloudFlare уже достаточно давно рекомендует динамику тоже через CDN гнать, гайдов куча) - трафик будет отдаваться от ближайшей точки доступной клиенту (опять же в зависимости от настроек маршрутизации конкретного провайдера до сервиса CDN - все равно могут возникать проблемы)
    2.AWS Global Accelerator - по сути примерно то же самое для вас. Трафик смаршрутизируется в ближайшую точку присутствия GA к клиенту и пойдет кратчайшим путём внутри AWS к вашему серверу. Но точек входа еще в августе в РФ не было. Сейчас не знаю.
    3.Поднять точку входа на территории РФ и заниматься передачей трафика на ваш сервис в AWS в туннеле (такое решение например у нас на проекте дало наибольшее ускорение, ни GA ни CloudFront не сравнимы, поскольку там мы вообще никак не контролируем маршруты трафика в сторону серверов AWS)

    Вам из вышеописанного может помочь или CDN с точками присутствия в РФ или своя точка присутствия в на серверах РФ в случае если трафик от клиентов идет по неоптимальному маршруту.

    Перегруженные сети
    Если же проблема в перегруженных сетях (наиболее вероятная сейчас причина) - то вам ничего не поможет.
    Ответ написан
    Комментировать
  • PGPoolingDataSource возможно ли автоматические освобожние коннектов?

    jaxtr
    @jaxtr
    JavaEE/Spring-разработчик
    Насколько я знаю - нет, готового механизма нет в PGPoolingDataSource. И вообще, он официально не рекомендуется к использованию. Если пул соединений не нужен, то лучше использовать PGSimpleDataSource, если же пул нужен, то нужно использовать HikariCP, C3P0 или хотя бы DBCP.
    Ответ написан
    Комментировать
  • Не встречали библиотеку для генерации случайных цветов?

    @maet
    Backed разработчик
    Может это подойдет:)
    https://github.com/davidmerfield/randomColor
    Ответ написан
    Комментировать
  • If (value == null || value.equals(null)))?

    @lslayer
    Программист и сисадмин
    Для определенного объекта может быть переопределен метод equals().
    Например, по задачам бизнес-логики объект считается null если его "самоеГлавноеПоле" есть null.

    В данном же случе - либо старый неисправленный код (раньше параметром приходил не Object а что-то другое) либо банальная ошибка.

    А вообще, в случае с пользовательским классом второе условие без первого может сработать.
    Например:
    package tk.lslayer.temp;
    
    public class NullComparator {
        public Integer someField = null;
    
        @Override
        public boolean equals(Object obj) {
            if (obj == null && someField == null) return true;
            if (obj != null && obj instanceof NullComparator) {
                return ((NullComparator) obj).someField == someField ? 
                    true : false;
            } else return false;
        }
    
        public static void main(String[] args) {
            NullComparator comparator1 = new NullComparator();
            
            if (comparator1 == null)
                System.out.println("!= null");
            if (comparator1.equals(null)) 
                System.out.println(".equals(null)");
        }
    }
    Ответ написан
    Комментировать
  • If (value == null || value.equals(null)))?

    @Moxa
    я думаю, что тут специальная магия для обработчки json'a.. предположим, что value - некий JsonItem, который хранит в себе значение, это значение может быть null'ом, для этого и сделана вторая проверка
    Ответ написан
    Комментировать
  • Java Gson deserialization. Как обработать интерфейсы?

    @bobzer
    Java EE Developer
    Зависит от реализации, используемой вами. В Jackson это делается так:
    @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
    @JsonSubTypes({
            @JsonSubTypes.Type(value = Bla.class, name = "Bla"),
            @JsonSubTypes.Type(value = Bla2.class, name = "Bla2")
    })
    interface IBla {}

    Аннотацией @JsonSubTypes вы указываете список всех возможных реализаций интерфейса.
    JsonTypeInfo определяет, что во входящем JSON будет поле "type", которое сообщит о том, к какому типу привести абстрактный IBla при получении JSON-сообщения.
    Ответ написан
    1 комментарий