Дима
То есть это просто, полный тупик. В языке ввели async await — для их поддержки ты берешь их и реализуешь заново. Нет, короче это не вариант)
Anonymous
отлично, сохранила все себе
JẹtFightżer
а async await есть в ноде7?
horpto
c флагом
Дима
В V8 есть, под флагом
Nikolay
в хромчик уже добавили еж
Дима
Это считай и не в ноде по факту и чем-то черевато, так как изначально нестабильно, но я не сталкивался)
JẹtFightżer
оффтоп: у меня часы с плавным ходом стрелки, не тикают и не бесят,уже вроде и привык но никак не нарадуюсь
Oleg
Пробовал, для чистоты синтаксиса однострочников на ramda я выкинул из выражения все упоминания R.( и чутка подставил символов для краткости data :: when isEmpty [ identity 'empty list' of ] [+] 'tested' [*] [ objOf payload ] преобразовывается в готовую функцию R.pipe( R.when( R.isEmpty , R.pipe( R.identity( 'empty list' ), R.of), R.append( 'tested' ), R.map( R.objOf( 'payload' ) ) [*] => R.map [+] => R.append [ ... ] => R.pipe( ... ), то есть это такие функциональные скобки Если есть кавычки в токене — то это string Если токен существует в ramda, то это функция, если нет — это либо опять строка, либо аргумент, либо ошибка Так как внутри R.pipe существуют только функции, то значит можно писать всё без скобок, все данные полюбому относятся к ближайшей функции слева data — это передаваемое в функцию значение, его можно опустить, если оно всего одно (по принципу работы R.pipe), его можно упоминать в теле функции, то есть это обычный аргумент, сколько их передашь — столько и будет в рендеренной функции
Да, думал я бывало как можно было бы пропатчить так некоторые места в ExtJS...
Anonymous
Господа! Объясните пожалуйсто, почему так происходит? https://jsperf.com/innerhtml-vs-removechild
Дима
Да, думал я бывало как можно было бы пропатчить так некоторые места в ExtJS...
Есть другой подход, прям в языке определять новые понятия с помощью всяких багов/фич языка, но это такая сумасшедшая штука, что даже писать страшно😄
Anonymous
Почему
Anonymous
while (box.firstChild) { box.removeChild(box.firstChild); }
Anonymous
Быстрее чем
Anonymous
box.innerHTML = '';
Anonymous
Дима
box.innerHTML = '';
Вероятно, даже если у тебя новый код пуст, то перерендеринг DOM — всё равно затратная операция
hlomzik
Быстрее чем
раньше наоборот было) такие вопросы всегда плохи)
hlomzik
ответ обычно — потому что в данный момент в данном движке с данными настройками в данном окружении вот это быстрее
Дима
Фичи, правда, должны быть конечно достойными полноценного языка
Не, это прямо в js, просто переосмысливая какие-то вещи scala like pattern matching switch(itch.on(obj)) { case itch.case = e => (e/2+1) > 100 : return 'cool number' case itch.case = e => e instanceof MyClass && e.value.length>0 : return 'Non-empty myclass element' case itch.case = 'Matched string' : return 'Just string' case itch._ = : return 'not matched' }
Дима
Это короче switch в котором в case стоят либо сопоставляемые значения как обычно, либо сразу функции, которыми проверяется переданная переменная Причём break не нужен
Дима
¯\_(ツ)_/¯
Дима
Но это чёто-то очень злое, конечно)) Но фактически, с прокси можно сделать и так. Короче js — непаханное поле для экспериментов %)
Anonymous
скала, это функции + жава?
Дима
Ну да, много интересных фишек в языке в плане ооп
Дима
Вот вообще тяжёлая психоделия Тот же самый пример, что и чуть выше, но без транспиляции, на чистом js [ [ R.when, , R.isEmpty, [ [ R.identity, , 'empty list' ], R.of ] ], [ R.append, , 'tested' ], [ R.map, , [ R.objOf, , 'payload' ] ] ] Так как формально у нас не куча вложенных функций, а массив переменных, то возникает возможность произвольной перемотки и визуализации выполнения, чисто как в redux. Тот же инструметарий devtools, только перематывает и отлаживает не данные, а сам код
Дима
Да, функция задаётся массивом с двумя запятыми после первого элемента 💩 Но благодаря этому вообще вся программа (синхронная) проходится одним редюсером. Так как меня внесут во все чёрные списки, если я кому - то это покажу, то конечно это только Proof of work 😄
Anton
это все что бы писать функциаональщину?
Дима
это все что бы писать функциаональщину?
Ну типа того, последовательные иммутабельные преобразования. Имеют тенденцию превращаться во что-то нечитабельное уже после пары-тройки шагов 😑
Дима
Естественно я такой адок никуда подключать не буду, поэтому пока что успокоился и забил))
Anton
та просто ужасные вещи ты показываешь. RxJS глянь, что ли
Anton
но это уже с реактивщиной
Vlad
охуенные ощущения https://github.com/iamstarkov/hyper-keymap/blob/master/src/index.js#L71-L74
Дима
RxJS видел
Anton
та в жопу такую суть, если вот это так нужно писать
Anton
эти конструкции уже на уровне эзотерики
Anton
та я не вчитывался, сорри, просто увидел это и все и охирел)
Дима
та я не вчитывался, сорри, просто увидел это и все и охирел)
Тогда да, представляю😂 Контекст — что можно сделать c js не переходя к транспиляторам
Дима
охуенные ощущения https://github.com/iamstarkov/hyper-keymap/blob/master/src/index.js#L71-L74
Я впечатлился ещё когда увидел твит про композицию линз)
Дима
Извиняюсь, я больше так не буду 😆🙈
Anonymous
переодически полезно, напоминание, что не знаю жс
Serhii
Это ты не ширяешься фп как они
Serhii
Наркоманы
Vlad
ну не надо так
Vlad
линзы добро
hlomzik
переодически полезно, напоминание, что не знаю жс
это новая парадигма в твоей голове, а не жс)
Anton
есть нормальное фп, а это наркоманское)
Serhii
Я с любовью
Serhii
Это каратэ
Serhii
Vyacheslav
а потом откуда этот js fatique
Дима
Фп курильщика
Serhii
В мире дзюдоистов
Oleg
JS на столько гибок что тут в рамках одного языка можно подъязыки со своими подходами получать
Serhii
Настолько гибок как спагетти
Oleg
Из спагетти, как из ниток, можно связать неплохой шарф
Serhii
Слэнг
Serhii
Интересно что бы было если в рамках языка были бы подгруппы
Serhii
Типа общины
Serhii
Кофи ес6 жквери ванила
Дима
React, jQuery, ExtJS
hlomzik
они и так есть)
Serhii
Реальность преследует
Oleg
Ещё есть клан велосипедистов
Arthur'); DROP TABLE Users;--
поскажите, node.js серверный язык, значит он компилируется и выдает готовый html пользователю, верное утверждение?
Serhii
Ну, нет
Serhii
Он просто отдаёт хтмл файл
Name
вообще никак нет, но на самом деле да
Serhii
А если у тебя шаблонизатор тогда он его парсит, заменяет переменные на строки и отдаёт хтмл файл
hlomzik
Он просто отдаёт хтмл файл
отдает то, что напишешь