Задать вопрос
  • Как организовать массив состоящий из разных участков памяти?

    @rPman
    От задачи.
    Если тебе нужна скорость, то придется пожертвовать памятью и создать массив указателей на элементы (т.е. в твоем примере это массив указателей на элементы с индексом 2,3,6,7,8,10).

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

    Особенно грустно, если структура кусков и размер массива будет меняться. Первый подход сильно все упростит
    Ответ написан
    1 комментарий
  • Подойдёт ли внешняя звуковая карта для наушников?

    @rPman
    Тебе не звуковая карта нужна а простой аудио усилитель

    А лучше ЦАП (DAC) преобразователь, например с spdif. На материнских платах наверное на всех он есть уже десятилетие, максимум докупить за 200р планку spdif на заднюю панель корпуса.
    планка портов spdif
    hkxzhczpuf5bd1qbz3hry7syrgy.png

    Какой именно ЦАП брать хз, у китайцев их стоимость начинается с 300р, а когда речь идет о аудиофилах, как только они видят стоимость ниже шестизначной, начинают дергаться, это сродни религии,..

    При использовании spdif материнская плата и ее звуковая карта перестанут иметь какое либо значение, так как данные будут передаваться в цифровом виде а значит за качество будет отвечать ЦАП усилителя.
    Ответ написан
    3 комментария
  • Как удалить в планировщике заданий "отключение ноутбука через одну минуту"?

    @rPman
    В режиме safe mode пробовал загрузиться? который по F8 на старте сразу после bios появляется?

    Если он не был включен заранее (майкрософт решила всем подложить свинью чтобы как следует зае*ались) то его можно вызвать принудительно, если загрузка системы не прошла успешно подряд несколько раз (нажимай reset во время включения машины примерно через пару секунд как появляется иконка картинка флага майкрософт) и пробуй жать F8)

    Если сам safemode не помогает, то нужно загрузиться в старую консоль восстановления или загурзиться с установочного диска и там отключить службу Schedule
    Ответ написан
  • Почему физически комп не отключается после системного отключения?

    @rPman
    Конфиг в студию (особо актуальна материнская плата но и список переферии, подключенной к pci/usb тоже важен)

    В первую очередь нужно исключить проблемы настройки ОС (обновление и sfc scannow только фактически гарантируют отсутствие сторонних модификаций кода но не настроек), для этого загрузись с liveusb ос какой-нибудь xubuntu/kubuntu (с windows сложнее, так как рабочего liveusb образа с драйверами добыть сложнее, но можно установить на временный раздел чистую версию, благо на это тратится минут 10)

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

    Тенденция такова что появились новые режимы псевдо-сна, позволяющие "продолжать слежку" за пользователем (устанавливать обновления ос например), вполне возможно что без нашего ведома вендоры железа или сама майкрософт принудительно обновляют биос (понятно зачем - чтобы к примеру вырубить всю электронику в час икс, готовиться к этому лучше заранее, за месяцы-год), и заметить подобное можно только по таким странностям
    ничего не качал, не обновлял и вдруг с нифига
    Ответ написан
  • Как разбить json файл на несколько файлов по 5000 символов?

    @rPman
    500кб очень маленький объем, загружаешь и парсишь локально в своем скрипте весь файл, затем полученный массив в цикле собираешь во временный, сохраняя его в файл при достижении какого то лимита, например по количеству объектов (можно точнее по размеру json но это медленнее)
    Ответ написан
  • Как отлаживать Django в продакшн?

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

    я правильно понимаю что ты дома пытаешься на x64 windows разрабатывать, а на продакшне у тебя виртуалка почему то x86 32-битная (иначе как объяснить падения преобразования float -> int).

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

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

    @rPman
    самые дешевые bluetooth кнопки для камеры продаются везде начиная с фикспрайса

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

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

    Удостоверься что проблема не в программных ошибках и настройках, исключи свою текущую ОС из уравнения и загрузись с какой-нибудь liveusb/livecd версии (рекомендую linux xubuntu/kubuntu), настройки устройства смотри и меняй с помощью ethtool
    # ethtool enp4s0
    Settings for enp4s0:
    Supported ports: [ TP MII ]
    Supported link modes: 10baseT/Half 10baseT/Full
    100baseT/Half 100baseT/Full
    1000baseT/Full
    2500baseT/Full
    Supported pause frame use: Symmetric Receive-only
    Supports auto-negotiation: Yes
    Supported FEC modes: Not reported
    Advertised link modes: 10baseT/Half 10baseT/Full
    100baseT/Half 100baseT/Full
    1000baseT/Full
    2500baseT/Full
    Advertised pause frame use: Symmetric Receive-only
    Advertised auto-negotiation: Yes
    Advertised FEC modes: Not reported
    Link partner advertised link modes: 10baseT/Half 10baseT/Full
    100baseT/Half 100baseT/Full
    1000baseT/Full
    Link partner advertised pause frame use: Symmetric
    Link partner advertised auto-negotiation: Yes
    Link partner advertised FEC modes: Not reported
    Speed: 1000Mb/s
    Duplex: Full
    Auto-negotiation: on
    master-slave cfg: preferred slave
    master-slave status: slave
    Port: Twisted Pair
    PHYAD: 0
    Transceiver: external
    MDI-X: Unknown
    Supports Wake-on: pumbg
    Wake-on: d
    Link detected: yes
    Ответ написан
    Комментировать
  • Пропадают данные при записи в JSON файл?

    @rPman
    В необходимость правильного использования базы данных тебя уже "ткнули носом", повторять не буду.

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

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

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

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

    @rPman
    php для веб сервера и php для консольных команд - разные пакеты

    чтобы в командной строке запускать php test.php нужно установить пакет php-cli, да еще и настроить его персонально и включить модули в /etc/php/8.1/cli и modst-available (тут 8.1 версия, так как на сервере их может стоять несколько)

    путь до php интерпретатора определяется
    whereis php

    ну и на последок, настраивай не глобальный крон а пользовательский, залогинившись под ним по ssh и запустив crontab -e
    тогда скрипты будут запущены из окружения этого пользователя

    следи за правами доступа на запись своих логов
    Ответ написан
    Комментировать
  • ChatGPT создаёт новый код или только дублирует существующий из примеров? Он понизит зарплаты фронтендерам-джунам?

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

    p.s. попробуйте попросить ИИ загадать число, цвет и совершить "в уме" некие действия с ним, не сообщая загаданное
    он не сразу вас поймет но научить его этому можно

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

    но это ограничение api а не логики на серверах openai
    Ответ написан
    Комментировать
  • Получить ID канала YouTube по псевдониму?

    @rPman
    тупым search вот зашел в api explorer забил туда первый попавшийся мне @xxx из поиска и указал его в качестве поисковой строки
    curl \
      'https://youtube.googleapis.com/youtube/v3/search?channelType=any&q=%40samsonprof&key=[YOUR_API_KEY]' \
      --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
      --header 'Accept: application/json' \
      --compressed
    в ответе приехали все его каналы
    Ответ написан
    Комментировать
  • Что делать если случайно отформатировал все разделы и теперь устройство зависло в фастбут?

    @rPman
    прошить заново

    fastboot это не кирпич, это штатный инструмент прошивки устройства, ищи на 4pda или xda-developers готовые инструкции, все будешь делать через штатный adb

    p.s. главное не блокировать загрузчик после установки неофийиальных/модифициарованных прошивок, а то можно действительно кирпич получить
    Ответ написан
  • Кроссплатформенное программирование на C?

    @rPman
    Ну, про "большинство" мне кажется это преувеличение.

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

    Ответ на вопрос - использовать libwine
    Ответ написан
    4 комментария
  • Как сделать скрытый редирект в гугле?

    @rPman
    В стандарте http есть заголовок Location, где можно указать новый адрес, в т.ч. другой домен
    работает прозрачно для всех браузеров, в т.ч. многоуровневые (ссылка ссылается на другую и так многораз, браузеры отслеживают ошибки циклических)
    Ответ написан
    Комментировать
  • Почему не загружается Windows 10 с установочной флешки Rufus?

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

    Сам установочный диск где брал?

    В качестве тестового варианта, попробуй записать iso образ флешки в режиме dd-образ

    если в режиме UEFI такая флешка тоже не загрузится, переключи в биосе режим загрузки legacy mbr или old compatibility (там по разному бывает называют его)
    Ответ написан
    Комментировать
  • Какой язык программирования выбрать для изучения основ работы с алгоритмами и структурами данных?

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

    Только в этой последовательности и не наоборот.

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

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

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

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

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

    Т.е. когда ты видишь модули npm, пакетный менеджер python pip, compose от php и прочее прочее, везде изначально разработчики ориентируются на окружение linux.

    Само собой, разработчики люди порядочные, и понимают что особенно новички, начинают свое знакомство с миром программирования там где привыкли
    в windows
    это потому что майкрософт стала планетарным монополистом и удерживает свое положение рыночными методами - т.е. подкупом и угрозами, например к разработчикам железа, или попиранием стандартов, навязыванием и запутыванием и кучей других максимально мерзких способов, внешне даже выглядящих порядочными - вот например wsl, я считаю, - один из таких инструментов подгадить всему linux сообществу

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

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

    Linux - это отраслевой стандарт. Не linux сервера могут быть только там где тебя поставили в такие условия намеренно (вендорлок) или по скудоумию. Отсюда не изучать его - глупо и не эффективно.

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

    p.p.s. да у linux тоже куча проблем, поддерживать все его многообразие иногда настоящий ад
    Ответ написан
    Комментировать
  • Как получить название столбца sqlite?

    @rPman
    у каждой базы данных свои способы определения структуры
    https://www.sqlitetutorial.net/sqlite-describe-table/
    Ответ написан
    Комментировать
  • Из системы пропал HDD диск. Можно ли восстановить?

    @rPman
    ccleaner конечно та еще странная программа, поломавшая ОС и мозги не малого количества новичков, но чтобы удалять диски из системы это перебор.

    Первое нужно удостовериться что причина пропажи софтварная (какой то гдюк в конфигурации ОС) или аппаратная.

    Для этого достаточно загрузиться с чистой (не тронутой кривыми программами) операционной системы, настоятельно рекомендую linux liveusb, какую-нибудь xubuntu более чем подойдет, там посмотреть и диски и разделы и файлы почитать и все в графическом интерфейсе.

    Если linux диск не увидит, можно заняться аппаратными причинами:
    * сменить кабель, которым он подключен (можно вообще извлечь все диски кроме одного проблемного)
    * сменить порт, в который он подключался на материнке (редко но бывает ломается контроллер выборочно по портам)
    * сменить компьютер на заведомо рабочий, чтобы исключить проблемы с материнской платой вообще (проверь, виден ли диск у друга или поищи внешний usb контроллер)

    Если стало ясно что причина в железе - нести в сервис восстановления данных, если данные важны или на мусорку

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