Sergei
возможно криво написана, но сайт принял ее )
бджовелін⁂
а стандартный генератор не тянет?)
Sergei
а стандартный генератор не тянет?)
да можно было бы и через него
Sergei
но там условие было чтобы вот так вызывалась функция
Sergei
console.log(generator()); // 16
Anonymous
Мож кто сталкивался. Имеем вот такую очередь задач: (Пример из книги "Шаблоны проектирования Node.js") https://codeshare.io/29rdpg module.exports = class TaskQueue { constructor (concurrency) { this.concurrency = concurrency; this.running = 0; this.queue = []; } pushTask (task) { this.queue.push(task); this.next(); } next() { while (this.running < this.concurrency && this.queue.length) { const task = this.queue.shift(); task (() => { this.running--; this.next(); }); this.running++; } } }; Не могу придумать кейса, когда здесь нужен именно while. Когда мы впервые кладем задачи в очередь, то каждая из них по одной сразу же запускается - while нужен. А когда мы запустили задач в количестве this.concurrency и они начинают завершаться, то по заваршении каждая из них делает this.running--; и может запустить не больше одной новой задачи из очереди. Снова while не нужен. Распишу: Имеем, к примеру, 10 задач [task1, task2, ..., task10] и максимальное кол-во одновременно выполняемых задач равно 5 concurrency = 5 Делаем pushTask(task1) для 1 задачи -она кладется в очередь -сразу же запускается next() —в next() задача сразу же извлекается из очереди —и сразу же запускается Аналогично происходит для задач 2,3,4,5 - каждая из них сразу же запускаются и там где-то себе работают. И пока до этого момента в очереди не бывало больше одной задачи, причем, она тут же оттуда извлекаласьи запускалась. Т.е. цикл while можно заменить на if. Но м.б. дальше понадобится именно while, идем дальше. Делаем pushTask(task6), ..., pushTask(task10) Т.к. задачи 1-5 все еще выполняются, то задачи 6-10 только поместятся в очередь, но не запустятся, т.к. условие this.running < this.concurrency не выполнится. Затем задачи начинают завершаться и запускать переданный им колбек () => { this.running--; this.next(); } Который уменьшает количество запущенных задач на 1 (this.running--;), т.е. освободилось место для одной задачи и тут же запускает this.next(); и этот next() запустит ровно одну задачу. Нафиг тогда тут while?
Mike
>
Nikolay
Мож кто сталкивался. Имеем вот такую очередь задач: (Пример из книги "Шаблоны проектирования Node.js") https://codeshare.io/29rdpg module.exports = class TaskQueue { constructor (concurrency) { this.concurrency = concurrency; this.running = 0; this.queue = []; } pushTask (task) { this.queue.push(task); this.next(); } next() { while (this.running < this.concurrency && this.queue.length) { const task = this.queue.shift(); task (() => { this.running--; this.next(); }); this.running++; } } }; Не могу придумать кейса, когда здесь нужен именно while. Когда мы впервые кладем задачи в очередь, то каждая из них по одной сразу же запускается - while нужен. А когда мы запустили задач в количестве this.concurrency и они начинают завершаться, то по заваршении каждая из них делает this.running--; и может запустить не больше одной новой задачи из очереди. Снова while не нужен. Распишу: Имеем, к примеру, 10 задач [task1, task2, ..., task10] и максимальное кол-во одновременно выполняемых задач равно 5 concurrency = 5 Делаем pushTask(task1) для 1 задачи -она кладется в очередь -сразу же запускается next() —в next() задача сразу же извлекается из очереди —и сразу же запускается Аналогично происходит для задач 2,3,4,5 - каждая из них сразу же запускаются и там где-то себе работают. И пока до этого момента в очереди не бывало больше одной задачи, причем, она тут же оттуда извлекаласьи запускалась. Т.е. цикл while можно заменить на if. Но м.б. дальше понадобится именно while, идем дальше. Делаем pushTask(task6), ..., pushTask(task10) Т.к. задачи 1-5 все еще выполняются, то задачи 6-10 только поместятся в очередь, но не запустятся, т.к. условие this.running < this.concurrency не выполнится. Затем задачи начинают завершаться и запускать переданный им колбек () => { this.running--; this.next(); } Который уменьшает количество запущенных задач на 1 (this.running--;), т.е. освободилось место для одной задачи и тут же запускает this.next(); и этот next() запустит ровно одну задачу. Нафиг тогда тут while?
Хз, емнип, пул промисов можно вообще без циклов написать.
бджовелін⁂
но там условие было чтобы вот так вызывалась функция
ну это не проблема, могут быть ещё аргументы. точно не знаю, как реализовать, надо попробовать. возможно один и вариантов function* (...params){ params = yeild; //возможно в форе надо return yeild * yeild; }
Dmitry
посоны. Есть вот такое что то https://pastebin.com/UX3EGz43 как переписать нормально ? Хочу при вводе валидировать адекватно дату
Nikolay
Гайз, создаю окно через window.open, после чего на инстанс сразу вешаю событие onbeforeunload. Проблема в том, что в safari оно сразу же срабатывает, кто-нибудь сталкивался с таким? Chrome и firefox отрабатывает нормально
Anonymous
Всем привет! Есть предложение для разработчиков/начинающих стартаперов. Я – senior product дизайнер по enterprise/SaaS/веб/мобилкам (ui/ux). Сейчас нахожусь в активном поиске работы уже несколько месяцев, потому что мне постоянно то компания, то проекты, то оплата не подходит. Но я не могу не заниматься дизайном и простаивать. Я делаю или бесплатно или очень дорого. Поэтому предложение: Готов бесплатно выделять +-8 часов в неделю на разработку вашего продукта, начиная от полного проектирования по бизнес-процессам/идеям и заканчивая hi-fi мокапами. Вы разработчик, который хочет сделать проект для портфолио с крутым дизайном? Пишите мне. Вы стартапер, у которого нет бюджета на хороший дизайн? Пишите мне. С вас какие-то гарантии, что проект будет в продакшене и отсутствие NDA.
Nikolay
const popup = window.open(...); popup.onbeforeunload = () => { console.log('fired immediately at safari'); };
Sergei
никто в итоге не в кусре, как решить или хотя бы куда копать ?
Sergei
Привет, решаю задачки на JS, попалась задача интресная, уже час сижу, не могу понять, как решать Первую часть задачи реализовал - на счет второй хз, подскажите, какую тему копать
Sergei
Anton
const popup = window.open(...); popup.onbeforeunload = () => { console.log('fired immediately at safari'); };
попробуй дождать загрузки окна, а потом вешать событие
krn
гуру промисов, расскажите мне плес, как вы разруливаете подобные случаи. когда в одном случае - нужно выйти с рес.статус, а в другом - нужно сотворить еще много разных бед
krn
проверяете на instanceof outcomingMessage или што или как
krn
function foo (req, res) { return Promise.resolve() .then(invoked => { if (invoked === true) { return res.status(200).send('synced successfully'); } else { return makeDirIfNotExist(dir); } }) .then((something) => { // ??? }) }
krn
в чатике ноджс слишком тихо
Nikolay
попробуй дождать загрузки окна, а потом вешать событие
Попробую, звучит не очень логично конечно
Max
Всем привет, nodeJS вижу день (до этого два года на php), подключил passport и jwt для своей учебной apі, можно ли как-то задать глобально мидлвер для всех запроссов и только для auth роутов его исключить, что бы не было такого копипаста:
Max
Nikolay
Почему unload срабаывает вообще до загрузки окна? Если закинуть обработчик в обработчик то да, все ок. Но это все как-то не логично или я чего-то не знаю. Чекните ссылку https://codepen.io/finethanks/pen/RYNagm
Anton
возможно там два этапа - создание окна - изменение урла и изменение урла триггерит анлоад у первоначального окна
Nikolay
Если консоль не открыта, то поведение такое, какое ожидаешь от события unload
Nikolay
И это я сейчас уже даже про chrome
Anton
не, тут дело в сайте, который ты открываешь если заменить урл на '', то все срабатывает нормально
Anonymous
Всем привет! Ребят, есть вопрос - я раньше пользовался Bower'ом совместно с Gulp, а сейчас говорят что Bower уже не актуален( Мне было удобно через таски прописывать пути до зависимостей через плагин MainBowerFiles. В общем, сейчас я не знаю как подключить зависимости, скачивая их через Npm. Взглянуть в сторону Webpack и Yarn пока не особо хочеться, сталкивался кто с такой проблемой ?
Igor
Привет. Никто часом не знает про next.js почему может Link элемент не скроллить страницу если href="#ololo"? Есть спецы по next?
Igor
если кто что знает - я буду рад любому совету, а то чета запарился
Nikolay
Где там баги хрома записывают? :D
Игорь
Где там баги хрома записывают? :D
https://bugs.chromium.org/p/chromium/issues/list
Gleb
#вакансия #фултайм #удалёнка #офис #москва Город и адрес: Москва, м. Белорусская Формат работы: удалёнка или офис Занятость: фултайм, гибкий график Зарплатная вилка: от 50000 до 120000 Название компании: WNM.Digital Мы в диджитал агентстве WNM.Digital ищем бэкенд/фулстек (с уклоном на бэкенд) разработчика в штат на удалёнку. Мы более трёх лет занимаемся цифровыми рекламными проектами для таких компаний, как Epic Games (Fortnite), Electronic Arts (FIFA, Battlefield, Battlefront), PepsiCo, TetraPak и ещё несколько очень больших корпораций, имена которых под NDA. Требования к кандидату: — Node.js от полугода — опыт работы с какими-нибудь ORM и фреймворками — git — знание базовых алгоритмов и структур данных и умение решать простые задачи на эти темы — большие амбиции и желание развиваться в профессии Будет большим плюсом: — опыт Python разработки (django, flask) — понимание базовых принципов работы процессора/памяти — опыт работы с Docker — опыт работы с VK API / Facebook API Что мы предлагаем: — множество интересных задач и проектов — возможность обучаться и пробовать различные технологии на проектах — гибкий график — офис в центре Москвы, 5 мин от ст. м. Белорусская (если хочется работать в офисе) — оформление по ТК, рыночная зарплата (сопоставимо опыту кандидата) — дружную и креативную команду диджитал агентства — большой опыт работы над разными типами проектов, есть к кому обратиться за помощью как внутри, так и вне агентства За всеми подробностями обращаться ко мне в личку! Контакт: Глеб Новиков @NanoBjorn
Denis
у него ж свой Link элемент.
Ну своего в нём только пропсы, которые относятся к роутингу или типа того
Denis
А то касается дом, то там все должно быть стандартно и никак не влиять на возможности скролла
Igor
ну во-первых, он работает так как он работает - он сам решает, что ему делать. Как раз благодаря этому Link элементу он либо всю страницу рефрешит с серверным рендерингом (обычно никогда), либо подргужает файл и на клиенте рисует
Igor
во-вторых он вообще не понимал эти хеши-якоря до 3 версии чтоли
Igor
я не понмю
Igor
короче в итоге он должен скролить, но не скролит.
Igor
и я не понимаю почему
Igor
поэтому в принципе согласен, что он должен скролить и там всё должно быть просто
Igor
но он не скролит
Denis
Ну чекни исходники этого Link и попробуй там сделать
Igor
потом я обнолюсь и это всё отвалится
Igor
не, я чета думал, что я просто что-то не так делаю
Igor
ок
Igor
пофик
Denis
не, я чета думал, что я просто что-то не так делаю
Ну я на самом деле хз, может ты и прав и там есть какая то магия)
Igor
пойду тикет сделаю, надеюсь закроют с криком "да вот же ж тут же ж всё написано"
Igor
на самом деле ищу желающего заняться этим без моего участия
Igor
если кто может попытаться победить и ещё вот тут список https://freelansim.ru/tasks/211253 то пишите в личку
Dmitry
Ребят, подскажите плиз, как мне "поймать" массив объектов из getFakeMembers ? если обратиться просто к нему как console.log(members) пишет members is not defined
krn
хз, но reject и rejects .. ты странный
Dmitry
хз, но reject и rejects .. ты странный
Ок. Но ошибки нет, он выдает объект в консоль который мне и нужен на строчке 14. Но как мне его в переменную забрать?!
krn
members => let myVar = members; ?
krn
я хз в чем проблема чесгря
Artem
Объявить переменную до вызова функции, а потом присвоить ей значение, но, действительно, зачем, если уже есть колбэк с данными?
Dmitry
members => let myVar = members; ?
почти удалось Ж)
Artem
Ну ок, let members = await getFakeMembers()
бджовелін⁂
krn
Ну ок, let members = await getFakeMembers()
эквипенисуально же, не ?
krn
а так можно?)))
хз вообще, от балды набросал, пытался понять, что вообще требуется.
Artem
Код удобнее передавать не скриншотом, а в jsfiddle, или что там сейчас модно в этих ваших инстаграмах
Kronic
Codegram =)
Dmitry
Ну ок, let members = await getFakeMembers()
https://codepen.io/WebdevDmitry/pen/MqYoLx
Sergei
Помогите с задачкой кто нить, час решить не могу http://dkab.github.io/jasmine-tests/?spec=6
Sergei
let partialAny = (func: Function, ...Mparams: Array<any>) => { let obj = { e: 0 }; return (...params: Array<any>) => { for (let Mitem in Mparams) { if (Mparams[Mitem] === undefined) { Mparams[Mitem] = params[obj.e]; params.splice(obj.e--, 1); obj.e++; } } Mparams = Mparams.concat(params); Mparams.splice(func.length, Mparams.length - func.length); return func.apply(null, Mparams); } }
Sergei
вот скомпилированный в js, который на сайт вписывать надо
Sergei
var partialAny = function (func) { var Mparams = []; for (var _i = 1; _i < arguments.length; _i++) { Mparams[_i - 1] = arguments[_i]; } var obj = { e: 0 }; return function () { var params = []; for (var _i = 0; _i < arguments.length; _i++) { params[_i] = arguments[_i]; } for (var Mitem in Mparams) { if (Mparams[Mitem] === undefined) { Mparams[Mitem] = params[obj.e]; params.splice(obj.e--, 1); obj.e++; } } Mparams = Mparams.concat(params); Mparams.splice(func.length, Mparams.length - func.length); return func.apply(null, Mparams); }; };
Sergei
Ошибки выдает вот такие, хотя проверил, лишние параметры не передает и подставляет аргументы должна подставлять лишние аргументы в конец списка: partialAny(fn, 1)(2, 3) -> [1, 2, 3] не должна передавать лишние аргументы внутренней функции: partialAny(fn, 1, undefined, 3, undefined)(2) -> [1, 2, 3, undefined]
Sergei
Типа вот 3 разных теста, вывод массива - это какие параметры передаются во внтреннюю функцию
Artem
скинул выше...
http://jsfiddle.net/jdaLsqrb/3