Search
Write a publication
Pull to refresh
22
0
Aleks Lozovyuk @aleks_raiden

Криптовалюты, финансы, распределенные системы

Send message

ExtJS, Adobe AIR и технология PixelBender — красиво, ничего не скажешь!

Reading time3 min
Views1.4K
animsДавно не появлялось чего-то новенького об ExtJS, видимо все готовятся к анонсированной конференции (я уже писал об этом), а те, что останется в уютных домашний креслах — к анонсу ExtJS 3.0. Но сегодня заглянув в официальный блог компании, я нашел интереснейшую заметку. Как уже известно, в последние версии ExtJS начали активно внедрять поддержку платформы Adobe AIR, что не может не радовать, ведь именно симбиоз этих двух потрясающих инструментов может дать, в умелых руках, конечно, просто отличные результаты.

В Flash 10, а значит и в Adobe AIR 1.5 в его именно флешевую часть была внедрена интересная технология, по сути, полного управления всем отображаемым на экране — PixelBender. При помощи специального языка программирования GLSL (OpenGL Shading Language) разработчик может описывать операции над пикселями, при этом программа может быть применена не только к картинке, а к любому флеш-объекту, в том числе и целому окну или веб-странице. Кстати да, вы не ослышались, речь идет именно об OpenGL, а это нас приближает вплотную к возможности создать серьезные графические приложения, оперируя только обычными для веб-разработки инструментами. Если кто разбирается в 3D, то эта технология очень близка к пиксельным шейдерам, которые также программируются на своих языках.
Читать дальше →

JavaScript, AJAX, Socket и Flash/ActionScript — исследуем вопрос передачи данных в AJAX-приложениях

Reading time8 min
Views5.5K
socket_1667_128Как то в последнее время я начал активно повышать свои навыки и знакомиться не только и не столько с новыми технологиями. Например, я уже более-менее освоил Java, а именно — занимаюсь сетевыми сервисами. Также начал работать с ActionScript 3, хотя мое мнение относительно применимости в AJAX-приложениях Flash-компонентов не изменилось — их надо использовать там, где они дают максимальное преимущество, а вот вся «обвязка», например, интерфейс пользователя, можно сделать при помощи стандартных технологий. При разработке AJAX-приложений у разработчика есть достаточно большой выбор для решения задачи обмена данными с сервером. В основном, общение с сервером заключается в…
Читать дальше →

Обновление ExtJS и другие… приятности

Reading time3 min
Views1.9K
logoСлучайно заглянув на сайт ExtJS, с удивлением увидел, что версия этой замечательной библиотеки обновилась, более того, появился столь ожидаемый анонс следующей, 3 версии. Но обо всем по порядку. Текущий релиз ExtJS обновился до версии 2.2.1. Это, с одной стороны, достаточно незначительное изменение, даже не под-версии, но если внимательнее присмотреться, обнаружится достаточно интересные вещи. Полный список изменений здесь.

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

Исследование совместимости Zend Framework и Quercus PHP

Reading time5 min
Views1.2K
caucho-whiteЯ давно уже заинтересовался объединением мира Java и PHP, в частности, при помощи замечательного продукта Quercus PHP — порта PHP-интерпретатора вместе с библиотеками на Java. И вот, очередной раз просматривая уже почти готовый архитектурный макет своего движка для браузерных онлайн игр, я обратил внимание на ускользнувшую от меня деталь. Ведь я собирался использовать популярный и мощный фреймворк Zend Framework, запуская его, конечно же, поверх QuercusPHP (детальнее про архитектуру движка я начну рассказывать после нового года). А он, как известно, достаточно требователен к различным расширениям и модулям — в одном проекте, что я сейчас делаю, используя только Zend_Search_Lucene, я встретился с необходимостью подключения ранее не используемых расширений. А значит вполне может быть ситуация, что эта платформа не будет поддерживать все необходимые функции для работы Zend Framework-а. Просмотр Google по поводу совместимости ничего определенного не дал, так что было решено посвятить пару часов собственному исследованию.
Читать дальше →

Интересные JS-фреймворки для изучения

Reading time3 min
Views4.1K
В моем твиттере прошла ссылка на десять JS-фреймворков, которые интересны в плане изучения и расширения возможностей, для того, чтобы разработчики не ограничивались только верхушкой мейнстрима (имеется ввиду jQuery/Prototype/Mootools/YUI). Вполне вероятно, что что-то из этого списка завтра будет не менее популярно, да и просто для повышения своей квалификации или подсматривания интересных решений. Оригинал на английском языке здесь, а я попробую рассмотреть самое интересное со своей колокольни.
Читать дальше →

Архитектура SignalSlot для РНР веб-приложений на примере ezComponents

Reading time4 min
Views709
logo1На днях, читая рассылку по Zend Frameworks я заметил тему одного разработчика о реализации системы плагинов без модификации некоторого стандартного ядра. Подобную задачу приходится решать достаточно часто и во многих случаях — например, вряд ли хоть какая-то CMS-система обходится без механизма плагинов. Конечно же, разработчики таких популярных CMS систем, как Drupal или Wordpress уже решили для себя эту задачу, разработав собственную архитектуру подключения плагинов на лету без затрагивания функционала ядра. Однако аналогичная задача, мне кажется, все же из категории «вечных» и не все решения могут быть применены в каждом конкретном случае.

С аналогичными проблемами сталкиваются не только веб-разработчики, она актуальна и при проектировании компонентных десктопных приложений и сложных систем. И некоторые успешные решения вполне можно подсмотреть и позаимствовать с таких разработок. В данном случае я говорю об архитектуре Signal/Slot, которая реализована в библиотеке Qt (подробное описание) и применяется там для коммуникации между компонентами. Аналогичный функционал очень был бы полезен и в веб-разработках, в данном случае — в РНР проектах.
Читать дальше →

EtherPad — онлайн редактор для совместного творчества или работы.

Reading time5 min
Views4.6K
Приветствуем наших читателей. Хотя последнее время у меня не так много времени (хм, тавтология однако), но в очередной раз просматривая новостную ленту, я наткнулся на описание интересного сервиса, онлайнового редактора текста для совместной работы. Конечно, есть же Google Docs, Zoho Writer и множество других, включая Adobe Buzzword, но по опыту — это или тяжелые решения, или направленные на полноценную замену текстовых процессоров, например, MS Office Word. А что, если требуется простой редактор, где будет доступна ну, скажем, только одна функция — непосредственно редактирование текстов? Да еще с оговоркой — с возможностью параллельной работы над одним документов нескольких пользователей. Кто-то в таком случае использует wiki-системы и они как раз обеспечивают совместное редактирование текста, позволяя откатываться на любое число версий назад и просматривать правки пользователей. Но wiki никогда не было средством работы в реальном времени — то есть я открываю документ, вношу правки и сохраняю и только после этого вижу, что изменилось с учетом и правок других пользователей (если они на этот момент сохранили свои дополнения). А если надо именно работа в реальном времени?
Читать дальше →

Adobe AIR 1.5 — серьезное обновление серьезной платформы

Reading time3 min
Views1.1K
Оказалось, что на хабре нету ничего про Adobe AIR 1.5, так что я решил восполнить пробел. И вот, что же нового и интересного в этой версии, мы и поговорим далее.

Самым первым я бы отметил, что обновились сами внутренности платформы. Если кто не знает, по большому счёту, два основных компонента платформы AIR — это Flash-движок и движок рендеринга HTML/JavaScript-а WebKit. Вот именно они и обновились. Ведь на днях вышла новая версия Flash-плагина 10 версии, в котором также очень много изменений и нововведений. Если раньше беты можно было использовать в браузерах, то в платформе AIR использовалась устаревшая версия Flash-плеера, теперь же версии сравнялись и все возможности 10-й версии Flash-а доступны для использования.
Читать дальше →

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

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

Расширения ExtJS для платформы Adobe AIR

Reading time4 min
Views1.3K
Как и обещал, продолжаем знакомить с новинками фреймворка ExtJS. На этот раз команда разработчиков сообщает, что в сотрудничестве с Adobe они развивают библиотеке в сторону совместимости с платформой AIR. И эта новость самая приятная, ведь именно для запуска серьезных AJAX приложений эта среда подходит наилучшим образом, а ExtJS позволяет создавать профессиональные интерфейсы, почти неотличимые от обычных десктопных, однако используя только средства HTML/CSS/JavaScript.

Не так давно Adobe выпустила следующее значительное обновление AIR-а за версией 1.5 и эта тема заслуживает отдельного разговора, а сейчас обсудим нововведения в ExtJS ( оригинальный пост в блоге разработчиков).
Читать дальше →

ExtJS и хостинг базовых файлов в CDN

Reading time2 min
Views1.9K
Если вы разрабатываете проекты на ExtJS, то наверняка в вашем дереве исходных кодов есть сам дистрибутив библиотеки и вы его подключаете на всех страницах, где используются ее возможности. И храните саму библиотеку также у себя на хостинге. Это, конечно, правильный и простой подход, но имеет свои ограничения. Во-первых, в большинстве случаев именно ExtJS будет самым большим компонентом страницы, ведь его общий объем около 1 Мб, а значит и будет тормозить страницу, пока браузер не загрузит всю библиотеку. Как выход, все рекомендуют настраивать сжатие (например, mod_deflate, хорошо, что браузеров, которые не понимают сжатый контент, теперь почти нет, а у кого есть, тот, как говорится, сам себе злобный буратино), теги кеширования и т.п. Ну и на крайний случай — собирать под свой проект, или даже под каждую страницу, свою версию библиотеки, включая туда необходимые компоненты. Я уже писал о структуре фреймворка и расположенном на сайте конструкторе, который сможет автоматически сформировать вам ваш личный дистрибутив.
Читать дальше →

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

Reading time4 min
Views99K
Параллельно к основной работе, я в «фоне» обдумываю и прикидываю реализации архитектуры для игровых проектов (напомню, что основная область моих интересов и работ — создание онлайновых браузерных игр). Последнее время я все чаще и чаще возвращаюсь к мысли, что интересно было бы реализовать основной игровой сервер на основе очередей сообщений (MQ или Messages queue). То есть, движок такой игры будет представлять собой набор компонентов, которые будут общаться между собой посредством асинхронных сообщений, а каждый компонент может быть как генератором сообщений, так и подписчиком, то есть исполнять другие сообщения.

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

Firebug 1.3 и 1.4 alpha — что нового и интересного?

Reading time3 min
Views728
Если вы профессиональный веб-разработчик и постоянно имеете дело с разработкой и отладкой сложных AJAX приложений, то наверняка знаете и используете Firebug — плагин для браузера Firefox, предназначенный для отладки и исследования веб-приложений. Текущая его версия, 1.2х достаточно стабильная и функциональна, чтобы помочь в 99% проблем, которые могут возникнуть при разработке. Но и этот инструмент не лишён если не недостатков, то некоторых фич, которые могли бы облегчить работу. И даже идеальный инструмент можно сделать ещё более идеальным, как бы это не звучало.
Читать дальше →

Обзор нового релиза самой мощной Ajax библиотеки — Dojo Toolkit 1.2

Reading time7 min
Views2.8K
Хотя наш обзор немного запоздал, оригинальный Dojo 1.2 вышел в релизной версии ещё 6-го октября, но сейчас мы наверстаем упущенное. И так, Dojo Toolkit — это самая мощная и гибкая ajax-библиотека из всех, что есть на рынке, она активно развивается и имеет большое комьюнити. Кстати, это самое комьюнити, совместно с компанией Sitepen, имеет ещё несколько проектов, среди которых и Cometd и некоторые другие, не менее интересные, о которых мы скоро вам расскажем. Сегодня же все внимание на флагманский продукт — Dojo 1.2.

Наверное я опущу детальное описание общей архитектуры фреймворка, это уже рассказывалось неоднократно в других наших публикациях, а в этой версии ничего глобального не поменялось, так что если вы основывали своё приложение на 1.1 ветке, думаю, переход пройдет с минимальными изменениями кода. А вот что же нового и интересного появилось — мы сейчас рассмотрим.
Читать дальше →

MemcacheDB и MemcacheQ — ключевые компоненты высокопроизводительной инфраструктуры

Reading time5 min
Views7.6K
Cегодня мы поговорим о компонентах для высокопроизводительной и масштабируемой архитектуре на основе сервера memcached, а именно — распределённой базе для хранения данных MemcacheDB и системы очередей сообщений MemcacheQ.



Сначала рассмотрим, а что у нас есть в распоряжении для создания распределённой инфраструктуры хранения данных для веб-приложения. Ну, первое, что приходит в голову — кластеризация базы данных, это теперь поддерживается во всех распространённых системах, а также различные технологии репликации. Например, самая популярная СУБД для веб-проектов, MySQL поддерживает как репликации так и кластеризацию. Ещё можно обратится к традиционным файловым система и хранить данные в файловой системе, к примеру, Apache Hadoop. Но часто это слишком высокоуровневое решение, обычно же требуется гораздо проще варианты — когда нужно хранить и оперировать просто парами ключ-значение. Если серьёзно посмотреть, такая функциональность позволит покрыть потребности 90% веб-приложений. А если мы прибавим к этому возможность очень и очень быстро оперировать данными, хранить их в виде распределённой многосерверной системе и возможность постоянного хранения, устойчивого к сбоям — получим очень привлекательную платформу.

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

Стартапы-победители на конкурсе Seedcamp 2008

Reading time5 min
Views646
imageЕсли вы следите за различными сетевыми конференциями и мероприятиями, где «тусуются» представители он-лайн мира, то вероятно слышали о недавно прошедшем, наверное, правильно сказать, фестивале или конференции Seedcamp 2008 в Лондоне 19 сентября. Там была и целая часть, посвящённая стартапам и поиску инвестиций, присутствовало множество венчурных инвесторов и представителей фондов. Само мероприятие было ориентировано на европейские компании, и это вдвойне ценнее — несмотря на формирование тренда за океаном, Европа также не отстает, и многим было просто интересно — в Старом свете уже сформировалась культура стартапов или как? Оказалось, все на месте, и в результате конкурсного отбора выявлено 7 победителей — самых интересный, перспективных и рыночных. Далее мы кратко рассмотрим каждый из них.
Читать дальше →

Elastic Server On-Demand — мне один виртуальный сервер, два приложения и пиво, пожалуйста!

Reading time5 min
Views1.8K
Наша аудитория достаточно профессиональная, чтобы я с самого начала материала стал убеждать вас в пользе и полезности виртуализации. Это сейчас тренд номер один (ну, или, по крайней мере, один из основных) в мире ИТ и это не просто дань моде, а реальная и обоснованная потребность рынка. А теперь вспомните последний раз, когда вы развёртывали виртуализированную инфраструктуру. Например, мой опыт в этом достаточно большой (хотя и односторонний) — я просто люблю иногда тестировать различные ОС и специфические конфигурации приложений, поэтому мне часто приходится развёртывать один или несколько виртуальных серверов. Вот из последних — очень хотел JeOS поставить, специальный дистрибутив Ubuntu, ориентированный на виртуальные среды, однако он никак не хотел даже запускаться после установки. А уж сколько было случаев, когда были сложности с установкой тех или иных программ, обновлений, несовместимости конфигураций — это вообще отдельный разговор. А оказалось, и для этого есть решения. Простое и оригинальное — веб-сервис в стиле web 2.0 (да-да, именно так) для создания и распространения виртуальных серверов, их образов. И так, рассмотрим Elastic Server On-Demand от Cohesive FT.

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

Caucho Resin — сервер приложений Java/PHP

Reading time6 min
Views6.5K
Для приложений Java, я имею ввиду, веб-приложений, существует уже достаточное количество серверов, которые уже давно разрабатываются и давно вышли на уровень, достаточный для того, чтобы применять их в самых сложных и ответственных случаях. Думаю, всем знают Apache Tomcat и Jetty — самые известные сервера из списка открытых разработок. Но к этому списку нужно добавить теперь еще и Caucho Resin. В ряде тестов его Pro версия превосходит в производительности Tomcat 6, обладая при этом рядом возможностей «из коробки», которых нет в других серверах или они реализуются при помощи сторонних средств.

И так, Resin — высокопроизводительный HTTP и сервер приложений для Java/PHP приложений, с возможностью масштабироваться и кластеризироваться в начальной конфигурации. Кстати, именно в этом состоит различие между обычной, open-source версией и Pro. В этой версии есть функции автоматического детектирования остановившихся или зависших сессий и рестарта сервера, а также средства мониторинга состояния JVM и потребления памяти. Кластеризация позволяет распределить нагрузку на несколько серверов, при этом сессии будут привязаны к конкретному серверу и мигрируют в фоновом режиме при крахе обслуживающей его ноды. Об этом стоит как то поговорить отдельно, возможно, в отдельной статье — я собираюсь плотно занятся изучением этого сервера и его возможностей, а результат буду публиковать в виде статей.
Читать дальше →

"Петя летом отдыхает, Саша и Маша делают стартап!" — 10 последних проектов от Y Combinator

Reading time6 min
Views820
Мой самый любимый и уважаемый фонд Y Combinator презентовал четырнадцать стартапов, которые он выращивал на прошедшей летней сессии. Хотя по разным источникам я встречал упоминание о 10 или даже 20 стартапах, на самом деле их 21, хотя не все были показаны публично или о них есть какая-либо информация. Потому мы расскажем только о тех, что публично раскрыли себя.

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

10gen — ещё один стартап в области Cloud Computing

Reading time6 min
Views2.1K
Сегодня мы поговорим о чём-то высоком… облачном. Да, о новом или, вернее, малоизвестном у нас стартапе, который создал свою платформу для облачных вычислений, хотя и это не совсем уж так точно — это платформа, которая предоставляется как сервис и позволяет получить гибкую и масштабированную среду исполнения для веб-проектов. В чём-то это все похоже на известный всем и уже почти нарицательный Amazon EC2, но и отличается от него существенным образом. Что и как — мы дальше и рассмотрим.

Стартап 10gen предлагает разработчикам свою технологию построения platform-as-a-service, которая позволяет получить гибкую и почти неограниченную по масштабированию платформу (уже сколько раз мы повторили это слово) для развёртывания приложений, которым нужно работать в условиях переменной нагрузки, которая, однако, имеет тенденцию для постоянного роста, которым нужно защищённая и простая платформа, чтобы добавление нового сервера или апгрейд базы данных не вызвал прекращение работы всей системы на несколько часов или суток.
Читать дальше →

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity