Немного о том, как работает Pikabu

Немного о том, как работает Pikabu Пикабу, Код, Всегда пишите комментарии, Javascript, Исходники

Пруф: http://cs.pikabu.ru/js/over_js8.js Срока 2345

Вы смотрите срез комментариев. Показать все
14
Автор поста оценил этот комментарий

Я не поверил, пока не посмотрел подгружаемые сорцы и не нашел эти строки.


P.S. Удивлен, что в большинстве скриптов даже обфускация не используется.

раскрыть ветку (19)
20
Автор поста оценил этот комментарий

Они даже не сжаты :)

раскрыть ветку (18)
11
Автор поста оценил этот комментарий

я заметил :-)

раскрыть ветку (16)
26
Автор поста оценил этот комментарий
О чем вы все, мать вашу, говорите? о_О
раскрыть ветку (15)
22
Автор поста оценил этот комментарий

Обфускация - сделать код менее очевидным. Скажем, было console.log(name); , а станет let $ = [console, "log", name], _ = [$], c = 0;/* куча кода .... */ $[c][$[1]](_[c][2]); . И ведь это тоже самое, просто все идентификаторы были помещены в массив и используются оттуда.


Про сжатие имелось в виду скорее всего минификация и gzip.


Минификация - удаляются лишние пробелы, заменяются длинные идентификаторы на более короткие (возможно, это уже обфускация), то есть let userName = "name"; console.log(userName); заменится на let a="name";console.log(a); . console тоже скорее всего заменится и будет let b=console.log;let a="name";b(a); Смысл в том, что вместо того, чтобы вместо 10-ти "console.log" (110 символов) останется 10 + 18 на определение, то есть 28 из 110 былых.


Ну a gzip - просто при передаче стили и скрипты запаковываются в архив.

раскрыть ветку (11)
9
Автор поста оценил этот комментарий

понятнее не стало :D

раскрыть ветку (6)
22
Автор поста оценил этот комментарий

Код JavaScript в большинстве своем не секурный, его может посмотреть каждый через консоль браузера.


Обфускация - запутывание всего к хуям собачьим. Чтобы он тебе меньше стал понятен.


Минификация - удаление лишние пробелов в коде, размер уменьшается, грузится быстрее.

раскрыть ветку (5)
3
Автор поста оценил этот комментарий

пасиб :3.

раскрыть ветку (1)
1
DELETED
Автор поста оценил этот комментарий
Комментарий удален. Причина: данный аккаунт был удалён
Автор поста оценил этот комментарий

Почему никто не сказал, что при минификации ещё и все \r \n удаляются?

раскрыть ветку (1)
Автор поста оценил этот комментарий

они относятся к пробелам (точнее, к пробельным символам, whitespace)

Автор поста оценил этот комментарий

Минификация JS по большей части нужна только для переименования функций и переменных из myVeryLongFunction в a, b, c ... aa, ab ..., чего ты, кстати, не упомянул. В удалении лишних пробелов смысла нет ровно никакого (шучу, смысл есть на 0.5-2%), так как все нормальные пацаны настраивают сжатие на серваке и разница в объёме сжатого исходника и сжатого исходника с удалёнными пробелами составляет примерно 0.5-2%

Автор поста оценил этот комментарий

А чем можно пообфусцировать лучше всего? 

раскрыть ветку (3)
6
Автор поста оценил этот комментарий

Я никогда не обфусцировал, ибо нет необходимости, когда код лежит на гитхабе). А минификацией занимается webpack у меня.

раскрыть ветку (1)
4
Автор поста оценил этот комментарий

не хочу открывать холивар, но если webpack покажется сложным, есть gulp и плагины к нему: gulp-minifygulp-uglify и т.д.


Если нужна нечитаемая обфускация - есть плагин gulp-jsfuck (jsfuck)

Суть его в том, что он весь js код переписывает с помощью шести символов:  [ ] ( ) ! +

1
Автор поста оценил этот комментарий

индусом

5
Автор поста оценил этот комментарий

если мы с тобой сейчас начнем нести хуйню и делать вид, что понимает друг друга, то тоже сойдем за умных.)

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

С точки зрения банальной эрудиции

2
Автор поста оценил этот комментарий

Обфускация - проще говоря, это запутывание кода. Чтобы исходники были не читабельными (при этом они будут следовать синтаксису языка). 

Хотя зачем нужна обфускация js скриптов сайта, другое дело легко декомпилируемые языки типо C#. Хотя мб и нужна, я не веб-разработчик, не буду лезть со своим самоваром) 

1
Автор поста оценил этот комментарий
Gzip и так хорошо жмёт, на сжимании сорцов особо не сэкономить нынче. Овчинка выделки не стоит, короче.
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку