воскресенье, 23 декабря 2012 г.

Community / ruFlash на G+ (RU)

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

Кратко, чем G+ Community лучше, чем в fb Group:

  • поиск по сообществу;
  • категории сообщений;
  • примитивная поддержка markdown (только *bold*);
  • плотность гиков выше ;]

Так что вступайте в наши ряды: ruFlash на G+

суббота, 15 декабря 2012 г.

Realaxy First Preview Video (EN)


Here is just video preview of your project of social-net with 3D objects in 3D environment. Which we will launch soon.

Tech under the hood

For 3D web applications we use flash with Stage3D (the most common 3D-environment in web), based on Alternativa3D engine, for GUI we use Flex (because it's now better for quick developing of complex applications) and maybe soon we switch to Starling with FeathersUI. For IoC (InversionOfControl) we use SwiftSuspenders (simple, lite and useful lib for injections). Our unittests had written with the help of FlexUnit and Mockolate for mocking. Logging with as3commons-logging (simple but useful things - it has appender for push log at browser console). Web pages has Backbone.js and jQuery underneath.

Follow me to take a part of closed beta, and know more technical details.

Follow us in social nets - fb, g+, vk

пятница, 7 декабря 2012 г.

Списки / Лучшие русскоязычные подкасты о программировании v0.2 (RU)

Год назад я уже сделал небольшой обзор русскоязычных подкастов о программировании. И похоже настало время обновить список, must listen для программиста.

Change log

  • добавлены новые, удалены старые;
  • лица ведущих, часто хочется узнать кто-же же прячется за томным авторитетным голосом;
  • каждый подкаст сопровождается одним выпуском, чтобы слушатель мог не уходя со страницы выбрать что ему нравиться;

четверг, 6 декабря 2012 г.

Event / To know about future of flash platform from 1st hands! Meet-up of Flash Developer / UAFPUG-41 (EN) / Updated

Attention! Don't miss!

Tomorrow (7 December) will come 41 meet-up of Ukrainian Flash Platform User Group (UAFPUG) at Kiev. It' will come offline and online. So we can to take part from from around the world.
Start at 10:30 (UTC +0).
Page of online translation is http://adobechats.adobeconnect.com/uafpug-41.
Just select guest, and type your nickname.

Lineup

Legend of Flash Platform Thibault Imbert from Adobe

Thibault Imbert
I think he is now most famous person from Adobe, that push Flash Platform forward.
You will know about future of Flash Player: Stage3D, Startling, Feathers UI, project Monocle.

Sergey Gonchar talented developer of 3D worlds

Сергей Гончар
His speech will be a little about our revolutionary 3D product, you will see it soon. In general he will talk about technical side of developing 3D application on Flash Platform, Stage3D, optimization tricks and so on..
Join us on event http://fpug.org.ua/meeting/41

Event / Узнай о будущем Flash уже сегодня! Встреча Flash Разработчиков / UAFPUG-41 (RU)

Не пропустите!

Завтра (7ого ноября) пройдет 41 встреча украинских flash разработчиков (UAFPUG). А так же во время встречи будет online-трансляция, и если вам не удастся, как и мне попасть на нее. Мы все таки можем принять участие удаленно!

Начало в 12:30 (UTC +2), т. е. в 10 утра на нулевом меридиане.

Страница Online трансляции http://adobechats.adobeconnect.com/uafpug-41. Входим как guest, указываем свой nickname.

Выступают

Легендарный Thibault Imbert из Adobe

Thibault Imbert

Грубо говоря, он сейчас основная фигура Flash-а в Adobe, поэтому если ваша жизнь или работа как-то связана с продуктом Adobe, не пропустите возможность пожать руку этому интересному человеку.

Расскажет про будущее Flash Player: Stage3D, Startling, Feathers UI, project Monocle.

А так же знаменитый Сергей Гончар

Сергей Гончар

Сергей расскажет про наш продукт, который скоро изменит мир :). Рассмотрит технические подробности разработки 3D приложений на flash платформе. Stage3D, трюки оптимизации и др.

Страница ивента http://fpug.org.ua/meeting/41

пятница, 30 ноября 2012 г.

Libs / UnitTesting для Javascript - Окружение (RU)

Главной особенностью модульного тестирования веб-приложений, -- необходимость воссоздания окружения - т.е. браузера. Это конечно не касается приложений написанных для node.js, там все проще.

Однако бывают ситуации, когда браузер оказывается не нужен, и можно обойтись его упрощенной эмуляцией.

Дальше в статье кратко опишу подходы с минимальным окружением или без оного (PhantomJs, ZombieJS, чистый Node.js), а так же подход с запуском тестов в браузере (jsTestDriver, Testacular).

пятница, 9 ноября 2012 г.

Architecture / Model-View-Presenter (MVP) Theory (RU)

Как-то совершенно незаметно привычная модель MVC в моих проектах мутировала к MVP (Model View Presenter). Возможно тому способствовали прочтения Мартина Фаулера и использование разных фреймворков вроде SwiftSuspenders или Parsley.

Далее в тексте буду стараться использовать именно английские названия Model, View, Controller, Presenter, чтобы избежать ненужных коннотаций с их русскими аналогами.

MVC vs MVP


Не взирая на все плюсы MVC, у него есть и большие проблемы. Одна из них:
читабельность кода и отладка — дело в том, что настраивать систему, построенную на событиях (Observer Synchronization), задача достаточно не тривиальная и без trace и breakpoint часто сложно реализуемая.

воскресенье, 4 ноября 2012 г.

3D / First week of course of Foundations of Computer Graphics (EN)

Here is starting online course of 3D graphics (CS184.1x Foundations of Computer Graphics) taught by Ravi Ramamoorthi is a Professor at UC Berkeley. Because I feel of lack of theoretical knowledge with it I decide to join it. Feel free join it too. It'll be cool to study together!

The full course is long for a 6 weeks. With 4 homeworkds.

If i will get something interesting i also shared it with you. Stay in touch.

суббота, 3 ноября 2012 г.

News / Little reDesign 'Any Key To Create' (EN) / Updated

I tired from previous design

... Oh no i haven't done a screenshot...

and fallback it to simple template. I thinks now blog look better:




If you have any ideas, about design, you can tell it here. You welcome.

Also become more social

add G+ page for the blog.

пятница, 2 ноября 2012 г.

Game Design / A Slower Speed of Light (EN)

One of approach to find something new and interesting, it's take something, make its more abstracted as you can and move it to the new environment. It's frequently use in applied science, for example when Gustave Eiffel had been building his tower, he was inspired by thighbone.

Take look closer, here is game with excellent idea of gameplay. In a focus we have relativistic mechanics applied to game environment. It's excellent idea to get player get new experience and understand complex scientific ideas.

One more good news - it's opensource project and it was built by MIT.



среда, 24 октября 2012 г.

Tricks / Оптимизация для Starling (RU)

Начиная с мая 2012 в Starling начали использовать паттерн - объектный пул для событий (Event). Теперь каждая отправка сообщения не создает новый экземпляр, а использует существующий. Вот короткий пример:

//по-старинке. Создаем экземпляр
dispatchEvent(new Event(Event.COMPLETE));

//по-новому. Event будет взять из пула объектов
dispatchEventWith(Event.COMPLETE);

Еще один повод начать использовать Starling Events а не Signals Robert Penner-а. И вот неделю назад Джош (создатель Feathers) перешел с Signals на Event-ы от Starling. Но не стоит забывать о одной проблеме пула объектов и событий, - после отправки Event-а в свободное плаванье, исходный объект перестает как либо контролировать жизненный путь экземпляра Event-а, поэтому есть шанс с вероятностью отличной от нуля, что этот Event попадет в руки 2х разных процессов, которые станут совместно владеть Event-ом, не подозревая об этом. Единственный выход,- не хранить указатели на Event-ы.

Tricks / Starling Optimization (EN) / Updated

From may of 2012 in Starling started using pattern pool of objects for events. So for every dispatch of event new instance doesn't create. Here example:

//ordinary. Create instance
dispatchEvent(new Event(Event.COMPLETE));

//new. Use pool of Events
dispatchEventWith(Event.COMPLETE);

One more point to start using custom Starling Events nor Robert Penner Signals. Actually I'm in love with Signals. But here was one problem - Starling uses custom Events but Feathers (ex-Foxhole) has used Signal. But now about one week Josh (author of Feathers) had move from Signals to Starling Events. I think it's better.

Be aware there some snake pit: Pool of objects can return you object that still used other event handler. That requires more trust to third-part handlers.

Update

By the way, here is wiki page, about this trick. And one more - about pass and cache additional date with events.

суббота, 6 октября 2012 г.

What come's next... (EU)

Подзабил я немного на блог, а материала уже набралось, из горячих тем:

  • Worker-ы на flash;
  • Maven для flash;
  • Node.js;
  • MongoDB;
  • CoffeeScript;
  • Мобильная разработка на js+html PhoneGap, jquerymobile;
  • И куча библиотек на js : backbone.js, require.js, leaflet и др.;
Так же есть желание начать публиковать статьи как на русском так и на английском. А теперь пожелаем мне найти на это все время, до связи :)

суббота, 16 июня 2012 г.

Многозадачность во флеше / Worker in the as3 / Перевод

Ранее, в этом блоге, уже была статься-конспект о Worker-ах сделанных с доклада на Adobe Max 2011. Сейчас же делаем слудующий шаг - Сокращенное изложение, не менее краткого обзора, от Тибо — многознадачности в actionscript: http://www.bytearray.org/?p=4423 .

Во-первых, многозадачность обещает выйти из prelease на свет божий уже со следующей бетой, тогда же Тибо обещает выложить более полное руковоство о многозадачности (а учитывая популярность данной темы, постараюсь и я).

вторник, 5 июня 2012 г.

FlexUnit / Bug


Поймал редкий баг. После копирования большого проекта из одного Eclipse проекта в другой, отпали все flexunit тесты, и начал получать неприятное ошибки в каждом:






четверг, 12 апреля 2012 г.

Имитация в тестировании / Mock в Mockolate

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

Mock переводят как - пародийный, фиктивный, мнимый. или имитация, подделка. Но я предпочитаю использовать английское слово, чтобы избежать наслоения дополнительный оттенков.


среда, 28 марта 2012 г.

News / Премиум возможности Flash Player / Premium Features / Updated

28 марта Adobe сообщила каким образом собирается зарабатывать на разработчиках. Все желающие отсылаются к соответствующим статьям. А здесь же я привожу краткую выдержку из них:









Кто
В каких условиях придется платить
  • если использовать Stage3D и DomainMemory (новый быстрый способ работы с памятью, доступен с flash player 11.2). Со слов Adobe, они не намерены менять список премиум возможностей;
  • исключением является 
    • использование Stage3D и DomainMemory в AIR;
    • и если доход меньше $50'000 после налогов и всяких других отчислений

среда, 21 марта 2012 г.

Framework / Текущая ситуация с RobotLegs 2


Небольшая подборка ссылок думаю будет полезна всем, кто решил получить представление, что из себя представляет следующая ступень развития супер-популярного MVC фреймворка Robotlegs, а именно его вторая версия.

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

Таким образом весь материал имеет скорее ознакомительный характер.

понедельник, 12 марта 2012 г.

Анализ / Краткий тест-драйв AlternativaGUI

Три месяца назад AlternativaPlatform зарелизила AlternativaGUI, с тех пор вышло много обновлений, судя по всему проект активно развивается. В блоге утверждается, что AlternativaGUI - это простой способ создать комплексный интерфейс. Памятуя это, решил использовать библиотеку в своем следующем проекте для прототипирования GUI.

Требовался достаточно стандартный набор компонент: кнопки, поля редактирования текста, область со скрол-барами, деревом с нодами и панель с таб-баром. И конечно хотелось иметь гибкий интерфейс с Resize-ом контента.

Исходя из примера, AlternativaGUI обладала всем необходимым. И даже большим.

Press Any Key...