Задать вопрос
  • Как сделать чат-бот на основе ИИ, обученный на собственной базе знаний?

    @vitaly_il1
    DevOps Consulting
    Согласен с Максимом - заставить это заработать в принципе несложно. Нюансы могут быть при тонкой настройке.
    Я не спец в AI, а DevOps. Но недавно заказчик попросил поднять приватный "ChatGPT" с его страшно секретными документами. Я использовал клон https://github.com/imartinez/privateGPT. Работает в целом.

    Что искать в гугле для загрузки доеументов в chatgpt - например "chatgpt my documents" .
    Ответ написан
    Комментировать
  • Есть ли библиотеки Python для перевода английских слов в простой вид?

    Vindicar
    @Vindicar
    RTFM!
    Это называется стемминг (выделение корня) или лемматизация (группировка родственных слов).
    Гугл говорит, что для этих целей часто используется сеть NLTK.
    Ответ написан
    Комментировать
  • Проводник копирует данные последовательно?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Проводник использует системные вызовы ОС.
    Вы можете их посмотреть, там нет секторов и прочего.
    Есть просто пути, за всем этим следит файловая система.
    Что же до дефрагментации читайте тут
    https://learn.microsoft.com/en-us/windows/win32/fi...
    Ответ написан
    Комментировать
  • В чём разница между операторами ??, ??= и ?. в C#?

    BloodyAstra
    @BloodyAstra
    https://metanit.com/sharp/tutorial/3.26.php Вот тут все подробно про это написано
    Ответ написан
    Комментировать
  • Какую ОС выбрать для NextCloud?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Ответ написан
    Комментировать
  • Почему не работает фильтр из двух слов?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    term - поиск по одному терму, terms - поиск по множеству термов,
    {
      "query": {
        "terms": {
          "user.id": [ "kimchy", "elkbee" ],
          "boost": 1.0
        }
      }
    }

    https://www.elastic.co/guide/en/elasticsearch/refe...
    Ответ написан
    Комментировать
  • С каким интервалом времени установить команды на cron?

    Можно использовать flock (lock-файл) для синхронизации процессов и не позволять определенным работать параллельно
    https://simpleit.rocks/linux/shell/prevent-running...

    P.S. Как рекомендовали в комментариях, правильнее работать с очередями задач, а не через крон. Если в проекте нет RabbitMQ / NATS и т.п., наиболее легковесным вариантом будет Redis
    Ответ написан
    Комментировать
  • С каким интервалом времени установить команды на cron?

    CityCat4
    @CityCat4
    Дома с переломом ноги
    И если процедура будет активна, но запустится другая команда, то она просто скипнет свою очередь и не выполнится.

    Тогда через крон пускать нельзя, нужен менеджер очереди.
    Ответ написан
    Комментировать
  • Какую базу данных использовать для такого проекта?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тут подходит любая реляционная SQL БД потому что нет противопоказаний. Реляционку мы выбираем
    уже более 30 лет как default вариант и почти не ошибаемся.

    Когда задача имеет признаки ярко выраженной high-load системы - мы делаем ей частичную денормализацию
    и раскладываем ее в NoSQL Key-Value решение. Но это не про улучшение а это про неизбежность. У нас нет выхода просто.
    Иначе мы клиенту не сможем быстро отдать какой-то резуальтат.

    Когда задача имеет ярко выраженную документную природу (нет спецификации на values) - мы берем MongoDb/CouchDb.

    Когда задача хранит граф и ищет в графе и вообще требует графовых алгоритмов - то мы берем Neo4j или ей подобные.

    Когда задача хранит данные измерений (телеметрия) - то предпочтительно взять InfluxDb или ей подобные. Здесь-же мы предполагаем что у нас - не будет joins а будет только измерения в диапазоне времени.

    Но в данном ТЗ и на картинке обычная SQL БД (MySQL/Postgres) вполне себе нормально справляется.
    Ответ написан
    Комментировать
  • Можно ли сделать так, чтобы когда электричество дешёвое, сервер работал на максимум?

    borisdenis
    @borisdenis
    Ленив и вреден...
    Планировщик задач, который по времени переключает режимы энергосбережения.
    https://learn.microsoft.com/en-us/windows-hardware...
    Ответ написан
    Комментировать
  • Как быстро отправить 1 миллион запросов на внешний API?

    @falconandy
    Навскидку придумался какой-то такой алгоритм, возможно некорректный:
    0. преполагается видимо, что константная точка неизвестна, а сервис возвращает расстояние от неё до переданной точки
    1. берете две произвольные (но разные) точки P1, P2 из своего миллиона и отправляете два запроса, получая два расстояния R1, R2
    2. неизвестная константная точка находится в точках пересечения двух окружностей с центрами P1, P2 и радиусами R1, R2
    3. по идее таких пересечений будет два, возможно одно, если повезет
    4. если одно, то оно и будет той самой неизвестной константной точкой
    5. если два, то отправляете каждую на сервис и проверяете, до какой расстояние будет нулевое - это и будет та самая неизвестная константная точка
    6. локально находите ближайшую к теперь уже известной константной точке из своего миллиона

    В результате, максимум 4 запроса к сервису.
    Не забываем про погрешности при работе с числами.
    Ответ написан
    7 комментариев
  • Какую SQL базу данных под Linux лучше использовать с FTP через FUSE?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Никакую базу, имхо, не нужно использовать с "FTP через FUSE".
    Ответ написан
    4 комментария
  • Равноценно ли использование MariaDB вместе MySQL?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    MariaDB несколько отошла от MySQL с момента создания форка.
    https://mariadb.com/kb/en/mariadb-vs-mysql-features/
    Ответ написан
    Комментировать
  • Какие есть примеры построения большой организационной структуры?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Ох и амбиции. И что за перфекционизм в отношении Postgresql?

    Не знаю как автор посчитал миллиард. Это если все население планеты Земля составляет порядка 8 млрд.
    И что мы возьмем целую страну и инвентаризируем ее чтоб получить такое число?

    Для графовых БД существует не Postgresql а специальные БД типа Neo4j. Но еще до того как ты доберешся
    до графовых БД - задание может многократно измениться и выйдет что граф - рудимент. Так часто бывало.
    Вообще очень малое число задач требуют именно графов. Если табличка отражает семантику модели
    то можно и ее использовать. Только с условием не решать в ней задачи о рукопожатиях.

    По поводу того что в таблице что-то там кого-то убивает на 1 млрд. Я отвечу так что если вы строите OLTP
    систему то в ней этот миллиард никогда не будет использоваться целиком. Там будут горячие области.
    Их можно каким-то образом кешировать или алгоритмически пред-выбирать. Или брать key-value системы если ТЗ позволяет. Для них что миллиард что триллион все безразлично. Не забывайте только поднимать новые ноды и подкидывать диски в облачко. Или если речь идет
    о BigData к примеру то там есть свой техно-стек. Например Apache Spark / GraphX. Хотя я с модулем GraphX
    не работал ни разу. Но биг-дата запросы обычно никогда не запрашивают одного физ-лица или одну
    единицу тех-средства. Биг дате ставят задачу собрать всё про всех и отгрузить отчет в виде другой таблички
    или DataMart. И на это ей дадут пару часиков а то и день. Поэтому разговоры относительно убивания
    производительности - очень можно смягчить.

    Вообще такие сложные системы не обязаны строиться поверх Postgres или Neo или Spark. В их разработке
    вполне можно использовать целый pipeline из технологий где например Postgres будет просто одним
    из элементов. Или одним stage.
    Ответ написан
    3 комментария
  • Как защитить свое api от ddos-атак?

    @rPman
    Хочу напомнить - ddos это не только про сетевые атаки, а любые атаки, направленные на нарушение работы приложения,.. т.е. если злоумышленник найдет как заставить твоих операторов обрабатывать тысячи и миллионы заявок, которые никакой пользы не принесут (с них не будет получен доход) - то это тоже 'атака на отказ обслуживания', ведь операторы будут заняты фейковой работой вместо обслуживанием нормальных клиентов.

    Готовых решений ты и не найдешь, кроме как от ограниченного типа атак (сетевых) и тут самому лучше не заморачиваться, а воспользоваться сервисом провайдера.

    Правильная защита - это анализ твоей бизнес модели и ее процессов и тщательное тестирование на всех, включая нестандартных и необычных, ситуациях.

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

    p.p.s. ограничивая пользователей, всегда предлагай им действия, которые позволят этот лимит убрать, чтобы ошибочно наказанные пользователи не сидели перед экраном - 'вы забанены, идите на..й'
    Ответ написан
    Комментировать
  • Где хранить токены авторизации в браузере?

    Maksclub
    @Maksclub Куратор тега Веб-разработка
    maksfedorov.ru
    Комментировать
  • Как тестировать код работающий через очерди?

    Как работает, так и тестировать.
    Если тестируется продюсер - запустить его и посмотреть, что нужное сообщение появилось в очереди (сделать тестового консюмера).

    Если тестируется консюмер - запихнуть сообщение в очередь и посмотреть, что консюмер отреагирует на него ожидаемым образом за отведённое время. (Делаем тестового продюсера)
    Ответ написан
    Комментировать
  • Не открываются порты 8890, 8891, 5222. Что делать?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Никто их не блокирует. Их просто никто не слушает. Не запущена ни одна задача, которая бы слушала что-то по TCP на этих портах.
    Ответ написан
    Комментировать
  • Не открываются порты 8890, 8891, 5222. Что делать?

    @Zerg89
    Запустить службы которые эти порты будут слушать
    Ответ написан
    2 комментария