developer blog – 451 degrees Fahrenheit

Developer Blog

Серверная архитектура Dailymotion.com

May 20th, 2009 by pilot | 2 Комментария »

4732_dailymotion
Sensio Lab расказала немного о архитектуре видео хостинга Dailymotion

  • 50 web серверов, обрабатывают по 5000 запросов в секунду
  • 17 серверов баз данных
  • 30 memchache серверов, общий объем памяти 210 Гб
  • 1.2 petabytes на хранение данных

Этот список не влючает сервера по кодированию видео и обработке поисковых запросов.

В общей сложности сайт обслуживают 450 шт. серверов.


Раздел Symfony, php

Symfony UA CAMP – небольшой отчет!

May 19th, 2009 by pilot | 16 Комментария »

Совсем не давно завершился Symfony UA CAMP, организованный украинским сообществом symfony.org.ua

Изначально мы планировали до 50 человек, но приехало больше 80, это нас очень порадовало.  Обрадовали нас и орендадатели зала выделили в честь такого большого количества людей и зал побольше, за что им отдельное спасибо!

Мои доклады на конференции:

Читать дальше →


Раздел Conference, Symfony

UA SymfonyCamp в Киеве 16го мая

March 31st, 2009 by pilot | Комментировать »

new-copyИтак, 16 мая мы планируем провести конференцию по фреймворку Symfony.

Мероприятие будет проходить по адресу: Киев, ул. Предславинская, 12 (http://predslavinskaya.com.ua/). Партнер и соорганизатор SymfonyCamp - WorldWebStudio

Программа конференции еще составляется.

Желающие посетить мероприятие – пишите на  movchan@gmail.com.

Если же не против выступить с докладом – в письме указывайте название доклада.


Раздел Uncategorized

Загрузка файлов в backend (админке) Symfony 1.2

February 2nd, 2009 by pilot | 4 Комментария »

symfonyИтак в symfony < версии 1.2, для того чтоб добавить поле загрузки файлов в backend, достаточно было внести изменения в generator.yml, т.е. изменить тип поля. Указываем типа type: admin_input_file_tag после чего поле автоматически конвертится в поле загрузки файлов.

Начиная с версии 1.2.x, больше мы как прежде сделать не можем, так как всем правят формы.

Соответственно вместо внесений в generator.yml, нужно сделать изменения в классе форм.

В моем примере у меня есть класс  Album в котором есть поле Album Cover (обложка альбома), для того чтоб облажка была файловым полем, обвновляем класс формы AlbumForm.class.php (который создается автоматически) и вставляем в него следущее:

 
class AlbumForm extends BaseAlbumForm
{
  public function configure()
  {
    $this->setWidget('album_cover', new sfWidgetFormInputFile());
    $this->setValidator('album_cover', new sfValidatorFile(array('path' => 'uploads/', 'required' => false)));
  }
}

В результате мы получим в панеле управления поле для загрузки файлов обложки.

Оригинал blog.rajatpandit.com


Раздел Symfony

Jobeet.com.ua – работа для ИТ специалистов!

January 21st, 2009 by pilot | 2 Комментария »

jobeet.com.ua - работа для ИТ специалистов Все кто знаком с php фреймворком symfony, думаю следили за проектом jobeet – платформы для публикации вакансий в течении 24 дней.

На сегодняшний момент нельзя посмотреть live версию проекта в интернете и я решил исправить эту ситуацию.

Рад представить все интресующимся и использующих в работе symfony, доработаную версию проекта jobeet до презентабельной версии, которую вы можете поклацать на сайте jobeet.com.ua

В ближайшее время для всех желающих svn проекта http://subversion.assembla.com/svn/ijobeet.

Чего коснулись доработки:

  • Основная проблема – это non-latin кодировки, для которых нет коректной ASCII версии символов. Говоря простым языком, jobeet использует библиотеку iconv для транслитерации всех не латинских символов в ASCII и тут же наступает на габли, связаные с таким перекодированием.  Функция iconv возвращает на славянские символы – пустой результат, по-этому от транслитерации временно пришлось отказаться
  • Из первой проблемы вышла вторая – это поиск, который использует движок Lucene, через прокси фреймворка Zend. И тут ситуация повторяется, так как Lucene использует для создания индекса ASCII снова возникает проблема с non-latin кодировками и корректным из индексированием.
    Благо тут на помощь приходит то, что Zend позволяет использовать для индексирования кодировку UTF-8 (с определенныим ограничениями, о них можно прочесть в офф. документации Zend Framework). Вот собственно переход на utf-8 и был осуществленн для корректной индексации и поиска.
  • Добавлен русский перевод
  • Небольшой ряд мелких исправлений, я не буду на всех останавливаться, практически все исправления описаны в коментариях к коммитам в svn

Все желающие разместить у себя на сайте список ИТ вакансий, в ближайшее время будет доступен API и примеры информеров.


Раздел Symfony

Typo3 или тУпо3 – субъективное мнение о популярной в германии CMS

October 31st, 2008 by pilot | 2 Комментария »

Хочу сразу извиниться перед всеми сторонниками и поклонниками этой замечательной CMS.

Мой глубокий вам поклон и уважуха, за те силы и старания которые вы прикладываете дабы заставить ее (cms) выполнять то что вам нужно. 

Попался мне в руки проект в котором заказик (немец) упорно настаивал на реализации проекта на Typo3 ну чтож как говориться “Кто платит тот и музыку заказывает”, да и что греха таить самому давно хотелось попробовыть реализвоть проект на typo3, а тут и возмножность подвернулась.

На мое субъективное мнение система не просто сложна в изучении и реальном применение, а просто мего сложна.

Пример почему мегосложна: элементарное действие отобразить шаблон сделанный дизайнером не подключая никаких активных элементов – просто отображение шаблона, сразу же окунает вас в тУпо3 скрипт, который без бубна изучать просто невозможно – и этому способстует не очень простая в освоении документация typo script.

Самое первое и основное, что отталкивает от изучения и применения typo3 – это использование их typo script, причем использование практическе везде, где нужно и самое главное, где не нужно и можно запросто обойтись без него.

Ну и все это связано с шаманскими приготовлениями шаблонов для сайта. Конечно есть куча плагинов которые облегчат вам эту работу, но несведующему человеку – это никак не поможет.

Но не все так плохо, есть много и хорошего. 

Как только вы закончите шаманить с шаблонами, а это у вас будет занимать большую часть в создании проекта (по крайней мере на стадии изучения CMS), можно начинать радоваться, дальнейшая работа с cms уже гораздо проще.

Но не сильно обольщаятесь, к примеру на первый взгляд простой модуль Новости, в тУпо3 хорошо потрепает вам нервы, своей изощреностью в настройке, и дальнейшем добавлении новостей на ваш сайт.

И опять не может не радовать реализации многоязычности, очень мне понравилась, что позволяет быстро перевести ваш сайт на несколько языков, правда в шаблонах прийдется немного пошаманить, чтоб ваш сайт знал о том что он многоязычный.

Очень помог в изучении русскоязыный портал по typo3 – typo3.biz, на котором можно найти массу переведенной документации, Огромное им за это Спасибо!

Ну и конечно же офф сайт – этой замечательной cms – typo3.org


Раздел Uncategorized

Караоке с помощью javascript и Flash

September 11th, 2008 by pilot | Комментировать »

Отличная реализация караоке с использование ранее описаной мной javascript библиотеки, которая работает с музыкальными файлами SoundManager2 и текстов в формате StepMania.

Что из этого получилось:

Но лучше всего увидить и спеть самому: http://dt.in.th/src/lyricscroll/ , правда автор этой штуковины из Тайланда, но я не думаю, для “нашего” человека после пива это будет являться проблемой.


Раздел javascript

Новинки в symfony 1.2 или движемся к простой архитектуре (Часть 1)

September 5th, 2008 by pilot | 4 Комментария »

Сегодня мы поговорим о новой системе роутинга – роутинг фрейморк.

Роутинги как объекты класса

До symfony 1.2, система роутинга (через класс sfPatternRouting ) хранила роуты в ассоциативном массиве. Старая система отлично работает, но при этом трудно настраиваемая под свои нужды. Для того чтоб дать разработчикам свободу в модификации и улучшении процесса роутинга, в новой версии все роуты хранятся как массив объекта sfRoute.

Роутинг 1.2 совместим с 1.1 и не требует никаких дополнительных изменений в routing.yml файле.

Если вы хотите прописать роуты напрямую в PHP, теперь нужно указывать объект sfRoute вторым аргументов для методов connect(), preprendRoute(), appendRoute(), и insertRouteBefore() :

$routing->connect('foo_bar', new sfRoute('/foo/:bar', array('module' => 'foo', 'action' => 'bar')));

Настройка роута

Конструктор класса sfRoute принимает последним аргументом массив опций, который позволяет легко настраивать роуты. В конфигурационном файле routing.yml , ключ options применяется для замены настроек по умолчанию:

article:
  url:     /article/:id-:slug
  options: { segment_separators: [/, ., -] }  

В опции segment_separators  указываются символы разделители для роута. В предыдущем примере как разделитель  испольются - (дефис), которые в нашем случае так же валиден как и два разделителя встроенных по умолчанию (/ и .). Таких образом допускаются ссылки вида /article/1-my_article_title с переменной id равной 1 и slug равной my_article_title.

Читать дальше →


Раздел Symfony

Ух.. Отпуск пролетел

September 3rd, 2008 by pilot | 3 Комментария »

Отпуск пролетел на одном дыхании, пора и поработать.

Все таки  Крым не сравнишь ни с Кавказаом, ни с Турцией или Египтом.

Крым – одна сплошная красотища!

Ласточкино гнездо (малееенькое)

Безумный подъем на Ай-Пертри (на высоты более 1200 м за 15 минут)

С самой высокой точки Ай-Петри фото станции фуникулера (подъемника), здание треугольником

Внизу Ялта, Мисхор


Раздел Uncategorized

Валидация DOM HTML в реальном времени

August 15th, 2008 by pilot | 5 Комментария »

Во время web 2.0 валидность документов стандартрам w3.org xhtml, html, css является неотемлемой частью любого проекта

Осообенно трепетно к этому относятся заказчики за пределами СНГ

Валидатор от w3.org, конечно хорошо, но как всегда хочеться большего.

В нашем случае “большее” – это живой валидатор в реальном времени, автор живого валидатора (Validator.nu) Henri Sivonon взял Hixie’s Live DOM Viewer, и на его основе собрал свой парсер DOM.

Получилось я вам скажу очень даже неплохо.

livedomvalidation


Раздел Uncategorized

« Предыдущие Записи