Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Регистрация Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Блоги

Даже в определениях идиотизма встречается идиотизм.
Цитата:
Идиотизм — устаревшее название идиомы
Идиома в программировании — понятие близкое к понятию шаблона проектирования. Идиомы представляют собой шаблоны проектирования, учитывающие специфику конкретного языка программирования и потому не универсальные. Это хорошие решения проектирования для конкретного языка или программной платформы.
Аватар для BlooDHounD
стервочка (я мужик)

Обновление blooddy_crypto.swc до версии 0.5.1

Запись от BlooDHounD размещена 31.03.2016 в 14:38
Обновил(-а) BlooDHounD 11.04.2016 в 22:19
Код был полностью переписан под компилятор ASC2.0
  • Исправлено несколько ошибок, которые были найдены в процессе.
  • Библиотека автоматически обнаруживает и использует нативные методы Flash Player в классах JSON, PNG и JPEG
  • Теперь сборка библиотеки не требует специальных средств и весь код доступен на GitHub
  • Новая версия умеет работать в асинхронном режиме в отдельном потоке.
Код AS3:
import by.blooddy.crypto.MD5;
import by.blooddy.crypto.events.ProcessEvent;
 
var md5:MD5 = new MD5();
...
Старый
 
Размещено в ActionScript
Комментарии 9 BlooDHounD вне форума
Аватар для BlooDHounD
стервочка (я мужик)

Кто не успел - тот опоздал

Запись от BlooDHounD размещена 19.04.2011 в 14:09
Обновил(-а) BlooDHounD 19.04.2011 в 14:23
для понимания материала необходимы следующие знания:
getTimer


давно ничего не писал. сейчас буду ругать таймеры.

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

со временем мы начали получать репорты о том, что у некоторых пользователей после десяти минут в игре действия ...
Старый
 
Размещено в идиотизм , ActionScript , bug , avm
Комментарии 22 BlooDHounD вне форума
Аватар для BlooDHounD
стервочка (я мужик)

Обновление blooddy_crypto.swc до версии 0.3.1

Запись от BlooDHounD размещена 29.11.2010 в 01:53
Обновил(-а) BlooDHounD 11.04.2016 в 22:15
для понимания материала необходимы следующие знания:
blooddy_crypto.swc v0.1
blooddy_crypto.swc v0.3


сделал экстренное обновление библиотеки.

Konstantin Simply обнаружил баг: JPEGEncoder перестал дописывать 2 байта, из-за чего некоторые декодеры не могли обработать изображение.

а так же я добавил Adler32.

Старый
 
Размещено в ActionScript
Комментарии 7 BlooDHounD вне форума
Аватар для BlooDHounD
стервочка (я мужик)

blooddy_crypto.swc теперь умеет JSON

Запись от BlooDHounD размещена 13.10.2010 в 19:30
Обновил(-а) BlooDHounD 11.04.2016 в 22:16
для понимания материала необходимы следующие знания:
blooddy_crypto.swc


что новенького:
  • поправлены мелкие баги
  • по мелочам заоптимизированы текущие алгоритмы
  • для PNG8 появилась новая палитра LevelsPalette
  • перед PNG-сжатием картинки теперь проверяется на прозрачность не только флагом transparent, но и существованием прозрачных пикселей ( прозрачные картинки сжимаются медленнее )
  • добавлены SHA-1 и SHA-2 ( 224, 256 )
  • добавлена (де)сериализация JSON-данных

...
Старый
 
Размещено в ActionScript
Комментарии 21 BlooDHounD вне форума
Аватар для BlooDHounD
стервочка (я мужик)

Загадочный CommaExpression

Запись от BlooDHounD размещена 06.09.2010 в 14:16
Обновил(-а) BlooDHounD 07.09.2010 в 00:17
как-то я проводил с пользой "день свободы от забот", помогая ребятам из realaxy в создании их творения, за что они благоухают ко мне ненавистью.
изучая поддержку CommaExpression в их редакторе, я обнаружил, что в самом компиляторе проблем с поддержкой данной конструкции тоже хватает.

для начала расскажу как и где может применяться CommaExpression.

самое распространённое применение он обрёл конечно же в объявлении переменных:
Код AS3:
var i:int = 5, j:int = 2;
...
Старый
 
Размещено в идиотизм , ActionScript , bug , compiler , avm
Комментарии 8 BlooDHounD вне форума
Аватар для BlooDHounD
стервочка (я мужик)
Рейтинг: 5.00. Голосов: 2.

Обновление blooddy_crypto.swc

Запись от BlooDHounD размещена 06.07.2010 в 16:24
Обновил(-а) BlooDHounD 11.04.2016 в 22:16
для понимания материала необходимы следующие знания:
blooddy_crypto.swc


вышла новая версия моей крипто-библиотеки.
изменения:
  • микрооптимизация со всеми алгоритмами ( уменьшен расход памяти и небольшой прирост в скорости )
  • решена проблема с багом ( баг затрагивал MD5 и PNGEncoder )
  • для непрозрачных картинок используется при PNG-сжатии используется 3 байта на цвет
  • добавлена поддержка PNG8

по умолчанию для PNG8 используется палитра Median_cut. но если очень ...
Старый
 
Размещено в ActionScript
Комментарии 11 BlooDHounD вне форума
Аватар для BlooDHounD
стервочка (я мужик)

Идиотизмы: кэширование? да ну его!

Запись от BlooDHounD размещена 02.07.2010 в 05:00
вот мне интересно как так устроенно AS3 API, что оно так странно работает?

напрмиер чудесным образом заоптимизированное удаление детей, или странно работающий инкримент.

на ряду с этим у нас есть 2 метода:
getDefinitionByName
getClassByAlias

объясните мне идиоту, почему приходится писать обёртки для этих методов? что в них такого страшного происходит, что приходится делать локальные хэши?
в результате через такой метод всё работает ...
Старый
  Комментарии 6 BlooDHounD вне форума
Аватар для BlooDHounD
стервочка (я мужик)
Рейтинг: 5.00. Голосов: 2.

Идиотизмы: не ByteArray а мусорка

Запись от BlooDHounD размещена 29.06.2010 в 02:07
Обновил(-а) BlooDHounD 02.07.2010 в 05:06
для понимания материала необходимы следующие знания:
flash.utils.ByteArray


сижу я, значит, пишу обновлении для своей крипто-библиотеки, и случайно вывожу на экран 2 результата от 2 запусков PNGEncoder.
первый вариант 100% совпадает с оригиналом, а второй был слегка искажён. я сперва не сообразил, что произошло, а потом пришёл в состояние шока. решил добавить ещё парочку результатов, и получил, ещё более искажённые результаты.

Название: Безымянный.jpg
Просмотров: 2563

Размер: 28.7 Кб
...
Старый
 
Размещено в идиотизм , ActionScript , bug , ByteArray , avm
Комментарии 31 BlooDHounD вне форума
Аватар для BlooDHounD
стервочка (я мужик)

Скрытый потенциал Error

Запись от BlooDHounD размещена 27.06.2010 в 20:26
Обновил(-а) BlooDHounD 28.06.2010 в 11:50
у класса Error недавно повилось 2 недокументированных метода:
Код AS3:
public static function getErrorMessage(index:int):String;
public static function throwError(type:Class, index:int, ...parameters):*;
первый возвращает локализованный текст нативной ошибки, а второй выкидывает исключение по коду ошибки с вбитым текстом.
некоторым ошибкам можно передать параметры для замены в тексте. для этого throwError принимает неограниченное количество параметров.

пример:
Код AS3:
Error.throwError(
...
Старый
 
Размещено в ActionScript
Комментарии 6 BlooDHounD вне форума
Аватар для BlooDHounD
стервочка (я мужик)

Идиотизмы: с чем готовить haXe для флэш-гурмана?

Запись от BlooDHounD размещена 15.06.2010 в 05:03
Обновил(-а) BlooDHounD 15.06.2010 в 09:59
для понимания материала необходимы следующие знания:
haXe


haXe по свей идеологии остался на уровне AS2. хотя он и умеет компилировать в AVM2-байткод, до AS3 ему ещё очень далеко:
  • отсутствие namespace'ов
  • отсутствие internal в каком либо виде
  • отсутствие private как сущности: всё является protected
  • отсутствие констант
кроме недостатков самого языка есть более важные минусы:
  • после компиляции напрочь исчезают private и становятся public
  • отсутвие нативных getter/seeter
...
Старый
  Комментарии 4 BlooDHounD вне форума
Аватар для BlooDHounD
стервочка (я мужик)
Рейтинг: 5.00. Голосов: 8.

Тяжёлые алгоритмы на стероидах (MD5, Base64, CRC32, JPEG, PNG)

Запись от BlooDHounD размещена 11.06.2010 в 19:51
Обновил(-а) BlooDHounD 11.04.2016 в 22:18 (поменял вложения)
Реализовал парочку алгоритмов на замену аналогам из as3corelib:
  • MD5
  • Base64
  • JPEG
  • PNG
результаты бенчмарка на моей машине:
Код:
by.blooddy.crypto.MD5.hashBytes: 40
com.adobe.crypto.MD5.hashBytes:  4483

by.blooddy.crypto.Base64.encode: 115
mx.utils.Base64Encoder:          1635

by.blooddy.crypto.Base64.decode: 141
mx.utils.Base64Decoder:          2762

by.blooddy.crypto.image.JPEGEncoder.encode: 447
com.adobe.images.JPGEncoder:
...
Старый
 
Размещено в ActionScript , compiler , haXe
Комментарии 63 BlooDHounD вне форума
Аватар для BlooDHounD
стервочка (я мужик)

Идиотизмы: с миру по нотке

Запись от BlooDHounD размещена 08.06.2010 в 02:39
Обновил(-а) iNils 08.06.2010 в 02:45
не секрет, что в AS есть различные недокументированные багафичи.

например у класса Object есть такие вот методы:
Код AS3:
protected static function _dontEnumPrototype(proto:Object):void;
protected static function _setPropertyIsEnumerable(o:*, V:String, enumerable:Boolean):void;
static function init():*;
а как обнаружил недавно Дениска ( etcs.ru ), если, попытаться объявить метод $construct у наследников DisplayObject, то получим следующие ошибки:
Код:
1021: Повторное определение функции.
...
Старый
  Комментарии 16 BlooDHounD вне форума
Аватар для BlooDHounD
стервочка (я мужик)

Идиотизмы: Metadata у Stage

Запись от BlooDHounD размещена 08.06.2010 в 02:09
Обновил(-а) iNils 09.06.2010 в 13:26
для понимания материала необходимы следующие знания:
Metadata
flash.utils.describeType


у себя в проектах, я довольно часто использую метаданные.

в AS есть зарезервированный метатэг [Exclude], который скрывает указанную сущность в инспекторе билдера, и иногда в подсказках к коду. тэг должен применяться к классу. множество примеров можно обнаружить во Flex-фрэймворке. но этот метатэг применим не только для флекса, но и к обычным pure-as3 проектам.
...
Старый
 
Размещено в идиотизм , ActionScript , bug , xml
Комментарии 0 BlooDHounD вне форума
Аватар для BlooDHounD
стервочка (я мужик)

Идиотизмы: мнемоники в XML

Запись от BlooDHounD размещена 08.06.2010 в 01:45
Обновил(-а) BlooDHounD 02.07.2010 в 05:07
для понимания материала необходимы следующие знания:
XML
Мнемоники


все знают, что у нас XML неправильный?
Код AS3:
var node:XML = <node />;
node.appendChild( '<>&"' );
node.@prop = '<>&"';
в результате в теле не будет заменена " ( кавычка ), а в атрибуте как есть останется >.
на такое поведение ругнётся практически любой валидатор. почему спец символы не всегда заменяются на мнемоники, для меня загадка...
главный ...
Старый
 
Размещено в avm , идиотизм , ActionScript , bug , xml
Комментарии 0 BlooDHounD вне форума
Аватар для BlooDHounD
стервочка (я мужик)

Идиотизмы: brackets vs dot

Запись от BlooDHounD размещена 08.06.2010 в 01:05
Обновил(-а) BlooDHounD 02.07.2010 в 05:07 (криво назвал)
как-то давно я просматривал исходники флекса и не врубался почему они используют [ ] ( brackets ) для доступа к свойствам ко многим объектами. хотя сама адоба вроде как рекомендует юзать . ( dot ). так вот недавно я ощутил на себе парадокс ситуации.
понадобилось мне написать такой вот код:
Код AS3:
var LoaderConfig:Class = ApplicationDomain.currentDomain.getDefinition( 'mx.messaging.config::LoaderConfig' ) as Class;
var parameters:Object = ( LoaderConfig ? LoaderConfig.parameters : null );
удивиться ...
Старый
 
Размещено в идиотизм , ActionScript , bug , compiler , avm
Комментарии 0 BlooDHounD вне форума
Аватар для BlooDHounD
стервочка (я мужик)
Рейтинг: 5.00. Голосов: 2.

Идиотизмы: множественный addedToStage.

Запись от BlooDHounD размещена 07.06.2010 в 20:58
для понимания материала необходимы следующие знания:
flash.display.DisplayObject


множественный addedToStage... Вы думаете, что addedToStage срабатывает единожды? как бы не так!
давайте составим цепочку, в которой где в хэдлере на addedToStage будем создавать спрайт и ложить в только что добавленный спрайт (target).
Код AS3:
package {
 
    import flash.display.Sprite;
    import flash.events.Event;
 
    public class test extends Sprite {
...
Старый
 
Размещено в display , идиотизм , ActionScript , bug
Комментарии 7 BlooDHounD вне форума
Аватар для BlooDHounD
стервочка (я мужик)
Рейтинг: 5.00. Голосов: 2.

Идиотизмы: кто мой папа?

Запись от BlooDHounD размещена 07.06.2010 в 20:36
для понимания материала необходимы следующие знания:
flash.text.TextField
flash.display.SimpleButton


вспомни цепочку наследования класса TextField:
TextField ► InteractiveObject ► DisplayObject ► EventDispatcher ► Object

так вот это враньё.
на самом деле там пропущен DisplayObjectContainer.

рассмотрим на примере:
Код AS3:
package { 
 
    import flash.display.Sprite;
    import flash.events.Event;
    import
...
Старый
  Комментарии 1 BlooDHounD вне форума
Аватар для BlooDHounD
стервочка (я мужик)

Идиотизмы: загрузка данных.

Запись от BlooDHounD размещена 07.06.2010 в 19:26
Обновил(-а) BlooDHounD 08.06.2010 в 01:10 (table)
для понимания материала необходимы следующие знания:
flash.display.Loader
flash.media.Sound
flash.net.URLLoader
flash.net.URLStream
flash.net.FileReference


все обязательно писали прелоадеры для различных этапов работы приложения. никто не обращал внимания на предоставленные интерфейсы для загрузки контента?
задача, делать прелоадер, который может отображать процесс загрузки любого ресурса. а таких у нас имеется аж 5:
  1. Loader
  2. Sound
  3. URLLoader
...
Старый
  Комментарии 10 BlooDHounD вне форума
Аватар для BlooDHounD
стервочка (я мужик)

Идиотизмы: как лишить родительских прав?

Запись от BlooDHounD размещена 07.06.2010 в 17:27
Обновил(-а) BlooDHounD 07.06.2010 в 18:11 (безграмотность)
для понимания материала необходимы следующие знания:
flash.display.DisplayObjectContainer


допустим у нас есть 2 объекта:
Код AS3:
var container:DisplayObjectConteiner
var child:DisplayObject;
известно, что child находится в container. у container переопределены методы удаления, или вовсе отсутствуют ( removeChild и т.д. ).
но нам, злым юристам, очень хочется забрать ребёнка у отца!

нет ничего проще:
Код AS3:
var s:Sprite = new Sprite();
s.addChild( child );
...
Старый
 
Размещено в идиотизм , ActionScript , display
Комментарии 1 BlooDHounD вне форума
Аватар для BlooDHounD
стервочка (я мужик)
Рейтинг: 5.00. Голосов: 3.

Идиотизмы: Sound

Запись от BlooDHounD размещена 07.06.2010 в 17:01
Обновил(-а) BlooDHounD 07.06.2010 в 17:12
для понимания материала необходимы следующие знания:
flash.media.Sound
!true не всегда false


допустим есть класс SSS ( не спрашивайте, почему он такой ):
Код AS3:
package {
 
    import flash.media.Sound;
    import flash.media.SoundLoaderContext;
    import flash.net.URLRequest;
 
    public class SSS extends Sound {
 
        public function SSS() {
            super();
        }
 
        public
...
Старый
 
Размещено в идиотизм , ActionScript , bug , compiler , sound
Комментарии 3 BlooDHounD вне форума
Аватар для BlooDHounD
стервочка (я мужик)

Идиотизмы: !true не всегда false

Запись от BlooDHounD размещена 23.04.2010 в 16:47
мы имеем очень странный компилятор ...
в некоторых случаях компилятор оптимизирует написанный нами код. например он вырезает не исполняемые блоки. такие как, код написанный после return, или блоки условий с заведомым false:
Код AS3:
if ( false ) {
	// ...
}
этот код вырежется, так как компилятор видит, что этот код не исполняется. но это происходит не всегда. конструкции посложнее он не трогает.
Код AS3:
if ( !true ) {
	// ...
}
а этот код вкомпилится =) ибо условие усложнилось ...
Старый
 
Размещено в bug , compiler , идиотизм , ActionScript
Комментарии 10 BlooDHounD вне форума
Аватар для BlooDHounD
стервочка (я мужик)
Рейтинг: 5.00. Голосов: 2.

Идиотизмы: Socket

Запись от BlooDHounD размещена 23.04.2010 в 14:34
Обновил(-а) BlooDHounD 07.06.2010 в 17:11
для понимания материала необходимы следующие знания:
flash.net.Socket
Подключение к сокетам




ну вот за что флэшерам такие мучения? Socket, казалось, ну что можно сломать в таком примитивном классе? анннет.
и так.
1. мы пытаемся законектися.
2. допустим наш сервер лежит.
3. нам само сабой вываливается ioError.
4. мы, узнав о такой трагедии, расстраиваемся и отписываемся от всех событий.
5. получаем unhadled securityError ...
Старый
 
Размещено в идиотизм , ActionScript , bug , socket
Комментарии 60 BlooDHounD вне форума

 


Часовой пояс GMT +4, время: 16:33.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2017, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.