Задать вопрос
  • Может ли операционная система быть UEFI-приложением?

    @pfg21
    ex-турист
    да.
    к примеру, в уефи загрузчик. рядом файл образа системы. разворачивается в память и оттуда запускается операционка.
    вот пример OneFileLinux линукс в виде одного файла для уефи-загрзуки.
    Live linux distro combined in one ~20MB file. Runs on any UEFI computer (PC or Mac) without installation. Just copy one file to EFI system partition and boot.
    и да от уефи только запуск операционки. потом операционка сама проинициализирует драйвера устройств.

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

    хранится он в виде W1K253???1???????, W1N253???1???????

    Насколько я вижу, эти шаблоны одинаковы, то есть:
    1. 6 фиксированных символов
    2. 3 произвольных символа
    3. 1 фиксированный символ
    4. 7 произвольных символов

    При этом произвольные символы обозначены знаком "?".
    Тогда можно сделать такой регуляркой:
    <?php
    $requestedVin = 'W1K25312311234567';
    $pattern = preg_replace('/^([A-Z\d]{6})[A-Z\d]{3}([A-Z\d])[A-Z\d]{7}$/', '$1???$2???????', $requestedVin);
    
    $query = "
            SELECT DISTINCT p.ID
            FROM {$wpdb->posts} p
            INNER JOIN {$wpdb->postmeta} pm ON p.ID = pm.post_id
            WHERE p.post_type = 'product'
              AND p.post_status = 'publish'
              AND pm.meta_key = 'vin'
              AND pm.meta_value = %s
            LIMIT 10 OFFSET %d
        ";
    
    $results = $wpdb->get_col($wpdb->prepare($query, $pattern, $offset));
    Ответ написан
    Комментировать
  • Как обойти блокировку серверов CloudFlare на уровне провайдера?

    The_KOPACb
    @The_KOPACb
    Можно проксировать эти сайты через свой nginx.
    В случае необходимости можно править контент на странице используя sub_filter.
    Ответ написан
    Комментировать
  • Как выявить символы не поддерживаемые кодировкой?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    Двойной конверт через iconv() нормальный и "не дорогой" вариант utf8 -> koi8r -> utf8
    Можно используйте флаги типа //TRANSLIT или //IGNORE
    Соотв-но если изначальный utf8 не равен итоговому utf8 значит в исходной строке были символы вне кодовой таблицы koi8r

    Так же можно попробовать часто-используемые символы типа символа рубля закодировать в &#8381; или &#x20BD;. Естественно если при отображении данных делается escaping для html (html_entity_encode / htmlspecialchars) это надо будет учесть чтобы & не превратился в &amp;
    Ответ написан
    8 комментариев
  • Как создать навык для Алисы для проигрывания аудиопотока?

    the_house
    @the_house
    Full stack разработчик
    import logging
    from flask import Flask, request, jsonify
    
    app = Flask(__name__)
    
    @app.route('/api/v1/skill', methods=['POST'])
    def skill():
            request_json = request.json
            if 'request' in request_json:
                    command = request_json['request']['command']
            if 'Включи аудио стрим' in command:
                    response_text = 'Включаю аудио стрим'
                    url = 'http://you.site/stream.mp3'
                    return jsonify({
                            "version": request_json['version'],
                            "response": {
                                    "text": response_text,
                                    "tts": response_text,
                                    "buttons": [],
                                    "end_session": False
                            },
                            "session": request_json['session'],
                            "user_id": request_json['session']['user_id'],
                            "audio": {
                                    "url": url
                            }
                    })
            return jsonify({'status': 'error'})
    
    if __name__ == '__main__':
            app.run(host='0.0.0.0', port=5000)
    Ответ написан
    2 комментария
  • Как исправить скрипт tampermonkey, чтобы при открытии новой вкладки собирать данные?

    function visitLinksSequentially(links) {
        let index = 0;
    
        function waitForPageLoad(newTab, callback) {
            // ждем полную загрузку
            newTab.addEventListener('load', function onLoad() {
                newTab.removeEventListener('load', onLoad); 
                callback(); 
            });
        }
    
        function extractData(newTab, callback) {
            // логика для извлечения данных
            const extractedData = newTab.document.querySelectorAll('SELECTOR_YOUR_DATA'); 
            console.log('Извлечённые данные:', extractedData); 
            callback(); 
        }
    
        function visitNextLink() {
            if (index < links.length) {
                const link = links[index];
                index++;
                const newTab = window.open(); // открыли новую вкладку
    
                newTab.location.href = link;
    
                waitForPageLoad(newTab, () => {
                    setTimeout(() => {
                        extractData(newTab, () => {
                            newTab.close(); // закрыли
                            visitNextLink(); // пошли дальше
                        });
                    }, 1000); 
                });
            } else {
                console.log('Good job bro!');
            }
        }
    
        visitNextLink();
    }
    Ответ написан
    Комментировать
  • Сократите время выполнения кода JavaScript - privacy-cs.mail.ru/static/sync-loader.js - что это?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    PageSpeed ругается на данную вещь, по времени занимает 3 секунды на мобильной версии

    Заверните внешне подключаемые скрипты в событие window.onload + setTimeout на 3 сек, PageSpeed и поисковики хорошо оценят данный движ.
    На сайте есть виджет чата от Битрикса, в нём есть ссыль на чат в ВК клиента. Может ли это быть оно?

    Точно не известно, пока не покажите ссылку на сайт.
    Ответ написан
    Комментировать
  • Проблемы с загрузкой файлов через S3 API на Backblaze B2 (Laravel, Timeweb хостинг). Большие файлы прерываются во время загрузки, кто сталкивался?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Лет 5 назад использовал.

    Не знаю что такое Backblaze B2. Но в Amazon S3 реализации, любая загрузка
    длинного файла шла через массив байт который передавался единоразово.
    Почему так странно сделано - непонятно. Почему не было streamable-API - ХЗ.

    Но если вы допустим захотите загрузить файл в 1Г то сервис у себя должен аллоцировать
    буфер такого-же размера. Возможно у сервера просто не хватает памяти для этого буфера.
    Ответ написан
    2 комментария
  • Почему при обращении к xml файлу отдает пустой документ?

    @Giperoglif
    у меня курл всё прекрасно возвращает

    curl -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.4843.400 QQBrowser/9.7.13021.400" -s https://wisell.ru/bitrix/catalog_export/yandex_wisell_opt_gp.php


    и без юзер агента даже.
    Ответ написан
    Комментировать
  • Как в yii2 получить 2 параметра в поле?

    grantur5707
    @grantur5707
    Full Stack Web Developer
    Добавьте просто скрытое поле для передачи id_field, а в основное поле передавайте только данные:

    <?php foreach ($fields as $field): ?>
        <?= Html::activeHiddenInput($model, "[$field->id]id_field", ['value' => $field->id]) ?>
        <?= $form->field($model, "[$field->id]data")->textInput(['value' => $model->data]) ?>
    <?php endforeach; ?>


    В результате вы получите примерно такую структуру post запроса:

    Field_Data[1][id_field] = 1
    Field_Data[1][data] = "значение поля 1"
    Field_Data[2][id_field] = 2
    Field_Data[2][data] = "значение поля 2"


    А уже в контроллере обрабатывайте полученные поля как вам нужно:

    if (Yii::$app->request->post('Field_Data')) {
        foreach (Yii::$app->request->post('Field_Data') as $fieldData) {
            $model = new FieldData();
            $model->id_field = $fieldData['id_field'];
            $model->data = $fieldData['data'];
            if ($model->validate()) {
                $model->save();
            }
        }
    }
    Ответ написан
    1 комментарий
  • Кто знает приложение/сервис/движок/протокол под описанные задачи?

    saboteur_kiev
    @saboteur_kiev Куратор тега Веб-разработка
    software engineer
    В опен-сорсе обычно очень маленькое количество огромных комбайнов. У вас тут хотелки на 5-6 отдельных продуктов. А все в одном бывает в основном в крупном ентерпрайз продукте, типа комбо от atlassians, или какой-нить битрикс.

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

    @play13
    1. Discourse
    Функции и свойства:
    Форумная структура с разделами и темами.
    Поддержка ленты обсуждений.
    Открытый код и возможность установки на свой сервер.
    Русский интерфейс.
    Настраиваемая система профилей.
    Многоуровневая структура сообществ.
    Возможность добавления плагинов для интеграции с другими сервисами.
    Конфиденциальность: Позволяет создавать частные форумы.
    Проверенность временем: Хорошо зарекомендовал себя и широко используется.
    Необязательные функции: Поддержка веб и мобильного интерфейсов. Нет привязки к телефону по умолчанию, но зависит от настроек администратора.

    2. Matrix (с клиентом Element)
    Функции и свойства:
    Протокол для безопасного общения, поддержка форумов и чатов.
    Относительная конфиденциальность благодаря end-to-end шифрованию.
    Открытый код и возможность установки на свой сервер.
    Русский интерфейс.
    Многоуровневая структура чатов и сообществ.
    Поддержка ботов и интеграций.
    Поддержка веб и мобильных приложений.
    Конфиденциальность: Высокий уровень благодаря E2E шифрованию.
    Проверенность временем: Широко используется, устойчивое сообщество разработчиков.
    Необязательные функции: Бесплатность и регистрация без телефона (можно настроить).

    3. Rocket.Chat
    Функции и свойства:
    Комбинация форумной структуры и ленты сообщений (больше фокус на чаты).
    Возможность настройки приватных и публичных каналов.
    Открытый код и возможность установки на свой сервер.
    Русский интерфейс.
    Поддержка ботов и интеграций.
    Многоуровневая структура.
    Поддержка веб и мобильных интерфейсов.
    Конфиденциальность: Поддержка шифрования и приватных каналов.
    Проверенность временем: Достаточно устойчивая платформа.
    Необязательные функции: Возможность использования без привязки к телефону.

    4. Mastodon
    Функции и свойства:
    Социальная сеть с поддержкой ленты и публичных/приватных обсуждений.
    Поддержка форумоподобных сообществ.
    Открытый код и возможность установки на свой сервер.
    Русский интерфейс.
    Настраиваемость с поддержкой плагинов.
    Многоуровневая структура.
    Поддержка веб и мобильных интерфейсов.
    Конфиденциальность: Поддержка приватных постов, но конфиденциальность зависит от настройки сервера.
    Проверенность временем: Хорошо зарекомендовала себя, активно используется.
    Необязательные функции: Возможность использования без привязки к телефону.

    5. Nextcloud (с плагинами для форума и чатов)
    Функции и свойства:
    База знаний с файловым хранилищем.
    Возможность создания форумов и чатов (через дополнительные модули).
    Открытый код и возможность установки на свой сервер.
    Русский интерфейс.
    Поддержка множества плагинов для расширения функциональности.
    Конфиденциальность: Высокая, так как размещается на вашем сервере.
    Проверенность временем: Широко используется для управления файлами и коммуникациями.
    Необязательные функции: Настраиваемость, многоуровневая структура, возможность использования без привязки к телефону.
    Ответ написан
    Комментировать
  • Возможно ли автовоспроизведение аудио сообщений из телеграм бота с помощью ESP32?

    petermzg
    @petermzg
    Самый лучший программист
    ESP32 + модуль mp3 проигрывания и если это с вашего сервера, то качаете и проигрываете.
    На ютубе полно проектов. Для примера у тогоже AlexGyver есть проект поигрывания интернет радио. И ваш сервер может отдавать аудио как стрим.
    Ответ написан
    Комментировать
  • Как установить PHP в режиме отладки под Ubuntu?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Но при попытке запустить этот же скрипт из командной строки я получаю ошибку о том, что расширение pdo_mysql.so не может быть загружено.
    Для cli и для "веба" разные php.ini, в которых естественно включены разные расширения.

    php --ini для cli
    phpinfo() для веба
    Ответ написан
    5 комментариев
  • Как защитить базу данных компании от кражи сотрудниками?

    @q2digger
    никого не трогаю, починяю примус
    bitwarden или voultwarden - можно разные секреты по разным разделам разнести, у нас у каждого отдела свой набор секретов, и другие они не видят.
    Ответ написан
    2 комментария
  • Что можно сделать, если новый SSD на 2 ТБ не инициализируется?

    VoidVolker
    @VoidVolker Куратор тега Windows
    Dark side eye. А у нас печеньки! А у вас?
    У них своего сайта, как такового нет, только маркетплейс, что уже озадачивает.

    Добро пожаловать в реальность! Покупайте проверенные устройства в проверенных магазинах. Все дешевые диски на маркетплейсах примерно вот такие:
    323100_O.jpg
    Ответ написан
    6 комментариев
  • Почему не работает Esp32 из-за драйвера мотора?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Поставьте диод в разрыв +5 которые идут к ESP. И за ним - конденсатор электролитический побольше.
    Вообще лучше разделять питания силовые, аналоговые и цифровые. В данном случае - питать драйвер/двигатели от отдельного источника.
    Ответ написан
    Комментировать
  • Как сделать такой след за движением мыши?

    Get-Web
    @Get-Web Куратор тега CSS
    Front-End Developer

    Нужно только конфиг немного подкрутить. CURL: 2 и еще что-то на свой вкус, в идеале поискать конфиг на их сайте
    Ответ написан
    6 комментариев
  • Как лучше инициализировать объект?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    типа, антипаттерн...

    но это все равно вызов метода в конструкторе, что не приветствуется.

    Бред. Вот кем не приветствуется - вот он пускай и не приветствует и тихо миро плавает в своем болотце. Спокойно вызывайте приватный инициализатор в конструкторе - это как раз нормально. Конструктор - это и есть инициализатор объекта. Он даже называется "конструктор" - сборщик объекта. Его для этого и придумали. Выносить часть инициализации из инициализатора - на самом неделе не самая умная идея. А вот разбить инициализацию на разные логические части и разнести в разные методы - как раз таки очень даже хорошая практика. Декомпозиция, небольшие и простые функции/процедуры и все такое прочее.
    Ответ написан
    2 комментария
  • Почему возникает ошибка Maximum execution time exceeded?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    Нужно катать сферические шары в вакуме. Их 1000 штук. Работник каждые 30 секунд уходит покурить.
    Один шар он перекатывает за время от 1 до 3х секунд (то есть нет равномерности).

    Запрещаем ему курить пока не перекатит все. А он сволочь такая лажает постоянно.
    Решение
    Вместо цикла
    для всех шаров с 1 по 1000 делай катать
    пишем
    Напиши на доске номер шара - 1
    Цикл
    прочитай номер шара
    засеки время
    откати шар
    он 1000 - й , то ты свободен
    посмотри время
    если прошло больше 25 секунд, то запиши номер следующего шара и иди курить
    Ответ написан
    6 комментариев