Архив

Архив раздела ‘PHP’

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

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

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

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

Веб-обзор #14: в помощь игроразработчику, оптимизация и кеширование в Zend Framework, немножко web 2.0 экономики, ExtJS и MySQL, а также фичкаттинг в стартапах.

Приветствую наших читателей. Некоторый перерыв в публикациях был связан с моей командировкой в Киев и последующей срочной работой, впрочем, сейчас я уже могу выкроить время для новой публикации. На этот раз я вспомнил забытой мною рубрике интересных материалов и, посмотрев на открытые вкладки и закладки с тем, что меня заинтересовало, понял, что "забывать дальше" эту рубрику никак нельзя. Ведь сегодня в сети очень много материалов, вместе с этим качественные и интересные ещё нужно поискать. Этим то мы и займёмся. Приятного и, главное, полезного чтения. Читать далее...

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

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

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

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

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

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

Aptana Cloud — новые подробности

Приветствуем наших читателей. Не так давно мы уже писали, и оказались первыми, кто сообщил в Рунете о появлении новой платформы для организации Cloud Computing - Aptana Cloud. О подробностях я отсылаю вас к первой публикации, а сегодня мы продолжим разговор. Хотя я и записался на программу бета-тестирования, но пока приглашения не получил. Но один из западных блоггеров (Dougal Matthews) его все же достал и написал обзор первых впечатлений. На его основе сегодня и мы опишем, чего же ожидать от этой платформы. Как только я лично получу доступ к тестированию, обязательно напишу свои впечатления и замечания. Читать далее...

ezComponents — исследуем компонент EventLog

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

Сегодня мы оговорим о логах. Если вы разработчик веб-приложений, то во многих случаях лог поможет вам найти причину узких мест в архитектуре, продублировать критически важные места в приложении, а в ряде приложений без системы лога вообще почти невозможно работать. К примеру, такие он-лайн проекты, как игры (имеется ввиду, браузерные), а также любые системы, связанные с финансами - все они требуют производительных и надёжных реализаций системы логирования всех действий.

Кратко объясню, что я имею ввиду. Возьмём, к примеру, он-лайн игру, в которой пользователь может вводить деньги, например, меняя свои WMZ на игровые единицы, ну, допустим, пиастры. Конечно, все стадии этого процесса обрабатываются вашей системой, деньги зачисляются на счёт пользователя. Но что будет, если в процессе транзакции произойдёт непредвиденная ошибка? Даже если вы используете транзакционный движок и данные так и не попадут в основную систему, потому что транзакция обмена не произойдёт, пользователь будет жаловаться в службу поддержки. Для дублирования этого процесса и бОльшей надёжности, а также для случаев расследования различных инцидентов я предпочитаю вести отдельных лог всех событий, кстати,  не только финансовых. В такой лог логично писать все ключевые операции, которые впоследствии пользователи могут оспорить или эти процессы являются ключевыми для вашего сервиса. Не бойтесь - накладные расходы на лог не такие и большие, особенно в свете текущих цен на сервера и дисковое место это вполне оправданная трата. Читать далее...

Первая альфа-версия 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 лента подкаста