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

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

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

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

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

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

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

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

Что то подобное происходит во флексе, в свинге, в жквери и т.д.… где есть пользовательский интерфейс — там присутствует объектно-событийная модель.

Класс для загрузки изображений на сервер. Часть 2

Продолжаю статью для совместного перевода. Пишите либо в комментах, либо в личку. Я по-ходу дела буду обновлять саму статью.

( Под катом установки для манипуляций с подключенной библиотекой GD2+. )

Класс для загрузки изображений на сервер. Часть 1

Надо создать галерею, да ещё сделать надпись на изображении аля водяной знак, надо загрузить аватару? — не вопрос, предлагаю обратить внимание на универсальный класс для загрузки файлов class.upload.php. Сложно придумать функцию, которая не была бы встроена в это чудесный класс.

Итак, у нас есть самая простая форма:
<form enctype="multipart/form-data" method="post" action="upload.php">
<input type="file" size="32" name="image_field" value="">
<input type="submit" name="Submit" value="upload">
</form>

Прошу обратить внимание на multipart/form-data, без этого не будет сформирован ассоциативный массив $_FILES['image_field'].

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

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

Ложь, наглая ложь и статистика

Недавно вышла новая версия Joomla 1.5.19. Разработчики рекомендуют обновиться, так как программисты устранили четыре уязвимости, позволяющие злоумышленникам осуществлять XSS-атаки (Cross-Site Scripting) и производить взлом сайтов с использованием так называемой SQL-инъекции (SQL Injection).

Лирическое отступление:
«Ложь, наглая ложь и статистика» (полный вариант: Существуют три вида лжи: ложь, наглая ложь и статистика, англ. There are three kinds of lies: lies, damned lies, and statistics) — высказывание, приписываемое премьер-министру Великобритании Бенджамину Дизраэли, а известность оно получило благодаря Марку Твену после публикации «Главы моей автобиографии» в журнале North American Review 5 июля 1907 г.: «Цифры обманчивы, — писал он, — я убедился в этом на собственном опыте; по этому поводу справедливо высказался Дизраэли: „Существует три вида лжи: ложь, наглая ложь и статистика“». Однако этой фразы нет в работах Дизраэли. Также она не была известна ни при его жизни, ни вскоре после смерти. С точки зрения современных представлений наиболее вероятной кандидатурой на авторство является Чарльз Дилк (1843—1911).


А теперь немного «статистики»:

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

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

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

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


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


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

Внимание знатоки ))) Сколько будет http/amf запросов )? Для тех кто знает что такое флеш — ответ скорее всего очевиден, но для того кто плавает, как показала практика, это ловушка которая очень сильно влияет на производительность всей системы.

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™) позволяет ускорить разработку программного обеспечения при помощи таких функции, как интеллектуальное создание кода, интерактивная пошаговая отладка и визуальное проектирование макета интерфейса пользователя.

Затяжной отпуск без энтузиазма


Когда из отпуска вернётесь,
Вам, безусловно, станет ясно,
Как ни печально, – на работе
Без вас обходятся прекрасно.


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

Policy file logging for the Flash player

Ошибка

Server reported an error Send failedChannel.Security.Error error Error #2048: Security sandbox violation:

многим кто сталкивался с Flex/Flash знакома. 2 минуты поиска в гугле и причина будет установлена. В 98% случаев будет проблема или с отсутствием crossdomain.xml или же с его неправильной конфигурацией. Но в 2% случаев — нейросекс. И тут на подмогу приходит Policy file logging for the Flash player.

Как включить?

Установите дебаггер версию Флеш плеера от 9,0,115,0. Найдите файл конфигурационный файл mm.cfg. Этот основной конфиг для дебаг версии флеш плеера инициализируется при запуске. Как правило этот файл находится в корневой директории пользователя.

Windows: C:\Documents and Settings\username
Windows Vista: C:\Users\username
Macintosh: /Users/username
Linux: /home/username

Если же его нет, просто создайте его и добавьте следующие строки:

PolicyFileLog=1 # Enables policy file logging
PolicyFileLogAppend=1 # Optional; do not clear log at startup

Если PolicyFileLogAppend стоит как 0, каждый новый запуск SWF файла будет перезаписывать содержимое лога.

Теперь собственно файл с логами — policyfiles.txt. Он не обязательно существует и плеер после включения логирования создаст его. Предполагаемые пути:

Windows: C:\Documents and Settings\username\Application Data\Macromedia\Flash Player\Logs
Windows Vista: C:\Users\username\AppData\Roaming\Macromedia\Flash Player\Logs
Macintosh: /Users/username/Library/Preferences/Macromedia/Flash Player/Logs
Linux: /home/username/.macromedia/Flash_Player/Logs

Запускаем любую флешку в дебаг плеере, закрываем плеер и идем в директорию с логами (см. выше).

Полезная фича. Подробная документация — www.adobe.com/devnet/flashplayer/articles/fplayer9_security_05.html

Четверг — повод есть всегда

Работать в четверг — насмерть убиться!
Надо в теннис играть и в сиську напиться!

Интеграция выпадающего jQuery-меню в шаблон Joomla.

В этой статье подробно рассказывается, как интегрировать красивое выпадающее jQuery-меню в шаблон Joomla. Идея не нова, но почему-то я практически не встречал толковых руководств по интеграции. Все пишут: «Вот, замечательное меню. Берите и пользуйтесь!». При этом подразумевается, что читатели знают, как его использовать. Это и естественно, ведь данные статей не рассчитаны именно на Joomla, хотя с интеграцией в Joomla у новичков могут возникнуть сложности. В этой статье я решил подробно рассказать, что и как делать. Надеюсь, она окажется многим полезна.


( Читать дальше )
Не забываем смотреть статистику:

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