Конвертация видео для HTML5 в ffmpeg
С расцветом HTML5 использование flash видеопроигрывателей считается моветоном. HTML5 video куда более приятней и удобней. Но у каждого браузера свои интересы и стандарты, из этого вытекает проблема с форматами видео. Но пользователь этого знать не должен. Под катом инструкция о том как подготовить видео файл для просмотра в HTML5 плеере.
читать далее >>
Опубликовано в HTML5
Markdown разметка
Сейчас существует очень много "облегченных" языков разметки: BBCode, Wiki, Textile. Но самым "облегченным", на мой взгляд, языком является Markdown. За последнее время он стал очень популярным в связи с использованием на таких гигантах как GitHub и Stackoverflow.
читать далее >>
Опубликовано в PHP
DataFixures: миграции для тестовых данных
Всегда, перед тем как запустить приложение в свет, разработчики / тестировщики / заказчики работают с какими-то тестовыми данными (пользователи, заказы и т.д.). Перед запуском на каком-то сервере (test, demo ...) им нужно собрать SQL с общей структурой базы, включить в этот SQL необходимые данные, выполнить всё это на сервере. Мне нравится как к этому делу подошли Symfony 2 и Doctrine 2.
читать далее >>
Тестирование web-приложений с использованием Selenium и PHPUnit
Кратко, Selenium - это инструмент для тестирования web-приложений. Он позволяет тестировать сайт “от лица пользователя” на уровне операций браузера, таких как клики, ожидание загрузки, поиск элементов на странице. Selenium устанавливается как http-сервер, написанный на java, который умеет управлять браузером и делать в нем различные действия.
читать далее >>
Опубликовано в PHP
Производительность ORDER BY RAND() LIMIT
Для получения нескольких случайных записей из таблицы я всегда использовал всем известную конструкцию ORDER BY RAND() LIMIT. На днях я столкнулся с проблемой в производительности этого запроса. Таблица содержала более миллиона строк. И мне нужно было срочно найти решение. Под катом альтернативный вариант выбора нескольких случайных строк.
читать далее >>
Опубликовано в MySQL
Лицензия PhpStorm для open source проекта
Я пользуюсь PhpStorm и люблю этот продукт. Но всё время пользовался взломанной версией. На их сайте можно получить лицензию для open source проекта, но для этого нужно иметь страницу проекта. В этой статье я расскажу как получить такую лицензию на 1 год имея лишь активный репозиторий на GitHub и Demo страницу.
читать далее >>
Опубликовано в PHP
FULL OUTER JOIN
На практике я столкнулся с ситуацией, когда нужно было выбрать данные из двух связанных сущностей при помощи полного соединения. К сожалению, MySQL пока не поддерживает FULL OUTER JOIN. Ниже приведен пример эмуляции этого вида JOIN.
читать далее >>
Опубликовано в MySQL
Полезные запросы в MySQL
В этой статье собраны некоторые, на мой взгляд, интересные и полезные запросы в MySQL. Список будет пополняться в будущем.
читать далее >>
Опубликовано в MySQL
Введение в Zend Framework 2
На подходе уже 2-я версия Zend Framework. Некоторые уже спешат переписывать и рефакторить свои сайты, используя пространства имен, менеджеры событий. Под катом хорошая презентация доклада Валерия Рабиевского с "Zend framework day".
читать далее >>
Планировщик событий в MySQL
Начиная с версии 5.1 в MySQL появился планировщик событий, позволяющий выполнять различные действия в определенное время. Из этого следует то, что часть функционала можно перенести из Cron на сам MySQL.
читать далее >>
Опубликовано в MySQL
Nginx для статики, Apache для динамики
Как известно, Nginx славится тем, что хорошо справляется с отдачей статических файлов (css, js, изображения). Делается это за счет какого-то хитрого кэширования. Но с обработкой динамического содержания лучше работает Apache. Имеем: сайт на PHP, Apache. Нужно настроить сервер так, чтобы Nginx отдавал статику, а остальным занимался Apache.
читать далее >>
Опубликовано в Nginx
Cubique - datagrid для Zend Framework и jQuery
Все началось с того, что я разрабатывал один проект с использованием Zend Framework и jQuery. В панели администратора нужно было выводить данные из различных таблиц MySQL. Хотелось сделать это красиво, удобно, гибко, с AJAX и т.д. Поиск в Google выдал огромное количество библиотек для отображения табличных данных. Но, к сожалению, везде была кривая серверная сторона и не было подходящих решений для Zend Framework. Под катом Cubique — инструмент для отображения данных для Zend Framework с функциями сортировки, поиска, сделанный на jQuery, основанный на AJAX.
читать далее >>
Apache Bench - простая утилита для тестирования нагрузки
Apache Bench (ab) - простой инстурмент для тестирования нагрузки веб-сервера. Данная утилита входит в стандартную сборку Apache и даже имеется почти во всех готовых сборках, таких как Denwer, WAMP, XAMPP. Очень проста в использовании и гибко настраиваемая.
читать далее >>
Опубликовано в Apache
Drag & Drop
Возможность Drag & Drop в браузерах была уже давно реализована средствами Javascript. Сейчас же можно сделать Drag & Drop без сторонних библиотек (jQuery UI), а при помощи нативных возможностей браузера. Под катом я расскажу как это делается.
читать далее >>
Опубликовано в HTML5
Командная строка в PhpStorm
PhpStorm — IDE от хорошо зарекомендовавшей себя компании по производству ПО для разработчиков. Цель любой IDE — создать комфортные условия для быстрой и качественной разработки. И в создании этих условий вам может помочь Command Line Tool, позволяющий делать быстро шаблонные действия. К сожалению, сейчас доступны команды только для Zend Framework и Symfony. В этой статье я помогу вам настроить командную строку на свой лад (Custom Framework).
читать далее >>
Опубликовано в PHP
Защита от CSRF в Zend Framework
CSRF (Сross Site Request Forgery) — вид web-атак, использующий недостатки протокола HTTP. Если жертва заходит на сайт, созданный злоумышленником, от её лица тайно отправляется запрос на другой сервер (например, на сервер платёжной системы), осуществляющий некую вредоносную операцию (например, перевод денег на счёт злоумышленника). Для осуществления данной атаки, жертва должна быть авторизована на том сервере, на который отправляется запрос, и этот запрос не должен требовать какого-либо подтверждения со стороны пользователя, который не может быть проигнорирован или подделан атакующим скриптом.
читать далее >>
Web-сервис на Zend_Soap
Web-сервис — компонент, предоставляющий Internet-клиентам набор функций API или web-методов. Основная задача web-сервисов — обеспечение межпрограммного взаимодействия. В отличие от традиционного web-приложения, у web-сервиса нет пользовательского интерфейса (GUI). Вместо этого у него есть программный интерфейс, то есть web-сервис предоставляет функции (web-методы), которые могут быть вызваны удаленно. Web-сервис не предназначен для обслуживания конечных пользователей. Его задача — предоставление услуг другим приложениям, будь то web-приложения, приложения с графическим пользовательским интерфейсом или консольные приложения.
читать далее >>
Опубликовано в PHP
HTML5 Local Storage
Local storage (локальное хранилище) — база данных на стороне клиента, содержащая пары ключ-значение. Надеюсь, что в ближайшем будущем эта технология станет стандартом в веб-разработке.
читать далее >>
Опубликовано в HTML5