Pull to refresh
37
0
Дмитрий Карпич @meettya

User

Send message
Ясно, подумаю в этом направлении, может чего и выйдет.
Фидбек! Фидбек! :)
Оно старалось. Причем быстрый Jade :)
Пока все, что могу предожить для дебага — имена файлов как комментарий к коду, map source попробую прикрутить, но позднее. ИМХО юнит тесты + console.log() вполне решают проблему.
ХМ. а awk не упростил бы жизнь?

PS. Как-то с места в карьер начало статьи — проблема все равно не понятна — что значит «проверять»? Возможно стоит иметь как минимум 2 этапа — проверку и обработку и стыковать их, как принято в unix?
Сварить может, но микроволновка быстрее.
А жарить лучше на плите, у меня под это вок куплен, на всю семью можно зафигачить, с лучком :)
ХМ. Любопытно, жду продолжения.
coffeescript.org — основной док, который как раз на 10 страниц примерно + coffeescriptcookbook.com/ и arcturo.github.com/library/coffeescript/index.html для общего развития.
Инженеры NASA строят крупнейшую ракету, из когда-либо построенных,

Уж тогда надо добавить, что из построенных не вообще, а NASA.
«Энергия» выводила до 105 тонн, в варинте «Вулкан» так и до 200 — всеж в вики есть.
Здорово, только конструкция (''+new Array(102)).split('') некошерна, ИМХО.

console.log (
  Array.apply(null, Array 101).map (i,j) ->
    unless j%15 then 'FizzBuzz'
    else unless j%5 then 'Buzz'
    else unless j%3 then 'Fizz'
    else j
).splice(1).join ' '

Вот так можно с дырками обходится.
Именно так.

Но хотелось бы, чтобы /#[0-9A-F]{3,6}/ матчил 3 или 6, а для диапазона было бы /#[0-9A-F]{3-6}/.

Мое OCD негодует :)
Ну, вааще-то {1,} красиво изображается как + :)

Просто меня это каждый раз бесит, когда сталкиваюсь.
ну почему /#(?:[0-9A-F]{3}){1,2}/ а не /#[0-9A-F]{3,6}/ ????
О! Спасибо, познавательно.

Кто бы еще рассказал, откуда растут ноги у дурацкого синтаксиса диапазонов {1,3} как «от 1 до 3» вместо «1 или 3» и отсутствия выражения {1-3} как того самого «от 1 до 3»?
Фридл не знает.
ИМХО вместо чтения половины, которая про правильное ООП и т.п. проще пробежать 10-страничный док к CoffeeScript и не изобретать уже велосипедов.
А вот ну и по делом им. Нечего было новые форматы (типа BD) по 10 лет на рынок выводить и драть за них втридорога. Сами виноваты, все надеялись побольше сливок снять, а в итоге остались на бобах, потому как против прогресса плевать черевато.

Это тупая недальновидная маркетинговая политика, как у Sony с mp3 плеерами в свое время.
Боязнь «канибализации». Им как-то начисто мозг отшибает, что они на рынке не единственные.
Make it Work, Make it Right, Make it Fast.

Эту мантру читать пробовали?
ИМХО как-то не с того конца вопрос решается — все же проще редактировать в любимом редакторе код любимого шаблонизатора и любимого препроцессора CSS, а в браузере по сохранению livereload-ом (который бесплатный плагин для Chrome) обновлять страничку.
А результат уже конвертить в статику для продакшена.

Если желающие найдутся — оформлю заготовку и на github закину.
Хотя данная фича на клиенте не так уж и важна, зато для ноды — самое то

Это смотря какой код на клиенте. Там тоже очень может пригодится асинхронный вараинт.
Особено хорош Mocha в CoffeeScript нотации :)
Его скромное положение в основном из-за того, что он с горем пополам может быть применен в популярных языках (или делает код нечитабельным, как в perl-е), да плюс требует некоторого прогиба мозгов и лишнего кодописания (я вот хоть и понимаю прототипное наследование, но синтаксис настолько убог, что лучше CS с его псевдоклассами).
По мне так aop и контракты — очень классная идея, очень легко и нативно ложится на CoffeeScript/JS (есть даже пара модулей для такого классического варианта написания контрактов), нормально читается и избавляет код метода от лишнего шума.
ИМХО это как с коллбеками — пока их немного — все ок, но как только начинается перебор, да с развесистой логикой — проще перейти на event-ы. Хотя, каждому свое, собсно тем и хорош (для меня) JS — пластичен настолько, насколько тебе этого нужно.
PS. разве в приведенном примере есть сложности с кодопониманием? Ну, что-то куда-то вынеслось, но так и с миксинами такая же байда, тут уж чем больше нормализации, тем больше join-ов :)
Потому что на самом деле продемонстрированный враппинг — верхушка айсберга под названием AOP, самой элегантной схемы организации кода из мне известных. Копайте глубжее :)
Посмотрю на досуге, но во-первых у меня объяснение вышло сильно короче и понятнее, во вторых код там кривоват.
TextProcessor = (@processors) ->

а должно быть
class TextProcessor 
    constructor : (@processors) ->

иначе
Cannot call method 'reduce' of undefined

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity