Задать вопрос
  • Как правильно использовать функции array_filter() и in_array()?

    0xD34F
    @0xD34F
    $values = array_column($array2, 'value');
    $result = array_filter($array1, fn($n) => in_array($n->code, $values));
    Ответ написан
    3 комментария
  • Какие библиотеки используют для написания GUI операционной системы?

    CityCat4
    @CityCat4
    Жил да был черный кот за углом...
    Ну да, и что? А KDE написан на QT. Вопрос-то в чем?
    Ответ написан
    Комментировать
  • Порекомендуйте варианты построения и оборудования для ЛВС в строящемся административно-складском здании 1500м2?

    @Akina
    Сетевой и системный админ, SQL-программист.
    • Выделение отдельного помещения для размещения внешнего ввода (Интернет и телефонные линии), кросса, серверов и активного оборудования. Металлическая дверь, кодовый замок.
    • Три линии питания - две для питания оборудования, причём запитанные от разных лучей, или хотя бы от разных фаз, плюс одна для питания кондиционера (минимум 7 кВт), плюс дежурное освещение.
    • Система пожаротушения - газовая, углекислота или фреон. Порошок - нафиг, случись что, всё оборудование можно выбрасывать и закупать новое. Воды быть не должно в принципе - даже просто проходящих через помещение труб.
    • Обязательно стойка (или стойки). Лотки, органайзеры, включая органайзеры электропитания.
    • Обязательно бесперебойники - причём время удержания должно быть минимум часа полтора, причём с учётом рабочей деградации батарей.
    • СКС разводится от розеток возле рабочих мест и до патч-панелей стойки витой парой 5 или 5е категории, чистой одножильной медью, многожилка или омеднённый алюминий ни в коем случае. Какие-то промежуточные и местные коммутаторы - забудь как страшный сон. Прокладка - по запотолочным металлическим лоткам, последний метр в коробе, монтаж на встраиваемые в короб розетки (для рабочих мест в центре комнаты - напольные короба и встраиваемые в пол розеточные блоки). Прокладка до внешних камер соответственно проводом для внешней прокладки, розетки во влагозащищённых распаечных коробках (по опыту - минимум 100х150). С розетками внутри не жадничать - на одно рабочее место минимум 2 розетки (локальная сеть, телефон), плюс дополнительные для сетевых принтеров и для точек доступа, ну и учесть, что сотрудники любят переставлять мебель самым идиотским образом. Судя по чертежам и описанию - будет штук 200 розеток.
    • Коммутаторы - управляемые как минимум L2+, PoE для подключения точек доступа, видеокамер и IP-телефонов, обычные для подключения компов и сетевых принтеров. Модель не сильно важна, но лучше сразу иметь дохрена резервных портов, чем потом докупать. Клиентские порты гигабит однозначно. Но я бы рекомендовал брать с хотя бы парой 10-гигабитных портов. Вендор по вкусу (лично я бы ставил D-Link).
    • Маршрутизатор - согласен с предыдущими товарищами насчёт Микротика вменяемой старшей модели.
    • Точки доступа - лучше сразу брать комплект для бесшовного покрытия всего здания. Насчёт количества, размещения и необходимости внешних антенн вместо встроенных ничего не скажу - это только по месту решается.


    Ну по минимуму где-то так.
    Ответ написан
    6 комментариев
  • Как сделать pop-up отдельной страницей?

    pavel_ataykin
    @pavel_ataykin
    Верстаю и программирую всякое.
    Привет! Это называется History API https://developer.mozilla.org/en-US/docs/Web/API/H.... При открытие модального пушишь новое состояние, при закрытии тоже. При этом тебе нужно учесть, что если перейти по прямой ссылки, то тебе нужно будет самому показать это модальное окно
    Ответ написан
    Комментировать
  • Как такое исправить?

    Fragster
    @Fragster
    помогло? отметь решением!
    1 комментарий
  • Какие подходы позволят написать зашифрованный сайт, у которого нельзя расшифровать код?

    @rPman
    Специально на такой поток вопросов написал ответ

    p.s. по теме, почти наверняка у тебя какой то косяк в идеологии проекта, такие вопросы задают только от абсолютного непонимания что зачем почему и как.

    Есть возможность, через web assembler собирать вплоть до .net приложений с win forms (наберись терпения)... не защита но неплохой путь обфускации кода
    Ответ написан
    Комментировать
  • Как для сайта сверстать защищенный режим браузера?

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

    Сайт должен представлять из себя программу удаленного управления, а реальный сайт запускаться на кастомном браузере (без интерфейса, пишется в 10 строчек на любом языке программирования на основе готовых контролов браузерных webview - chromium/firefox/webkit).

    Понадобится организовать сервере, что то типа очереди доступа к интерфейсу. Все собирается почти из готовых блоков.

    На сервере xvfb + libvnc (лучше реализовывать серверную часть а не брать готовый полнофункциональный, хотя главное ведь запретить отсылку команд закрытия приложения и xserver, кажется у x11vnc есть соответствующие опции), в браузере - что то типа noVNC

    Недостатки
    - очень высокие требования к серверу (на каждого клиента потребуется десятки мегабайт RAM советую использовать старые или кастрированные версии компонент браузера, можно даже старой версии, например 10-летней давности webkit требовал 5-10 мегабайт, а современный полторы сотни)
    - относительно высокий трафик для мультимедиа на сайте (не ваш вариант, у вас магазин)
    - потребуется с осторожностью настраивать сайт и окружение (например без доступа к интернету), чтобы уменьшить шансы клиентам обойти ограничения и к примеру серфить или даже ддосить через такой механизм другие сайты

    Достоинства:
    - на стороне клиента - просто изображение, все что может сделать злоумышленник, это смотреть эту картинку, без какого либо анализа, ни одна рекламная сеть не рассчитывает на такой способ использования
    - в некоторых случаях сетевой трафик может быть меньше чем если бы сайт открывается классическим способом (особо кривые реализации, когда html размером мегабайты, при этом без мультимедиа) и зависит не от сложности сайта а от количества действий, совершаемых с сайтом пользователем, а точнее скролинг и смена страниц), отзывчивость работы в таких случаях для пользователя может быть наилучшей, само собой эффективнее исправить сайт
    Ответ написан
    1 комментарий
  • Какой роутер выбрать Keenetic Hero 4G KN-2310 или TP-LINK Archer MR400?

    @Drno
    КИнетик. если не хотите непонятных проблем
    а зачем такой дорогой? у них есть и дешевле модели
    Ответ написан
    3 комментария
  • Какой роутер выбрать Keenetic Hero 4G KN-2310 или TP-LINK Archer MR400?

    xez
    @xez
    TL Junior Roo
    Mikrotik бери
    Ответ написан
    Комментировать
  • Какой роутер выбрать Keenetic Hero 4G KN-2310 или TP-LINK Archer MR400?

    @TheBigBear
    СтарОдмины мы
    Странное сравнение 100Мбитного TP-Link и 1Гигабитного кинетика....
    "Обычная домашняя сеть" - это какая? Судя по выбранным моделям - Интернет мобильный? Не проводной? Сейчас всё чаще провайдеры (в том числе LTE) предлагают скорость интернета выше 100Мбит
    И мой субъективный совет - не берите комбайны.
    Лучше нормальный роутер+USB LTE-свисток (который можно в случае чего заменить, удлинить по USB кабелю и прицепить на окно или просто подключить внешнюю антенну на крышу
    А так:
    Если простой пользователь - лучше Кинетик (с гигабитными LAN-портами и WiFi 2.4 / 5 ГГц),
    продвинутый и есть желание самообразоваться - Микротик
    Ответ написан
    2 комментария
  • Почему php скрипт не записывает логи с .txt файл?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    ini_set('error_reporting',E_ALL);
    ini_set('display_errors', 1);
    file_put_contents("ip.txt", date('Y-m-d H:i:s') . ' : ' $_SERVER['REMOTE_ADDR']."\n" , FILE_APPEND);
    Ну и смотрите ошибки, скорее всего права кривые.
    Ответ написан
    2 комментария
  • Почему выводит пустой цвет фона у элемента?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    red.style.backgroundColor – берётся элемент red,
    его свойство style содержит инлайновые стили, назначенные именно этому элементу. Напрямую.

    Не унаследованные через листы стилей, предопределённые браузером, назначенные браузерным расширением.

    Напрямую свойство в style:
    const el = document.createElement('div');
    div.style.backgroundColor = "red";
    
    div.style.backgroundColor // "red"


    Добавленный класс:
    div.classList.add("green-text"); // CSS .green-text { color: green; }
    
    div.style.color // ""

    Прямо в разметке
    <p style="font-weight: bold">Bold</p>
    document.querySelector('p').style.fontWeight // "bold"

    Унаследованный от родителя
    <p style="font-weight: bold">
      <span>Bold</span>
    </p>

    document.querySelector('span').style.fontWeight // ""
    Ответ написан
    Комментировать
  • Почему выводит пустой цвет фона у элемента?

    Fragster
    @Fragster
    помогло? отметь решением!
    Комментировать
  • Ошибка в gulpfile.js, как решить?

    irtek
    @irtek
    Wordpress-addicted
    У вас установлен gulp версии 4, а код, который вы запускаете устаревший и написан для версии 3. Там другой синтаксис и архитектура для запуска задач (tasks) была.
    Ответ написан
    8 комментариев
  • Почему неправильно выполняется сравнение чисел?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Ну если автомобиль перевернуть вверх колёсами и поставить крышей на асфальт - он тоже не будет ездить. И с чего бы это вдруг? А нас ведь всё тот же автомобиль, он обязан ехать!

    Так писать операцию сравнения нельзя. А в приведённом примере JavaScript сначала вычислит результат 604.5< -597.5 - получит false, который превратит в 0, потому что дальше ещё одна арифмитическая операция сравнения 0 < 512.5 - вот и получилось true. А второй пример написан правильно - и результат правильный.

    P.S. Это не язык программирования выдаёт какую-то ошибочную дичь, нет. Это вы должны подстраивать свои хотелки под правила и логику языка программирования.
    Ответ написан
    Комментировать
  • Тесты Laravel, config() или env()?

    TTATPuOT
    @TTATPuOT
    https://code.patriotovsky.ru/
    Используйте в основном коде и тестах только config().
    Это связано с тем, что у вас в приложении всегда должен быть только одни источник данных.

    Простой пример из дефолтной сборки Laravel. В app.php есть строка:
    'name' => env('APP_NAME', 'Laravel'),
    Самое просто, что вы можете сделать, это вызвать config('app.name') где-нибудь в коде, чтобы получить данные из этой настройки. Вот только если вы вызовите env('APP_NAME') вы, возможно, получите ошибку, в случае, если эта переменная не задана в переменных среды.
    Но как вы видите из кода выше, она совершенно необязательно должна быть задана в переменных среды, так как для неё задано значение по умолчанию: Laravel. А значения в конфиге могут быть вообще самой разной степени извращённости. И они могут составляться из частей. Например:
    'endpoint' => 'https://' . env('API_DOMAIN') . '/some/subroute',


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

    Ваша задача сделать код удобным и читаемым. Чтобы будущие программисты могли распутать макаронину, что вы сплели. А разнообразие источников данных только запутает читателя.
    Ответ написан
    Комментировать
  • Как сделать задание cron?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    обычно если пых установлен, достаточно просто php /var/www/имя/data/www/сайт/cron.php, если не видит пхп - запускаете whereis php, смотрите где оно и указываете полный путь.
    Ответ написан
    Комментировать
  • Как вывести ключ рандомно из объекта?

    @AlexeySmk
    const keys = Object.keys(yourObj);
    
    const randomNumber = Math.floor(Math.random() * keys.length);
    const randomKey = keys[randomNumber];
    const randomValue = yourObj[randomKey];
    
    console.log(randomKey, randomValue)
    Ответ написан
    1 комментарий