Ответы пользователя по тегу PHP
  • Как вы фильтруете данные - до сохранения в базу или при выводе?

    eaa
    @eaa
    Например, нам надо считать статистику. Соответственно каждую секунду мы пишем некий объем информации. Имеем огромную базу, но и можно делать с ней все. что угодно. При выводе фильтрация и всякие арифметические операции — суммирование по неделе, месяцу и т.п.

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

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

    eaa
    @eaa
    Поделюсь своим опытом… в старые добрые времена, когда я был еще мелким, мне надо было считать количество комментариев к новостям. Джойны я не любил и применил первый вариант. Потом статистика увеличилась, добавились поля, алгоритмы усложнились. В результате на одну статью стало выполняться по 10-15 селектов. Потом оказалось, что надо показывать не 10 статей, а 50 — итого порядка 500 запросов на одну html-страничку. И не мне это уже понадобилось, а главному программисту, а он недолго думая решил просто вызвать мой метод, не заглядывая, как он реализован. Ну вы можете себе представить его реакцию, когда он посмотрел, как быстро sql пишет запросы в лог-файл :)

    Выводы делайте сами.
    Ответ написан
    Комментировать
  • Будет ли интересна статья по PHP?

    eaa
    @eaa
    Надо cookbook по php написать и всего делов-то :)
    Ответ написан
    Комментировать
  • Как перевести комментарии в *.php файлах ?

    eaa
    @eaa
    дык… тут по идее писать-то не сильно долго:

    — берем файлик.
    — вытаскиваем регэкспом коммент.
    — отдает гугле.
    — получаем ответ.
    — запихиваем вместо того, что было.

    вряд ли кто именно такое писал, тут слишком специальное решение, а я делал так на перле, как описал парой строк выше, правда не текст переводить надо было, а кое-что другое подменять в тексте.

    для особо любителей можно sed использовать.
    Ответ написан
    Комментировать
  • И вновь о проверке на пустые (незаполненные) поля

    eaa
    @eaa
    Первое, что попалось под руку:

        $err = "";
        if (strlen($_POST['name']) <= 0) {
            $err .= "<p>Заполните поле 'Имя'</p>";
        }
        if (strlen($_POST['subj']) <= 0) {
            $err .= "<p>Заполните поле 'Тема'</p>";
        }
        if (strlen($_POST['msg']) <= 0) {
            $err .= "<p>Заполните поле 'Текст сообщения'</p>";
        }
    
        if (strlen($err) > 0)
        {
            print ("<center>Ошибка! $err
            <INPUT TYPE='button' VALUE='НАЗАД' onClick='history.go(-1)'>");
        }
    
    Ответ написан
  • Какой лучший отладчик на PHP?

    eaa
    @eaa
    По опыту оказалось, что самое результативное — это тупо ведение логов. Грамотных логов. SQL — отдельно. Дампы входящих данных и дампы результатов. И при грубых ошибках — call stack. И все. Только так получалось отлавливать ошибки у заказчиков, когда у него что-то случилось, а обнаружил он это через неделю и поднял вопль — выход один — идем телнетком на его хост и начинаем читать логи. Много логов. Развлечение может быть не на один день/неделю, но в результате, восстановив все, что происходило на его машине, получаем место, где ошибка и что же реально произошло.

    Что бы хотелось… наверно — чтоб можно было эти логи впихнуть в некую play-back машину и наглядно видеть, что происходило, а не читать портянки с букофками-циферками, а глядеть на красивые екранчики, где перед взором пробегает вереница меняющихся циферок конкретно интересующих переменных, флагов, вызовов методов и т.п., и это было бы красиво форматировано, чтоб можно было бы выключить и не видеть то, что не интересует в данный момент, смотреть все с нужным уровнем детализации.
    Ответ написан
    1 комментарий