К основному контенту

Сообщения

Новая работа в июне 2010

Сегодня вышел на новую работу Проработал всего неделю, разбирая не удобочитаемый код дилетантов и исправляя ошибки. Через неделю работодатель посчитал накладным оплачивать мой труд. Все что я сделал: поправил VPS сервер ткнул на ошибки, добавил расширение кэширования PHP  скриптов, удалил антивирус, научил разворачивать WEB сервер на VPS, научил тестировать вэб сервера. и затем читал ужасно не удобочитаемый код, HTML PHP и JavaScript все в одном файле. Успел исправить примерно 3-5 ошибки, ошибки грубые и относятся к синтаксическим, прочитал примерно 10-20 файлов кода. В итоге мне сказали, что я ничего не сделал. Действительно, ведь я не успел написать ни одной строчки кода.

Работа с базой данных через SSH

Работать с базой данных можно с помощью приложения поддерживающего защищенный протокол SSH, например SQL Manager for MySQL.

Удаление каталога с рекурсией

Маленькое вступление Известный фреймворк CodeIgniter не удаляет всю ветку каталога при указании относительного пути. функция не удалила корневой каталог со следующими параметрами: (“../tnp/dir”,TRUE), В результате рекурсии все так и оставался один корневой каталог dir. Так как встроенный хелпер жизненно необходим фреймворку, не стал его изменять. Сделал простую функцию: function rmdir_recursive($dir) { $files = scandir($dir); array_shift($files); // remove ‘.’ from array array_shift($files); // remove ‘..’ from array foreach ($files as $file) { $file = $dir . ‘/’ . $file; if (is_dir($file)) { rmdir_recursive($file); if (is_dir($file)) rmdir($file); } else { unlink($file); } } rmdir($dir); } PS. меня разочаровал код хелпера работы с файлами, изобилует символами @ которые в некоторых случаях негативно влияют на скорость работы скрипта.

.htaccess Ниндзя - Часть 2

Продолжая тему редиректа… Вложеный редирект 1:   RewriteEngine on 2:   RewriteCond $1 !^(index\.php|images|robots\.txt) 3:   RewriteRule ^(.*)$ /index.php/$1 [L] пояснения: руль в третьей строке выбирает всю строку ревнивой выборкой, оператором память вставляет вместо $1, [L] – это флаг который не относится к выражением, говорит о том, что при положительных результатах следующие правила не обрабатываются. Эксит вон.

Оптимизация CodeIgniter

   Оптимизация и без того быстрого CodeIgniter выглядит примерно так как на картинке. Это 1000 запросов за две с половиной секунды (кэширование и eAccelerator)

Какой PHP фреймворк выбрать, опыт программистов

Кто писал на symfony и пригляделись к CodeIgniter v1 и Zend Framework, выбирают Zend Framework для сложных проектов и CodeIgniter для простых проектов с небольшой посещаемостью и структурой. CodeIgniter 2 Кохана и Yii пока не актуальны и постоянно изменяются и улучшаются. Лично я пишу на CodeIgniter, но должен признаться изрядно изменил его структуру, только по этому не меняю его на другой. Если бы я заранее знал, что в Zend Framework архитектура более продуманна для запутанных задач и проектов, я бы выбрал Zend Framework. Точнее сказать блок схема Zend Framework раз в 5 больше чем в CI и выглядит более запутанно. Сгенерированную блок-схему я потерял, осталась только от CI. Интересный график в сравнении Kohana,  Cake, Cacke+eAccelerator, CodeIgniter, CodeIgniter + eAccelerator. ссылка на пост автора графика даю в конце статьи.

Ссылки что и для кого

Статью допишу позже. ссылки для поисковиков – оптимизированы так, что при модификации сайта все ссылки остаются целыми и релевантными запросам поисковиков. Количество измененных страниц единицы измененной информации стремится к единице, или к минимуму. ссылки для клиента (ЧПУ) ссылки для сервера