Задать вопрос
  • В чем отличие ngnix от golang?

    ThunderCat
    @ThunderCat
    NikitaW, нжинкс - софт, позволяющий обращаться к физическому серверу по определенным протоколам (чаще всего это http/https). После получения запроса нжинкс (или любой другой вебсервер) поступает с запросом так, как прописывает в правилах админ. Чаще всего либо читает запрошенный ресурс из определенной папки сервера и отдает ее обратно клиенту, либо читает поток, отдаваемый другой программой, например скриптом на го или пхп.
  • Нужно ли делать условие перед вызовом метода для избежания выделения дополнительной памяти?

    ThunderCat
    @ThunderCat Куратор тега PHP
    попросил его показать источник, который показывает, что его способ добавляет производительность,
    То есть источник не показал, ограничившись маханием языком? Ну так я тоже так могу...

    Цифрами - цикл на 10 000 вызовов с условием и без, и когда разница будет хотя бы 10 секунд, а потребление памяти в несколько раз меньше, тогда есть смысл о чем то говорить. А п... редполагать - не мешки таскать...

    Может товарисч окажется прав, по тому что внутри метода еще 50 запросв в бд и 4 вызова сторонних апи...
  • Возможно ли авторизоваться если злоумышенник получит чужие куки?

    ThunderCat
    @ThunderCat
    video12,
    а в файлах пароли не шифруются?
    В каких файлах???

    я например смог с легкостью авторизоваться на qna habr через куки с php, а вот с логином и паролем бы не смог, так как на входе капча. Это еще один аргумент в пользу того что с куки легче взломать
    А при чем тут это? С логином и паролем и руками можно авторизироваться, и ломать ничего не надо. Зато навсегда, а кука со временем протухает, по уму при каждом новом логине она меняется.

    Это еще один аргумент в пользу того что с куки легче взломать
    Вообще не аргумент. Скорее наоборот, при наличии куки вы не знаете механизм авторизации, выбранный на конкретном ресурсе, она может не сработать или умереть через 5 минут. Логин и пароль работают пока пользователь руками их не сменит. Смысл поста был в том что увести куки или пароль примерно одинаково сложно, о чем говорит большинство взломов, в основном ломающих системы сохранения данных, нежели пользователей.
  • Возможно ли авторизоваться если злоумышенник получит чужие куки?

    ThunderCat
    @ThunderCat
    video12, Где это пароли шифруются в браузере? Возьмите любой сервис с логином, введите логин/пароль и откройте инструменты разработчика. Засубмить форму, и посмотри что отправилось на сервер.
  • Как правильно вывести последнее сообщение в блок слева который будет на картинке?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Во первых, таким образом вы получите не все диалоги, например не будет диалогов где текущий юзер что-то написал, но ответа не получил. Во вторых - прям по описанию строите запрос примерно так:
    SELECT 
             m.message, 
             max(m.date) message_date,  #последняя дата из выборки
             u.login, 
             i.img
        FROM messages m
        LEFT JOIN users u
        ON m.from_user_id = u.id #выбираем имя писавшего
        LEFT JOIN image i 
        ON m.from_user_id = i.obj_id #берем картинку писавшего
        AND i.obj_type = 'user' 
        AND m.to_user_id = :id #выбираем только наш айди "к юзеру" 
        GROUP BY m.from_user_id # группируем по "написавшим" юзерам, получая уникальные строки
        ORDER BY m.date DESC #сортируем по дате, получая самые последние сообщения


    Дальше надо смотреть по структуре, и возможно что-то подправить
  • Как правильно вывести последнее сообщение в блок слева который будет на картинке?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Totobi, Ну и чего было не написать нормально?
    Нужен список всех диалогов текущего юзера,
    отображающий последнее сообщение для текущего юзера,
    отсортированный по дате сообщения,
    аватар
    и дату сообщения.


    Так?
  • Как правильно вывести последнее сообщение в блок слева который будет на картинке?

    ThunderCat
    @ThunderCat Куратор тега PHP
    не очень понимаю, зачем такая сложность? Нужно получить последний месаж от или к пользователю?
    SELECT m.*
        FROM messages m
        WHERE m.from_user_id = ? 
        OR m.to_user_id = ?
        ORDER BY m.date DESC
        LIMIT 1

    Если к готовому датасету нужны джоины типа картинок и имен - просто добавляем джоины. Зачем и откуда появился dialog_id? Если диалог это именно 2 пользователя, то зачем он? Если это чат на много пользователей, то и структура должна быть другая.

    Но Я столкнулся с проблемой, в PDO нельзя везде установить одно название для бинда значения
    Есть вариант неименованных плейсхолдеров, как я выше написал, тогда в $stmt->execute() просто передается массив, из которого по порядку берутся значения и ставятся вместо "?", типа
    $stmt->execute([$id, $id]);
  • Как исправить ошибку при переходе на php8 Битрикс?

    ThunderCat
    @ThunderCat Куратор тега PHP
    juli_zzz, Много где ) Во первых базовые навыки дебага - var_dump()/print_r(). Или более продвинутые варианты, а ля xdebug.
  • Как исправить ошибку при переходе на php8 Битрикс?

    ThunderCat
    @ThunderCat Куратор тега PHP
    juli_zzz, ну и зачем тут эти портянки? Вас просили конкретное значение с которым проблема, зачем этот мусор тут?
  • Отправка вложений через php mailer. Почему не отправляются изображения?

    ThunderCat
    @ThunderCat Куратор тега PHP
    я не привожу тут код ,потому что сказала с git стандартный php mail и изменила в нем только адрес почтового ящика и еще количество файлов для загрузки
    А без изменения количества файлов все работало?
  • Чистил БД и сломался сайт, восстановление бекап БД не решает проблемы, как починить сайт?

    ThunderCat
    @ThunderCat
    Есть предположение что бэкап поднялся не весь. Например есть таблицы с форен кеями, которые не запустятся, если ссылаемые таблицы еще не существуют, а дамп делается всегда не в порядке наследования, а по алфавиту.
  • Что будет, если убрать из URL уникальный id у новости в CMS?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Aison,
    заранее хочу решить этот вопрос и выбрать более верное решение
    Предварительная (ака преждевременная) оптимизация вредна, по очевидным профи причинам. Для новичков это становится идеей фикс - как бы не сделать плохо, и сразу оптимально. Что приводит к размазыванию задачи вокруг возможных решений, вместо реализации ЛЮБОГО рабочего решения, в рамках задачи. И вот если тесты показывают что есть проблемы с производительностью, тогда думать как решить проблему. В 99% случаев все работает настолько хорошо, что любые оптимизации либо дадут мизерный прирост (вышеупомянутая экономия на спичках), либо только сделают хуже. Все современные инструменты разработки и исполнения ПО уже оптимизированы под типовые задачи, в кои безусловно и очевидно входит и поиск по слагу...
  • Что будет, если убрать из URL уникальный id у новости в CMS?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Aison, "Лучше" в каком смысле? В плане "красоты" слаг лучше, в плане производительности айди несколько лучше, но в реальном мире это экономия на спичках. Единого "лучшего" решения не существует, именно по этому разные системы по разному работают с идентификаторами. Как "лучше" конкретно в вашем случае можете определить только вы сами.

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

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

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    Станислав,
    найти человека, который согласится написать корзину и личный кабинет на JS для WP практически нереально или слишком дорого,
    Нет, или я выразился не верно, или вы поняли не так. На том же апворке ОЧЕНЬ много разработчиков под вордпресс, другой вопрос что среди них есть как толпа индусов, так и приличный пласт вполне адекватных разработчиков. Хотя бы исходя из того что вордпресс ОЧЕНЬ распространен. Стоит описать нормально требуемый функционал, и как минимум закинуть запрос на пару фриланс сайтов. А уже дальше исходя из предлагаемых бюджетов и количества откликов решать что делать.
  • Как создать файл для добавления контакта в телефонну книгу правильно?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    Павел, хм, да, есть такая фигня оказывается, она конечно спрашивает можно ли добавить, но в целом да, может. На относительно старом смарте от мейзу не работает правда. А что с размером? Вроде даже небольшой код хорошо читается, на чем предполагается это печатать и какого размера?
  • Как создать файл для добавления контакта в телефонну книгу правильно?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    Павел, Автоматически вроде все равно никак... Нет нативного способа добавить контакты из внешних источников, можно из приложения, например из телеги или из вайбера, просто через qr не представляю как можно. Да и тупо из соображений безопасности скорее всего ничего подобного делать не будут.
  • Почему не работает, телеграм вебхук с контроллером Yii2?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    Александр, Пипец, как маленький ребенок, все за ручку... значит гет работает, проверяй пост, сделай форму с теми же пост данными что приходят от бота, проверь как отрабатывает... Или постмэном постучись.
  • Почему не работает, телеграм вебхук с контроллером Yii2?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    Александр, Ну значит запросы приходят, и проблема не в боте.
    Смотришь лог ошибок, так как вряд ли что-то "не работает" просто так.

    "Руками" этот урл открывается? Там же разрешен гет, открой да проверь что там происходит. Логи смотри, что за ошибки вываливаются.