Задать вопрос
  • Как получить ключ 1-го уровня по значению из массива 2-го уровня?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    echo implode(
    	', ',
    	array_filter(
    		array_keys($arr),
    		fn($key) => in_array($person, $arr[$key]),
    	),
    );
    Ответ написан
    Комментировать
  • Как получить ключ 1-го уровня по значению из массива 2-го уровня?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Серфить примеры не надо.
    Надо запомнить одно очень простое правило: все операции над массивами производятся в цикле.
    Это очень просто запомнить. И даже понять.
    Массив - это набор данных.
    Чтобы что-то в найти в этом наборе - его надо перебрать.
    Вот и перебирайте. Как только нашли нужное значение - вот ваш ученик.
    Вам знаком оператор foreach?
    Ответ написан
    Комментировать
  • Нагружает ли RSS фид сайт?

    @Kostik_1993
    Web Developer
    Говорят файлы можно не только на лету генерировать, но и складывать в папку и отдавать как статику
    Ответ написан
    Комментировать
  • Как составить sql запрос?

    @Akina
    Сетевой и системный админ, SQL-программист.
    WITH
    cte AS (
      SELECT *, ROW_NUMBER() OVER (PARTITION BY document_id ORDER BY job_id DESC) rn
      FROM my_table
      )
    SELECT document_id, job_id, person_id
    FROM cte 
    WHERE rn = 1;

    И в качестве бонуса
    SELECT DISTINCT 
           document_id,
           MAX(job_id) OVER (PARTITION BY document_id) job_id,
           FIRST_VALUE(person_id) OVER (PARTITION BY document_id ORDER BY job_id DESC) person_id
    FROM my_table
    Ответ написан
    Комментировать
  • Как сделать ограничения кликов по времени?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    Вы можете использовать любое хранилище - БД, куки, локальное хранилище, сессию.
    Куки и localstorage в принципе можно поправить или вовсе очистить средствами браузера.
    БД или php-сессия в этом смысле более надежна.

    А сам принцип один, вне зависимости от того, какое хранилище вы будете использовать.
    1. Клик
    2. Проверить, сохранено ли время предыдущего клика
    3.1. Если нет, то разрешить голосование. И сохранить время.
    3.2. Если да, то проверить время.
    3.2.1. Если прошло достаточно, разрешить голосование и сохранить время
    3.2.2. Если нет, ничего не делать или сообщить пользователю, что он слишком увлекся.
    Ответ написан
    Комментировать
  • Оптимизируется ли UPDATE, если значения полей на самом деле не меняются?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    В postgresql создаётся физически новая версия строки при update (с обновлением всех индексов либо hot update если применимо) даже если ни одно поле не меняет своё действительное значение. Есть встроенный триггер suppress_redundant_updates_trigger, который можно повесить на таблицу, тогда ничего действительно не меняющий в данных update будет пропускаться.

    Если меняется хотя бы одно значение - оптимизации не подлежит, должна быть записана новая версия строки в таблицу (чтобы MVCC обеспечить). Если возможно, оптимизация HOT update исключит сопутствующее обновление индексов.
    Ответ написан
    9 комментариев
  • Какую базу данных лучше использовать для чата?

    Да в общем то любая реляционная вполне справится с этим. Только тебе нужно будет данные из классов на таблички переложить.

    Чтобы конкретнее сказать - нужно больше информации
    Ответ написан
    2 комментария
  • Каким образом определяют наиболее старую версию python для работоспособности кода?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    - у тебя какой версии X?
    - Y
    - ага, а у меня Z. Значит напишем "не тестировалось с X версии ниже Y"


    Спустя время
    - давай поднимем минимальную версию до Z, смотря какая там фича полезная нам была бы
    - хм, вышел он N времени назад, проблемой оказаться не должно, не возражаю, добавь только в доку "требуется X версии минимум Z"


    Так оно и происходит обычно.
    Ответ написан
    Комментировать
  • Как исправить ошибку при отправке запроса?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега MySQL
    Вот они, красным подсвечены:
    650027f3b8902774711648.png

    Это синтаксис PostgreSQL, а не MySQL - в это главная ошибка.
    Ответ написан
    Комментировать
  • Как с помощью регулярки вытащить значения в квадратных скобках?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    <?php
    
    $input = '[IMG l="image.jpg" t="Картинка для баннера" d="Скрытое описание"]';
    
    $result = preg_replace(
        '!\[IMG l="(.*?)" t="(.*?)" d="(.*?)"\]!si', 
        '<img src="$1" alt="$2" data="$3" />', 
        $input
    );
    
    var_dump($result);
    Ответ написан
    4 комментария
  • Как ускорить запрос Select живом поиске?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    Если поисковый запрос начинается с символа %, то индекс толком не используется.
    Вам нужен либо fulltext index и соответствующий запрос, либо сторонний поисковый движок типа эластика или мантикоры

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    для полного(или основ) изучения линукса? (Кибербезопасность)

    Вот ты чудак. Как же ее (кибербезопасность) можно полностью выучить если она каждый год меняется.
    Меняются угрозы. Софт обновляется. Безопасник - тот-же вечный студент. Учится на новых угрозах.

    А ты хотел взять Катахезис или Библию и вот так все одним махом прочитать?

    Если ты решил конкретно сдавать на сертификацию - то вот смотри какие знания нужны для именно
    этого. Учебные центры предлагают свои планы обучения. Я с ними не спорю. Их видение.
    Ответ написан
    Комментировать
  • Как обойти задержку кэширования новости и сразу же получить ее с сервера?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я думаю что ничего ты на сайте не сможешь сделать. Просто новости публикуются с задержкой.

    Бери сведенья с телеграм канала напрямую.
    Ответ написан
    Комментировать
  • SQL запрос к БД через WordPress в 46 раз дольше чем через phpmyadmin?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Во первых нужно нормально писать запрос, хотя бы для понимания что вы делаете:
    SELECT DISTINCT tt.term_id 
    FROM wp_term_relationships AS tr 
    JOIN wp_term_taxonomy AS tt 
    ON tr.term_taxonomy_id = tt.term_taxonomy_id 
    JOIN wp_terms AS t 
    ON tt.term_id = t.term_id 
    WHERE tr.object_id IN (
       SELECT p.ID 
       FROM wp_posts AS p 
       JOIN wp_term_relationships AS tr 
       ON p.ID = tr.object_id 
       JOIN wp_term_taxonomy AS tt 
       ON tr.term_taxonomy_id = tt.term_taxonomy_id 
       JOIN wp_terms AS t 
       ON tt.term_id = t.term_id 
       WHERE p.post_type = 'product' 
       AND p.post_status = 'publish' 
       AND tt.taxonomy = 'product_cat' 
       AND t.term_id = '2961' 
    ) 
    AND tt.taxonomy LIKE 'pa_%';

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

    Ну и в третьих, запросы без лимита почти всегда будут медленными, так как бд вынуждена перебирать все таблицы перебором. Если же такой запрос необходим по каким то причинам, то стоит посмотреть что же происходит с запросом. Нужно в первую очередь сделать отдельно вложенный запрос, проверить как он работает, оптимизировать, а затем то же самое сделать с внешним. Так же неплохо прогнать эти запросы через explain, посмотреть каких индексов не хватает. Ну и первое на что стоит обратить внимание это tt.taxonomy LIKE 'pa_%', что само по себе затратно, и требует обязательного индекса.
    Ответ написан
    Комментировать
  • Как сделать уведомления в телеграмм при входе на сайт?

    zkrvndm
    @zkrvndm
    Архитектор решений
    У вас подход изначально неправильный.

    1. Ни в коем случае нельзя ключи от API в открытом виде размещать на своем сайте

    2. За отправку уведомлений должен отвечать тот же скрипт, который отдает html-страницу

    3. В случае с php просто делаете запрос на API телеги используя CURL, примеров в сети полно

    https://vk-book.ru/otpravka-soobshhenij-v-telegram...
    Ответ написан
    Комментировать
  • Как пофиксить ошибку Incorrect TIMESTAMP value?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Если значение поля с типом TIMESTAMP некорректно (а пустая строка - это некорректное значение) - надо заменить его на корректное.
    • Если поле NULLable - то например на NULL.
    • Если настройки допускают нулевую дату - то на `0000-00-00 00:00:00`.
    • Иначе - на некое предопределённое значение. В зависимости от смысла поля - либо в далёком прошлом, либо в столь же далёком будущем.
    Ответ написан
    Комментировать
  • Как найти работу со сложными и комплексными проектами если нету опыта работы в таких проектах?

    Viji
    @Viji
    DevOps Engineer
    На самом деле отсутсвие комплексных и сложных проектов, это конечно проблема, но до определенной степени их можно делать самому, смотреть видаки по архитектуре и system design, купить курс на яндексе (там более менее ничего), купить курс по system design, зайти в сложный опенсоурс проект, прокачать английский до уровня IELTS 7, чтобы на собеседовании при отсутствии опыта можно бьло хоть английским взять - в некоторых компаниях по крайней мере. Сдать экзамен CKAD или CKA.

    А по ИБ - сдай экзамены Certified Ethical Hacker CEH и CISSP (не смотрел правда можно ли еще в России) и работу найдешь !

    p.s. ник еще сменить надо )

    в общем можно сделать много.

    Тысячам людей много чего хочется и только единицы чего-то хотят !
    Ответ написан
    Комментировать
  • Какой уровень блокировки строк по умолчанию в запросе SELECT?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Ни один из перечисленных.
    Для простого SELECT нужны AccessShareLock на таблицу/индексы/etc. row-level блокировки не применяются за ненадобностью.
    Ответ написан
    Комментировать
  • Чем отличается php код запускаемый cron от обычного php кода?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Ничем. Это, внезапно, тоже "обычный php код".
    А вот среда запуска отличается - например, в CLI режиме применяется отдельный php.ini.
    Ответ написан
    7 комментариев
  • Сколько должна весить папка сайта?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    должна

    Должна кому?
    Вес в 7мб это приемлемый вес или слишком много?

    Желательно, чтобы сайт загружал контент видимой области до 2-3 секунд (lighthouse: mobile, 3-4g), остальное грузим следом.
    В моем случае это сайт фотографа с множество png картинок

    Перегнать в webp, ограничить стартовой загрузкой в 10 изображений и далее подгружать по мере скролла портфолио.
    Ответ написан
    Комментировать