Задать вопрос
  • Как выглядит коммуникация между frontend и backend при использовании ZipOutputStream?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    В вашем случае - взаимодействия нет, если конечно frontend на является нативным приложением.
    Поясню:
    1) backend подготавливает zip-архив и шлет его в бинарном виде через GET/POST/PUT, выставляя заголовок
    Content-Type: application/zip
    и возможно
    Content-Disposition: attachment; filename="myarchive.zip"

    2) frontend, принимая данный ответ на свой запрос:
    - если это браузер, то просто скачает файл (если не использовали Blob или что-то подобное),
    - если это приложение, то получит бинарный поток, который кладет самостоятельно на диск и распаковывает
    - если же frontend в виде JS в браузере примет этот поток, то средств его распаковать у браузера нет! можно только показать прогрессию загрузки.
    Ответ написан
    7 комментариев
  • На чем писать Java Desktop приложение?

    JavaFX - если нужен красивый интерфейс и анимации
    Swing - для простых интерфейсов
    Ответ написан
    1 комментарий
  • На чем писать Java Desktop приложение?

    @artem-dainov
    Php, java, js. Boot spring, jquery, git
    Думаю, что самый лучший вариант это браузер.
    Можно потом приложение запустить на одной машине и по локалке получить доступ с других.
    Ответ написан
    Комментировать
  • Почему не получается обратиться к наследуемому свойству (php) через асинхронный запрос?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Вопрос "как обратиться через аякс к свойству класса пхпе" является заведомо бессмысленным. JS не работает со свойствами классов в РНР.
    Поэтому в решении таких проблем очень помогает логика.
    Если отставить в сторону "свойства", то мы получим довольно простую формулировку вопроса: "почему синхронный и асинхронный запрос к одному и тому же скрипту возвращают разные данные?". И здесь уже, рассуждая логически, можно прийти к очевидному ответу: эти запросы обращаются к разным бэкендам. То есть, чтобы решить проблему, надо либо обновить код на том сервере, к которому обращается fetch, либо делать запрос на тот сервер, который возвращает правильные данные.

    Это если исходить из предоставленных данных. Вполне вероятно, что автор запутался где-то ещё. Но тут уже ему придётся разбираться самостоятельно. Но опять же, рассуждая логически, а не "Почему не получается обратиться к свойству php через асинхронный запрос?".
    Ответ написан
    9 комментариев
  • Существует ли USB клавиатура-NumPad игнорирующая состояние NumLock?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Программное решение для винды:
    1. Скачиваете KeyTweak / RemapKeyboard (или любой аналог для переназначения клавиш)
    2. Переназначаете цифры на нампаде на обычные цифры
    3. Перезагружаете ПК
    Ответ написан
    4 комментария
  • Getaddrinfo failed: почему Python не может найти localhost?

    @Zerg89
    PostgreSQL работает и доступен (в Docker-сети всё ок)

    Если я правильно понял у вас postgres в докер контейнере
    Тогда вам не на localhost надо подключатся а к ip контейнера или по днс имени контейнера
    Localhost это внутренний адрес самой машины а вам надо подключится к виртуальной сети этой машины
    Ответ написан
    Комментировать
  • Пытаюсь установить на VPS сервер майнкрафт на Forge для модов, все делаю как по гайдам но вылезает ошибка no main manifest attribute, in forge.jar?

    @amoguiamnot
    какой-то странный jar файл у тебя, скачай файл с офф. сайта и запусти его командой
    java -jar forge-1.20.1-47.4.0-installer.jar --installServer
    где forge-1.20.1-47.4.0-installer.jar это твой свежий установщик
    потом уже
    java -Xms2G -Xmx10G -jar forge-1.20.1-47.4.0.jar nogui
    для запуска
    Также проверь что у тебя установлена нужная версия java (для 1.20.1 это jdk 17)
    Если у тебя сервер пустой, то в файлы лезть никуда не надо, если правильно устанавить jdk, а после сервер через forge installer, тебе остаётся его только запустить и всё
    Ответ написан
    4 комментария
  • Почему объект java считывается справа налево?

    GavriKos
    @GavriKos
    Ну достаточно просто подебажить.
    Исходная строка qwe
    Первая итерация: t будет равно q
    Вторая итерация (буква w): t = w +q - т.е. wq
    Третья (буква е): t = e + wq - т.е. ewq

    У вас код так написан чтобы переворачивать строку. Хотите без реверса - поменяйте местами складываемые строки тут:
    t = hhh.charAt(i) + t;
    Ответ написан
    Комментировать
  • Что чаще всего пишут на Go?

    На Go мало фреймворков, потому что у Go просто невероятная стандартная библиотека. Например, с недавним обновлением библиотеки http я тупо не вижу смысла в сторонних роутерах. Не знаю почему, какая у языка магия, но мне почти всегда хочется написать своё решение, подходящее именно для этой конкретной задачи, чем лепить монстра из внешних зависимостей.

    Основной домен языка - это Web. Это и полноценные REST (и не только) API, это и отдельные узлы систем. А я, например, стал писать на Go и фронтенд, познакомившись с замечательной JavaScript библиотекой HTMX.

    Многие люди пишут на Go консольные приложения. Я часто всякие утилитки пишу вместо того, чтобы мучиться с корявым синтаксисом bash, от которого меня тошнит.

    Кстати, Докер и Кубернетес написаны на Go, но это, скорей исключение.

    Есть даже пакеты, позволяющие писать десктопные приложения.

    На Go отлично писать всяких ботов.
    Ответ написан
    2 комментария
  • Как выглядит sudoers?

    postgres не нужно прописывать в sudoers, если ты не знаешь, что именно нужно запускать через sudo от имени этого пользователя
    Ответ написан
    Комментировать
  • Почему может быть утечка памяти?

    @falconandy
    Используете GoLand? Он подсказывает:
    Possible resource leak, 'defer' is called in the 'for' loop.

    A "defer" statement invokes a function whose execution is deferred to the moment the surrounding function returns, either because the surrounding function executed a return statement , reached the end of its function body , or because the corresponding goroutine is panicking .

    Предупреждение говорит о том, что defer код будет выполнен только при завершении функции, а не итерации цикла. В вашем случае это предупреждение неактуально, но проще немного переписать код, чтобы не было "ругани":

    func (app App) Shutdown() {
    	for _, shutdown := range app.onShutdown {
    		if err := shutdown(); err != nil {
    			log.Println(err)
    		}
    	}
    }
    ...
    defer app.Shutdown()
    Ответ написан
    Комментировать
  • Как перенаправить Nginx на три разных контейнера Docker?

    ky0
    @ky0 Куратор тега Nginx
    Миллиардер, филантроп, патологический лгун
    Если контейнеры (в том числе nginx) в одной docker-сети, то направлять нужно не по localhost, а по имени контейнера и внутреннему порту.

    Если контейнеры нет возможности засунуть в одну сеть - proxy_pass можно направить на host.docker.internal.
    Ответ написан
    Комментировать