Задать вопрос
  • Как правильно организовать архитектуру микросервисов docker?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Правильно задумались. Добавьте в ваши таблицы Userid и храните все в одной базе. Бэкапить 100500 баз то ещё удовольствие
    Ответ написан
    1 комментарий
  • Как ArrayList положить в sql?

    @kalapanga
    Таблица вопросов: ИД вопроса, Текст вопроса
    Таблица ответов: ИД ответа, ИД вопроса, Текст ответа
    Связь по ИД вопроса. Всё.
    Ответ написан
    3 комментария
  • Что случится после смерти кэша?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    нет, вы должны поймать событие и вызвать обновление токена в кэше.
    Ответ написан
    Комментировать
  • Как объединить данные из нескольких микросервисов?

    @holyx
    ДевОпс Сисадмин
    Если вы хотите получить сводную таблицу из 3х с определёнными условиями, то просто средствами 4го микросервиса делаете запрос к БД с JOINом из 3х таблиц по условиям. А дальше что с этими данными вы собираетесь делать, отображать в браузере, куда-то передавать результаты, сохранять в 4ю таблицу?
    Ответ написан
    Комментировать
  • Стоит ли читать Философия Java в переводе на русский язык?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Если это Брюс Эккель - то я читал ее в 2013 году. Тогда хорошо зашла. Но я не знаю насколько книга актуальна для современной Java. После того как сообщество перешло на такой бешеный темп создания релизов - то книги стали устаревать быстрее.
    Ответ написан
    6 комментариев
  • Почему функция ввода вызывается несколько раз?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Потому, что в условии
    if(TetragonSquare() / CircleSquare4() >= 1) предполагается ввод данных.
    И в
    double circlescountDouble = TetragonSquare()  / CircleSquare();
    тоже нужно вводить данные.

    Лучше сначала ввести данные, а потом уже их анализировать, передавая в методы.
    Ответ написан
    3 комментария
  • Когда стоит использовать MikroTik/Cisco?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    Микротик
    обслуживать дешевле - читай: админа найти, для школы Киска не вариант,
    для мерии - наоборот: Киска - хорошие, качественные откаты, знаю по подруге-нач IT отдела/подотдела в мерии среднего города: девочка (ну, уже женщина и мама) ни в зуб,но стабильно катается на презентации/повышение квалификации в столицу и, конечно, парочка ботанов в отделе все это тянут, привлекая оплачиваемых консультантов, все довольны
    Ответ написан
    3 комментария
  • Когда стоит использовать MikroTik/Cisco?

    @Drno
    Такое оборудование ставится потому что оно надежное,долговечно,закрывает обычно 99% всех потребностей. Один раз настроил и забыл, лет на 5.

    Всякие домашние роутеры типа асуса,тплинка итд не живут от слова совсем, под нагрузкой больше чем 3х комнатная квартира. некоторые кинетики живут, но у них нехватает фишек микротика, а стоят они не намного дешевле. Вот даже взять Ваш домашний роутер - для меня дикость, что роутер не умеет проброс портов. Потому что это доступно даже в dir300(длинк) 12летней давности))

    Оборудование cisco на порядок дороже микротика. Микротик не считает элитным оборудованием. По идее это самый низ адекватного оборудования для малых - средних предприятий.

    Ставьте микротик. Он умеет всё что понадобится в школе. И при этом будет работать без проблем.
    На этажи по POE свитчу + вифи точки.
    И весь вифи можно будет объединить в capsman(бесшовный) с нужной авторизацией
    Ответ написан
    5 комментариев
  • Стоит ли использовать Object как тип возвращаемого значение метода в java?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Что с этим Object будет делать вызывающий? Непонятно.

    Я-бы обсудил контракт этого метода. Если он должен вернуть заглушку которая просто символизирует пустой результат вызова - то можно использовать Optional и указать опциональный тип. Если пустой список - то Collection.emptyList().

    Я не вижу никакого смысла в бизнес-приложении использовать тип Object. Он - технический. А не прикладной.
    Ответ написан
    5 комментариев
  • Как подключиться в БД postgresql через докер?

    @Erimax Автор вопроса
    Получился, сделал так.

    postgres:
        image: postgres
        restart: unless-stopped
        tty: true
        environment:
          POSTGRES_USER: root
          POSTGRES_PASSWORD: root
          POSTGRES_DB: data
        ports:
          - "5432:5432"
        volumes:
          - ./docker/postgres:/var/lib/postgresql/data
        networks:
          - laravel


    DB_CONNECTION=pgsql
    DB_HOST=postgres
    DB_PORT=5432
    DB_DATABASE=data
    DB_USERNAME=root
    DB_PASSWORD=root
    Ответ написан
    2 комментария
  • Очень простое решение SMTP+POP3 сервера с TLS под Linux?

    martin74ua
    @martin74ua Куратор тега Linux
    Linux administrator
    iredmail настроит все за вас
    Ответ написан
    2 комментария
  • Как записать оба значения в result?

    @Chesterfield25 Автор вопроса
    Может кому то пригодится

    public class LoopWithStep {
      int res = getSum(5, 10);
      public static int getSum(int n, int step) {
        int result = 0;
    
        for (int i = 0; i <= n;  i = i + step) {
          result += i;
        }
    
        return result;
      }
    }
    Ответ написан
    1 комментарий
  • В чем вообще соль задания nullable полей в БД, вместо пустых значений по умолчанию, есть ли в этом какой-то сакральный смысл?

    Adamos
    @Adamos
    NULL - это не пустое поле. Это "поле не заполнено".
    Используется в тех случаях, когда разница между этими состояниями - есть.
    Кроме того, у числовых полей или дат просто нет "пустого" варианта.
    0 и '1970-01-01 0:00:00' - это значения, которые вполне могут иметь смысл.
    Например, при подсчете средних значений или интервалов NULL позволяет исключить ненужные строки.

    Если вам без разницы, заполнил юзер свои поля или нет - значение по умолчанию подходит, использовать NULL просто незачем.
    Ответ написан
    Комментировать
  • Активная блокировка VPN провайдером, решения нет?

    CityCat4
    @CityCat4 Куратор тега VPN
    Дома с переломом ноги
    Есть очень простой способ блокировать любой VPN независимо от того, какой там протокол вообще. Это анализ количества трафика. Когда по непонятному порту (да даже и по понятному) на непонятный сервак (даже если там есть сайт с котиками) идет жирный поток трафика - это сразу наводит на подозрения.
    Проблема большинства "защищенных" протоколов в том, что они считают противостоящую сторону дураками. А если там сидят не дураки, тоже неплохо представляющие себе, как работают сети?
    Мне видится один способ "обойти" блокировку - завести трактор :)
    Ответ написан
    2 комментария
  • Можно ли инициализировать базу данных в момент создания докер контейнера?

    Да, в Dockerfile можно прокидывать переменные из .env, и можно отдельным шагом сделать RUN, который заполнит базу какими-то начальными данными.
    Ответ написан
    1 комментарий
  • Правильно ли я использую исключения в java?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Не очень понятно какая решается задача. Если это школьная лабораторная на тему изучения Exceptions - то нормально.

    Но обычно на исключения строятся такие кейсы которые неудобно ловить проверкой условия. Например ошибки I/O. И логика обработки этих ошибок обычно глобальна. Например целая процедура завершается когда нет доступа к сети. И безразлично где конкретно процедура упала. Нет сети - сразу на выход.

    И тут надо не 2 попытки делать а цикл do-while:

    do {
       input = askForInput();
    } while(input < 0);


    Кроме того sc.nextInt() бросает 3 вида исключений которые ты как-то не заметил. Их тоже надо отработать.
    Ответ написан
    Комментировать
  • Стоит ли vim усилий?

    @Vitsliputsli
    Vim - это текстовый редактор в первую очередь. Если же говорить про разработку, то в ней не нужно писать очень быстро очень много текста. А если вдруг, у вас так, то вы делаете что-то не то. Кодинг в разработке только одна из стадий и не самая длительная.
    То что vim присутствует практически везде вообще не аргумент, vim без плагинов совсем не ide.
    Тем не менее, попробуйте установить его как ide для вашего языка. Тогда выяснится, что нужно повеселиться с плагинами. Что обвес всем этим невелирует маленький быстрый редактор, и что скорость работы плагинов в разы тормознутей специализированного ide. Кто-то напишет, что я не те плагины брал, но устанавливать неофит будет так же, сделать это одной кнопкой не получится. Если цель не работать, а настраивать, то это отличный выбор.
    Есть деньги на нормальную ide, то выбор очевиден, если нет, то все равно нужно 10 раз подумать.
    Ответ написан
    1 комментарий
  • Стоит ли vim усилий?

    @luaPower
    Однозначно стоит учить. Повышается скорость редактирования текста (практически не нужно переключаться на мышь) и в целом уровень комфорта при работе в текстовом редакторе.

    Серьезным аргументом за изучение является тот факт, что Vi предустановлен практически в любой UNIX-системе. Это означает, что вы имеете один интерфейс, работая с текстом как локально, на домашней машине, так и удаленно, на сервере.

    Vim имеет обильное количество настроек и подробнейшую документацию по ним, встроенную в редактор. Есть много возможностей для адаптации редактора практически под любые нужды, в частности, имеется встроенный язык программирования для написания различных сценариев. Редактор отлично справляется с большими файлами.

    Тем не менее, эффективность использования этого редактора катастрофически снижается при отсутствии навыка слепой печати.

    UPD Добавлю, что учить то на самом деле не много. От силы пару десятков основных команд, немного практики и вот вы уже уверенный пользователь Vim.
    Ответ написан
    3 комментария
  • Почему используется декремент в данном цикле while?

    @kpechenenko
    Может быть новые имена переменных помогут вам разобраться в том, что происходит.
    class Power {
        public static void main(String args[]) {
            int осталосьСтолькоРазУмножитьРезультатНаДвойкуДляОтчета;
            int результат;
            for (int текущаяСтепеньДвойкиДляОтчета = 0; текущаяСтепеньДвойкиДляОтчета < 10; текущаяСтепеньДвойкиДляОтчета++) {
                результат = 1;
                осталосьСтолькоРазУмножитьРезультатНаДвойкуДляОтчета = текущаяСтепеньДвойкиДляОтчета;
                while (осталосьСтолькоРазУмножитьРезультатНаДвойкуДляОтчета > 0) {
                    результат *= 2;
                    осталосьСтолькоРазУмножитьРезультатНаДвойкуДляОтчета--;
                }
                System.out.println("2 в степени " + текущаяСтепеньДвойкиДляОтчета + " равно " + результат);
            }
        }
    }
    Ответ написан
    Комментировать
  • Как запустить html страницу в контейнере tomcat?

    black1277
    @black1277
    Вольный стрелок
    Нужно сразу открывать страницу документации нужного пакета в docker
    https://hub.docker.com/_/tomcat
    Там найдете, что рабочая директория в образе по умолчанию /usr/local/tomcat, команда для запуска в докер файле CMD ["catalina.sh", "run"] и др. полезную информацию.
    Ответ написан
    Комментировать