Задать вопрос
  • Полезные инструменты для проверки мошенников?

    @Drno
    мозг
    Ответ написан
    Комментировать
  • Как организовать систему обновлений БД?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Это называется "Миграция БД". Для этого уже давно есть готовые инструменты, которые уже много лет применяются везде.
    Ответ написан
    Комментировать
  • Допустимо ли хранить логи nodejs приложения в mysql бд или есть решения лучше?

    @vitaly_il1
    DevOps Consulting
    Есть - уже лет 10+ назад придумали БД для логов. Самые популярные сегодня - Elastic (== ELK в прошлом) и Loki.
    Есть куча облачных сервисов на базе этих БД.
    Все современные логгеры поддерживают log shipping по сети.
    Ответ написан
    Комментировать
  • Допустимо ли хранить логи nodejs приложения в mysql бд или есть решения лучше?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Смотря что именно логгируется и для чего используется. Например, во многих CMS (админпанели, блоги итд) существует "логгирование действий пользователей" и оно традиционно использует базу. Ибо именно из базы удобнее и проще всего через web это показывать.

    Но логи для админа или разработки или службы поддержки писать в базу - это скорее всего будет плохим решением.

    Также плохое решение использовать console.log. Нужно использовать специальные библиотеки для логгирования, они есть под любые развитые языки. Например, такие, как winston для node.js. Библиотки позволяют настраивать уровень логгирования, транспорт (файлы/syslog/итд), что позволит написанный один раз код потом не переделывать под другие реалии (запуск в кубере, запуск для тестов на машине разработчика итд итп).

    В процессе развития и роста можно будет уже приделывать Elastic/OpenSearch, vector, greylog, logstash итд итп в зависимости от потребностей. Для пет-проекта это, скорее всего, не нужно. Но даже для пет-проекта полезно учиться правильным практикам. Чтобы потом хорошо делать в больших и сложных.
    Ответ написан
    Комментировать
  • Допустимо ли хранить логи nodejs приложения в mysql бд или есть решения лучше?

    @rPman
    Логи нужно не просто писать в какую-то базу, а делать их машиночитаемыми, иначе смысла нет.

    Пишут тут что это нужно только если у тебя миллионы запросов и гигабайты логов.. все это чушь (не совсем, просто если у тебя маленький проект, пользу логи будут приносить редко), а вот централизованная работа с логами со всех своих инстансев и даже проектов, очень даже неплохо, облегчает мониторинг, облегчает разработку, облегчает поиск проблемных пользователей/ситуаций и т.п... но ценою ресурсов на это.

    А так, первым шагом можно вместо записи в базу данных, просто писать в jsonl (построчно по json на событие), по меньше упаковки в человекочитаемые строки и побольше читаемые машиной, постаравшийсь полностью исключить вывод сообщений об ошибках в stdout/stderr, и над именованием файлов подумать, что бы удобнее с ними было работать.
    Ответ написан
    Комментировать
  • Правильный способ реализовать поиск с автодополнением по одному слову?

    Davidaa_WoW
    @Davidaa_WoW
    Зависит от того, что вы храните в индексе, и какой результат в итоге хотите получить.
    Какие могут быть кейсы:
    1. В индексе хранится много чего: кошки, собаки, попугаи и т.д.
    Решение: заводите новое поле, например 'pet_type'. Устанавливайте в него значение, например: 'собака'. Далее, создаёте статический фильтр синонимов в индексе, называете его, например 'pet_analyzer' и прописываете список необходимых синонимов. В результате должно получиться, что-то типа такого:
    PUT /pets_index
    {
      "settings": {
        "analysis": {
          "filter": {
            "pet_synonyms": {
              "type": "synonym",
              "synonyms": [
                "собака, щенок, кобель => dog",
                "кошка, кот, котёнок => cat",
                "попугай, попугайчик => parrot"
              ]
            }
          },
          "analyzer": {
            "pet_analyzer": {
              "type": "custom",
              "tokenizer": "standard",
              "filter": ["lowercase", "pet_synonyms"]
            }
          }
        }
      },
      "mappings": {
        "properties": {
          "pet_type": {
            "type": "text",
            "analyzer": "pet_analyzer"
          }
        }
      }
    }

    2. В индексе хранятся только собаки, либо вам нужно распределение (щенки/взрослые собаки/распределение по полу)
    В таком случае, добавляете эту характеристику прямо в name. То есть документ у вас будет называться: 'Щенок лабрадора'. Далее, смотрите на типы формирования входящих запросов. Вам могут подойти:
    Ответ написан
    Комментировать
  • Как сделать копию папки из контейнера на компьютер после отработки кода?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Примонтируйте каталог как volume - тогда бэкап можно будет делать даже при выключенном контейнере.
    Ответ написан
    2 комментария
  • Как конвертировать модель в GGUF и квантовать?

    @rPman
    На самой странице модели есть пример кода на python или ссылка на github или докер образ, как ее использовать, обычно там же простым способом можно квантовать 8бит (более чем достаточно для исполнения, быстро, минимальные требования vram и без потери качества)

    Есть проект vllm, в котором поддержку универсально пилят для всех топовых моделей, попробуй его, у него же встроен веб сервер, а так же веб сервер с совместимым openai api, а там 100500 локальных вебморд для использования.

    p.s. только llama.cpp эффективно умеет работать на процессоре и главное использовать gpu и обычную память одновременно (например не хватает считанных гигабайт)
    Ответ написан
    Комментировать
  • Как исправить файловую систему на Линукс и не потерять данные?

    Подключите ISO с диском восстановления, какой-нибудь небольшой или просто специализированный дистрибутив, загрузитесь с него. По возможности скопируйте ваш диск с помощью dd целиком, если нужно (вот только куда — вам предостоит решить с хостером), или копировать в пайп по сети через ssh, например. Для этого понадобится и поднять SSH в загруженном вами образе.

    Как вариант — из загрузочного образа смонтировать ФС в режиме чтения: mount -o ro /dev/blablabla /mnt/blabla и выковырять ценные файлы.

    После этого отмонтировать ФС /dev/blablabla и провести xfs_repair...
    Ответ написан
    Комментировать
  • Как максимально сжать файлы в архиве?

    @apppostol
    Сами форматы jpg и mp4 подразумевают в себе алгоритмы сжатия. Вы пытаетесь сжать уже сжатое.
    Чтобы уменьшить размер файлов видео, их надо перекодировать с более низким битрейтом (что может сказаться на качестве).
    И так же понизить качество/разрешение фотографий.
    Других способов нет.
    Ответ написан
    1 комментарий
  • Какие есть хорошие ресурсы для изучения Docker для Golang?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Не думаю, что вы найдете что-то конкретное. Но вы можете воспользоваться AI для этого.
    Руководствуйтесь принципом - 1 контейнер - 1 сервис. Допустим, если у вас одно монолитное приложение и БД, то это 2 отдельных контейнера. Если у вас микросервисная архитектура, то каждый микросервис это один отдельный контейнер
    Ответ написан
    1 комментарий
  • Как расшифровать 1685700050?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    Ну если это время, то:
    import datetime
    
    timestamp = 1685700050
    str_time = datetime.datetime.fromtimestamp(timestamp)
    print(str_time)

    У меня получилось 2023-06-02 13:00:50

    UPD. Это не код, а UNIX-время - количество секунд, прошедших с полуночи (00:00:00 UTC) 1 января 1970 года
    Ответ написан
    Комментировать
  • Как выполнить функцию после завершения всех задач?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Используйте метод Task.WaitAll
    Ссылки на все эти задачи, при этом надо, кончено не бросать без присмотра при перезаписи переменной outer, а сохранить (например, в массив Task[])
    Ответ написан
    Комментировать
  • Как организовать хранение электронных документов для веб-приложения?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Лучше для чего именно? Какую проблему или проблемы вы этим решить хотите? Для начала определитесь, что именно вас не устраивает в вашем текущем решении - конкретные проблемы, характеристики, фичи и прочее. Скорость и качество доступа к хранилищу, объем, безопасность, надёжность и прочее. Сделайте список/документ. На основе вот этого списка и вашего опыта эксплуатации вашего решения сформулируйте требования к вашему хранилищу. И вот уже на основе этих требований подбирайте конкретное решение, которое их закроет по максимуму или, хотя бы, большей частью. Роутер и внешний диск вам тут точно не подойдут - низкая производительность и надёжность. Типовое универсальное решение - S3 хранилище в масштабируемом облаке. Альтернатива для своего сервера в своей серверной - FreeNAS.
    Ответ написан
    Комментировать
  • Что это за формат видео?

    @aab137
    Для определения формата видео можно воспользоваться утилитой ffmpeg
    ffmpeg -i <ваша ссылка с m3u8>
    Будут выведены метаданные видео, включая формат, кодек и т.д.
    С помощью этой же утилиты можно и скачивать видео, а не мучиться, склеивая чанки
    ffmpeg -i <ваша ссылка с m3u8> -vcodec copy -acodec copy output.mp4
    Ответ написан
  • Зачем файл с расширением .sin?

    GavriKos
    @GavriKos
    Может все таки sln?
    Это объединение проектов - солюшн. Вполне нормально, когда несколько проектов объединены, когда собирается больше одного exe например
    Ответ написан
    Комментировать