
В этой статье я покажу как создать некоторые эффекты на фотографиях (как на Instagram) с помощью PHP и ImageMagick.
Читать полностью »

В этой статье я покажу как создать некоторые эффекты на фотографиях (как на Instagram) с помощью PHP и ImageMagick.
Читать полностью »
Как я некоторое время назад выяснил на собственном опыте, ещё остались провайдеры, для получения безлимитного тарифа от которых требуется выдерживать определённое соотношение входящего и исходящего трафиков.
В моём случае, при размещении сервера на colocation в одном московском датацентре, исходящего должно было быть не менее чем в 4 раза больше чем входящего (уж извините за такой оборот). Соотношение рассчитывается как за сутки, так и общее за месяц. Нарушение любого из них — штраф.
Само по себе соотношение не выдерживалось из-за переодических объёмных заливок бэкапов на сервер. Вручную (гиг заслал, 4 гига скачал) — надоело.
DevConf — профессиональная конференция, посвященная ведущим технологиям программирования и веб-разработки.
Участникам DevConf предоставляется уникальная возможность — получить доступ сразу ко всем лидирующим технологиям веб-разработки, послушав доклады от основателей этих технологий, приехавших в Москву со всего мира.
В рамках DevConf 2012 — 9 июня 2012 пройдут 5 конференций:
DevConf::PHP()
DevConf::Perl()
DevConf::Python()
DevConf::Ruby()
DevConf::JS()
9 июня 2012 года в рамках DevConf пройдет группа уникальных мастер-классов.
Читать полностью »
Начиная с версии 5.3 появилась возможность обращаться к статическим данным классов используя переменную. Благодаря этому мы практически забыли об ошибке «syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM», которая возникала при попытке использования оператора "::" как-то «не так».
Но, как мне кажется, об открывшихся возможностях знают не все.
Читать полностью »
После переезда с Ubuntu на Arch появилась необходимость настроить данную связку, однако, в отличие от Ubuntu, под Arch подобного мануала всё-в-одном не нашлось. Собрав идеи с разных руководств, включая те, что были написаны под Ubuntu, и решил написать на хабр такой цельный гайд.
Сразу хочу сказать, что это базовая установка, без виртуальных хостов в количестве n-штук, просто настройка для локальной разработки.
XAMPP мне не подошёл просто по идейным соображениям.
Предполагается, что yaourt у вас уже установлен и вы хотя бы немного умеете им пользоваться, а также настроено выполнение root-команд от своего пользователя (ставим пакет sudo, потом раскомментируем строчку "%wheel ALL=(ALL) ALL" в файле /etc/sudoers и релогинимся; при выполнении команд с sudo пароль вводим от своего пользователя, а не от root'a).
Также перед непосредственно установкой, убедитесь, что у вас подключены extra- и community-репозитории.
Для этого:
sudo nano /etc/pacman.conf
И проверяем, чтобы секции этих репозиториев выглядели аналогично.
[extra]
#SigLevel = PackageOptional
Include = /etc/pacman.d/mirrorlist
[community]
#SigLevel = PackageOptional
Include = /etc/pacman.d/mirrorlist
И синхронизируем списки пакетов.
sudo pacman -Sy
После переезда с Ubuntu на Arch появилась необходимость настроить данную связку, однако, в отличие от Ubuntu, под Arch подобного мануала всё-в-одном не нашлось. Собрав идеи с разных руководств, включая те, что были написаны под Ubuntu, и решил написать на хабр такой цельный гайд.
Сразу хочу сказать, что это базовая установка, без виртуальных хостов в количестве n-штук, просто настройка для локальной разработки.
XAMPP мне не подошёл просто по идейным соображениям.
Предполагается, что yaourt у вас уже установлен и вы хотя бы немного умеете им пользоваться, а также настроено выполнение root-команд от своего пользователя (ставим пакет sudo, потом раскомментируем строчку "%wheel ALL=(ALL) ALL" в файле /etc/sudoers и релогинимся; при выполнении команд с sudo пароль вводим от своего пользователя, а не от root'a).
Также перед непосредственно установкой, убедитесь, что у вас подключены extra- и community-репозитории.
Для этого:
sudo nano /etc/pacman.conf
И проверяем, чтобы секции этих репозиториев выглядели аналогично.
[extra]
#SigLevel = PackageOptional
Include = /etc/pacman.d/mirrorlist
[community]
#SigLevel = PackageOptional
Include = /etc/pacman.d/mirrorlist
И синхронизируем списки пакетов.
sudo pacman -Sy
Несколько ранее я уже писал о появлении нового PHP-движка для автоматической генерации документации Docblox (тут и тут). Сегодня я с удивлением обнаружил, что теперь все нововведения из Docblox перекочевывают в PHPDocumentor. Предыдущая ветка PHPDocumentor 1.х теперь считается устаревшей, а основные нововведения будут появляться в ветке 2.х. Также обновлен официальный сайт phpDocumentor.Читать полностью »
Yii позволяет кешировать данные в виде массива возвращаемые прямиком из базы данных.
А у системы кеширования есть разные зависимости. Вот только ни одна из этих зависимостей не позволяет автоматически отслеживать изменения в таблице без обращения к ней же (имею ввиду CDbCacheDependency), что в нагруженных системах бессмысленно.
Для подобных вещей придумали так называемое тегирование. Т.е. создается какой-то тег, который сохраняется со всеми кешами связанными с данной таблицей. И как только он меняется, все связанные кеши должны перезагрузиться. Как оказалось в Yii это делается очень просто.
Конференция WebProfessionals пройдет совсем скоро — 3 апреля в городе Самара. Сегодня мы рады сообщить о том, что на сайте мероприятия опубликована полная программа со всеми докладами. Вы можете найти расписание по следующей ссылке.
Посетители WebProfessionals ждут доклады на следующие темы:
Вход на конференцию бесплатный! Спешите зарегистрироваться.
Читать полностью »
У нас в компании используется много web-based приложений таких как jira и xwiki. Все они находятся в DMZ и регулярно обновляются для обеспечения должного уровня безопасности. Но на одной из конференций Cisco нашему начальству расказали о способе получения супер защищенной DMZ путем применения технологии Cut-through Proxy в устройствах Cisco ASA. После этого нам пришла команда от начальства включить данную функцию с поддержкой SSL и аутентификацией через LDAP. Читать полностью »