Author Archives: Sergej Kurakin

Zend FRAMEWORK, впечатления от примеров в сети

Ох, полилось… Может у меня узковат кругозор, но пока не сильно я что либо слышу хорошее о Zend FRAMEWORK…

php | architect выложил пример того, как можно строить маленький скрипт новостей с Zend FRAMEWORK. Как то не впечатлило… По крайней мере то, как они разделили контроллеры, мне не нравиться, мне более приемлимо, как сделано в scaffold у Ruby on Rails, где, по идее, перенеся модель, контроллер, вид и тесты со структурой базы из одного проекта в другой, мы быстро получим получим нужную функционалию в новом проекте. А если всмотреться в этакой пример и прочесть Because the database components of the Zend Framework are still relatively unstable, I use a class for storing and retrieving news entries and comments становиться страшновато – а модель то где? Зачем нам пред-просмотр версии 0.1.1 без самой модели? А может рано вообще примеры писать? Вот так они явно испортят всё дело неправильно представляя возможности этого продукта.

Эх, пропустил… много пропустил… Andi Gutmans вот пишет об обновлении 4 марта. Надо следить за этим делом.

А вот и первый пример того, как оно работает с новостными фидами. Вроде не сложно совсем, вот только по моему они наступили с Zend_Feed на грабельки с кодировками, хотя я могу ошибаться… Посмотрим в будущем, когда выйдет версия 1.0.

А вообще, они сделали маленький плюс, который им возможно даст шанс выехать очень красиво. Это Zend_Service и готовые сервис-скрипты с примерами к Amazon, Flickr и Yahoo! Пусть у них нету пока всего того, что дал нам Ruby on Rails, а это быстрый scaffolding, это WEB-сервер с нами и сразу, это тесты для моделей (не мало важно при разработки, что поставив тока Ruby, Gem, Rails и MySQL я уже готов к разработки проекта), но он явно полезет вверх на сервисах. Такие вещи сейчас популярны, к одному WordPress их сколько сделано.

А на последок замечу что на основе (DB из Ада) ADOdb был тоже имплеменнтирован паттерн Active Record. Но ADOdb я не люблю, как и Smarty…

Надо срочно самому просесть к этому дело… кровь с носу надо!

А тучи не люди, PHP не чудо, да и аффтары жгут

Не знаю как вам, но сгущаются тучи вокруг PHP… Может я подсознательно ищу минусы во всё этом (все говорят, я пессимист по натуре), но ситуация довольно не весёлая…

Alex Young пишет о депрессивности будущего PHP… Как я обещал, начинаются сравнения Zend FRAMEWORK с Ruby on Rails. Пока не в сторону PHP. Да и не только Alex Young, по LiveJournal прокатилось не мало отзывов не в сторону Zend… Неужели они проиграли первый бой? А может и войну (причём всю, включая PHP6, учитывая отзывы один, два для начала)?

В стане PHP сегодня день дебилизма… На Литовском форуме был вопрос: Я скачал php-fusion (бля, что это такое? моя заметка, я этим ещё не пользовался), в README написано что надо закачать PHP файлы на сервер. Что мне делать? Флейма небыло, оставили его на едине с собой…

Больше всех сегодня “отожгли” аффтары из сообщества new_ru_php. Я понимаю, что хочется быть “новыми русскими пхпистами”, но они наступают на теже грабли, что наступили в своё время “старые русские пхписты” из PHPClub и ru_php. Я же более склонен к сообществу ru_php_guru, так как за свои 5 лет работы давно понял закон поиска ответов на вопросы в том случае если их нет в официальном мануале (не смотря на то, что ною о том, что их нету для некоторых языков). Даже, если признаться честно, в первые месяцы работы, я только и делал, что учился искать. Наверно по этому я редко хожу в форумы с вопросами, и редко на что либо отвечаю.

А вот с моими тестами придётся подождать… Вчера любимая жена отожгла не на шутку, да и сегодня расслабились в офисе, да и дома с женой по полной. Ждите, может доберусь до Zend FRAMEWORK (и статьи), а как только доберусь, сразу напишу впечатления.

Zend FRAMEWORK – 0.1.1 пред-просмотр

Ох, батеньки, на выходных такой новость пропустил… Наш любимый Zend выпустил свой framework. Назвали его в стиле Лебедева, как лебедев свой птичий язык назвал “Парсер”, так и Zend назвал свой framework: Zend FRAMEWORK может не так амбициозно, но это не “Шпалы”, и не “Шпангоуты”, вобщем, с названием никто не возился (чисто моё мнение). Да, да и сайт под него свояли. Именно там вы можете скачать версию для пред-просмотра. Почитать маленький FAQ o Zend FRAMEWORK или погрузиться в manual по Zend FRAMEWORK.

Сразу напрашивается в мозгу хинт: Zend FRAMEWORK – наш ответ Ruby on Rails. Хотя кто там знает, какой ответ, вечером или ночью сегодня придётся дома ставить PHP5 (одновременно написать “PHP 5 – установка и конфигурация под наши нужды в режиме mod_php для Apache“), качать, и смотреть всё это дело. Ажиотаж будет вокруг этого дела огромный, и шумиха будет не малая. И критики в их адрес пойдёт не мало. И сравнений с Ruby on Rails будет тоже много. Но, первое впечатление после просмотра нескольких страниц мануала, становиться страшно – везде заново всё конфигурируется, хотя радует что примеров много.

Очень интересно, когда же выйдет Zend FRAMEWORK 1.0 и в какой версии с какими возможностями будет Ruby on Rails.

Да, я слежу и до сих пор занимаюсь разработкой проектов на PHP 4. Да, я думаю и выбираю сейчас между Ruby & Rails и PHP (а что делать, но скорость пока себя окупает, но знание языка тоже важно). И вообще, хочется перейти или на Ruby on Rails (очень хочется, прямо чешеться, полностью перейти) или хотябы на PHP 5 с каким-либо framework. Свой вот прямо сейчас написать не удасца, а нормально поддерживаемый и не из третьих рук – это было бы хорошо (надо бы посмотрять на код у Zend FRAMEWORK).

Что нового будет в Rails 1.1 и немного секретов Prototype.js

Наткнулся (да, я не знал об этом блоге раньше) на классный блог, который ведёт Scott Raymond. Советую вам прочесть What (will be) new in Rails 1.1 если вы интересуетесь Ruby on Rails, a также Developer Notes for prototype.js для тех кто использует модный AJAX на prototype библиотеке.

Мне же, поработав с Ruby on Rails над первым проектом, складывается впечатление, что на Ruby on Rails быстро собирается только первые беты, по которым потом надо ходить и долго отлаживать всё до нормального состояния. По крайней мере этим сейчас занят я. Хотя, возможно всё так потому что проект пишется от части спонтанно, и функциональная возможность, придуманная утром, к обеду уже находится в бета версии и к ней уже придумывают изменения.

Да, вчера познакомился поверхностно с ActionMailer и отослал первое письмо при помощи этой модели. Мне опять же понравилось. Казалось бы пока всё в этом framework предусмотрено для достаточно быстрой разработки – ходить и выбирать, с чем бы мне тут письмецо отправить, не надо – всё с собой, всё приготовлено и настраивается быстро под нужды и возможности. Нужно подробнее ознакомиться с возможностями ActionMailer – мне нужны письма с прикреплёнными файлами через Content-ID и письма с multipart/alternative частями.

PHP MVC framework – делаем сами, Продажи Mozilla Foundation, Цензура, Дыра в MySQL

Все сейчас пишут об MVC. На PHP MVC frameworkи растут как прыщи у юнцов на носу. Вот и НаЛампе тоже опубликована статья о том, как спланировать свой MVC framework на PHP 5. Давно она там… Может кому полезно будет.

А мне понравилось: А нефик продавать продукты Mozilla Foundation, если они бесплатны. А как узнать представителя Mozilla Foundation? Заставить его представиться через электронную почту письмом прямо на глазах у запрашивающих. Похоже скоро можно будет вводить новый способ идентификации… Читайте на securitylab.ru, об этом ещё вчера кто-то писал, но в у меня слишком большая история, чтобы это дело откопать.

Да, там говорят Google с цензурой устроил веселуху и теперь жители Америки не могут скачивать какие-то ролики из Ирака. Простите, а как они определяют можно ли мне скачивать? В паспорт смотрят или по IP? А если я “залётный”? Это же нарушение моих прав ;-)

А ещё говорят в нашем любимом MySQL нашли дырочку. Говорят распространяется на версии 3, 4 и 5. Не хотите что бы ваши запросы писались в лог? Пожайлуста! Всего-то кусочек кода с NULL символом…
mysql_connect(...);
mysql_query('/*'.chr(0).'*/ SELECT * FROM table');

MAC OS X 10.5 и вирусы, Free on Rails FastCGI и typo, Joel on Software и Ruby on Rails

“Даёшь по трояну в рабочий день!” – наверно с таким лозунгом выступил народ после выпуска Apple их OS X версии 10.5. Так что сегодня я жду нового вируса или трояна в адрес этой прекрасной операционной системы. Нов первые двя дня они классно ударили по MAC OS X такими новостями. А может это новый рекламный способ? Как в том анекдоте про трёх программистов и бизнес?

Free on Rails пишет о том что у него typo не очень хорошо себя ведёт под FastCGI. Тяпает под себя примерно 50 мегабайт оперативной памяти. За это они его перевели на CGI. Чтож я скажу по этому поводу… У меня Ruby on Rails с FastCGI работает через пень-колоду только на одном сервере на данный момент (тяпает намного больше оперативки и процессорного времени тоже забирает не мало, причём поднимая от 5 до 10 лишних процессов ruby)…

Дядько Joel, который on Software высказал своё мнение о Ruby on Rails. Хорошо он заметил про мануалы и цены за книги. Хотя деньги то как-то делать людям надо, да и с другой стороны отсутствие кучи тупых примеров заставит задуматься и не копировать тупо код, тем самых отпугнув кучу тупых юнцов, которых толпами гоняют на разных форумах по PHP. Я не знаю, почему ему не понравились некоторые правила Ruby on Rails или почему он их сразу не понял и не увидел, но вроде они вполне понятны и ясно изложены. А вот про длину строк в базе и в скафолда он хорошо заметил. Хотя по моему Ruby on Rails это хорошо, так как они к такому framework пришли раньше и громче, чем те, с кем их сравнивают. А может потому что меньше юнцов пока тут…

А я тем временем болел ужасно и ничего 4 дня не делал.

Проект “Ы”, Ruby on Rails, Acts as Taggable, скорость разработки

Последние ~14 рабочих часов провёл исключительно на Ruby on Rails, программируя простенький проект “Ы”, так сказать, такую рамку небольшую. Всё причём идёт под “идеологию” WEB 2.0. Красиво и просто – тагизация объектов зарегистрированными пользователями.

Саму базу, регистрацию, редакция профайла, создание самих объектов, их редакцию, обработку при сохранении основных данных написал за 5 часов вчера с интерфейсами на скафолдах. Т.е. это был простой, тупой и доверчивый скафолдах только показать шефу. Заметил что с сетью и сетевыми операциями (такими как загрузить картинку с удалённого сервера) Ruby работает быстрее.

Сегодня нашёл, поставил и разобрался с acts_as_taggable плугином. Вот и сделана тагизация. С облаком тагов, с выводом объектов по тагу, с поиском по нескольким тагам. Проще некуда. Спасибо авторам. Долго разбирался с валидациями. Конечно не так долго, как бы это пришлось бы имплементировать с нуля на PHP. Классно построено с валидациями. Особенно понравился :if в условиях. О том, что сделать список из “эн” последних созданных с created_at никаких вообще заморочек! А постраничный вывод? Сразу и всё работает. Вобщем день прошёл успешно. Всем спасибо!

Возможно для профессионала (точнее смотря глазами профессионала) я потратил времени и много на всё это, но меня пока время потраченное на этот проект “Ы” устраивает.

Да, я отдаю себе отчёт что это framework, но то, как он продуман – меня очень даже устраивает. Всё просто, прозрачно, понятно. Надо только привыкнуть к документации и уметь пользоваться Google. Да, признаюсь, мне в данный момент не хватает примеров, я ещё не привык к некоторым возможностям Ruby on Rails и то что большинство решений разбросано по куче разноязычных блогов.

Ruby on Rails – быстрый старт, дырочка в FCKeditor 2.2, GoBarz.com

troubleshooters.com опубликовал довольно не плохую статью (правда на английском) о Ruby on Rails. Терминология, инсталяция, назначение директорий в проекте, основы, файлы, ссылки в проекте, конфигурация базы данных, немного об AJAX.

В FCKeditor 2.2 нашли уязвимость, когда можно на сервер загрузить PHP файл в обход проверки. Интересно, сколько ещё редакторов болеют похожими болезнями. Вообще, из всего что я смотрел (предлагаемые ими решения), реально я только в одном редакторе видел проверку (точнее зачатие механизма на проверку) на то, авторизован ли пользователь (а ведь тоже уязвимость не слабая). У остальных, зная урл, можно было загружать всё что угодно, или только картинки. Но зная, название картинки, и то что она загружена через него, атакующий мог-бы её заменить на свою. По этой причине я закрываю всегда (хорошо, последнее время) именно аутентификацией на уровне сервера (AuthType Basic для Apache). В противном случае приходилось дорабатывать и дописывать проверки.

Эх… я пропустил как-то падение ICQ. Как то гладко у меня прошло всё, хоть и Trillian использую. Предложил скачать обновление и всё. Но подвох был хороший, если судить по шуму в блогах.

Любителям сложных запросов в базу посвящается (в том числе и мне) статья: How To Look At MySQL Joins and More ORDER BY With LIMIT.

PR: “Главный” проект недели: GoBarz.com движется стремительно из стадии в стадию. Из идеи в пре-бету примерно за 10 часов. В реальный сервис его будут превращать немного дольше. Заходите, смотрите, пробуйте, тестируйте – фидбяк мы ждём.