Задать вопрос
  • Оператор, операция, функция, процедура - что всё это значит?

    @rPman
    Это разные названия действий/команд, применяемых в разных ситуациях, не в каждом языке есть каждый из описанных.
    * Оператор (и действие, которое он вызывает - операция) - это пришедшие из математики действия, классические +, -, /, *, символ присвоения = (в разных языка по разному, например pascal :=) или сравнения == (соответственно = в pascal) или логические операции (и/или/не/..),..

    Синтаксически выделяют их как что то записанное рядом с операндами (то с чем производится операция), например слева/справа - ++i, !i, -1, i++, или между двумя i+y, или теранрная операция в c++ - условие?если_истина:если_ложь из трех операндов.

    В некоторых языках может быть переопределена программистом (например в c++) для своих типов

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

    Синтаксически обычно это имя ( аргументы через запятую) но встречаются выверты типа lisp (имя аргументы через пробел) и кстати операция + там тоже функция (собственно кроме этих скобок там ничего нет)

    * есть еще методы классов, в языках с объектно ориентированным уклоном (но не обязательно, например в c так тоже можно похоже, с определенными усилиями, но это совпадение), когда добавляется 'синтаксический сахар' для указания одного (условно главного) параметра функции/процедуры по другому, групируя место описания этих методов в одном месте и добавляя различные методы наследования и самоограничений доступа.

    Синтаксически это выглядит как экземпляр_объекта -> метод (аргументы,..) (вместо -> может быть '.', '->', '::' (в cpp и аналогах обращение к статическому методу класса а не к объекту) ну и всякие синтаксические извращения javascript по имени obj["method"](args)

    p.s. настоятельно рекомендую, воспользуйся современными инструментами работы с документацией, особенно подходящие для новичков (с оговорками про галлюцинации, т.е. держи в голове что факты нужно перепроверять) - ИИ, хоть бесплатными штатным майкрософтовским copilot.microsoft.com (он так же встроен в edge и в windows 11 но требует vpn в россии, с ним можно голосом поговорить, добавив при старте что ты хочешь что бы он тебе помогал в обучении и наводящими вопросами после объяснения проверял, верно ли ты все понял) хоть платным (рекомендую) от chatgpt.com/deppseek/xai/.. еще лучше воспользуйся агрегатором типа openrouter
    Ответ написан
    4 комментария
  • 1 ПК для работы и сервера или 2 раздельных?

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

    Но у вас нейронные сети и маленький бюджет. Это буквально ограничивает решение одним компьютером.

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

    В частых случаях можно приобрести несколько и будет vram будет суммироваться, но тут вылезает вторая проблема - pci-e, а точнее на количество линий на десктопных процессорах - 24, в принципе за материнскую плату и не дешевый процессор можно приобрести процессор с 48 линиями pci-e, это порядка 90т.р. и как раз хватит на оперативную память но не хватит на видеокарту.

    Что значит мало линий pci-e, это значит видеокарты подключаются на низких скоростях pci-e 4x (вместо ожидаемых 16x) просто потому что железо не позволяет быстрее. И тут некоторые алгоритмы распараллеливания вычислений начинают сбоить и сильно понижать скорость, так как данные приходится гонять через медленную шину данных (а например генераторы видео нормально не распараллеливают на несколько карт, лучшие из открытых типа Hunyan или Wan вообще требуют 48гб за раз).
    и только nvidia
    Есть еще требование к выбору железа - nvidia, в подавляющем большинстве случаев софт ожидает железо от этого вендора (да еще и не самое старое, минимум gtx серии, начиная с 1050 для десктопных и конечно все серверные), что почти на треть повышает стоимость решения, если сравнивать с одинаковой теоритической производительностью у конкурентов amd (и intel появился). Так вот, софт для работы с нейронными сетями может просто не заработать на решениях не nvidia, а если заработает (топовые amd) то с заметным понижением производительности (так как эмулируется много чего). Спасибо ggreganov с его ggml и .gguf форматом хранения весов, это позволило использовать софт (типа llama.cpp или моды к comifyui для работы gguf), его софт работает со огромным типом железа и даже экзотическими комбинациями но тоже не везде и всеми поддерживается)


    В общем в результате:
    * оперативную память набирать 64gb-128gb, в идеале 196gb (тогда будут работать лучшие открытые модели на 5-10токен/сек скорости)
    * видеокарту нужно приобретать с максимальным объемом vram, а это начиная с gtx 4060ti 16gb за 50т.р. или хотя бы 3060 12gb за 30т.р. (вот тут можно и две приобрести и найти материнку, поддерживающую две pci-e 8x, это не просто, так как даже если аппаратно будут видны контакты на разъемах, одновременная работа может не поддерживаться)... с такими видеокартами и на средних поиграть (они слабые, их достоинство именно объем vram за цену) и нейронки погонять с помощью ik_llama.cpp
    Ответ написан
    4 комментария
  • Можно ли доверять сайтам, которые генерируют случайные пароли онлайн?

    @rPman
    Владелец сайта МОЖЕТ сохранить сгенерированный пароль с пометкой о пользователе (или fingerprint браузера) и обнаружить это может быть очень сложно (страница с вредоносными скриптами может быть отдана по условиям, при этом по таймингам и иным косвенным признакам, можно определить, смотришь ли ты страницу с помощью view-sourse: или загружаешь ее сторонними инструментами, или это браузер загрузил и проконтролировать сложно (можно создать плагин для такого контроля, но я не видел что бы кто то это делал).

    Т.е. это вопрос доверия и вопрос уровней этого доверия.

    Даже при использовании открытых проектов (код которых вы можете проверить), запускаемых локально, существует шанс что именно вам сервис загрузки приложения (если вы загружаете готовый бинарник) отдает код с бэкдором, но тут хотя бы больше средств для проверки и средства доставки файлов вне контроля разработчика... т.е. хотите контроля - собирайте инструментарий самостоятельно, а так же проводя проверку всего и вся... и даже в этом случае надежность будет не 100% (есть бэкдоры в браузерах, ОС, БИОС, железе)

    но если сравнивать надежность то opensource и локальные приложения значительно более надежные чем онлайн.
    Ответ написан
    Комментировать
  • Как подключить в proxmox backup server папку из хост ОС больше 100ТБ?

    @rPman
    proxmox умеет в контейнеры lxc, хост каталог монтируется в них напрямую, и на сколько я знаю можно одновременно нескольким контейнерам монтировать один и тот же каталог как rw (используется bind mount, ему пофиг)

    т.е. 'виртуальные' машины, созданные как lxc контейнеры будут работать с хост каталогом удобно и без накладных расходов
    Ответ написан
    1 комментарий
  • SSH +reverse https proxy, при чём тут openSSL(VPN)?

    @rPman
    Если вам нужно обеспечить доступ к сервису в локальной сети по http извне, но защитить трафик каким-либо шифрованием, то более чем достаточно обычного перенаправления портов ssh, на роутере или на машине в локальной сети запускаем ssh сервер с разрешенным перенаправлением портов (по умолчанию это разрешено AllowTcpForwarding Yes), а затем в сети, откуда необходим доступ, нужно запустить:
    ssh user@host -L ip_адрес_локальной_машины:port_локальной_машины:ip_адрес_машины_с_http_сервисом:port_этого_сервиса


    кстати можно и наоборот, особенно это актуально, если подключения из вне до целевого сервиса никак не доступны, можно ssh сервер поднять на клиенте (откуда хотим подключаться) а она из машин в локальной сети где целевой сервис стоит, должна запустить ssh клиент:
    ssh user@host -R ip_адрес_в_локальной_сети_целевого_сервиса:port_целевого_сервиса:ip_адрес_в_локальной_сети_клиента:port_в_локальной_сети_клиента


    в обоих случаях сервис станет доступен из локальной сети клиента по адресу: http://ip_адрес_в_локальной_сети_клиента:port_в_ло...

    Точнее по тому же протоколу, по которому он работает в этой локальной сети.

    ip_адрес_в_локальной_сети можно не указывать, если он 127.0.0.1, так же порт по которому ssh будет слушать подключение, если будет ниже 4000 то ssh должен быть запущен под root

    upd. если нужно именно https протокол, то нужно запускать http сервер с поддержкой ssl сертификатов (обычно в роутерах этого нет) в режиме проксирования (например nginx)
    Ответ написан
  • Возможно ли сделать браузер как на старый сотовых телефонах на esp32?

    @rPman
    Настоятельно рекомендую генерировать веб страницу на сервере, чистить от визуального мусора (достаточно простого инжекта на страницу, поиск видимых элементов с текстами и чистка от лишних пробелов), плюс ссылки a href и элементы с onclick/onmousedown ивентами... и editbox/textarea (визуально как то их выделяй как просто объект, при выборе которого на весь экран раскроется редактор, и помним что нужна кнопка enter и esc)

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

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

    Зато пользоваться результатом можно будет вполне почти на всех сайтах.
    Ответ написан
    5 комментариев
  • Какой Excel установить на смену 2007?

    @rPman
    с большими таблицами (80 тыс. строк+)

    in memory и/или sql база данных + любимый язык программирования

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

    p.s. у майкрософта есть в поставке оффиса приложение access (GUI к sql базе данных на файлах .mdb), если бы майкрософт не жевали сопли и не жаждали всех денег на свете, sqlite даже бы не появился (это не так, sqlite появился по другим причинам но занял именно ту самую нишу, которую можно было бы ожидать и от .mdb), но увы...
    Ответ написан
  • Чем записывать аудио поток на компьютере?

    @rPman
    Ищите утилиты коммандной строки (тот же ffmpeg, он кстати и тишину умеет мониторить), оформить их в скрипт из 3 строчек (для имён файлов) и запускать штатным task scheduler
    Ответ написан
    Комментировать
  • Стоит ли самому делать замену Жидкого Металла в ноутбуке?

    @rPman
    Нет, это совершенно не имеет смысла, не изменится ничего связанного с:
    бывает что панель над системой охлаждения горяченькая, и вызывает дискомфорт,

    Так как это уже отведенное тепло, тут нужна система внешнего охлаждения, типа подставки.

    60 градусов процессора в нагрузке это идеальное состояние!

    Если вам зачем то нужен разгон, то это ещё более бессмысленное действие, во даже а идеальном случае производительность изменится на считанные проценты а синтетических тестах но не реальных задачи
    Ответ написан
    4 комментария
  • Планшет на Windows как второй экран к Linux?

    @rPman
    На планшете установи linux в минимальной комплектации, тебе не нужен даже DE, только xserver.
    Затем с помощью xhost + разреши подключение по сети (в добавок в настройках запуска xserver убери ключ -nolisten это тоже нужно для работы в сети)

    Теперь можно запускать приложения на удаленном мониторе (целиком, но не растянуть на несколько), изображение и клавиатура с мышью будут также этой удаленной машина, но процессор и видеокарта (с оговорками) будут использоваться локальные.
    DISPLAY=ip:0.0 your_app

    Есть старый не поддерживаемый проект https://manpages.ubuntu.com/manpages/focal/man1/Xd... который позволяет объединить несколько xserver в один большой монитор, хз на сколько поддерживается сейчас

    Ещё есть x2x, тоже хз как поддерживается.

    Для wayland такого нет, так что это ограничит выбор DE
    Ответ написан
  • Существует ли софт, позволяющий задействовать всю мощь CUDA при кодировании видеофайлов?

    @rPman
    Cuda это язык верхнего уровня, компилируемый в байт-код видео процессора. Видеокодек nvenc это проприетарный кодек, байт-код которого поставляется с bios видеокарты (и/или с драйверами), т.е. никакого специфического железа там не должно быть, плюс там много что огорожено патентами, я помню читал в ~2011г. когда в ffmpeg пилили поддержку opencl... В общем лучи поноса отправлять nvidia или шире, группе компаний (там все топы типа майкрософта, оракла и т.п.), они же патенты на всякие видеокодеки держат.

    Т.е. софт в принципе может существовать, но при попытке на нем заработать придут 'бандиты а законе' и сделают атата
    Ответ написан
  • Как перенести виртуальную машину из VirtualBox в VMware?

    @rPman
    Если на virtualbox использовался метод загрузки EFI, то одного копирования диска не достаточно, нужно восстанавливать загрузчик уже на новой машине, делать это нужно с помощью консоли восстановления (есть на установочном диске win), который достаточно подключить к новой машине.
    Ответ написан
    Комментировать
  • Какое есть бесплатное решение для организации файлообменника?

    @rPman
    Syncthing, в любую сторону, любая платформа
    Ответ написан
    Комментировать
  • Стоит ли начинать, если да, то как?

    @rPman
    Для iphone и не только рекомендую разработать мобильное веб приложение, это будет более кроссплатформенное решение чем пытаться выбирать какой то единый фреймворк, и главное, mac иметь не требуется.

    Нет никаких весомых причин делать приложение вместо веб, практически весь функционал доступен, включая офлайн режим, за исключением продвинутых средств кражи информации
    Ответ написан
    5 комментариев
  • L2TP - сольются ли мои данные?

    @rPman
    Использование l2tp на роутере более менее безопасно. Так как практически весь интернет зашифрованный.

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

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

    Пример атаки (многие браузеры уже защищены, но как то топорно, кажется просто списком популярных сервисов по умолчанию но можно принудительно включить https-везде) - при первом заходе на сервис, без указания http/https будет использован http, обычно современные веб приложения тут же перенаправляют запрос на https версию сайта, но провайдер может отключить это, подменив http трафик (он не шифрован) и атакуя пользователя, подменяя содержимое веб сайта и читая всю информацию.
    Ответ написан
    Комментировать
  • Почему преобразователи USB-232 отваливаются в Виртуалбокс под Линуксом?

    @rPman
    а в kvm не отваливается?
    на сколько я знаю, у oracle проброс usb сделан ну очень тяп ляп, и работает это с очень небольшим количеством устройств (чудо что вообще работает)

    в kvm же можно как пробросить все устройство (причем не usb а сразу serial), зачем это делать через usb посредника?

    ну и на засыпку, kvm позволяет пробрасывать целый usb контроллер, это исключает многие косяки, которые могут наложиться из-за особенностей реализации портов в windows и linux, даже можно в ядре в загрузчике попросить не трогать устройство (т.е. оно даже не будет инициализировано до запуска виртуальной машины), такой подход должен быть самым надежным
    Ответ написан
    3 комментария
  • Какой монитор из этих 2 выбрать?

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

    p.s. я бы 'по боялся' бы покупать монитор с рук, да и ozon для меня это читай барахолка с частниками, 'стоящими у дороги с товарами на земле на тряпочках', ни в том ни в другом случае у вас никаких гарантий, мало того, продавцы финансово заинтересованы смошенничать.
    Ответ написан
  • Маппинг криптовалютных пар на криптобиржах?

    @rPman
    Я пробовал CoinGecko, но 30 запросов в минуту для полных данных не хвататет(даже с batch x250 на rest запрос), необходимо парсить +- 3000 торговых пар.
    потому что нужно забирать данные из потока событий, обычно это websocket канал, подписываешься на события торговли и изменений в стакане и в реальном времени получаешь картину.

    https://developers.binance.com/docs/binance-spot-a...
    https://www.gate.com/docs/developers/apiv4/ws/en/
    https://docs.cdp.coinbase.com/exchange/websocket-f...
    Ответ написан
    Комментировать
  • Почему такая низкая скорость на ssd samsung 970?

    @rPman
    А что говорят типичные утилиты теста производительности типа CrystalDiskMark? Только выбирай размер файла по больше, например 10-30гб.

    Проводник windows это самое не эффективное средство для работы с файлами (правда гуглится что с ssd можно на нем добиться порядка 1гб/с, но мне кажется тут еще процессор и чипсет материнки влияет).

    Есть утилиты типа FastCopy, которые отключают буфер ОС, и позволяют настроить многопоточное копирование (для ssd это может быть эффективнее, но нужны тесты). Да хотя бы far или total commander используй.

    Теоретическая производительности TLC SSD дисков
    - заявленная скорость записи будет только пока кеш диска не переполнен (у твоего диска он порядка 110гб и это при полностью свободном диске, при заполнении он будет уменьшаться)
    - при заполнении кеша скорость должна упасть в 6-10 раз (а на дешевых контроллерах и больше), так как контроллеру приходится паралельно с записями читать, писать, и еще и проверять записанное (при записи в 3-битную память надежность сильно падает)
    - когда копируешь на скорости в гигабайт в секунду, размер буфера очень сильно влияет на нагрузку на процессор, а еще есть шина памяти (особенно когда работает что то типа виндового проводника, которые даже рядом не пытается dma использовать, копирует данные туда сюда), в общем если у тебя не топове железо (смотреть на single thread performance) то пол гигабайта это вроде бы норм.

    p.s. Прежде чем принимать решение о медленном диске, я бы сначала (осторожно, это уничтожит данные на диске), прямо после покупки, из linux (можно и windows, есть что то типа windd) с помощью dd копировал бы сотни гиагабайт на диск из /dev/zero или /dev/urandom (осторожно, он медленный, лучше по кругу гигабайтный файл из tmpfs), перебирая разные опции размера куска копирования, без создания файловой системы, прямо на диск с 0 сектора.

    Еще есть момент, по уму это давно уже автоматически решается, но все ещё встречается, если при создании раздела, адрес первого сектора был выбран неправильно (по середине реального кластера на диске, напомню он может быть 4-8-16кб а системе сообщает что 512байт) то при чтении/записи сектора на такой диск будет происходить два чтения/записи реальных сектора на диске, это роняет скорость в разы. В linux я вообще, при использовании один-раздел-на-диске, не создаю таблицы разделов а размещаю файловую систему прямо с 0 сектора, да и размер кластера подбираю под средний размер файла/кусок чтения данных, например если собираюсь хранить стогигабайтовые файлы, можно размер кластера сделать сотни килобайт или даже мегабайт (с осторожностью, тут лучше тесты делать). В windows лучше использовать не ntfs а exfat, и проводить эксприменты с разными размерами кластера. Ну и конечно, отключать запись времени последнего доступа к файлам (этот абсурд нужен двум с половиной калекам в мире, но по умолчанию включен у всех), когда даже при чтении файла, на диск идет запись метаинформации об этом факте.
    Ответ написан
    3 комментария
  • Видит ли провайдер то, что я скачал оффлайн страницу сайта в Google chrome на телефоне?

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

    плюс, эту информацию может делать сам браузер (гугл или майкрософт), это еще один мощнейший инструмент слежки
    Ответ написан
    Комментировать