Archive for Сентябрь, 2010

Ubuntu One: как добавить компьютер

// Сентябрь 28th, 2010 // 2 Comments » // Веб-разработка

У меня возникла проблема, компьютер не добавлялся в «облако» Ubuntu One в Ubuntu 10.04. Нигде не было кнопки «Добавить компьютер».

(далее…)

Share

Установка Sun (Oracle) JDK вместо OpenJDK на Ubuntu 10.04

// Сентябрь 28th, 2010 // 31 Comments » // PHP, Веб-разработка

На днях, по совету Ильи Алшанетского (кстати, одного из разработчиков PHP) решил поставить phpStorm. Скачал и поставил её довольно быстро, но вот незадача, при запуске она писала мне сообщение:

WARNING: You are launching IDE using OpenJDK Java Runtime.
This is strictly unsupported due to numerous OpenJDK perfomance and graphical problems with GUI apps. Please install Sun (Oracle) JDK 1.6+

Хотя IDE и запускалась, но работать с тормозами и множеством багов мне не улыбалось. Обратившись в службу поддержки JetBrains, я получил ответ, что надо указать пусть к другой (Sun) JDK в стартовом скрипте программы (webide.sh). Я честно скачал новую JDK с сайта Oracle, установил, однако куда она поставилась я не понял. Начав искать по ключу jdk я понял, что это будет ну оочень долго. В резульатте на одном из форумов я нашел совет — снести старую openJDK и поставить новую. Это помогло, однако не без граблей. Sun JDK напрочь отсутствует в репозиатриях, и устанавливать его надо так:

UPD: В конце статьи появился более быстрый вариант.

UPD: Для Ubuntu Server 10.10 есть свой быстрый вариант. См. в конце статьи.

(далее…)

Share

Экранирование строк в UPDATE запросах Doctrine

// Сентябрь 23rd, 2010 // 1 Comment » // Doctrine

С коллегой разбирали, почему не экранируются строки при UPDATE DQL-запросах.

$q = Doctrine_Core::getTable(‘SomeModel’)->getQueryObject()
->update(‘SomeModel model’)
->set(‘block_name’,$blockName)
->where(‘id=?’, (int)$id);

Так вот значение поля blockNamе не было обрамлено кавычками, в результате SQL-запрос не выполнялся.

А дело было вот в чем, правильный синтаксис set() для экранирования такой:

// If you just want to set the amount to a value
$q->set(‘block_name’, ‘?’, ‘some text’);

Удачи вам, и поменьше багов!

Share

CAS: сервер приложений на C++ для веб-приложений

// Сентябрь 13th, 2010 // No Comments » // Highload, Веб-разработка

Попытки создания удобных и одновременно высокопроизводительных веб-
инструментариев регулярно предпринимаются еще со времен использования первых CGI-
сценариев. К сожалению, из-за высокой сложности разработки подобных систем лишь не-
многие их них доводятся до состояния, пригодного для коммерческого использования.
Share

Асинхронное программирование в PHP (phpDaemon: пристегните ремни — взлетаем)

// Сентябрь 12th, 2010 // 1 Comment » // Highload, PHP, Веб-разработка

В этой статье я решил разместить выступление Василия Зорина на конференции Highload. В нём рассказывается об асинхронном программировании в PHP. Может после этой статьи многие передумают переходить на Node.JS и  попробуют накодить что-нибудь асинхронное на PHP.

(далее…)

Share

PHAR — упаковка PHP-приложений

// Сентябрь 10th, 2010 // No Comments » // PHP, Веб-разработка

В ближайшее время должна быть выпущена версия PHP V5.3. Cерия статей Что нового в PHP V5.3» посвящена новым замечательным функциям, появившимся в этой версии. В части 1 рассматриваются изменения в версии PHP V5.3, относящиеся к объектно-ориентированному программированию и управлению объектами, в части 2 — лямбда-функции и замыкания, а в части 3 мы говорили о пространстве имен, одной из самых долгожданных и обсуждаемых особенностей этой версии РНР. Здесь, в части 4, мы рассмотрим формат архивов Phar, который можно использовать внутри РНР. Он применяется не только для архивирования файлов, но и для распространения и исполнения целого приложения РНР, упакованного в один файл. Его можно использовать с РНР как расширение репозитория PECL, но в будущей версии V5.3 этот формат становится официальным расширением РНР.

(далее…)

Share

Установка phpDaemon + libevent на Ubuntu

// Сентябрь 10th, 2010 // 12 Comments » // Highload, PHP, Веб-разработка

Зачем нам это надо можно понять из предыдущей статьи, теперь о том как нам всё это установить:

(далее…)

Share

Про инкремент в UPDATE запросе Doctrine ORM

// Сентябрь 10th, 2010 // 2 Comments » // Doctrine, PHP, Веб-разработка

Сегодня обнаружил с коллегой особенность при создании DQL-запроса.

(далее…)

Share

True FastCGI для PHP — ускорение Symfony и Zend Framework

// Сентябрь 9th, 2010 // No Comments » // Highload, PHP, Zend Framework

Начиная с PHP 5.3, язык стал готов к работе в режиме True FastCGI. Я решил попробовать эту возможность на практике… Ну и вот что из этого вышло.

В статье описана попытка использования технологии, сложности, которые пришлось преодолевать и некоторые бенчмарки, демонстрирующие возможный эффект перехода на True FastCGI.

(далее…)

Share