Ссылка на прошлый тред: >>1157660 (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Конфа /pr/ в Slack: https://slack-2chpr.herokuapp.com/НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД! Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода.
Ты СОВЕРШЕННО не понимаешь в чем суть JS. JS это не раби «о, привет чуваки, зацените я слепил три гема и получился блог, гыгы». JS это не псевдофункциональный код питона. JS это не C#, Джава или ПХП. JS это язык, на котором люди могут побыть программистами-творцами — ужасными, поехавшими, ненормальными чудовищами, которыми они на самом деле и являются.Добавили промисы, а мы смеемся. Присыпали сахаром прототипы и назвали классами, а мы смеемся.Три тимлида прыгнули с крыши 16-этажного дома, взявшись за руки после попытки разгрести код с тридцатикратной вложенностью, а мы смеемся и просим еще. Промисы, колбэки, асинки/авайты — мы смеемся. Модульность, асинхронность, непрерывная интеграция, юнит-тестирование, key-value хранилища, два десятка фреймворков на любой вкус — мы смеемся. GitHub позволил писать приложения на десктопе, запихивая в каждый хеллоуворлд отдельный браузер — мы смеемся. Мы бездушно подпишемся под чем угодно, наши предпочтения не основаны на здравом смысле, бесцельные споры — наша стихия, мы — истинное лицо современного IT.
>>1167958 (OP)Существуют ли функции для деления и отнимания больших чисел в виде строк,как например вот эта: https://jsfiddle.net/mtsL1k2x/5/Можно ли написать так же кратко, используя какой-то быстрый алгоритм рассчёта?У меня есть ещё функция для перемножения чисел, если хотите - дам.Это - длинная арифметика.Интересуют алгоритмы быстрого вычитания длинного большего от длинного меньшего,с целочисленным положительным результатом,а также алгоритм быстрого деления с остатком - с целыми числами в результатеили же нулём, если остатка нет.Я знаю, что есть BigInteger, но инклюдить его не очень хочется,а перелопатить код, чтоб найти функции долгое и нудное занятие. Они могут зависеть от других.А в ссылке, что я закинул сюда - там лишь две простые функции.
Аноны, а поясните за node.js есть будующее у ентой хуевины?
>>1168202Так спрашиваешь, словно она вчера появилась.Ей уже 10 лет. И она постоянно развивается.
>>1168202ты что, ебан?
>>1168215Почему вы спрашиваете?
>>1167958 (OP)Насколько сложно найти бекендовую работу за 10$ в час на node.js?При этом без знания либ.
>>1168219Всмысле работу на ноде без знание ноды?
>>1168272Без знания всяких ангуляров, докеров, вебпаков и прочей херни.
>>1168219Если есть проектик нормальный на ноде с экспрессом на гх и знание ес6, то думаю за месяц легко найти.
>>1168336Если ты хочешь выучить что-то одно и сидеть на жопе ровно, ты явно ошибся профессией, или как минимум технологией.
Где найти код дефолтных событий браузера? Хочу посмотреть дефолтную реализацию onSubmit для разных форм и не могу найти - гугл выдаёт всякие учебники и обработчики событий от васянов.
>>1168481v8 гугли
>>1168508v8 это не браузер. он не реализует никаких onsubmit, даун.
>>1168565Ты мне это в лицо сказать сможешь, чмо? А то в интернете-то вы все смелые, герои блядь комнатные.
>>1168565v8 за всю работу дома отвечает и просто закидывает в очередь эвент лупа онклики и прочее говно, которые потом входят в стэк вызовом колбэков. (я себе всегда это так представлял)
>>1168565если найдешь что скинь в тред, тоже интересно
>>1168606Да у вас же и всплывало, вроде бы. https://www.youtube.com/watch?v=8aGhZQkoFbQ
>>1168605v8 отвечает за эвентлуп, а не за дом. дома в v8 нет и никогда не было. алгоритм обработки форм дома описан в сорцах компонентнов браузера отвечающих за дом. v8 это js-engine, а не дом.
>>1168570Могу и ебало тебе разбить, если хочешь.
Антоны, посоветуйте нормальный видео курсы или книги по js, чтобы потом было легче вкатиться в react native. Если вкатываться в react native то нужно ли знать html и css?
>>1168685Снимите уже номер петушки.
>>1168962Иди нахуй.
>>1168962Поднасру макакичам в тредhttps://developer.mozilla.org/ru/docs/Learn/Getting_started_with_the_web/JavaScript_basics жмешь далее, далее, далее пока не закончишь. Примеры можешь тестировать на codepen.io.> нужно ли знать html и csshtml не нужен, CSS только подмножество. Вкатишься на примерах, не ссы.
Анон, помоги, как реализовать функцию __extends в примере ниже. Я так понимаю она должна работать как расширение классов в ES6, но как это реализовать отдельной функцией?https://repl.it/repls/StarryJudiciousLoopfusion
>>1169104Господи какой пиздец этот пример. Я один охуеваю от этой разметки, именования функций, стиля их объявления?
>>1169182Но это же стиль плюсов и джавашарпов... табами надо было отбивать, тогда бы легко читалось.Что же косаетьса функцiи — здесь имелося в виду вот чо новерн))
>>1169104https://repl.it/repls/ObedientSelfassuredSearchengine
Недавно вкатился в этот ваш жаваскрипт(после статически типизированных языков) и мне очень непривычно. Я забываю просто какие проперти у какого объекта или класса есть, какого типа аргументы какая-то моя функция принимает(а иногда это должен быть какой-то класс), ну и так далее в том же духе. Про всякие функции и обжекты из других библиотек я вообще молчу, это же пиздец - вот есть какой-нибудь getZalupa(hui, mocha) который принимает хуй знает что и возвращает хуй знает что, и вместо того чтобы за 1 секунду навести курсор на эту функцию и посмотреть типы мне надо лезть в документацию и смотреть что там оно принимает и что возвращает, и какие проперти у того и другого есть и зачем оно вообще нужно. Это не жава, в которой я иногда вместо просмотра документации начинал просто писать примерно первые буквы слова которое связано с тем что мне надо и так наугад находил нужную мне вещь.Это я что-то не так делаю или надо просто привыкнуть к этому пиздецу? Или даже не привыкать, а использовать что-то статически типизированное, тайп скрипт какой-нибудь?
НидхелпКак уронить WebWorker? Именно уронить, crash, а не просто вогнать в бесконечный цикл. Хочу понять, упадет ли его родитель, и если да, то до какого колена.Пробовал выделять овердохуя памяти в нем, нихуя не происходит. Эффект аналогичен бесконечному циклу, в какой-то момент он просто перестает отвечать на сообщения, но падать не падает.
>>1169431Ты писал не на языке, а на IDE. Если довольно долго, то считай, что ты уже профдеформирован. Дальше сам выбирай. Вряд ли динамика для тебя. Программист на форте везде будет писать на форте. Ты везде будешь искать статичность и автокомплит. Соответсвенно и выбирай инструменты аналогичные - типизированые трансляторы, типизированные статичные библиотеки, без мета-магии, и вот это всё.
>>1169431А, ну и алсо, js это современный ассемблер, просто для более высокго уровня абстракции. Вот и думай. Писал бы ты на асме под аппаратуру, откуда бы брал себе автокомплит. С js-ом тоже самое. Это встраиваемый язык, и его возможности диктуются окружением. Так что на TS ты писать конечно можешь, но вот можешь ли ты писать на TS, например под Автокад?
Помогите пожалуйста! Как заставить эту поеботину работать? Я понимаю что тут с областью видимости проблема, но не понимаю как исправить.https://repl.it/repls/SparklingStridentUtilities
>>1167958 (OP)А тут можно по ангуляру вопросы задавать или потребуется пройти в другое место?
>>1169537Проблема не с областью видимости, а с контекстом вызова функций, то есть this.Когда ты в showItems вызываешь форматтер, ты ему напрямую указываешь, что вот твой контекст, работай в нём. Он такой окей, понял. А когда ты вызываешь его через show, ты уже не говоришь передаваемой функции, в каком контексте работать. В итоге этот контекст проебался.Последний способ не работает, потому что ты передаёшь в параметре уже вызванную функцию, и в show в итоге пришла строка, которую вернула передаваемая функция, и show такой: "и хуле ты от меня хочешь, строку вызвать? Ты шо ебобо?"Решение - передавать контекст дальше внутри show. Тогда функция будет указывать, что принятому аргументу нужно выполниться в контексте этого show.
Блед, куда response делся
Анонеймы, молю помогите.Проебываю понятие callbackов, из-за этого не понимаю суть работы map, reduce, for each и т.д. Гуглил - нихуя не понял. Смотрел видосы на ютабе - нихуя не понял.Где еще можно почитать/посмотреть чтобы понять?
>>1169809 Я тоже не понимаю это слово, но оно и не нужно совершенно. Map и проч. очень элементарно работают. Тупо функция принимает в кач-ве параметра другую функцию. Возможно это и есть колбэк.
>>1169811Да, это и есть колбек. Но блять в моей тупой голове не укладывается суть работы функции которая в качестве параметра принимает другую анонимную функцию.
>>1169820>функция(данные, чтоСделать)>чтоСделать = функция(данные)
>>1169820Что сложного блядь.Представь, что ты землекоп. Копаешь траншеи. Сколько скажут столько и копаешь. Вот отсюда и до обеда. Вот, ты блядь - функция. Принимающая на вход параметры нужной траншеи, и возвращаюшая в итоге саму траншею с этими параметрами.Теперь представь, что тебя повысили до бригадира землекопа. Теперь ты сам траншеи не копаешь. А используешь для этого других землекопов, которых тебе дают. Вот ты снова блядь функция. Только теперь один из принимаемых тобою параметров, это другая функция - землекоп. Скажем, говорят тебе выкопай 10 траншей по 1- метров с помощью вот этих вот землекопов. Ты такой окей, берешь землекопов и говоришь им что делать. Пиздец просто, принцип проще некуда. Весь мир на нем построен. Что не ясного.
>>1169828АААА СУКА, ПОНЯЛ. Я как бы передаю в параметр уже готовое значение какое-то которое возвращает функция которая собсна в параметр передана.
>>1169831нет ты сука совсем тупой
>>1169828функция внутри функции. пиздец. Только вот начал читать про жс, охуеваю с переменных пока что.интерересно расписал.
>>1169837Она не внутри функции. Внутри функции это уже не коллбэк, а замыкание.Коллбэк это самодостаточная функция. Ты ее можешь и просто так вызвать сам, а можешь и передать куда-то.
Почему жс не обновлялся уже 8 лет?
>>1169841Хорошо, а как тогда вызывать функцию внутри функции?
>>1169864Так же, как если ты хочешь например питаться не через пищеварительный тракт, а закладывая еду прямо в желудок себе.
>>1169864Неужели тебе не очевидно, что к моменту когда ты пытаешься вызвать ss в своем fq = ss(..) функция ss уже не существует вообще? Это не говоря о том, что в той области видимости ее и не существовало никогда, но это ладно. Я о том, что вы когда код пишете - вы наугад ебашите, не приходя в сознание? Не пробовали побыть интерпретатором и по шагам выполнять то, что вы написали? Вас как детей надо, чесслово, ставить в круг, и играть в игру аля-крокодил, давая каждому задачу - вот ты переменная, ты функция, ты вот число, ты вот поток выполнения, давайте посмотрим, что тут происходит.Просто катастрофический дефицит абстрактного мышления у вас, товарищи.
>>1169864> как тогда вызывать функцию внутри функцииочевидно, пробросив туда, откуда ты хочешь ее вызвать, как и все остальное, что ты пробрасываешькак обратиться к f внутри mult ты же додумался. почему дальше твоя думалка думать не смогла?
t
>>1167958 (OP)я знаю, почему у тебя не будет детей.
>>1169229>mceditПиздец кокойты.
Есть оиба, который можно рисовать связи? Например есть два дива с текстом, на одном я кликаю и тащу стрелку до второго.
>>1169999Такое обычно рисуют на канвасе, а не на дом-нодах. Если вместо дивов готов рисовать все на канве, то изи какой-нибудь d3 или что-то было. Гугли по js graph visualization
>>1169999на хаскеле ебани
Аноны, есть тут кто шарит в промисах? поясните какого фига в results пушится не сразу, а только в конце? Откуда он знает что будет последний then? И что вообще записывается в chain?http://plnkr.co/edit/pzWpd9418pnVJxlvK4SV?p=preview
>>1170042>какого фига в results пушится не сразусразу.
>>1170048Нет
>>1167958 (OP)Есть ли в node.js профилирование и перфоманс тесты?Можно ли например сохранить джейсонину и загрузить в гуй хрома?
>>1169182>30 сьрок кода>Какие-то проблемы уже тут.Ясн.
Вы, девочки, хотя бы в курсе, что JS - не язык программирования?
Так я и не могу понять как работают мап, редюс и форич и вообще колбеки сами.
>>1170278Опа. Дай угадаю, ты обоссаный джавист или обдрыстаный питонист? Вернись в свой курятник.
>>1170317Ладно, еще раз поясню по хардкоруfunction НарубитьДрова (дрова, function Рубить(бревно) {Топор = new Топор(); Топор.рубить(бревно);} ) {for (бревно in дрова)Рубить(бревно);}
Т.к я очень тупой, сухой формат Кантора иногда бьет по голове даже после 10ого перечитывания главы.Может есть книга где более на пальцах разъясняют?Я, как и все дебилы из фронтенд треда привык к курсам от хтмлакадемии, где объясняют для аутистов полнейших, тяжело вкатиться так резко в сухую литературу (а что будет когда документацию читать буду вообще не понимаю, наверное повешусь или в дворники вкачусь в итоге).
>>1170355Можешь на тытрубе глянуть видосы по жс, там их много.Но дело не в том что хтмлакадемия хорошо объясняет, а в том что хтмл и цсс очень простые вещи. Кодинг это сложнее намного. Привыкай. Решай задачки-говоломки на сообразительность для развития мозгов.
>>1170338Программировать на DHTML, это так круто...
>>1170355>сухой формат Кантора Вот это новости. У кантора формат для детей ясельного сада.
Лучший язык эвер
Смотрите, решал задачку на кодварс(Delete occurrences of an element if it occurs more than n times)https://jsfiddle.net/vsuzmkko/1/Хочу, чтобы двачик сказал мне, что решение очень элегантное
>>1170490написано странно. проще было просто для каждого числа счетчик увеличивать и если больше N то не выводить результат.типа for( var i : input){ cout++;if(cout>n) continue;result.append(i);}
>>1170494жрет скобкиcout ( i ) ++;if ( cout ( i ) > n)и .тд.
>>1170490
>>1170541За такое я бы уволил.
>>1170544Я бы тебя уволил раньше, чем ты меня.
>>1169431JSDoc для кого придуман, блять?Большинство нормальных либ его используют. А нормальные редакторы его хавают и показывают по наведению мышки.
>>1170541выпились, плз
>>1170541Миниатюра "как сделать так, чтобы код на жс был похож на лисп"
>>1167958 (OP)Сап, решил вкатиться сейчас. В каком порядке читать книги из гайда шапки?
>>1170688Раз задаешь такой вопрос, то можешь смело сразу и укатываться.
>>1170712Тогда начну по порядку.
на каком языке лучше писать прилагу вк ГОСТИ ВКОНТАКТЕ?
>>1170757Haskell, очевидно же.
>>1170760Purescript лучше подойдет.
Кто то работал с google sheets?
>>1170355Кодинг на самом деле намного проще сss'a, в кодинге ты просто кодишь очевидные фронтовские алгоритмы, а не ебешься с пикселями и движениями неведомой хуйни вправо-влево. По основам жса глянь курс с юдеми, скачай с рутрекера вирд партс жаваскрипт. Кантор хуевейшая книга сама по себе, объясняет он по-даунски, не советую
>>1170683>>1170550>>1170544Неосиляторы.
>>1170832>Кантор хуевейшая книга сама по себе, объясняет он по-даунски, не советуюКакой язык такое и объянение ))0
>>1170956Язык-то идеальный.
>>1170962Лол. Даже сам Кокфорд не раз говорил, что в я зыке полно странностей и ошибок. Но всем похуй.
>>1170962Попробуй создать пустую переменную и выполнить с ней оператор плюс-равно, вот так:var str; str += 'ABCD';console.log(str);
>>1170972Она не пустая, в ней undefined.Что тебе тут не очевидно?
>>1170972а нехуй переменные без присваивания заводитьособенно в языках без строгой типизации
>>1170975Достаточно понимать как, что работает. А не ебашить наугад.Твои советы сравни - если не хотите случайно сдохнуть, нехуй на улицу выходить. Признак дегенерата.
>>1170969>сам КокфордСсылки на мнения кого-то, кто для тебя авторитет, тоже признак дегенерата.
>>1170979Тут забавно еще то, что етот Кокфорд, емнип вообще левый хуй. Т.е. опытный пользователь, не более, не дизайнер и не разраб жс.
>>1170982Он простой программист. Его основная заслуга, если ее таковой можно считать, что он распространил формат json и пропихнул его для спецификации. В то время все обменивались xml'ом, Крокфорд взял нотацию хэш-таблицы и js и популизовал как формат для обмена данными на замену ксмл. Так вот. Но суть в том, что ссылаться на чьи-либо мнения, как какие-либо аргументы, в темах, не касающихся самих этих людей, тем более в формулировках САМ, ну это пиздец. Особенно для программиста.
>>1170987>хэш-таблицы из js
>>1170988Да я в курсе насчет его достижений.
>>1170909Да не неосиляторы. Я прекрасно понял, что твоя каша из тернарных операторов делает. Только вот с точки зрения читаемости за такое нужно по рукам бить.
>>1170135Бамп
Аноны, есть ли в html такой тег, который выводит текст в окне? То есть, есть окошко с белым фоном, и там написан текст, который нельзя менять на странице? Что-то вроде textarea, но текст на странице изменять нельзя.
>>1171156Ты не поверишь, но это можно писать обычным текстом без тегов.
>>1171114За такое нужно ебало бить
>>1171156Скорее всего ты имел ввиду <marquee>.
>>1171174Я думаю, он имел ввиду <blink></blink>
>>1171156<b></b>
Безопасно ли использовать protected route в Angular? Да, если пользователь не идентифицирован на сервере и не имеет ключа, он не посмотрит защищенный компонент и, уж тем более, не получить json с данными от сервера (asp.net core если важно).Но, злоумышленник, посмотрев в код, будет иметь представление какие данные отдает сервер и как они отображаются у пользователя. Это нормально?
>>1171575Как один из вариантов решения, сейчас отдаю часть наиболее важных (по мнению моей паранои) данных в виде html кода.
Нужна небольшая консультация, так как не имел опыта на JS вообще, кроме пары тестовых заданий.Я хочу сделать html форму с JS скриптом, который будет генерировать данные (на основе JSON файлы в этой же папке) и выводить их в форму. + хочу прикрутить возможность сохранять данные в txt формате на диск. Возможно ли это реализовать на чистом JS? При условии, что на компьютере, где будет работать скрипт, не будет админских прав и интернета. Только IE и Chrome.
>>1171174>>1171188>>1171539Типа толстите на толстоту?
>>1171156<p></p>
>>1171156Возможно тебе нужен язык программирования css (цсс).
>>1171639css (контер стрике соурсе)
>>1171592Нет.
>>1171639Скорее всего ему нужен язык haskell
до чего же я мастер js
>>1171652Нет, в смысле нельзя в файл сохранять? Или вообще такой скрипт офлайн не реализовать?
>>1171722Ну смотри. Обычными средствами ты не сможешь получить доступ к файлам в браузере, ибо безопасность.Но если твое приложение крутится на локалхосте, то ты вполне можешь получить содержимое файла через ajax.
>>1171824То есть и статичный файл типа того же json этим скриптом не прочитать?
>>1171722Боже, да сохраняй ты в local-storage и успокойся уже.
>>1171722ГуглиData uriBlobИ не слушай погромистов, не умеющих сделать сраную выгрузку файла на жс.
>>1171722Можно. Формируешь файл в памяти и даешь его на созранение. На ознакомься с экхемплом https://app.keeweb.info/Это одностраничное приложение работающее локально, ты можешь сохранить страницу html себе на диск и запускать локально, а не удалено.
Как сделать это менее говнистым? Мне кажется, это пиздец, но кодварс засчиталhttps://jsfiddle.net/tqg9he1a/1/
>>1171956>кодварс Ты же посе решения задачи можешь посмотреть решения остальных, в том числе топ, в том числе самое лучшеее и короткое.
Что почитать дауну, чтобы понять, как работают коллбек-функции?Нихера не понимаю, слишком сложно для меня. Вернее суть я уловил, но когда начинаю смотреть примеры, то пиздец как сложно.
>>1172016Почитай тред чуть выше. Тут один анон разжевывал как мог, прям для самых довенов. Может настигнет прозрение.
>>1172035Так он ему и разжевывал.
>>1171722В Опере, Хроме, Лисе ты можешь запросить привилегии у пользователя, но только если твой код выполняется локально, является приложением.
>>1172050Также есть недокументированные способы, но они применяются с диалоговыми окнами через загрузки.Ты можешь сохранить такой файл (при согласии пользователя), но не можешь загрузить, поэтому как писали выше используй хранилище браузера и не парься это тот же файл на диске юзера. Разницы нет никакой.
>>1172051>Разницы нет никакойЕсть. Все что созранено в зранилище браузера, будет удалено при очистке кэша\истории браузера.
>>1169871А деструктуризация в других ЯП тоже есть? Хоть и понял как она работает, но до сих пор когда её вижу напрягаю свой мозг, чтобы понять что куда присваивается, особенно когда присваивают свойства какого-нибудь объекта. Иногда кажется не очевидной хуйнёй, которая только усложняет код.
>>1172016Не заёбывай себя. Ты не работу их не понимаешь, ты просто не понимаешь что это и для каких задач нужно. С практикой придет понимание. Ты видимо ещё до прототипов и контекста вызовов не дошёл, раз у тебя есть время над другими вещами голову ломать
>>1172067>А деструктуризация в других ЯП тоже есть?Есть, конечно. В этом плане в js нет ничего уникального ни в чем, кроме того, что он собрал лучшие фичи из всех остальных языков. >Иногда кажется не очевидной хуйнёй, которая только усложняет код.Серьезно? вызво функции тебе не кажется нечевидной хуйней? А операция сложения? Уверен? А если бы ты жил во времена программирования на перфокартах? Скудоумие и узколобость неизлечимы.
>>1172068Нах прототипы нужны? Уже ведь завезли синтаксически норм классы почти как в Джаве.
>>1172091С чего ты взял что как в джаве, это норм, а не наоборот?
>>1172035Спасибо, вроде немного получше понял.Ещё дебильный вопрос - в каких ситуациях использовать forEach, а в каких for? Первый мне всегда давался с трудом, так что я всегда писал всё через for и если видел в чужом коде forEach, то переписывал его в for для лучшего понимания.Но в чём отличие и где применять каждый из них - я нигде не нашёл инфы.>>1172043Это был не я.>>1172068Да, всё так.Просто начал изучать асинхронность и там в первой главе про коллбеки, и что это основа основ.
>>1172115>и если видел в чужом коде forEach, то переписывал его в for для лучшего понимания.Вот же червь-пидор. Надеюсь тебя гонят отовсюду ссаными тряпками.
>>1172115На чем раньше писал?
>>1172123На C++
>>1172087В которой раз убеждаюсь что комьюнити на дваче ужасно агрессивное. Это наверное потому-что здесь в основном омеги которые если в чем-то разобрались лучше других, начинают компенсировать и самоутверждаться >>1172115>Ещё дебильный вопрос - в каких ситуациях использовать forEach, а в каких for? Первый мне всегда давался с трудом, так что я всегда писал всё через for и если видел в чужом коде forEach, то переписывал его в for для лучшего лол, тоже этим страдал, просто Кантор упор на for в уроках делал, и у меня это от него. Хотя на деле все перебирающие методы наоборот упрощают жизнь, поэтому нужно специально заставлять себя именно их использовать, пока не станут как родные
>>1172091На собесах думаю все равно спрашивают, вряд ли их устроит твой ответ.
>>1172131>все перебирающие методы наоборот упрощают жизньЧем конкретно?Тем, что чуть меньше писать?То есть по сути разницы никакой, это всё дело вкуса, как пробелы/табы?Плюс в гугле пишут, что for в разы быстрее, чем forEach, кому верить?
>>1172132>2k18>ходить на собесы
>>1172134>Тем, что чуть меньше писать?>[1,2,3].forEach(i => console.log(i))>for(let i of [1,2,3]) console.log(i)
>>1172137Я не так пишу. Пощади, о гуру жс
>>1172128Ну и ты хочешь сказать, что будучи плюсовым программистом, ты не знаешь, что такое передача функции по ссылке и зачем это используется?
>>1172143Нет, ведь в плюсах нет приёмов ФП...
>>1172146ФП это прежде всего зависимые типы, а не лямбды. Лямбды - это обычная императивнщина. И функции передают по ссылке в другие фукнкции испокон веков. И в си, и в плюсах, и даже в асме. Особенно в асме.
>>1172131Мне в форыче не нравилось то, что из цикла нельзя выйти преджевременно. Плюс, в каком-то перформанс тесте я встречал, что итератор и forEach работают намного медленнее классического for (let i = 0; i < a; i++). Так что если встаёт вопрос быстрого перебора больших массивов, да ещё чтоб останавливать в нужном месте, то лучше каноничного фора ничего нет.
>>1172115>Но в чём отличие и где применять каждый из них - я нигде не нашёл инфы.В том что в жс нет цикла форич. Метод массива форич есть, а цикла нет. Соотв-но фор универсален, форич нет.
>>1172325Причем for работает быстрее, чем вызов метода.
Анончик, чё пачитать по вебпаку? У меня три пакета p5js+webpack+webpack-cli тянут 1 мб зависимостей в деве, это немножко дохуя и собирается неприлично долго для хелло ворда. Я хочу чтобы эта сука не пихала в бандл неиспользуемые зависимости.
>>1172355в деве это норма вроде, кроме доков был какой-то реп с вкусностями по вебпаку, что-то типа авсом реакт только авсом вебпак но не точно так
>>1167958 (OP)Я просто оставлю это здесь: https://dev.to/_gdelgado/the-economics-of-js-182d
>>1167958 (OP)Привет, программач. Пишу приложение на Node. Нужно сделать так, чтобы при подключении первый пользователь попадал на страницу с ссылкой, передав которую второму пользователю тот мог бы подключиться к первому. При этом, этом, нужно чтобы одновременно больше одной пары пользователей могли поддерживаться подобным образом. Как это сделать? Подозреваю, что нужно как-то химичить с socket.io и неймспейсами, но не совсем понятно, как именно.
>>1172494Я просто посылаю тебя нахуй.Заебали уже со своими высерами.
>>1172503Таблетки опять забыл принять?
Анон, поясни идиоту, какого хуя тут 16? Цикл выполняется до i = 7 (потому что знак i<8, а не i<=8), и "sum+=i" тоже делает sum = 7.Так чому тут 16? Я понять не могу.
>>1172528Ты довен? 4+5+7=16
>>11725285+4+7 = 16
>>1172534>>1172535Он все полученные i складывает, что ли?Бля, ебать я тупой.
>>1172534>>1172535Алсо, благодарю вас.
>>1172537sum+=i это сокращённая запись sum = sum + i.
>>1172330Как вы заебали. А вы ожидали, что вызов функции на кажду. итерацию будет быстрее цикла, что ли? Вы ебаутые? нахуй вы каждый раз повторяете быстрее, быстрее. А код без функций еще быстрее, что теперь - не использовать функции? Ты тупой? Сукка, нахуй иди мудак.
>>1172614Вызов функции инлайнится в 95% случаев, кстати.
>>1172628Нет.
>>1172635Жс-пидора ответ.
>>1172580Да, это я понял. Просто при самостоятельном разборе кода я совсем забыл про sum+=i и не брал в расчет выполнение этой строки совсем. Невнимательность - один из моих главных врагов.
>>1167958 (OP)Хочу вкатится в платный курс на learn.javascript.ru, стоит ли оно того?
>>1172910Нет, уже долгое время существует понятие Open Source, платные курсы дают тебе то что ты сможешь найти сам и вполне бесплатно.
>>1172940Это понятно, что найти сейчас можно всё. Просто мне хотелось бы найти нечто цельное и систематизированное по ноде и (желательно) реакту, вот и присматриваюсь к разным курсам.
Я за повышение привилегий для ЛГБТ!мимонепидор
>>1172910Не стоит, просто всрёшь деньги.Обычно на курсы идут те, кому сложно читать статейки, и им хочется чтобы их научили. На деле информации там всегда меньше чем нужно, и самое страшное, ты себя приучиваешь к тому что-бы кто-то тебе всё обьяснял. Но при этом всём курсы всё равно годная штука чтобы их наворачивать с видосами, статьями, документацией, мастер-классами, но естественно если не платить за них деньги, и не проходить их по два-три месяца, лол. А смысл отдавать деньги за что-то если тебе все равно потом придется дообразовываться из других источников? К тому же я смотрел один курс с лернжс, и там было просто адовое качество с бульканьем микрофона и со звуками автомобилей из окна. А люди за это ведь платят.
>>1172802А всё потому что отступы на скрине кретин расставлял и с первого взгляда и не очевидно, что sum+=i внутри лупа находится.
Анон, вопрос по сокетам, а точнее библиотеке socket.io.Как, сука, задетектить, что socket.emit('msg') прошел, а не соснул с ошибкой?Там вторым аргументом ебаный коллбек на выполнение, в оф.доке не нашел ответа.
Анонче, помоги решить задачу, уже третий час голову ломаю, подсказку дайте чтоли какую.
>>1173112Че тут сложного тоДля каждого i элемента в массиве:_если сумма элементов от 0 до i-1 равна сумме элементов от i+1 до последнего:__добавить i в массив ретурна
>>1173116А половины массива выбирать слайсом?А вот в последнем примере как у первого и последнего чисел массивов справа и лева беруться нули?
>>1173094Грубо, но верно. Есть ли какие- то сервисы, которые подгоняют строки для более приятного и понятного чтения?Вроде бы похожий сервис видел гайде по пхп в соседнем треде.
>>1173116Если индекс первый, сумма слева = 0, если индекс последний, сумма справа = 0Собираешь нужные индексы слайсом и через reduce сумму ищешь
Вы мне только скажите, я реально настолько тупой или синтаксис жса действительно местами сложный?Откуда столько скобок блять, как не привыкшему глазу это уловить все? Как понять что где куда?
>>1173116>>1173137И все равно чё то не получается нихуя, можно пример?
>>1173160И вправду слишком много скобок. Убери первую круглую и ставь точку с запятой после закрывающей фигурной.Вот типичный JS-код в стиле 2009-2015 года (как видишь, это конструктор класса), и там нет ничего сложного.
>>1173166
>>1173181пиздец анон оформление у меня слёзки через 1 секунду
>>1173204Спасибо, анонче, вроде сам только что решил, не так изящно конечно но вроде работает, добра.
>>1173206А всё из-за того, что код написан под старые браузеры, а ещё там подключён React, и в его файлах отступы должны быть сделаны Tab'ами.Так-то я написал бы лучше. Сам рыдаю от єтово.
>>1173214я думаю тот анон про цветовую гамму, лол
Котаны кто вкатывается гоу в конфу в телегу джоинт чат ERcgzA_J3RefVnGflzvo5w
Для избранных>>1173248
>>1173250ахуеть конфа из одного ананаса
>>1173442Какой язык, такая и конфа.
>>1172959будь оригинальней, читай первоисходники, на этих курсах штампуют мусор
Читаю Кантора, дошел до замыканий и обсираюсь на каждом шагу. Не могу решить ни одного задания, внезапно из-за того что 3 дня уже читаю это - позабыл все. Даже сортировку забыл как делать.Заново читать Кантора или лучше пока не проебал вообще всю цепочку перепрыгнуть на альтернативный источник информации?
>>1173588Порешай задачки на кодварс, потом вернись к замыканиямСам так делаю
Почему к реакту практически нет никакой официальной документации? На reactjs есть либо туториалы, либо типа доки, которые на самом деле никакие не доки, а набор сказок с примерами, из которых нужно сидеть вылавливать, что же блять делает конкретная функция, что она принимает, и что возвращает. Вот хочу я, допустим, узнать про setState, что там за колбек есть, принимает ли он аргументы и какие, есть ли гарантия, что он вообще выполнится, и если выполнится, то когда именно -- а хуй там, нихуя не написано. Про события вообще молчу, молчаливо высрали наборы пропертей для каждого события и типа на этом доки закончились. А что это блять за проперти, какие у них области допустимых значений, где я это должен узнавать? В гугле в бложиках ноунейм смузидебилов? Это типа норма для жс-экосистемы или как?
>>1174049Какая документация еще. прошлый век? Смотри Дена Абрамова на ютубчике, попивая смузи.
>>1167958 (OP)Бля, понравился мне этот язык. Он как гибрид питона и си, но вместо шестерёнок и поршней тебе выдали глину, лепить из неё.
>>1174049Чтобы написать документацию, надо знать как это говно работает. А если знаешь, то она и не нужна. А там новая версия выйдет
>>1174070Ну охуеть теперь. То есть вывалили библиотеку без доксы, без нихуя, с полутора рекламными высерами в бложике и все, пользуйтесь, ребята? Заебок, чо. Надо ораклу предложить тоже на такую систему перейти. А то чо в каменном веке-то жить, документация какая-то, обратная совместимость, program against interface, какая чепуха, господи. То ли дело написал drinkSmuzzi() и потом переебываешься с ней по гуглу, пока не найдешь восемнадцатым коментом в бложике васяна, что же эта блядская функция все-таки делает.
>>1174073Макаки осиливаю, а ты сломался. Не стыдно?
>>1174094>осиливаюТfix
>>1174049раздел апизреференс тебе на что
>>1174110The second parameter to setState() is an optional callback function that will be executed once setState is completed and the component is re-rendered. Generally we recommend using componentDidUpdate() for such logic instead.Вот все, что написано в твоем хваленом апи референс про колбэк в setState. Что из этого мне должно стать понятно про его использование?
>>1174135То, что это обычный жс колбэк, который заупскается после основного тела функции. Колбэки гуглить в тч в канторе.
>>1174135Одно слово - асинхронность.Смысл в том, чтобы дать тебе знать, когда эта операция закончится. Иногда в таких случаях в колбек передаётся ещё некий параметр - состояние, ошибка и т.п.
>>1174153Нииит. Это не правильна. Ни па уму. Надо, чтобы в описании каждого метода\функции, любой, даже самой простейшей библиотеки были пояснения, что такое функция, что такое коллбэк, что такое строка, что такое число, как числа представлены в языке, как представлены объекты, что такое объекты, что такое методы, что такое переменные. Иначе это не па инжинерному и жс гавно
>>1174175Ну, честно говоря, документация для большинства js либ и фреймворков оставляет желать.Видимо, сказывается эфемерность всей этой хуеты.Написать годную документацию - нужно время.Пока напишешь половину - выходит версия 2.0, не совместимая с 1.x вообще.А писать самодокументируемый код многим смузихлёбам запрещает их религия, ибо так пропадает флёр собственной исключительности.Ну и чем меньше доков - тем больше поисковых запросов, больше постов на SO, больше хайпа.Поэтому, вместо документации пишут сказки о том, как всё будет охуенно, если начать использовать фреймворк Pink Reactive Zalupa 3.0.мимо другой анон
>>1174153>>1174171Ребята, я знаю, что такое колбэк и что setState выполняется асинхронно. Но какие аргументы передаются в этот колбэк? Можно ли внутри него вызывать setState? Вопросов такого рода можно назадавать кучу, а ответы на них искать негде, разве что в сырцы лезть.>>1174175Че ты кривляешься, не маленький уже.
Нужно, чтобы при нажатии на буквенные клавиши исчезал текст.ЧЯДНТ? Почему не работает?https://codepen.io/anon/pen/yKdRxR
>>1174264Рискну предположить, что твой div не сфокусирован. Более того, из коробки он и не будет фокусируемым, тебе нужно руками добавить ему это свойство. tabIndex вроде называлось, погугли кароч.
>>1174303>твой div не сфокусированЧто это? Впервые слышу.Тут проблема в условии. Если его убрать вообще, то при нажатии любой клавиши див исчезает.
>>1174303Это же не форма и не ссылка.Ты либо слишком жирно траллишь либо вообще далёк от жс.
>>1174308без условия выведи в консоль кейкод на любую нажатую клавишу, и увидишь что твоё условие построено совершенно неверно, код совершенно другой на буквенные клавиши
>>1174324fix: забыл добавить, используй keyup или keydown и все будет работать
>>1174324Спасибо, выяснил, что a-97, а z-122Почему тогда во всех справочниках пишут, что это 65 и 90 соответственно?У меня разрыв шаблона.
>>1174264>2018>без ж-квериЛал. Добавь класс, который делает текст альфой.
Анон, зающий реакт и сокеты, и использовавший эти две технологии в построении спа, есть к тебе вопрос (круто было бы в личку, @ke3evra)Нужна интеграция сокетов с редаксом, и есть наработки в ту или иную сторону, хочется услышать критику этих решений или твой совет, как не соснуть с расширением приложения.
>>1167958 (OP)Анон, подскажи, как сделать такой файл, чтобы из него можно было тянуть примера json-запроса?Я тут пытаюсь написать обработку json-ответа от сервака, но сами ответы нерегулярны и вот хочу записать пример в файл, чтобы дергать, когда понадобится, но просто запихнуть массив в квадратные скобки - недостаточно!
>>1174254Почему нет?Но, только тоже асинхронно - через setTimeout(setState, 0).Если туда параметры нужны - сделай функцию-обёркту.
>>1174344Пиши тут.
>>1174369Дергай апи двача.
>>1174369А не проще Node поднять или какой-нибудь детский веб-сервер?
$.getJSON( "ajax/test.json", function( data ) { var items = []; $.each( data, function( key, val ) { items.push( "<li id='" + key + "'>" + val + "</li>" ); }); Чёт я не понимаю откуда берутся тут ключи и значения, если их нигде не указывают и не объявляют.
>>1174455А в json'е у тебя что - хуй собачий?Ты попробуй уже понять, что у тебя там написано, и зачем.
>>1174458Ало, это пример из документации.
>>1174460JSON - это и есть набор пар ключ-значение (т.е. просто объект).JQuery получает файл с сервера, парсит и превращает в объект (data).Потом each проходит по этим парам.Т.е., если на вход each подать не массив, а map (объект), то он будет передавать в callback пару аргументов, а не один.
>>1174425Хм, постараюсь донести мысль.В спа есть два варианта общения с сервером -- обычные запросы через axios и через socket.io.При инициализации приложения создается инстанс апи-клиента аксиоса. _Все_ запросы этого инстанса вызываются исключительно через асинхронные редакс экшоны, доступ к апи-инстансу изнустри любым компонентов невозможен.Вопрос -- как реализовать общение через сокеты?Как я вижу.Все сокет.эмиты идут точно так же, как и запросы аксиоса -- через асинхронные редакс экшоны.Нужно что-то заэмитить -- вызывается экшон, после прохождения него диспатчится успешный (или не очень) экшон.А вот куда пихать все листенеры сокета?В моем представлении -- в роутах аи рядом с объявлением инстанса сокета. Причем при объявлении инстанса сокета передавать ему заинициализированный стор, уже диспатчить нужное действие при получении данных с сервера.Жду критику решения.
>>1174579Олсо, даже опишу так.Проблема: при разрастании количества роутов будет затруднительно работать с сокетами.Задача: все листенеры и все эмиттеры сокетов держать в одном месте.Решение: все эмиттеры лежат в экшонах, все листенеры -- в роутах рядом с инстансом с подключенным стором.
Да блять, откуда ЖС берёт переменные, которые не объявлены? Что это вообще?
>>1174789Они объявлены.
>>1174792В функцию передают переменную и вызывают её метод. Но она не объявлена нахуй!
>>1174793Объявлена.
>>1174793Ты о чём?Об этом: >>1174455 ?Или о чём-то другом?
Что скажите? Стоит вкатываться?https://yopta.spaceгыы gop внатуре пиздишь, lt нахкуку йопта law() жЫ вилкойвглаз(gop типа нечотко) жЫ ксива.малява("Я и правда язык") нах gop сука чотко нах есть иливжопураз жЫ gop сука чотко нах потрещим(semki чоблясука трулио) жЫ lt сука ксива.вычислитьЛохаПоНомеру("list") нах ебало.шухер("Привет, йопта") нах есть есть есть
>>1174913Ты знаешь, что то, что ты притащил - старше, чем ты. Что ты хотел этим показать? Что ты не слишком умный?
>>1174938>Ти не слишкам умныи, азязя
Посоны, есть привязанный к html .js, в нем набор функций и ивент листенеры. Проблема в том, что эти функции выполняются в любом случае, как только на строчки с ними попадает парсер. А мне нужно, чтобы только при кондишене. При этом запихать её сразу после этого кондишена не могу, потому что вызывать надо при разных событиях. Что делать?
>>1174254В смысле какие аргументы. Я туда полностью свои функции (экшоны) с любыми аргументами из саг хуячу уровня fetchSomeData(this.state)
Аноны дайте совет как лучше реализовать, предположительно юзеру нужно выдавать логины-пароли через сайтик вида "user1488;12345" по нажатию на кнопку после авторизации. Мне нужно эти логины периодически куда то добавлять в более удобном виде, что бы потом они после выдачи юзеру заносились в какую нибудь другую БД как использованные с меткой времени, когда именно было выдано.Как самое простое думал заносить их просто в txt файл, парсить первый. После выдачи юзеру удалять позицию и заносить ее в другой txt файл отработанных логинов с припиской времени когда именно было выдано.Может подскажите более элегантный вариант, желательно подсказать в какую сторону копать. Я еще не макака, я только учусь.
Есть ли какие-то библиотеки для попиксельной обработки изображений в js? Это вообще на нём возможно? Там же нужно файл декодировать. Или в ином случае мне на стороне сервера лучше преобразовать в json и на клиенте уже работать с массивом? Как тогда сократить по памяти огромный несжатый список?
>>1174991Майэскуэль подними и не еби мозги. В три строчки всё сделается.
>>1174455Есть токая хуйня, как callback. Эта просто функция, которая вызовется в будущем, и ей будут передана нужная информация в виде аргументов.$.each возьмёт твою data, попидарасит там чутка, а после этого для каждого объекта в коллекции data вызовет ту самую функцию. И вот в будущем при вызове он передаст туда те самые key и value. Их объявление, как и вызов самого коллбэка, зашиты внутри реализации $.each.А вообще хорош лезть сходу в бутылку с jQuery.а) В 2к18 она нахуй не нужнаб) Разберись с паттерном callback в принципе как он работает. Это абсолютно необходимо для любого асинхронного программирования. Этот паттерн не JS-specific, кстати.
>>1174579Советы мудрые:1) Вынеси всю работу с асинхронным говном (будь то аяксы или сокеты) в моддлвары. Можешь юзать redux-saga или redux-observable, рекомендую последнее. Оно поначалу посложнее, но rxjs дальше круче.2) Сдизайнь так компоненты системы, чтобы у тебя была одна хуйня, которая принимает информацию из внешних источников, и остальная система, которая на неё реагирует, не зная, откуда она пришла. Типа ты можешь сделать аякс /users, или сокет может ебануть эвент типа 'updateUser', и у тебя есть отдельный адаптер к сокетам, и отдельный к аяксам, но у них одинаковый внешний АПИ, и остальная система в обоих случаях обновит юзераВ принципе, п. 2 норм реализуется через редьюсер и миддлвару. Экшны только синхронные, редьюсер чисто обновляет стор, реагируя на экшны, а задача миддлвар — ебаться с аяксами/сокетами, и в нужные моменты просто хуярить экшны UPDATE и т д.
>>1175166>Это вообще на нём возможно?Да, возможно.Используй canvas.Декодируется оно само.Гугол в помощь.
>>1175178Спасибо за отклик.1) общение с сокетами идет через мидлвары по аналогии с апи, компоненты не знают, какой способ связи будет задействован при передаче экшона в диспатчер.Юзается стандартная хуйня вида { types: [request, callback], socket: async (socketClient) => { return await socketClient.doSomething() }}2) Ты предлагаешь сделать обертку над сокетами и апиКлиентом? Или что?В принципе, писал сейчас простыню и понял, что в уме раскидал, как должны лежать слушатели, эмиттеры и прочее говно, и потому стер все вопросы.Спасибо за ответ.
>>1175198ну я на самом деле хотел вообще рекомендовать избавиться полностью от такой хуйни как «асинхронные экшны». Thunks — нахуй короче.Типа задача редьюсера чисто обрабатывать любые экшны, независимо от источника, и обновлять стор всегда одинаково.А на сокеты и на АПИ можно просто написать 2 разные миддлвары, которые в нужные моменты будут вызывать нужные экшны
>>1175173После промисы, после асинк эвейты, лол.
>>1175199Ну да, мидлвары для сокетов и для апи разнесены.И type: success (или fail) диспатчится в стор только после прохождения запроса, на промисах.
>>1175206Но лучше конечно вовремя обойти эту ересь и погрузиться в алгебраические типы.Только Task, только хардкор. Промисы для пидоров, монады для бояр.
Боги ЖСа, прошу вашего взора на простого смертного желающего прикоснуться к прекрасному:Хотел сделать по-простому, чтобы удалялась кнопка при клике на неё, но даже если кликать справа налево, он идёт строго по порядку. https://codepen.io/JavaHutt/pen/ELYrVoПробовал назначать по классам и выбирать их, не реагирует
>>1175747Тут помогло бы:document.getElementById('dummy')[0];document.getElementById('dummy')[1];document.getElementById('dummy')[2];
>>1175747Во-первых, согласно html спецификации, id должен быть уникален для каждого элемента. Если ты хочешь выделить группу похожих друг на друга элементов, используй class.Во-вторых, не навешивай js-события в инлайновый html, это плохо пахнет. Пусть в html будет разметка, а в js — интерактивность. Для этого есть метод addEventListener.В-третьих, в современных браузерах поддерживается классный метод elem.remove() вместо ебучего elem.parentNode.removeChild(elem).Короче я бы сделал может как-то так.https://codepen.io/anon/pen/VxZgQO
>>1175747Я вообще нуб, нихуя жс не знаю. Но предложу такой вариант https://codepen.io/anon/pen/BxBMMQ?editors=1111работает, но 300к-аноны могут найти какие-нибудь изъяны с высоты своего опыта
>>1175759Ты крут
>>1175753>>1175747>>1175765Спасибо, чуваки! Ожидал закидывания говном, а мне прилетело 3 бодрых ответаХочу ещё кнопку одну добавить туда же типа "Добавить интерес", которая добавляет такие же баттоны, подскажите, в каком направлении гуглить?
>>1175759fixТебе отдельное спасибо за комментарии в коде
>>1175769ага, и больше не пишу на JS :)Но это я не отговариваю учиться. Очень крутая, мощнейшая экосистема вокруг JS. Язык, который стоит учить. Дохуя денег платят, хорошие карьерные возможности, а потом сам поймёшь, куда дальше двигаться.
>>1175772А давай я тебе усложню задачку.https://codepen.io/anon/pen/vjBPZXКнопка «Добавить интерес» добавляет интерес в список интересов. Для каждого пункта есть рядом псевдо-ссылка, удаляющая его из списка.Если инпут пустой, ничего не добавляй.Задание «со звёздочкой» (основы вылидации):1) Если чувак попытался нажать кнопку при пустом инпуте, сделай alert('Ты пидор')2*) Если чувак попытался добавить интерес, который уже был добавлен ранее, сделай alert('Лечи склероз')
>>1175782Вдобавок: разрешается менять html-разметку по удобству, добавлять классы, тэги, и т. д.Для пункта 2 точно надо будет тэг добавить. Для остальных мб классы и так далее по вкусу.
>>1175782>>1175779Я так понимаю ты тот анон с комментариями в коде. Задачку взял в разработкуОставишь телегу/скайп/любое фейкомыло?
>>1175785revengeforjane@gmail.com
>>1167958 (OP)Что можно сделать нв реакте чтобы взяли на работу? Вышке нет, вкатывась в реакт
>>1175795бочку
>>1175782Такие вещи надо уже делать на vue или на реакте.Иначе бессмысленное пердоленье с dom получится.Или пилить свой MVC, лол.
>>1175802Хуйцы же.А бочку - соснуть.
>>1175765Чего только люди не придумывают, чтобы не пользоваться jQuery.
>>1175811Блядь, не туда.Это вот сюда: >>1175759
>>1175806>Такие вещи надо уже делать на vue или на реакте.>Иначе бессмысленное пердоленье с dom получится.Ты скучный, зелёный, и вообще пошёл нахуй. Ещё (надеюсь) остались люди, которые хотят стать толковыми разработчиками.
>>1175824Я прагматик.А толковым разработчиком я давно уже стал.Но, конечно, лучше, если человек сам дойдёт до понимания, что просто так, ad-hoc, ковыряться в dom - это не кошерно, и надо как-то это систематизировать.
>>1175747Пиздец тут насоветовали. https://codepen.io/anon/pen/qYBEmm
>>1175827Я не тот чел которому ты пишешь, но отвечу. Там задание то ведь обычное и изичное. Даже туду не назову. Там 50 строк кода будет, из которых 30 просто работа с ДОМ: создать элемент, добавить класс\айди, засунуть элемент. А остальные строки это проверки. Вот и все. Ради такого не надо подключать реакт, вью или ЖК.
>>1175948>Там 50 строк кода будетДа, и все их придётся переписать при небольших изменениях в ТЗ.А потом ещё раз.И ещё.>Но, конечно, лучше, если человек сам дойдёт до понимания, что просто так, ad-hoc, ковыряться в dom - это не кошерно, и надо как-то это систематизировать.
>>1175795что-нибудь с асинхронными запросами или ТЕСТОВОЕ.
>>1175772 -изучающий ЖС анон репортинг инhttps://codepen.io/JavaHutt/pen/zjYNvyВобщем копаясь в стаковерфлоу, пытаюсь что-то делать по своей задачке, но всё не гладкоВроде бы новым баттонам присваиваю класс removable, но удаление по клику не срабатывает как с предыдущими кнопками. Обработчика событий в инспекторе на новые кнопки вообще нет..Алсо есть какой-то способ новые элементы помещать вначале блока, а не в конце?
>>1176048>есть какой-то способ новые элементы помещать вначале блокаinsertBefore(вставляемый элемент, родитель.firstChild)
>>1176048топ тян
>>1176083https://codepen.io/JavaHutt/pen/rvNJemПеределал вообще всю систему.. кнопки ремувит, но как insertBefore внедрить понять не могу
>>1173135Кнпочка TAB.А так загугли beautify javascript, миллионы их, как онлайн так и оффлайн.https://github.com/mishoo/UglifyJS например или http://jsbeautifier.org/
>>1176123Тебе же выше писали, что инлайново вешать функции — не круто. Сделай как было раньше, а при создании новой кнопки вешай на нее eventListener отдельно. между кнопками которые добавлялись скриптом не было отступа потому что они расположены инлайново и между ними нет текста, а в первых трёх он есть, это переход на новую строку, вот, если хочешь, чтобы был отступ – сразу добавляй текст ноду
Блять, что за говно ваш карриинг, почему сука функции создают функции, которые создают функции, которые создают функции. Идите нахуй, говно ебаное. Нахуй это надо, когда можно просто взять 3 ебаеных аргумента в скобочки и не ебать мозги с этим говном ебучим.
>>1176182Самому-то не стремно от собственного неосиляторства?
>>1176190твоя мать шлюха, а это говно придумали пидодрасы из фейсбука чтобы россию развалить
>>1176194Держи нас в курсе.
>>1176197Передавать сука! функцию, как аргумент, ебаные мудоебы, твари недотраханные, рендер сука, ахаххах, просто блять жирная мать шлюха не влезла в пропсы, вот они и высрали это говно
>>1176198Продолжайте наблюдение, мы с вами свяжемся.
>>1176203Да я заебался, я каждый раз пишу ебучее говно = говно=>моча=>тупое говно тупого говнаИ нихуя не понимаю как это работает. Ебучий контринтуитивный паттерн, нахуй он вообще нужен. Сколько блять месяцев еще надо писать это хуеговно, чтобы привыкнуть
>>1176182у меня там при добавлении новых кнопок им приписывался класс removable, но почему-то это не считалось элементом массива removableButtonsЯ не понимаю как это работает, поэтому "крутизной" пришлось пожертвовать и добавить инлайнА вот вопрос про инсерт всё ещё в силе
>>1176207вот это было сюда >>1176171
>>1176207Сделай это на jQuery. Гораздо проще будет.А потом - попробуй сделать без, если захочется.Сейчас набегут мамкины прогрессисты и расскажут, что jQuery не нужно в 2018-м.Не обращай на них внимания.Алсо, я не спроста тут несколько раз упомянул MVC.DOM должен быть вторичен - это всего лишь отображение.Т.е. лучше добавлять объект "интерес" в массив интересов (или удалять из него), а потом рендерить это в DOM. Руками или с помощью шаблонизатора (JsRender).Тебе же не сами по себе эти кнопки нужны, правда?
>>1176303пусть лучше на реакте напишет, там как раз можно онклики навешивать в дом)
>>1176303>>1176311Спасибо вам, но я реально новый в js и программирование вцелом, хотелось бы разобраться в нативе для начала.Кому интересно, переписал в очередной раз всё заново, даже вперёд смог поместитьhttps://codepen.io/JavaHutt/pen/ZoEVLzЕдинственная проблема что он не отрабатывает условие, при котором я ввожу пустое значение в промпт
>>1175966Прежде чем учить матан, надо выучить таблицу умножения. Базовые операции с DOM — это таблица умножения.И да, иногда даже в реакте приходится спускаться на уровень ниже и работать с DOM. Уровни абстракции надо поднимать постепенно, начиная с основ.Мартышка, которая и может, что использовать реакт — не разработчик. Норм разработчик, если надо, сам тебе напишет свой реакт.
>>1176206Это просто нужно liftN сразу в мозг.
>>1176351Давай по порядку1) addInterestButton — вот так к DOM элементам не надо обращаться. Используй document.getElementById или document.querySelector2) onclick='this.remove()'Давай теперь перепишем всё без инлайновых onclick. Только addEventListener.3) var newDiv = document.createElement("button")это же не <div>, это <button> :3. Почему не var newButton = ...? 3) Когда справишься с этим, я бы всё же рекомендовал вернуться к оригинальной вёрстке задания. Там и html инпут был, и псевдоссылка для удаления. В общем, поинтереснее
>>1176361Да ну, что плохого быть мартышкой с трехзначной зп. А вообще в реакт доках есть инфа как его написать самому) если серьезно, то я считаю, что нет разницы учить ли сверху вниз или снизу вверх,по эффективности по крайней мере. Но мне было интереснее начать с реакта. Тк он проще
>>1176351>не отрабатывает условиеСделай if (newContent.length) {...}
>>1176303Ты говоришь про state management. Это пока вторично, следующий этап. Надо для начала разобраться, какие бывают элементы, какие события и узнать несколько базовых DOM-методов.Для простых сайтов/страниц стейт менеджмент вообще не нужен, как и сложные фреймворки с сотнями зависимостей. Можно очень элегантно на нативном JS делать простые вещи.Когда будет уже какое-то сложное приложение с логикой, тогда можно будет и о state management, и о фреймворках задуматься.
>>1176371Есть разница. Мартышка, которая привыкла учиться, пробегаясь по вершкам, не докапываясь до сути, может и достигнет трёхзначной зп, но с большой вероятностью так и остановится на средненьком уровне. В начале первой сотни, если тебе так нравится всё мерить зп.Люди, предпочитающие фундаментальный подход к обучению, постараются разбираться в сути того, что происходит, и делать вещи, понимая, как они работают. Таким людям будут доверять строить реально сложные системы, принимать решения. Это уже путь ко второй-третей сотне.
>>1176351>>1176374>не отрабатывает условиеБля, я таки дал себе труд прочесть то, что ты там написал.Тебе сначала надо получить строку из prompt, проверить её - if (newString) {...} и, если она есть, то создавать text node.А всё потому, что переменные надо нормально назвать, лол. Новый text node - значит newNode или newTextNode, а newContent я принял за строку чисто на автомате. И эта блядская хипстерская тёмная тема ещё.
>Давай теперь перепишем всё без инлайновых onclick. Только addEventListener.Сорри, не укладывается в голове как это сделать. Не первые сутки уже с этой фигнёй работаю, как только не подлазил, мозги кипят реально уже :\ И ты тот самый квестгивер, я тебе писал на фейкопочту, а ты не ответил
>>1176392>не укладывается в голове как это сделать.Почитай про то, как работают события в браузере.Если коротко - надо назначить всего 1 обработчик на контейнер, в котором у тебя будут создаваться твои кнопки. Или вообще на документ. А в обработчике проверять, откуда событие.https://stackoverflow.com/questions/34896106/attach-event-to-dynamic-elements-in-javascript
>>1176405https://codepen.io/JavaHutt/pen/ZoEVLzобновил, с горем попламТак долго в монитор с тупым лицом я давно не пялился
>>1176417>var newString = document.createTextNode(prompt('Новый интерес',''));Что ж ты делаешь, лол.var newString = prompt('Новый интерес','');if (newString) { var newTextNode = document.createTextNode(newString); var newButton = ...; ... ...}
>>1176417>newButton.addEventListener(...)Так можно, в принципе. Всё работает.Но, зачем каждой кнопке свой новый обработчик, если можно обойтись одним общим?Когда выспешся - вот это прочти ещё раз: >>1176405
>>1176417Хм, а и сойдёт ведь :3С горем пополам, молодец.>>1176370Давай теперь сначала к п. 3) из этого поста, пободрее будет.>> 1175782А потом добавь валидацию из изначального задания, и будет вообще хорошо1175782-анон
>>1176428> зачем каждой кнопке свой новый обработчик, если можно обойтись одним общимНу это честно уже вкусовщина. В конкретной ситуации правда похуй. В реальном проекте можно так, можно эдак, по ситуации смотришь на структуру компонентов. Ящитаю на данном этапе решение анона вполне принимается.
>>1176392Хе, и правда, писал. Ты не подружился с гугловским спам-фильтром, лол. Буду проверять спам тоже.
>>1176392>>1176434Ответил. Я нихуя не пойму, доставлено, нет, там загружается бесконечно. Ебучий РКН, не проссышь, то ли просто тормозит, то ли очередной гугловский сервак заблочили.
>>1176443Пользовался бы божественным mail.ru, то не было таких проблем
Сап, проверьте, пжлста, у вас behance открывается?У меня грузит главную, но не прогружает скрипт с cdn a5.behance.net со вчерашнего вечера. Провайдер МТС. Айпишника cdm в реестре нет. Отпишитесь плиз.
>>1176379Не думаю, что будет, что-то плохое, если отучиться фундаментально на другом уровне абстракции и потом перейти на более низкий. С реакта и легкого ес6 сахара на жс и работу браузера. Или с си на асемблер. Или с арифметики к матанализу. Почему бы не учить первее, то что учится проще и быстрее, а потом наиболее сложные не самые практичные вещи.
>>1176379Никто не изучает ничего начиная с фундаментальных вещей.Ты не изучаешь сначала фонетику, чтобы начать говорить.Физики не начинали изучать физику с изучения ее законов. Они начинали с наблюдения естественных процессов в быту. Ты не начинаешь изучать электронику с проектирования микросхем, ты сначала знакомишься с электроприборами.
ИТТ школозавры пытаются запилить свой первый тудулист, рассказывая, что каждый из них техлид "с трехзначной зарплатой"
>>1176544А вот и нет, у меня уже первый проект намечается! Буду верстатьтть
>>1176544Именно что с трёхзначной, лол.
>>1175984>>1175795Вообще похуй что. Хоть даже тудулист ебашь, если ты ньюфаг и не работал над серьезными проектами.Тебе важно показать что ты а) знаешь современный стэк реакта б) готов и любишь разбираться со всякими костылями, потому что в реакте их навалом.Вот тебе списочек:- react-router- react-redux / mobx- react-redux-router- redux-thunk/redux-saga/redux-observable- redux-actions/redux-batched-actions- reselect- normalizr- lodash/lodash-fp/ramda/ImmutableJS, - fetch/isomorphic-fetch/axios- flow/typescriptмимо-работал-со-всем-этим-дерьмом
>>1176935это я еще про серверный рендеринг забыл, да..
>>1176935Это тудулист надо делать со всеми этими перечисленными вещами? Или для начала react-redux достаточно?
>>1176939Это всё нужно для того, чтобы запилить хотя бы бойлерплейт.
>>1176939неттам где я поставил слэш - значит можно выбрать одно из, т.е. это либы для одного и того жечто тебе брать - дело твое, но ты должен хотя бы поверхностно представлять концепты и зачем кто то вообще всю эту йобу написал
>>1176935>длинный список всякой неведомой хуйни>>1176942>и зачем кто то вообще всю эту йобу написалВот это вот самая главная загадка - нахуя они пишут тонны этого бессмысленного говна?Они, блядь, про бритву Оккама слышали вообще?И это говно потом просто дропается, и пишется следующее инновационное говно.Это какая-то разновидность распила, мне кажется.Как можно всё это использовать в продакшн вообще, если только ты не тсукерберг с охулиардом долларов на тысячи жс-обезьян?
>>1176942Спасибо большое
>>1176935В каком порядке это усваивать?Это типа основы?- axios- redux-saga- react-routerВот эти 3 штуки чисто, чтобы редаксокод был красивым и оптимизированным?- reselect- normalizr- ImmutableJS- redux-actions вкусовщина или рили удобная штука?остальное я погуглил и так понял, что очень опционально?- react-redux-router насколько эта хуйня важна, если уже есть обычный роутер?- lodash/ramda отсюда обычные не фпзадроты юзают функций 5-10 же?Остальное какое-то нестандартное уже кажется.
Начинающим и продолжающим реактоёбам - охуенная книжка:http://www.allitebooks.com/react-quickly/
>>1176981ЗАПРАШИВАЕМЫЙ IP ЗАБЛОКИРОВАН
>>1176990???У меня норм открывается.Там реклама только, но uBlock и блокировка попапов убирают всё без проблем.Можешь ещё отсюда скачать:http://scanlibs.com/react-quickly-painless-redux-graphql/Прямая ссылка:http://turbobit.net/9gqv819yi71s.html
>>1176981Спасибо большое, дорогой анон
>>1176973>Это типа основы?Типа да>Вот эти 3 штуки чисто, чтобы редаксокод был красивым и оптимизированным?Красивым врядли, но оптимизированным.>redux-actions вкусовщина или рили удобная штука?Оба варианта верны. Я бы рекомендовал сперва с обычными экшнами разобраться.>react-redux-router насколько эта хуйня важна, если уже есть обычный роутер?Важна если ты хочешь что бы переходы тоже отображались в твоем сторе. Что бы можно было просто написать store.dispatch(push('/foo'))>lodash/ramda отсюда обычные не фпзадроты юзают функций 5-10 жеЗависит от скила
>>1176973Я конечно ФП-задрот, но бери рамду, она реально лучше. Изначальный порог вхождения низкий, постепенно начнёшь юзать больше.>react-routerНу это очевидно для SPA. Дам подсказку: SPA — это перехайповавшее дерьмо. В 99% случаев оно нахуй не надо, а требует значимо больше времени и сил. Но если действительно реалии бизнеса требуют SPA (почти точно нет), то тогда надо разбираться, хуле. Но это далеко не единственная проблема у спа-неудачников.>redux-thunk/redux-saga/redux-observableвот из этих трёх я бы рекомендовал миновать нахуй redux-saga. Thunk простой и минималистичный, если его не хватает — тогда пора заботать Observable и начать юзать их. Не пожалеешь, RxJS — мощь.Ботать можно в таком порядке:ReactReact чо-нибудь посложнееReact ещё чо-нибудь посложнееredux халявуredux посложнееredux-thunkЭтого хватит для большинства несложных веб-приложений. На остальное пока забей, напиши чо-нибудь реальное на этом стеке.
>>1177002>ФП>рамду>это перехайповавшее дерьмо. В 99% случаев оно нахуй не надоПофиксил.
>>1177002>thunkпоясни зачем делать асинхронный диспач?делаю асинхронный экшон и все как надо работает, чем плох этот код?async function set_list() {const list = await get_data()store.dispatch({ type: types.SET_LIST, list })}
Как портировать готовую браузерку под мобилки?
>>1176993спасибо, я просто на тему блокировок решил пожаловаться, так-то я нашел, хотя хз как эти книги юзать, доки + практика обычно лучше заходили, а щее лучше видосы>>1176995можешь объяснить >переходы тоже отображались в твоем стореЭто ты типа адресную строку в сторе можно хранить дублируя? и вместо хистори.пуш писать диспатч.пуш? в чем смысл?>>1177002я наоборот не понял ничего в танках, в сагах конечно тоже генераторы какие-то, но их бойлерплейт использовать просто и структуру выдумывать не надо, если с ними работаешь.>>1177075а оно правда работает? Такое норм переиспользовать? а то я не шарю в ес1488
>>1177152Никак, лол.Надо было сразу под мобилки писать, mobile-first, слышал о таком?
>>1177208Это хорошая книга.Понятно объясняется куча неочевидных вещей.Но, надо именно читать, а не просто смотреть примеры кода.И там есть видео для каждой главы.Даже с QR кодом, чтобы можно было и из бумажной книги открыть.Плюс, есть код на гитхабе, естественно.
>>1177262Спасибо.Ты уже докуда дочитал? Интересно, что в этой книге есть поверх доков реакта, посмотрю мб главу про скейлинг сегодня.Ребят, подскажите как верстать на реакте, какую структуру файлов выбирать, подскажите кто-нибудь ваш набор либ под сss. Я пока только класснэймс знаю и стайлд-компонентс, но второе лид не разрешил юзать на проекте))нужны ли либы типа реакт-моушн? почему их вообще юзают люди вместо обычных сss анимаций?
>>1177297пример бы проекта какого-нибудь мидла
>>1177297Ну, учитывая, что её выложили 2 дня назад, а скачал я её вчера вечером, то пока только пролистал и прочёл некоторые понравившиеся места.Написано хорошим языком, читается легко.Много объяснений типа "зачем" и "почему", а не просто "как".Кстати, в своё время я её хотел купить (пока она в MEAP была). У Маннинга бывают регулярно 50% скидки.Но, прередумал, почему-то.Я тогда увлёкся Vue, т.к. не был готов погрузиться в глубину современного js тулинга - бабели, вебпаки и прочие радости (у меня java ee backend).
>>1177297>какую структуру файлов выбиратьПри наличии библиотек импорта-экспорта — любую выбирай.А без них — создаётся файл «items.jsx» и сразу же рядом с ним каталог «./items».
>>1177336>не был готов погрузиться в глубину современного js тулингаА я так и не погрузился, хотя работаю с последним Реактом 16.3.2.
>>1177339В смысле?JSX не используешь?ES2015+ тоже?Flow?Меня даже не столько сам по себе тулинг смущал, сколько то, что вместо привычной одной jsp страницы + includes из общего каталога, надо городить для каждой страницы целый огород. Я не был морально к этому готов тогда. Ну и jsp само перекомпилируется при изменениях, а тут - надо что-то мутить, и т.д. Но, на самом деле - всё это решаемо.
>>1177342Я уже кидал ссылку, просто не хочу хвастаться...Взял за основу TodoMVC и запилил из него http://www.r-5.org/books/computers/all-js/>JSX не используешь?Использую обыкновенный JSX Transformer,>ES2015+ тоже?Остановился на функции «createReactClass()» чтобы создавать классы с миксинами,>Flow?Может и использую, но не догадываюсь что это такое...>одной jsp страницы + includes из общего каталога, надо городить для каждой страницы целый огородКак раз библиотеки для импорта-экспорта позволяют всё сложить в один каталог. Но мне лично — не нужно. Я не на том уровне.
>>1177346>Flow?>Может и использую, но не догадываюсь что это такое...https://flow.org/Это приблуда, делающая статическую типизацию в JS. Что-то вроде Typescript, но для JS. При транспиляции типы проверяются (и в IDE тоже видно подсказки), а потом выбрасываются из кода, и остаётся чистый JS.Я им тоже пока не пользуюсь, но планирую начать.Сейчас использую JS Doc (с обычным ES5) - в IDEA видны подсказки о типах.Удобно, но, это очень минималистичный вариант.Например, нельзя нормально задать тип свойства-функции, только просто function. И неудобно всё это писать в куче мелких комментов на каждую переменную, код засирается.Статическая типизация - must have для большого проекта.Особенно - делаемого малыми силами.И не только из-за контроля ошибок.IDE показывает использование, облегчает рефакторинг и т.д.Короче - заменяет пару дополнительных макак.> www.r-5.org/books/computers/all-js/Да, видел, но не вникал. Надо посмотреть.
Котаны, подскажите пожалуйста, я дерево.Я изучаю джава скрипт, осилил учебник Кантора.Задрачиваю react. Собрал свою страничку.Но я нихуя не могу написать сам, бладж.Как только нужно написать какую нибудь вещь самостоятельно, какой нибудь сложный компонент с логикой, какое нибудь не обычное меню, допустим все - пиздос, я затупливаю насмерть.Что почитать мне? JS шаблоны ?
>>1177351>Что почитать мне?Чужой код.И чаще писать свой.Постепенно начнёт получаться.
есть вариант как посмотреть трек, не ждав 5 дней?
>>1177351Так и не понятно где именно у тебя тупняк начинается
>>1177360Да что тут непонятного.Это нормальная ситуация для начинающего, в любом деле.Умом человек понимает, а на уровне рефлексов - ещё не усвоил.Поэтому и нужно сначала просто копировать других.Т.е. переписывать чужой код, потом менять его, потом писать свой. И это требует времени.Потом будет проще, по мере накопления опыта.
>>1177208>Это ты типа адресную строку в сторе можно хранить дублируя? и вместо хистори.пуш писать диспатч.пуш? в чем смысл?Смотри. Идеалогия редукса- единое, детерменированное хранилище состояния твоего объекта. В любой момент времени работы приложения ты можешь заглянуть в в стор и понять, что делалось, как получилось это состояние и т.д. Благодаря иммутабельности ты можешь "путешевствовать во времени", ведь тебе надо просто откатить свой стор на n экшнов назад.И вот вдруг у тебя есть роутер. Он живет своей жизнью, навигация по аппу никак не отражается в хранилище. Ты больше не можешь открыть свой стор и получить 100% инфу о приложении. Ты не можешь точно понять, что пошло не так если оно вдруг пошло. В этом и суть.Ну а если на практике:во-первых ты не дублируешь хистори. Это хистори теперь получает инфу из редакса.во-вторых тестирование. Ты можешь легко написать тест на переход, просто сделав диспатч в фейковый стор и сравнив состояние. Т.е. твоя бизнес логика подчиняется общим правилам, а не живет где то сама>я наоборот не понял ничего в танках, в сагах конечно тоже генераторы какие-тоВсе просто на самом деле. Thunk - мидлваря которая чекает тип экшна. Если видит что пришла функция - вызовет эту функцию и передаст ниже результат работы функции. Пихаем туда промис и получаем свои асинхронные действия.Saga - в корне иной концепт. Это такой большой брат, который слушает экшны. Каждая сага - это генератор, тоесть она висит в подвешенном состоянии и ждет. Как только поступает экшн, который ждет эта сага - она запускается и отрабатывает. Что она будет делать - вообще что угодно. Это один из минусов саги - она слишком мощная, она может пустить что угодно куда угодно, например записать данные в стор взяв их из того же стора (считается антипаттерном), может запустить в бэкграунде любую операцию, или кучу операци. Может задиспатчить любые экшны с любыми данными. Считай это отдельный слой с бизнес-логикой.
Анон, я вкатываюсь в JS с C++, потому что в моей мухосрани 10 вакансий для крестухов против 66 вакансий для веб-макаки. Посоветуй ресуры и задачи для:1) Изучения JS2) Лучший фреймворк для тестирования3) Фреймворки типа JQuery, которые точно пригодятся в работе4) Тулзы для разработки
Пытаюсь понять как работает метод reduce.На http://learn.javascript.ru/array-iteration написано одно, а на mdn совсем другое - https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/ReduceПочему так?
>>1177438Лень вчитываться в эту хуйню, в чём ты увидел разницу, вроде одинаково всё?
>>1177438все там правильно написанометод идет по массиву и для каждого элемента вызывает колбек. В колбек поступает результат вызова этой же функции для предыдущего элемента, а по заврешению то что сделала функция становится предыдущим результатом для следующего и так до конца.Например можно трансформировать массив в объектarr.reduce((prev, key) => ( ...prev, [key]: 'some value'), {});или сложить все числа в массивеarr.reduce((sum, next) => sum + next, 0)>>11774291) learn.javascript.ru, Eloquent Javascript, JavaScript-Garden2) Mocha + Chai3) React, Lodash, Nodejs4) VSCode/Webstorm
>>1177444arr.reduce((prev, key) => ({...prev,[key]: 'some value'}), {});скобочки забылсамопочин
>>1177398Спасибо бро. Вообщем не стесняться ковырять чужой код. А то я упорот сам перерешал большинство задач с учебника кантора. Мой первый слайдер картинок - это было что то монструозное, с кучей обработчиков событий и отменой обработчиков событий пока идёт анимация
>>1177444Спасибо за разъяснение, анон.
>>1177449на codewars себя не пробовал? решаешь задачу, когда решишь - смотришь топ лучших решений этой задачиправда иногда унизительно смотреть на чужое решение в пару строк кода, а потом на свой абзац говноперфоманса. Зато многие трюки для себя открываешь.
>>1177467Попробую. Знания какие то есть по js , а практики не хватает соаювершенно. Вот разобрался я как допустим итераторы работают. А хули с этого толку? ) Или вот - понятны мне промисы, а я на колбеках ниче путного не напишу. Короче попиздую на кодеварс
Вечер в хату, шебмы, заясните за тжри вопроса.1) Поясните, то, как открываются шебмы это и есть HTML5-стриминг видео? Ну или как здесь - http://easyhtml5video.com/assets/video/new/Penguins_of_Madagascar.webmвместо того, чтобы скачать файл, браузер открывает приблуду для воспроизведения видео.При этом сервер отвечает не просто http 200, а 206 partial content и заполняет хедеры типа Content-Range, заясняя за количество байт. При этом если двинуть ползунок воспроизведения, то браузер отправляет гет, заполняя реквест хедер Range:bytes=4653056- поясняя с какого байта давать контент.2) Как это реализовано на стороне сервера? Просто метод в контроллере, который хавает передаваемый Request и отдает реактивный стрим байтов под знаменем http 206, а браузер уже сам разбирается куда эти байты пихать? 3) Откуда сервер узнает размер буфера после заполнения которого надо остановить передачу байтов? Я открываю видео, передается request bytes 0- и все. При этом весь файл не скачивается.
>>1177208все работает, на проде. но есть сомнения, может я что то не так делаю? сомнения появились почитав про эти саги и танки - ну не зря же их люди запилили!?
>>1177503upd. но почитав про саги и танки не уловил какого то сакрального смысла в их использовании, это же ведь просто сахар? или я не прав?короче сомнения
>>1177507>>1177503Данилка для вас все расписалstackoverflow.com/questions/35411423/how-to-dispatch-a-redux-action-with-a-timeout/35415559#35415559
>>1177404Спасибо теле большое, анон, вот я никогда не заглядывал в стор, чтобы понять, что делалось, как путешествовать во времени в редаксе то вообще, я ни в каком гайде не видел кнопку реду анду? И как иммутабельность этому помогает, редакс что сохраняет ссылки на все старые объекты в памяти? Это же дохуя ресурсов тратится.
>>1177581Поставь redux-devtools, там есть слайдери много чего еще> редакс что сохраняет ссылки на все старые объекты в памятиВ этом суть иммутабильности. Дохуя ресурсов не тратится потому что эти сторы тащем то довольно маленькие объекты. Ты же не милион записей копируешь.
Пиздец я сегодня напердолился. Вкратце, суть: в зависимости от того, как назначаешь свойство объекту, свойство может измениться У ВСЕХ объектов в массиве на заданное.Пытался повторить, но че-то не получилось, в консоли браузера все работает как надо. Хотя я не копировал данные идентично тем, с которыми работал, потому что заебался это дебажить. Код упростил по-максимуму. Собственно, вот он:[code]const position = { x: 0.123, y: -0.123, z: 0.321 }const updatedImage = { id: image.id, url: image.url, title: image.title, cameraPosition: { x: pos.x, y: pos.y, z: pos.z }, // - this works wtf: pos, // - this will be updated for ALL images that has this property, HOW IS THAT POSSIBLE? wtfspread: { ...pos }, // - this works};images[index] = updatedImage[/code]Че за хуйня, двач? Это бабелепроблемы или я неправильно пользуюсь жабаскриптом? Ладно бы там ошибку какую кидал, но это же просто какое-то безумие, я меняю только один объект (пробовал и object.assign'ом, чтобы не мутировать - та же хуйня), какого хуя он трогает остальные?
>>1177616pos = position
Можно ли как-то на маке дать возможность ноде запускать сервер на <1000 портах (в частности, конечно, 80 и 443 интересуют) без рута/sudo каждый раз? Аналога линуксового libcap2 для posix 1003.13, с которым, вроде как, можно настроить такие отдельные привилегии, я что-то не нашёл.
>>11776181003.1efixВпрочем, сам решил — https://medium.com/@steve.mu.dev/setup-authbind-on-mac-os-6aee72cb828
>>1177582Ну а если в сторе ссылка уже пропала, объект не нужен, его же сборщик мусора собрать должен? Неужели редакс внутри как-то ПРЯМ ВСЁ это оставляет?Почему в обычном апи редакса нет реду-анду, те иммутабельность в редаксе дает возможность делать свои анду-реду, но не дает какого-то бойлерплейта?
>>1177670Редакс даёт тебе минимальный скелет.
Накатал тут скрипт для вытягивания данных со страниц. С помощью какой либы это тестировать? Буду добавлять другие страницы - не хочу сломать что-то в старых. На входе у меня мой скрипт и сохраненные html-ки. В инфраструктуре js не разбираюсь - потому спрашиваю.
>>1177670>те иммутабельность в редаксе дает возможность делать свои анду-реду, но не дает какого-то бойлерплейта?Это делается через композицию редьюсеров.Что вполне нормально - юникс вей, вот это вот всё.Зачем раздувать?https://github.com/omnidan/redux-undo
>>1177429JQuery это не фреймворк, а библиотека.
>>1177762реакт тоже 0)0))
>>1177888А если с редаксом то уже фреймворк!
Как поместить в хтмл5 холсте повторяющееся изображение, чтобы можно было менять его координаты?
>>1177907Олсо нужно для игры. Не знаю вообще правильный ли это подход, если нужно чтобы была текстура пола, и по ней ходить.
>>1177682Ну где же вы сениоры, сениоры, сениоры?phantomjs + karma (как тест-раннер, как я понял) подойдут?
>>1177955Nightwatch.js
>>1177982version 0.9.20ну ёб твою
>>1177910Попробуй вот это читни, там 52 страницы всего:http://www.allitebooks.com/instant-html5-2d-platformer/И вот это:http://www.allitebooks.com/pro-html5-games-2nd-edition/Ну и в гугле полно туториалов по играм на канвасе можно найти.
блин я так и не понял зачем нужны saga и thunk для редакса. можете пояснить по хардкору?
кстати недавно сделал такую хуйню и никто не умер: унаследовал компонент переопределив его методы с вызовом super(); незнаю как для вас, а для меня это открыло js как язык на котором оказывается можно писать больше чем туду)
>>1178009Не, это слишком. Как сделать повторяющуюся картинку?
>>1178060это, погоди, а вчем трабла? берешь картинку какбэ и повторяешь с таймаутом
>>1178064Это медленно будет и непонятно как двигать по координатам. Если координаты отрицательные, то вообще будет ошибка?
>>1178046иди гугли composition over inheritanceесли коротко - в этом просто нет смысла, если мы говорим про реакт
>>1178071Зачем ты это вообще спрашиваешь? Возми и захуячь картинку с отрицательными координатами, и увидишь что будет. Это делается за минуты. Зачем ждать часами или днями пока тебе тут кто-то ответит?
>>1177501Разобрался со всем сам. Хуй на вас ложить.
Не заходил в интернеты дохуя месяцев. И вот решил дай думаю че хорошего есть. Наткнулся на ангуляр2, установил. Аноны я влюбился, реально сердечко заколотилось. Ахуел как майкрософты из говна(js) слепили конфетку(ts) и гугловцы из этой конфетки захуярили пряночный домик(angular). Прямо сразу как увидел, хуец привстал. Такой стояк только на джабку до этого был. Короче дальше рассказываю, покапался немного в ангуляре, наткнулся на проблему что так как все динамическое, это счастье нихуя не индексируется. Ну ок, загуглил юниверсал, что сервер скармливал статику. Таким образом на node.js вышел. Ну думаю хули нет, стоит того, тоже посмотрю что да как. Вещь перспективная, к тому же дохуя плюсов что один язык, кроссплотформенность. Короче и правда, вдруг js - язык будущего, а я как даун с пыхом работаю. Ну ок значит, захожу на ноджс первым делов вижу var module = require("module"); Немножко подташнило, но сдержался, дальше вроде как полегче и привык получше. И не такое на пыхе видал в свое время.Ну вот балуюсь с нодом и тут вспоминаю что я ебанное нубло с чистым жсом и что дальше жквери мои руки не доходили. Ок думаю, недело быть фулл js девелопером и не знать что там под копотом происходит.Решил отложить мою красавицу ангуляр и как говориться опуститься на дно. Скачал книжку https://www.amazon.com/Secrets-JavaScript-Ninja-John-Resig/dp/1617292850 и читаю.Как же мне хуево аноны, я прямо сразу вспомнил почему я это говно дальше пятиметровой палкой в виде jquerry не трогал. Вот почему как читаешь книжку про жаву это как изучать тело молодой красавицы, порой сложно но сука приятно и когда изучил на душе хорошо и красиво. А когда блять изучаешь ебанный джаваскрипт это как изучать тело франкинштейна, никакой элегантности блять, зато куча АХУЕННЫЙ ФИШЕК СВОЙСТВЕННЫХ ЯЗЫКУ(ебанутой хуйни). На 1 блять фичу 10 кастылей которые блять есть потому что а хули бы нет. Короче 1/4 книги прошел, вроде как и понятно что к чему, но никакого чувства прекрасного на душе как при изучении жабочки и близко нет. До этого я в этом болоте на мели плавал, а щас погружаюсь на дно. Может конечно со временем привыкну, но хз. Но пока запашек то вокруг меня стоит злавотненький и дышать тяжеловато...
Ркн заблочил jsfiddle это пиздец, товарищи эту страну уже ничего не спасет.
>>1178316расстрелы спасут
>>1167958 (OP)Посоветуйте, как правильно вкатываться в веб после C++. Что учить сначала, что потом? Какие проекты писать? Где учиться бест практисам?Сейчас я изучаю голый JS. Сам язык довольно простой после C++. Как выучить фреймворки и потратить несколько месяцев до поиска работы наиболее эффективно?
>>1178320Алсо, пишу todo-list на голом JS+HTML/CSS. Как улучшить свой проект до уровня продакшн?
>>1178321а с бекендом что у тебя? Nodejs?
Что считаете насчёт Академии Яндекса?У них там 4 интенсива: вёрстка, тестирование, жс и аппликашки.
>>1178322>Nodejs? Да.
>>1178331ну если с чистым джесом разобрался можешь фреймворк себе подбирать. https://medium.com/unicorn-supplies/angular-vs-react-vs-vue-a-2017-comparison-c5c52d620176Олсо, у тебя твой пробный проект без перезагрузки страницы или с? Если с перезагрузкой, то смотри Ajax сначала. А так хз что еще, просто идешь в гугл и смотришь как надо и как у тебя получилось. Тут велосипед изобретать не надо, это все довольно поточно.
Подскажите иду ли я по правильному пути, курю хтмлакадеми базовый интенсив и параллельно учу инфу с learn.javascript.ru, но мне кажется, что я где-то проебываюсь, че еще читать/смотреть, чтобы стать ахуенным
>>1178412Правильно. Как докуришь эти вводные курсы, уже смотри в сторону.
>>1178303У меня примерно такие же чувства были, когда я изучал JS. Язык грязный и не элегантный, но потом привык, хотя все равно не долюбливаю его. Ну это как с запохом говна, сперва сильно воняет, потом через какое-то время привыкаешь, но говно остается говном.
>>1178417>Ну это как с запохом говна, сперва сильно воняет, потом через какое-то время привыкаешь, но говно остается говном. Нупомнило C++.
Здраститя.Допустим есть вебсайт, который отдает инфу по ссылке вида https://site.com/name=pisya1. Как мне считать раз в день допустим три имени сразу pisya1, pisya2, pisya3 и получить хтмл этих сраничек? Как вообще приступить к тако проблеме? Жс тут поможет?
>>1178519Лол ну ты явно ньюфаг, такая банальная проблема. Если ты хочешь за кем-то вконтакте следить, то для этого уже есть готовые программы.
>>1178526Нет, ничего такого, это по игре проверять несколько профилей. На самом деле я когда-то доходил до абстрактных классов и прочего, даже сам писал что-то, но это было давно.
>>1178535Для начала почитай и разберись как работают паттерны, прототипы, замыкания, асинхронный код.
>>1178519Для любого современного ЯП есть парсер html.
>>1178565Мне нет необходимости учить язык или его нюансы для решения одной конкретной практической задачи. Достаточно сказать название функций или как гуглить подобное.>>1178571Мне не нужно парсить хтмл, мне нужно его получить.
>>1178574>получитьcurl.exe
>>1178574В любом современном ЯП есть http клиент.
>>1178519тут скорее питон поможети cron
>>1178519Python + Scrapy
Язык будущего как он есть:0.1 + 0.2 → 0.300000000000000040.1 + 0.2 === 0.3 → false // ???x = 1.0000000000000001x === 1 → true // ???typeof NaN → "number" // NaN is a number??? But...NaN != NaN → trueNaN !== NaN → trueisNaN('hello world'); // returns 'true'.Number.isNaN('hello world'); // returns 'false'.[] + [] → "" // Empty string? These are arrays![] + {} → [object object]{} + [] → 0 // Why isn't the operation commutative???{} + {} → NaN // ???16 == [16] → true // Array converted into string, then into number16 == [1,6] → false // But what is array converted into?"1,6" == [1,6] → truevar arr = [];arr.length → "0"arr[3] → "undefined" // No array bounds exception???arr[3] = "hi";arr.length → "4" // 4??? Only one element has been added!arr["3"] → "hi" // Apparently "3" is coerced into a numberdelete(arr[3]);arr.length → "4" // 4??? There are no elements in the array!arr[3] → "undefined" // 7 lines above, length was "0"!var i = 1;i = i + ""; // Oops!i + 1 → "11"i - 1 → 0var j = "1";j++ → 2 // Okay, but... var k = "1";k += 1 → "11" // What??? [1,5,20,10].sort() → [1, 10, 20, 5] // Why is it sorting strings???xs = ["10", "10", "10"];xs.map(parseInt) → [10, NaN, 2] // ???y = {};y[[]] = 1;Object.keys(y) → [""]
>>1178695Ты забыл что сложение происходит как стринги, но остальные операции как инты.
Вы все черти.
>>1178695Сразу видно, что на других языках ты тоже не писал.
>>1178695>0.1 + 0.2 → 0.30000000000000004>0.1 + 0.2 === 0.3 → false // ???>>x = 1.0000000000000001>x === 1 → true // ???Это не проблема языка, а проблема точности чисел с плавающей точкой. Javascript по дефолту использует для всех чисел тип double (8 byte) что в принципе не плохо, так как если бы они решили сделать float (4 byte) дефолтным, то было бы еще хуже. Вот на пике пример с double в C++, там точно так же. А остальные твои примеры, да - это пидерастия языка.
>>1178695Забавно наблюдать, за рассуждениями человека, не знающем о двойной точности, и при этом возмущающимся о проверке выхода за границы массива. В динамическом, мать его, языке.Откуда столько даунов. Откуда они просто лезут вот.
>>1178695Используешь компилятор@Забываешь об этом кошмаре
>>1178695Кстати вот еще, Visual Studio дает подсказку, какое значение имеет числовой литерал на самом.
кто поможет устроиться на работу?
>>1178878Бог поможет.
>>1178884а он тоже программист?
>>1178886да, а вселенная - одна большая симуляция и галаграма. Ты из пещеры что ли ток вылез?
>>1178888уга уга угатак что там с работой? есть чего? нет? так зачем это программирование?
>>1178893зачем это программирование?Для саморазвития и удовольствия
и еще надо спросить...есть вот понятие синхронизирование данных. это со стороны бэкэнда решается (вебсокеты)? или со стороны фронтэнда тоже можно решить?взять двачи. тут автообновление есть. это интервал между реквестами? и реквест при нажатии "обновить тред"?я пользуюсь ангуляром, как с этим дела обстоят в реакте?>>1178898то есть вы тут как хобби это воспринимаете? но работающие тоже есть наверное?
>>1178901есть 3 способа1) long poling2) server sent events3) websocketгугли @ выбирай
>>1167958 (OP)Пишу Todo List. Какой модный фреймворк и паттерн можно использовать для такого веб-приложения? И как это запилить? Написал проект на чистом JS, теперь хочу сделать что-то продакшн уровня.
>>1178901> работающие тоже есть наверноеМы тоже как хобби это воспринимаем. Иначе программировать не выйдет. Это тебе не мешки ворочать. Тут надо быть увлеченным.
Как в ебучем Visual Studio Code поменять цвет текста на белый? Меня устраивает профиль Dark+, функции желтые, классы зеленые и тд., но все остальное голубого цвета, галаза режет. Я хочу именно этот текст сделать белым.
>>1178907деньги давай говорю!!! деньги! жрать хочу!
>>1178886Чем ты отличаешься от программы?
>>1178910был бы я программой, меня бы не пустили в продакшн
>>1178912Ты ахуеешь от того, сколько программ пишется в продакшн сразу. именно так написана бОльшая часть всего.
>>1178913ну тогда какого хера нет работы???
>>1178915Она есть.Видимо просто ты работник херовый.
>>1178903это всё для бэкэнда?>>1178917>тынет ты! только что у тебя был девиз "хуяк-хуяк и в продакшн" а тут вдруг скрючил ебальник "ты херовый".
>давай работу>бог подаст>ну вот... работы значит нет>она есть, ты херовый>давай тогда раз есть>бог подаст...
>>1178918>хуяк-хуяк и в продакшнЭто было не о работе.Тебе рассказать как были написаны первые версии всего самого популярного? И как они писались до тех пор, пока не стали популярными?
>>1178921>Тебе рассказатьработу (а лучше сразу деньги) давай, сказочник!
>>1178915>какого хера нет работы???
>>1178923>работу (а лучше сразу деньги) давай, сказочник!Хуи сосешь?
>>11789243 вакансии на весь мир?
>>1178921>Тебе рассказать как были написаны первые версии всего самого популярного?Одноклассники.ру?
>>1178924и че?введи конкретную роль + фреймворк + регион + стажсколько останется? 10? 3?тысячи просмотров резюме... бесполезных.работу давай а не скриншот.
>>1178925ты? ты сосешь...
>>1178930Мы вам перезвоним.
раз уж анон поднял тему работы, у меня 2 вопроса1) какой js стак самый популярный(=больше всего вакансий, проще найти работу)? Я так понимаю это MEAN?2) какой самый перспективный. А то я собрался express/angular2 учить, а тут говорят что он неоч.
>>1178929линукс, дос, фейсбук, гугл, яндекс, вк, ffmpeg, etc
>>1178924>ведущий>senior>middle/seniorили еще лучше: в новосибирске за 15 тысяч рублей программистом xD
насколько перспективны поиски работы за границей? ну чтоб не сталкиваться с русскими пидорасами, у которых работа есть, но они её тебе не дадут, потому что не для тебя их роза цвела...
>>1178908Ну помогите мне.
>>1178935>новосибирске
>>1178938пожалуйстаhttps://www.google.ru/search?newwindow=1&ei=l0_fWu3lI8ausAGSzIqQBg&q=visual+studio+code+change+font+color&oq=visual+studio+code+change+font+color&gs_l=psy-ab.3..0.4802.5421.0.5691.4.4.0.0.0.0.95.313.4.4.0....0...1.1.64.psy-ab..0.4.310...0i7i30k1.0.zRs13QRScWc
>>1178940>google.ruЗапрещена на территории Российской Федерации.
>>1178942хуево че, переезжай вна украину
>>1178939ты ебанутая сельдь, работающая в hh?никто не платит 90 тысяч. это замануха. в москве 60, не в москве 30. вот так дела и обстоят. я работал, я знаю. меня бесят такие вот энтузиасты-активисты-пионеры-поцреоты которые говорят что все заебись, хотя сами нихуя не пробовали даже делать и сидят на какой-нибудь халяве!
>>1178944Украина это один из областных центров Российской Федерации.
>>1178940https://code.visualstudio.com/docs/getstarted/theme-color-referenceДа там сотни параметров, я не могу найти тот который мне нужен.
>>1178946Нет. Я фрилансер с 12ти летним опытом и доходом от сотки в месяц. Мне твоих проблем не понять. Ной дальше.
>>1178950ты хуисос и пиздобол. мне тебя не понять. ной дальше.
>>1167958 (OP)использую js для написания игр на phaser, задумываюсь об изучении backend разработке на js и о поиске работы проггером. но смотрю вакансии в своем городе - на чистого бэкенд js проггера их почти нет, только php. в основном frontend и fullstack. при этом frontend как область меня совсем не притягивает. что посоветуете? стоит ли обращать на этот факт внимание или забить и в ус не дуть и изучать nodejs? насколько я понимаю, популярность php сильно падает и серверную часть переписывают на node.
>>1179008У меня аналогичный вопрос Бро. Стою на перепутье. Вообще знания у меня уровня html, css, js, jquery, bootstrap, google vizualisation и т.п. планировал изучить питон с Джанго, т.к. веб привлекает, но все вакансии в моем мухосранске - Красноярске сводятся к знаниям 1с битрикс и php. Не хотелось бы к этому прикасаться, но видимо придется. И не думаю, что php умрет. Если умрет, то явно не скоро
>>1179008>>1179030Как опытный веб-программист скажу вам, что пыха сейчас наоборот только набирает популярность, в отличие от жс. Так что вам, господа, стоит осваивать такие технологии как PHP, WIX, Wordpress, Joomla.
>>1179033> пыха сейчас наоборот только набирает популярность, в отличие от жс.Чем это можно объяснить. Алсо можешь рассказать какого плана работы делаются на пыхе? Я так понимаю крупные объекты на пыхе не делают?
>>1179042>Я так понимаю крупные объекты на пыхе не делают?Кто тебе такое сказал?И что ты там собрался, свой локальный фейсбук делать?Чёт вспомнил ОПа этого треда и проиграл.
>>1179048Оп этого треда пропал тредов 10 назад. Тред уже давно перекатываю я.
>>1179033> WIXПеретолстил
>>1179033>пыха сейчас наоборот только набирает популярностьЕсли это действительно так, то единственная причина - то, что сайты (представительские) понадобились тем, кому они раньше не были нужны, т.е. совсем уж мелким конторам. Ну и, возможно, больше мелких торговых контор стали хотеть торговать через интернет.Естественно, они могут себе позволить только пыху.
>>1179033>Joomla
>>1179056Wix, ucoz
>>1179057frontpage, narod.ru
>>1179033Кому ты пиздишь?
>>1179061А что, не так?
Господа, друзья, товарщи! Помогите мне разобраться с дочерными и родительскими элементами в ДОМе, это какое-то проклятие, я нихуя не понимаю, где нормально почитать про это можно? У кантора нихуя не понятно, как будто гугл перевод спеки читаю.Ну вот взялся я писать валидацию формы.http://plnkr.co/edit/eqwfZwFGXZBGMljbCaUy?p=previewНаписал, показал корешу фронтендеру, он говорит ты малацца, но это хуита слишком частная, перепиши всё так, чтобы ты свою валидацию мог применить на любой форме, скелет. "Ща попробую описать.1. Добавляшь элементам формы атрибуты типа rule-required or rule-email2. Вызываешь новую версию функции валидэйт и передаешь ей в качестве аргумента идентификатор формы.3. Функция валидэйт получает по индентификатору форму, затем ищет в ней все дочерние инпуты и пробегается по ним в цикле. Для каждого инпута проверяет имеет ли он атрибут element.hasAttribute(attName);Если атрибут есть, то валидируем значение инпута в соответствии с атрибутом, если нет, проверяем на наличие еще какого-нибудь атрибута и так пока не проверим все атрибуты для всех инпутов.Если ты это сделаешь, то сможешь вынести функцию validateForm в отдельный файл и подключать ее к любым формам. В формах просто будешь добавлять атрибуты к полям, которые нужно валидировать. ПРОФИТи не надо прописывать логику каждый раз"А я блять нихуя не понимаю. Я понимаю что моя валидация тупой дроч достукиваться к каждому инпуту и т.д. Но как сделать это нормально я хз. Помогите ссылкой хоть, где про это почитать можно еще, желательно с примерами и разъяснениями. Может я что-то где-то недочитал по теории раньше? Что мне блять делать?
>>1179064Не так. И впредь, намотай себе на ус, что вводить в заблуждение это не достойно и если твоя мать шлюха, а отец педофил, то в этом никто кроме тебя не виноват.
>>1179057зарабатываю на ucoz 100000к овер секонд, от денег уже тошнит. Можете задавать свои вопросы.
https://pastebin.com/TA70reWT Объясните почему этот код всегда будет выдавать 10, не могу разобраться че-то
>>1179068>Можете задавать свои вопросыЧему равна скорость Светы в вакууме?
>>1179069по идее ведь функция вызывается во время работы цикла, и пока она не исполнится i не должно увеличиваться
>>1179069>https://pastebin.com/TA70reWT потому что переменная i объявлена как var то есть не имеет блочной области видимости. А следовательно, на момент вызова функции отложенной в эвентлупе, она будет равна 10.
>>1179067Да я просто левый чел. Решил спросить. Просто самому интересно что учить, чтобы деньги всегда были
>>1179072Замени var на let и удивись. Потом слходи прочитай про области видимости переменных и что такое event-loop.
>>1179073> >https://pastebin.com/TA70reWT> потому что переменная i объявлена как var то есть не имеет блочной области видимости. А следовательно, на момент вызова функции отложенной в эвентлупе, она будет равна 10.А если вместо var выставить let, то что выведет?мимо
>>1179077Переписать 3 буквы и запустить в бровзере пиздец сложно.
>>1179065Ну так у тебя эе описан алгоритм, вот его и реализуй. В твоем коде ты каждый инпут берешь по его id отдельно и потом каждый по отдельности чекаешь. А тебе надо переписать так, чтобы ты брал инпуты вообще все, не по идентификатору, а например по тегу,а еще лучше по классу там своему в завиимости от типа проверки. Проходил по всем элементам в цикле и проводил свою валидацию. Что тебе не ясно. Как работают css-селекторы? Или как циклы?
>>1179065нахуй тебе вообще на фронтэнде валидация? 2 раза писать один и тот же код, посылай это на бекенд, и чтобы через джесон возвращал прошла ли валидация. Может ты в курсе, но на всякий случай скажу, что ты НЕ можешь делать валидацию только на фронтэнде, тебе все тоже самое обязательно надо делать на бекенде.Если по твоему коду, то- убери нахуй это спагетти из ифов и элсов - для кажого поля сделай свою функцию с параметром(string) который хочешь валидировать, а не из глобального пространства брать.function checkField(value){//}
>>1179070с
>>1179083>нахуй тебе вообще на фронтэнде валидация? 2 раза писать один и тот же код, посылай это на бекендАхуенно наверное на каждый инпут хуярить хапрос на сервер, чтобы динамически подсветить инпут при блуре. Уволил бы тебя нахуй сразу. Валидация на клиенте еще как нужна. А на бэке валидируют всю форму целиком сразу и лишь один раз.
>>1179078А я может с телефона, а скачивать js run с play market не умею. Что тогда?
>>1179053Ну я имел в виду тюпина, думаю все это поняли.
>>1179086На телефоне сайты не открываются уже? Ты умственно-отсталый?
>>1179079да вроде ясно как работают цсс селекторы, не ясно как это всё завернуть в циклы со всеми этими апенд чайлдами и прочим. Мне бы на примере посмотреть или чтобы добрый анон показал
>>1179090Ну жди, может дождешься кому не лень, запилить тебе экземпл.
>>1179085>Ахуенно наверноеМне ахуенно, часто у тебя юзеры будут логин/пароль вводить? Ты наверно еще за голову хватаешься когда о какой-нибудь хуйне типо динамического поиске слышишь где запрос на каждую букву происходит.
>>1179090чёт говнокод какой-то, даже лень править такое говноты в седьмом классе?
>>1179091
>>1179088Знаешь, копировать код и затем еще jsfiddle искать и потом что то менять очень муторно. Легче спросить
>>1179094В седьмом классе в доту играют и вебом не занимаются
>>1179097т.е. ты уже в восьмом?
>>1179097>вебом >этот говнокод уровня семиклашки из деревни
>>1179074>что учить, чтобы деньги всегда былиВ преферанс научись играть.Или в бильярд.
>>1179107> В преферанс научись играть.> Или в бильярд.Такое себе
>>1179093>>1179083Не слушайте дауна. Очевидно ты ничего более лендосика под ключ на вордпресе в своей жизни не делал.Валидация должна быть на фронтенде и на бекенде. На бекенде даже ты понял зачем.На проектах с посещаемостью больше 100 человек дергать сервер на каждый запрос это очень хуево. Нагрузка на сервер растет в геометрической прогрессии. Любой васян сможет заддосить твой сервер через такую форму. И это все лечится просто микроскопическими по своей сути методами, вызовом пары функций на клиенте.
>>1179141>через такую формуНу давай поясняй умник чем ддос на /api с проверкой формы отличается от любого ддоса на другой адрес, например отгрузки данных.
>>1179141Ты дебил. Зачем ты говоришь в чем некомпетентен? Единственное, в чём ты прав - это в том, что нужно добавить в поля соответствующие свойства (которые вообще недавно только появились в браузерах). Ну а если в браузере их нет? А? А если юзер ручками пульнёт запрос? А если не ручками, а автоматизировав? И если их будет несколько тысяч?>>1179083Ты тоже дебил. Предлагаешь возвращать от сервера проверку на валидацию в жсоне.Завтра на работе покажу, поржём всем офисом, так сказать.
>>1179186одни свчешные выблядки, которые нихуя не могут аргументировать свои высеры. Какие-то свойства в браузерах у него, жсон ему не нравится. Чем тебе ответ от сервера возвращать? Штмлем блять?
>>1179190>Чем тебе ответ от сервера возвращать?JSON - это всего то форматнутая инфа, ровно также ты можешь вернуть её в чём угодно, хоть голой, хоть в богомерзком XML, хоть в JSON, зависит только от задачи которую ты хочешь решить. В случае JSON - удобно получать табличку или список, или какой-нибудь офис лайк документ который ты быстренько на страничке при помощи JS раскидаешь (хотя в 9000 раз проще это сделать в бэке и не ебаться с JS). Но если смотреть в общем и целом, JSON - это ебаная технология для безмозглых дауничей которые не способны вместить что-то большее, выучили себе JSON и ебашат им всё. Сайты на JSON, передачу инфы, таблички, карты, ссылки, массивы, документы, БАЗЫ ДАННЫХ. Такое ощущение что вы на этот JSON дрочите по ночам. мимопроходил
>>1179195>JSON - это всего то форматнутая инфаСпс кеп. Я где-то утвержал обратное? Просто родной формат для js на котором 99% информации передается. Мне то похуй, можешь на xml но как ты и сам сказал он не оч, так что я хз к чему ты это высрал.>табличку или список, или какой-нибудь офис лайк документ который ты быстренько на страничке при помощи JS раскидаешь (хотя в 9000 раз проще это сделать в бэке и не ебаться с JS)Хеллоу, а потом чтобы эту табличку оживить как даун ебаться с каким-нибудь jquerry? Знаем, проходили, одна из причин почему я с пыха ухожу на фулл js чтобы как раз такой хуйней не заниматься и все построение страниц делать на фронтэнде тем же ангуляром[тут можно вставить любой фреймворк].>JSON - это ебаная технологиясам себе блять противоречишь блять, сначала у него все-лишь формат, а потом уже целая ТЕХНОЛОГИЯ блять.>для безмозглых дауничей которые не способны вместить что-то большее, выучили себе JSON и ебашат им всё.Что ты блять несешь дебич, к врачу сходи. У тебя раздвоение личности в пределах одного поста, может к врачу сходить. Как можно блять json выучить, если это всего-лишь формат данных)) Ты хоть свой пост перечитай.И дальше опять у тебя какой-то высер в сторону json я нихуя не понял что ты этим хотел сказать ну да ладно.
>>1179197> чтобы эту табличку оживить как даун ебаться с каким-нибудь jquerry?По сути юзеру нужна таблица. А свистелки, перделки, летающие хуи на странице - уже твои маняфантазии. Я как юзер прямо сейчас просматриваю таблицу 300*12 полей и мне твой JSON ну просто нахуй ненужен. Хотя не сомневаюсь есть дауны которым лишь бы покрасивше.>я с пыха ухожу на фулл js чтобы как раз такой хуйней не заниматься и все построение страниц делать на фронтэнде тем же ангуляром[тут можно вставить любой фреймворк].Наркоман. Пыха это бэк, Ангуляр - фронт. Тоесть ты в любом случае будешь что-то получать с бэка. Тоесть причём тут ангуляр вообще? >сам себе блять противоречишь блять, сначала у него все-лишь формат, а потом уже целая ТЕХНОЛОГИЯ блять.Когда это передача данных - это одно, когда это целый сегмент который уже используется вообще везде, даже в БД - это уже технология.> Как можно блять json выучить, если это всего-лишь формат данных))Вот один формат данных узнают, и ебошат им всё. Даже в тех случаях где можно без него обойтись.
>>1179197>а потом уже целая ТЕХНОЛОГИЯ блять.А обработка JSON - тоже формат? А формирование JSON тоже формат? Наркоман?
>>1179199>Наркоман. Пыха это бэк, Ангуляр - фронт. Тоесть ты в любом случае будешь что-то получать с бэка. Тоесть причём тут ангуляр вообще? плиз не пиши если ты не шаришь, хз откуда ты выполз и кукарекаешь. Офк я буду получать респонд - только это будет 0% html и 100% инфы в json который высрал сервер и который ты так почему то не любишь. А со своим манямирком можешь в 1999 возвращаться, где формы были не интерактивные, где чтобы менюшку открыть надо всю страницу перезагружать с нуля и прочии нештяки.
>>1179204А обработка .txt - тоже формат? А формирование .txt тоже формат? Наркоман?
Txt формат. Обработка и формирование - технология.
>>1179205Не злись няша. Я же не говорю вообще от js отказаться, просто мне например нужен ограниченный набор функций. А всякие пидоры, такое ощущение, что ос мне в браузер пихают, при этом умудрившись по дороге проебатб функционал.
>>1179209JSON.stringify(myObject);JSON.parse(myString);Хули вы до jsona доебались, как анон сказал выше это всего-лишь формат, можно xml, можно хоть в бананах с пальмы. А вот что с этими данными делать - это уже совсем другой вопрос и мало имеет отношения к тому как эти данные отформатированы.
>>1179211Тред хоть читай, я всего то пояснил разницу между технологией и форматом.
>>1179210можешь начинать привыкать, так как потребителю твоё мега-ахуенное приложение на крестах в хуй не вперлось, качать его еще, устанавливать, еще и вуросов небось туда запехал, падлюка? Куда проще зайти на сайт через браузер на ссылку что друган скинул, зарегаться чере какой-нибудь вконтакт и гугл чтобь эта хуйня все отхранизировала и быть в шоколаде, еще и с мобилки можно потом зайти если оптимизировано норм.
>>1179214Причём тут кресты? Какое приложение? Какой друган? Ты уже какой то манямир себе придумал, а теперь пытаешься меня убедить в том, что это Я про это говорил.
>>1179215>А всякие пидоры, такое ощущение, что ос мне в браузер пихают, при этом умудрившись по дороге проебатб функционал.мы видать с тобой на разных языках говорим
>>1179216Ну да, если я читаю двачи, я хочу ограниченный функционал. А теперь зайди на какой нибудь мэйлач, какие то свистелки, перделки, звуковые оповещения, тут же мыло встроенное, тут же СОЦИАЛОЧКИ, тут же знакомства, ПУШБлдядь оповешения которые уже блядь вообще везде и прочее. Кажется что мэйл крайний случай, но нихрена подобного.
>>1179218БЕСКОЧНАЯ ЛЕНТА КОТОРАЯ БЛЯДЬ ЗАЕБАЛО В ПЕРВЫЙ ЖЕ ДЕНЬ. Нахуй её пихают везде и всюду? Нахуй она нужна? Существуют в мире аутисты которым лень пагинацию прожать или что? Больше всего бесит именно она.
ПЕРЕКАТ >>1179262 (OP)ПЕРЕКАТ >>1179262 (OP)ПЕРЕКАТ >>1179262 (OP)ПЕРЕКАТ >>1179262 (OP)ПЕРЕКАТ >>1179262 (OP)ПЕРЕКАТ >>1179262 (OP)ПЕРЕКАТ >>1179262 (OP)ПЕРЕКАТ >>1179262 (OP)ПЕРЕКАТ >>1179262 (OP)ПЕРЕКАТ >>1179262 (OP)ПЕРЕКАТ >>1179262 (OP)ПЕРЕКАТ >>1179262 (OP)ПЕРЕКАТ >>1179262 (OP)ПЕРЕКАТ >>1179262 (OP)ПЕРЕКАТ >>1179262 (OP)ПЕРЕКАТ >>1179262 (OP)ПЕРЕКАТ >>1179262 (OP)ПЕРЕКАТ >>1179262 (OP)ПЕРЕКАТ >>1179262 (OP)ПЕРЕКАТ >>1179262 (OP)ПЕРЕКАТ >>1179262 (OP)ПЕРЕКАТ >>1179262 (OP)ПЕРЕКАТ >>1179262 (OP)ПЕРЕКАТ >>1179262 (OP)ПЕРЕКАТ >>1179262 (OP)ПЕРЕКАТ >>1179262 (OP)ПЕРЕКАТ >>1179262 (OP)ПЕРЕКАТ >>1179262 (OP)ПЕРЕКАТ >>1179262 (OP)ПЕРЕКАТ >>1179262 (OP)ПЕРЕКАТ >>1179262ПЕРЕКАТ >>1179262ПЕРЕКАТ >>1179262ПЕРЕКАТ >>1179262
>>1179065Это распространённая задача в любом гуе, не обязательно веб.В вебе её легче сделать, ибо динамика.1. Я бы предложил не аттрибуты, а классы-маркеры.2. jQuery. Если надо - потом переделаешь без.Но, надо понимать, что jQuery - это гораздо больше, чем просто поиск по селекторам (который сейчас можно и так сделать).3. Дополнительная таблица (массив) с валидаторами в JS - {имя_класса: функция_валидатор, ...}.Выбираем по классу, проходим по элементам, для каждого находим в таблице валидатор по классу и вызываем, передавая в него value элемента.Как обрабатывать результаты?Можно это делать по-разому. Можно собирать в массив и что-то с ним делать потом. Можно сразу же присваивать элементу класс "validation-error", который будет его обводить красным.Можно возвращать из функции сообщение об ошибке и присваивать его соответствующему элементу на форме для отображения подсказки.И т.п.Ничего сложного в этом нет.Если интересны подробности - спрашивай ответы.
>>1177228Хуй соси.
>>1179299спасибо, анончик.Я пока тип только чистый джс использую. Да понятное дело, что ничего сложно здесь не должно быть. Но у меня опыта всего месяц, месяц назад я узнал что такое хтмл и цсс. Мне пока всё очень сложно дается, буду думать/вникать. Но мне бы минимальной какой-нибудь пример увидеть с комментариями
>>1179311>минимальной какой-нибудь пример Сейчас некогда, вечером попробую сделать.
>>1179325спасибо, анончик
Работа есть на JS? Или лучше учить С++ и Си?
>>1179355Есть, Анон! Ну, что вкатишься в мою комманду? Готов устроить за трёхразовый дошик и койку-место под компом у себя в гараже :) Мазик бесплатно.
>>1179359>коммандуВ комманды не вкатываюсь.
>>1179371Ти же мну писал, что грамматика и знание ангельского не так уж важны.
>>1179384Окей, какой проект? Парсер ПУБГ на ноде?
>>1179190>Чем тебе ответ от сервера возвращать?Сериализированный бинарный код.
>>1179359>коммандуКом. манду?Сам туда вкатывайся, мандюк.
>>1179325
>>1179658Вечер - понятие растяжимое, лол.>>1179312Валидация формы:https://pastebin.com/2iBzGLJiИспользует jQuery.Написано на старомодном JS, работает везде.
>>1179764Спасибо анончик, буду разбираться
>>1179860Там много букв, конечно.Но, на самом деле, пример простой.И поучительный, лол.Из хитрых вещей (для ньюфага) - функция, возвращающая функцию. Погугли javascript closure.Остальное - элементарный код на jQuery. Погугли, там ничего сложного.Кстати, я забыл там сделать для примера один валидатор просто инлайн-функцией. Т.е., например, вместо Validators.gte(100) можно написать function(val){...} - то же самое, что находится внутри Validators.gte(), но сравнивать сразу с числом 100.
>>1179915оке, но для начала надо посмотреть что из себя представляет этот jQeury, еще не трогал.Спасибо.