0xF0, UTF и AMF

Что будет если строку, которая содержит в себе 0xF0, передать на сервер из клиента? Все строки которые прийдут на сервер, по спецификации AMF0 (AMF3) будут c UTF кодировкой.

Когда BlazeDS «парсит» сообщение, из DataInput читается строка следующим образом:


( Читать дальше )

Простой пример.

Я не хочу писать о том как установить Flex Builder и как его сконфигурировать. Причина не в моей лени, причина в том что если это человеку интересно он откроет гугл и получит тысячи ссылок как это сделать. Также писать пример использования какой либо компоненты просто скучно — есть TourDeFlex в котором подробно рассказано как пользоваться компонентами.

Мой коллега, архитектор и ведущий разработчик в крупнейшем проекте нашей компании как то попросил меня посмотреть материал который он подготовил для собеседования претендента на должность разработчика. Это был код и вопрос заключался в следующем — объясни мне пожалуйста что происходит в коде и чтобы ты изменил. Ответ подразумевал подробный анализ и, если это необходимо, рефакторинг кода. Пример приводить я не буду по двум причинам — я не могу выносить конкретные примеры из моей работы и само по себе задание достаточно сложное и подразумевает наличия не только знаний Flex, но и в общем практики программирования. Но сейчас вспомнив это задание я подумал что для человека который только начинает и которому это действительно интересно нужен совет. Как и что сделать. Не кусок кода, а обсуждение и выяснение причин и следствия.

( Давайте поиграем )
  • +3
  • 24 июля 2010, 09:39
  • cyril
  • 23

Вопрос сериализации.

Серверная сторона- Java, клиент — Flex.
Сериализация — процесс представления объекта в виде массива байтов.
Дисериализация — процесс обратный сериализации, т.е. восстановление объекта из набора байтов.

Для сериализации обьекта необходимо чтобы класс, инстансом которого является обьект, реализовывал интерфейс java.io.Serializable.

( В коде это выглядит так )
  • 0
  • 23 июля 2010, 23:46
  • cyril
  • 2

Объектно - событийная модель

Просто поболтать :)

Общежитие №3 ДонГУ )) 9 и 10 этажи.

Максим, Кирилл, Сергей, Женя и Саша могут выпить вотки.

У Максима в начале июня ДР и он говорит:
— эй парни! А не выпить ли нам водки завтра. Точное время не известно — как только прихожу с работы — пьем.
— канешно Максим. мы ждем тебя и вотку.

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

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

Так вот. Это — простой пример объектно — событийной модели на примере ситуации из прошлого :)
Максим у нас выступает в роли продюсера события. Он в какой то момент выбросит событие (задиспатчит ивент), а остальные хлопчики — лисенеры ) Слушатели. Они подписываются на это событие и ждут (слушают) когда оно произойдет. У всех этих ребят есть общая способность какая то и они реализовывают по разному. Так вот когда диспатчер задиспатчит событие, все лисенеры начнут что то делать для обработки этого события. Скажите ж круто ))))

Что то подобное происходит во флексе, в свинге, в жквери и т.д.… где есть пользовательский интерфейс — там присутствует объектно-событийная модель.
  • 0
  • 19 июля 2010, 00:13
  • cyril
  • 10

Прикольная задачка. Чисто на заметку для собеседований )

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

На клиенте происходит что то типа такого


  .....
   for (var i:int=0; i < 100; i++)
   {
     .....
     remoteObject.getResultFromService(new mx.rpx.Responder(resultHandler, faultHandler);
   ....
   }
   ....


То есть заходим в цикл, что то там делаем и инвокаем по результату этого того что то там на сервере ))))

Внимание знатоки ))) Сколько будет http/amf запросов )? Для тех кто знает что такое флеш — ответ скорее всего очевиден, но для того кто плавает, как показала практика, это ловушка которая очень сильно влияет на производительность всей системы.
  • +1
  • 17 июля 2010, 08:20
  • cyril
  • 5

special for PigmaLion (About Flex)

Adobe Flex — технология для создания Rich Internet Applications. Flex — это родственная Flash технология, основанная на описании интерфейса приложения (и обработчиков событий, связи источников данных с объектами и т. п.) с помощью диалекта XML — MXML. Flex приложение может компилироваться на сервере (для этого потребуется mod_flex.so или mod_flex.dll в зависимости от ОС и вебсервера), а может — из IDE или непосредственно из командной строки с помощью компилятора mxmlc (начиная с Flex 2), как и во Flash, результатом является файл swf, исполняемый Flash Player.

Flex — это большой набор классов (Flex SDK), содержащий многие не вошедшие во Flash компоненты. Достоинства Flex тесно связаны с его спецификой, MXML. Например, Flex компоненты для построения графиков сделаны удобными для использования и выглядят очень приемлемо для использования «как есть».

Интегрированная среда разработки Flex Builder 2, которая обеспечивает более высокую производительность, создана на свободно распространяемой платформе разработки Eclipse. Поскольку многие разработчики уже используют Eclipse при программировании на Java, Flex Builder 2 предоставляет им знакомую среду для создания и Java-приложений, и полнофункциональных клиентов.

Кроме того, возможна разработка Flex (ActionScript 3) проектов с помощью средств OpenSource — в частности, FlashDevelop (Windows), axdt, flex2ant (оба последних средства являются плагинами Eclipse и кроссплатформенны, однако по удобству работы с ними значительно уступают FlashDevelop).

Flex 2, помимо скорости разработки, предоставляет полные мультимедийные возможности Flash Platform: включая потоковое видео, звук (в том числе и программный), бинарные сокеты и большое число прочих новых возможностей ActionScript 3.

Благодаря Flex 2, веб-сервисы могут использоваться для связи с сервером при частом обращении к данным при небольшой полезной нагрузке. Для более ресурсоемких приложений Adobe предлагает программное обеспечение Flex Data Services 2 Express, которое может поддерживать связь между источником данных и уровнем представления. Flex Data Services 2 способен передавать данные с сервера на клиент. Серверный компонент может, например, извлечь данные из серверного приложения SAP и переслать их клиенту. Теперь функции Flex Presentation Server встроены в Flex Data Services.

Ещё одно неоспоримое достоинство технологии Flex, тесно связанное с достоинствами ActionScript 3 — это возможность OpenSource разработки Flash-проектов без использования Adobe Flash IDE, с помощью «чистого» программирования. При этом Flash-разработка становится принципиально доступна в том числе и на платформе Линукс. (Первые возможности такого рода были предоставлены при создания компилятора ActionScript 2 [mtasc mtasc.org/], но ActionScript 3 позволил сделать Flash-программирование гораздо более стройным и логичным).

Flex является высокоэффективной средой разработки с открытым кодом для создания и обслуживания веб-приложений, совместимых со всеми наиболее распространенными обозревателями, платформами персональных компьютеров и версиями операционных систем. Создание приложений Flex возможно только в среде Flex, однако ПО Adobe Flash Builder™ (ранее известное, как Adobe Flex® Builder™) позволяет ускорить разработку программного обеспечения при помощи таких функции, как интеллектуальное создание кода, интерактивная пошаговая отладка и визуальное проектирование макета интерфейса пользователя.
  • 0
  • 16 июля 2010, 12:55
  • Olga
  • 25
Не забываем смотреть статистику:

Яндекс цитирования