Задать вопрос
  • Почему не получается запустить приложение через docker?

    @krundetz
    А запускать в production вы его тоже будете на встреном в php сервере?
    Раз уже докер используете то используйте сервер приложений php-fpm 7.4, а в качестве веб сервера nginx 1.19. (Ну или постарайтесь воспроизвести ту комбинацию на которой приложение будет работать в production)
    Меньше потом сюрпризов будет, ведь вы о них узнаете в процессе разработки.
    Для docker-compose конфиг будет выглядеть как то так:
    version: '2'
    services:
        nginx:
            image: nginx:1.19
            ports:
                  - "80:80"
            volumes:
                - ./path_to_nginx_config:/etc/nginx/conf.d
                - ./path_to_app:/var/www/app
            links:
                - php
        php:
            image: php:7.4-fpm
            ports:
                - "9000:9000"
            volumes:
                - ./path_to_app:/var/www/app
    Ответ написан
    1 комментарий
  • Почему sleep не работает в linux хостинге?

    @krundetz
    Техподдержка такая техподдержка. Они всегда будут перекладывать ответственность на вас, у них работа такая. Ну и компетенции не те иначе бы они работали не в поддержке, а в разработке.

    На самом деле в php.ini можно запретить выполнение любой внутренний функции директива disable_functions

    остальное проверяйте по инструкции qid00000000

    смотреть все это лучше через phpinfo(); так как для cli режима может использоваться другой php.ini

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

    @krundetz
    Смотрите в строну DRM. Но как верно заметил d-sem можно сделать просто запись экрана.

    А вообще почему бы ролик не распространять через youtube? Не знаю позволяют ли они использовать drm, но платный контент там есть. Ведь если ролик украдут и будут распространять то там, а вы сможете оспорить правообладание через службу поддержки.

    У вас такой ценный контент?
    Ответ написан
    Комментировать
  • Возможно ли перехватить пароль на регистрации или входе?

    @krundetz
    Ну да идея верная и на самом деле самая простая. Если вы конечно можете модернизировать этот сайт. Если не можете смотрите в сторону MITM - атак, но это не законно если сайт не ваш.

    В целом для варианта по изменению wordpress, вам нужно создать функцию обертку, которая:
    1. Передаст данные пользователя туда куда вам надо
    2. Вызовет стандартную функцию wordpress по регистрации пользователя.

    Кроме первых двух, есть ещё вариант просто из БД wordpress брать, если конечно механизм которым шифруется пароль вам полностью известен. Но там будет куча переборов для восстановления пароля ну и коллизии никто не отменял. Вариант самый затратный в плане производительности. Не рекомендую.
    Ответ написан
    Комментировать
  • Когда делать асинхронные запросы?

    @krundetz
    1. Потому что хуки в React появились в версии 16.8, а redux-thunk, redux-saga раньше и тому кто их уже использует придется переписать работающий код.
    2. Сами по себе подходы все же разные. И если у тебя работает один подход и работает хорошо, чем другой будет лучше?
    Ответ написан
    Комментировать
  • Как настроить pipenv?

    @krundetz
    pipenv install requests
    так вы поставили пакет requests, а не pipenv

    pipenv ставится командой
    pip install pipenv

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

    файлы pipfile и piplock установились
    если есть Pipfile значит вы уже запускали
    pipenv shell
    в этом каталоге, если есть Pipfile.lock значит вы уже запускали
    pipenv lock

    Попробуйте все с чистого листа.
    1. Выполните
    pip install pipenv
    2. Создайте папку
    3. Зайдите в нее
    4. Выполните в ней
    pipenv shell

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

    Для завершения работы с pipenv, наберите
    exit
    Ответ написан
    Комментировать
  • Как повернуть массив по часовой стрелке на 90 градусов?

    @krundetz
    для поворота одномерного массива
    my_array = [0,10,20,40]
    my_array.reverse()

    результат
    [40, 20, 10, 0]

    то что у вас в качестве примере, по моему явно не поворот на 90 градусов, был массив 4х4 а стал 3х5
    Ответ написан
  • Как сделать слайдер с разным контентом на разных слайдах?

    @krundetz
    <div id="slide1">Первый набор элементов<div>
    <div id="slide2">Второй набор элементов отличный от первого<div>
    <div id="slide3">Третий набор элементов отличный от предыдущих<div>
    <div id="slide4">Четвертый набор элементов<div>


    Если развивать, то

    <div id="slide1">
        <img src="image.jpg">
    <div>
    <div id="slide2">
        <div style="background-image: url('image2.jpg')">
            <span>Мега куртой телефон</span>
            <a href="#">Купить</a>
        </div>
    <div>
    <div id="slide3">
        <video>
            <source src="video1.mpg">
        </video>
    <div>
    <div id="slide4">
        <div style="background-color:#000; color: #000;">Самый черный слайд</div>
    <div>
    Ответ написан
  • Как правильно захардкодить запрос с https на http?

    @krundetz
    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

    Это обратное того что вам надо. Вы говорите браузеру в случае если он встретит запрос по http сделать его по https
    Ответ написан
    2 комментария
  • Питон при импорте функции не сохраняет изменения в бд?

    @krundetz
    так у вас у вас в функции
    только комментарий, pass и ничего больше
    если у вас именно так, то все логично, что написали то функция и выполнила

    если нет то покажите реальный код

    ну и у вас ещё там менеджер контекста до самой функции дело вообще может не доходить
    Ответ написан
  • Как можно использовать get запрос внутри get запроса (как бы странно это не звучало..)?

    @krundetz
    if(isset($_GET['page'])){
        $page = $_GET['page'];
    }
    ...
    if(file_exists(SITE."/pages/".$page.".php")){ 
       require(SITE."/pages/".$page.'.php'); 
    }

    Так делать не надо это потенциальная дырка
    Ответ написан
    Комментировать
  • Не могу записать значение на СИ?

    @krundetz
    1. вставьте default
    2. замените getchar на scanf("%с", &delimetr);
    3. после каждого scanf вставте сроку scanf("%*[^\n]");
    Ответ написан
  • В какой таблице шрифта ttf находится фактический размер символа?

    @krundetz
    Под таблицей вы css подразумеваете?

    Вообще узнать какой размер шрифта прописан у какого элемента можно если открыть панель инструменты разработчика в браузере.

    В Firefox это кнопка "открыть меню(бутерброд, гамбургер)" -> "Веб разработка" -> "Инспектор"

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

    В правой части вкладки будет меню "Разметка", "Вычислено" и т.д.

    Вам нужна вкладка "Вычислено"

    В поле поиск стиля пишете font-size и смотрите размер.

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

    @krundetz
    css в отдельные файлы можно собрать через style-loader, а сохранить их в виде файлов через file-loader для webpack

    вам надо изменить свой webpack.conf.js

    Примерно так
    Ответ написан
  • Как создать HTML элемент с помощью JS и вставить в него переменную?

    @krundetz
    var myVar = 'Моя переменная';
    var element = document.createElement('div');
    element.innerHTML = myVar;


    либо можете переделать свой код вот так
    var myVar = 'Моя переменная';
    элемент.innerHTML = '<div>' + myVar + '</div>';


    Только не забудьте что переменная должна быть строкой.
    Ответ написан
    Комментировать
  • Как сравнение массивов и записать разницу?

    @krundetz
    1. преобразуете json в массивы, функция json_decode
    2. сравниваете массивы функция array_diff

    только учтите что array_diff работает с одномерными массивами, поэтому данные надо будет преобразить чтобы их было удобно сравнить
    Ответ написан
    Комментировать
  • Как сделать бота который скачивает музыку с youtube?

    @krundetz
    если делать для телеграма то
    youtube-dl отвечает за скачивание
    telebot отвечает за внутренности бота
    вы делаете обвязку такую как вам надо

    как то так
    Ответ написан
    Комментировать
  • Почему не работает require?

    @krundetz
    composer require setasign/fpdf:^1.8
    в консоле

    use setasign\Fpdf
    в коде

    Для ознакомления
    Ответ написан
    Комментировать
  • Как получить данные страницы после перенаправления?

    @krundetz
    Насколько я понимаю на том сайте используется js.

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

    1. Если js просто встроен в HTML ответа и ждет определенное время то тоже дождитесь это время и сделайте запрос туда куда перенаправляет js
    2. Если js подгружается на страницу то тащите все зависимости которые есть в HTML причем с применением cookie, а потом повторяйте действия js. Он может:
    2.1. Тоже просто отсчитать время
    2.2. Выполнить какое то другое действие, например сделать запрос у сервера куда перенаправить пользователя и только после ответа перенаправленние сделать.
    и т.д. и т.п.

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

    @krundetz
    1.У вас из консоли проходит?
    npx run cross-env NODE_ENV=production webpack-dev-server --open

    2. Что в вашем понимание обычная сборка?
    3. У вас в строке лишний пробел.
    "build": "cross-env NODE_ ENV=production webpack --mode production"

    4. Для чего вообще вам понадобилась эта переменная окружения? Почему не подходит?
    "start:dev": "webpack-dev-server --open --mode=development",
    Ответ написан
    Комментировать