• Как исправить ошибки в программе "Побитовое шифрование"?

    @Akela_wolf
    Extreme Programmer
    Зачем вы извращаетесь со строкой alfa?
    Откройте для себя метод String.getBytes() и вообще разберитесь что такое кодировка символов.
    Ответ написан
    Комментировать
  • Стоит ли использовать разные DTO для Response и Creation объекта?

    Jacen11
    @Jacen11
    Стоит ли для этого создавать разные ДТО
    в больших проектах принято разделять, в личном можно и так, вряд ли проблемы словишь из за этого
    Ответ написан
    Комментировать
  • Как написать интерфейс для объекта?

    Aetae
    @Aetae Куратор тега TypeScript
    Тлен
    Как-то так:
    interface AsideBlock {
        links: Record<number, string>;
        nameCost: Record<string, `${number}`>;
    }
    
    const asideBlock: AsideBlock = {
        links: {
            0 : "../images/shop/wells/well-01.png",
            1 : "../images/shop/depots/depot-01.png",
            2 : "../images/shop/cages/cage-01.png"
        },
        nameCost: {
            "Колодец" : "200",
            "Склад" : "150",
            "Клетка" : "100",
        }
    };

    Но Lynn «Кофеман» прав: структура полная херня и руки за такое отрывать.
    Ответ написан
    4 комментария
  • Для чего нужна область видимости scope?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Затем, чтобы например при сборке артефакта для использования в проде не включать в него библиотеку JUnit, которая нужна только при тестировании.
    Ответ написан
    Комментировать
  • Что это значит в джаве?

    xez
    @xez Куратор тега Java
    Senior Junior Roo
    Животное a = Собака (новая);
    Ответ написан
    3 комментария
  • Как запускать код из разных файлов в одном package одновременно в java?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    С помощью потоков, очевидно.
    Ответ написан
    Комментировать
  • Как замаппить json в массив объектов?

    Aetae
    @Aetae Куратор тега TypeScript
    Тлен
    Просто:
    let routes = await axios(...)
    .then((response: AxiosResponse<Route[]>) => response.data)
    .catch(console.log);
    Нет смысла гонять из пустого в порожнее.

    Только учитывай - все проверки типов и моделей typescript делает на этапе компиляции. На этапе исполнения никакого typescript не существует, потому когда приходит ответ с сервера нет никаких гарантий что он соответствует модели, и typescript не сможет никак отловить если это не так. Если нужны какие-то проверки - их надо писать самому руками или с помощью соответствующих либ.
    Ответ написан
    1 комментарий
  • Как узнать сколько времени займет поиск значения в тхт-списке?

    @deliro
    Агрессивное программирование
    Как понять сколько времени будет занимать поиск заданного значения и каким способом эффективнее парсить файл?

    Что известно о файле кроме того, что он есть?

    Если значения в случайном порядке, то сложность будет всегда O(N) в худшем случае

    Если в нём значения отсортированы по какому-то признаку и есть явный разделитель (перевод каретки, например), то можно сделать аналог бинарного поиска (за O(logN)). Ну то есть, тыкаем в середину файла (seek(file_size_in_bytes / 2)), ищем вперёд ближайший разделитель (например, перевод каретки), читаем до следующего разделителя (получается строка), сравниваем ну и дальше как обычно. Но нужно учесть, что если это HDD, то движения головки диска не бесплатные и рандомный seek будет медленней последовательного, так что сравнивать "количество строк в секунду" в лоб не выйдет.

    Если ОЗУ позволяет, то можно вычитать весь файл туда и закинуть в структуру, которая больше подходит. Будь то дерево, сортированный массив или хэш-таблица. Если требуется только ответ на вопрос "есть?", то хэш-таблица будет самым производительным вариантом со сложностью O(1)

    Если ОЗУ не позволяет и большинство запросов заведомо будут "мимо", можно сделать фильтр Блума и сканировать файл только если он "возможно есть" и никогда не сканировать, если его "точно нет" (собственно, эти ответы и даёт фильтр Блума)

    Если ОЗУ не позволяет, но файл можно менять, то можно отсортировать его единоразово и дальше бинарный поиск

    Да можно даже содержимое файла в sqlite залить и решить все проблемы, пусть драйвер сам разбирается, что хранить в ОЗУ
    Ответ написан
    Комментировать
  • Как собрать веб приложения на java ee?

    xez
    @xez Куратор тега Java
    Senior Junior Roo
    Сервер не нужно выкладывать - это же не ваша разработка. Можно указать в README.md как запускается проект, на каком сервере.
    Базу данных саму тоже не надо выкладывать, но стоит выложить SQL скрипты, которые создают нужную схему и заливают нужные таблицы.
    Ответ написан
    Комментировать
  • Как собрать веб приложения на java ee?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Всё это не надо выкладывать. Репозиторий только для исходного кода.
    Ответ написан
    Комментировать
  • Как прописать тип для клонированного объекта, чьи значения были изменены рекурсивно?

    bingo347
    @bingo347 Куратор тега TypeScript
    Crazy on performance...
    Можно добавить такой тип:
    type RulersMap<R extends Record<string, unknown>> = {
      [K in keyof R]: R[K] extends number
        ? `${R[K]}px`
        : R[K] extends Record<string, unknown>
          ? RulersMap<R[K]>
          : R[K];
    };
    и привести результат к типу RulersMap<typeof rulers>
    Проблема в том, что у либы map-obj не очень то хорошо типы для deep варианта написаны, хотя можно свои написать при желании.
    Ответ написан
    Комментировать
  • Как сохранить HashMap в файл?

    xez
    @xez Куратор тега Java
    Senior Junior Roo
    Сериализация и десериализация в Java

    Можно еще сериализовать в json - получится строка, а ее уже сохранить в файл
    Ответ написан
    Комментировать
  • Что за параметры в spltе?

    xez
    @xez Куратор тега Java
    Senior Junior Roo
    Это регулярное выражение.
    Ответ написан
    Комментировать
  • В какой области памяти хранятся локальные переменные?

    xez
    @xez Куратор тега Java
    Senior Junior Roo
    Объекты в куче.
    Примитивы и ссылки - в стэке.
    Ответ написан
    4 комментария
  • В какой области памяти хранятся локальные переменные?

    Jacen11
    @Jacen11
    буквально самая первая ссылка. В яндексе забанили?
    61d4a05018dbc595444549.png
    Ответ написан
    Комментировать
  • Почему Dependecy Injection не нарушает GRASP шаблон Creator?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Потому что не нарушает... Фабрика/агрегат создает нужный инстанс, если его ответственность в этом

    DI — это про зависимости, то есть создаем и передаем зависимости снаружи, а не внутри... Creator создает не свою зависимость, а просто на выход некоторый объект... сам с этим объектом не работает
    Ответ написан
    Комментировать
  • Почему поля касса называются интерфейсом?

    vabka
    @vabka
    Токсичный шарпист
    Ну вот такой вот у нас, кожаных мешков, нелогичный язык.
    Интерфейс - это не только то что мы объявляем ключевым словом "interface", но и совокупность из всех публичных членов класса - тн "интерфейс взаимодейсвия"
    Ответ написан
    Комментировать
  • Из какой коллекции можно быстро удалять элемент, но к ней применим бин. поиск?

    Alexandroppolus
    @Alexandroppolus
    кодир
    Написать своё сбалансированное дерево. Удаление и upperBound будут за логарифм
    Ответ написан
    Комментировать
  • Как происходит связывание с предыдущим узлом в LinkedStack?

    Vamp
    @Vamp
    1. Просто чтобы продемонстрировать использование паттерна sentinel value. В данном конкретном примере можно было обойтись просто null.

    2. В присваивании сначала выполняется правая часть - создаётся объект Node, которому в аргументы конструктора передается item и текущее значение, хранящееся в переменной top. После этого переменной top присваивается ссылка на этот новый объект.

    Это более короткий вариант следующего кода:
    Node<T> oldTop = top;
    top = new Node<T>(item, oldTop);
    Ответ написан
    4 комментария
  • Как скрыть url куда передаётся запрос?

    @AlexVWill
    Тебе уже несколько раз давали ответ на этот вопрос, и ты опять про это спрашиваешь, и никак не хочешь либо понять, либо прочитать что-то по теме.
    Еще раз - POST запрос имеет свой собственный формат, и URL там его неотъемлемая часть. Иначе как клиент узнает, на какой сервер посылать запрос (и обратно)? Ну и все прочие элементы POST запроса, их можно зашифровать каждый в отдельности, но строку адреса ты не зашифруешь.
    Есть один вариант, но он тебе не понравится: это поднять VPN соединение с конкретным сервером, и тогда делай в туннеле что хочешь: POST запрос, SSH, Samba, да что угодно., никто ничего не увидит на стороне. Но это потребует реализации этого VPN протокола в клиенте. Более простой для реализации (и более сложный для пользователя) вариант - заставить работать клиента только через VPN (как при этом клиент будет устанавливать связь это его дело), аутентификацию можно сделать по логину-паролю, идентификацию по его ключу и IP внутри VPN.
    Ответ написан
    Комментировать