<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>FLASH GORDON VS AS3</title>
	<atom:link href="http://www.flash-gordon.ru/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.flash-gordon.ru</link>
	<description>и не только</description>
	<lastBuildDate>Wed, 01 Dec 2010 12:31:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>vs кодировщики JPEG-файлов.</title>
		<link>http://www.flash-gordon.ru/vs-jpeg-encoders/</link>
		<comments>http://www.flash-gordon.ru/vs-jpeg-encoders/#comments</comments>
		<pubDate>Wed, 01 Dec 2010 10:03:03 +0000</pubDate>
		<dc:creator>Alexey Fedotov</dc:creator>
				<category><![CDATA[Мысли вслух]]></category>
		<category><![CDATA[alchemy]]></category>
		<category><![CDATA[encoder]]></category>
		<category><![CDATA[jpeg]]></category>
		<category><![CDATA[jpg]]></category>

		<guid isPermaLink="false">http://www.flash-gordon.ru/?p=159</guid>
		<description><![CDATA[В своих проектах я, очень часто, сталкиваюсь с генерацией файлов разных графических форматов. Чаще всего это, конечно, обычные jpg файлы. В этом посте я хочу рассказать вам о разных кодировщиках осуществляющих данную процедуру, сравнить их и выбрать лучший. Итак, наши номинанты на получение премии лучший Jpeg Encoder: com.adobe.images.JPGEncoder Кодер от as3corelib JPEGEncoder Оптимизированная байтарейцами кодер [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.flash-gordon.ru/wp-content/uploads/2010/11/jpg.jpg" alt="" title="jpg" width="600" height="405" class="alignnone size-full wp-image-187" /></p>
<p>В своих проектах я, очень часто, сталкиваюсь с генерацией файлов разных графических форматов.<br />
Чаще всего это, конечно, обычные jpg файлы.<br />
В этом посте я хочу рассказать вам о разных кодировщиках осуществляющих данную процедуру, сравнить их и выбрать лучший.</p>
<p>Итак, наши номинанты на получение премии лучший Jpeg Encoder:</p>
<p><strong>com.adobe.images.JPGEncoder</strong><br />
Кодер от as3corelib</p>
<p><strong>JPEGEncoder</strong><br />
Оптимизированная байтарейцами кодер от as3corelib<br />
<a href="http://www.bytearray.org/?p=775">http://www.bytearray.org/?p=775</a></p>
<p><strong>cmodule.jpegencoder.CLibInit</strong><br />
Alchemy кодер от segfaultlabs<br />
<a href="http://segfaultlabs.com/devlogs/alchemy-asynchronous-jpeg-encoding-2">http://segfaultlabs.com/devlogs/alchemy-asynchronous-jpeg-encoding-2</a></p>
<p><strong>by.blooddy.crypto.image.JPEGEncoder</strong><br />
Кодер от blooddy<br />
<a href="http://www.blooddy.by/ru/crypto/">http://www.blooddy.by/ru/crypto/</a></p>
<p>Сразу нужно заметить, что генерация jpeg файлов бывает двух видов &#8211; синхронная и асинхронная.<br />
<strong>Синхронная</strong> кидает всю мощность системы на просчет файла и &#8220;вешает&#8221; систему до полного окончания генерации.<br />
<strong>Асинхронная</strong> делает просчет с паузами, тем самым, позволяя выводить на экран данные процесса и совершать пользователю действия.<br />
Соответственно синхронная работает быстрее в несколько раз.<br />
Какую из них выбрать зависит зависит от типа вашей разработки и размера генерируемого файла.</p>
<blockquote><p><em>Например для генерации больших файлов в пользовательских приложениях лучше использовать асинхронную, так как пользователь получает не &#8220;зависший флэш&#8221;, а красивую картинку с процентами процесса генерации файла. Для мелких файлов конечно лучше синхронная, небольшое подвисание компенсируется быстротой генерации.</em></p></blockquote>
<p>Чтобы долго не тянуть рассмотрим на практике результаты тестов.</p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_test_1192975556"
			class="flashmovie"
			width="550"
			height="400">
	<param name="movie" value="http://www.flash-gordon.ru/wp-content/uploads/2010/12/test.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.flash-gordon.ru/wp-content/uploads/2010/12/test.swf"
			name="fm_test_1192975556"
			width="550"
			height="400">
	<!--<![endif]-->
		
<p><a href="http://adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>

	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p><del datetime="2010-12-01T12:18:12+00:00">Как видите, &#8220;алхмия&#8221; уделывает все остальные кодировщики по скорости.</del></p>
<blockquote><p><strong>UPDATE: </strong>Как оказалось на локале и в браузере кодировщики ведут себя по-разному. Если на локалке &#8220;алхимия&#8221; в лидерах.<br />
То в браузере кодировщик от bloody уделывает её. Для более точного анализа отпишитесь в коментах о ваших результатах.</p></blockquote>
<p>Но дело в том, что библиотка от segfaultlabs уделывает все остальные еще и по гибкости настроек.<br />
Если в стандартных кодировщиках у нас просят всего два параметра (bitmapdata и качество сжатия jpg), то &#8220;алхимия&#8221; может принять и размеры исходного джепега и налету его заресайзить.</p>
<p><strong>А сейчас небольшой туториал по подключению этой прекрасной библиотеки в формате fla + FlashDeveloper.</strong></p>
<p>1. Качаем swc библиотеку отсюда (ссылка внизу поста) http://segfaultlabs.com/devlogs/alchemy-asynchronous-jpeg-encoding-2 и сохраняем её, например, в папочку lib вашего проекта.</p>
<p>2. Создаём новый fla-файл, открываем Publish Settings. Чтобы swc библиоткека не ругалась плохими ошибками ставим галочку Export SWC. В результате при компиляции проекта рядом с swf вы увидите swc файл, который не нужен для последующей работы с swf.<br />
<img src="http://www.flash-gordon.ru/wp-content/uploads/2010/11/1.jpg" alt="" title="1" width="382" height="93" class=" size-full wp-image-167" /></p>
<p>3. Заходим в &#8220;ActionScript 3.0 Settings&#8230;&#8221; и инклудим библиотеку с помощью кнопки Browse.<br />
<img src="http://www.flash-gordon.ru/wp-content/uploads/2010/11/2.jpg" alt="" title="2" width="382" height="93" class="size-full wp-image-168" /></p>
<p>4. Открываем Flash Developer проект и с помощью правой клавиши мыши добавляем библиотеку в проект.<br />
<img src="http://www.flash-gordon.ru/wp-content/uploads/2010/11/3.jpg" alt="" title="3" width="382" height="93" class="size-full wp-image-169" /></p>
<p><strong>Теперь немного кода.</strong></p>
<p>Инициируем библиотеку:</p>
<p><pre><code>import cmodule.jpegencoder.CLibInit;&nbsp;&nbsp; 
_jpeginit:CLibInit = new CLibInit();
_jpeglib = _jpeginit.init();</code></pre></p>
<p>Подключаем кодировщик:<br />
<pre><code>_jpeglib:Object;
_progressMonitor:Number; //монитор прогресса ж)
_jpgArray:ByteArray; //временное хранилище
_jpgStream:ByteArray; //итоговый массив файла
_jpgSource:BitmapData; //исходная битмапа для кодировки

_progressMonitor = setInterval(encodeProgress, 20); //заряжаем мониторинг прогресса
_jpgArray = _jpgSource.getPixels(_jpgSource.rect);
_jpgArray.position = 0;
_jpgStream = new ByteArray();
_jpeglib.encode(_jpgArray, _jpgStream, _jpgSource.width, _jpgSource.height, 60); //синхронная кодировка
//или
_jpeglib.encodeAsync(encodeComplete, _jpgArray, _jpgStream, _jpgSource.width, _jpgSource.height, 60); //асинхронная кодировка

function encodeComplete(ba:ByteArray) {
&nbsp;&nbsp;clearInterval(_progressMonitor); //останавливаем прогресс монитор
}

function encodeProgress() {
&nbsp;&nbsp;trace(&quot;Progress - &quot; + Math.round(_jpgArray.position / _jpgArray.length * 100) + &quot;%&quot;);
}</code></pre></p>
<p>Спасибо за внимание, вопросы и каменты приветствуются.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flash-gordon.ru/vs-jpeg-encoders/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>vs Мой Мир</title>
		<link>http://www.flash-gordon.ru/vs-moi-mir/</link>
		<comments>http://www.flash-gordon.ru/vs-moi-mir/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 14:52:47 +0000</pubDate>
		<dc:creator>Alexey Fedotov</dc:creator>
				<category><![CDATA[Мысли вслух]]></category>

		<guid isPermaLink="false">http://www.flash-gordon.ru/?p=148</guid>
		<description><![CDATA[Портировал и запустил с 1 июля приложение «Моя Вебка» на Мой Мир. Неожиданно поразил рост приложения: ~4000 установок и ~7000 уников в день. В результате пришлось срочно увеличивать мощность серваков, расширять канал и оптимизировать доступ к статичным файлам. Безусловно на рост влияет но только виральность и качество приложения, но и нахождение в топах каталога. За [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.flash-gordon.ru/wp-content/uploads/2010/07/Untitled-1.gif" alt="" title="" width="408" height="218"  /></p>
<p>Портировал и запустил с 1 июля приложение «Моя Вебка» на Мой Мир.</p>
<p>Неожиданно поразил рост приложения:<br />
<strong>~4000 установок и ~7000 уников в день.</strong></p>
<p>В результате пришлось срочно увеличивать мощность серваков, расширять канал и оптимизировать доступ к статичным файлам.<br />
Безусловно на рост влияет но только виральность и качество приложения, но и нахождение в топах каталога. За что ММ огромное спасибо от всех независимых разработчиков, кстати, в довес ко всему каждому предложению предлагают бесплатный рекламный пакет.</p>
<p>Кстати, как оказалось ММ обладает достаточно вменяемой группой админов-разработчиков API, общаются с обычными сметрными, помогают решить вопросы.<br />
Документация и реализация самого же API оставляет пока желать лучшего, но я думаю рано или поздно всё приведут в божеский вид.</p>
<p>Из недостатков API &#8211; прямая загрузка на сервер ММ пока невозможна, поэтому приходится сначала сохранять на свой сервак и потом уже постить в альбом и в гостевую.<br />
Будем наблюдать&#8230;</p>
<p><strong>Update:</strong> Дали бесплатный пакет рекламы, не сказал бы, что рекламка супер цтрная, но эти цифры уж очень вселяют пессимизм в бесплатные пакеты. Сдаётся мне общая засраность рекламой Моего Мира сказывается на этом.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flash-gordon.ru/vs-moi-mir/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>vs Facebook API Bugs</title>
		<link>http://www.flash-gordon.ru/vs-facebook-api-bugs/</link>
		<comments>http://www.flash-gordon.ru/vs-facebook-api-bugs/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 08:48:53 +0000</pubDate>
		<dc:creator>Alexey Fedotov</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Охота на жуков]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[graph api]]></category>

		<guid isPermaLink="false">http://www.flash-gordon.ru/?p=3</guid>
		<description><![CDATA[У фэйсбука обнаружился занятный баг. Дело в том, что если попытаться через API запостить на стену фотографию из своего альбома, то ничего не получится. Фэйсбук блокирует постинг картинок со своих серверов. Причем это произошло после перехода на Graph API. Раньше всё работало. Многие безсерверные разработчики обломались на этом. Одно непонятно действительно это баг или же [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.flash-gordon.ru/wp-content/uploads/2010/06/facebug.jpg" alt="" title="I am a facebug!" width="500" height="342" /></p>
<p>У фэйсбука обнаружился занятный баг. Дело в том, что если попытаться через API запостить на стену фотографию из своего альбома, то ничего не получится. Фэйсбук блокирует постинг картинок со своих серверов. Причем это произошло после перехода на Graph API. Раньше всё работало.<br />
Многие безсерверные разработчики обломались на этом.<br />
Одно непонятно действительно это баг или же это воля фэйсбучья.</p>
<p>Голосование за баг например здесь <a href="http://bugs.developers.facebook.com/show_bug.cgi?id=10647">http://bugs.developers.facebook.com/show_bug.cgi?id=10647</a></p>
<p>А вот &#8220;официальный&#8221; ответ <a href="http://bugs.developers.facebook.com/show_bug.cgi?id=7345#c254"> из вот этого топика</a><br />
<em>We recently rolled out a change to disable stream publish to use images from FBCDN hosts. Please keep in mind FBCDN was designed to temporarily cache images for serving, and you should not rely on it as a permanent image sources. So you have to host your own images somewhere else.</em></p>
<p>Что в переводе с английского обозначает &#8211; <strong>Халява кончилась. Храните деньги в сберегательной кассе.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.flash-gordon.ru/vs-facebook-api-bugs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>vs OAuth 2.0 feat. Graph API Facebook</title>
		<link>http://www.flash-gordon.ru/vs-oauth-graph-api-facebook/</link>
		<comments>http://www.flash-gordon.ru/vs-oauth-graph-api-facebook/#comments</comments>
		<pubDate>Mon, 31 May 2010 12:46:19 +0000</pubDate>
		<dc:creator>Alexey Fedotov</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Социализация]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[graph api]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[приложение]]></category>

		<guid isPermaLink="false">http://www.flash-gordon.ru/?p=40</guid>
		<description><![CDATA[Создание AS3 iFrame приложения на Flash для Facebook на новом Graph API с использованием OAuth 2.0 Недавно Facebook анонсировал запуск нового Graph API который в корне отличается от старого REST API, а также о запуске новой системы авторизации OAUTH 2.0. В связи с этим при разработке нового приложения встал вопрос об изучении этих двух вещей, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flash-gordon.ru/wp-content/uploads/2010/05/fb1.jpg"><img class="alignleft size-full wp-image-95" title="fb" src="http://www.flash-gordon.ru/wp-content/uploads/2010/05/fb1.jpg" alt="" width="500" height="458" /></a></p>
<p><strong>Создание AS3 iFrame приложения на Flash для Facebook на новом Graph API с использованием OAuth 2.0</strong></p>
<p>Недавно Facebook анонсировал запуск нового <a href="http://developers.facebook.com/docs/api" target="_blank">Graph API</a> который в корне отличается от старого <a href="http://developers.facebook.com/docs/reference/rest/" target="_blank">REST API</a>, а также о запуске новой системы авторизации <a href="http://developers.facebook.com/docs/authentication/" target="_blank">OAUTH 2.0</a>.<br />
В связи с этим при разработке нового приложения встал вопрос об изучении этих двух вещей, результатами которого я хочу поделится с тобой, мой юный разработчик.<br />
Этот метод подключения к API не претендует на эталон, но поможет начать твой тернистый путь.</p>
<p><span id="more-40"></span><br />
<strong>Полезные ссылки:</strong><br />
<a href="http://developers.facebook.com/docs/" target="_blank">http://developers.facebook.com/docs/</a><br />
все документы о Graph API</p>
<p><a href="http://developers.facebook.com/docs/api" target="_blank">http://developers.facebook.com/docs/api/</a><br />
описание Graph API<br />
<a href="http://developers.facebook.com/docs/reference/api/" target="_blank">http://developers.facebook.com/docs/reference/api/</a><br />
объекты и методы Graph API<br />
<a href="http://developers.facebook.com/docs/authentication/" target="_blank">http://developers.facebook.com/docs/authentication/</a><br />
об авторицазии OAuth 2.0<br />
<a href="http://developers.facebook.com/docs/reference/javascript/" target="_blank">http://developers.facebook.com/docs/reference/javascript/</a><br />
об использовании JavaScript SDK<br />
<a href="http://www.adobe.com/devnet/facebook/html/popup_hiw_03.html " target="_blank">http://www.adobe.com/devnet/facebook/html/popup_hiw_03.html</a><br />
доступная схема взаимодействия для iFrame Flash приложения и Facebook API<br />
<a href="http://blog.yoz.sk/2010/05/facebook-graph-api-and-oauth-2-and-flash/" target="_blank">http://blog.yoz.sk/2010/05/facebook-graph-api-and-oauth-2-and-flash/</a><br />
howto с Flex примером с помощью которого был создан этот мануал</p>
<blockquote><p>Капитан Очевидность подсказывает, что если переключить Facebook на родной английский язык, то интерфейс станет удобнее и красивше, а ориентироваться станет попроще.</p></blockquote>
<h2>Сначала немного теории.</h2>
<p>Чтобы авторизоваться и начать работать с приложением пользователь должен пройти процедуру аунтефикации, которая основана на получении <strong>access_token</strong> ключа.<br />
Для получения ключа выполняется следующая последовательность действий:</p>
<p style="padding-left: 30px;"><strong>а.</strong> пользователь обращается к страничке приложения http://apps.facebook.com/some_application/;</p>
<p style="padding-left: 30px;"><strong>б. </strong>fb делает редирект на сервер разработчика и грузит index.html с приложением;</p>
<p style="padding-left: 30px;"><strong>в. </strong>приложение обращается к fb за аунтефикацией (в данном случае через JavaScript SDK) и доступом к расширенным параметрам управления профайлом;</p>
<p style="padding-left: 30px;"><strong>г.</strong> пользователь подтверждает или неподтверждает доступ к параметрам на основе чего генерируется access_token;</p>
<p style="padding-left: 30px;"><strong>д.</strong> fb делает запрос к callback.html и передаёт access_token;</p>
<p style="padding-left: 30px;"><strong>е.</strong> callback.html c помощью java скрипта передает в swf ключ access_token;</p>
<p style="padding-left: 30px;"><strong>ж.</strong> можно работать с api через приложение;</p>
<h2>Теперь практика.</h2>
<p>1. Чтобы получить возможность создавать и управлять своими приложениями, тебе необходимо установить себе приложение <a href="http://www.facebook.com/developers/" target="_blank">Developer</a>.</p>
<p>2. Заходишь в <strong>Developer -&gt; +Set Up New Application</strong>. <strong>Basic</strong>: заполняешь все доступные пониманию поля, загружаешь превьюхи.</p>
<p><strong>Canvas -&gt; Canvas Page URL</strong>: пишешь желаемое имя будущего приложение. <em>Например: my_application</em></p>
<p><strong>Canvas -&gt; Canvas Callback URL</strong>: пишешь путь к папке где будет хостится твоё приложение. <em>Например: http://www.myhost.ru/my_application/</em></p>
<p>Нужно заметить, что Facebook в отличии от Вконтакта не предоставляет возможность заливать свои swf файлы на свои серверы. Поэтому каждый разработчик должен иметь свой хостинг.</p>
<p><strong>Connect -&gt; Connect URL</strong>: опять путь к своей папке. Остальные поля пока не важны, жмешь <strong>Save Changes</strong>.</p>
<p>3. Качаешь два класса <a href="http://classes.yoz.sk/sk/yoz/net/FacebookOAuthGraph.as" target="_blank">FacebookOAuthGraph</a> и <a href="http://classes.yoz.sk/sk/yoz/events/FacebookOAuthGraphEvent.as" target="_blank">FacebookOAuthGraphEvent</a>. Кладёшь их в папки sk.yoz.net и sk.yoz.events соответственно.</p>
<p>4. Создаешь класс своего приложения, у меня это FacebookTester.as (ссылка для скачки исходников внизу поста):</p>
<p>Импортируем наши классы:<br />
<pre><pre>import sk.yoz.events.FacebookOAuthGraphEvent;
import sk.yoz.net.FacebookOAuthGraph;</pre></pre><br />
Определяем переменные:<br />
<pre><pre>private var clientId:String = &quot;000000000000000&quot;; //Application ID вашего приложения
private var scope:String = &quot;publish_stream,user_photos,user_photo_video_tags,friends_photo_video_tags&quot;; //просим у пользователя разные разрешения
private var facebook:FacebookOAuthGraph = new FacebookOAuthGraph();
private var redirectURI:String = &quot;http://www.myhost.ru/my_application/callback.html&quot;; //об этом ниже</pre></pre><br />
Общение с API происходит через метод call: <strong><br />
facebook.call(api_method, data, url_method);<br />
</strong>Где:<br />
<strong>api_method </strong>- методы Graph API (например: &#8220;me/friends&#8221;), которые теперь называются &#8216;connections&#8217;.<br />
<strong>data </strong>- необязательный параметр, передаваемые дополнительные параметры в виде URLVariables<br />
<strong>url_method </strong>- необязательный параметр, POST или GET (по умолчанию)</p>
<p>Например, чтобы получить список своих друзей вызываем facebook.call(&#8220;me/friends&#8221;);<br />
Все ответы от Graph API приходят в JSON формате и отображаются в окне <strong>result</strong>.</p>
<p>5. Создаем файл <strong>callback.html</strong>, он нужен для передечи полученного hash-ключа из браузера в приложение.<br />
<pre><pre>

&nbsp;&nbsp;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--mce:0--&gt;&lt;/script&gt;

You may now close this window.</pre></pre><br />
6. Создаем <strong>index.html</strong>, непосредственно контейнер для нашего swf файла. В нем же осуществляется аунтефикация с помощью JavaScript SDK.</p>
<blockquote><p>Не забудь заменить &#8217;00000000000000&#8242; на свой Application ID.</p></blockquote>
<p>7. Заливаешь все файлы на свой сервер <strong>http://www.myhost.ru/my_application/</strong> не забываете о волшебном <strong>crossdomain.xml </strong></p>
<p>8. Идёшь на <strong>http://apps.facebook.com/my_application/</strong> тестировать результат.</p>
<p>Нажимаешь на кнопку &#8220;Connect&#8221; &#8211; вываливается popup с запросом доступа. Разрешаешь. Facebook делает редирект на callback.html и передаёт access_token.<br />
Теперь ты авторизован, о чем говорит сообщение authorized, и трэйс access_token.<br />
В следующие заходы в приложение авторицация будет происходить в фоновом режиме, так как OAuth действует порядка 24 часов.</p>
<p>Далее ты можешь тестировать различные запросы к Graph API и видеть ответы от сервера в поле result.<br />
Кнопка <strong>call нужна</strong> для запросов отдающих JSON.<br />
Кнопка <strong>call binary</strong> нужна для запросов которые отдают результат в byte array виде (например &#8220;me/picture&#8221;), это картинки, видео и мп3.<br />
Кнопка <strong>set status</strong> ставит статус вашему профайлу.</p>
<h4><a href="http://www.flash-gordon.ru/source/FacebookTester.rar" target="_blank">Архив с исходниками качать тут. </a></h4>
<p style="text-align: left;"><strong>Задавайте вопросы, пишите уточнения или правки.<br />
Статья будет постепенно усовершенствоваться и обновляться.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.flash-gordon.ru/vs-oauth-graph-api-facebook/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>vs модераторы “Вконтакте”</title>
		<link>http://www.flash-gordon.ru/vs-moderation-vkontakte/</link>
		<comments>http://www.flash-gordon.ru/vs-moderation-vkontakte/#comments</comments>
		<pubDate>Fri, 28 May 2010 18:56:15 +0000</pubDate>
		<dc:creator>Alexey Fedotov</dc:creator>
				<category><![CDATA[Вконтакте]]></category>
		<category><![CDATA[Охота на жуков]]></category>
		<category><![CDATA[Социализация]]></category>
		<category><![CDATA[вконтакте]]></category>
		<category><![CDATA[модерация]]></category>
		<category><![CDATA[приложение]]></category>

		<guid isPermaLink="false">http://www.flash-gordon.ru/?p=24</guid>
		<description><![CDATA[История одного апрува. 21 мая &#8211; отправил приложение на проверку. 25 мая &#8211; Администратор отклонил заявку на проверку, с сообщением &#8220;скриншот не сохраняется&#8221;. Перепроверил, действительно нашол багу с &#8220;Too many requests per second.&#8221; при первом логине. Вызывались подряд три метода: getFriends, getProfiles, getAlbums. Дело в том, что вконтакт выдает ошибку при частоте запросов &#62; 3 в [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flash-gordon.ru/wp-content/uploads/2010/05/waiting.jpg"><img class="alignnone size-full wp-image-26" title="waiting" src="http://www.flash-gordon.ru/wp-content/uploads/2010/05/waiting.jpg" alt="" width="470" height="626" /></a></p>
<p><strong>История одного апрува.</strong></p>
<p><strong>21 мая</strong> &#8211; отправил приложение на проверку.<br />
<strong>25 мая</strong> &#8211; Администратор отклонил заявку на проверку, с сообщением <em>&#8220;скриншот не сохраняется&#8221;</em>.</p>
<p><span id="more-24"></span></p>
<p>Перепроверил, действительно нашол багу с <em>&#8220;Too many requests per second.&#8221;</em> при первом логине. Вызывались подряд три метода: <strong>getFriends, getProfiles, getAlbums</strong>.</p>
<blockquote><p>Дело в том, что вконтакт выдает ошибку при частоте запросов &gt; 3 в секунду. </p></blockquote>
<p>Заменил их методом execute.</p>
<p><strong>25 мая</strong> &#8211; отправил приложение на проверку.</p>
<p><strong>29 мая</strong> &#8211; Отклонено <em>&#8220;ошибка access denied при просмотре со стены пользователем, у которого приложение не установлено&#8221;</em>.</p>
<p>Да косяк мой, неуглядел. Альбом пользователя создавался с параметром <strong>privacy=1</strong> (только для друзей) вместо <strong>0</strong> (все пользователи), но есть оправдание у меня &#8211; этот баг невозможно отловить на стадии тестирования, так как сторонние пользователи &#8220;не видят&#8221; непроверенное приложение, а админы приложения (которые его видят на стадии &#8220;до проверки&#8221;) не могут быть не друзьями&#8230; Ну тоесть могут конечно, но шанс маловат.</p>
<p><strong>29 мая</strong> &#8211; отправил приложение на проверку.<br />
<strong>31 мая</strong> &#8211; Администратор отклонил заявку на проверку и написал &#8220;<em>ошибка не исправлена (код ошибки &#8211; 200)</em>&#8221;</p>
<p>Нет слов. Написал ответную телегу: </p>
<p><em>Ошибка 200 появляется если у пользователя нет прав на просмотр данной фотографии. Возможно у вас остался старый фото альбом, со старыми настройками доступа, потому как сейчас приложение создаёт альбом с privacy=0. Вы можете это проверить. Если даже поменять права доступа в альбоме &#8211; будет выдаваться ошибка 200. В любом случае, это не критическая ошибка приложения, эту ошибку обрабатывает и выводит само приложение, и чтобы не возникало вопросов у пользователя я заменил текст ошибки на пояснительный текст. Проверьте пожалуйста еще раз повнимательнее. Удалите созданный альбом, удалите старый пост со стены и сделайте новый &#8211; всё будет работать.</em></p>
<p><strong>31 мая</strong> &#8211; отправил приложение на проверку.<br />
<strong>2 июня</strong> &#8211; Отклонено: <em>&#8220;приложение создает альбом без ведома пользователя. Альбом не должен оставаться пустым, т.е. его создание должно происходить вместе с загрузкой первой фотографии&#8221;</em><br />
<strong>3 июня</strong> &#8211; отправил приложение на проверку. <em>&#8220;Исправлено. Альбом создаётся только после нажатия на кнопку &#8216;Сохранить открытку&#8217;.&#8221;</em></p>
<p><strong>6 июня</strong> &#8211; Администратор внес приложение в список проверенных. Администратор внес приложение в список одобренных.<br />
Ура!. Пошёл за шубой.</p>
<p>ps. Кстати на фэйсбуке справились за несколько часов. Видимо у них требования попроще.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flash-gordon.ru/vs-moderation-vkontakte/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>vs Robox “Банк Вконтакте”</title>
		<link>http://www.flash-gordon.ru/vs-robox-bank-vkontakte/</link>
		<comments>http://www.flash-gordon.ru/vs-robox-bank-vkontakte/#comments</comments>
		<pubDate>Fri, 28 May 2010 13:37:22 +0000</pubDate>
		<dc:creator>Alexey Fedotov</dc:creator>
				<category><![CDATA[Вконтакте]]></category>
		<category><![CDATA[Социализация]]></category>
		<category><![CDATA[robox]]></category>
		<category><![CDATA[вконтакте]]></category>
		<category><![CDATA[голоса]]></category>

		<guid isPermaLink="false">http://www.flash-gordon.ru/?p=15</guid>
		<description><![CDATA[Вконтакте есть такое приложение &#8211; Банк (http://bank.vkontakte.ru), заведует им известная и &#8220;любимая&#8221; разработчкиами фирма Robox. Несколько месяцев назад я повелся на их рекламные лозунги и положил 500 голосов прямо в золото. Получилось примерно 3 грамма. Ну положил и положил &#8211; пусть растёт, благо курс золота повышается и повышается. Сегодня, на фоне слухов про отмену вывода [...]]]></description>
			<content:encoded><![CDATA[<p>Вконтакте есть такое приложение &#8211; Банк (<a href="http://bank.vkontakte.ru" target="_blank">http://bank.vkontakte.ru</a>), заведует им известная и &#8220;любимая&#8221; разработчкиами фирма <strong>Robox</strong>.</p>
<p>Несколько месяцев назад я повелся на их рекламные лозунги и положил 500 голосов прямо в золото. Получилось примерно 3 грамма.</p>
<p>Ну положил и положил &#8211; пусть растёт, благо курс золота повышается и повышается.</p>
<p>Сегодня, на фоне слухов про отмену вывода голосов из приложений Вконтакте, я вспомнил об этих голосах и решил их вывести на всякий случай.</p>
<p>Чтобы вы думали? Конечно неполучается&#8230;</p>
<p><a href="http://www.flash-gordon.ru/wp-content/uploads/2010/05/Untitled-11.jpg"><img class="alignnone size-full wp-image-19" title="Невыходит" src="http://www.flash-gordon.ru/wp-content/uploads/2010/05/Untitled-11.jpg" alt="" width="470" height="284" /></a></p>
<p>Мало того что после переконвертации из золота в голоса из <strong>500 вложенных получается 450</strong> (заметьте курс золота то вырос) , так еще и конвертация невозможна по причине неведомой эмиссии. Так и написано <em>&#8220;операция невозможна &#8211; ожидайте эмиссии средств&#8221;</em>.  На отличненько!</p>
<p><em>&#8220;Вы можете положить голоса на хранение в наш банк и никто не сможет ими воспользоваться кроме Вас.&#8221; </em></p>
<p><em><span style="color: #ff0000;">Пожалуй &#8220;кроме Вас&#8221; здесь лишнее.</span></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.flash-gordon.ru/vs-robox-bank-vkontakte/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Флэш Гордон против WordPress</title>
		<link>http://www.flash-gordon.ru/vs-wordpress/</link>
		<comments>http://www.flash-gordon.ru/vs-wordpress/#comments</comments>
		<pubDate>Fri, 28 May 2010 11:15:47 +0000</pubDate>
		<dc:creator>Alexey Fedotov</dc:creator>
				<category><![CDATA[Новости с фронта]]></category>

		<guid isPermaLink="false">http://www.flash-gordon.ru/?p=1</guid>
		<description><![CDATA[Вордпресс версии 3, на удивление, не оказал никакого сопротивления. База данных успешно подключилось, тема блога успешно встала на новую версию, интерфейс интуитивно понятен даже сраному школьнику. Давайте запомним дату этого поста как дату основания нового супер классного блога о технологии flash, социальных сетях, разработке игр, приложений, сайтов и всякой сопутствующей этому ерунде. ps. Почта России [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flash-gordon.ru/wp-content/uploads/2010/05/4167646217_77eae08a85.jpg"><img class="alignnone size-full wp-image-11" title="Схема" src="http://www.flash-gordon.ru/wp-content/uploads/2010/05/4167646217_77eae08a85.jpg" alt="" width="469" height="500" /></a></p>
<p>Вордпресс версии 3, на удивление, не оказал никакого сопротивления.</p>
<p>База данных успешно подключилось, тема блога успешно встала на новую версию, интерфейс интуитивно понятен даже сраному школьнику.</p>
<p>Давайте запомним дату этого поста как дату основания нового супер классного блога о технологии flash, социальных сетях, разработке игр, приложений, сайтов и всякой сопутствующей этому ерунде.</p>
<p>ps. Почта России показала себя во всей красе и сказочная action статуэтка Flash Gordon&#8217;a до сих пор гниёт в катакомбах этой структуры. Продавцы с ebay кусают себя за локти, а мы попытаемся выписать еще одного героя из брастких Соединенных Америких Штатов.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flash-gordon.ru/vs-wordpress/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

