Задать вопрос
  • Как сделать из трех компьютеров один?

    @rPman
    Мне наверное компания ibik должны уже за рекламу приплачивать ;). Я говорю про их продукт aster.

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

    Само собой, физически не обязательно наличие нужного количества клавиатур и мышек, а вместо мониторов можно вставить копеечные заглушки.

    Затем на каждом рабочем месте можно запустить приложения удаленного доступа (к сожалению я не знаю, как настроить vnc/teamviewer/anydesk на работу в этом случае но если запускать не в режиме службы, то все работает), я настраивал vnc на удаленное подключение, так же должен работать rustdesk.

    p.s. есть опенсорс утилита https://github.com/stascorp/rdpwrap которая когда то убирала ограничение на одновременное подключение по rdp но в windows 10 что то поменяли и вообще активно с этой утилитой сражаются, есть форки, изучай
    Ответ написан
    4 комментария
  • Как быть если приложение после удаления не устанавливается?

    @rPman
    ищи логи установки, они почти всегда есть, скорее всего складываются в %TEMP%

    Если что, ищи у приложения .msi установочный файл либо проверь наличие ключей установки у exe файла инсталятора, но чаще msi .уже есть и он просто упакован в архив (которым кстати может являться .exe файл).

    При наличии .msi файла можно принудительно указать место расположения .log файла
    msiexec /i "installer.msi" /l*v "log.log"
    Ответ написан
  • Производительность решения SQL like vs join?

    @rPman
    Ты забыл третий вариант, самый быстрый и наиболее предпочтительный если общее количество опций не велико (сотни, например у mysql лимит 1024 колонок максимум) - каждая опция это своя колонка, пустое (null) значение будет значить отсутствие опции у записи.

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

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

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

    p.s. если говорить про твои варианты:
    * для 1 используй json сериализацию (опция=значение) в mysql для работы с такими данными есть соответствующие методы
    * для 2 постарайся вместо текстовых наименований опций использовать числовые идентификаторы, заведя соответствующий классификатор либо в базе в отдельной таблице либо в виде констант в коде.

    p.p.s. Ну и еще вариант, если тип значений опций - boolean (либо ограничен небольшим количеством значений, например цвет светофора 4 - выключен, красный, желтый, зеленый) то так же заводи для этих значений числовой эквивалент. В этом случае у тебя появляется еще бонус, упаковывать битовые значения (где количество вариантов 2^x и x это количество бит) и хранить в целочисленном поле сразу несколько (правда не все базы позволяют индексировать операции с битами).
    Ответ написан
    3 комментария
  • Какие характеристики ноута для начинающего?

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

    По факту - ноутбук для дома это устройство потребления контента и развлечения. Ноутбук как и планшетник это 'второе устройство', а не основное.

    Чисто технически ущербная клавиатура (а производители 99% ноутбуков ее делают таковой) неудобна для активного использования. Соотношение цена/производительность у ноутбуков в разы выше чем у стационарных компьютеров, и если ваш ценовой диапазон ниже 1к$, там все еще хуже - куча компромиссов.

    Теперь по теме - собирая стационарный компьютер для ребенка для обучения и развлечения (вы же не изверг да?), выбирай
    + максимально быстрый и емкий диск (ssd nvme от 512Gb, не экономь и не бери самые дешевые, бери все что имеют гарантию 3года минимум)
    + любой HDD (пусть будет даже дешевая тошиба 3Тб, лучше 2 для использования в RAID mirror на случай смерти диска)
    + максимально большой объем RAM (минимум 16Gb, но разработчику лучше максимизировать до упора, 32Gb облегчит работу с виртуалками, а 64Gb+ откроют доступ к тем же языковым нейронкам LLM, да медленно, но бесплатно и у тебя на руках)
    + видеокарта от nvidia 3060 12Gb VRAM (цены на нее от 33т.р., да медленная, но это младшая серия из тех видеокарт что дают возможность и играть в топовые игры на средних и играть с современными нейрогенеративными моделями, да и просто свои нейронки, VRAM там очень нужна).

    Про процессор там или выбор материнской платы - это уже не так актуально, выбирать по совместимости. Дело в том что различия в производительности процессоров с разницей в цене 2х будет считанные проценты, да за 5к$ можно собрать топовое железо которое будет раза в 2 быстрее железки за 500$. И я говорю не про цифры бенчмарков, а реальную производительность и отзывчивость на 99% задач, которые требует single thread производительность. Современный софт/игры обычно ориентируются на 6-ядерные процессоры (12 hyperthreading) и вполне нормально будут работать и с меньшим их количеством, когда как топовое железо будет содержать десятки ядер, которые нагрузить сможет только очень небольшое количество специфических задач.
    Ответ написан
    8 комментариев
  • Как хранить логи приложения на php?

    @rPman
    Храни в sql базе, так как это временные логи, используй партиционирование, и очень хорошо думай какие индексы ставить
    Ответ написан
  • Где хранить 1ТБ видео?

    @rPman
    Криптовалютные проекты, ориентированные на хранение типа siacoin (у кошелька готовый api плюс есть проекты позволяющие например fuse файловую систему на основе облачного хранилища), по цене хранения данных они вне конкуренции (но цены на выгрузку данных из облака высоки на столько что в итоге стоимость станет сравнима с классическими облачными сервисами)
    Ответ написан
    Комментировать
  • Выбор комплектующих для сервера?

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

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

    И конечно главный вопрос, зачем личный сервер и чем онлайн хостинг не устраивает?
    Ответ написан
    Комментировать
  • В чем может быть причина лагов сервера?

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

    проверь что пишет в консоли ping твой_домен и какой ip на самом деле у сервера
    Ответ написан
    1 комментарий
  • Как распознавать церковнославянский язык?

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

    p.s. в этом вопросе предложили специализированный софт gamera с gui для интерактивного обучения под неизвестные языки
    Ответ написан
  • При воспроизведении видео на ютуб в качестве 1080р и более в 60 фпс лагает видео, дропуются кадры. В чем может быть проблема?

    @rPman
    стимовский браузер основан на chromium, твои 'обычные браузеры' это какие?

    И еще, для начала проверь работоспособность на чистом профиле (либо ОС либо средствами браузера), без расширений и с дефолтными настройками, так исключишь вероятность проблем именно в них.

    p.s. за лаги в системе может отвечать еще блок питания, если он не способен выдавать стабильное напряжение под нагрузкой (это как слабые/дешевые этим грешат так и существуют поломки этого типа)
    Ответ написан
  • Не устанавливается ни одна ось?

    @rPman
    Драйвера на текущий чипсет (а точнее на дисковый контроллер) нужно заранее в систему интегрировать (сделать это можно с помощью ntlite, как в установочный образ так и в уже установленную систему).

    Еще момент, если проблемы создает биос (и обновлением/даунгрейдом проблема не решается) то можно установить grub linux и уже из него запускать windows (при установке grub он самостоятельно просканирует диски и добавит в меню загрузки найденный windows).

    Настоятельно рекомендуется начинать эксперименты с legacy mbr метода загрузки (обязательно диск разбить не используя gpt формат разделов). Еще момент, вполне возможно что при выборе EFI, прописанный в биосе драйвер контроллера диска ограничивает версию ОС, но можно попытаться поискать драйвер в старых прошивках биоса для таких же материнских плат (или просто перебором) и интегрировать этот драйвер в прошивку биоса (этот квест тот еще, но кому то даже помогал).

    Если все совсем плохо, но в биосе есть возможность выбирать, выбери IDE режим для контроллера (не ACHI и не RAID), в этом случае штатный драйвер ide контроллера от майкрософта сможет диск обнаружить. Но ide режим работает заметно медленнее, и настоятельно не рекомендуется для ssd.

    И совсем в догонку, windows 7 это теперь хардкор, попробуй сначала установить win8.1 он хоть и хуже с производительностью но не на столько как win10.

    p.s. всегда спрашиваю, зачем вам win7 на слабом ноутбуке? зачем вам вообще на нем windows? какие задачи там нужно решать и возможно вам хватит linux? Благодаря lutris (это менеджер разных запускалок win приложений типа wine/proton) это стало сильно проще даже с играми (процентов 10 от того что не поддерживается официально вдруг работает без проблем)
    Ответ написан
    Комментировать
  • Что означает T()?

    @rPman
    T() вызовет конструктор по умолчанию для типа T, тут это переменная шаблона, т.е. тот тип что указан при определении переменной класса List<имя_типа_или_класса>, который собственно тут описан.

    В данном случае возвращать будет новый экеземпляр объекта T в качестве значения аргумента data по умолчанию, если конструктор класса Node будет вызван без аргументов.

    Если честно у меня вопрос, что будет если тип T будет указан скалярный, типа int, определено ли значение по умолчанию для таких типов?
    upd. погуглил пишут да, в контексте шаблонов это нормально и значение по умолчанию определено
    Ответ написан
    4 комментария
  • Как создать мессенджер?

    @rPman
    Почти любой пример websocket (например на javascript и nodejs) это простейший чат без авторизации.

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

    Тем более задача не такая уж и сложная.
    * тебе нужен интерфейс пользователя и возможно администратора
    * тебе нужна серверная часть, поддерживающая: авторизацию пользователей, хранение и доставку сообщений

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

    @rPman
    В твоём вопросе главное не сама транзакция а кто подписывает (какой софт) а точнее кто имеет доступ к приватным ключами, именно доступ к ним делает соответствующий адрес 'уязвимым', вообще нельзя говорить о уязвимости адреса, это применимо только к софту, обрабатывающем чувствительные данные.

    P.s. я надеюсь я верно понимаю в вопросе о других сетях? Когда кошельки из разных крипто проектов создают на основе одного и того же приятного ключа? Зачем так делать мне не очень понятно
    Ответ написан
    Комментировать
  • Могу ли я скачивать и хранить файлы на FTP сервер?

    @rPman
    Проверь принципиальную возможность качать файлы роутером, фраза Download master подразумевает что там может быть торрент но не гарантирует, проверь экспериментально или найди документацию.

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

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

    К сожалению процессор роутера не подходит для скоростей порядка сотен мегабит, если речь идёт о торрентах. Даже если есть гигабитная сеть.
    Ответ написан
    2 комментария
  • Куда в windows server 2012 зарыли мастер установки не pnp принтеров?

    @rPman
    Во всех windows начиная наверное с win95 штатный способ установки драйверов - найти .inf файл (текстовый файл в формате .ini, описывающий собственно драйвер и способ его установки, со всеми нюансами и подверсиями устройств) и в проводнике нажать на нем правую кнопку, выбрать установить, само собой все пройдет хорошо, если производитель разработал нормальный драйвер, поддерживающий железо пользователя (чаще всего вместе с драйвером идет еще и софт, который должен устанавливаться уже другими способами, и по этому чаще всего установка драйверов представляет собой запуск установочного файла, который в свою очередь запускает установку нужных .inf).

    Остальные нюансы настройки устройства уже происходят после установки, в диспетчере устройств, в свойствах соответствующего устройства с помощью утилиты от производителя.

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

    После установки драйвера, установка принтера должна будет пройти уже штатно, через поиск принтера (в windows устройства может быть обнаружена ТОЛЬКО после того как ты установишь для него драйвер или хотя бы .inf файл, именно поэтому в каталоге windows\inf уже лежат пол тысячи файлов, а файлы драйверов от майкрософт соответственно в windows\system32\drivers там .cab файл на сотни мегабайт).
    Ответ написан
    1 комментарий
  • Как борются с взломом нейросетей?

    @rPman
    Бояться нужно не левой разметки, это не взлом.

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

    Гуглить adversarial attacks или атаки с использованием искажающих примеров.

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

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

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

    Так же гуглятся предложения по Регуляризации функции потерь.

    Главная беда нейронных сетей - они очень плохо работают, если им давать только хорошие данные, вместо тех признаков что мы как люди привыкли примечать (потому что у нас огромный багаж знаний в довесок, плюс мы постоянно дообучаемся) сети выделяют какие то дикие и абстрактные для нас признаки, по которым внезапно так же можно решать задачу, и именно на этом сети легко обманывать. Чем больше плохих данных ты даешь, тем больше знаний о предметной области (чем не является искомые объекты) - тем лучше она их будет искать, в идеале плохие данные должны быть на границе с хорошими... у людей 'человеческие детеныши' отлично умеют 'бесить взрослых', прощупывать пределы допустимого, совершая максимально дичайшую дичь но рядом с тем что еще не успели запретить или не достаточно хорошо определили.
    Ответ написан
    Комментировать
  • Библиотека для индексации документов Golang?

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

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

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


    p.s. От текстовых, а точнее не структурированных, логов лучше избавляться с самого начала разработки, причем буквально на столько, чтобы приложение вообще ничего не выдавало в stdout и stderr (кроме собственно хелпа и данных, если это потоковые инструменты), причем конечно красивее централизованно красиво собирать логи по сети в хорошую БД, но не обязательно, иногда даже простая сериализация объектов в php:serialize/json по событиям по строчкам в тот же лог файл уже лучше, ведь такие файлы обрабатывать на порядок проще (json можно парсить на скорости гигабайты в секунду потоковыми парсерами, и это в одном потоке)... ну на это на сколько я знаю куча библиотек написано, в т.ч. прямо встроенные в ОС
    Ответ написан
    Комментировать
  • Почему на РЕД ОС тормозит RDP?

    @rPman
    p.s. rdp сервер для linux реализован для галочки и по факту неэффективная трансляция экрана.

    Все зависит от задачи, тебе нужно подключаться к машине на linux и запускать приложения? Или тебе нужно запускать видео/игры с динамичным контентом и минимальной отзывчивостью с ценою понижения качества изображения?

    Если тебе нужно подключиться к linux серверу и запускать приложения, то настоятельно рекомендую использовать x2go, клиенты есть по до все ОС кроме мобильных (может уже есть не смотрел давно). Подходит для сетей с низкой пропускной способностью.

    Если тебе нужно управлять экраном с динамичным контентом, при наличии широкого канала (под сотню мегабит) и низкими пингами, то рекомендую rustdesk
    Ответ написан
    Комментировать
  • Какую ответственность несет провайдер в случае взлома?

    @rPman
    В лучшем случае будет проходить в деле свидетелем ;)
    Ответ написан
    Комментировать