4885 читателей, 1388 постов
Администрация
Модераторы
В 2020 Те, Чье Имя Было Google оцифровали и проиндексировали каждую книгу, статью, кинофильм, телепередачу или песню, которая когда бы то ни было появлялась на свет. К 2060 году Они могли назвать IP-адрес или GPS-координаты любого беспроводного смарт-чипа (которые к тому времени внедрялись в ДНК каждого человека, животного или другого органического создания на Земле). У каждого существа имелся психографический профиль поисковых потребностей, немного походивший на примитивные cookies, от которых вел происхождение. Так, если человек терял собаку, поисковый механизм Google мог вернуть его к тому месту, где несчастный расстался со своим питомцем, и собаку проинструктировать соответствующим образом — все через смарт-чип. Наконец, Они создали всеобъемлющую базу человеческих желаний, состояние которой точно соответствовало каждому конкретному моменту.





комментарии (67)
Так же, есть обфускация и шифрование (криптованием это язык не повернется назвать).
обфускация редко когда будет меньше оригинала, т.к. чаще всего это код засраный реплейсами.
и будет он выглядеть примерно так:
дальше конечно только хуже, начиная char и base64, заканчивая RSA, с использованием динамических элементов шифрования:
вот примерно так, сорс код пытается себя защищать :) такие дела.
НЕ ВЫДАВАЙТЕ НАС!!!
хотя отличия скорее есть, но не думаю что существенные и сильно выигрывает по сравнению с другим подобными онлайн-сервисами
хотя это все-таки продакшен-сервис…
но подается это новость как-будто гугл сделал что координальное
рассмотрим это:
function hello(name) { var code = 19; var srt = 'dss'; alert('Hello, ' + name); } hello('New user');в результате получаем:
function hello(a){alert("Hello, "+a)}hello("New user");то есть как минимум под лишние переменные память не выделяется. Уже приятно. packer такого не делает.
не дописали… =)
(function(){ alert(123) })() заменится на alert(123)
на мой взгляд эффект от этого сомнительный
ещё в доках предлагается описывать в спецкомментариях тип каждой переменной, что теоретически даст «компилятору» возможность лучше оптимизировать код, но подтверждения этому я не нашёл
function x () {
alert('привет');
}
получается на 50% больше чем до оптимизации )
имхо, для существующей js-инфраструктуры не очень подходит эта штукенция.
Размер без сжатия: 137.92 КБ
yuicompressor 2.4.2
97.5 КБ (32.7 КБ после gzip)
Google Closure Compiler (simple):
97.1 КБ (31.8 КБ после gzip)
Google Closure Compiler (advanced):
79,4 КБ
Но в simple режиме что-то с кодировкой, судя по комментам сверху это можно преодолеть, а вот js прогнанный через advanced mode вообще не заработал. Возможно дело в том, что я изначально слил несколько js файлов в один.
Попробую его наверное :)
Растут стихи, не ведая стыда,
Как желтый одуванчик у забора,
Как лопухи и лебеда.
Но будет только в Pro-версии, больно тяжелый инструмент (в 4 раза больше самого текущего Web Optimizer).
тогда нужно исправить, потом занового сжать и только потомы выкладывать на сервер. Может кто-нибудь подскажет как можно оптимизировать этот процесс? может быть можно производить такое сжатие на лету?
У нас минимизация делается при nightly build'e и все ошибки сборки высылаются скриптом на емейл.
мы, например, начинали с подвешивания хука на свн
if (document.getElementById('comment_content_'+idFeedback)) {
document.getElementById('comment_content_'+idFeedback).innerHTML='комментарий был удален';
}
результатом будет:
if(document.getElementById("comment_content_"+idFeedback))document.getElementById("comment_content_"+idFeedback).innerHTML='\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u0431\u044b\u043b \u0443\u0434\u0430\u043b\u0435\u043d';
Compiled Size: 0 bytes
Compiled Size: 0 bytes (20 bytes gzipped)
Saved 100.00% off the original size (98.25% off the gzipped size)
api_version: 1 source_dir: src output_dir: js default_compilation_level: simple targets: output_filename-1.js: compilation_level: advanced sources: - input-1.1.js - input-1.2.js - input-1.3.js output_filename-2.js: sources: - input-2.1.js - input-2.2.jsНа выходе сжатый кложуром яваскрипт. Есть режим --watch: тулза мониторит изменения исходников и автоматом пережимает. Она еще в «зачаточном» состоянии, сыроватая, но вроде как работает.
Зависимости: closure, python, pyyaml. Пишется/проверяется под ubuntu.