вторник, 4 октября 2011 г.

Интеграция Zend_Tool в NetBeans

Zend_Tool - замечательный инструмент в составе Zend Framework. В интернетах пишут, что он еще не такой совершенный, как подобные утилиты у конкурирующих фреймворков, но я думаю, что лучше что-то, чем ничего. Утилита представляет собой файл zf.sh в Linux или zf.bat в Windows. Для ее работы надо, чтобы путь к интерпретатору PHP был указан в системной переменной PATH. Для удобства я там же указываю и путь к самой утилите: тогда ее можно вызывать из любого места.

Интерфейс командной строки вещь хорошая - как говорится, feel power at the fingertips. Но не менее удобно иметь такой же функционал в любимой IDE'шке. Кстати говоря, он реализован в Zend Studio - прожорливой и не очень бесплатной, хотя и мощной среде разработки. А для любителей NetBeans разработчики предлагают возможность интегрировать утилиту командной строки в IDE. Когда я ее попробовал активировать, все оказалось неочевидно, хотя и довольно просто, надо было  какое-то время погуглить и поэкспериментировать.

Итак, что нужно, чтобы все работало (под Windows 7 в моем случае):

суббота, 9 апреля 2011 г.

Подсветка кода в блоге на blogger.com

Существует много вариантов подсветки кода в записях блога - Гугл перечислит все. Я попробовал две библиотеки и остановился на третьей: google-code-prettify. Как говорится, дёшево и сердито. Хотя, скорее, разумная достаточность.

How-To лежит здесь: Adding Google's Code Prettify in Blogger.
Страница проекта на Google Code: google-code-prettify.

среда, 23 марта 2011 г.

Прямые SQL-запросы в Magento

Столкнувшись с необходимостью использовать прямое обращение к базе данных в Magento, нашел полезную статью и перевел ее в первую очередь для себя (чтобы лучше усволась). Первоисточник находится здесь.

Использование в Magento моделей данных (data models) предоставляет великолепную возможность для получения и редактирования данных. Используя метко именованные методы и искусные абстракции, Varien полностью скрывает совокупность SQL-запросов, необходимых для выполнения операций с данными. Но облегчая изучение моделей, это часто влияет на скорость операций, а следовательно и на отзывчивость вашего сайта. Это в особенности справедливо при сохранении моделей, использующих архитектуру EAV. Чаще всего этого нельзя избежать, однако бывают ситуации, когда прямое выполнение SQL-запросов было бы проще и гораздо быстрее. Примером этого является глобальное обновление цен продуктов в Magento. Было бы довольно просто написать немного кода, который обойдет все продукты и изменит цену. В больших наборах данных сохранение каждого отдельного продукта может занять много времени и соответственно сделать систему недоступной. Для борьбы с этим можно использовать прямой SQL-запрос, который сможет обновить 1000 продуктов за 1-2 секунды.

Для более подробной информации о массовом обновлении цен, смотрите следующую статью:
Magento: Update Product Prices Globally.

пятница, 4 февраля 2011 г.

Шрифты в NetBeans под Kubuntu

Так выглядит мой NetBeans после описанных ниже манипуляций.

Изначально в NetBeans отображение и сглаживание шрифтов отвратительное. После долгих єкспериментов и листания интернетов остановился на следующем:

1. В netbeans.conf добавляю в конец строки netbeans_default_options:
-J-Dswing.aatext=true
-J-Dawt.useSystemAAFontSettings=on
--laf com.sun.java.swing.plaf.gtk.GTKLookAndFeel
Дополнительная информация по -J-Dawt.useSystemAAFontSettings.

2. В KDE настраиваю внешний вид приложений GTK+: стиль QtCurve и шрифты использовать из KDE.

3. В настройках шрифтов включаю легкое межточечное сглаживание.

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

среда, 19 января 2011 г.

Наблюдения по Doctrine 1.2

Несколько наблюдений, сделанных при интеграции Doctrine 1.2 и Zend Framework 1.11.

1. В документации не встречается информации о зарезервированных словах. На практике столкнулись с тем, что такие слова есть. Пока выяснили, что это: attribute, date, table. Глюки начинаются, даже если эти слова являются частью составного слова. На всякий случай переименовали таблицы, модели и поля, со словом attribute.

2. Тестовый вывод формируемого SQL-запроса нужно делать до выполнения запроса, иначе сыпется куча нотисов.
Core_Log::info($q->getSqlQuery());
$all =$q->execute()->toArray();