- PVSM.RU - https://www.pvsm.ru -
Да, я про лавинообразный поток статей про программы на javascript в 30 строк, охвативший Хабр. Честно сказать, я и сам ярый любитель (специальной?) дисциплины код-гольфа [1] на js, и провел не один выходной, пытаясь втиснуть функцию в твит. И хотя мне нравится дух тридцатистрочников, мне не по духу этот формат.
Почему? Ограничение в 30 sloc весьма и весьма размыто: a.pop();s+='foo' — скорее две строки, а a.pop(s+='foo') — скорее одна, хотя эти два куска кода делают абсолютно одно и то же. Да и практика показала, что даже 30 слоков — вовсе не обязательное ограничение, а HTML и CSS вовсе не считаются. Иными словами, слоками померить крошечность невозможно, да и это никому не нужно.
Господа, это не серьёзно.
Но это не значит, что нужно прямо сейчас бросить недописанный к пятнице тридцатистрочник. Но когда наиграетесь, добро пожаловать в высшую лигу!
js1k.com/ [2]
Это настоящее соревнование, с денежными и материальными призами, которое проводится с 2010 года. Организатор, Peter van der Zee (@kuvos [3] предлагет на каждый конкурс какую-то тему, но она вовсе обязательна.
Зато обязателен набор правил [4], который с 2010 существенно не менялся:
Взамен Вы можете рассчитывать на то, что на странице, куда будет встраиваться Ваш скрипт, будет заранее созданный элемент <canvas>, а переменные c, a будут ссылаться на этот канвас и его 2d-контекст соответственно.
Собственно, все условия намекают на то, что это компо рисования на канве. Однако это вовсе не обязательно, если есть желание, можно использовать голый DOM, благо, в переменной b предусмотрительно продублирован document.body. Раньше WebGL использовать было нельзя, однако со следующего года, похоже, что можно будет [5].
Сбор кода с конкурсантов проводится примерно с начала апреля до конца марта, возможно отправить несколько своих работ на конкурс, но участвовать будет только последняя.
demojs.org/ [6], www.pouet.net/party.php?which=1570 [7]
Демопати, проводящееся с 2011 года во Франции. Да-да, это вроде Assembly, Breakpoint или Chaos Constructions, только вместо C, C++ и ассемблера тут джаваскрипт.
Собственно, соревнования проводятся по трём зачетам: 1K, 8K и Demo. В 1K и 8K суммарный размер кода (допускается несколько файлов) не может превышать 1024 и 8192 байт соответственно. В категории Demo такого ограничения нет.
Тут Вы можете выкладывать вообще что угодно, лишь бы оно запускалось в любом из известных науке браузеров без плагинов. Кстати, тут очень распространен упаковщик JSEXE [8], который читает «лишь бы запускалось» буквально, и упаковывает JS в PNG, давая внушительный запас места …но это отдельная тема.
Проходит демопати примерно в середине лета. Даже если Вы не можете поехать в Париж, вы сможете участвовать, прислав свой код организаторам. Несмотря на то, на конкурс в категориях 1K и 8K не запрещено выставлять игры, и Эксели, всё мероприятие ориентировано на зрелищность, и ждать от Вас будут всё-таки демо.
140byt.es/ [9]
Экосистема js-код-гольферов, созданная Джедом Шмидтом (Jed Schmidt, jed.is/ [10]) в 2011. Экосистема в том смысле, что обычно автору помогают другие участники («кэдди»). Никаких призов и подарков тут Вы не получите. Более того, весь Ваш код должен быть под лицензией WTFPL [11] (или аналогичной).
Тут, пожалуй, самые жесткие правила:
for — плохо,var обязателен.Сейчас весь проект выглядит немного заброшенным — сайт не обновляется давно, да и с тех пор на gist.github.com стало не так удобно работать с форками (самое главное, пожалуй, то, что отключили нотификации о комментариях), но жизнь на Марсе есть.
Поучастововать Вы можете, создав форк gist.github.com/140bytes/962807 [13]. Несмотря на то, что все это на гитхабе, знать git не обязательно — всё через веб-интерфейс, и достаточно иметь гитхабовскую учетку. Но прежде, чем нажать на кнопку «Fork», прочитайте, пожалуйста, правила и напиште то, что хотите отослать — пустых форков уже предостаточно.
Резюмируя, если Вы хотите подготовиться к js1k, или просто порезать байты для удовольствия, лучше места не найдешь.
microjs.com/ [15]
В отличие от предыдущих сайтов, ориентированных на зрелищность или академический интерес, тут вещи максимально практичные. Microjs — это набор библиотек. размер которых после сжатия GZIP не превышает 5120 байт (5 КиБ). Многовато? Да, но ведь микробиблиотечка должна обладать всеми качествами взрослой библиотеки: она должна быть полезной, кросс-браузерной, без багов, протечек памяти и засорения глобала.
Несмотря на кажущуюся игрушечность, в этом репозитории есть Zepto, Modernizr, пара шаблонизаторов Mustache и прочие серьезные вещи. Так что если Вы хотите нести человеческву хлеб, а не зрелища, Вам точно сюда.
Я надеюсь, этот пост понравится скучающим js'никам среднего/старшего уровня, т.к. на них в общем-то и рассчитан. Да, я знаю, что дайджест сайтов для поста на Хабрахабре — недостаточно крутая штука, но просьба не закидывать палками. По крайней мере, сильно.
Автор: subzey
Источник [16]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/javascript/48830
Ссылки в тексте:
[1] код-гольфа: http://en.wikipedia.org/wiki/Code_golf
[2] js1k.com/: http://js1k.com/
[3] @kuvos: http://twitter.com/kuvos
[4] набор правил: http://js1k.com/2013-spring/rules
[5] похоже, что можно будет: https://twitter.com/js1k/status/337224996197904384
[6] demojs.org/: http://demojs.org/
[7] www.pouet.net/party.php?which=1570: http://www.pouet.net/party.php?which=1570
[8] JSEXE: http://www.pouet.net/prod.php?which=59298
[9] 140byt.es/: http://140byt.es/
[10] jed.is/: http://jed.is/
[11] WTFPL: http://ru.wikipedia.org/wiki/WTFPL
[12] Expression: http://es5.github.io/#x11
[13] gist.github.com/140bytes/962807: https://gist.github.com/140bytes/962807
[14] хостится: https://www.reg.ru/?rlink=reflink-717
[15] microjs.com/: http://microjs.com/
[16] Источник: http://habrahabr.ru/post/202944/
Нажмите здесь для печати.