Архив

Публикации с меткой ‘PHP’

Краткий обзор MQ (Messages queue) для применения в проектах на РНР. Часть 2

1 декабря 2008 3 комментария

Приветствуем наших читателей! Сегодня мы продолжаем исследовать тему такого класса ПО как очереди сообщений применительно к РНР веб-системам. В прошлой статье мы рассмотрели некоторое ПО, в частности представителей как самой верхней области (Apache Active MQ, возможности которого находятся на уровне уже корпоративного ПО), так и достаточно простые варианты, например, MQS. Но не рассмотренными остались еще несколько достаточно интересных проектов, так что наше исследование продолжается.
Читать далее...

Краткий обзор MQ (Messages queue) для применения в проектах на РНР. Часть 1

Приветствуем наших читателей. К сожалению, очень много дел и проблем навалилось, поэтому частота обновление блога не такая, как хотелось бы, но это поправимо. Параллельно к основной работе, я в "фоне" обдумываю и прикидываю реализации архитектуры для игровых проектов (напомню, что основная область моих интересов и работ - создание онлайновых браузерных игр). Последнее время я все чаще и чаще возвращаюсь к мысли, что интересно было бы реализовать основной игровой сервер на основе очередей сообщений (MQ или Messages queue). То есть,  движок такой игры будет представлять собой набор компонентов, которые будут общаться между собой посредством асинхронных сообщений, а каждый компонент может быть как генератором сообщений, так и подписчиком, то есть исполнять другие сообщения.

Такой подход, насколько я понимаю, широко применяется в мире Java, там для этого есть стандарт Java Message Service (JMS) и применяются брокеры сообщений и на этом базируется архитектура  Enterprise service bus (ESB), например,  Apache ServiceMix. Но для нас это пока высокая сфера крупных проектов, а в специфике веба и веб-ориентированных приложений я бы хотел рассмотреть, можно ли что-то сделать подобное, но с меньшими затратами и обеспечить приложению отказоустойчивость, распределение нагрузки и асинхронную обработку. И конечно, очень желательно, чтобы это было реализовано на РНР как основном языке реализации всех компонентов сервера. Читать далее...

Caucho Resin — сервер приложений Java + PHP корпоративного уровня

5 сентября 2008 7 комментариев

Приветствуем наших читателей. Кстати, у нас произошло небольшое событие - да-да, именно у нас с вами. Если заметили, уже несколько дней счётчик Feedburner, при всех огрехах в работе сервиса за последние месяцы, показывает стабильно количество читателей больше 500. Это достаточно знаковая цифра для меня лично и, наверное, для отдельного блога узкотематической профессиональной направленности тоже. А достаточно скоро у нас будет первый день рождения, но пока ещё рано праздновать... нужно работать. И сегодня я расскажу вам о сервере приложений Caucho Resin.

Для приложений Java, я имею ввиду, веб-приложений, существует уже достаточное количество серверов, которые уже давно разрабатываются и давно вышли на уровень, достаточный для того, чтобы применять их в самых сложных и ответственных случаях. Думаю, всем известны  Apache Tomcat и Jetty - самые известные сервера из списка открытых разработок. Но к этому списку нужно добавить теперь еще и Resin. В ряде тестов его Pro версия превосходит в производительности Tomcat 6, обладая при этом рядом возможностей "из коробки", которых нет в других серверах или они реализуются при помощи сторонних средств. Читать далее...

Первая альфа версия PHP 5.3 — что же там нового?

3 августа 2008 3 комментария

Приветствуем наших читателей. Очень уж суетливое лето выдалось и сложная работа - алгоритм в текущем проекте на 500 строк, занят около недели времени, при этом его текущая альфа-версия хоть и работает, но пока не до конца так как надо.. а это всего лишь отладочный симулятор... Но что это я о работе. В мире есть вещи и поинтереснее. А именно - вышла и доступна первая альфа-версия следующей ветки РНР - 5.3. Пока только в исходных кодах, бинарная версия для Win32 обещается в течении нескольких дней. Пока же мы просто посмотрим, что там нового и вкусного?

Читать далее...

Достучаться до небес или тестируем Aptana Cloud своими руками

Приветствую наших читателей. Это будет  эксклюзивный материал - я получил приглашение для тестирования новейшего сервиса Cloud Computing от компании Aptana. Ранее я уже писал один обзор, но это был вольный перевод записи в блоге одного из западных разработчиков, теперь же я могу самостоятельно попробовать все тонкости этой платформы и спешу поделится этой информацией с вами, уважаемые читатели.

И так, приступим. Для начала работы нам необходимо обновить (или установить, если не было) версию Aptana IDE. При этом учтите, что сейчас последняя версия, доступная даже в профессиональным подписчикам, 1.1, но для работы с Cloud нужен особый релиз следующей версии, который доступен по другому адресу, который вам после регистрации сообщат вместе с логином и паролем для доступа. Читать далее...

Автоматическое определение языка произвольного текста на РНР — библиотека PHPLangautodetect

Приветствуем наших читателей. Знаете, работа с стартапе, который пытается создать что-то новое и уникальное на рынке очень захватывает. И не только открывающимися возможностями, но и часто нетривиальными задачами и вопросами, которые ставятся перед создателями и которые раньше никто не решал. Вот один из таких вопросов как раз вчера появился передо мной: дано нам произвольную строку текста, заведомо известно, что она может быть двух, а в некоторых случаях и трёхязычной, то есть там смешанный текст из нескольких языков. Необходимо прозрачно для пользователя определить язык, на котором написан текст.

На самом деле задача не такая и редкая - подобная функциональность есть и в текстовых редакторах, и в переключателе клавиатуры PuntoSwitcher, да и в системах машинного перевода такой функционал востребован, не говоря уже про системы поиска информации. Кстати, именно в контексте создания специализированного поисковика и классификатора текстов и появилась такая проблема. Необходимо было получить такую возможность в собственной программе на платформе РНР и при этом не задействовать сторонние сервисы - подобная возможность в виде веб-сервиса присутствует в Google Language API (мы уже исследовали этот сервис), однако она выполняется удалённо и имеет некоторые существенные для нас ограничения, в частности, процедура опознания языка выполняется с существенной задержкой и асинхронна по своей природе. Кроме этого очень хотелось иметь полный контроль над процессом и иметь возможность его гибко настраивать, чего, увы, нет в сторонних сервисах. Поэтому пришлось подумать и попробовать реализовать собственными силами, результат же представляем вашему вниманию. Читать далее...

Первая альфа-версия ezComponents 2008.1

Приветствуем наших читателей. Новый релиз РНР, 5.2.6 прошел достаточно незамеченным, в частности, наверное, потому, что несет в себе только исправления ошибок и некоторые обновления включенных в состав компонент. Люди же привыкли ждать более существенных обновлений, о которых можно поговорить, а таким обещает быть следующий, 5.3 дистрибутив. Ну а у нас сегодня есть другой повод для разговора и обсуждения - выход наконец первой альфа-версии набора компонент ezComponents 2008.1. Это пока только первая пробная версия, но ее уже стоит загрузить и начать изучать. А вот что там изменилось и добавилось - об этом сейчас и поговорим. Официальный ChangeLog здесь.

Читать далее...

Работаем с ExtJS на языке РНР — библиотека PHP-Ext

Приветствуем наших читателей. Я вряд ли ошибусь, если предположу, что язык РНР достаточно популярен, если не самый популярный в веб-разработке. Мы не будем анализировать причины этого (а тем более, следствия), а сконцентрируемся на одном небольшом аспекте, а именно - как на РНР разрабатывать сложные AJAX веб-приложения. И не просто так разрабатывать, а использовать в своей работе библиотеку ExtJS, которая позволяет создавать интерфейсы для этих веб-приложений. Конечно, все это можно разнести и серверная сторона, на РНР или на любом другом языке, совершенно ничего не будет знать о клиентской части и AJAX-библиотеке, просто оперируя JSON данными и обычным HTML. Но можно сделать и по-другому - этот подход, аналогичен популярной сегодня технологии Google Web Toolkit. Мы ничего не разделяем, а просто пишем приложение, используя одну среду, один язык и все возможности (и языка и среды), а уже сервер самостоятельно генерирует код для клиента, полностью автоматически. Таким образом можно совсем (ну или почти) не знать и не разбираться в вёрстке, JavaScript и ExtJS, но писать приложения, которые будут использовать этот фреймворк.

Для языка Java подобные решения существуют, а недавно такой проект, EXT GWT, даже перешёл под крыло самой компании-разработчика ExtJS, превратившись в вполне серьёзное профессиональное решение. Ну а как в других языках? Java, конечно, хорошо и даже отлично, но душа и тело хотят разнообразия, или просто не хотят переучиваться. Для таких случаев есть свои решения. И одно из них, для РНР, так и называется - PHP-Ext.
Читать далее...

Aptana Cloud — наш ответ Google App Engine и Amazon-у!

Приветствуем наших читателей. Сегодня я спешу вам сообщить новость, первым среди всех сайтов Рунета (да и чего уж таить, даже в англоязычном сегменте информации по этой теме очень мало).

Но сначала предистория. Не так давно поисковый гигант Google предоставил разработчикам свою платформу для хостинга приложений - Google App Engine, которая предусматривает работу пользовательских приложений в среде компании, на основе их платформы. Разработчик полностью освобожден от работы с самим хостингом - для него все видно через призму несложного API, остальное забота компании Google. По сути, это очень высокоуровневая виртуализация хостинга. Сетевая инфраструктура также переносится на "плечи" провайдера, таким образом все приложения работают в некоторой среде, при этом даже не ясно (да и не нужно), где какой сервер, физический или виртуальный. Именно потому такая инфраструктура называется облачной. На рынке есть достаточная конкуренция - например, самый известный и часто используемый сервис, это инфраструктура от Amazon, которая включает несколько приложений для хранения и передачи данных (оплата производится как за траффик, так и за процессорное время).

Но в этих предложениях мы ограничены в применяемых языках, например, Google позволяет работать только с Python, при этом часто слышно об ограничениях, которые накладываются платформой и сковывают разработчиков (по крайней мере опытных). По слухам (пока не подтвержденным), Google предоставит в будущем дополнительные возможности в плане выбора языка разработки, и все ожидают, что это будет либо Ruby, либо PHP. Читать далее...

Наш проект: подкаст WebTechVoice по-русски, выпуск 01.

top_logo.gifПриветствуем наших читателей. Мы наконец запустили еще один проект в рамках нашего блога. На этот раз это подкаст, вторым ведущим которого, помимо меня, является наш читатель и просто интересный человек, Алексей Остапенко. Мы ведем разговоры о новостях из мира веб-разработки и новых технологиях, о развитии проектов, за которыми следим или используем (в частности, РНР, Ruby, Django/Python, ExtJS/Dojo). Формат подкаста средний, между полностью новостным и аналитическим, мы постараемся рассказывать новости и параллельно добавлять свой взгляд на происходящие в мире веб-а. Сами выпуски не будут слишком длинными - планируется от 10 до 30 минут максимум, при этом с периодичностью раз в неделю.

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

Наш первый выпуск посвящен следующим темам:

  • PHP 5.3 и заявленный прирост производительности в 20 - 30%. Что это, миф или реальность? Попробуем разобраться.
  • Выход модуля mod_rails (http://modrails.com)
  • Открытие проектов: http://djangoplugables.com и http://github.com
  • Хостинг для Ruby/RubyOnRails: http://www.mediatemple.net
  • Новость из мира AJAX - новая версия отличного фреймворка для веб-приложений ExtJS 2.1 и первый взгляд на следующие поколение - ExtJS 3.0.

На случай, если код плеера некорректно будет вставлен, вот страница на подкаст-терминале PodFM.ru:

WebTechVoice по-русски - новости и авторские мнения о Web-индустрии

rss.gifRSS лента подкаста


Developers.org.ua