Задать вопрос
  • Как в ходе распознавание номеров, записывать данные в БД, при этом исключить дубли?

    martin74ua
    @martin74ua Куратор тега MySQL
    Linux administrator
    Индекс на поле уникальный назначить религия не позволяет?
    Ответ написан
    5 комментариев
  • Как правильно обновить версию BIOS на GIGABYTE AB350M-DS3H V2?

    yakovlev_13
    @yakovlev_13
    Шаманство, экзорцизм и некромантия.
    Делайте как рекомендует производитель. Видимо они там что-то знают
    Прошивка биоса это как раз тот случай когда сначала читаешь инструкцию.
    Дмитрий: Так же, если все работает, нет нужды шить. Должна быть причина, а не цифра побольше.

    И к этим словам тоже стоит прислушаться
    Ответ написан
    Комментировать
  • Почему не запускается PhpStorm?

    Самый очевидный способ:
    - удалите PhpStorm
    - удалите все версии Java
    - установите PhpStorm
    Ответ написан
    3 комментария
  • Как в ubuntu смотреть, какой пользователь что делал?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    zver - наш воображаемый пользователь-зверь.

    1. Какой пользователь в какое время заходил?

    - last - история входов.
    - last zver - история входов зверя.
    - lastb zver - история неудачных входов зверя.
    - last zver | grep "Jan 21" - история входов зверя за 21 января сего года.
    - last -s -7days zver - история входов зверя за последние 7 дней.
    - last -s 2025-01-15 -t 2025-01-21 zver - история входов зверя за 15-21 января 2025 года.

    2. Действия того или иного пользователя?

    - cat /home/zver/.bash_history - история команд зверя.
    - who -u - показывает активных пользователей (терминалы и время входа).
    - ps -u zver - показывает список активных процессов зверя.
    - sudo iotop -u zver - мониторинг ввода вывода пользователя зверя (в режиме реального времени).
    - sudo iftop -f "src user zver" - показывает сетевой трафик зверя.
    - sudo tail -f /var/log/syslog | grep zver - просмотр действий зверя в реальном времени.
    - sudo journalctl -f | grep zver - отслеживание действий зверя в реальном времени (если используется systemd).
    - sudo lsof -u zver - какие файлы открыты у зверя.
    - find /home/zver -type f -mmin -60 - какие файлы изменил зверь за последний час.
    - stat /home/zver/nomera-devchonok.txt - показывает подробности что делал зверь с файлом стратегического назначения.

    3. Если пользователь пользовался sudo -i, sudo -s, sudo su, как посмотреть, что он делал под этими оболочками?

    - sudo grep zver /var/log/auth.log - история команд (втч. под sudo) зверя.
    - sudo zgrep zver /var/log/auth.log* - просмотр истории команд зверя из текущих и архивных логгов.
    - sudo aureport -x --summary - показывает сводку команд (втч. под sudo).

    Расширенный мониторинг зверей - auditd и еще.
    Ответ написан
    2 комментария
  • Актуален ли yii2 в 2025?

    SamDark
    @SamDark
    Yii2 core team
    Актуален. Поддерживается. Нужно искать разработчика не на фреймворке, а просто нормального разработчика. Разобраться с фреймворком нормальный разработчик сможет довольно быстро.

    Сейчас в общем не очень хорошо с рынком труда, сам фреймворк тут не особо влияет.
    Ответ написан
    4 комментария
  • Выдержит ли USB 3.0 подключение SSD 2.5 через адаптер?

    @nehrung
    Не забывайте кликать кнопку "Отметить решением"!
    Ответ на вашу проблему зависит от того, как осуществляется ограничение тока через конкретный USB в вашем компе. В большинстве случаев ток ограничивается с помощью т.н. "самовосстанавливающегося предохранителя", представляющего собой терморезистор с очень крутой зависимостью сопротивления от температуры. Такой предохранитель после срабатывания от перегрузочного тока остаётся в состоянии высокого сопротивления за счёт небольшого тока удержания, а после отключения этого тока и остывания он опять готов к срабатыванию.
    668ded9377e2f836045699.jpg
    В вашем случае важно то, что срабатывает такой предохранитель при токе несколько большем, чем допустимый для USB - около 1,5...2 ампер (из личного опыта). Так что если в вашем компе применена именно такая система защиты по току в портах USB, то некоторое превышение тока питания USB-девайсов для порта допустимо - после снятия избыточной нагрузки порт восстановится.
    Если же там что-то более сложное и продвинутое, то имеет смысл определить ток срабатывания защиты экспериментальным путём с помощью амперметра и мощного нагрузочного переменного резистора, сопротивление которого можно менять от 15 до 3 Ом (но не ниже!). И если окажется, что срабатывание настроено на значение в точности 0,5 или 0,9 ампер - ну что ж, значит, вам не повезло. Но это вряд ли.
    Ответ написан
    Комментировать
  • Какой использовать стек для написания онлайн сервиса управления производством?

    Adamos
    @Adamos
    Человек, задающий такой вопрос, вряд ли сможет написать не то что такую систему, но даже сколько-нибудь вменяемое ТЗ по ней.
    Самописные системы - это сильно отдельная песня от прочих программ. Их разработка практически никогда не заканчивается, просто увеличивается доля поддержки уже существующего кода. Если вы не готовы держать хотя бы одного программиста, который будет в этом вариться, или если у вас высок шанс, что после попадания такого программиста под автобус вам впору будет броситься под него же - лучше и не начинать писать что-то свое.
    Вариант заказать какой-нибудь студии, чтобы она вам написала с нуля, отличается только тем, что под автобус может попасть вся студия.
    Если вы сами не горите энтузиазмом сделать и поддерживать решение под себя - то рассматривайте только готовые решения. Такие, на которых в случае проблем можно написать объявление на полстранички на фрилансе - и найдутся спецы именно по тому, что вы перечислили.

    (а если бы вы горели энтузиазмом - вы бы, скорее всего, не задавали на Тостере такие вопросы...)
    Ответ написан
    Комментировать
  • Какой использовать стек для написания онлайн сервиса управления производством?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    На том, который лучше всего знают ваши разработчики.
    Ответ написан
    Комментировать
  • Как заставить cron работать внутри docker контейнера?

    smilingcheater
    @smilingcheater
    Вы некорректно задаёте команду для крона. Надо задавать полные пути для всех файлов
    * * * * * /usr/bin/php /var/www/laravel/artisan schedule:run


    В dev/null также пусто.

    Спасибо, посмеялся. Вы понимаете что такое /dev/null?
    Если вам нужны системные логи запуска команды - так и перенаправьте их в конкретный файл...
    Ответ написан
    8 комментариев
  • Как заменить текст в файле .csv с помощью PHP?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Угу. Сначала понаставим @, чтобы скрыть все ошибки, а потом будем голову ломать, почему ничего не работает и ошибок не показывает.

    А вообще, это делается в одну строку.
    file_put_contents($outfilename, str_replace('Российский рубль', 'RUB', file_get_contents($infilename)));
    Ответ написан
    Комментировать
  • Какие сейчас лучше выбрать мать с процессором под игрушки, видеокарта будет 4070?

    @rPman
    Открываешь какой-нибудь бенчмарк (цены там врут), на странице single thread performance, выписываешь цены на доступные тебе в магазине варианты, добавляешь колонку с формулой цена/производительность (это будет стоимость каждой единицы производительности), и рисуешь график стоимость и цена/производительность или производительность к цена за производительность... тебе нужны решения с самой низкой стоимости производительности и близкие к твоему бюджету. На графике будет видно выбросы высокой цены того что брать не имеет смысла.

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

    Из дешевых рекомендую какой нибудь AMD Ryzen 5 8500G (18.р.) - холодный, достаточно производительный, мало ядер (играм не надо, да домашнему пользователю и не нужно больше) или Intel Core i5-12600KF (20т.р.) больше ядер, горячее...

    upd. https://pastebin.com/nVi3wfZF из прайса dns на сегодня и бенчмарк
    spoiler
    исключительно из эксперимента код для извлечения данных с вебстраниц и их обработки писал claude sonnet 3.5, главное правильно давать задания и проверять результат, ошибок в коде было минимум
    t6sbyashsfs1h7-wsnaatb1kf-i.png
    Исходя из анализа лучше выбирать эти процессоры (по верхней грани, те что ближе к началу изгиба):
    Процессор Intel Core i3-14100F OEM [LGA 1700, 4 x 3.5 ГГц, L2 - 5 МБ, L3 - 12 МБ, 2 х DDR4, DDR5-4800 МГц, TDP 110 Вт]	10499	3789
    Процессор AMD Ryzen 5 7600 OEM [AM5, 6 x 3.8 ГГц, L2 - 6 МБ, L3 - 32 МБ, 2 х DDR5-5200 МГц, AMD Radeon Graphics, TDP 65 Вт]	20999	4143
    Процессор AMD Ryzen 5 9600X OEM [AM5, 6 x 3.9 ГГц, L2 - 6 МБ, L3 - 32 МБ, 2 х DDR5-5600 МГц, AMD Radeon Graphics, TDP 65 Вт]	31499	4587

    А вот анализ стоимости производительности (bench/price)
    e9kiebz1d9qeihciijmqv9ervjm.png
    тут в районе 20т.р.-30т.р. лучшими оказываются
    Процессор AMD Ryzen 5 8500G OEM [AM5, 2P x 4.1 ГГц, 4E x 3.2 ГГц, L2 - 6 МБ, L3 - 16 МБ, 2 х DDR5-5200 МГц, AMD Radeon 740M, TDP 65 Вт]	18299	3920
    Процессор Intel Core i5-12400T OEM [LGA 1700, 6 x 1.8 ГГц, L2 - 7.5 МБ, L3 - 18 МБ, 2 х DDR4, DDR5-4800 МГц, Intel UHD Graphics 730, TDP 74 Вт]	24299	3515
    Процессор Intel Core i9-11900F OEM [LGA 1200, 8 x 2.5 ГГц, L2 - 4 МБ, L3 - 16 МБ, 2 х DDR4-3200 МГц, TDP 65 Вт]	28999	3402
    Процессор Intel Core i7-12700K OEM [LGA 1700, 8P x 3.6 ГГц, 4E x 2.7 ГГц, L2 - 12 МБ, L3 - 25 МБ, 2 х DDR4, DDR5-4800 МГц, Intel UHD Graphics 770, TDP 190 Вт]	31299	4025

    Ответ написан
    3 комментария
  • Как выполнять отладку на php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Правильный подход - установка xdebug и пошаговая отладка.

    Есть и более простые методы, например:
    Использовать var_dump()/print_r() в нужных местах, чаще всего этого достаточно для отладки небольших скриптов.
    Включение вывода ошибок в аутпут тоже помогает(либо в пхп.ини меняем соответствующие настройки, либо в коде в начале добавляем
    ini_set('error_reporting',E_ALL);  ini_set('display_errors', 1);

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

    colonel
    @colonel
    Разработчик PHP, Laravel
    Ответ написан
    Комментировать
  • Допустимо ли хранить логи nodejs приложения в mysql бд или есть решения лучше?

    @Billander
    Писать в файлы так как их можно прочитать где угодно, вытащить с убитой системы и тд, самое идеальное решение (не зря логи все в файлах), причем продумать формат так что бы его можно было легко спарсить через утилиты cli, мне очень нравится формат логов nginx (поэтому советую присмотреться к нему). В любом случае все мониторинговые системы, будут брать данные из коллекторов логов и тд. Можно конечно написать для любимого стака отдельный коннектор, что бы вывод следовал конкретной идеологии(например что бы лог писался сразу в TSDB), но это уже как плюшка мне кажется.
    Ответ написан
    Комментировать
  • Как установить основную ОС на другой жесткий диск на уже запущенной машине?

    Afranius
    @Afranius
    Из говорящих дольше живут те, что говорят меньше.
    А зачем вообще запускать qemu или что-то ещё?

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

    Кстати, есть нюанс: как я помню, сетевые карты с разными MAC-адресами в линуксе определяются по-разному и адреса по DHCP тоже получают разные. Да и статику привязывать лучше, когда диск с установленной ОС уже вернётся обратно. Иначе долго будете разбираться "почему машинка не отвечает по прибитому статическому IP". И без видеокарты разрулить эту ситуацию плохо получается. В идеале - переставить не только диск, но и сетевуху (по возможности). Или как вариант - воткнуть старую S3 Trio 3d/2x (или что-то подобное) и поставить linux прямо на машинке, никуда не дёргая диск.

    P. S. Перечитал вопрос. А старый диск поддерживает хотплаг-подключение к уже запущенному компу? Его просто так можно воткнуть-вынуть на "горячую"?
    Ответ написан
    Комментировать
  • Как установить основную ОС на другой жесткий диск на уже запущенной машине?

    @rPman
    Вариантов много, все они требуют какие то навыки работы с linux.

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

    Можно по другому. Для начала тебе нужно запустить на этом компьютере какой-либо linux (использовать livecd/liveusb варианты с возможностью работать как с обычным ос) что бы он мог найти сетевой адаптер и настроить его автоматически, а так же что бы в его составе шел какой-нибудь сервер удаленного управления, от ssh до vnc на выбор...

    Вот пример как модифицировать тот же livecd ubuntu в gui с помощью cubic-wizard

    Так же можно по тупому, на рабочей машине протестировать, какую последовательность действий необходимо выполнить для установки vnc сервера, и прожать кнопки в слепую.
    например:
    # переключиться в tty консоль ctrl+alt+f1 ввести логин и пароль (у ubuntu livecd дистрибутивов имя пользователя совпадает с названием дистрибутива, например xubuntu, и с пустым паролем)
    # переключить консоль на рута (
    sudo -i
    # обновить индексы репозитария и установить x11vnc
    apt update; apt install -y x11vnc
    # Запуск VNC сервера без пароля
    x11vnc -forever -shared -display :0
    теперь можно подключиться по ip:5900 хоть с винды, простейший vncviewer

    ip адрес можно узнать, зайдя в админку роутера или просканировав локальную сеть (я надеюсь все это в локальной сети будет происходить?) каким-нибудь сканером типа nmap

    Но и без знания ip можно выкрутиться, у vnc есть обратный режим подключения, когда сервер (машина которой нужно управлять) подключается к клиенту (машина с которой будет управление), клиент тогда запускать командой
    vncviewer -listen 5500
    а сервер
    x11vnc -display :0 -connect IP_КЛИЕНТА:5500
    ip клиента ты знаешь, в слепую набрать на клавиатуре это не сложно.
    Ответ написан
    Комментировать
  • Процессор i5 vs i7. Когда надо и надо ли?

    xez
    @xez
    TL Junior Roo
    1. Для комфортной разработки (с вашим набором приложений) нужно минимум 32Гб ОЗУ. Из всех ваших вариантов заслуживает внимания только "thinkpad t14 gen5 на i7 165U vPro, 32 гб"
    2. i5 и i7 - это всего лишь маркетинговые обозначения. Нужно сравнивать всегда конкретные модели и сравнивать в бенчмарках. Процессор - слишком сложная штука, чтобы судить о его производительности только по его частоте.
    3. Рассмотрите варианты макбуков на M процессорах. Если не играть, макбуки будут во всем лучше. Мой проект на java собирается в 2(!) раза быстрее на macbook pro m2/32 по сравнению с десктопным ryzen 7 5700x/64.
    Кстати, на линуксе и на винде разница в скорости сборки - тоже где-то в два раза.
    4. Если вы работаете всегда с внешним монитором можно сделать вывод, что ноутбук то вам и не нужен вовсе. Гораздо больше производительности можно получить от десктопного железа, плюс возможность практически бесконечного апгрейда.
    Ответ написан
    3 комментария
  • Хватит ли имеющегося БП для новой видеокарты?

    @rPman
    Технически его должно хватить
    КПД 80% получаем 520, процессор до 150W, видеокарта 200W, hdd нет (они в пике в момент включения могут 30W брать), кулеры по 10W, все основное потребление идет по линии 12V (там на 3.5V и 5V всего 150 так что процессору так и так хватит), материнки больше 100 не берут.

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

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

    anthtml
    @anthtml
    Системный администратор программист радиолюбитель
    Частота памяти и частота процессора - разные вещи
    Частота видеопамяти относится только к видеокарте
    Ответ написан
    Комментировать
  • Как сжать в зип архив сайт?

    @alexalexes
    Потому, что у вас в коде происходит обход только по текущему уровню каталога $dir.
    Чтобы обход заныривал глубже, нужно создать рекурсивную функцию.
    Телом рекурсивной функции у вас будет:
    if ($dh = opendir($dir))
    {
    // код, который у вас в вопросе
    }

    А точка вызова для смены подкаталога:
    if (is_file($dir.$file)) {
    // код из вопроса
                }
    else if(is_dir($dir.$file))
    {
       $zip->addEmptyDir($dir.$file);
       // тут должен быть вызов рекурсивной функции, по которой вы передаете контекст $zip и $dir.$file (наверное, передача по ссылке)
    }

    В этом случае у вас будет рекурсивный обход каталогов в глубину.
    PS: Проконтролируйте дескриптор $zip на больших вложенностях и большим содержании файлов, нет ли переполнения выделенной оперативной памяти. Еще стек вызовов функций не бесконечный, тоже проконтролируйте глубину вызова.
    PPS: Бэкапить сайты в архив делается одной строчкой линуксовой командой, и засовывается в crontab. Будет работать надежнее. Эта не задачка для php-разработчика.
    То, что вы делаете - это просто тренировка на кошках, как работать с ZipArchive в PHP.
    Ответ написан
    4 комментария