Задать вопрос
  • Не победимая ФЛЕШКА как победить?

    @rPman
    antix-live это обычный linux на базе debian, сам по себе он не делает флешки read only, полагаю просто совпадение и контроллер флешки посчитал что флешка умирает и перевел ее в режим read only что бы защитить данные (это обычное поведение для ssd любого толка, жаль что не всегда так 'надежно' они умирают).

    Если из livecd linux простейший gparted/kdm не может ничего сделать с диском (да просто в командной строке с помощью dd обнулить первые сектора), то флешку в мусорку
    Ответ написан
    Комментировать
  • Можно ли заменить кликанье мышью по веб-интерфейсу cli-командой?

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

    Если же выявить по простому такой запрос не просто, то можно просто симулировать нажатия на кнопки на javascript прямо в браузере, инжектнув свой код с помощью, на выбор, расширения (tempermonkey/greasemonkey) или вставив свой код прямо в консоль разработчика (это работает только для single page application, иначе при обновлении страницы придется повторять) или используя средства автоматизации самого браузера (на его основе сделан selenium, его и использовать, это когда твой код запускает браузер и в нем выполняет действия). Я рекомендую tempermonkey.

    Обычно достаточно узнать css селектор требуемого элемента (например в консоли разработчика, в инспекторе, правая кнопка на нужном элементе, копировать как css-selector) и выполнить что то типа $('css-selector').click(). Чуть сложнее в этом случае реализовать взаимодействие своего кода вне браузера с кодом внутри браузера, самое простое - поднять свой веб сервер (он тоже должен быть https, если целевое веб приложение его использует либо настроить браузер на обход запрета смешивания http и https контента, не делайте так для рабочего браузера, это не безопасно, но для использования только одного веб приложения это безопасно), к которому из javascript можно делать запросы на получение команд и отправку результата (если это сбор данных).
    Ответ написан
    Комментировать
  • Как настроить proxy + VPN в Linux?

    @rPman
    Все зависит от того, какие именно технологии тебе нужны.

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

    * socks прокси сервер (локальный, любая ОС), достаточно подключиться к ssh серверу с ключом -D1080 и у тебя появится локальный socks5 прокси без атворизации (будет localhost:1080)
    Это все что нужно для работы прокси, никаких настроек (максимум озаботиться об автоматическом запуске без пароля). Но прокси требует наличие поддержки в приложениях (браузеры поддерживают все).

    * tap или tun туннель (не windows машины) с помощью ключа -w 0:0 (цифры тут это номер tap или tun устройства, создаваемого локально и на удаленной машине
    для создания tap туннеля нужно добавить опцию -o Tunnel=ethernet в этом случае сетевое устройство будет полноценным ethernet подключением, его можно добавить в сетевой мост со всеми вытекающими от сюда плюсами.
    ssh только создает tap/tun сетевое устройство, но дальнейшую его настройку (ip адрес, настройка nat) нужно делать уже по тем правилам как у тебя организована сеть.
    Например на удаленном сервере можно организовать сетевой мост, в него поместить аппаратный сетевой адаптер и при ssh подключении добавлять созданный им tun/tap интерфейс, в этом случае туннель подключится к удаленной (корпоративной) локальной сети как машина в этой сети и ей будет выдан ip адрес согласно настроек этой сети
    То же самое можно делать и на клиенте, собственно нет никакой разницы как именно было организовано ssh подключение (у меня был конфиг когда ssh сервер из удаленной сети, к которой мне нужен доступ но на нем не было выделенного открытого порта, только доступ в интернет за nat) подключался к моей домашней машине (ssh сервер), подключив таким образом мою домашнюю машину в удаленную сеть, при этом в локальной домашней сети я сделал то же самое, поместил ее сетевой адаптер в сетевой мост и добавил в него tun от ssh, отключив dhcp в моей локальной сети, я получил единую локальную сеть, управляемую удаленно (т.е. ip адреса выдавались удаленной сетью, а так же настройки шлюза, т.е. интернет работал удаленный), в довесок я прописывал на машинах таблицу маршрутизации route add ... указав какие подсети нужно отправлять через мой локальный шлюз а не удаленный.

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

    Исторически в linux есть socat, инструмент поднятия туннеля любого типа через любой тип соединения, сам он по себе не шифрует подключения но можно нагородить конструкцию любой сложности другими утилитвми, попробуй его
    Ответ написан
    Комментировать
  • Почему возникает ошибка при загрузке csv?

    @rPman
    Приведенный код не сохраняет в формате csv, так как нет корректной обработки строковых полей, многострочных например.

    Советую не изобретать паровоз, а воспользоваться какой-нибудь готовой библиотекой типа csv-writer (не проверял но заявлена поддержка по rfc)
    Ответ написан
    2 комментария
  • Как отключить только некоторые input от отправки формы по нажатию enter?

    @rPman
    Если форма типа submit, то достаточно убирать у не нужных для отправки полей атрибут name.

    Если форма отправляется по ajax, то нужно править код этой отправки, где такого перебираются все поля и помещаются в отправляемые данные, добавив фильтрацию по не нужным полям
    Ответ написан
    1 комментарий
  • С помощью чего проанализировать данные и построить свою нейронную сеть для бана пользователей?

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

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

    p.s. кстати атака такого рода - это классический ddos (его почему то все воспринимают как исключительно сетевая атака в виде огромного количества запросов, но это не только так) на вашу платежную систему и возможно красивое решение кроется в изменении бизнеспроцессов. Типовое решение - ввести KYC, нужна какая то относительно надежная система аутентификации пользователей, минимально защищенная от мультиаккаунта (в интернете таковой является авторизация по телефонному номеру, это фактически интернет паспорт). Еще способ - сделать регистрацию 'платной', и платить не обязательно деньгами, помню был месседженер - bitmessage (в нем сообщения требовали вычислений (proof of work), обычный пользователь с небольшим количеством сообщений нагрузку не заметит а вот злоумышленник уже не сможет отсылать сотни сообщений, точнее это станет дорого)
    Ответ написан
    Комментировать
  • С чего начать нагрузочное тестирование сайта?

    @rPman
    Собрать статистику запросов на чтение (не меняющих состояние и базу, за исключением тех частей что собирают статистику уже внутри самого проекта, 'типа эту статью прочитало 100500 человек'), самое простое это разобрать логи веб сервера, при НОРМАЛЬНОМ использовании веб сервиса, хотя бы за месяц времени.

    Разработать модуль тестирования, а точнее симуляции поведения типового пользователя, включая запросы на модификацию базы (например добавление статьи или комментария). Последнее правильно сделать можно только тем кто знает как работает веб приложение, например верная последовательность запросов (что бы добавить комментарий нужно сначала открыть статью). Модуль должен иметь как минимум 'одну ручку' - количество пользователей (лучше больше - есть читатели а есть писатели, их разный процент в разное время, все это вытаскивается из анализа истории запросов и базы данных по таймингам), а так же давать отчет о скорости загрузки страницы в целом (min/max/avg) и ошибках. Помним что при разных размерах базы данных, производительность будет по разному меняться от разной мощности железа (к примеру как только индексы sql db перестают влезать в оперативную память, скорость падает экспоненциально). Можно сюда же добавить зависимость нагрузки от времени (день/ночь или даже день недели). Можно еще добавить разовые события повышенной нагрузки (например на одну конкретную статью).

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

    p.s. данный модуль тестирования желательно разрабатывать одновременно с веб приложением, и поддерживать его все время жизни (как часть методологии test driven development).
    Ответ написан
    Комментировать
  • В России есть хоть какое-то IT-предприятие, которое собирается делать отечественную IDE под .NET?

    @rPman
    Что такое 'отечественное приложение'? какой смысл именно вы как автор вопроса вкладываете в этот термин?

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

    И главный вопрос, ЗАЧЕМ вы хотите, что бы этот контроль принадлежал 'властям' в стране, почему нужно равенство между терминами 'государство' и 'отечество' выставляется но таковым не является?

    Ответы на эти вопросы позволят вам понять, что не так с вашим вопросом.

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

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

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

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

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

    А вот использовать централизованный api есть главная опасность, централизованный сервис подаст вам неверную информацию и вы потеряете деньги, и найти и доказать что-либо будет не просто... и главное добиться от централизованного сервиса ответственности.
    Ответ написан
    Комментировать
  • Как проверить доступность web ресурса из терминала Linux?

    @rPman
    про curl и lynx уже ответили, добавлю от себя вариант с созданием скриншота
    chromium --headless --disable-gpu --hide-scrollbars --window-size=1280,800 --screenshot=myscreenshot.png http://localhost

    тут же можно замерить время загрузки, правда алгоритм определения окончания загрузки может неверно распознать формируемые на javascript страницы (но он все еще работает в большинстве случаев)
    Ответ написан
    5 комментариев
  • Поиск оптимального маршрута с наимешьшим влиянием на цену в сети ethereum?

    @rPman
    У вас в вопросе есть правильные слова, вы правильно поняли проблему но сформулировали вопрос немного не так.

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

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

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

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

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

    p.s. совет, если есть возможность дешево проводить операции в кредит (с небольшим плечом, x1..x10 но тут с оговорками) можно перед основной сделкой открывать кросс встречную сделку на бирже (пусть соседней), пока на руках удерживаете промежуточный актив. Условный пример, вы покупаете btc за usdt через промежуточную валюту xpoop, т.е. usdt -> xpoop -> btc, увидев что в ее стакане появилась вкусная цена, так вот на время, пока у вас на руках xpoop неплохо было бы на другой бирже открыть маржинальную позицию продажи xpoop за usdt или xpoop за btc на тот же объем, сколько на руках xpoop... по мере продажи xpoop на тот же объем уменьшаете маржинальную позицию, что бы к моменту ее полной продажи позиция закрылась. Зачем это делать? если xpoop продать не получится сразу, то пока открыта маржинальная позиция, она страхует от рисков удержания этого г**на, и дает вам время его продать по другим каналам (при резких изменениях его курса маржинальная позиция даст плюс или минус, противоположный минусу или плюсу цены этого промежуточного актива). делать это нужно только в том случае, если длительность сделки больше чем собственно время открытия сделки. Риски тут - разные цены на маржинальном рынке и на спотовом (где вы xpoop пытаетесь продавать), плюс за удержание маржинальной позиции биржа обычно берет дополнительную палату, а еще таких бирж может тупо не быть для монет со слабой ликвидностью, что тоже является хорошим маркером вообще в них не лезть.
    Ответ написан
  • Могли бы вы посоветовать, где можно потренироваться в написании тестовой документации и улучшить свои навыки?

    @rPman
    Попробуй пообщаться с топовыми ИИ (ищи в телеграм каналах или что то типа openrouter.ai), настоятельно рекомендую именно топовые (уровня gpt4o и выше), из бесплатных это может быть майкрософтовский copilot (даже тот что голосом должен быть уровня gpt4o но мало ли как майкрософт сэкономить решит), но нужно очень качественно промпт составить.

    p.s. лучшее обучение - участие в реальном проекте в команде
    Ответ написан
    Комментировать
  • Где скачать файл "YandexGPT-5-Lite-8B-instruct-Q4_K_M.gguf"?

    @rPman
    по ссылке, которую вы же сначала привели https://huggingface.co/yandex/YandexGPT-5-Lite-8B-... а точнее там вкладка files and versions лежит YandexGPT-5-Lite-8B-instruct-Q4_K_M.gguf там справа кнопка скачать
    Ответ написан
    Комментировать
  • Есть ли способ сжать данные?

    @rPman
    1. хранение без сжатия, самое простое для реализации - плоские массивы на каждый элемент, типа например структура (int a, int8 b) то нужно создать два массива int[] a и int8[] b (это некрасиво ломает оптимизации кеша работы с ram если данные по каждому объекту нужны целиком сразу, ну и конечно, никто не заставляет так делать со всеми данными, но у вас python вам и так грустно)
    Еще вопрос к python, на сколько я помню для работы с массивами данных там numpy подходит (имеется в виду эффективные операции с данными а не сам доступ)

    Сразу скажу, с упаковкой данных на python работать будет отвратительно неудобно и медленно! Лучше сразу переходить на c/c++ и подключать его как модуль расширения python.

    что бы пропустить что написано ниже - вот пример библиотеки
    https://github.com/ghilesmeddour/gorilla-time-seri...

    2. если этого недостаточно, самый простой механизм сжатия целочисленных данных в массиве, особенно если данные - показания во времени, не сильно меняющиеся (т.е. соседние данные отличаются на значение, занимающее меньше int, то хранить в массиве не сами данные, а разницу от предыдущего (или от базы для блока, базы хранить в отдельном массиве), например последовательсность 12322 12320 12325 12319 можно хранить как:
    первое число 12322 и последовательность -2,5,-6.

    в этом случае случайный доступ не получится, для получения следующего числа нужно последовательно обработать весь массив, но можно кешировать значение базы для каждого N.
    ну или такой:
    база 12322 в виде одного числа, и массив 0,-2,3,-3... числа в этом массиве могут влезать не просто в int а в int8

    Если зафиксировать интервал между смены базы (например каждый 1024 числа), то случайный доступ не будет проблемой.

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

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

    p.s. ключевые слова для гугла - delta encoding, frame-of-reference, time series compression, escape value/exception coding, Apache Parquet, ClickHouse, Gorilla Time Series (честно я сначала описал технику а потом попросил ИИ найти где это используется, ее не проверял но техника очень простая и популярная, да та же квантизация llm рядом стоит)

    upd. Дальнейшее расширение подхода - динамическое изменение количества байт или даже бит на хранение разницы с базой, например мы можем хранить в массиве 1байтовые, 2-байтовые, 3-байтовые разницы и 4-байтовое само число, но вынуждены где то хранить по 2 бита на указание, какое именно сейчас используется, 00 - для int8, 01 - для int16, 10 - для int24 (не советую хранить эти биты в самих смещениях, хотя для 2-байтовых это может быть оправдано, но 4-байтового может тогда не хватить для хранения самого значения)... например отдельный массив для битовых пар, и несколько динамических массивов соответственно для int8, int 16, int24 и int32, но для понимания, по какому адресу какое значение хранится, придется анализировать массив битовых пар, например в нем указано хранение 0,0,1,1,2,0,3 что говорит что 1,2 и 6 числа будут храниться в массиве int8, а 3и 4-ое в массиве int16,.. т.е. такой подход будет эффективно работать для поседовательного чтения но плохо для случайного.
    p.s. variable byte encoding, dynamic encoding, bit-packing, Parquet, ORC, protobuf varints

    как же классно стало с современным ИИ, это гугл на стероидах, он и утверждения проверит, и погуглит алгоритмы и даже предложит куски кода по желанию (само собой придумает половину несуществующих, всегда об этом нужно помнить и перепроверять!)
    https://en.wikipedia.org/wiki/Delta_encoding
    https://www.vldb.org/pvldb/vol8/p1816-teller.pdf
    Ответ написан
  • Есть ли единая система инвентаризации/мониторинга для WIndows и Linux?

    @rPman
    За бесплатно только сам или вот с ИИ что-нибудь 'на пару' сооруди.
    Так как информацию собирать нужно для разных ОС, для каждой придется пилить свой функционал.

    Настоятельно рекомендую за основу доступа к удаленным машинам - ssh, его сервер 'штатно' идет с windows
    dism /Online /Add-Capability /CapabilityName:OpenSSH.Server


    Есть нюансы с правами доступа UAC, если настроено что даже администраторы будут требовать подтверждение, то штатно из ssh сессии поднять уровень не получится, но есть варианты, типа запуска ssh сервера под system аккаунтом или к примеру создать заранее задачу в task scheduler - schtasks /create ... /rl HIGHEST (правда нужно будет настроить доступ к ней только указаному пользователю) и в ней уже выполнять критичные задачи schtasks /run ...

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

    Потом можете выложить это в опенсорс и радовать сообщество.
    Ответ написан
    Комментировать
  • Как можно зафиксировать что с сайта есть запрос на сторонний сервис?

    @rPman
    Можно установить модуль xdebug и добавить логирование вызовов в коде где-нибудь в начале кода
    xdebug_start_trace, который будет сохранять в указанный файл вызовы с аргументами. По пользоваться сайтом и затем проанализировать этот trace файл на строки вида http или вызовы fopen, file_get_content или socket... В общем есть где проявить смекалку
    Ответ написан
    Комментировать
  • Какая хорошая замена мессенджерам?

    @rPman
    https://jitsi.org/
    пока провайдеры массово не станут блокировать webrtc коммуникацию, будет работать децентрализованно, на случай когда это не возможно, поднимается своb stun/turn сервера
    Ответ написан
    1 комментарий
  • Как настроить обращение к url через компьютер-сервер?

    @rPman
    Все зависит от реализации способа запрета выхода в интернет.

    В подавляющем большинстве случаев, простое решение - создать в локальной сети, в которой находится машина, 'на которой работают' пользователи (как пользователи подключаются? это сервер приложений с подключением по rdp или веб сервер 1с, а пользователи работают из браузера?), проксирующий веб сервер (обычный nginx, в котором написан список доменов, которые он проксирует), имеющий доступ к интернету, и настроить локальный dns сервер (или /etc/hosts файл у пользователей, если практикуется ручная правка) с указанием этого прокси сервера на доступный список доменов.

    Но правильно, это менять настройки ограничения доступа в интернет.
    Ответ написан
  • I3-14100 vs i5-10600 в nginx/обработка трафика что лучше?

    @rPman
    single thread и не только производительность говорит безальтернативно что первая модель лучше. i3-14100 тупо новее, работает с ddr5 против ddr4 (а это предельные скорости чуть ли не кратные)... и да, большее количество ядер слабому не поможет.
    Ответ написан
    Комментировать
  • Какое железо выбрать для домашнего сервера?

    @rPman
    Бюджет говорит что вам лучше собирать свое решение на базе десктопных комплектующих.
    Максимизируйте оперативную память (виртуализация и контейнеризация),.. не гонитесь за топовыми предложениями, соотношения цена/качество остается за ddr4 памятью и rysen (но там есть материнские платы с ddr5 конечно). Обязательно nvme m2 ssd, лучше больше. Видеокарта для ваших задач не требуется, поэтому выбирайте модели процессоров со встроенным gpu.
    не воспринимайте как конечное решение, я выбирал по функционалу, цене и совместимости а не качеству:
    материнка (сеть 2.5гбит, 2 m2 nvme слота, matx, 4x ddr и даже 2x pci-e x16 (само собой одновременно в лучшем случае 8x будут работать, в общем задел на будущее для 2х видеокарт для ИИ)
    9500	https://www.dns-shop.ru/product/4f6b45a3f907ed20/materinskaa-plata-asrock-b550m-pg-riptide/
    память 64гб или 129гб
    12400	https://www.dns-shop.ru/product/9c3aa54474b01b80/operativnaa-pamat-gskill-ripjaws-v-f4-3200c16q-64gvk-64-gb/
    34800	https://www.dns-shop.ru/product/840b144a14263332/operativnaa-pamat-gskill-trident-z-rgb-f4-3200c16q-128gtzr-128-gb/
    процессор (наидешевейший из быстрых)
    14500	https://www.dns-shop.ru/product/1bc5cc9cc0c2ed20/processor-amd-ryzen-5-5500gt-box/
    ...
    ssd, корпус и блок питания выбирать по остаткам бюджета и пожеланиям к остальному наполнению (указанное выше железо не требовательное к питанию)

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