UnixЗаметки по установке FreeBSD 7.2 на десктоп

FreeBSDКороткий відступ. Ця стаття буде російською, так як початково вона писалася не для блогу, а перекладати на українську не бачу сенсу. Поїхали ;).
(ще…)

ПрограмуванняПоговоримо про Zend_Navigation

Вихід ZF 1.8 порадував нас низкою нових, корисних компонентів. У цій статті я хочу розповісти про практику використання Zend_Navigation для побудови простого меню сайту, карти сайту і хлібних крихт. Особливо хочеться звернути увагу на використання Zend_Navigation в парі з Zend_Acl.
(ще…)

ПрограмуванняАнтиплагіат модуль

Антиплагіат модульДесь з місяць назад в мене замовили скрипт антиплагіат модуля. Спочатку я зробив його по алгоритму схожому на текстброкерівський. Але через кілька днів замовник знайшов програму Advego Plagiatus і захотів такий алгоритм як там…
(ще…)

ПрограмуванняZend Framework і фільтр для задання файлові унікального імені

Renames file assigning it a unique nameВ процесі роботи над створенням FOSS двигунця для портфоліо (на основі Zend Framework) в мене виникла потреба задавати завантажуванним на сервер файлам унікальні імена. Для цього я створив фільтр на зразок Zend_Filter_File_Rename, який генерує унікальне ім’я файлу і перейменовує початковий файл.

Код фільтру і приклад його використання ви знайдете одразу під катом.
(ще…)

РізнеWinXP, regedit and “Open with…”

Ключ на 36Теорія

Ця стаття про те як у Windows XP можна змінити програму, що за замовчуванням відкриває той чи інший тип файлів. З інструментів знадобиться regedit і F3.

Практика

Минулого тижня NetBeans 6.5 повідключав половину модулів після закачки апдейтів. Я довго з тим не грався, просто скачав з сайту 6.5.1 для php, деінсталював 6.5, видалив з “Documents and Settings” папки налаштувань “.nbi”, “.netbeans”, “.netbeans-registration” (інакше реінстал не допомагав) і встановив 6.5.1.

Після цього файли з розширенням .php перестали за замовчуванням відркриватися в NetBeans. Попереднього разу асоціацію я задавав вручну через “Open with…”. Тепер же NetBeans просто не з’являвся в списку аплікух. Тобто я тикав WinXP носом в його netbeans.exe, тиснув ОК і спостерігав як нічого не відбувалося :).

(ще…)

Програмування6-ть способів отримати розширення файлу в PHP

$filename = 'mypic.gif';
 
// 1. The "explode/end" approach
$ext = end(explode('.', $filename));
 
// 2. The "strrchr" approach
$ext = substr(strrchr($filename, '.'), 1);
 
// 3. The "strrpos" approach
$ext = substr($filename, strrpos($filename, '.') + 1);
 
// 4. The "preg_replace" approach
$ext = preg_replace('/^.*\.([^.]+)$/D', '$1', $filename);
 
// 5. The "never use this" approach
//   From: http://php.about.com/od/finishedphp1/qt/file_ext_PHP.htm
$exts = split("[/\\.]", $filename);
$n = count($exts)-1;
$ext = $exts[$n];

Ці 5-ть способів я чисто випадково побачив тут. І 6-й спосіб від мене:

$pathInfo = pathinfo($filename);
$ext = $pathInfo['extension'];

Ну, хто більше :)?

UPD. Можна сказати 6.2 від KAndy і VadimVoituk:

$ext = pathinfo($filename, PATHINFO_EXTENSION);

Самий класний спосіб :)!

ПрограмуванняRotate transparent image в PHP

Жодна тварина в результаті роботи скрипта не постраждала :)От не спиться мені і баста :).
На форумі zf побачив запитання “Як засобами php повернути png з прозорістю так, щоб після повороту прозорість зберігалася?”. Через деякий час знайшов два вирішення цієї задачки.
(ще…)

ПрограмуванняЯк запускати дебаг з браузера? FireFox + NetBeans + xDebug

Що мені дуже подобалося в Zend Studio так це Zend Toolbar. Він давав мені змогу “сухо і комфортно” відлагоджувати скрипт, при цьому передаючи йому необхідні набори вхідних даних. І от якось знадобилася мені щось схоже в NetBeans - а нема :(.

На оф. сайті xDebug я знайшов згадку про плагін для Firefox xDebug helper. В коментарях до плагіну писали, що його можна використовувати для Eclipse та Notepad++. Значить з NetBeans теж повинен працювати. Витративши ще трохи часу я знайшов статтю “Debugging tip: Xdebug Helper in Firefox w/ NetBeans“, в якій все детально розписано.

Якщо коротко, то:
1. Ставимо плагін xDebug helper.
2. Перезапускаємо браузер і заходимо в налаштування плагіну. В полі idekey вказуємо ‘netbeans-xdebug’.
3. В статусбарі браузера з’являється іконка хелпера “Start/stop xDebug session”. По дефолту вона неактивна. Якщо її включити і перезавантажити сторінку, то в NetBeans почнеться дебаг. Єдине що перед цим потрібно стартанути дебаг в самому NetBeans.

Це все :). Юзайте на здоров’я!

UPD. Я бачу люди заходять сюди по запиту “netbeans xdebug“. В такому разі раджу прочитати розділ “Установка и включение отладчика XDebug” з статті “Настройка среды разработки PHP в Windows“.

UPD2. Сьогодні 25 лютого 2010 року і я натрапив на свою ж статтю написану більше року назад :).

Значить, щоб це все працювало в php.ini мають бути прописані наступні налаштування для xdebug:

xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler=dbgp

ПрограмуванняПривіт NetBeans! Good buy Zend Studio!

netbeans Вже біля трьох тижнів я використовую NetBeans 6.5 в якості IDE для php. Спочатку мені було просто цікаво, а сьогодні я вирішив перейти на нього повністю і вилучив ZS з системи.

Чому так? На те є кілька причин:
- NetBeans безкоштовний! В той час як ліцензія Zend Studio for Eclipse коштує 399$ на рік. А я останнім часом намагаюсь не використовувати неліцензійне ПЗ.
- NetBeans швидший. На свому Dell Latitude D600 (не дуже потужний ноут на сьогоднішній день) я дуже сильно відчуваю цю різницю у швидкодії.
- NetBeans зручніший. Налаштувати можна все, що завгодно. Від деяких фіч я просто в захваті!

- NetBeans функціональніший. Причому функціональність ця розширюється за рахунок чисельної кількості плагінів, які за бажанням дуже просто інсталювати (на відміну від Eclipse).

(ще…)

ПрограмуванняЮніт тести в php за допомогою phpUnit (частина друга)

Це продовження статті “Юніт тести в php за допомогою phpUnit (частина перша)“. В першій частині мені подякували за переклад частини мануалу :). Та будь-ласка. Хоча я не вважаю це просто перекладом. Це конспект в якому є як приклади наведені в мануалі, так і мої власні напрацювання. А про TDD як я вже казав можна почитати на agiledev, або на wikipedia, або в спеціалізованій літературі. Я ще не настільки компетентний, щоб писати власні статті про TDD.

“Я не волшебник. Я только учусь.”

Евгений Львович Шварц

setUp() & tearDown()

Ці методи викликаються відповідно перед початком і після виконання кожного тестового методу. Їх використовують для встановлення тестового класу в певний стан. Розглянемо наступний приклад з офіційного мануалу:
(ще…)

Вперед »