Архив рубрики ‘мои работы’ Category

Dec
09
HTML5 видео уже тут
1 балл2 балла3 балла4 балла5 баллов (стать первым, кто оценил!)
Loading ... Loading ...

Для тех кто знает и понимает зачем это, живой пример реализации концепции HTML5 в видео онлайн-плеера:

Ограничения те же самые, что и у ютуба, а именно:

Поддерживаются браузеры, способные обрабатывать видеотег стандарта HTML5, а также видеокодек h.264 или формат WebM (с кодеком VP8). К ним относятся следующие:

  • Firefox 4 (WebM)
  • Google Chrome (WebM и h.264)
  • Opera 10.6+ (WebM)
  • Apple Safari (h.264, версия 4+)
  • Microsoft Internet Explorer 9 (h.264)

Примечания

  • Поддержка полноэкранного режима реализована частично. Нажатие кнопки перехода в полноэкранный режим приведет к расширению экрана проигрывателя до размера окна браузера. Если ваш браузер поддерживает полноэкранный режим, вы можете использовать его для просмотра всего видео в полноэкранном режиме
  • Проигрыватель HTML5 содержит значок на панели управления. Если вы не видите значок HTML5 на панели управления, вы будете переадресованы на проигрыватель Flash (вследствие приведенных ниже ограничений)

Наслаждайтесь (а для этого желательно иметь Chrome по-новее или IE9). В Opera возможны тормоза, особенно под виндой, т.к. она еще плохо жует VP8.

P.S. Фулскрин не работает, т.к. видео вставлено через iframe, выйти за пределы которого видео естественно не может, если не загружено с того же домена.

P.S.2. Браузеры не поддерживающие video-тег (IE < 9, к примеру) или которые не умеют играть VP8 или H264 будут видеть перед собой флеш-плеер. Theora выпилил принципиально, т.к. ущербный кодек и будущего в HTML5 для него нету.

P.S.3. Код еще не очень, собираюсь на JQuery переписать чуть позже. Чисто для демонстрации.

Jan
16
jQuery, $.getJson, $.ajax и все, все, все…
1 балл2 балла3 балла4 балла5 баллов (стать первым, кто оценил!)
Loading ... Loading ...

jQueryДо этого я работал только с Prototype, особо jQuery не пользовался, хотя и использовал пару вполне успешно.

В проекте, в котором я сейчас работаю, все построено на Zend Framework + JQuery. Соответственно приходиться сталкиваться теперь довольно часто с jQuery.

Вчера мне понадобилась там одна фишка: нужно было получить данные через Ajax запрос и дальше сделать с ними некоторые манипуляции (обрезание строки и т.д, не суть важно) и вывести клиенту.

Недолго думая, была сделана такая конструкция:


$.getJSON(’<?=$this->newsLetterUrl(’content-start’)?>/’,
 { load_eds_data: 1, idpage: $(’#eds_ref-key’).val(), ajax: ’true’},
 function(data) {
 subTitle = ’Dates: ’+data.date_text + ’ Venue: ’ + data.xvenue;
 });

Удивление наступило позже, когда я понял, что переменная subTitle не видна после этого и не доступна.

Полез в гугл, начал искать, что ж это за фигня получается, что нельзя в переменную записать данные после ajax запроса.

Оказалось, что проблема … в асинхронности запроса $.getJson и для того, чтобы получить нужное мне, конструкцию надо заменить на такую:


$.ajax({
 async: false,
 data: { load_eds_data: 1, idpage: $(’#eds_ref-key’).val(), ajax: ’true’},
 dataType : «json»,
 url: ’newsLetterUrl(’content-start’)?>/’,
 success: function(data) {
 subTitle = ’Dates: ’+data.date_text + ’ Venue: ’ + data.xvenue;
 }
});

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

Самое интересное, что в prototype таких проблем у меня вообще не возникало. Видимо связано с особенностями реализации библиотеки.

Возможно кому-то пригодится, когда столкнетесь с подобной задачей.

Dec
17
Решил, чем вас порадую
1 балл2 балла3 балла4 балла5 баллов (1 голоса, средний балл: 5 из 5)
Loading ... Loading ...

Некоторое время назад мне понадобилось создать собственный видеохостинг для пользователей проекта.

Пришлось во многих вещах поразбираться, в том числе с перекодировкой видео, импортами для Яндекс.Видео и Гугл.Видео и т.д.

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

Возможно у кого-то будут более конкретные пожелания и вопросы — пишите, постараюсь высветить вопрос, если пришлось столкнуться.

Итак, следующая заметка будет на тему создания своего видеохостинга «с нуля». Следите за обновлениями.

P. S. Написал новую заметку про ODesk на фрилансхаке — http://freelancehack.ru/blog/2009/12/odesk-4/ , возможно кому-то будет интересно.

Aug
22
В продолжение истории
1 балл2 балла3 балла4 балла5 баллов (5 голоса, средний балл: 2.8 из 5)
Loading ... Loading ...

Ситуация, которую я описывал абстратно в прошлой заметке, получила развитие.

Точнее не развитие, а я нашел тему на Хабре от этого заказчика (который впрочем и на моем блоге комментировал довольно часто под ником Andrew), где он конечно не стал указывать, что речь обо мне, но я решил высказаться также, т.к. вышло как будто заказчик белый и пушистый, а я вот такой вот плохой фрилансер, бросил заказчика на полдороги.

В общем-то кому интересна эта история — милости прошу — читайте (внимание, много текста, много комментариев), в конце приложен мой комментарий на всю тему.

Возможно мой опыт кому-то пригодиться из читающих меня.

Mar
14
Пишите документацию к проекту и коду!
1 балл2 балла3 балла4 балла5 баллов (1 голоса, средний балл: 5 из 5)
Loading ... Loading ...

ДокументацияИногда хочется просто прокричать это на весь мир, чтобы те, кто еще не слышал этого, наконец-то услышали.

С конца февраля я работаю в роли Senior PHP Developer над проектом (довольно большим и амбициозным), который 10 (!) месяцев разрабатывался абсолютно без ведения какой-либо документации (ну разве что диаграмма базы есть) к проекту и коду.

Естественно приходится постоянно пинать напарника, который 10 месяцев это разрабатывал. Он понимает важность написания документации, но такова была воля заказчика, так как ему надо было «быстрее получить результат, чтобы отчитаться перед инвесторами/заказчиками».

И дело даже не в том, что код плохой или что-то такое. Код нормальный, вменяемый, на Zend Framework, но ведь от этого легче не стает, так как система за 10 месяцев стала довольно огромной, а мне приходится вникать в нее с нуля.

К сожалению, очень часто выходит так, что рынок диктует условия, а не разработчик. Уже многократно проверно и подтверждалось. Однако всегда можно найти пару дней для того, чтобы задокументировать архитектуру проекта. Бес с ним уже с тем кодом, если он нормальный, то разобраться в нем не такое великое дело, хотя с комментариями конечно приятнее, удобнее и быстрее.

Поэтому, обращаюсь ко всем разработчикам и заказчикам: не пренебрегайте документацией, она поможет безболезненно войти в проект одному или нескольким разработчикам, когда вы поймете, что одного разработчика уже не достаточно.

Экономьте свое время и время вашей команды уже в самом начале, а не после того, как «припекло».

Mar
06
Как “подружить” Prototype и jQuery в одном проекте
1 балл2 балла3 балла4 балла5 баллов (13 голоса, средний балл: 3.92 из 5)
Loading ... Loading ...

jQuery и Prototype вместеДавно не писал ничего на тему программирования и вообще о вебе (все-таки блог не только о фрилансе).

Так вот недавно в одном из моих проектов возникла надобность использовать одно из готовых решений – плагин контекстного меню (того, что выпадает по клику правой клавишей мышки) в jQuery.

К сожалению (или к счастью) весь проект был построен на Prototype, а выдумывать велосипед заново желания не было (тоесть писать на Prototype то, что уже есть готовым в jQuery), поэтому я начал гуглить по поводу того, как “скрестить бобра и носорога”.

В итоге решение было найдено (сейчас даже уже не помню где именно, важен сам факт) в одном из англоязычных блогов (жаль ссылка утеряна во времени…) и состояло оно в том, чтобы включить jQuery в режим “безконфликтности” (да, да,  разработчики побеспокоились о том, чтобы другие библиотеки могли спокойно работать совместно с их детищем):

<script type="text/javascript"> $j = jQuery.noConflict();</script>

И далее везде для Prototype применяется и дальше знак $, а для jQuery – $j. После этого мне достаточно было в файле плагина все $ заменить на $j, подключить jQuery к проекту – и все заработало как мне того и хотелось.

Возможно мой опыт будет кому-то полезен в их проектах.

Nov
27
Портал для студентов КПИ
1 балл2 балла3 балла4 балла5 баллов (5 голоса, средний балл: 4.2 из 5)
Loading ... Loading ...

portal_logo.jpg Сегодня завершился долгострой, который я создавал по части программирования для сети НТУУ “КПИ” (http://kpi.cc) (кто не в курсе – Киевский Политехнический Институт).

В целом проект является украиноязычным, с прицелом на молодежную аудиторию. Официальный статус проекта – публичная бета-версия.

По сути – обычный портал, с элементами Web 2.0. Создавалось все то, что есть там по части программирования – моими руками, кроме почты (в качестве решения был выбран проект Zimbra, которую недавно купила Yahoo), поиска (использован один из опенсорц движков) и IRC чата (взял отличное опен-сорц решение на сокетах).

Работает система единой авторизации (через SOAP, посредством LDAP).

Проект написан полностью на PHP5 (мой любимый язык, поэтому именно так).

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

В общем – прошу любить и жаловать, о проблемах в работе можно сообщать либо на сайте проекта, либо мне через контакты.

—————————————————————————————-

Продолжается акция “Задай вопрос – получи ответ” . Пока особой активности не наблюдается, но думаю, что это временно.