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

    @alexalexes
    Вопрос лежит в плоскости оптимизации.
    Если вам приемлемо по количеству обращений и времени делать несколько отдельных запросов, чтобы сформировать объект поста на бэкенде перед СУБД, то делайте. Если нужно уменьшить количество запросов, но пожертвовать объемом пересылаемых данных между бэком и СУБД, то какие-то атрибуты поста, которые идут списком/массивом можно получать одним запросом.
    Обычно, дилемма состоит в том, как получать необъемные скалярные свойства поста - id, дата публикации, автор и т.д. и не сильно глубоких списков, скажем, изображения галереи поста, которые редко превышает пару десятков штук. Вот это можно спокойно джойнить, и не бояться дублирования свойств поста в выборке.
    Если вы работаете с длинным текстом поста, и безразмерными списками, то тут нужны отдельные запросы. Скорее всего в комментариях у вас будет порционная подгрузка по страницам, или по кустам дерева комментариев, если оно многоуровневое.
    Ответ написан
    Комментировать
  • Можно ли где-то подрабатывать/работать с небольшими знаниями в данных областях?

    @alexalexes
    У интернет-провайдера - включать и отключать приставки/роутеры/телефоны. Но сейчас рынок провайдеров устаканился, текучки клиентов почти нет, такой штат работников делают малочисленным.
    Можете поинтересоваться, в каких районах города проводят FTTB до дома/квартиры - можете сесть на хвост тренду, и научиться пользоваться сварочным аппаратом для оптики за недолгую карьеру монтажника сети, если вас допустят.
    Ответ написан
    Комментировать
  • В чем может быть причина автоматического созадния столбца в таблице?

    @alexalexes
    Либо в приложении ищите зачатки alter table (не факт, что chat_id добавляют как параметр из какого-нибудь конфига), либо в хранимых процедурах СУБД.
    Ответ написан
  • Почему не отправляется сообщение через curl когда при вставке итогового запроса в браузер - всё работает?

    @alexalexes
    1) Включить вывод ошибок php на любую непонятную ситуацию:
    // в начале php файла указывается
    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);
    error_reporting(E_ALL);

    2) Смотрите, что возвращает curl, и по ошибкам тоже:
    $result = curl_exec($ch);
    if($result === false)
    {
        echo 'Ошибка curl: ' . curl_error($ch);
    }
    else
    {
        var_dump($result);
    }

    3) Не светите данными авторизации в своих вопросах, особенно, всякими токенами доступа.
    ПС: curl_error.
    Ответ написан
  • Какую CMS использует сайт телешторм?

    @alexalexes
    Какую CMS они используют?

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

    @alexalexes
    Нужно, чтобы СУБД поддерживала оконные функции (если у вас MySQL 5 версии, то мужайтесь).
    select user_id,
              order_id,
              time,
              lag(time) over (partition by user_id order by order_id) as before_time, -- предыдущее значение time в пределах user_id по сортировке order_id
             time - lag(time) over (partition by user_id order by order_id) as period, -- математика вычитания времени зависит от СУБД.
             max(time) over (partition by user_id) - min(time) over (partition by user_id)  as user_period -- период между самой ранней записью по пользователю и самой поздней записью по пользователю
    from t
    Ответ написан
  • Как взять каждое значение массива mysqli_fetch_array и занести каждое значение в строку таблицы mySQL?

    @alexalexes
    У вас:
    while($row=mysqli_fetch_array($res))
    {  
        // #########################
        // ####  начало тела цикла  #####
        // ##########################
        $iduser=$id;
        $idkat=$row['idkat'];
         // #########################
        // ####  конец тела цикла  #####
        // ########################## 
    }  
        $res=mysqli_prepare($bd, "INSERT INTO zakaz (iduser,idkat) 
     VALUES(?,?)");
     mysqli_stmt_bind_param($res, 'ii', $iduser,$idkat); // подставляем переменные, которые присвоились на ПОСЛЕДНЕМ прогоне цикла
     $result2=mysqli_stmt_execute($res);

    Как вы ожидаете:
    while($row=mysqli_fetch_array($res))
    {  
        // #########################
        // ####  начало тела цикла  #####
        // ##########################
        $iduser=$id;
        $idkat=$row['idkat'];
        $res2=mysqli_prepare($bd, "INSERT INTO zakaz (iduser,idkat) 
     VALUES(?,?)");
     mysqli_stmt_bind_param($res2, 'ii', $iduser,$idkat); // подставляем переменные, которые присвоились на ТЕКУЩЕМ прогоне цикла
     $result2=mysqli_stmt_execute($res2);
         // #########################
        // ####  конец тела цикла  #####
        // ########################## 
    }

    PS: Есть нюанс. Обработку второго запроса нужно вести по отдельному дескриптору $res2, чтобы не поломать дескриптор $res, по которому работает while.
    Ответ написан
    Комментировать
  • WordPress Ошибка установки соединения с базой данных?

    @alexalexes
    С помощью phpMyAdmin на OpenServer корректно создать пользователя БД, привязать правильную базу, и не забыть взять дамп базы с хостинга и развернуть на опенсервере.
    Протестировать вход пользователя WP в phpMyAdmin.
    Убедиться, что после залогинивания wp-шная база данных доступна этому пользователю.
    Ответ написан
    1 комментарий
  • Какую книгу выбрать?

    @alexalexes
    Читай все, но книжек мало.
    Чем меньше технологий в названии, тем меньше будет галопом по Европам в содержании.
    Ищите книжки отдельно по PHP (второй уровень прокачки - фреймворки: Laravel, Yii, Symphony и т.д.), отдельно JS (второй уровень прокачки: VueJS, React и т.д.), отдельно CSS (второй уровень - препроцессоры), MySQL (второй уровень Postgres, СУБД из кровавого интерпрайза). В дополнение всякие Memcached, Redis, Rest, TreeQL. Книги по шаблонам проектированиям, MVC модели и т.д., системы управления версиями, типа Git, контейнеризация, типа Docker и т.д., администрирование Linux/MS.
    https://roadmap.sh/full-stack
    https://roadmap.sh/frontend
    Ответ написан
    9 комментариев
  • Запустится ли AdaptiveSync на nvidia?

    @alexalexes
    Чтобы заработал Adaptive Sync, нужно чтобы весь стек это поддерживал. Не только монитор, но и кабель, и видеокарта, и драйвера, и софт.
    Ответ написан
    Комментировать
  • Можно ли подключить ноутбучную клавиатуру к обычному USB 1.0/2.0?

    @alexalexes
    Есть некий проект на отдельном контроллере:
    https://www.instructables.com/How-to-Make-a-USB-La...
    PS: Сдается мне, если у полноразмерной клавиатуры USB распиновка клавиш похожа на такую матрицу:
    FIDKPDSKUV8PYPB.png
    и если по столбцам и строкам набор клавиш стандартизирован, то из большой клавы можно одолжить адаптер и приспособить ноутбучную клаву под этот адаптер.
    PPS: Или собрать свой маленький контроллер со своим декодером матрицы. Найти прошивку под HID устройство поверх USB, вообще, проще простого для любого МК, поддерживающего usb.
    Ответ написан
    Комментировать
  • Как обстоят дела с персональными данными в телеграм ботах?

    @alexalexes
    И как я понимаю туда надо ссылку на это согласие указать?

    Даже два согласия. Одно на обработку персональных данных, другое - на распространение персональных данных.
    Согласие на обработку данных нужно, чтобы получить возможность обрабатывать данные для внутренних нужд организации. Должен четко перечислен список реквизитов, которые вы будете собирать, и список действий, что будете делать с этими реквизитами.
    Согласие на распространение, тоже содержит список реквизитов в виде таблички, что пользователь, якобы, мог что-то разрешить распространять, что-то категорически запретить, а что-то разрешить с ограничениями (ограничение предполагается заполнять текстом самим пользователем). И в вашей системе нужно учитывать все эти моменты, но обычно, согласие не принимается, пока пользователь не согласится с вариантом, что нужно распространять весь предложенный перечень реквизитов, если упрощать учет. Но вы должны фиксировать в системе версию документа бланка согласия, если реквизиты поменяются в будущем, чтобы пользователю потом предложить новый бланк.
    Также в тексте согласия указывается точный электронный адрес, где будет вестись распространение перс. данных.
    Ответ написан
  • Как лучше организовать хранение данных?

    @alexalexes
    Как бы выразиться помягче...
    Вы даже не представляете какой объем системы нужно разработать, чтобы выводить 10 отчетов, и если нужно будет 11-ый отчет добавить. Вам придется решить вопросы не только хранения данных.
    Обычно, студенты профильного направления только на 3 курсе начинают осознавать масштаб бедствия.
    Вот пример, какого кунгфу нужно достичь, чтобы решить вашу задачу:
    https://dspace.tltsu.ru/jspui/bitstream/123456789/...
    Ответ написан
    4 комментария
  • Делал форму обратной связи, вроде написал все правильно, но выводит ошибку заполните все поля, хотя все заполнил. Как быть?

    @alexalexes
    <form action="send.php">
    ...
    </form>

    Вы не указали метод отправки POST, соответственно, ваши переменные формы нужно искать в методе GET.
    <form action="send.php" method="POST">
    ...
    </form>

    Чтобы убедиться в этом:
    echo "GET:";
    var_dump($_GET);
    echo "POST:";
    var_dump($_POST);
    exit();
    Ответ написан
    Комментировать
  • Перестал отображаться HDD в BIOS, соответственно и в дисковом менеджере винды тоже нету. Как быть?

    @alexalexes
    Если диск не видно в биос, значит он либо не подключен должным образом, либо не хватает питания для раскрутки, либо он физически поврежден - просто так совпало, что вы куда-то его перемещали. Как какая ОС его использовала - не имеет значения.
    Ответ написан
    Комментировать
  • Есть ли разница втыкать приёмник радио канала для мышки в USB 2.0 или USB 3.0?

    @alexalexes
    Не будут. Скорости USB 2.0 хватит на несколько адаптеров различных устройств управления.
    Но вы можете купить USB 3.0 хаб не только для подключения таких адаптеров, но для подключения внешних жестких дисков. Вот на них почувствуете разницу.
    Ответ написан
    Комментировать
  • Что можно сделать, если новый SSD на 2 ТБ не инициализируется?

    @alexalexes
    Вставить в материнскую плату в разъем m2 и нормально проверить.
    Если определиться без проблем, то грешить на переходник USB и драйвера ноутбука, ОС.
    привлекла его низкая цена

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

    @alexalexes
    Если в вашей модели ноута используется плоский аккумулятор как шоколадная плитка, то у них есть тенденция распухать со временем, если есть внутренние дефекты в аккуме. Может выдавить крышку корпуса или повредить материнскую плату. Лучше найти время и извлечь для спокойствия.
    Ответ написан
    2 комментария
  • Как прибавить к текущему значению новое?

    @alexalexes
    let data = 0;
    
    document.querySelectorAll(".button").forEach(function (btn){
      btn.addEventListener("click", function (e){
        data += +e.target.parentElement.dataset.step;
    rect.style = `transform: rotate(${data}deg);`
    Ответ написан
    3 комментария