Я надеюсь, что нормальные люди уже прониклись необходимостью кешировать вывод данных на своих сайтах, либо кэшировать промежуточные результаты работы с базой данных, либо просто кешировать opcode скриптов для их более быстрого выполнения.
И что разработчики предоставляют нам для этого дела?
Тем, кто занимается бизнесом, в частности веб-разработкой, не надо рассказывать о «вредных» клиентах. Мой комментарий на эту тему в одном из топиков вызвал положительные отклики, поэтому расскажу, что я думаю по этому поводу. А именно: как дифференцировать клиентов по «вредности»; как (и стоит ли) работать с «вредными клиентами».
Довольно часто (постоянно) мне приходиться проводить собеседование людей желающих устроитсья в мой отдел на должность «junior PHP developer» и «PHP developer». И, с завидным постоянством, я и team-lead отдела задаем одни и те же вопросы…
Примечание: ниже перевод презентации «High Performance Ajax Applications», подготовленной ведущим специалистом из Yahoo (а теперь уже из Apple) Julien Lecomte. В ней автор освещает некоторые аспекты оптимизации как JavaScript-приложений, так и веб-сайтов вообще. В целом, советов много, и почти все, действительно, по делу. Однако, встречается и откровенная реклама Yahoo :) Мои комментарии далее курсивом.
Часть 1. Разработка для высокой производительности
Планируем и проектируем для высокой производительности
Ориентируемся на производительность с самого первого дня
Тесно работаем с дизайнерами и менеджерами продукта
Понимаем рациональность дизайна
Объясняем компромиссы между дизайном и производительностью
Предлагаем альтернативы и показываем, что еще возможно (на уровне прототипа)
Пробуем силы в реализации нетривиального дизайна (нельзя сразу говорит «нет»)
Помогаем упростить дизайн и взаимодействие с пользователем (добиваемся компромисса)
Недавно коллега из соседнего отдела попросил меня помочь ему с версткой одного блока. Он хотел разобраться с основами семантической верстки и сверстать этот блок аккуратно и красиво. Однако блок оказался совсем не прост для верстки — в нем сочетались скругленные уголки и градиентные бордеры. Я отправил коллегу верстать таблицами, а сам предлагаю устроить мастер-классы, кто сможет предложить наиболее оптимальное решение данной задачи.
Под катом скриншот задачи и ссылки на .psd и мой вариант решения
Кеширование промежуточного кода (Opcode Caching)
Кэширование кода это один из самых легких и эффективных путей увеличения производительности в PHP. Использовании данного вида кэширования позволит избавиться от большого количества неэффективностей, возникающих при процессе запуска выполнения кода. Кэширование кода сохраняет промежуточный код в памяти для того чтобы не компилировать PHP-код каждый раз при запуске файла.
Одному из моих заказчиков как-то понадобился способ организации защищенной коммуникации между несколькими людьми. Для общения предполагалось использовать системы мгновенного обмена сообщениями (аську). Насколько я знаю — для телефонных переговоров ими были куплены некие насадки, которые шифровали голосовой сигнал. Вживую я их не лицезрел, а потому не могу сказать насколько они эффективны. А вот о шифровании электронных сообщений я хочу рассказать подробно. Благо ими я занялся.