"Маленькие хитрости" программирования на JavaScript

Всяческий Бред - Идти на Главную Страницу >>>

Категории:

Полезные Сведенья
Кухонная Философия
Общество и его пороки
Новости
Еда и Питье
Техника
Разное
Личное
Природа
Фото/Видео
"Веселые" Картинки
Юмор


Пишите Письма



Реклама:

Реклама

May 5, 2008

JavaScript переводится в последовательность байт, которая записывается как изображение. Изображение сохраняется в PNG-формате, в PNG используется довольно эффективное сжатие, что даже при расходах на заголовок даёт ощутимые результаты — известная библиотека Prototype (124 килобайта) стала занимать всего 30 килобайт в восьмибитном PNG-файле. Каждый пиксель в 24-битном PNG позволяет хранить три байта информации, в 8-битном формате — один.

Далее PNG-изображение загружается в тег CANVAS (нужный функционал поддерживается FireFox, WebKit/Safari и бета-версией «Оперы») и считывается попиксельно функцией getImageData, после чего полученный код выполняется (eval) и мы получаем исходный JavaScript.

Сжатие JavaScript, используя PNG и Canvas

Офигеть. Хотя в принципе вещь очевидная, если заниматься этим. Но кто из "байт-оптимизаторов" счас программирует на JavaScript? Подобные извраты с сжатием кода практически ушли в прошлое. Впрочем, насколько я понимаю, такая работа с CANVAS раньше не была имплементирована, да и сейчас не факт что будет работать во всех браузерах.



Тэги: May2008 Полезные сведенья

Темы, имеющие некоторое отношение к этой (русскоязычный поиск в mysql все же очень не совершенен):
Маленькие хитрости August 30, 2016
Маленькие хитрости June 18, 2018
Плод американского социализма January 21, 2012
Удивительный мир программирования August 25, 2015
Программистское, злобное. June 8, 2008


posted by nathrezim.livejournal.com/ at May 6, 2008 Свернуть
Реально, конечно, в JS используют только сжатие кода за счет выкидывания из кода комментариев и лишних символов (переводы строк, отступы,...).
Это Болк уже извращается... =)

posted by ilvar at May 6, 2008 Свернуть
Где-то в тех же краях видел Mario и Wolfenstein 3D на JS, долго веселился.

Изврат с PNG точно не работает в Internet Explorer, но теоретически было бы интересно его с gzip-ом сравнить по эффективности.

posted by *Shef at May 15, 2008 Свернуть
А в MP3 код нельзя жать?
posted by мини_я at May 15, 2008 Свернуть
PNG использует метод сжатия без потерь. MP3 - с потерями. Восстановить изначальный код будет не возможно.


пользователь: пароль:
регистрироваться  Залогинится под OpenID


Архив:

Sep2018   Aug2018   Jul2018   Jun2018   May2018   Apr2018   Mar2018   Feb2018   Jan2018   Dec2017   Nov2017   Oct2017   Sep2017   Aug2017   Jul2017   Jun2017   May2017   Apr2017   Mar2017   Feb2017   Jan2017   Dec2016   Nov2016   Oct2016   Sep2016   Aug2016   Jul2016   Jun2016   May2016   Apr2016   Mar2016   Feb2016   Jan2016   Dec2015   Nov2015   Oct2015   Sep2015   Aug2015   Jul2015   Jun2015   May2015   Apr2015   Mar2015   Feb2015   Jan2015   Dec2014   Nov2014   Oct2014   Sep2014   Aug2014   Jul2014   Jun2014   May2014   Apr2014   Mar2014   Feb2014   Jan2014   Dec2013   Nov2013   Oct2013   Sep2013   Aug2013   Jul2013   Jun2013   May2013   Apr2013   Mar2013   Feb2013   Jan2013   Dec2012   Nov2012   Oct2012   Sep2012   Aug2012   Jul2012   Jun2012   May2012   Apr2012   Mar2012   Feb2012   Jan2012   Dec2011   Nov2011   Oct2011   Sep2011   Aug2011   Jul2011   Jun2011   May2011   Apr2011   Mar2011   Feb2011   Jan2011   Dec2010   Nov2010   Oct2010   Sep2010   Aug2010   Jul2010   Jun2010   May2010   Apr2010   Mar2010   Feb2010   Jan2010   Dec2009   Nov2009   Oct2009   Sep2009   Aug2009   Jul2009   Jun2009   May2009   Apr2009   Mar2009   Feb2009   Jan2009   Dec2008   Nov2008   Oct2008   Sep2008   Aug2008   Jul2008   Jun2008   May2008   Apr2008   Mar2008   Feb2008   Jan2008   Dec2007   Nov2007   Oct2007   Sep2007   Aug2007   Jul2007   Jun2007   May2007   Apr2007   Mar2007   Feb2007   Jan2007   Dec2006   Nov2006   Oct2006   Sep2006   Aug2006   Jul2006   Jun2006   May2006