• Как блокировать сайты на определённое время в Линукс?

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

    Если тебя беспокоит твоя прокрастинация - нужно искать причину и решать её, а не следствия (залипание на ютубе - это как раз следствие)
    Разные возможные причины, способы поиска своих, и возможные варианты решения хорошо разбирает Максим Дорофеев в своих докладах и книгах.
    Ответ написан
    Комментировать
  • Можно ли запустить программу на языке C в операционной системе FreeDOS или MSDOS?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я думаю можно. Поищи такие компилляторы как Watcom C, Borland C.
    Они умеют генерить код для DOS. На ваткоме кажется была написана
    игра Doom for DOS.

    UPD +Линка www.openwatcom.org
    Ответ написан
    Комментировать
  • Можно ли запустить программу на языке C в операционной системе FreeDOS или MSDOS?

    Нужно компилировать под DOS, а ты скомпилировал под Windows.
    Каждая программа на Windows содержит в себе маленькую программу для DOS, которая выводит такое сообщение.

    Скорее всего - тебе понадобится компилятор и среда разработки примерно из тех же годов, что и DOS
    Ответ написан
    3 комментария
  • Как хранить большое количество json в mysql?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Когда обсуждают базу данных - то ее физический размер обычно не имеет значения. Она может быть и терабайт и пета-байт. Но важно подумать о том какие виды запросов вы будете там гонять. И какие индексы надо построить чтобы быстро искать нужный JSON.

    Хорошая коробочная поддержка JSON с индексами и бинарным представлением документа есть в Postgresql.
    Про MySQL я не в курсе. Но вот посмотрите эту статью https://habr.com/ru/companies/skillfactory/article...
    Может быть появятся мысли.

    Ваш вопрос требует создания POC + Benchmark. Безотносительно того что вам тут напишут в ответах - ваша
    задача создать прототип и загрузить туда 100К синтетических записей и понаблюдать как быстро MySQL будет
    делать поиск нужных значений.
    Ответ написан
    2 комментария
  • Почему шифруются данные в БД mysql?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Очень неплохо, но есть замечания.

    1. ini_set('display_setup_errors', 1); надо убрать вообще, это бессмысленный карго-культ
    2. ini_set('error_reporting', E_ALL); и ini_set('display_errors', 1); надо вынести в общий файл, который инклюдится во все остальные. Иначе на бою придется редактировать в каждом файле, чтобы заменить 1 на 0.
    3. empty после trim надо убрать, проверять на существование заведомо существующее значение не имеет смысла. То есть, переписать так
      if(trim($_POST['user_name']) && trim($_POST['user_email']) && trim($_POST['user_password']))

      Но и это будет неправильно, поскольку trim не применяется к добавляемым в БД значениям
      То есть, потримать отдельно в переменные, а потом проверить просто
      if($user_name && $user_email && $user_password)

    4. проверка if(isset($_SESSION['user_data'])) явно не на месте. А если форма запрошена не постом? Показывать её уже авторизованному пользователю? Зачем?
    5. после header('Location: '); всегда должен идти exit. в данном случае не принципиально, но это должно делаться на автомате.
    6. _once из require_once надо убрать вообще, это бессмысленный карго-культ
    7. require('database/ChatUser.php'); - это стыдоба. Сделайте простенький автозагрузчик, это три строчки. Например
      spl_autoload_register(function ($className) {
          $ds = DIRECTORY_SEPARATOR;
          $className = str_replace('\\', $ds, $className);
          $filename = __DIR__ . "{$ds}..{$ds}database{$ds}$className.php";
          require($filename);
      });
      автозагрузчик тоже кладется в общий подключаемый файл.

    8. проверку if($user->saveData()) надо убрать вообще, это бессмысленный карго-культ, и - вдобавок - ошибка. Если POST запрос был обработан без ошибок, то после него всегда должен быть редирект, без всяких success_message. А "Something went wrong" выводится совсем другим кодом. Я ещё посмотрю в database, но если что, то исправлять надо будет там
    9. вывод сообщений об ошибках в хтмл части лучше сделать в едином стиле
      <? if($errors !== ''): ?>
          <?=htmlspecialchars($errors) ?><br><br>
      <? endif ?>

    10. хорошим тоном считается при ошибке выводить пользователю уже введенные значения (кроме пароля, разумеется)
      <input type="text" name="user_name" value="<?= htmlspecialchars($user_name ?? '') ?>">



    Так, в database более серьезные ошибки.
    В целом неплохой ActiveRecord, но в конструкторе прям всё очень плохо.
    1. В обязательном порядке переделать
      • Во-первых, require в коде класса - это сразу профнепригодность. Всю необходимую информацию класс должен получать только через методы.
      • Во-вторых, new DatabaseConnection в каждом конструкторе - это совсем детская ошибка. Давно TOO MANY CONNECTIONS от mysql не получали?

      Этот класс должен принимать уже созданное соединение, через параметр конструктора.

    2. createAvatar я бы вынес в отдельный класс
    3. Непонятно, зачем вам вообще понадобился цикл foreach ($params as $key => $value), если проще и удобнее написать $statement->execute($params); Для кого специально этот функционал создатели PDO писали?
    4. return $user_data; после условия - это логическая ошибка. Будет undefined variable $user_data если условие не выполнится. Но главное, что здесь все неправильно изначально. Никаких проверок быть в принципе быть не должно.


    DatabaseConnection

    Тут две основные ошибки, не буду уж нумеровать

    • Во-первых, данные для подключения к БД (как и другие, отличающиеся для разных окружений настройки) пишутся в отдельном файле, который не добавляется в систему контроля версий (пишется в .gitignore). И, соответственно, никаких констант, а обычные параметры конструктора. И в этом контексте становится непонятно, зачем вообще нужен класс DatabaseConnection, если все что он делает - это создает инстанс PDO? Правильно, он становится совершенно не нужен
    • Во-вторых, и самое главное - в PDO не включен режим информирования программиста об ошибках. Я даже не представляю, у какого инфоцыгана вы брали этот код - уже, вроде бы, даже до самых тупых из них дошло, что оставлять программиста без сообщений об ошибках - это садизм. Поэтому при создании инстанса ПДО надо в обязательном порядке включать режим информирования об ошибках. Для этого добавить еще один параметр в виде массива, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]; и пока оставить так. А потом, со временем, добавить к проекту централизованный вывод сообщения "что-то пошло не так"

    Ответ написан
    Комментировать
  • Почему греется андроид планшет?

    xez
    @xez
    TL Junior Roo
    Греется - потому что работает.
    Почему вы решили, что он не должен греться?
    Ответ написан
  • Настройка звука в андроид 12?

    @Drno
    Судя по всему -
    Помимо музыки, которая играет, системные звуки будут на том же уровне
    Ответ написан
    Комментировать
  • Ошибка при импорта библиотеки?

    fenrir1121
    @fenrir1121
    Начни с документации
    Просто по приколу изучить язык прежде чем что-то делать.
    Просто по приколу не пытаться программировать на телефоне.
    Просто по приколу перевести ошибку.
    Причина и инструкция что нужно делать чёрным по белому написаны в ошибке:
    error: can't find Rust compiler

    If you did intend to build this package from source, try installing a Rust compiler from your system package manager and ensure it is on the PATH during installation. Alternatively, rustup (available at https://rustup.rs) is the recommended way to download and update the Rust compiler toolchain


    Кроме того прочитайте правила ресурса и оформите вопрос как положено: удалите теги, дискорд не имеет отношения к вашему вопросу, замените сложность и уберите портянку под спойлер
    Ответ написан
    2 комментария
  • Почему Windows сообщает "Нет доступа" при копировании файлов, хотя я админ?

    HemulGM
    @HemulGM Куратор тега Windows
    Delphi Developer, сис. админ
    ОС понимает, что сейчас все кругом с правами админа и все поголовно *диоты. Вот и запрашивает подтверждение, чтобы вы *ерни не наворотили.

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

    HemulGM
    @HemulGM
    Delphi Developer, сис. админ
    Никак! На то это и защита. От спамеров вроде тебя
    Ответ написан
    Комментировать
  • Почему на VDS мой PHP движок работает не правильно, а на каком-нибудь другом Web-хостинге все стабильно?

    Adamos
    @Adamos
    Дело в том, что на хостинге php.ini настраивают за вас. А на VPS он дефолтный.
    Как бы вы ни переставляли дистрибутивы.
    Ответ написан
    6 комментариев
  • Есть ли сервисы для парсинга разных документов с api?

    Maksim_64
    @Maksim_64
    Data Analyst
    Нет, ничего подобного нет, и в обозримом будущем не предвидится.

    Здесь требуется подготовка данных + анализ. Очень часто если эти задачи сложные то их два разных специалиста будут выполнять, если подготовка данных относительна не сложная то один.

    Ну и анализ это понятие растяжимое, репорт каких нибудь средних, минимальных, максимальных и т.д показателей, можно отнести к анализу, но так же к анализу относится и построение предиктивных моделей, статистические тесты и т.д. и это сложно.
    Ответ написан
    6 комментариев
  • Греется iPhone, почему?

    @Drno
    греется, потому что работает.
    Да, температура воздуха влияет

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

    @Drno
    Любой, с поддержкой виртуализации. Ниже современных intel i3 я вообще не вижу смысла что то покупать
    Ответ написан
    3 комментария
  • Как заблокировать загрузчик Xiaomi без mi аккаунта?

    @rPman
    Скорее всего ты не можешь безопасно заблокировать прошивку.

    Могу предположить, что на смартфон установлена кастомная прошивка, основная на не сяомовской. Большая часть инструкций по смене прошивки на xiaomi смартфонах предостерегает - не блокировать загрузчик, так как это окирпичит устройство.
    Ответ написан
    Комментировать
  • Что делать, если папка WindowsApps занимает много места?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Запускайте totalcommander и нажимайте пробел над каждой папкой если много занимает думайте оно вам надо? И если нет то удаляйте через панель управления.

    Я вот зашел и увидел что Adobe Lightroom Classic занимает 3 гига. Хотя у меня фотошоп стоит. Можно и снести
    Ответ написан
    Комментировать
  • Какие есть аналоги Replicant os?

    Alex_Geer
    @Alex_Geer
    System Engineer
    LineageOS, AOSP Extended и OmniROM.
    Ответ написан
    Комментировать
  • В чем заключается ошибка и как ее исправить?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Ошибка в забытой запятой.
    Ответ написан
    Комментировать
  • Я перешел по подозрительной ссылке. Что делать?

    Ничего не будет, если ты ничего не скачивал и не устанавливал
    Ответ написан
    6 комментариев
  • Можно ли погибнуть от паров канифоли и металлов?

    @Drno
    Смотря как часто паять и смотря в какой среде живёте…
    Ответ написан
    Комментировать