Archive

Archive for the ‘программирование’ Category

one.web2.com.ua – ускорение закрузки

January 26th, 2011 No comments

На днях решил написать парочку целей для Ant’а, а на чём же пробовать и тестировать, как не на своих проектиках. В качестве полигона взял свой one.web2.com.ua и описал систему сборки для этого проекта. Теперь сайт должен грузится быстро и все изменения в стилях будут применяться автоматом. Что же я опритимизировал:

  1. Все стили CSS собираются в один файл и сжимаются yuicompressor.
  2. Все Javascript-файлы собираются в один и тем же жжымаются.
  3. Все библиотеки Javascript ( jQuery, jQuery UI ) просто собираются в один файл и будут перегружаться только, когда будут обновлены, а не при каждой сборке.
  4. Zend Framefork файлы собираются в один и только нужные классы. Как я это сделал, напишу попозже.
  5. Все классы моего фреймворка тоже, как и ZF, собираются в одном файле. Так как one.web2.com.ua состоит с одного контроллера, то он тоже склеен. Как вывод, подключаются только 2 файла PHP.
  6. Когда меняю что-то в стилях, это сразу применяется на сайте, потому что система применяет трюк с версиями ;)

Проверил и, по субъективному мнению, грузится просто реактивно! Осталось что-то сделать с CKEditor, но это в другой раз.

Короче!

December 20th, 2010 1 comment

По наводке Коли ReportBuilder`а, сделал чуть короче ссылки для моего one.web2.com.ua.

Теперь

http://one.web2.com.ua/20101220/6bdca38409/

а было ведь

http://one.web2.com.ua/index/get/20101220/6bdca38409/

Экономия в 8 символов )

отправка ссылок с one.web2.com.ua на мыло

December 17th, 2010 2 comments

Посидел часик-второй дома и сделал функцию отправки ссылки с one.web2.com.ua на мыло. Кажется, подружко Света посоветовала ( спсб  ;) ). Генерим ссылку и, когда она вам покажется, кликаем на иконку отправки:

А уже в этом диалоговом окне пишем ящик получателя и расслабляемся )

Вот теперь письмо уйдёт получателю…

Уведомления на one.web2.com.ua

December 14th, 2010 No comments

Новостей немного. Да и обновления я сделал давно, но никак не хватало времени всё проверить и выложить. Есть только 2 обновления и видимое только возможность получать уведомления на email. Суть такова, что как только ваш адресат прочитает сообщение, вам придёт письмо и можете начать строчить второе ;)

Второе изменение видимо только людям с браузером на базе webkit. Наконец-то нашёл и исправил ошибку в лоадере скриптов и эти они нормально загружают библиотеки.

Мне удобно, а вам?

Обновление на one.web2.com.ua

December 8th, 2010 No comments

Первый день жизни моего сервиса сообщений прошёл плодотворно – багов и интересных идей появилось куча. Спасибо всем, кто отписывал.

Некоторые вкусности выложил сегодня:

  • Появились модные нынче кнопочки социальных сервисов.
  • Когда выводится окно с ссылкой, она автоматически выделяется. Спасибо, Света!
  • Теперь можно защитить послание паролем и ещё больше убезопаситься от прочтения сообщения другими лицами. Для того, чтобы установить пароль, поставьте галочку “Защитить паролем” и в диалоговом окне укажите желаемый пароль.

А завтра уже новостей не будет – занят.

one.web2.com.ua

December 7th, 2010 No comments

one.web2.com.ua Надумал я как-то сделать быстро какой-то сервис и для себя и для людей. Чтобы и мне был нужен и чтобы сделать быстро. Основным критерием была скорость, хотелось того, что самому не хватает. И вот буквально за один вечер, после работы, за часа 2-3 сделал сервер сообщений. Конечно, причёсывал его ещё сегодня, парочку багов исправил, но сам факт наличия работающего костяка за один вечер на лицо.

Сервис не просто сообщений, а с возможностью прочитать послание только один раз. Написал текст, отправил другу, тот прочитал и всё – нет сообщения. Зачем? А секреты пересылать )

Как оно работает? Вы создаёте послание, с картинками с оформлением, с чем только сможет справится редактор, жмякаете кнопку и получаете линк. Дальше уже ваши заботы, как вы перешлёте эту ссылку адресату. Но как только получататель откроет ссылку, сообщение удалится и больше никогда никто его не прочитает. Чесно, даже упоминания не будет на сервере ;)

С точки зрения техники, то никаких баз данных, кэширования и т.д. Что мне понравилось в этом проекте, как разработчику, что весь код буквально на одном контроллере и работает ).

Буду рад предложениям и найденым багам. И новости точно будут ;)

ЗЫ. а ссылку то забыл )

Subrepos/Субрепозитории в Mercurial

September 4th, 2010 No comments

Бывает, что вы используете в ваших проектах несколько тулкитов, фреймворков и тд. И держать копии репозиториев фреймворков в репозитории некрасиво да и мониторить изменения сложно. Для решения этой проблемы в Mercurial есть механизм Subrepos. Read more…

Конвертация PDF в JPEG

July 26th, 2010 No comments

На новой работе поставили задание сделать проссмотрт PDF-версии газеты. Ну как-бутто читалку PDF. Ну мы то знаем, что никаким PDF в браузере и не должно пахнуть, а всё выводить будем в JPEG. Read more…

Подсказка: private-переменные в Javascript

February 24th, 2010 1 comment

Это перевод статьи Quick Tip: Private Variables in JavaScript.

Подсказка: private-переменные в Javascript

Из-за зависимости JavaScript от глобальных переменных, можно легко забыть, что создание часных переменных (private variables) может быть реализовано так же просто, как и замыкания. За несколько минут, я продемонстрирую две основные техники, предоставляющие часные переменные и медоды в ваших проектах. Read more…

Memcached

December 23rd, 2009 1 comment

Пишу, чтобы не забыть ибо иногда надо знать, что происходит с memcached’ом:

$mymemcache = new Memcache;
$mymemcache->addServer('localhost', 11211);
highlight_string(print_r($mymemcache->getExtendedStats(), true));

Массив ключами, которые означают:

  • pid – идентификатор процесса
  • uptime – время работы сервера
  • version – версия ПО
  • time – время в формате unixtimestamp
  • rusage_user – пользовательское время для процесса
  • rusage_system – системное время для процесса
  • curr_items – количество сохраненных объектов в памяти
  • total_items – сколько всего было сохранено объектов за время работы сервера
  • bytes – количество байт, которые занимают сохраненные объекты
  • curr_connections – количество открытых соединений
  • total_connections – сколько всего было открыто соединений
  • cmd_get – количество запросов на получение объектов из кеша
  • cmd_set – количество запросов на сохранение объекта в кеше
  • get_hits – количество запросов когда объект был успешно найден в кеше
  • get_misses – количество запросов к отсутствующим объектам
  • bytes_read – общее количество прочитанных байт из сети
  • bytes_written – общее количество отправленных байт
  • limit_maxbytes – ограничение памяти для хранения объектов

Мануал поссмотреть по Memcache::getStats

А так как использую APC то и целый скрипт для статистики