Ссылка на прошлый тред: >>1052010 (OP)Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, NASA, Walmart и многие другие.Часто задаваемые вопросы:https://github.com/vladimir37/js-thread/blob/master/Wiki/faq.mdСписок материалов для изучения:https://github.com/vladimir37/js-thread/blob/master/Wiki/learn.mdСписок инструментов и направления JS-разработки:https://github.com/vladimir37/js-thread/blob/master/Wiki/tools.mdИнструмент для визуализации и экспериментов со связями между объектами в JavaScript:http://www.objectplayground.com/Конфа /pr/ в Slack:https://slack-2chpr.herokuapp.com/JS-конфа в телеграме:https://telegram.me/jsthreadНЕ КОПИРУЙ КОД ПРЯМО В ТРЕД! Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода.
Рассказывайте кто в чем пишет. Желательно со скринами. И со списком фичей, которыми вы пользуетесь и без которых не можете жить (например smartparens пикрелейтед).
>>1061439 (OP)>js in one pic.jpgтут их репо https://github.com/coodict/javascript-in-one-picстранно, что они не обновили свой проект до JS6
>>1061443консоль
>>1061485Че консоль?
var obj = { f: function() { function b() { console.log(this); } b(); }}obj.f();чому в этой залупе this указывает на windows?
>>1061488
>>1061488>>1061489Когда ж вы переведетесь. Открой уже учебник.
>>1061487Давай, консоль отсюда!
>>1061491В учебнике написано, что this указывает на объект
>>1061493У тебя функция b() вызывается когда интерпретатор javascript читает определение f(). Значение this определяется в момент выполнения блока в котором оно содержится. Поскольку в этот момент b() не связана ни с каким объектом, то this указывает на window.
>>1061502Ну если f() связанна, то хули эта дряньская b() не связывается?
>>1061509Потому что тебя наебали. Грубо говоря this зависит от того что перед точкой. Если перед точкой нихуя нет как в > b()то и this там будет undefined/window
>>1061511Непонятно, но запомнить легко.
>>1061511Какая нахуй точка в b()?
ГДЕ ТРАПЫ В ШАПКЕ? ГДЕ ЧУЛКИ? ЭТОТ ОТВРАТИТЕЛЬНО ГЕТЕРАСТИЧЕСКИЙ ТРЕД НЕЛЕГЕТИМЕН!
>>1061516Но чулки в пхп-тредю
>>1061517Пхпнатуралы пытаются украсть достижения сиссижсогоспод. Не позволим!
>>1061509Думай как аутист программист. Значение this вычисляется внутри скопа функции b(), в момент ее выполнения. На момент выполнения f() значение этого this уже вычислено вместе со значением b().
>>1061515если точки нет, то считай что это window.b()
>>1061532Где нет? Что тут за слесаря орудуют?
>>1061514хуйню ты запомнил. могу поспорить что ты споткнешься на всех этих случаях.
>>1061538Увидишь такой код, делай git blame и иди бить автору ебало.
>>1061541не видишь разницы между продакшн кодом и примером для обучения тебе подобных макак - пошел нахуй
>>1061542Пытаешься показать новичку надуманные тупые примеры, когда ему нужно разобраться с основой? Пошел нахуй.
>>1061544Основы - это объяснение на пальцах квантовой физики бухим слесарем?
>>1061547Ох, ебать, мастер нашелся. Процитируешь стандарт, а то мы чет не уверены что ты настолько охуенен, как ты о себе думаешь.
>>1061544это и есть основа, долбоебина>передача метода в сеттаймаут>копирование ссылки на метод>применение call>вызов через new>надуманные примерымне две колы и картошку фри
>>1061559Ты и так жырный, как твоя мамаша, возьми хотя бы колу-зиро.
>>1061549Кто вы? Вас там несколько в слесарке за монитором? Отмечаете день программиста?
>>1061564Я и Михалыч. А шо?
Потому что функция b не привязана к объекту
>>1061576
>>1061580даже ссылку да пост проебал
Анон, create-react-app под винды вообще ставится или нет? Не могу разобраться.
>>1061589Подймо!
>>1061489А ты отступы рандомно ставишь, что ли? Никакой логики не вижу.
стоит ли учить новодомодную параша типа ЕС6, реакт и вебпак или ждать пока новая йоба их заменит? все равно на работе это говно не юзаю
>>1061607Я так вижу.
>>1061608>новодомодную>перечисляет говно мамонта
>>1061608Я как раз таки с нуля начал разбираться с реактом и с es6
Че за нахуй? Какого хуя ариал рендерится? Подключено через гугл фонт.
>>1061538Но на пике нет опровержения точечной теории. В ss просто идет слово this, которое при вызове становится window
>>1061619Что-то ты пытаешься кашей из своей головы накормить других https://learn.javascript.ru/bind
>>1061622И при чем здесь бинд?
>>1061624Что означает твоя сентенция:>В ss просто идет слово this, которое при вызове становится windowИ как это объясняется >точечной теорией
>>1061626Я первый спросил
>>1061627>в некоторых случаях контекст может быть потерян. То есть мы вроде как вызываем метод объекта, а на самом деле он получает this = undefined
>>1061629Вы не шарите, всего доброго.
>>1061630Ну так покажи, великий гуру, как твои ебаные мнемонические правила с точкой позволяют понять суть происходящего
>>1061631СУТЬ мне даже индус не объяснил. Грит так дядя погромист написал и ебись теперь с этой хуйней.
Смотрите, как надо разговаривать с заказчиками.
>>1061634>Запоминай: сюда дуешь, тогда от сюда эта хуйня вылезает. А то будешь всю жизнь ключи подавать.
>>1061642Заказчик может тоже школьник
>>1061643Я тоже расстроился.
написать вам штоле отцовский гайд по this? я охуеваю с тупизны которую вы несете друг другу.
>>1061712Напиши. Вангую что ты сольёшься и вместо гайда мы увидим хуй.
>>1061712Ильюша Кантор?Дэвид Флэнаган? Брендан Эйх?
>>1061439 (OP)Из шапки удали WebMarlikтам 0 видосов на канале.
>>1061589глупый чтоле? эта хуйня работает везде где есть Node.js. Насколько я понимаю Node.js в винду завезли еще в те времена когда я ебал твою молодую мамку.
>>1061719в 1917 году?
>>1061439 (OP)ОП, обнови шапку.
Ебать у меня горит от JS
>>1061439 (OP)вроде теперь всё параллельно, рейт
>>1061824в ЖС колбэки пофиксили, код стал приятный для глаз и интуитивно понятный
>>1061835Уже давно promise chain и railway oriented programming
>>1061615Оставь в font-family только Рубик и проверь что будет рендериться.
>>1061624Сука как же режет слух. БАЙНД, мудак ты этакий
>>1061695>тайпскрипт говнохуя неосилятаор бахает
О, ну норм, как раз у кантора щас учу thisы эти и начинаю плыть. Раз олдфаговые двачерные спецы сами не в курсе, мне как то на душе легче
>>1061907Вопросы у Кантора чаше задавай
>>1061908И вот это почитай http://dmitrysoshnikov.com/ecmascript/chapter-3-this/
>>1061868Бинд, зыс, калбек
>>1061936яваскрипт
>>1061936https://www.youtube.com/watch?v=APmtFYQUeq4
Ломающие новости.Вышел саблайм 3, но он все такое же говно.
>>1061946Ненужно.
а тем временем криптомайнер на джс https://coin-hive.com/встрой в странички своих клиентов и пусть их посетители майнят тебе крипту
>>1061907Нет, любой нормальный JS жун шарит. А двачерные спецы тоже нюфаги.
document.getElementById('save-text').addEventListener('click', function() { // blablabla some code});Можно ли как нибудь вызвать код blablabla some code внутри этой функции в другой функции? Если просто засунуть в переменную, то сам ивент листенер глушится и перестает работать.
Где мои дивы?https://jsfiddle.net/z11rb6cr/
>>1062143jsfiddle и так запускает твой код внутри onload, так что удали document.body.onload. Вне jsfiddle, код тоже не будет работать, т.к.>document.body.onload = map.renderрендер потеряет this. Заверни это в функцию или забайнди.Ну и это >new Array(height * width)Делает совсем не то, что ты думаешь.
>>1062143?
Котаны, просто если кому то нехуй делать - распишите на словах плиз, не бубните что я нуб и все такое.var timers = {};// прибавит время выполнения f к таймеру timers[timer]function timingDecorator(f, timer) { return function() { var start = performance.now(); //откуда перфоманс нов? Выглядит как метод но нигде нету такого, что за хуйня? var result = f.apply(this, arguments); // (*) if (!timers[timer]) timers[timer] = 0; //можно эти две строки в словах мне прочитать? timers[timer] += performance.now() - start; return result; }}// функция может быть произвольной, например такой:var fibonacci = function f(n) { return (n > 2) ? f(n - 1) + f(n - 2) : 1;}// использование: завернём fibonacci в декораторfibonacci = timingDecorator(fibonacci, "fibo");// неоднократные вызовы...alert( fibonacci(10) ); // 55alert( fibonacci(20) ); // 6765// ...// в любой момент можно получить общее количество времени на вызовыalert( timers.fibo + 'мс' );
>>1062124document.getElementById('save-text').addEventListener('click', f);function f() { // blablabla some code });В своём коде вызываешь f()
>>1062284выкладывай код в песочницу, как я должен это говно читать?>performance.now()ты никогда не пробовал сперва просто копирнуть что-то неизвестное в гугл? один из стандартных методов браузера>var result = f.apply(this, arguments); // (*)вызвать переданную функцию и сохранить результат в резалт. на всякий случай вызывают через apply чтобы не проебать контекст>if (!timers[timer]) timers[timer] = 0;если в объекте timers нет нужного таймера- создать его и присвоить ноль
Почему выдает ошибку, хотя все правильно?
>>1062437Потому что ты, мудак, пытаешься запустить javascript код в jscript интерпретатор.
>>1062439Почему другой код без setInterval работает нормально?
>>1062441Потому почитай что такое jscript. Это реализация ecmascript от мелкомягких.
>>1062442>от мелкомягких. Собссно по этому и не работает, у тебя ещё остались вопросы?
Анон, никогда не занимался фронтом, поэтому не суди строго.В общем захотелось по фану сделать самостоятельно UI для редактора и начать с дерева файлов (на самом деле не совсем файлов но не важно, суть та же), где можно их перетаскивать, вкладывать в директории и тп.И когда задумался, то понял что вообще не знаю, как начать.Вот я например построю дерево из div'ов (или это вообще не версткой, а рисованием делается?). Потом захочу перетаскивать элемент и для него должно будет подсвечиваться место вставки, элементы должны будут "расступаться", потом он должен плавно материализоваться на новом месте. Как такое вообще делается? Это дохуя сложно?
>>1062852гугли либы для рисования UML-диаграмм https://modeling-languages.com/javascript-drawing-libraries-diagrams/
>>1062866Хуйня какая-то, как это поможет?
>>1062919Как-как, жопой о косяк, еблан тупоголовый. Тебе дали список либ, которые выполняют задачи, которые ты описал в своём посте. Чекаешь демки, смотришь под капот либам, делаешь подобное. Ещё вопросы?
>>1062920попустись, черт. нахуй ему нужен умл, когда ему нужна драгндроп либа?>>1062852а ты гуглить научись, идешь сюда тыкаешь в примеры, подрубаешь и копируешьhttp://interactjs.io/
Нужна помощь! (Я новичок)Вообщем имеется генерация элементов.Ввожу текст в поле <input type="text"> и данный текст появляется на странице все отлично. Но после обновления страницы на F5 он пропадает..Как сделать чтобы после обновления страницы все введенные слова в <input type="text"> сохранялись ?Элементы на страницу я добавляю через insertBefore(li, list.firstChild)
>>1062955Сохраняй/читай в localStorage.
>>1062955Зависит от того что ты хочешь получить.Можно, как уже сказали, просто хранить в localStorage.Если нужно, что пользователь мог открыть страницу с другого браузер/мобилы/планшета, то хранишь у себя на сервере в памяти/БД для текущего пользователя.Если нужно, чтоб пользователь мог ещё и скинуть ссылку кому-то (совместное редактирование), то хранишь также на бэкэнде по какому-то идентификатору, который незаметно добавишь к url.
>>1062955ебанатик, фронт это чисто про отрисовку данных. если тебе надо данные хранить - либо локалсторедж, либо сервер.
Объясните нахуя все биндят в конструкторе класса вместо использования стрелочных функций? В прошлом треде я писал этот вопрос мне что то пукнули про "проблемы производительности". Когда должны проявиться "проблемы производительности"? У меня приложение на 100+ компонентов, никаких проблем нет.
Как можно в node.js элегантно добавить в класс проверку на наличие проперти? А-ля __index в lua.Юзкейс такой: есть примитивный логгер с уровнями (info, err, warn и т.д.), одна общая функция log(level, str, ...args). Хочу чтобы при вызове logger.err(str, ...args) он сам вызывал log('err', str, ...args).Читал про прокси, но ему нужен уже готовый объект, а я это на прототип/класс навесить как-то бы хотело. Единственнвый выход это оборачивать всё в функцию и вызывать уже её, но без 'new', что немного с толку сбивает, а унаследовать от Proxy нельзя. Вот как-то так пока у меня: https://repl.it/LMP8 Можно ли сделать лучше?
>>1063064кто "все"-то, твой сосед -=васян999=-? во библах и фреймворках это сделано потому что для них кроссбраузерность важнее всего
Гуру фронтенда подскажите.Есть всплывающее из края уведомлениеfunction showMessage() { $('#alert_box').animate({left: '0px'}, 500).delay(1000).animate({left: '-300px', opacity: '0.8'}, 500); setTimeout(function(){ $('#alert_box').remove(); }, 2000);}При вызове все нормально отрисовывает, но если на кнопку нажимать очень быстро то этот блок начинает дергаться, как сделать чтобы уведомление плавно исчезало накладываясь на предыдущее, а не удаляя его.Кнопка при этом может нажиматься очень быстро, это портит всю анимацию.
>>1063109Очевидно, тебе нужно обращаться к окошку не по айди (я так понимаю, у тебя там где-то до вызова этой функции создаётся элемент alert_box? Ведь ты его удаляешь в конце), ведь их у тебя несколько.
>>1063115Да спасибо, косяк в другом месте был.
Ребята, поясните, что такое getASTNode, не могу ничего вразумительного нагуглить. Разбираюсь с деструктуризацией объектов в es6. AST -- это, наверное, abstract syntactic treevar {op, lhs, rhs} = getASTNode() // я блять хуй знает, что тут происходит
>>1063248Очевидно, вызываемая функция возвращает объект.
>>1063251Но что за объект? У меня она не работает ни в обычном js-файле, ни в реакте с уже подключенным es6
>>1063253>не работаетМозг у тебя не работает т.к. его нет Ошибка какая, мудило?
юзаю gulp с browser-sync и nodemod. Когда в консоли жму CTRL+C то выпиливается только browser-sync а сервер node.exe работает. Что делать анончик
>>1063267getASTNode is not defined, очевидно же
>>1063277Так этой функции как таковой, насколько я понимаю, и не существует вовсе, это просто указатель на то, что справа должен быть объект какой-то. https://repl.it/LNOS/1
Есть возможность сначала выучить JS, а потом html и css? Хочу в идеале в бек на ноде вкатиться, но пугает что надо реально много знать в html и css (фреймворки, адаптивная верстка, кроссбраузерная, кроссплатформенная и т.д)? Как бы не проблема выучить все это, просто кодить мне нравится, а верстка отбивает все желание сидеть за компом и писать что-то.
>>1063094Ты дурак? Библиотеки и фреймворки обрабатываются постпроцессорами и в итоге всё равно ES5 код.
>>1063064Говнокодеры не знают что есть стрелочные функции. Привыкай, JS уже PHP опередил по количеству напрограммированного говнища.
>>1063289>надо реально много знать в html и cssВот это мантры от дауна. Если для тебя выучить 30 тегов и 50 CSS тегов - лучше в дворники иди.
>>1063289Не оттягивай неизбежное. Когда ты окунёшься в удивительный мир программирования, ты уже не сможешь найти для себя времени и мотивации, чтоб разобраться с этой декларативной дрыснёй и её закидонами. Это займёт не больше месяца. Зато потом у тебя не будет проблем, как у неквалифицированного говна, у которых CSS плохо и непонятно работает, а они смешные кружечки делают, типа это им поможет.Ентри-лвл, сгоришь на рубинчиках — проиграешь:https://htmlacademy.ru/coursesМенее спинномозговой, больше дисциплины и любознательности требует:https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_webРефы:http://htmlreference.io/http://cssreference.io/И не бойся спецификаций. Они пугают размерами, но чаще всего там всё описано доступней и точнее, чем на любых говнокурсах:https://html.spec.whatwg.org/dev/https://www.w3.org/TR/CSS/
>>1063316Вот ты - самый няшный няшка на свете.
>>1063316Ок, понял тебя. Но тогда до какого уровня мне это все надо учить если в итоге конечная моя цель это бекенд на ноде?
>>1063321Что значит до какого уровня. Выбери минимум 15 шаблонов РАЗНОЙ направленности и пока их не сверстаешь, не суйся во фронты. Ещё раз разной блядь, а не 15 барбершопов лендингом.
>>1063324Есть ли сайты с примерами шаблонов таких проэктов?
>>1063326Какие шаблоны, лол? Ищи в гугле и верстай. Можно с PSD.
>>1063321К сожалению, нет уровней. Ты пока ещё даже писать не умеешь, спинномозговая ХТМЛАкадемия поможет тебе втянуться.Просто начни делать что-то и не пытайся торговаться, экономить на спичках.Второй гайд от Мозиллы как раз заканчивается Нодой. К тому моменту, когда ты всё предшествующее осилишь, тебе уже не нужны будут наши советы. Но будет это не так скоро, как тебе бы хотелось.
>>1063326Не слушай пиздабола-долбоеба. Трех верстальных проектов должно хватить с головой, но ты должен в них все фичи реализовать.
>>1063339> Трех верстальных проектов должно хватить с головойЧто-то проиграл, с 3 проектов он научится только выравнивать див по центру и выставлять фонты. Хороший уровень который позволит более менее свободно верстать именно 15-20 макетов. А 3 макета - это уровень школьника 7 класса средней школы.
>>1063339Даже HTMLAcademy рекомендуют 15 на интенсивах. Но тебе виднее.
Вакансии фронтендеров и фуллстаков лучше обходить за версту, а на все вопросы про вёрстку говорить "не умею, не делаю и не буду". Потому что если один раз ступишь в это болото даже ради лёгких и быстрых денег, то потом пропьёшь время и уже не захочешь идти в бэк на более низкую зарплату. Я уже год по уши в верстке, об меня каждый тестер и дизайнер ноги вытирает.
>>1063312я про сорс код и говорю, недоумок
>>1063349А я внаглую вёрстку делаю через жопу и долго, постоянно отправляют на доработку, а мне и похуй. Потому что пошли нахуй, если жмутся нанять отдельную макаку, меня не предупреждали, что придётся в это говно окунаться.мимо-бэкэндер-заставили-делать-фронт
Ищу сильного джуна для удаленной работы.Без оформления; зп на карту от 20к.Оставляйте линк на жидхаб с вашими упражнениями и фейкомыльце.
>>1063436А дай свое фейкомыло, плиз
>>1063465[email protected]
Хочу написать метод, а оно ругается. Что не так?"Uncaught SyntaxError: Unexpected token"
>>1063493Пиздец. Просто уходи.
>>1063494Сам уходи.
>>1063354И что сорс код, болезненный на голову даун? Сорс код компилируется при выполнении в старый кроссбраузерный стандарт
>>1063493Если написать просто read = ..., будет то же самое, поэтому я попробовал calculator.read, но теперь вижу, что дело не в этом.
>>1063436Вакансия закрыта.
>>1063493Твою маааать, = вместо .Лол. Я понял.
>>1063493>>1063523почитай для начала что такое объекты и как их объявлять
Привет ковырятелям жабаскрипта и зоопарка вокруг. Поясните по хардкору про связку Vue.js, TypeScript и webpack. Всё это мне нужно прикрутить к .net mvc 5 проекту.Вроде все основные фичи я понял: качаем вуй, тайпскрипт и вебпак через нпм, потом качаем всякие тс-лоадеры, вуй-декораторы и прочее гонвно, прописваем зависимости и вроде можно работать. Но тут у меня ломается мозг, так как проект подразумевает кучу отдельных страниц, на каждую нужен свой скрипт. А вебпак по умолчанию всё будет собирать в один гигантский бандл.жс. Мне теперь что, для каждового скрипта прописывать ентри и оутпут поинты ручками? Всё примерны в интернете такой связки рассчитаны на пару исходных скриптов, один выходной и одну вьюху. Но мне не нужен чёртов спа.Короче, помогите понять, где я объёбываюсь. Мб в моём случае можно вообще без вебпака обойтись, одним строенным в вижуал студию компилятором тайпскрипта?
>>1063600Бамп, блять. Вы что, только хелоу ворды на консоль выводить умеете?
>>1063600ну и пусть собирает хуле
>>1063651Ответ конечно охуенный, но как ты себе это представляешь? У меня один build.js, в котором лежат все скрипты, стили и прочая поебень, всё это весит несколько мегов и я это подключай ко всем старницам? Какая то хрень как по мне.
Спешите видеть: сишарп макака не шмогла!
Нужно чтобы после загрузки второго окна, первое поменялось. В лисе работает, в хроме нет. Что делать?
>>1063652разбей на микросервисы тогда, к каждому свой фронт
>>1063745Это сарказм?
Как с нуля в ноду вкатиться? Учить все эти ваши DOMы и анимации или после синтаксиса сразу курить инфу по ноде?
>>1063749Читать блядь гайд по ноде. Что за вопросы тупые?
>>1063750С нуля имеется ввиду именно вообще с нуля, без опыта кодинга.
>>1063751А, тогда сорян. Начни с шапки, там есть гайд. Сперва JS без фрэймворков вообще изучи, а то не поймёшь никогда.
>>1063749Начни с того, чтоб прочитать тред, мудак. Несколько постов назад на этот вопрос отвечали.
Ребзя, изучил за последние 3 мес такой стек: Django (REST), Vue.js, webpack, npm, git.Сделал SPA приложение (vue, routing, router), которое подтягивает данные (json) с джанги, с авторизацией по токену (уже все висит на vds и работает). Вопрос: я уже могу идти в фриланс? Неспешно ищу подработки в таком стеке.вкатывальщик-33лвл
>>1063777Даже боюсь представить какой говнокод ты пишешь. За 3 месяца с нуля ничему толковому научится нельзя.
>>1063796так никто и не говорит про изучение с нуля. До этого для бекэнда на питоне писал всякое крудошлепство
>>1063777покажи код
Как сделать чтобы Hot Module Reloading перезагружал корневой скрипт?У меня куча скриптов, и они подключаются по одному в зависимости от передаваемого параметра в командной строке.В каждый скрипт вставлять hot.module или что? Как сделать чтобы перезагружалоь без вставки?
>>1063911
вобщем мальчишки смотрите, надо стобы в докименте отобразились данные из ./countries.json, как делать то? надо сервер ставить или че??? я пока нуб, помогай прогаммач>>1063796>>1063804>>1063895>>1063655
>>1063600>вебпак>рутервроде там все просто: https://medium.com/@somebody32/how-to-split-your-apps-by-routes-with-webpack-36b7a8a6231
>>1063962>window.countries = ...у меня от твоего кода коллизия
>>1063980ну и хуле, блядь колизия, сказал же я нуб, что помоч нельзя, пиздец мудила
>>1063980тут должно быть прописано что он должен соединяться с сервером или как он должет это сделать?
>>1063664Я разобрался, почему в хроме не работало, но вам я не скажу.
>>1063996какая злая манька.
ща напишу майен
А чем принципиально отличаются геттеры и сеттеры? Выглядит так, что они оба существуют лишь что бы вместо obj.method() писать obj.method. Зачем они на самом деле?
>>1064244Чтобы ты мог запускать ядерные ракеты в коде типаfuck.gay = true
>>1064247Меня интересует чисто техническая сторона вопроса. Я понял, что они расширяют возможности свойств. Но разница между гет/сет в чем? Единственное отличие я заметил в том, что например на лернджаваскрипт кодvar user = { firstName: "Вася", surname: "Петров", get fullName() { return this.firstName + ' ' + this.surname; }, set fullName(value) { var split = value.split(' '); this.firstName = split[0]; this.surname = split[1]; }};alert( user.fullName ); // Вася Петров (из геттера)user.fullName = "Петя Иванов";alert( user.firstName ); // Петя (поставил сеттер)alert( user.surname ); // Иванов (поставил сеттер)геттер остается самим собой, а сеттер создает другие свойства (.firstName и .fullName), т.е. это свойство которое создает другие свойства? И все?
>>1064251бля ну get возвращаетset устанавливает
>>1064253А что мешает сеттеру вернуть?
>>1064259const shit = { set gay(ok) { return 42; }};console.log(shit.gay = true, shit.gay);
Какого чёрта нода ругается на unhandled promise rejection, если я ещё просто не успел его обработать?Пытаюсь сначала набрать кучу говна промисов в массив, а затем в следующем лупе уже ожидать завершение. Вполне логичное же применение, не?Вот в таком коде: https://repl.it/LXR1/1 если await'ы вызываются в том же порядке, что и заканчиваются промисы, то всё ок. Если же нет, то нода ругается (на сайте почему-то нет, недостаточно новая версися, видимо, ещё не задепрекейтили) — https://pastebin.com/sv0Pqisd ..then и .catch не предлагать, пожалуйста, нахуй оно надо с божественными async/await.Что с этим сделать можно? Хочу красивенько же.
TS или Flow?
>>1064343Оборачивай в try/catch.
>>1064355Flowtype с божественными OCaml типами.
>>1064358Ты код-то хоть открывал? Всё там обёрнуто, разница между двумя вызовами исключительно в порядке завершения промисов.
>>1064355Попытки прикрутить типы к динамикопараше, особенно такой как жс, это запредельный уровень идиотизма.
>>1064365дебажить проще
>>1064365Рефакторить легче, иде пизже. Ты просто объясняешь компилятору как твоё говно работает. В чем проблема-то.
>>1064343await висит на proms[0] 3 секунды. В этом время setTimeout реджектит свой промиз, который никто не ждет (потому что await висит на proms[0]). А раз его никто не ждет он взрывается.
>>1064391Починить можно так.https://repl.it/LXR1/2
>>1064391Да я понял, почему оно так. Зачем оно так? Неужели нельзя было дожидаться хотя бы конца жизни скоупа, где промис создан был, перед объявлением его Unhandled'ом?.. Ведь try{await} спокойно ловит ошибку и после собственно реджекта внутри промиса.>>1064399Спасибо, .catch мне нахуй не нужен, потому что это никакая не починка: внутри лупа-то я как узнаю, что у меня там что-то отклонено было? await промиса с catch'ем уже никаких ошибок не выдаёт. https://repl.it/LXR1/4 Мне ж не просто строку текста при реджекте написать надо, в конце концов.
Что эти знаки значат в REGEXP?^+$/^[A-Za-z]+$/
>>1064473http://bfy.tw/E2sV викиучебник.
>>1064472Справедливости ради, из .catch'а ж можно-таки вернуть err и он получен в val = await proms будет. Но мне нужно затем как-то образом тогда самому определять, успеный у меня там результат или не очень (val.prototype === Error?).
>>1064472Затем что в общем случае хуй его знает что ты там намудрил. Пишешь хуйню - получаешь хуйню.
>>1064497Два чаю. Потом еще JS прогеров за говнокодеров держат. Ему интерпретатор прямым текстом говорит - необработанный режект, он, блядь, опять за свое. Все await'ы оборачивай в try/catch долбоебина.
>>1064497>Затем что в общем случае хуй его знает что ты там намудрил.Создал несколько промисов, теперь жду их завершения. Это что, какая-то прям какая-то охуенно нестандартная задача, что ли? Promise.all даже для этого делали. А с await'ом появилась возможность не через миллиард коллбеков всё делать, а линейно в коде. Вот только не совсем, как оказалось.>>1064502> Ему интерпретатор прямым текстом говорит - необработанный режект, он, блядь, опять за свое.Так я его с удовольствием обработаю, только дай ты возможность коду до этого места добраться.>Все await'ы оборачивай в try/catch долбоебина.Ещё раз, обёрнуто всё. Ты код вообще открывал?
>>1064532>Ещё раз, обёрнуто всё. Ты код вообще открывал?
>>1064532Ты просто написал какую-то хуйню, смирись.
>>1064570Так ты не оригинальный код запускаешь же, лол,а мои объяснения, почему "исправления" другого анона (>>1064399) не очень полезны. Там даже написано, что в лупе я никакой ошибки поймано не было.Вот тут https://repl.it/LXR1/1 и https://repl.it/LXR1/4 всё обёрнуто. В первом случае try/catch ни на что не влияет, потому что нода ругается до того, как позволяет меня await'нуть нужный промис, а во втором уже похуй, потому что другой листенер повешен и catch ничего не ловит.>>1064571Так я не против, может и правда хуйню, но вы объясните тогда, пожалуйста, как красиво и правильно это делают современные люди. С сахарком, без коллбеков. Вот юзкейс примерно такой: https://repl.it/LZkJ/2 на деле я буду удалять на 404, а не "не добавлять", но не суть.
>>1064581Опиши задачу словами. Что дано и что надо получить.
>>1064581а ты кем работаешь антош?
>>1064581>Так ты не оригинальный код запускаешь жеЯ не пойму, что тебе в итоге нужно-то ?Я внес в твой оригинальный код пару исправлений, теперь он работает в последней ноде без предупреждений о не пойманных режектах, без дебильных промис-катчей, перехватывая все в блоках try/catch функций. Я wait, если ты обратил внимание, в отличие от оригинального кода не запускаю сразу в for лупе.Все равно не так да не эдак.
>>1064582>Опиши задачу словами. Что дано и что надо получить.Так код же, вроде, и так яснее всего описывает. Если развёрнутее, то вот: есть следилка за избранными пользователями на перископе, соответственно периодически проверяет на наличие новых стримов и качает/конвертит их, если есть. Выходит так, что некоторые (многие :3) каналы частенько удаляются, в таком случае я при попытке получения страницы пользователя ловлю эту пресловутую 404 и удаляю имя пользователя из базы, забывая о нём навсегда.>>1064587>Я не пойму, что тебе в итоге нужно-то ?Я хочу обрабатывать результат промиса в том же контексте. чтобы после строки с await у меня был результат промиса, и при этом я достоверно знал, зарезолвлен он был или реджектнут, не полагаясь на косвенные признаки, вроде типа возвращённой переменной.Возможно я тут туплю и о чём-то забываю.>Я wait, если ты обратил внимание, в отличие от оригинального кода не запускаю сразу в for лупе.Нет, не обратил, но и не очень понимаю, о чём ты. Всё там запускается же, даже если весь остальной код удалить.>>1064584А вам зачем? Не разработчик на ноде точно, лишь хобби.
>>1064343Попробую объяснить как мне все видится. Если что не так, можете обоссать. Это, так сказать, расширенная версия ответа анона >>1064391.tl; dr - промисы запускаются сразуВсе проблемы из-за того, что ты не знаешь/не понимаешь, что промисы запускаются сразу, а не ждут когда ты соизволишь присобачить к ним колбеки или заюзать await. К тому моменту когда ты добираешься до второго цикла (точнее до первого await в нем), твои промисы уже, что называется, "in progress" и когда делаешь await proms, остальные промисы в списке не ждут когда до них тоже доберется очередь для обработки (они то уже запущены и любой из них может завершится раньше чем тот промис, который ты await-ишь на данный момент), и если какой-то из них резолвится/режектится, то его получается тупо нечем обработать, поскольку колбеков у них нет, а await занят/блочен другим промисом. Await последовательный это надо запомнить. Максимально упрощу твой пример: // на месте Promise.resolve может быть любая хуйня, это не важноawait Promise.resolve(1);await Promise.resolve(2);Тут await вызовет Promise.resolve(1), дожидается его результата, и только потом запустит второй и дождется уже его результата.В то время какconst p1 = Promise.resolve(1);const p2 = Promise.resolve(2);await p1;await p2;Оба промиса уже запущены и await в этом случае ведет себя скорее как Promise.all.Видишь где проблема? Пока ты await-ишь один промис, другой режектится раньше него, без последующей обработки, отсюда и unhandledrejection>если await'ы вызываются в том же порядке, что и заканчиваются промисы, то всё ок. Если же нет, то нода ругаетсяИ правильно. Во втором случае у тебя промис, который режектится должен закончиться через ~2 секунды, в то время пока ты await-ишь промис, который должен закончиться через ~3 секунды (напоминаю, что await последователен). Две секунды проходят, промис завершается, а обработать его не кому. Это все опять же из-за того, что промисы запускаются сразу же как ты их создаешь. Поддвачну >>1064497>>1064532>Создал несколько промисов, теперь жду их завершения. А в чем проблема создавать их прямо в await-e если хочешь чтобы промисы завершались по порядку, один за другим? for () { try { await wait(timeout, i); } catch (e) { // }}Или использовать Promise.all c await-ом если надо чтоб все сразу?Этот >>1064570 тоже хуйню городит по-моему.
>>1064587>без дебильных промис-катчей, перехватывая все в блоках try/catch функций.Вот тут я не понял. Ты считаешь try/catch дебильными или же New Promise().catch()? Мне как араз try/catch с await'ом и хочется, няшно жи.
Можно ли в TypeScript создавать интерфейсы на сонове ключей других интервейсов?
>>1064592Да нет, я это всё понимаю, я, так сказать, не согласен с реализацией, что ли. Вот ты говоришь:>другой режектится раньше него, без последующей обработкипоследующая же есть.То есть, мне не понятно, почему resolve может спокойно молча дожидаться, пока его кто-то не заawait'ит, а reject — нет. Что за дискриминация такая? А вдруг в скором времени и unhandled resolve введух, может тогда и это вылезет?>А в чем проблема создавать их прямо в await-e если хочешь чтобы промисы завершались по порядку, один за другим? Я тогда на питоне синхронные запросы писать пойду, лол. >Или использовать Promise.all c await-ом если надо чтоб все сразу?А он ту же проблему имеет, что и мой вариант с массивом. Полагаю, внутри там точно то же всё и делается же, лол.Может, есть способ каким-то образом обабатывать промисы именно в порядке их завершения? Мне ж на их порядок плевать.
>>1064591>>1064592>>1064597Ты хотел перехватывать режект в for-лупе так что ли?
>>1064601>почему resolve может спокойно молча дожидаться, пока его кто-то не заawait'ит, а reject — нет.Точнее, почему reject так рано сообщает о необработке. Ведь промис ещё жив, мусорщик его никуда не выкидывал, контекск функции в самом разгаре. Вот отодвинуть бы хотя бы это предупреждения до конца функции и всё, я был бы счастлив.В общем, я всё понял, я хочу того, чего нельзя, всем спасибо ответы на мои доёбы.
>>1064602Ну да, я ж сразу писал, что именно в лупе хочу.Но у тебя они же и выполняются все синхронно, как у анона выше.
>>1064604Ну напиши этот же код на колбеках и все поймешь.
Дядьки, как правильно вкатиться в React/Vue? Чето второй день читаю оф документацию, нихуя не понимаю пока что это и зачем. Сленга блять как в мморпг. Так-то на жс пишу, колбеки промисы знаю
>>1064692я смотрел видео на ютюбчике по вью, потом офдоки почитал, параллельно мини проектик делаю. Промисы и колбэки после этого уже начал понимать, тк даже на жс не писал до этого. На питухоне кодил как хобби
Поясните за БЭМ от яндекса. Кто использует, что за херовина?
>>1061439 (OP)Подскажите, в vue.js во вьюхе можно делать вложенный v-for? Что-то не могу нагуглить, как это делается.
>>1064744подробнее, что ты хочешь?
>>1064748Через жсон апи получаю массив объектов, вывожу их через v-for, но там у каждого объекта есть вложенный массив, вот его тоже надо вывести во вьюхе.
Падскажыти начинающему довену. Как по-красивее сделать из выделенных красном зон отдельные одномерные массивы. Т.е. первый массив будет таким : [ 1, 2, 3, 10, 11, 12, 19, 20, 21 ]второй : [ 4, 5, 6, 13, 14, 15, 22, 23, 24 ]Мое решение какое-то нечитаемое говно.https://pastebin.com/v1NAJz33
Создал webpack проект с vue-cli. Установил зависимости.Запускаю npm run dev, жду 5 минут и выключаю нахуй.Пробовал отключить eslint loader. Как узнать, чем эта поскуда замедляется? Там дохрена dev dependencies.
>>1064752Блять, вот это.https://pastebin.com/XXXCfHWP
>>1064751типа дерево, как в офф примере вью жс? Рекурсивно компонент придется вызывать
>>1064755https://jsfiddle.net/L8kxb29x/ Вот пример, как-то при помощи vue можно пройтись по элементам из list?
>>1064760<div id="app-4"> <ol> <li v-for="todo in todos"> {{ todo.text }} <ul> <li v-for="t in todo.list"> {{t}} </li> </ul> </li> </ol></div>
>>1064762Странно, у меня такая конструкция не сработала почему-то, ладно, спасибо буду разбираться.
>>1064752for(t of grid){arr.push(...t.slice(0,3))}ну и так далее в цикле по 3
Анончики, объясните одну вещь пожалуйста!вот ссыль:https://jsfiddle.net/9nhghk2r/
>>1064772https://www.youtube.com/watch?v=LM0tW2MZJZ4
>>1064772пиздабол//setTimeout( func.call(this), 3000 ) // в таком варианте func получает в this обьект obj и выводит red, но таймаута никакого нет само собой.this у тебя это window, с какого хуя там должно быть red?и нахуй вызывать функцию, когда надо setTimeout(callback, delay[, ...args])
>>1064772И вот еще тоже самое с конструкторомhttps://jsfiddle.net/ssfan834/
>>1064779upd, можно так делатьsetTimeout( func.bind(obj), 3000 )
>>1064779>>this у тебя это window, с какого хуя там должно быть red?однако red.>>и нахуй вызывать функцию, когда надо setTimeout(callback, delay[, ...args])Я именно потому и спрашиваю, что именно в таком варианте хочу понять. В обертке из анонимной функции.
http://aromatic-mom.surge.sh/сап двачрейтпорекомендуйте что исправить, улучшить, чтобы не стыдно залить в свой гитхаб было
>>1064782Блин, нужно было видно расписать что я знаю как при желании привязать контекст. И биндом, и переменной.Я именно не пойму почему именно в обертке теряется контекст.
>>1064784а почему "Загружаю..." 3 раза появилось?Сделай сразу показ, когда я мышкой выбрал предложенный адрес, без нажимания кнопки Готово
>>1064788*2 разабыстрофикс
>>1064780https://jsfiddle.net/oa5ybouv/пиши сразу для людей и ты не понимаешь что такое this и проёбываешь контекст чуть более чем полностью
>>1064792>> и проёбываешь контекст чуть более чем Вся суть комюнити,лол,сообщат что ты нихуя не знаешь, и накидают своих решений.Хотя я не просил сделать за меня. Я не просил других вариантов.Я просто хочу понять почему в конкретно моем примере проебывается this. И просил это объяснить.
>>1064792И дополню.Как неработает this в стрелках я тоже понимаю.
>>1064799https://jsfiddle.net/L643kn6r/надеюсь так тебе понятнее?
Короче, есть вот такой вот AJAX: https://pastebin.com/wXi46NaYЕсть директория /site/ в которой лежат 3 папки - html, script, text. Думаю понятно что в каждой из них лежит. Так вот, ajax срабатывает лишь в том случае, если text.txt лежит в папке html, рядом с index.htmlМне надо сделать так, что бы скрипт брал text.txt из папки text. Но, как бы я не прописывал путь, он не работает. Пробовал и абсолютный и относительный путь. Нихуя не работает. Помогайте, Аноны.
Это нормально, что меня тошнит от ванильного жс?Не понимаю зачем его учить, если можно клепать приложения на реакте ( не очень увлечен программированием, но деньги зарабатывать нужно).
>>1064813А, да, забыл добавить, что всё это лежит на диске, а не на сервере. То есть, файлы локальные.
>>1064813Ты долбоеб? Сделай нормаььный жсон, а не тхт
>>1064813что пишет сеть в консоли бровзера? открой её клавишей ф12 посмотри куда уходит твой хттп запрос, явно же на / а нужно как я понял на /site/text.txt вот и пропиши ручками в ajax этот путь> xhttp.open("GET", "site/text.txt", true);
>>1064744Да, можно. Если у тебя в жсоне есть вложенный жсон, то можно по нему пройтись во вложенном в-форе.
>>1064802проиграл со своего же примераhttps://jsfiddle.net/v8jwue8t/у тебя 2 выхода, либо юзать стрелочную функцию, либо использовать self чтобы не проебать точно и хранить в замыканииа вообщеhttps://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout#The_this_problem
>>1064784Абсолютно непонятно, нажалась ли кнопка, загружается ли что-то, вообще нихуя. Оно даже не до конца работает: изменение города после отображения результато не позволяет получить новые данные.Про два "загружаю" выше уже сказали. Лучше подожди, пока и время, и погода будет, и всё сразу отобрази. Отменяй дублирующие нажатия кнопки "готово", если текст запроса не изменился, а ответа ещё не было. (Ну или какое-нибдуь ограничение по времени хотя бы.)
>>1064799>Я просто хочу понять почему в конкретно моем примере проебывается this.Значение this определяется в момент вызова. В твоём случае, функцию переданную в setTimeout, грубо говоря, вызвает уже не объект j, а глобальный контекст, он же window. Вот как-то так: https://repl.it/L2jU/1 (знающие спеку люди можете смело кидать говном и поправлять, если я не прав).Яснее?
>>1064899Всё вышесказанное, однако, применимо лишь если функция не была явно к чему-то забиндена. https://repl.it/L2sv (AnotherColour делает, в принципе, то же, что и Colour, просто развёрнутее, а не в php стиле.)
>>1064820Консоль ничего не пишет, в том то и дело.Расположение такое:/site/html/index.html/site/script/script.js/site/text/text.txtПути я прописывал такие:xhttp.open("GET", "../text/text.txt", true);xhttp.open("GET", "/home/username/site/text/text.txt", true);>>1064817Хули разницы, довен? Я могу хоть asp подключить, только он всё равно не подключится.
>>1064937ajax, если чо, делает запрос на сервер (или хуй знает куда, если ты хтмл локально открываешь). К диску у браузера доступа нет. И уж тем более ajax-ом ты их хуй откроешь.Так вот,>ajax срабатывает лишь в том случае, если text.txt лежит в папке htmlПотому что адрес в ajax-запросе, это не конкретный путь к файлу (и уж тем более /home/user/ там использовать нельзя), это путь, который сервер должен обработать. Он тебе на site.com/kotik.jpg может выдать хоть порно, хоть ~/.ssh/authorized_keys. Хуй знает, что у тебя за сервер и есть ли он вообще, так что опиши задачу ещё, принимая во внимание вышесказанное.
>>1064939Ну, точнее, URI с file:/// были запрещены, поэтому с диска нельзя достать.
Посоны, хочу попробовать вкатиться в бэкенд на node.js. Посмотрел скринкаст от Кантора. Что посоветуете читать/смотреть дальше?
>>1064962а в сам js-то можешь хорошо?
Здаров, мужчины. А что скажете о курсах хекслет, норм или так себе?
>>1064974хуйня это все, иди код пиши
>>1064975Бля, да тут реально дети сидят. Я слышал про малолетних долбоёбов в /пр, но теперь сам убедился.
>>1064976Хм, а ты про спрашивающего или ответившего? Потому что эти бесконечные выбиральщики курсов, но так никогда к делу и не переходящие, и правда как дети...
>>1064978Двачую братишь.
>>1064937>../text/text.txt>/home/username/site/text/text.txtлол, вот как у тебя сервер запросы разруливает, от этого и пляши
Скажите, а когда мы делаем свойство объекта через set property = function(argument){blablabla}, аргумент blablabla всегда равен тому, что мы присвоим этому свойству объекта потом, типаobject.property = 123; //123 будет нашим blablabla, так и задумано? blablabla для этого и создан в языке?
А есть тред стори про "успешно вкотился, вот так вот у меня дела, читал то и то на протяжении такого то времени"?мимополкантораосилил
>>1064987ХУЙНЮ СКАЗАЛ аргумент не блаблабла а argument, конечно, я сонный.
>>1064989Т.е. это так задумано что всегда object.property = 123; //123 --> argument?
>>1064990Што? Если ты спрашиваешь, является ли правая часть выражения>obj.prop = valАргументом в функции-сеттере, то да. А что, у тебя были варианты?
>>1064996Ну, мало ли, вдруг есть? На то я и нуб. Спасибо за ответ, я именно это имел в виду.
>>1064970Сложно сказать... неплохо, но без претензий на мегакодера 300к в секунду
>>1063289Практикуй что хочешь на JS, само собой понадобится HTML CSS для какого-то взаимодействия с юзером, там оно само и выучится по надобности.
>>1064359В этом TS идентичен
Нормально ли не использовать циклы for, а делать всё через map/filter/reduce? В чем подводные камни?
>>1065160Говорят, что да - idiomatic functional es6 ебанарот. А я не могу избавиться от сишной привычки форы писать
>>1065160Учитывая что в 61 хроме завезли оптимизацию forEach так вообще самое то.
>>1065160> map/filter/reduce?C этими методами неудобно например обойти все элементы массива, кроме двух последних, либо начать обход с третьего элемента. Простой for будет гораздо понятней. Вы если такие функциональщики дохуя, то возьмите нормальный функциональный язык с типами и изучите его, толку больше будет.
>>1065173>кроме двух последнихa.slice(0,-2)....>либо начать обход с третьего элементаa.slice(3)....
>>1065175А если нужно индексы использовать в цикле? Я как-то видел код вроде range(3, 8).map((el, i) => ...) и мне кажется это усложнением, когда есть простой for
>>1065177именно так и использовать, ничего сложного
>>1065179Ну да, юзать лодаш, когда есть обычный for - типично для фронтендеров. Как хорошо, что у нас в бекенде такой хуйни нет.
>>1065177Цикл это низкоуровневая структура, которая имеет слишком широкий диапазон функциональности. Таким образом использование высокоуровневых функций типа map filter take(slice) или range лучше показывает твои намерения.Конечно, если ты хочешь побайтоебить с индексами, юзай цикл, никаких проблем.
>>1065180Для map/reduce/filter давно уже лодаш не нужен.Единственное, что меня смущает в этом подходе - отсутствие ленивости. Слишком длинная цепочка из этих функций не повлияет ли на производительность?
>>1065182Ленивость это палка о двух концах. Количество проблем которые она создает не меньше, чем решает. Конечно если ты будешь в 33 прохода мапить это ударит по производительности.
вот смари, задача. есть массив чисел, каждое из них нужно заменить либо на ближайшее число слева, меньше этого, либо -1 если такого нет. примеринпут: [3, 5, 2, 4, 5], аутпут: [-1, 3, -1, 2, 4].как чотко это делается мапающими методамиf=a=>a.map((v,i)=>a.slice(0,i).reverse().find(j=>j<v)||-1)перепиши на форах и загрусти
>>1065185Синтетические примеры это классно. Вот только на практике ебаться приходится с тем, что циклом написать просто, а функционально сложною
>>1065177блять нихуя ты животное ебаное!тебе нужно из массива людей сделать массив их возрастов, но ты блядина будешь ебаться с for. потом нормальный программист придет и скажет "что это за блядина писала? нахуй с нуля переделать все"var enimals = [{age: 13 /обычно столько лет животным, которые думают что немножко функциональщины пиздец как сложно/}];var ages = enimals.map(function(enimal) { return enimal.age;});теперь блядина приводи пример как бы ты написал это "просто"
>>1065187если ты долбоеб то тебе в принципе все программирование сложно. пасти сюда свой говнокод
>>1065187У меня обычно наоборот. Вот эти все foo.bar[j][k] очень тяжело воспринимать.
>>1065187ну приведи не синтетический пример
>>1065188let massivVosrastov = []for (let i = 0; i < enimals.length - 1; i++) { massivVosrastov.push(enimals.age)}
>>1065193Блять, ебучая вакаба съела ``
[code][/code]````````````
>>1065185Я не призываю отказываться от map/filter/reduce. У меня была ситуация, когда slice использовать было нецелесообразно, так как он создаёт новый массив, а мне нужно было работать с пикселями на мобилках. Пикселей как правило несколько миллионов.>>1065188Научись общаться нормально, пост твой не дочитал.
>>1065196
>>1065197>Пикселей как правило несколько миллионов.lazy.js
>>1065193> i < enimals.length - 1сука долбоеб ты последний элемент пропустил. должно быть либо i <= e либо без -1что в очередной раз доказывает мне что ты ебучее животное без мозгов "сложно" ему блять
>>1065200Хули ты агрессивный такой? Пиздуй выплёскивать свою злость в другом месте, мы тут обсуждаем как лучше, а не пытаемся оскорбить собеседника как можно сильнее.
>>1065197А чего за задача была с пикселями, если не секрет? Почему js?
>>1065202так тут если долбоеб пишет что ему forEach сложнее чем for! ебануться!вот я делал простую демку когда мне это было интересно. сердечки там не принципиальны, просто под руку попалась подходящая картинка. там используются циклы, где это надо. а когда мне просто нужно перечислить массив, я просто прохожу по массиву через forEach, потому что это просто.http://output.jsbin.com/doxiyid/1это функциональные методы у массива - это очень удобно. и если ты думаешь иначе - ты идиот.
>>1065192Любая работа с хэш-таблицами с необходимость раннего выхода из цикла. Обычный break/continue часто проще воспринимается чем вязанка filter+map+reduce
>>1065206>раннего выхода из цикла. Обычный break/continue часто проще воспринимается чем вязанка filter+map+reduceдля этих целей есть every/some/find/findIndex
А тут есть знатоки redux-saga?
>>1065228просто используй thunk..
>https://twitter.com/izs/status/911105515798720513>сео нпм агрессивно настроен против белых натуралов, хочет на джсконф только нигров и бабкак лучше взаимодействовать с подобными субъектами в рамках рабочего процесса? как вы решали конфликты с подобными у себя в компании? пиздили или просто обоссывали?
>>1065230Если быть точным он хочет разнообразить сосисочную тусу белых докладчиков ниграми и бабами для "покрытия большей выборки аудитории". Вероятно он по выемкам в черепе оценивает способности кодеров.
>>1065234>сосисочную тусу белыха ты что-то против белых гетеро-мужиков имеешь?
>>1065240Нет, мне похуям. Как по мне, заявки надо вообще анонимно принимать, чтобы оценка о приеме докладчика зависила от качества доклада, а не от размера и цвета клитора.
>https://code.facebook.com/posts/300798627056246а тем временем фейсбук переводит реакт джест флоу и имутабл.жс на MIT лицензию. больше без хитрожопой бсд-лицензии с патентамитеперь вуй соснет окончательно.
>>1065185а если я указываю инпут массив [3,5,2,6,4,5], то твой пример работает некорректно и выводит [-1, 3, -1, 2, 2, 4] хотя вместо "2" должно быть -1. Походу ты проебался с .find()
>>1065249с чего бы это vue сосать, когда только уебаны будут использовать jsx :)
>>1065249надо жвордпресс запушил марка, убоялся что вью заадоптят чтоли
>>1065255нет, все правильно. поиск идет влево до первого числа меньше текущего и только если их нет совсем дает -1
>>1065272В условии задачи сказано про сравнение 2 чисел, а не всех предыдущих
>>1065285Ну ок, не понял описание
>>1065185https://repl.it/L5XE/2А нолики-то твоя функция херово обрабатывает! find() || -1 выдаёт -1.Алсо, ты там создаёшь ну просто дохуищща массивов, в итоге от 100 элементов выполняется по крайней мере в 20 раз медленнее. (А дальше всё только хуже, и обработка одного массива один раз в 100к элементов выливается в минуту против секунды.) В for'е, я уверен, можно ещё как-то поиграться и уменьшить количество элементов во временном, сократив время выполнения ещё больше.С for'ом, конечно, будет не так красиво, но твой код обзательно нужно будет комментарием дополнить, чтобы понять, в чём смысл задачи вообще заключался, хоть отдельные шаги и ясны. Сначала хотел сказать, что хуй проссышь, что там делается, потом минутку подумал и понял, что всё вообще-то легко и очевидно.А с фор'ом, фактически, дословно твой текст задачи и написан, кстати: "Для каждого элемента массива, находим первое число, меньшее этому из предыдущих, а если нет — -1."
>>1065208У меня есть массив с говном. Мне нужно жрать говно до тех пор, пока не съем говно носорога. Как это сделать с вашими функциями? Опять arr.findIndex().slice().forEach() с созданием отдельного массива? (Если нет, то напишите.)По-моему, >for (let govno of kuchaGovna) {> eat(govno.myakotka);> if (govno.source === rhino) { break }>}Достаточно лаконично.
>>1065285Нигде там про "сравнение двух чисел" не говорилось:>на ближайшее число слева, меньше этогоЧто вполне понятно как обход массва в обратном направлении, а не "сравнить с ближайшим левым".Алсо, лично моя проблема со всеми этими функциональными штучками это потеря this (т.е. необходимость писать self = this и чувствовать себя питонистом). Кого-то ещё это парить или я один такой странный?
>>1065230Пришёл бы он сюда или хоть куда на форум, можно было бы и поспорить, а на твиттере только лозунгами и кидаться, ведь в 140 ни один аргумент толком не сформулируешь.Он, кажется, вообще не в курсе, как рабоатет статистика/вероятности.>if all of the proposals come from white men, then you've ALREADY ruled out 70% of the best talks.Какая ж долбоёбина, блядь, я хуею. А есть альтернативы npm'у?
>>1065230>"he/him/his" в описании твиттерасука, аж пригорело, зачем ты принёс его сюда? Как я тепреь npm'ом пользоваться буду?!
https://code.facebook.com/posts/300798627056246/relicensing-react-jest-flow-and-immutable-js/>Next week, we are going to relicense our open source projects React, Jest, Flow, and Immutable.js under the MIT license.Швабодка наканецта.
>>1065328это пока только тренд такой на пидорасов и фриков, через пару лет поубавится.
>>1065344Если доживём. Там в америках уже всё очень плохо в с этим.
>>1065325Я пришёл из питона и передаю в функцию self первым аргументом лал. Так и пишу doSome(self, val). Это норм? Или вообще зашквар?
>>1065372Это немного глупо, да. Есть уже this. В питоне self явно указывается лишь при объявлении функции, а при вызове сам добавляется (за счёт чего можно делать бесполезную дрянь типа https://repl.it/L57k ). Тебе же приходится самому всюду self этот пихать, не? Терзают меня сомнения, что ты в питоне правильно этим self'ом пользуешься.
>>1065325У встроенных map, forEach зис можно передовать последним аргументом если чо.>>1065372Есть жи call и apply.
>>1065330просто используй yarn - работает в разы быстрей.. нпм остался в 2016м
>>1065328>альтернативы>>1065380
>>1065380А вдруг он тоже написан сжв-педрилой?
>>1065377Всмысле выглядит как питонячий код, когда селф передаю. А в чем большая проблема передать контекст именно в функции? Это же то же самое, что и call()?
>>1065379>зис можно передовать последним аргументом если чо.Блин, точно.>>1065387>Всмысле выглядит как питонячий код, когда селф передаю. Так это, не выглядит же, питон сам его передаёт.
Антоши, а если я могу в жс и изучу материал типа этого https://www.youtube.com/watch?v=mYvdeFfZ_NEя смогу уже работать на фрилансе? Клепать круд и рест
>>1065390Конечно сможешь. Смотри побольше видосов и не вздумай писать код и все получится.
>>1065454ну я же буду писать то, что мне говорят в видео, считай сам программирую. Тем более чем я хуже тни из видео?
>>1061439 (OP)Братики, когда-то на хабре была статья о том, как всякие пиздатые тесты провести перед деплоем приложения. Там были и тесты производительности и тесты на ошибки и на много чего, не осталось ни у кого этой статьи или мб чего-то подобного?
>>1065478Речь там шла о node.js
А есть кто, у кого прямая деятельность связана с программированием на жс?Какая позиция? Какие повседневные задачи? Пишете код 8 часов подряд?
>>1065480Внезапно, программистов нанимают для того, чтобы они писали код. На галерах, где большой поток проектов, код пишут и по 12 часов в день, перед работой, на работе и после работы. В больших компаниях больше времени уделяется архитектуре, хорошим решением, так что там написание кода разбавляется корпоративной суетой.
>>1065489есть годные статьи на тему архитектуры и как ее создавать перед написанием кода именно в жс?
>>1065490Есть. Но ты видимо вкатывальщик так что тебе для начала основы языка бы выучить. Статей конкретных нет, так как нужно знать самому какая архитектура тебе нужна под конретную задачу. Это может быть какой-то MVC монолит, а могут быть микросервисы, а могут быть лямбда функции, и каждая архитектура проявит себя лучше всего в определённых проектах. Тебе до осознания этих вещей ещё очень далеко. И в любом случае, чтобы попасть в хорошую компанию, тебе нужно отработать пару годиков на галере, чтобы получить опыт решения разнообразных задач.
>>1065491да, ты прав про мой уровень. Хочу только на жс писать и фронт и бэк. Задрачивать node.js+express+mongodb+vuejs хочу, норм стек?
>>1065390MERN-cтак гонво
>>1065494Да, для начала очень даже норм.
>>1065496добра!откодревьюешь меня? за нихуя
>>1065498А что ты уже знаешь?
>>1065500поинтересовался о самой возможности найти ментора. Сейчас показать нечего. Вернее есть свой пет-проджект, но там лютый хардкод. В данный момент времени для мобилки делаю круд (phonegap+vuejs+framework7)
>>1065491>. И в любом случае, чтобы попасть в хорошую компанию, тебе нужно отработать пару годиков на галере, чтобы получить опыт решения разнообразных задач.А это обязательно - так долго? Работаю полгода на мелкогалере, делаю круды и црм на втором ангуляре, иногда с свг какую-нибедь еболу. Планировал набрать год работы и уходить в хорошую компанию на позицию джуна-миддла.
>>1065505О, если ДС или ДС-2, то тебя возьмут с удовольствием, если не совсем дурак.
>>1065501обмажь pwa и будет счастье, только не хватает wakelock, который подвезти должны позжену или weex гоняй
Тема стара как мир, но все же. Проблема 0.1+0.2 !=0.3Так вот, правильно я понимаю, что эта проблема касается только вычисляемых чисел?Но если я присвою любое число переменной, то оно в ней будет гарантировано хранится в таком же виде как было задано литералом?(исключая граничные случат очень больших и малых чисел)let x = 0.000000234;if( x === 0.000000234) =>true
>>1065554посмотрю, не работал с этим
>>1065475>считай сам программируюЛолблять, нихуя. Ты только сам себя наёбываешь. "Ну это я как бы знаю, это вроде бы понятно, вот здесь я так же бы сделал, наверное". А потом пытаешься написать что-то подобное с нуля самостоятельно и терпишь фиаско.
>>1065475Это все замануха на их платные курсы. Хотя справедливости ради у этой конторы они еще ничего по сравнению с некоторыми. Ну хочешь посмотри, но смысл? Текстовая инфа воспринимается быстрее чем видео. За то время что ты будешь тупить в ютуб ты бы половину всей доки по реакту прочитал. А дальше ты не повторяешь как попугай, а сам ставишь задачу, прям берешь и пишешь сам себе тех задание - "вот тут должна быть кнопка, она должна уметь вот это" и решаешь ее.Я лично видео туториалы смотрел во время жратвы только.
>>1065609Иногда читать не хочется, а видос норм заходит. Обычно на видосах инфа немного по другому подается, так что одно другому не мешает.
>>1065609>сти ради у этой конторы они еще ничего по сравнению с некоторыми. >Ну хочешь посмотри, но смысл? Текстовая инфа воспринимается быстрее чем видео. За то время что ты будешь тупить в ютуб ты бы половину всей доки по реакту прочитал. А дальше ты не повторяешь как попугай, а сам ставишь задачу, прям берешь и пишешь сам себе тех задание - "вот тут должна быть кнопВот это двачую. Лучше всего учишься, когда сам себе ставишь задачу, а не как попугай повторяешь за лектором.Начни с какой-нибудь примитивной херни. Например, запили часы на реакте. Потом добавляй разные фичи. Переключатель часовых поясов, таймер, секундомер и т.п.
Я тут хреньку сделал, оцените, что ли. https://pastebin.com/TYb13tmfВставляем в свой app.js или где там у вас основной код "new EvalControl(process.stdin)" и радуемся интерактивной консольке с историей, поиском и прыжкам к началу следующего/предыдущего слова во время ввода текста (alt+стрелки). Как вариант, можно засабклассить Control и сделать свои команды, разумеется.Запускать приложение в repl'е для слабых.
>>1061439 (OP)призываю в тред опытного помидора.пилю для развития борду на ноде, на данный момент из дб запрашиваются сначала тредики /линия 325/, потом к этим тредикам запрашиваются 3 последних ответа /начиная с линии 357/, у меня есть ахуенные подозрения, что это неправильный подход, так как нет гарантии, что ДБ в цикле на 363 линии будет всегда отвечать сразу, что означает блокировку кода. как решить эту задачу на ноде? я пробовал пилить хитрые запросы непосредственно в ДБ, но SQL не может возвратить в одном запросе в сабквери больше одного поля, т.е я могу получить например только айди ответов, но не весь "объект" post, пример:>(SELECT GROUP_CONCAT(id SEPARATOR '¸') FROM posts as p_a WHERE p_a.parent_id = post.id) as post_answersинб4, я мог бы место for использовать map, но я не хочу плодить лишние массивы, так как это backend, и все ресурсы ограничены.
>>1065782Как вариант впихни в таблицу с тредами нужную инфу о трех последних постах и обновляй её при постинге. Это наиболее производительный вариант.
>>1065782Второй вариант делать хитровыебанный запрос с джойнами и группировкой, но там можно просто вытащить только последний пост.
>>1065783да, тоже можно.у меня треды и посты в одной таблице, треды там маркируются статусом -1, если там число, то это значит, что пост принадлежит к треду /= ответ/, иначе это ОП-пост /пик 1/. ок, можно добавить какое-то поле, и обновлять его у 4х постов при ответе в тредик /первый это ОП-пост + 3 последних ответа/...там, если что, всё обернуто в промисы /пик 2/. мне тру не до конца понятна асинхронность ноды, вроде же если что-то обернуто в промис, оно отсылается в microtask queue /пик 3/, если это так, то по суте нет разницы, приложение будет работать дальше, не дожидаясь ответа из дб?>>1065786с ними ничего не меняется таки, в джойне нельзя сделать лимит, он будет тупо возвращать все строки, где совпадают ключи. имхо твоя первая идея самая перспективная в этом плане
>>1065782>это backend, и все ресурсы ограниченыА на frontend'е они типа неограничены, что ли? Хуёввенько, мне кажется, если такой подход у создателей.
>>1065806>если это так, то по суте нет разницы, приложение будет работать дальше, не дожидаясь ответа из дб?Да, await передаёт управление дальше и программа твоя не блокируется, а занимается другими делами. Когда будет ответ из бд (и эвентлуп доберётся до этого промиса), тогда и продолжится выполнение с 363-ей строки.Если ты под >что означает блокировку кода. подразумевал что твой сервер просто встанет и будет ждать ответа от ноды, то ты ошибался, да.
>>1065812>ответа от ноды,от бдфикс
>>1065782Я вообще не особый спец по бэкэндычу (хотя в своё время на Django + MySQL делал штуки, так что представление имею), да и вопрос не в тему, конечно, но... вообще зачем париться с SQL-БДшками, когда есть noSQL, та же Mongo?Преимущества в виде производительности? Более высокая отказоустойчивость?Хз, я вот с SQL, помню, повозился изрядно, как и с чистым, так и с ORM, и как-то вот возвращаться не хочется, когда есть "key: value" подход.
Что бы такого запилить на реакте в качестве первого приложения, чтобы еще не пришлось апи самому писать? Отсутствие идей останавливает от освоения реакта.
>>1065829Как только тебе нужны джойны и прочие прелести нормализованной бд, монга не лучший вариант.
>>1065845Существование Vue.js должно останавливать тебя от освоения React.js, хех.А по делу - есть кучка публичных API, которые можно тыкать без какого-бы там ни было токена, и которые, следовательно, подходят для frontend-only приложухи. То же GitHub API, например (оно еще и CORS-enabled, так что с JSONP запариваться не надо даже).
>>1065850Напомни, чем vue.js лучше реакта? Идея пихать рандомные атрибуты в говно html не кажется хорошей идеей.
>>1065829Когда ты знаешь конкретно что тебе нужно - можно выбирать NoSQL решения, если они в данных конкретных случаях подходят. Во всех остальных случаях нужно брать строго SQL, иначе будет эпический обосрамс, когда потребуется реляционщина, а не просто документарность или ключ-значение. NoSQL это специализированные решения, подходящие для конретных задач. В них они справляются лучше реляционщиные, но только в них.
>>1065854Сугубо личное предпочтение, на самом деле, но в случае с React'ом я дальше Getting Started'а не смог пройти, настолько всё уёбищно показалось. С Vue.js же всё зашло на ура, теперь тащусь от Single File Components и отсутствия всякой мути типа JSX.
>>1065856Кстати я юзаю postgresql с jsonb. Охуенная тема: гибкость монги с возможностью ебашить сложные джойны, группировки и т.п.
>>1065810риторический вопрос, как сам думаешь?>>1065812норм. если с промисами всё работает так ахуенно, то по суте получается, что нода хитро реализует параллельные задачи всего на одном потоке. если я правильно понял суть, когда ты что-то оборачиваешь в промис, оно уходит в microtask queue и там вычисляется независимо пруфы/инфа? для решения конкретно моей задачи, я воспользуюсь советом этого Антона >>1065783 допилю в таблицу поле show_on_bp /bp = board_page/ @ профит>>1065829>Mongoне охота ебаться с map/reduce, пикрелейт. да и монгодб в случаях, где нужно сделать что-то сложнее хелло-ворда не разу не быстрее мускуля. она норм для больших данных, где нужна горизонтальная масштабируемость и будущие поля объектов не известны, для всего другого она плохо подходит
>>1065782Используй оконную функцию с row_id и джойни треды с постами - будет один запрос всего, но потребуется или ORM, или написать маппер, который одинаковые THREAD.* колонки будет схлопывать в один объект.
>>1065873> row_number
Котаны, по сколько часов Вы дрочили нативный, когда были неопытными котятами?
https://blog.plan99.net/its-time-to-kill-the-web-974a9fe80c89БАБАХ
Блять как вы это задрочили, ебучая канторовская кофеварка с этим ООП, постоянно контекст куда то проебывается, гетеры сетеры залупа this=self из замыкания што ты несеш блять
>>1065937Берешь и дрочишь, без задней мысли.
>>1065936tl;dr
>>1065936нытьё долбаёба ниасилятора :)
Задание: Создать массив и добавить в него все нечётные числа от 50 до 150. https://jsfiddle.net/m1km4hxd/При попытке запуска зависает, консоль не могу открыть. В чем проблема?
>>1065967i++ не срабатывает никогда же из-за 50%2==0 и continue
>>1065967Переделал с циклом for. Правильно понимаю, что в while нельзя использовать continue?Как можно было бы решить данную задачу в более-менее общем виде с while?
>>1065968Понял, спасибо.
Поясните за реакт с флаксом (редакс, например). Насколько нормально иметь контейнер с компонентами 3-4 уровнями вложенности и при любом изменении стора ререндерить всех детей?Знаю что можно дописывать shouldUpdate и прочие хуки, но насколько это все быстро и правильно работает из коробки и будучи написано максимально плоско и просто?
>>1065969>while нельзя использовать continue?можно, но зачем? пиши функционально
>>1065873читнул сейчас за оконные функции в мускуле https://mariadb.com/resources/blog/introduction-window-functions-mariadb-server-102они норм для анализа, мб когда-то пригодятся, для моей задачки они вроде не подходят>маппер, который одинаковые THREAD.* колонки будет схлопывать в один объектя пробовал конкатить колонки из сабквери функцией JSON_ARRAY, все работает как надо, пока там лимит 1, а там таки нужен лимит 3, мускуль пишет в этом случае, что сабквери вернула больше одной строки.похоже это никак не решить одним sql запросом, без парсига ответа в жс коде и новым запросом
>>1065850Под вуе вакансий нет (да и вообще под него ничего нет), а мне нужна строчка в резюме, а не очередное нинужное новомодное поделие.
>>1066021Реакт такое же ненужное новомодное поделие от компании с уебищным сайтом.Делай все на чистом джсе.
>>1066045реакт хотя бы котируют на рынке труда
Может тут помогут. В сети гуляет книга Ильи Кантора, есть у кого, заходил ребятам во фронтенд - у них ссыли протухли и торрент уже удален, а очень-очень надо
>>1066073нахуй она тебе, когда он сам говорил что хуй забил на ру версию и пилит http://javascript.info/
>>1065783затестил сейчас, не взлетает идея с полем о трех последних постах, так как в таком случае мы получаем все записи из бд, которые будут отсортированы по их айди, затем ещё с помощью ЖС всё это нужно будет отсортировать по updatedAt, не забыв при этом отделить ОП-посты от ответов, поместив ответы в отдельный массив к каждому тредику. в таком случае ЖС будет заниматься эпичной рабой. -ОП-пост (updatedAt х) <-- проблема--ответы----ответ 1----ответ 2----ответ 3...
>>1066100Ну скинь, надо
>>1065912>часов Вы дрочили нативный, когдаа надо было нативный дрочить? а я просто дрочил..
>>1066181https://nnm-club.name/forum/viewtopic.php?t=1156464
>>1066100>http://javascript.info/даже кенийские бомжи учат жс там лол
>>1066199спс добрый молодец
Бля, ydkjs вроде нормальная книжка, но эти постоянные шутки-прибаутки хипстерские, фублять
>>1066244>ydkjsкуда бы пойти джуном в стартап? смузи похлебать
>>1066244>>1066335Выразительный жабаскрипт перед йдкнжс лучше читать?
Подскажите нубу, что это за конструкция. this.setState({likesIncreasing: nextProps.likeCount > this.props.likeCount}); вот это a: b > c
>>1066404в функцию>this.setStateпередать объект со свойством>likesIncreasingзначение которого определяется логическим выражением>nextProps.likeCount > this.props.likeCountто есть туда попадет тру или фолс в зависимости от того больше или меньше лойсов там или хер пойми чего
>>1066406блядь.. то есть то банальное "больше" и тут нет никакого синтаксического сахара или скрытого смысла...????Бро, ты мне глаза открыл
Можно ли при инициализаци объекта использовать ранее уже упомянутые свойства? let obj = {foo: 1, bar: 2, baz: this.foo + this.bar}
Какой сейчас уровень js для фронтенд мидла? На реакт или ангуляр однохуйственно, без мобилок.
>>1066505>let obj = {foo: 1, bar: 2, baz: this.foo + this.bar}>нет
>>1066505Нет. Вот варианты: https://stackoverflow.com/questions/4616202/self-references-in-object-literal-declarations
Есть сайт.https://www.livejournal.com/Есть форма создания нового постаhttps://www.livejournal.com/update.bmlВ ней 2 редактора, один визуальный, другой с рав текстом так сказать.Теперь мне вот что нужно делать, сохранять из редактора текст.Как это делать из каждого редактора в отдельности мне понятно.Но вот как добиться консистентности, ведь, их содержимое, не сходится (/br) опускаются в текстовом редакторе.Мне интересно, там есть где-то какой-то хитрый объект хранящий текст для обоих вариантов, или они тупо синхронизируются при переключении(копируют один из другого)?
Посоны, TypeScript или Flow?Какие у них преимущества/недостатки?Алсо, не понял одну хуйню из этой статьи https://habrahabr.ru/company/ruvds/blog/323612/>Через некоторое время мы пришли к двум вариантам — TypeScript и Flow. Оба обещали дать нам статические типы для улучшения контроля над кодом, но одного этого было недостаточно. Мы хотели использовать всю мощь ES6 и будущих версий языка. Flow, по сути, это статический анализатор кода, что означает, что нам пришлось бы использовать транспилятор для всего нашего ES6-кода, но применяя TypeScript, который является надстройкой над JavaScript, мы получили бы и статические типы, и поддержку большинства последних возможностей ECMAScript.Не понял как у них различается поддержка новых фич ES. Вроде бы наоборот, новые фичи легче поддерживать Flow, т.к. он только типы анализирует (транспайлерит Bable, просто удаляя Flow-код). А TypeScript и типы проверяет и в JS транспайлерит.
Задача: вывести 200 кругов разных цветов размерами от 50 до 150 пикселей. Проблема: круги отображаются не друг под другом, а друг на друге. В коде страницы показано, что див записывается внутрь дива. В чем ошибка?
>>1066573https://jsfiddle.net/g9a8ubzu/Забыл, извините
>>1066573В том что тебе по ебалу надо дать за такой код.Делай https://jsfiddle.net/9ywxvc2s/
>>1066579Только начал изучать по курсу от специалиста, поэтому пытаюсь обойтись тем, что там дают, для выполнения заданий.Спасибо за решение
>>1066574Во-первых, выкинь к хуям курс, который учит создавать элементы плейн текстом и потом добавлять их через document.write.Во-вторых,>В коде страницы показано, что див записывается внутрь дива. Ну а ты удали style="<...>;" из своего примера, оставив чистый div, и посмотри, чему равно str, сразу всё ясно станет.
>>1066623У специалиста первый уровень чисто для понимания основ, второй уже для браузерных фич, документ райт на первом. Спасибо, увидел ошибку.
Че насчет styled-components думаете? Вроде збс же, не?
Как принять охуенно большой json файл?Какая-то ошибка с Content-Length, пропадает, если уменьшить размер данных.
>>1066691Что такого ты там передаешь? Не разбить на бэке?
>>1066691>Какая-то ошибка Её как-то исправить можно.
>>1066691>Как принять охуенно большой json файл?Негоже выполнять CPU-intensive задачи на ноде, не для того цветок Joyent растили.
>>1066691Та же хуйня, постоянно мучаюсь. Жаваскрипт по-прежнему годится только для написания тудулистов и дропдаунов.
>>1066742>дропдауновСпешите видеть: один даун уже, походу, дропнулся с JS галеры.
>>1066744ЖСмакаке подорвало.
>>1066744Плак-плак, обидели джаваскриптера. Иди маме пожалуйся, тварь.
>>1066744Швитой джеэс оскорбили, кудах!
>>1066746>>1066748>>1066749Почему семены настолько тупые, что даже тайминги не могут выдержать?
>>1066785Хуя ты бля. Выдержал тайминг, прежде чем обкончать твой ебальник, скотина блядь тупая.
>>1066785Дрочил тебе на лицо с перерывами.
>>1066785Вот полудурок-то блядь, тебе несколько человека обмалафили рожу, а ты визжишь, что это был один. Тебя полюбэ опустили, понимаешь ты это, джесодрянь?
>>1066811Нет, я мимо
>>1066691Пхп возьми
Аноны, как получить что-то типа пика Создаю элемент x = dоcument.createElement('div')Хочу поместить его в форму textareaПишу dоcument.querySelector('textarea').value = xВ ответ мне в поле textarea выводит [object HTMLSelectElement]А мне нужно чтобы было <div></div>Я понимаю с чем это связано, но не помню как решаетсяЭто просто пример на 1 переменной, а так у меня в textarea будет вставлять html код сгенерированный циклом
>>1066834dоcument.body.innerHTML
>>1066834https://jsfiddle.net/a4L40nyg/
Какую либу скачать, чтобы добавить дерево в ноду. Не хочу свои костыли писать.
Здравствуй, анон. У меня 2 вопроса. С меня тонны нихуя - Как выполнить код в Atom'e? - Что думаешь об уроках на hexlet?
>>1066844>outerHTMLСпасибо анон, а разве это не "не рекомендуемый" метод?
>>1066691>>1066742Вы там что передаёте-то вообще? Только что проверил, 176395661 байт жсона спокойно передалось.
анончики, подкиньте проверенный список алгоритмических вопросов (с решениями желательно), которыми обычно ебут мозги на интервью в конторах
>>1066847там был пакет с сервером, не помню как называется
meteor обновите блеать!
>>1066898В рашке его не юзают.
>>1066857>168 метров передалЭто данные авторизации? 1 ГБ передай, потом поговорим.
у вас тут какие-то вопросы уровня ДЦПшника.
а тем временем реакт 16 вышел из беты. продолжаем ржать над безработными вуесосами и легаси аналгулярщиками
>>1066919хайпошлюшка
>>1066919РАссказыл бы лучше че там нового.
>>1066919>легаси аналгулярщиками>реакт не совместим с вебкомпонентами>ангуляр совместим>легаси
Аноны, есть один div, в нём есть 2 input, если я хочу в него добавить span, я пишу appendChild, но это добавляет его в конец, а как сделать, чтобы он встал перед этими 2-мя input?
>>1066953Приведу живой примерЕсть<div class="block"> <input type="checkbox"> <input type="checkbox"> </div>Как вставить <span>Текст</span> перед этими input? appendChild добавляет его после этих input.
>>1066954Уёба, это гуглится за 4 секунды. Просто убейся нахуй.
>>1066964Хорошо злой дяденькапидорас, я знаю про insertBefore, но я не могу понять.Пишуx = dоcument.querySelector("div").innerHTML;y = dоcument.createElement("span");y.innerText = "Текст";dоcument.querySelector('div').insertBefore(y, x);И это очевидно не работает, потому что я не могу понять как правильно.
>>1066980Сделай консол.лог(тайпоф х)Вряд ли он может инсёртить что-то перед строкой. Тебе нужно, чтоб х был объектом ХТМЛЕлемент.
>>1066982
>>1066543Ладненько, вы раки и не лечитесь.Там два редактора, один CKEditor, другой обычный textarea с руками приклеенными кнопками форматирования.Текст между ними синхронизируется при переключении табов.Понятно(теперь) что к CKEditor доуступ из плагина простым способом не получить. Поэтому приходится ждать когда он создаст свои dom элементы, и вашать ивенты на них, там конкретно ифрейм.И того, слушать и textarea и CKEditor.Потом html из CKEditor немного пропарсивать, и готово.Пидарасы. Хоть бы кто ответил.
>>1066954>Как вставить <span>Текст</span> перед этими input? appendChild добавляет его после этих input.>https://jsfiddle.net/et9os7p8/
Пилю потихоньку свой говнокод, понадобилось скрывать и показывать блок в зависимости от того, правильно ли введен логин/пароль, а проверяю правильность я пыхой. Так вот, как по-человечески связать пыху и js? Единственное что я надумал это чтобы при клике на кнопку, после обработки логина, сервер посылал жсу результат проверки логина/пароля, а жс уже в зависимости от этого либо показывал блок либо нет. В общем подскажите как это правильно делают.
>>1067036Аякс
Игра.Есть игровое поле состоящее из клеток. Есть массив содержащий объекты существ, зданий, ресурсов, пустые пространства, на каждую клетку. Каждый кадр цикл проходит по массиву и обновляет его согласно совершенным действиям его объектов и отрисовывает на игровом поле.Правилен ли такой подход? Ведь если к примеру два существа будут в одном ходу поедать одно и тоже растение, то тот, кто будет находится раньше в массиве, тот и будет всегда есть. Как решить эту проблему?
>>1067067Либо разруливай конфликты, путем откладывания действий, либо забей хуй.
>>1066946>вебкомпонентами>как будто кого-то это ебет
>>1066911Ну если ты передаёшь 1Гб json'ом, то ты немного ебанутый, я бы сказал, но вот, пожалуйста, никаких проблем с Content-Length'ами. Другое дело, что нода такие json'ы обрабатывать не может, а фф выдаёт allocation overflow.
>>1067105нода может если ранить с правильными флагами, другое дело что долбаёбы её изначально не правильно готовятnode --max-old-space-size=4096 dolbajobus.js
>>1067110>нода может если ранить с правильными флагамиМожно малой кровью обойтись (сиречь ограниченными ресурсами) и без анальных флагштоков, если юзать стримы для дампа запощенной хуйни и ее последующей сериализации. Другое дело, что для ньюби это совсем уж запредельный хардкор.
>>1067128>последующей сериализацииДесериализации, конечно же.Бастропочин.
>>1067128только вот всем впадлу даже это прочитать https://github.com/substack/stream-handbook проще сказать, что нода хуйня и они ушли в go :)
>>1061488>чому в этой залупе this указывает на windows?Пушто 10ка это троян.
Я нипонил, этот ебаный ишак 11 вообще иконки по типу пикрелейтед не открывает?
>>1067210Падла, теперь открыл. А ico расширение не может. Папу маму его ебал
По работе нужно фронтэндом заняться. Сам ЖС вроде освоил, скажите книга Стояна Стефанова Паттерны ещё актуальна, или ES2015 решает большинство проблем?
>>1067214>освоилТогда поясняй >>1061489
>>1067220совсем уже даун и не можешь в дебаггер глянуть куда проебался this?
>>1067234Я в него заглянул, а там твоя мать моется.
Почему javascript такой уебанский, зачем столько магии и как в ней разобраться, почему все настолько сложно и не очевидно, почему эти цепочки возвратов тянутся по тысячам файлов, нахуя эти бабели, вебпацки и прочая хуета, которая друг в друга долбится интегрируется, как это все организовать и не поломать?! ПОЧЕМУ БЛЯДЬ НЕЛЬЗЯ ПРОСТО ВЗЯТЬ И НАЧАТЬ ПИСАТЬ ПРОЕКТ И ИМПОРТИРОВАТЬ ФАЙЛЫ, ПОЧЕМУ НУЖНО ТОННЫ ГОВНЯНЫХ БИБЛИОТЕК ПОСТАВИТЬ???
>>1067293> зачем столько магииМагией молодняк называет спеку, которую даже ни разу не удосужились открыть?
>>1067293так ты не пытайся все разом проглотить-топотихоньку
Анон, поясни, а как по простому дать клиенту возможность редактирования его spa на реакте ком-нибудь? Ну там фоточку поменять или текст.Мне чето в голову не приходит ничего кроме как завести вордпресс на бэке, там вроде есть json api и вся хуйня
>>1067293Да, блядь, оффициально двачую, для решения каждой мельчайшей задачи в жс надо подключать отдельную перделку, половина из которых забагована и давно заброшена авторами.
https://www.npmjs.com/package/is-positive-integerkek
Почему хромопера не дает сохранять в локальное хранилище с оффлайновых страничек? Чем это лечить? Хочется написать приложение в виде странички html, которое может одинаково работать в онлайне и оффлайне в большинстве браузеров. Для удобной работы приложения нужно хранить настройки у клиента, а опера не дает это делать, если запустить приложение с диска, и даже блочит весь скрипт. В хроме не тестил, возможно у него та же проблема.
>>1067293>ррря почему самолет такой уебанский, лампочек дохуя, столько магии и как вообще огромная железная хуйня взлетает в воздух? то ли дело лошадь!так че ты на сишке 98 не пишешь?
>>1067220man bind
>>1067366>так че ты на сишке 98 не пишешь?вот заадоптится васм как следует и буду писать
Блять а схуя посреди кода вдруг отказывается работать квериселектор на осле11?
>>1067404В колбэке foreach не робит квериселектор, ну пиздец. Ну нахуй так жить?
Вы что, больные? Нахуя на js пишите, когда Бог дал вам dart?
>>1067453бог нам и elm дал например, но нам то в команде надо работатьа там только js
>>1067453>dart>даже сам гугл не использует для ангуляра
>>1067463Angulardart
>>1067318>надо подключать отдельную перделкуА попробовать самому эту трёхстрочную функцию написать не?
Ребят, поясните. Я UX/UI дизайнер, есть такая программа как framer ( https://framer.com/ ). Нужна она для создания интерактивных прототипов непосредственно кодом. Суть в том что она coffeescript компилирует в JS. Собственно вопрос, что есть coffeescript (я почитал но все же интересны подводные), трудно ли его учить, нужны ли знания js-a для его изучения (если нужны, сразу нахуй фреймер).
>>1067499coffeescript это просто javascript с питонообразным синтаксисом.
>>1067511Ебать, как же я не подумал. Ну все теперь ясно.продолжаю питать надежду в помощи
>>1067499>нужны ли знания js-a для его изученияда
>>1067513>надежду в помощинахуй сходи, дауна кусок, дизайнер он блять
>>1067518Маму твою ебал петушара очкастая. Так уже и вижу как ты прыщавое чучело сидишь и с умным ебалом ни нужного отщепенца общества:- НУ ЭТА ПРОСТА ПИТОНААБРАЗНЫЙ СИНТЕКСИС ТАЩЕМТА ПОНЯТНАКак сисадмин прям, чмо попущенное задрочилу хуету которую каждый даун осилит но из-за нехватки времени оставляет это людям которые более компетентны и строит гения. ТИпа ну тупые блин эт ж очевидна)))Пошел нахуй короче черт
>>1067513Ну а что ещё-то можно сказать?. Да, для изучения джаваскрипта нужны знания джаваскрипта. coffeescript это джаваскрипт в другой кофточке.
Нормально ли на сервере шарить промисы между разными запросами? Допустим, если мой сервер при запросе скачивает данные откуда-то, а в это время приходит второй запрос на те же данные, я просто вижу уже имеющийся промис и "присасываюсь" к нему, вместо дублирования.Как-то так: https://repl.it/Lkut
>>1067521хуя тупой даун подорвался на ровном месте пиздос просто
>>1067548А почему тогда сделали на кофескрипте для дизайнеров? Хуйнули бы сразу js.Ну ладно, раз нужен js то впизду, буду дальше в principle картинки анимировать.Спасибо большое.>>1067562Ты по фактам опущен.
>>1067574>А почему тогда сделали на кофескрипте для дизайнеровСинтаксис упрощен.
>>1067574А чем тебе так js-то не нравится, что ты готов был учить какой-то абсолютно неизвестный тебе coffeescript, а узнав, что это надстройка над js — сразу нахуй?
>>1067574>Ты по фактам опущен. лол, опущенный тут только ты
>>1067293> зачем столько магиимагия в пайтоне, в жс это уёбищный дизайн
Антоши, как вкотиться в опенсорс?
>>1067619Берешь и вкатываешься. В чем вопрос то?
>>1067620типа кто то выкладывает ишью и ты ее решаешь и делаешь ПР?
>>1067641Во всех нормальных проектах есть contribution guide. Возьми да почитай.
>>1067643не сочтите за наглость, а подскажи пару таких актуальных проектов, чтобы вкатиться
>>1067521>Я UX/UI дизайнерне тот очкастый, но обоссал бы тебя и отпиздил, выебав на твоих глазах отрезанную голову твоей матери. если ux дизайнер не может в фронт в 2017 - ему место на свалке. а теперь уебывай в /fem/
>>1067446А я все починил. А я все починил!
>>1067650Вкатываться надо в том, что лично тебе интересно.
>>1067653рассказывай, что делал, как докатился до такого
>>1067654Например
Они там в своей асане совсем ебанулись или как?
>>1067818а ты хотел бы чтобы там была простыня из безымянных дивов?
аноны, написал приложение на angular 2. но на страничке никакие компоненты не отображаются. из-за чего так может быть?
Двач, какого хера в моём сайте не работают: fadeIn(), fadeOut(), animate() и прочие. Тупо нет анимации. Например, кнопка вверх: $('html, body').animate({ scrollTop: 0}, 600);Анимации нет, и всё, что делает этот код - просто резко скролит страницу наверх без анимации. Шо я мог отключить при разработке? Грешил на Velocity, снёс нахуй - не помогло. Я уже заебался двое суток искать эту злоебучую причину. Может сталкивался кто?
>>1067886Блэт, сука. Только напишешь куда-то свой ебанутый вопрос, так он сразу и решается. Кароч, jQuery Easing почему-то блокировал всю jQuery-анимацию.
>>1067674Например, идёшь на гитхаб youtube-dl'а, добавляешь им фичу с возможностью автоматического перезапуска скачивания при ограничении скорости со стороны контент-провайдера, потому что для себя уже написал это и хочешь поделиться. Тебе указывают на пару ошибок, ты их фиксишь, и всё, дальше тебя почти год игнорят.А вот за неимоверный вклад в виде фикса одной ссылки на апи какого-то из сайтов предлагают вписать своё имя в список контрибуторов!
>>1067582Слишком много времени на него уйдет, я ж не погромист. CSS\HTML знаю, а джс сложно 100% и потребуют по крайней мере для меня много времени на обучение основам.
for (var i = 0; i < YobaFunction("2ch"); i++){console.log("hello");}У меня вопрос: значение YobaFunction("2ch") вычисляется один раз и можно так и писать или оно вычисляется при каждой новой итерации и по-хорошему её нужно закэшировать в какую-нибудь переменную, чтобы былоvar cacheLvlB = YobaFunction("2ch");for (var i = 0; i < cacheLvlB; i++){console.log("hello");}
>>1068002Пилю лайфхак: подавляющее большинстве кода (а уж тем более джаваскрипт) можно запускать, не опасаясь при этом сжечь компьютер!https://repl.it/LpEH
>>1068012ок, каждый раз вызывает... что собственно норм, так как данные для for < i могут меняться динамично
>Этот тред посвящён главному языку будущего - JavaScript>языку будущего - JavaScriptНас ждет гримдарк страшнее вархаммера?
>>1068023Как будто что-то плохое.https://play.rust-lang.org/?gist=977aab3e8fb1643de0a8755b5834fe8c&version=stable
Перекат >>1068066 (OP)Перекат >>1068066 (OP)Перекат >>1068066 (OP)Перекат >>1068066 (OP)Перекат >>1068066 (OP)
>>1068012че тролеш че я тебе сделолСпасибо
Двач, какого хуя нельзя пушить что-либо в массив, по которому сейчас работает цикл? И чо с этим можно придумать?
>>1063600Я щас какрас вкатывался в vuejs и webpack задавай свои ответы может подскажу чем то. В webpack'е если не ошибаюсь можно сделать вроде такого ...output: '[name].js' но это не точно.
>>1063652Да и стили там можно отдельно паковать... Вебпак не хуже gulp'a но и не проще в использывании. Но вроде лодеры там есть на все случаи жизы
Нубский вопрос, но что-то не могу нагуглить.Есть обычная img-картинка. Пользователь может выделить ее мышью. Как навесить на это обработчик? onselect и onselectstart не работают.