Twinker
Вот есть проект, где?
Paul
Это тот тип знаний, который не давит карман
Paul
Не знаешь — ну и ладно, знаешь — плюс в карму
Twinker
Без сомнения. Я жалею на самом деле, что не знаю. Но на собесах за неспособность ответить на этот вопрос тебя кикают сразу xD
Twinker
Типа ну ты шашлык совсем, как ты можешь что-то знать, если не знаешь этого
Twinker
А на деле ты разваливаешь интервьюера своим опытом
Paul
Без сомнения. Я жалею на самом деле, что не знаю. Но на собесах за неспособность ответить на этот вопрос тебя кикают сразу xD
Интервьюерам нужны чекпоинты, по которым они могут определить компетенцию кандидата, так что ничего удивительного
Paul
Не так то просто составить план собеса, который подойдет под всех кандидатов, нужны какие-то базовые фильтры
Paul
Тупые вопросы про прототипы и бабл сорты — как раз такие фильтры
Dmitriy
а можно пример нетупых вопросов? просто интересно с чем в реальной практике люди сталкиваются?
Paul
Я регулярно собеседую и пришел к выводу, что самый просто способ раздуплить компетентность кандидата — спросить у него "что происходит когда чувак вводит урл в браузер, от момента нажатия ентера и до момента конца отрисовки страницы"
Paul
Этот вопрос полностью раскрывает глубину знаний (если они есть) и дает хорошую почву для беседы, т.к. там можно разболтаться и про сеть с хттп, и про бекенд, и про евент лупы, и про layout/paint/composite и т.д.
Paul
Прелесть этого вопроса в том, что у него много "слоев понимания", и там есть что спросить и джуна и у синьора
Paul
Само собой джун вряд ли ответит как V8 ставит микротаски в очередь
Paul
Но думаю объяснить на пальцах хотя бы последовательность происходящих событий при отрисовке страницы он должен
Андрей
Чем это знание отличается от знания быстрой сортировки?
Paul
А там все плавно перетекает, обычно, в простые вопросы про основы js/html/css, смотря какой джун и на какую позицию
Paul
Чем это знание отличается от знания быстрой сортировки?
Тем что быстрая сортировка не нужна вообще, а понимание микротасков — это как понимание природы вещей :)
🤴👷‍♂️🦸‍♂️🧚‍♀️
Прелесть этого вопроса в том, что у него много "слоев понимания", и там есть что спросить и джуна и у синьора
Ну вот первая статья в гугле мне описала, что днс отправляет меня на определенный адрес, в8 рендерит страничку формируется дом, дальше происходит рефлоу и репеинт по средствам цсс и тд..
Андрей
Андрей
Или ты хочешь услышать, что микротаски - это таски с наивысшим приоритетом выполнения?
Paul
Совершенно необязательные знания, само собой. Но если чел что-то может ответить на этот счет, значит он не случайный прохожий
Paul
Или ты хочешь услышать, что микротаски - это таски с наивысшим приоритетом выполнения?
Если честно, мне вообще на собесе пофиг что кандидат ответит на эти вопросы, я в первую очередь слушаю как он рассказывает и как строит ответ
Paul
Рендерит blink/webkit
Николай
кто-нибудь использовал nodemailer для ноды?
Николай
когда отправляю письмо вылезает ошибка
Николай
в гугле пусто
Николай
лезу смотреть в nodemailer какого хера net.isIP не функция
Николай
а там net вообще не определено
Николай
хотя подключено всё
Paul
Так это нодовский модуль
Николай
Николай
он и должен быть пустым объектом если выводить в консоль?
Николай
в документах сморю, isIP вроде не депрекейтед
Николай
но какого-то хрена это не функция
Paul
Нет, не должен
Paul
Paul
🤴👷‍♂️🦸‍♂️🧚‍♀️
Рендерит blink/webkit
А, точно, вебкит рендер, а в8 все остальное))
Николай
вот мой net
Николай
как такое возможно?
Paul
Падажи, ты в браузере тычещь?
Paul
Или просто дебагер там
Николай
да, браузер
Николай
что не так?)
Artem
Это ж не нода
Paul
Что-то мне подсказывает, что nodemailer не предназначен для браузера)
Николай
Падажи, ты в браузере тычещь?
ну вот dns он нормально выводит
Николай
а net хер
Николай
на сервак лучше закинуть?
Paul
Не все что заведется на ноде, заведется в браузере
Artem
Нодмэйлер как бэ намекает названием
Николай
ясно))
Николай
первый раз такое попалось
Павел 💻
Всем привет! Подскажите пожалуйста, какой нибудь хороший курс или книгу по js/node.js , чтобы реально скил качнуть, ато все однообразные видосики с ютюба надоели. Например создание крипто обменника или что то в этом роде, где решают действительно сложные задачи
Andrew
Так же как и на других технологиях - запрос на телеграм апи к setWebhook и передать урл на котором сервер слушает бот
Andrew
Тогда вопрос - как выставить на ноде урл наружу. С нодой не знаком, не помогу, к сожалению
Andrew
Если нет домена, то можно. У вас уже принимаются запросы извне на удаленном сервере?
Igor
Добрый вечер, я из php, у меня вопрос по форматированию массива, столкнулся с неожиданным поведением. У меня есть массив [ { name: 'Ложь', variants: [ { n: 1, q: [16, 31, 45] }, { n: 2, q: [] } ] }, { name: 'Аггравация', variants: [ { n: 1, q: [2, 17] }, { n: 2, q: [91] } ] }, { name: 'Экстраверсия', variants: [ { n: 1, q: [12, 27] }, { n: 2, q: [14, 57, 87] } ] } ] я из него хочу получить массив такого вида { "2": { "1": [ "Аггравация" ] }, "12": { "1": [ "Экстраверсия" ] }, "14": { "2": [ "Экстраверсия" ] }, "16": { "1": [ "Ложь" ] }, "17": { "1": [ "Аггравация" ] }, "27": { "1": [ "Экстраверсия" ] }, "31": { "1": [ "Ложь" ] }, "45": { "1": [ "Ложь" ] }, "57": { "2": [ "Экстраверсия" ] }, "87": { "2": [ "Экстраверсия" ] }, "91": { "2": [ "Аггравация" ] } } для этого использую вот такой код let res = {} this.scales.forEach(scale => { scale.variants.forEach(variant => { variant.q.forEach(question => { res[question][variant.n].push(scale.name) }) }) }) return res но мне пишет что variant.n свойство undefined, поэтому делаю так let res = {} this.scales.forEach(scale => { scale.variants.forEach(variant => { variant.q.forEach(question => { if (res[question] === undefined) { res[question] = {} } if (res[question][variant.n] === undefined) { res[question][variant.n] = [] } res[question][variant.n].push(scale.name) }) }) }) return res как сделать это правильно?
Anonymous
Добрый вечер, я из php, у меня вопрос по форматированию массива, столкнулся с неожиданным поведением. У меня есть массив [ { name: 'Ложь', variants: [ { n: 1, q: [16, 31, 45] }, { n: 2, q: [] } ] }, { name: 'Аггравация', variants: [ { n: 1, q: [2, 17] }, { n: 2, q: [91] } ] }, { name: 'Экстраверсия', variants: [ { n: 1, q: [12, 27] }, { n: 2, q: [14, 57, 87] } ] } ] я из него хочу получить массив такого вида { "2": { "1": [ "Аггравация" ] }, "12": { "1": [ "Экстраверсия" ] }, "14": { "2": [ "Экстраверсия" ] }, "16": { "1": [ "Ложь" ] }, "17": { "1": [ "Аггравация" ] }, "27": { "1": [ "Экстраверсия" ] }, "31": { "1": [ "Ложь" ] }, "45": { "1": [ "Ложь" ] }, "57": { "2": [ "Экстраверсия" ] }, "87": { "2": [ "Экстраверсия" ] }, "91": { "2": [ "Аггравация" ] } } для этого использую вот такой код let res = {} this.scales.forEach(scale => { scale.variants.forEach(variant => { variant.q.forEach(question => { res[question][variant.n].push(scale.name) }) }) }) return res но мне пишет что variant.n свойство undefined, поэтому делаю так let res = {} this.scales.forEach(scale => { scale.variants.forEach(variant => { variant.q.forEach(question => { if (res[question] === undefined) { res[question] = {} } if (res[question][variant.n] === undefined) { res[question][variant.n] = [] } res[question][variant.n].push(scale.name) }) }) }) return res как сделать это правильно?
Смотри в сторону Array.reduce -вполне возможно за 1 проход все сделать
Igor
Смотри в сторону Array.reduce -вполне возможно за 1 проход все сделать
не совсем понимаю как это поможет, как я понял, это используется если необходимо сохранить промежуточный вариант при переборе, но мне нужно полностью массив переформатировать и промежуточный вариант вроде как не нужен, в php это делается просто через $res[$question['id']][$variant['id']][] = $scale['name'] и ошибки нет, даже если $res = [], js же ругается, если подмассив не определен. Вроде ситуация тривиальная, но тривиального решения не нахожу, кроме как каждый раз проверять на undefined
Anonymous
А можно ли как-то вызывать функцию из скрипта, встроенного в сайт? Имеется в виду не из поля script, а, допустим, я открыла левый сайт, вижу что там запускается одна функция. Вот её могу я как-то запустить?
stay
может есть какие то ArrayHelper библиотеки которые чаще всего используют в работе?
Нет, таких штук я не наблюдал. Массивы в js это очень интересная штука. Они являются фанкторами и позволяют творить с собой просто сумасшедшие вещи, если немного разобраться в их методах и чуть освоиться в функциональном программировании на js. Самым лучшим для тебя будет разобраться с частью из этого сразу. Начинай отсюда. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array
Paul
В пхп можно налету создавать массив и класть в него значения, даже если ключей для этих значений ещё не существует
Paul
В жс же нельзя положить что-то в объект, если этот объект не был создан в явном виде, отсюда и ошибки с undefined
Paul
Поэтому, проверки на undefined это нормальное явление и не нужно их бояться
Paul
Можно не писать if (x === undefined) ..., а сразу писать if (!x) ...
Paul
Можно запариться с .reduce (), но от этого порой все только сложнее выглядит