Задать вопрос
  • Телефон не видит компьютеры в локально сети?

    @rPman
    Удостоверься что смартфон действительно подключился к локальной сети, а не к примеру, гостевой на роутере. Посмотри его ip адрес в подключении wifi, попингуй в обе стороны (комп -> смартфон и наоборот).

    Удостоверься что на смартфоне не включен vpn или не используется прокси (например ускорялки от гугла и опера).

    Удостоверься, что ты указал правильный протокол (http но не https), так как браузера могут автоматически выбирать https.
    Ответ написан
    1 комментарий
  • Как хранят базы данных в продакшене, в докере или как-то по другому?

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

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

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

    p.s. Один раз получив серьезную нагрузку и попробовав bare metall железо без даже lxc/docker , назад возвращаться не захочешь.

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

    Очень жаль что датацентры не практикуют 'узкие лезвия' (очень компактные небольшие сервера, размером с ладонь), из-за чего из стоимость на столько неадекватна, что эффективнее собирать неэффективные конфигурации
    Ответ написан
    Комментировать
  • Как правильно прописать конфигурацию данные Postgres в Node js?

    @rPman
    имена переменных бери из строки:
    const connectionString = `postgresql://${process.env.POSTGRES_USER}:${process.env.POSTGRES_PASSWORD}@${process.env.POSTGRES_HOST}:${process.env.POSTGRES_PORT}/${database}`;

    Хост у тебя судя по скрину - localhost, в крайнем случае используй то что возвращает консоль по команде hostname

    чтобы понять что происходит, назначение ключей psql смотри в документации или по команде psql --help
    p.s. смотри внимательно сообщение об ошибке
    в особо извращенных случаях сервер может быть не локальным, а его адрес прописан у пользователя в домашнем каталоге в .pgpass или pg_service.conf
    Ответ написан
    Комментировать
  • Как синхронизировать проекты между компьютерами?

    @rPman
    syncting или rsync (если подойдет ручное управление) и git (не смешивая их).

    syncting хорошо работает с большими данными и любыми схемами передачи данных (вплоть до источник -> смартфон пользователя offline, смартфон -> целевая машина, и так же обратно, т.е. без интернета)

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

    @rPman
    Ты не сообщил самое главное - как будут читаться собираемые данные. Будут ли они считываться и тем более фильтроваться в процессе записи, можно ли вводить запаздывание при чтении данных (например до 'некоторых' данных в прошлом).

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

    Проблема не столько в данных и в их объеме, а в надежности всей схемы, т.е. например можно не делать единую точку отказа и сделать несколько независимых api endpoint, клиенты должны сами переключаться между ними, при ошибках, ну а сам выбор куда подключаться делать случайным.

    Кстати, собственно сбор оперативных данных не обязательно делать в ОДНОЙ физической базе, это могут быть разные БД, а вот последующий анализ уже делать следующим сервисом (так же может быть несколько нод), собирающим данные из разных первичных источников в какой то единый или еще в какой то форме... именно подготовка данных к последующему их использованию и есть вопрос реализации.

    Настоятельно не советую городить зоопарк из разных баз данных типа редис и sql-db.. когда sql база используется без индексов (и тем более без транзакций) на последовательную запись у нее нет конкурентов (ну только что совсем низкоуровневым программированием заняться)
    Ответ написан
    3 комментария
  • Как сделать предпросмотр файлов word, pdf, img, txt в рамке прямо на сайте?

    @rPman
    Изображения и тексты это легко, у них 'простой' формат и реализовать все в браузере будет не сложно, а вот для предпросмотра документов word нужен собственно этот word, так как у него сложный формат (еще сложнее был бы excel).

    p.s. pdf

    Если прямо очень нужно, подними на сервере какой-нибудь совместимый headless инструмент (например libre office, у него наилучшая совместимость с майкрософтовским) и используй его для конвертации документа во что то читаемое в браузере - напрямую изображения или pdf (через печать документа в виртуальный принтер), и то и другое уже не проблема отобразить.
    Ответ написан
    Комментировать
  • Как быть если две библиотеки начинают зависят друг от друга?

    @rPman
    а почему бы не объединить эти обе библиотеки в одну?
    зачем мельчить если они друг от друга зависят и так?
    Ответ написан
    Комментировать
  • Сравнение голосов - программы и нейросети - есть ли такие?

    @rPman
    https://huggingface.co/models?other=speaker-recognition как отправная точка для поиска готовых моделей (можно поиграть с поисковым запросом)
    Ответ написан
    1 комментарий
  • Мне подарил мой товарищ лаптоп Каким образом не заметно для меня он бы мог следить за мной?

    @rPman
    Аппаратный способ лучше всего, самый простой это usb симулятор клавиатуры, такой на ардуино сделает любой железячник (вопрос как к этому симуляторы подключается злоумышленник но есть варианты...), в нужный момент такой жучок может набить целый троян (например на wsh js или .net js#/c#), открыв блокнот в момент бездействия пользователя.

    Бывает внутри ноутбука много свободного места, а жучок - плата в пару сантиметров.
    Ответ написан
    Комментировать
  • Почему рекомендуется использовать private а не просто ставить везде Public?

    @rPman
    Одно слово - инкапсуляция.
    Если ты делаешь внутренний метод или переменную публично доступной, и работаешь с ней снаружи класса, то когда тебе понадобится изменить эту переменную или метод по работе с ней, тебе понадобится искать все использования этой переменной, а вот если ты заранее ограничишь себя, и для выхода наружу будешь специально создавать методы класса, то в тот момент, когда ты пожелаешь что либо изменить, тебе будет достаточно сделать это внутри класса.. да и искать влияние таких исправлений снаружи по ошибкам компилятора будет проще.

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

    Тупой пример с координатами персонажа... делаешь эти переменные приватными, и оформляешь методы 'бег вперед', 'поворот' и т.п. а значит снаружи у тебя не будет чего то типа object.pos_x+=object.speed_x а будет object.moveRight().
    Ответ написан
    Комментировать
  • Возможно ли использовать модель LLAMA-405B на обычном железе 64GB + 8GB?

    @rPman
    Да, уже считал, и это действительно реально, с относительно небольшими затратами (16-20т.р.) если тебя устроит скорость исполнения в 15-30 секунд на токен (на твоем железе llama31-70b на процессоре и 64гб оперативке будет работать токен в 1-1.5 секунд).

    Необходимо собрать самый дешевый pcie nvme ssd программный raid0, купив контроллер pcie-x16 3.0 или 4.0 из четырех разъемов nvme либо четыре pcie-4x дешевых 3.0 и закупить самые дешевые nvme ssd диски от 128гб (со скоростями чтения от 2гбайт/сек).

    Затем собрать из них raid0 с чередованием (win/linux это поддерживают) и разместить на нем gguf файл. llama.cpp поддерживает загрузку файла с весами с диска, без выделения оперативной памяти (но она нужна на контекстное окно, в зависимости от его размера это будут десятки гигабайт). Файл будет считываться по кругу целиком, по разу на токен, а значит скорость будет определяться именно этим. 2гб/с*4 диска = 8гб/с, 256гб 4бит квантизация будет считываться за 32 секунды.

    Есть еще ограничения в скорости исполнения из-за процессора, но по уму, если бы была оперативная память то типовой десктопный процессор работал бы на скорости 15-20 секунд на токен.
    Ответ написан
    7 комментариев
  • Как залить большой файл sql в базу?

    @rPman
    Телепатствую.

    Главная причина, чаще всего, это не отключенные индексы, запись в таблицу с ними это n*log(n), а без индексов это n или даже log(n).

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

    Отдельно в sql коде можно расставить commit через некоторое количество (десятки тысяч +-) insert-ов, что бы лог не переполнялся.

    Следующий вариант - оптимизация дисковой записи, найди способ принудительно включить lazy writes на диске с базой, например с помощью виртуализации или хотя бы ext4 опция data writeback. Внимание! в этом режиме любая проблема с ос (например отключили питание) испортит данные. Т.е. на время импорта создай файловую систему для таблиц отдельно, потом данные тупо скопируешь. Но если у тебя норм ssd или дисковый контроллер с хорошим кешем, то это не актуально.

    И если говорить об самым экстремально большом ускорении, размести файлы базы в tmpfs (оперативка, сотня гигабайт сейчас даже дома не проблема)... Можно для этого арендовать в облаке vps-ку, но желательно в этом же датацентре, а то копировать сотню гигабайт может быть долго. И да, следи за тем что бы была та же архитектура процессора и версия mysql
    Ответ написан
    Комментировать
  • Какой бтс кошелек поддерживает импорт приватного ключа?

    @rPman
    Electrum умеет, при создании нового кошелька он спросит какой тип кошелька выбрать, насколько лет назад там прекратили поддержку смешанных кошельков, т е. либо импорт приватников либо Сид.
    Ответ написан
    Комментировать
  • Как стать провайдером через VDS/VPS?

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

    Вы можете собраться в несколько человек, скинуться и приобрести подключение к интернету (например через мобильную сеть), разделив затраты по какому то правилу, по которому договоритесь. Когда в ходу еще был http протокол и основной трафик был - текст, можно было за счет кеширования и прокси заметно уменьшить затраты на этот трафик, но теперь этой возможности нет в принципе (есть некоторые соглашения по типу retracker для torrent в локальных сетях, но не больше).

    Технические вопросы - на машине (или рядом), которая будет подключена к интернету, нужно будет настроить NAT (не обсуждаем варианты выдачи каждому клиенту ip адрес, это бессмысленно в вашем случае) и собственно все... обычно любой роутер это может.

    p.s. Учтите, что предоставлять услуги выхода в интернет без лицензии (точнее разрешения от госсударства) - запрещено и вы можете понести наказание (штрафы от 1т.р. до 300т.р. и даже наказание лишение свободы до 6 месяцев, уточните текущее состояние законодательства)

    p.p.s. Учтите, что тот, кто заключит договор подключения к интернету, будет нести ответственность за действия остальных (если использовать vps то определять правила и наказывать будут в той стране, где запущен этот vps).
    Ответ написан
    5 комментариев
  • Влияет ли на общую скорость сети?

    @rPman
    Все зависит от того, что стоит на маршрутизаторах, которые подключены на разных концах радиомоста.

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

    Условный пример, один клиент с torrent, с настройками по умолчанию (100 одновременных подключений) легко загрузит канал на 99%, и не важно, что у тебя еще 100 клиентов, все остальные будут ждать когда он загрузит свой файл (а еще раздача так же будет канал занимать)

    Чтобы было справедливо, нужно настраивать какое то лимитирование и резервирование канала на одном из маршрутизаторов
    Ответ написан
  • Подозрительное сообщение от неизвестного отправителя, которое невозможно удалить. Что это?

    @rPman
    Если симку вставить в другой смартфон, будет так же?
    Советую спросить от этом своего сотового оператора
    Ответ написан
  • Может ли нейросеть определить на изображении отсутствие всех объектов, кроме одного?

    @rPman
    У нейроситей коассификаторов, тех что используют для распознавания изображений не очень хорошо с понятием 'неизвестно' или 'все остальное'. Сеть должна при обучении видеть все объекты... Если с этим все нормально то можно обучить такой классификатор... Я принципы и методология вся та же самая
    Ответ написан
    Комментировать
  • Как называется слайсер с возможностью разделения?

    @rPman
    Мне кажется из открытых и многофункциональных слайсеров есть только cura и slic3r (он заброшен) и миллион его форков (prusa/orca/...) все остальные либо лимитированы в функционале одним типом принтера, так как выпускались под него либо просто в забвении, потому что проприетарные.

    Очень часто виду как производители принтера берут slic3r, переделывают его внешний вид и выпускают под видом своего.

    p.s. извиняюсь, я изучал только слайсеры fdm печати, а если у тебя речь идет о sla/sls принтерах, то я хз.
    Ответ написан
    Комментировать
  • 10к строк по базе размером 500кк?

    @rPman
    Избавляйся от like '%...%', это худший способ искать, он индексы не использует
    даже поиск с регулярными выражениями работает лучше (правда там лимит на размер строки)

    Если like используется чтобы искать части url, то храни в базе не целиком а разделенную по полям, в идеале чтобы поиск был на равенство (даже если база увеличится и станет сложнее, например тебе нужно искать по параметрам GET url, т.е. потребуется создать еще одну таблицу на них, скорость все равно будет хорошей)
    Ответ написан
    Комментировать
  • Почему открывается schtasks.exe при включении?

    @rPman
    Скачай майкрософтовский sysinternals autoruns и вдумчиво изучи все что там прописано в автозагрузку. Так же изучи все задачи в task scheduler (в пуск - служебные) там много майкрософтовской телеметрии но чужие видно сразу.
    Ответ написан
    Комментировать