Архив

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

Я убью тебя, Google Reader! Высоконагруженный сервис своими руками. Статья для журнала Хакер.

18 июля 2010 Comments off

Статья написана специально для журнала Хакер и опубликована на сайте журнала (в несколько сокращенной и отредактированной версии). Ниже я публикую свой оригинальный вариант,  без правок или ограничения на объем материала.

Шеф, что делать будем?

Получение новостей через фиды или RSS-ленты сегодня самый быстрый и простой способ следить за жизнью любимых сайтов или блогов. Твиттер, конечно, крут, но рсс-кам ещё рано умирать. Сегодня у тебя большой выбор - RSS можно читать кучей способов, начинаю  от почтового клиента (да, в Mozilla Thunderburd 3 встроен клиент) и браузера, заканчивая специальными программами и онлайн сервисами. Самым крутым из таких будет, конечно, Google Reader. Пользоваться им вроде бы легко - вводишь адрес сайта и отныне просто заходи и читай новости, никакой кнопки Refresh жать не надо, гугл сам позаботится о том, чтобы найти новые новости и показать их тебе. Но при этом у него есть много врождённых проблем, например, не очень интуитивный интерфейс, а также часто сильные задержки в получении новых сообщений. Особенно это касается лент из Твиттера. Ага, популярнейший сервис также вовсю использует RSS, транслируя туда твои сообщения. Но ведь ты уже в курсе, как быстро там все изменяется - написал о новом хаке винды, а через минуту уже весь интернет с криками "ура!" бросается ломать империю Билли. Но читатели через Google живут в параллельном мире и просто тормозят - там лента из твиттера обновляется часто с задержками в минуты и часы, непорядок!

Давай напишем для себя любимого (ну и друзей, куда ж без них) простую онлайновую читалку RSS-новостей. Фичами будет возможность автоматически находить фиды с любого адреса (если они там есть, конечно) и  полное игнорирование нюансов форматов ( мы сможем работать с любым фидом). Кроме этого, научимся высшему пилотажу РНР-программирования - созданию распределённых систем. Когда у тебя две-три ленты, с ними справиться даже твой нетбук, но когда друзья поймут, что гугл теперь отстой, и начнут добавлять свои ленты, станет плохо. А мы сделаем так, что читалка будет работать с любым количеством лент, просто успевай доставлять сервера! Помнишь, мы не раз рассказывали тебе про облачный компьютинг, Amazon EC2 и прочие заморские технологии? Вот с их помощью это сделать очень легко - нажав кнопочку и у тебя уже два сервера вместо одного. Используя РНР и немного магии, ты сможешь заставить работать на наше благо столько серверов, сколько достанешь. Читать далее...

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

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

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

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

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

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

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

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

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

Симфония минимализму или красота в простоте — РНР фреймворк EpiCode

epicode.gifПриветствую наших читателей. Пока весь народ вокруг воздает честь и хвалу компании Zend за выход в виде релиза ее фреймворка Zend Framework 1.5, который, без преувеличения, конечно отличный инструмент для разработки и поддержки масштабных проектов, а другие спорят и превозносят каждый свое - Python или Django или RubyOnRails, третье обсуждают нюансы применения паттерна MVC (я бы сказал, архитектурной концепции) и даже ее применимости вообще к созданию веб-приложений на РНР, остальной мир... Да нет, все не так, конечно, впрочем судити сами.

Остальные же просто упрощают себе жизнь, причем самым кардинальным образом. Я не о тех, кто верстает статичные сайты на несколько страниц - им не нужны никакие фреймворки. А вот если нужно, с одной стороны, создать простую и гибкую систему, но вот всей мощи и идеологической нагрузки современных фреймворков им не нужно, по крайней мере сейчас и немедленно? Изучение и апробация в новом проекте каких-то сложных инструментов себя совершенно не оправдает, а в свете уже любимой многими концепции Getting Real даже чем-то вредно, но и городить свой велосипед как то уже не достойно... Читать далее...

Технологии инакомыслия: исследуем работу с СУБД через JDBC не выходя из РНР

php_jdbc.jpgПриветствуем наших читателей. Сегодня у нас нетривиальная статья-исследование. Честно говоря,  я ещё сам не знаю, выйдет ли из него что-то стоящее и рабочее, но попытаться стоит. Спросите почему? Сейчас. Начнём с основных понятий. И так, JDBC - это, если расшифровать, Java Database Connectivity, то есть, специальный API для Java, который позволяет унифицировать доступ к различным базам данных, вне зависимости от типа СУБД. Концепция JDBC основана на понятии "драйвера", который может загружаться в во время выполнения и отвечает за унификацию доступа к СУБД. Этот API входит в стандартную поставку Java (в пакете java.sql). Расшифровывать PHP мы не будем, надеюсь всем понятно. Но открыт вопрос "зачем?". Если вы постоянный читатель нашего блога, вы могли заметить несколько статей о различных JDBC драйверах, позволяющих организовать пулы коннектов, кластеризацию и отказоустойчивость соединения с базой данных, таким образом организовать высокопроизводительный интерфейс для доступа к СУБД, причём, не привязываясь к определённым особенностям базы данных. Но вот для РНР такого, к сожалению нет, из встроенных интерфейсов доступа есть только mysqli и PDO, теперь ещё появился вариант mysqlnd (это то, что касается СУБД MySQL). Таким образом, для построения отказоустойчивой архитектуры на базе РНР и MySQL необходимо применять сторонние решение - систему кластеризации MySQL, MySQL Proxy или ещё что-то. Но ведь наши друзья-разработчики из мира Java могут иметь это все (в первую очередь, пул коннектов и кластеризацию) прямо "out of the box", применяя просто нужный JDBC драйвер (например, описанный нами HA-JDBC). Непорядок, сказал себе я вчера, и пошёл исследовать тему взаимодействия приложений на РНР и баз данных через JDBC.

Оказалось, в этой области есть достаточно много интересных разработок, так что исследование обещает быть интереснейшим.
Читать далее...

Веб-обзор #7 — поиск, РНР и Zend_Search, Sphinx, профессиональная работа с РНР и XDebug и совсем немного о бизнесе

8 января 2008 Comments off

236.pngПриветствуем наших читателей, вот и первый выпуск в этом году нашего обзора интереснейших ссылок для разработчиков. Думаю, в какой бы области вы не специализировались, каждый читатель найдёт для себя что-нибудь интересное. Если вы на работе, отложите на минутку дела и возьмите чашечку кофе или чая, устройтесь по удобнее и начнём.

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

Zend Studio for Eclipse Beta которая Neon

10 октября 2007 Comments off

Появилась в свободной загрузке (но регистрироваться всеравно нужно) новая среда разработки для языка РНР - Zend Studio for Eclipse. Кодовое название проекта - Neon, а текущий статус - бета. Особенностью данного релиза в том, что он построен на основе открытой платформы Eclipse. Ранее, флагманский продукт компании Zend Inc. был построен на основе собственного движка, и многие ругали его (и совершенно оправданно) за неповоротливость, требовательность к ресурсам и сложностям в работе. Хотя, как мне кажеться, всетаки как инструмент для полноценной профессиональной разработки для РНР он вполне хорошо, но, конечно, для создания небольших проектов на одного-двух программистов чересчур.

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

Categories: Eclipse, PHP, Разное Tags: , , , ,