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

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

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

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-данных

моя реализация JSON довольно сильно отличается от реализации в as3corelib.

декодер всегда работает в "мягком" режиме, допуская не используемые в стандарте конструкции:
  • поддерживается значения undefined и NaN
  • строки можно оборачивать как в двойные кавычки, так и в одинарные
  • у строк кроме \u0000 поддерживается и \x00
  • ключи у объекта не обязательно должны быть строками: { key: "value" }
  • у массивов допускаются пустые элементы: [1,,,5,'asd']
  • количество нулей в начале числа не ограничивается 1
  • число может начинаться с точки: .5
  • число может быть записано в hex-виде: 0xFF

отличия энкодеров:
  • при попытки закодировать замкнутые на себе объекты, выбрасывается StackOverflowError
  • XML-объекты кодируются как string
  • Vector'ы кодируются как массивы
  • вырезаются последние элементы массивов, если в них содержатся null или undefined
  • у экземпляров классов константы тоже кодируются. исключать их можно так же как и всё остальные поля: метатэгом Transient.
  • у экземпляров классов поля с пространством имён отличным от public игнорируются.

SHA правильно работает с UTF-8 в отличии от аналогов из as3corelib.

Размещено в ActionScript
Комментарии 21 Отправить другу ссылку на эту запись
Всего комментариев 21

Комментарии

Старый 13.10.2010 21:27 Psycho Tiger вне форума
Psycho Tiger
 
Аватар для Psycho Tiger
Отличная работа, Николай!

Только у меня вкрадываются сомнения, будет ли валиден этот самый "мягкий" JSON для других библиотек на других языках. В любом случае ничто не мешает вставить проверку перед кодировкой. "Браво, маэстро" (с)
Старый 13.10.2010 21:32 BlooDHounD вне форума
BlooDHounD
 
Аватар для BlooDHounD
эээ .... там сказано, что он парсит невалидный JSON. а создаёт он полностью валидный.
Старый 13.10.2010 21:39 Psycho Tiger вне форума
Psycho Tiger
 
Аватар для Psycho Tiger
Упс, не вчитывался, приношу извинения. Тогда вдвойне респект )
Старый 13.10.2010 22:50 gloomyBrain вне форума
gloomyBrain
 
Аватар для gloomyBrain
Цитата:
вырезаются последние элементы массивов, если в них содержатся null или undefined
Хм... а с чем это связано?
Старый 13.10.2010 23:02 fljot вне форума
fljot
Спасибо!
Старый 13.10.2010 23:28 BlooDHounD вне форума
BlooDHounD
 
Аватар для BlooDHounD
gloomyBrain, с тем что я так сделал.
Старый 14.10.2010 01:13 mayakwd вне форума
mayakwd
 
Аватар для mayakwd
уря!
юзаю во всех проектах. а реализация json очень кстати. спасибо.
Старый 30.06.2011 14:24 Tolyaka вне форума
Tolyaka
А что по лицензии? На русском в двух словах. Я могу её использовать без каких либо ограничений?

Можно ли использовать её в Flash IDE?
Как она работает с контактом и facebook? кто практиковал? расскажите!
Обновил(-а) Tolyaka 30.06.2011 в 14:55
Старый 30.06.2011 15:02 Tolyaka вне форума
Tolyaka
Если в бенчмарке кликать на JSON несколько раз тут http://www.blooddy.by/ru/crypto/benchmark/
то by.blooddy.crypto.serialization.JSON decode: с нуля вдруг прыгает на 15 или 16.
Как это понимать? =)
Старый 30.06.2011 15:41 BlooDHounD вне форума
BlooDHounD
 
Аватар для BlooDHounD
Цитата:
Сообщение от Tolyaka
А что по лицензии? На русском в двух словах. Я могу её использовать без каких либо ограничений?
лень делает человека ещё более ленивым. никаких ограничений.
Цитата:
Сообщение от Tolyaka
Можно ли использовать её в Flash IDE?
я не запрещаю. начиная с CS4 Flash IDE умеет работать swc.
Цитата:
Сообщение от Tolyaka
Как она работает с контактом и facebook? кто практиковал? расскажите!
она никак с ними не работает. но, если хотите можете прикрутить.
Цитата:
Если в бенчмарке кликать на JSON несколько раз тут http://www.blooddy.by/ru/crypto/benchmark/
то by.blooddy.crypto.serialization.JSON decode: с нуля вдруг прыгает на 15 или 16.
Как это понимать? =)
это магия! лично у меня прыгает с 10-13.
Старый 01.07.2011 00:25 Tolyaka вне форума
Tolyaka
Тебе показать фокус? =)
Пожалуйста http://www.youtube.com/watch?v=F_ATtGiEGRQ

Пробовал на старом одноядерном однояйцевом домашнем компе. Те же 15-16 ну и нолик конечно! Вот тебе и флешплеер! Это при том что запущен был RManViewer (Аналог radmin'a)

Спасибо за либу.
Позже заюзаю. =)
Только где дока к ней?
Старый 01.07.2011 01:08 BlooDHounD вне форума
BlooDHounD
 
Аватар для BlooDHounD
нету доки. там пример есть. а в целом: магия!
Старый 01.07.2011 15:23 Tolyaka вне форума
Tolyaka
Там???
Старый 03.07.2011 02:33 BlooDHounD вне форума
BlooDHounD
 
Аватар для BlooDHounD
ну не тут же.
Старый 24.11.2011 14:14 alatar вне форума
alatar
 
Аватар для alatar
Если у тебя используются опкоды алхимии, то придется перекомпилировать.
http://ncannasse.fr/blog/adobe_make_some_alchemy
Старый 24.11.2011 14:16 iNils вне форума
iNils
 
Аватар для iNils
Он уже в курсе)
Старый 24.11.2011 14:41 alatar вне форума
alatar
 
Аватар для alatar
Представляю )
Старый 24.11.2011 15:15 BlooDHounD вне форума
BlooDHounD
 
Аватар для BlooDHounD
перекомпилировать не получится. увы. в адобке работают плохие дядьки.
Старый 24.11.2011 15:29 iNils вне форума
iNils
 
Аватар для iNils
Почему не получится?
Старый 24.11.2011 16:08 fish_r вне форума
fish_r
 
Аватар для fish_r
Действительно "What the F.... ?" ((
Старый 24.11.2011 16:21 incvizitor вне форума
incvizitor
 
Аватар для incvizitor
Потому что первую алхимию вырубили еще до прихода второй =) Гениально, не правда ли?
 

 


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


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