• Какой Thinkpad купить?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Лучше для чего? А так, в целом, третий наиболее оптимальный вариант - 4 нормальных ядра в сравнении с парой в первом, а 32 гигов ОЗУ вполне хватит еще года на три-четыре. Ну и плюс он легче.
    Ответ написан
    Комментировать
  • Стоит ли мне знать как работает cmd для Python?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Если вы хотите водить машну, вы должны понимать хотя бы базовые основы её технического устройства.
    Потом вы прибежите на этот ресурс со своим непониманием почему что-то работает не так, как вы ожидаете.

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

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

    Vindicar
    @Vindicar
    RTFM!
    У обработчика сообщений должен быть только один параметр - message.
    Ответ написан
    Комментировать
  • Где хранить видео для сайта?

    @Drno
    ОБлачные хранилища покупайте
    Или арендуйте свой сервер и поднимайте там хранение
    Ответ написан
    Комментировать
  • Где хранить видео для сайта?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    В облачных хранилищах S3.
    Ответ написан
    3 комментария
  • Как изменять значение в бд по времени?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Информация о том, что пользователь оплатил подписку заносится в бд (есть отдельная строка, в которой изначальное значение равно нулю, а при оплате меняется на 1).

    В комплекте с информацией о факте оплаты должна существовать и информация о дате-времени открытия доступа по подписке. Кстати, в этом случае сама информация о факте оплаты не нужна, достаточно просто самого факта наличия момента оплаты либо срока действия оплаченного доступа.

    значение сменилось на 1, а потом через месяц само сменилось на 0.

    Для этого у MySQL есть свой встроенный планировщик. Запускаем, создаём процедуру, которая выполняется, например, ежеминутно, и обнуляет поле доступа для всех записей, у которых разница между текущим штампом времени и штампом времени открытия доступа превышает срок доступа (хардкод, либо взятый из служебной таблицы или даже из обрабатываемой записи).

    MySQL 8.0 Reference Manual / Stored Objects / Usin...
    Ответ написан
    Комментировать
  • Как изменять значение в бд по времени?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    А что мешает вместо 0/1 заносить срок окончания подписки и проверять его?
    Ответ написан
    Комментировать
  • Что теперь делать с оплатой в стиме?

    vabka
    @vabka
    Токсичный шарпист
    В теории, в другом регионе должна проходить оплата.
    Но только с тех банков, которым Свифт не обрубили.
    Но это не точно.

    Ну и ещё остаётся возможность покупать ключи и продавать вещи, чтобы получить деньги на внутренний кошелёк.
    Ответ написан
    Комментировать
  • Как с помощью js запрещать доступ к странице?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Непонятно, в чём проблема.
    При активации подписки в БД заносим время завершения подписки, например `subscriptionEndTime` = NOW() + INTERVAL 30 DAY.
    При проверке просто сравниваем текущее время и сохранённое,
    `subscriptionEndTime` > NOW() AS `isSubscriptionActive`
    .
    А попытка переложить проверку на клиента заведомо неправильная. Никто не мешает пользователю слегка поправить код и просто игнорировать проверку.
    Ответ написан
    Комментировать
  • Можно ли загружать видео на страницу с облака?

    Stalker_RED
    @Stalker_RED
    Лей на Ютуб, ставь на сайт любой альтернативный плеер, (например plyr), и отключай показ ссылок
    Ответ написан
    Комментировать
  • Как сделать многостраничный сайт и форму регистрации?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    1. Ну тут минимум 2 варианта:

    I. Юзер вводит логин/мыло, сервер генерирует новый пароль, сохраняет хеш в базу а чистую копию отсылает на почту.
    II. Юзер вводит логин/мыло, сервер генерирует ссылку по типу domain.com/reset_pasword?token=dfsfgesdfs34asd...., где значение token является хешем - зашифрованным при помощи md5 логином и timestamp`ом, который сохраняется в бд (например в таблицу restet_password_history со столбцами: user_id | hash | is_changed ). При переходе по такой ссылке сервер проверяет, есть ли в базе данный хеш и is_changed == false. Если да, то выводится форма для ввода пароля. После отправки в таблицу с юзером сохраняется хеш нового пароля, а is_changed записи меняется на true.
    P.S. Во втором варианте неплохо было бы сделать "срок жизни" такой ссылки, т.е. сохранить в указанной таблице текущие дату и время+час, к примеру, а при переходе по ссылке проверять текущее время.

    Это первое, что пришло в голову.
    2. Смотря что вы имеете в виду под многостраничностью - если простые страницы по типу "о нас/контакты/правила" то да, руками. А если динамические по типу профилей/статей, то для каждой типовой страницы создается шаблон, в который выводятся данные из БД.
    Ответ написан
    Комментировать
  • Можно ли всраивать кнопки в таблицы?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Это общепринятая практика, так что не парьтесь. И да кнопки можно сделать иконками или ссылками
    Ответ написан
    4 комментария
  • Можно ли всраивать кнопки в таблицы?

    @xxvxx
    ....
    Да можно, вот пример
    <style>
        .btn{
            padding: 10px;
            background-color: #000;
            color: #fff;
        }
    </style>
    <table>
        <tr>
            <td>названия тарифа</td>
            <td>цена</td>
            <td><a class="btn" href="/">кнопка</a></td>
        </tr>
    </table>

    или так
    <button onclick="window.location.href = 'https://w3docs.com';">Click Here</button>
    Ответ написан
    3 комментария