Вы видите копию треда, сохраненную 11 июля 2018 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
В этом треде собираются величайшие умы человечества - мастера валидации форм и специалисты по JSON-технологиям. Этот тред посвящён главному языку будущего - 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/ для серверного кода.
Добавили промисы, а мы смеемся. Присыпали сахаром прототипы и назвали классами, а мы смеемся.
Три тимлида прыгнули с крыши 16-этажного дома, взявшись за руки после попытки разгрести код с тридцатикратной вложенностью, а мы смеемся и просим еще. Промисы, колбэки, асинки/авайты — мы смеемся. Модульность, асинхронность, непрерывная интеграция, юнит-тестирование, key-value хранилища, два десятка фреймворков на любой вкус — мы смеемся. GitHub позволил писать приложения на десктопе, запихивая в каждый хеллоуворлд отдельный браузер — мы смеемся. Мы бездушно подпишемся под чем угодно, наши предпочтения не основаны на здравом смысле, бесцельные споры — наша стихия, мы — истинное лицо современного IT.
репортнул)
>>1179065
>Написал, показал корешу фронтендеру, он говорит ты малацца, но это хуита слишком частная, перепиши всё так, чтобы ты свою валидацию мог применить на любой форме, скелет.
Это распространённая задача в любом гуе, не обязательно веб.
В вебе её легче сделать, ибо динамика.
1. Я бы предложил не аттрибуты, а классы-маркеры.
2. jQuery. Если надо - потом переделаешь без.
Но, надо понимать, что jQuery - это гораздо больше, чем просто поиск по селекторам (который сейчас можно и так сделать).
3. Дополнительная таблица (массив) с валидаторами в JS - {имя_класса: функция_валидатор, ...}.
Выбираем по классу, проходим по элементам, для каждого находим в таблице валидатор по классу и вызываем, передавая в него value элемента.
Как обрабатывать результаты?
Можно это делать по-разому.
Можно собирать в массив и что-то с ним делать потом.
Можно сразу же присваивать элементу класс "validation-error", который будет его обводить красным.
Можно возвращать из функции сообщение об ошибке и присваивать его соответствующему элементу на форме для отображения подсказки.
И т.п.
Типовые валидаторы можно собрать в отдельный модуль.
Можно сделать генерацию валидаторов - функция с параметрами, которая возвращает настроенный валидатор.
Например, validators.gte(100, 'Количество должно быть 100 или больше') вернёт валидатор, который проверяет, что value является числом, и это число больше или равно 100, или выдаёт соотв. сообщение.
Ничего сложного в этом нет.
>>1179065
>Написал, показал корешу фронтендеру, он говорит ты малацца, но это хуита слишком частная, перепиши всё так, чтобы ты свою валидацию мог применить на любой форме, скелет.
Это распространённая задача в любом гуе, не обязательно веб.
В вебе её легче сделать, ибо динамика.
1. Я бы предложил не аттрибуты, а классы-маркеры.
2. jQuery. Если надо - потом переделаешь без.
Но, надо понимать, что jQuery - это гораздо больше, чем просто поиск по селекторам (который сейчас можно и так сделать).
3. Дополнительная таблица (массив) с валидаторами в JS - {имя_класса: функция_валидатор, ...}.
Выбираем по классу, проходим по элементам, для каждого находим в таблице валидатор по классу и вызываем, передавая в него value элемента.
Как обрабатывать результаты?
Можно это делать по-разому.
Можно собирать в массив и что-то с ним делать потом.
Можно сразу же присваивать элементу класс "validation-error", который будет его обводить красным.
Можно возвращать из функции сообщение об ошибке и присваивать его соответствующему элементу на форме для отображения подсказки.
И т.п.
Типовые валидаторы можно собрать в отдельный модуль.
Можно сделать генерацию валидаторов - функция с параметрами, которая возвращает настроенный валидатор.
Например, validators.gte(100, 'Количество должно быть 100 или больше') вернёт валидатор, который проверяет, что value является числом, и это число больше или равно 100, или выдаёт соотв. сообщение.
Ничего сложного в этом нет.
>>1179299
спасибо, анончик.
Я пока тип только чистый джс использую. Да понятное дело, что ничего сложно здесь не должно быть. Но у меня опыта всего месяц, месяц назад я узнал что такое хтмл и цсс. Мне пока всё очень сложно дается, буду думать/вникать. Но мне бы минимальной какой-нибудь пример увидеть с комментариями
>Я пока тип только чистый джс использую
Советую изучить хотя бы основы gulp и Vue.js, как разберёшься, сразу поймёшь как делать подобные формочки с валидацией.
event.preventDefault();
})
Почему это работает?
Я так понимаю, что event - это такой же keyword, как window, this.
Так зачем мне в функции передавать event, если я и так могу его вызвать.
Я ведь не передаю window или document, чтобы их вызвать внутри функции. Так я и event не передаю, хотя, вот он event.preventDefault(), а его я не передавал.
Нахуя мне внутри функции event и event2, ссылающиеся на одно и то же?
В чём практическая польза?
>Я так понимаю, что event - это такой же keyword, как window, this.
С чего ты это взял?
Ничего у тебя тут не работает.
Не неси чушь.
>window
Это не кейворд.
Откуда лезут дебилы строящие какие-то ахуенные теории на собственных догадках.
>Я так понимаю
Я так вижу
Пиздец какой-то.
>узкопрофильный даун закукарекал
О чём и речь, мань. Ты научился формочки валидировать на jquery и теперь возомнил себя программистом на html?
Съеби, не позорься.
Потому что настоящий узколобый дегенерат всегда выдаёт себя даже по тем крупицам, что ты успел высрать.
Человек, который что-то знает, способен внятно аргументировать свою точку зрения.
Фротнетд-макака, которая выучила пару селекторов и не понимает алгоритмов, будет пытаться самоутверждаться на анонимном форуме, не утруждая себя минимальной аргументацией, вследствие своей полной некомпетентности.
Ты ведь не думаешь, что меня удивляет очередной кукаретик на дваче?
Только подтверждаешь мои слова, мань.
мне phpstorm норм
Бери vscode, макаки его любят пердолить под себя.
vim
Валидация формы:
https://pastebin.com/2iBzGLJi
Использует jQuery.
Написано на старомодном JS, работает везде.
решай задачки на кодеварс
Коль гореть, так уже гореть сгорая.
А кто сгорел, того не подожжешь.
Ставил я на пиковую даму.
А сыграл в бубнового туза.
Ты написал?
Такие вещи были популярны в 90-е и в самом начале нулевых. Их было просто немеряно.
Из известных - MS FrontPage, Macromedia Dreamweaver.
Теперь их нет.
Угадай, почему?
>Угадай, почему?
Не хотят, чтобы криворукие пилили красивые странички?
Типа, слишком сложно понимать и преобразовывать в код все хотелки по динамическому изменению размеров стилей и прочего? Но ведь на мобилках более менее норм всякие constraints'ы работают.
И почему? В нулевых HTML был слишком примитивным и не дотягивал до уровня того же Delphi, потому и выходило кривое убожество. Сейчас же есть всякие CSS3, flexbox, Bootstrap и т.д.
>Типа, слишком сложно
Да.
И вообще изменился подход.
Ну, и люди выучили буквы, и перестали их бояться лол.
и какие у него успехи в вебе?
>Хотя знаю
Ничего ты не знаешь, Джон Доу. До этого ты "знал" про "правую ногу".
Дописывай то, что есть. Возможно, ты ещё не о все подводные камни побился и на последней строчке твоё новое "знаю" ещё хуже сломается. Потом проще рефакторить и тестить, если уже есть пусть и кривое решение, но дающее верный результат.
У того, что ты лично делаешь разные варианты, есть ещё один огромный плюс. Каждый следующий вариант после первого отрывает результат твоего творчества от твоего Эго. За первый выстраданный вариант ты держишься, как за родной. Следующие варианты ты уже можешь кромсать технически. Они вместе стоят больше, чем каждый обосранный в отдельности. Ты больше не воспринимаешь критику на свой счёт.
понял принял, спасибо
function MyObj(){
var n = 5; //'private' variable
this.doSomething = function(){
//do something;
}
this.increment = function(val){
n = n + val;
}
this.getN = function(){
return n;
}
}
obj1 = new MyObj();
obj2 = new MyObj();
Прототипы нужны для наследования.
Когда ты хочешь расширить функционал типа.
Почитай ты уже любую книжку, не еби мозг.
Лучше - The Principles Of Object-Oriented JavaScript.
А также другие книги того же автора, оно того стоит.
Есть на allitebooks.com, без sms и регистрации.
Тем, что JS и его либы просто так не заменить. Поэтому, как вариант сейчас использовать Ocaml + bucklescript, чтобы иззи писать безопасный код и при этом не отказываться от всех плюшек JS.
да иди нахуй, я вот читаю и нихуя не понимаю нахуй оно надо. Какие то цепи прототипов блять, ахуенные истории. Щас бы поунаследовать от 999 родителей. Inheritance это вообще самое хуевое что только придумали. Делегирование намного гибче и удобнее чем наследование особенно когда она реализовано настолько через жопу как в js.
А почему не хаскель? Он же лучше.
Или даже лисп?
Тут бегал мамкин кложурист, рекламировал это дело.
Проблема не в JS либах, лол.
Проблема, как раз, в либах окамла или скалы, или хуй знает ещё какого мега-языка, который вы видите заменой.
Потому, что чтобы нормально писать на том языке, надо тащить в браузер весь его рантайм, всю стандартную библиотеку и прочие батарейки.
Поэтому, пишите на TypeScript, и не выёбывайтесь.
Не обязательно. Но даже если ты используюешь какие-то специфичные фичи, то есть вэбпак, все тащить не нужно.
Тебе, блять, даже сказали название книжки, и где её взять.
Иди, блять, и читай, нахуй.
Алсо, прототип - это, блять, _объект_.
И то, что в нём (функции, например) - используется всеми экземплярами "класса".
А так - у каждого новая функция создаётся.
P.S. если использовать окамл, то можно обойтись набором стандартных типов + паттерн матчингом. Это уже просто небо и земля с ванильным жс.
OCaml как раз таки потому и хорош, что он очень легковесный, может не тащить стандартную библиотеку.
Как бонус заинлайнит кучу частично-примененых функций и каррирования, при использовании TS этот оверхед остается в рантайме.
Решай задачи братюнь. Как можно больше пиши когда. Я например иду на w3school смотрю на какой нибудь допустим слайдер , потом сам его пишу, потом смотрю как он реализован на сайте. Короче пиши, и пиши.
Реакт - тоже можно. Но не лезь глубоко совсем. Освой азы - управление состоянием, передачу свойств, рендер компонентов , управляемые компоненты - и пиши до тех пор пока тебе все совсем не станет понятно.
Кстати , анонсы, подскажите сурс хороших реакт компонентов, именно для целей указанных выше мною.
Экономия. Нахуя плодить жирные замыкания, если можно из прототипа ссылочку на одну функцию получить
П.С.
Я с такой хуйней столкнулся - я ковыряю жс уже год. Через жопу и не системно. Но сразу все. Ноду. Реакт. ES 2016. Понимаю промисы, итераторы, генераторы, асинхронные функции. Тоесть все время учил учил учил. А недавно чёт упоролся снова тупо писать на ванильном жс - и понял блядь что как то туго идёт. Эта хуйня называется синдром студента когда постоянно чето учишь/понимаешь. А на практику хуй кладешь.Пиши как можно больше кода.
>Как бонус
tail-рекурсию не забудь. Простые и элегантные решения рекурсией в OCaml'e преобразуются в цикл и не имееют оверхеда.
Javascript имеет tail call оптимизацию. Преимущество разве что если используешь взаимную рекурсию, ее JS не оптимизирует, а OCaml может.
>Простые и элегантные решения
>рекурсией
на ноль делишь.
tail-рекурсия - это костыль для фп, в которых нет циклов.
>tail-рекурсия - это костыль для фп
Рекурсия выглядит декларативней и понимается лучше чем луп в более чем 50% случаев (число наверняка гораздо ближе к 100, но не 100)
Ни в js одном движке не реализована поддержка оптимизации хвостовой рекурсии. Не пиздаболь тут.
Да, прочекал, поддержка была, ее убрали на текущий момент.
Ну и речь была не о хвостовой рекурсии, а вообще любых хвостовых вызовых (proper tail calls). Это гораздо глобальнее фича.
Я собрал на реакте допустим статичный лендинг , с каким нибудь слайдером и мелочами. Сделал я его в приложении Create React App.
Но как мне его выгрузить и собрать, что бы выложить на какой нибудь самый простой хостинг как банальную статичную страничку?
я внезапно уже выполнил npm run build
Создалось приложение - но что то нихуя index.html не работает
Тоесть банально браузером не открывается
>>Создалось приложение - но что то нихуя index.html не работает
>>Тоесть банально браузером не открывается
блядь и правда пиздос. Я еблан. Сервер нужен.
а как нибудь банально просто браузером не открыть?
appendChild - обычный JS
append - jQuery
Ну и append еще хотят добавить в стандарт JS, некоторые браузеры уже поддерживают.
https://developer.mozilla.org/en-US/docs/Web/API/ParentNode/append
Differences to Node.appendChild():
ParentNode.append() allows you to also append DOMString object, whereas Node.appendChild() only accepts Node objects.
ParentNode.append() has no return value, whereas Node.appendChild() returns the appended Node object.
ParentNode.append() can append several nodes and strings, whereas Node.appendChild() can only append one node.
Очень сложно было хотя бы попытаться?
Я делаю что то вроде: https://jsfiddle.net/160081z8/
Результат у меня отображается в созданном div
А как сделать так, что результат отображался в теге p, который находится еще и в созданном div ?
Короче иерархия примерно следующая должна быть
body.div[1].p
да уже сделал. на express развернул.
Скажи - вот хочу я выкинуть это барахло в интернеты. На хосте node я должен сам установить? Или они предоставляют это окружение?
Что то еще писать нужно?
Заголовок какой нибудь особый?
Но мне один хуй метод возвращает ответ моего localhosta
>Заголовок какой нибудь особый?
Заголовок особый должен не клиент ставить, а сервер на который ты шлешь кроссдоменный запрос. Он должен заголовком или разрешать к нему обращаться или запрещать.
Еще бы клиенты решали на какие сервера им можно ходить а на какие нет.
О том и речь. Я отправляю ajax на сторонний сервер.
Мне приходит ответ от моего localhosta
Чувствую что я просто обосрался с компонентом react.
Может кто знает в react необходимо вешать в какой момент обработчик ajax?
Я сначала рендерю компонент - а отправка ajax идет из формы. Заполнил форму - нажал сабмит - данные ушли.
Как связан реакт и кроссдоменные запросы?
const fn = () => {
element.style.width = '50px';
element.style.height = '50px';
element.style.left = '120px';
element.style.top = '40px';
element.style.border = '1px solid red';
}
Будет ли тут 5 reflow или браузер сделает батч и будет только 1 reflow? кто уверен на 100% что произайдет киньте линк с пруфам плз. А то завелся спор с коллегой по работе, он говорит что 5 рефлоу произайдет, а я говорю что будет 1.
Почему я так думаю: происходит ивент в браузере -> Вызывается fn -> добавляется в callback queue-> добавляется в стэк -> выполняется этот фрейм и происходит reflow, repaint и т.д.
Движков овердохуя. Начиная от мейнстримных и заканчивая маргинальными. Поэтому не ясно о чем ты спрашиваешь. Ни одна ссылка или мнение тебе не даст 100 верной информации. Все может меняться от версии к версии. Никто не стандартизирует процесс перерисовки.
Ты можешь открыть инструменты разработчика, например в хроме, и посмотреть сам, когда именно происходит рефлоу.
Дай коллеге задачку на подумать
Object.assign(element.style, {
width: '50px',
height: '50px',
left: '120px',
top: '40px',
border: '1px solid red'
})
допустим в хроме Recalculate Style происходит 1 раз, просто не понятно это означает что 1 рефлоу произашел или нет.
В этом случае тоже не понятно, допустим если происходит 5 рефлоу, то object.assign может решить эту проблему или нет? Якобы мы 1 раз сэтаем, но хуй знает что там под капотом произайдет.
В твоем примере не ясно как спозиционирован элемень - в общем ли он дереве или абсолютно\фиксировано. Не ясно так же есть ли у него дети.
Если учесть, что детей нет, и он абсолютно\фиксировано спозионирован, то рефлой будет один единственный. но если ты допустим вставишь между присвоениями свойств их - чтение то рефлоу тригернится раньше, а потом будет еще один, когда закончатся остальные присвоения.
Вот статья. Там есть ссылки на другие материалы.
https://habr.com/post/224187/
>что там под капотом произайдет
Потому что как и писали выше, все зависит от капота.
По существу, мейнстримные браузеры(движки) страются по максимуму оптимизировать работу с домом, в том числе их перерисовку. Поэтому в конкретно твоем примере, если отбросить иные возможные вводные, как написал анон о чтении свойст в промежутке, или влияние стилей твоего элемента на остальные, или например паралллельное изменение размера окна или разрешения экрана - то рефлоу будет один.
Спасибо большое, меня интерисовало про абсолютную позицию элемента.
А еще меня интерисует есть ли разница если это будет не абсолютный элемент в этом случае:
element.style.width = '50px';
element.style.height = '50px';
element.style.left = '120px';
element.style.top = '40px';
element.style.border = '1px solid red';
и
Object.assign(element.style, {
width: '50px',
height: '50px',
left: '120px',
top: '40px',
border: '1px solid red'
})
Обоснуй. лично я фуллстэк ебашил фронт на реакт редаксе и имел постояную головную боль. Попробуй отрефакторить пару компоентов ничего не сломав, Хуй. Что то забыл передать и все крашиться к хуям и ты потом как долбеб сидиш и смотриш где шо не так. Рантайм эксепшены. ну и ебанутая система типов и контексты. Самые лулзы в том что сейчас все хайповые тулы делают из ЖС элм, но только ебанно.
А я не имел головной боли. Ничего себе не ломал и всем доволен.
Годятся такие аргументы? Они подстать твоим.
Все языки делятся на два типа.
Те, которые большинство ненавидит.
И те, на которых никто не пишет.
Сам догадаешься, в какой категории твой елм?
))))) что не так в моих аргументах я просто указал на сложность рефакторинга в реак редукс связке. на то что инструменты типо флоу и редакса пытаюься сделать из ЖС ELM. Что не так?
Ахуеный аргумент. и что то я не помню что бы кто то ненавидел руби питон и прочие. Есть очивидные плохие языки которые юзаютья по некоторым историческим причинам, как например кверти раскладка на клаве
>и что то я не помню
Очевидно, ты слишком мало живешь.
Приходи почитать о них лет пятнадцать назад.
Никто не говорит что языки не критикуют. Но честно не разу не встречал людей которые прям охуевали от кривости этих языков.
>Есть очивидные плохие
Субъективные оценочные суждения априори не могут быть очевидны. Они вообще не могут быть истинными и абсолютными. И всем кроме тебя поебать на то, что ты считаешь и как к чему относишься.
>еще скажи что у тебя в рантайме эксепшенов нет
Интересно, как бы ты ахуевал от парадигмы repl-driven-development, где вся разработка ведется в рантайме, какого нибудь смолтолка или лиспа?
Тебе не кажется, что ты просто ищешь оправдания своей криворукости или временами пытаешься натягивать сову на глобус? Именно поэтому тебе неудобно.
Хорошо брат я с тобой согласен я очень хуево сформулировал. давай я попробую обьяснить чуть иначе. В некоторых языках , например в ЖС допушены некоторые фундаментальные ошибки.
Система типов: Не очивидная, и не очень предсказуемая.
Хуевые эксепшены следуют из 1ого пункта. И тд и тп.
>>180803
я юзаю лисп только в редакторе где ему и место.
Я не ищю оправдания своей криворукости. Я ее признаю потому что я всего лишь человек а не ходячий компилятор. И по этому я ищу лучшие инструменты что бы делать свою любимую работу еще лучше. В каком смысле натягивать сову на глобус? я юзаю жс на фронте. шо не так?
>некоторые фундаментальные ошибки.
Почему ты называешь слабую динамическую типизацию - ошибкой, если это вполне распространенный подход? Ты понимаешь, что просто опять пытаешься натянуть свое восприятие чего-либо куда-то. То что она не очевидна и непредсказуема для тебя - это твоя личностная проблема.
Если я скажу, что сильная статическая типизация - это фундаментальная ошибка. Чем мое оценочное суждение, будет отличаться от твоего?
>где ему и место.
Опять же, пытаешься проецировать собственное отношение к чему-либо в абсолютную истину.
Найс маневриш. Спрашиваю есть ли у тебя эксепшены в рантайме ты не отвечаешь. Указываю на
проблемы языка ты говориш мне что это просто субьективная хуйня))))) хмммммммм
Про экспшены в рантайме я тебе пояснил еще несколько сообщений назад, о подходах к разработкам.
И далее, ты сам начал с того, что есть какая-то фундаментальная ошибка, а потому из нее вытекает что-то. Я начал спрашивать тебя про то, схуяли ты решил, что это ошибка.
Но вот
>Найс маневриш
Иди-ка ты нахуй, разумеется. Еще с тобой о чем-то говорит.
Ебать. я спросил есть ли у тебе эксепшены в продакшене в рантайме. Ты мне ответил О ЕБАТЬ ЕСТЬ ЛСИП ТАМ ВАШЕ ВСЕ В РАНТАЙМЕ. это всеравно что говорить пидорашке что друг у тебя в стране не особо с свободой слова а он тебе ответит А ВОТ НА УКРАИНЕ....
Продолжай не призновать ошибки.
По сути реакт дает тебе возможность иметь компоненты. Типо сдела кнопочу 1 раз и ре юзаешь. Плюс реакт быстрый. Плюс в отличие от пыхи у тебя будет нормальная логика на фронте а не тупой штмл с налетом из джей квери
Основная фишка - это десктоп-лайк подход к написанию приложений. Комплуктеры мощные, нече сервера понапрасну загружать.
чтобы писать spa реакт тоже не обязателен. так какая это фишка?
можешь. Но хуево. Все что делает реакт можно сделать на обычном жс. но это не будет мантейнабл.
Мое лицо, когда написал свою первую статью на Medium, а она набрала косарь хлопков и попала в JavaScriptDaily. Я аж смузи поперхнулся.
>Плюс реакт быстрый.
Vue быстрее.
И там есть всё, что есть в реакте.
Плюс много чего ещё.
И, при этом, не нужно тащить целый зоопарк всякой хуйни для того, чтобы делать элементарные вещи.
>в жквери отличный компонентный подход на глобальных переменных.
Поправил тебя. Не благодари.
Ого, никогда не видел человека не умеющего в жквери.
>>180683
Чтоб быть достаточно простым для макак, один из принципов, который есть в ЖС, это "ран ту комплишн". Когда браузер натыкается на ЖС в документе, он останавливает всякие отрисовки (потому что ЖС их может изменить). Дальше текст ЖС выполняется от первого до последнего символа, и только потом возвращает управление браузеру. Можешь это проверить скриптом
alert(`hi`);
console.log(`log`);
Пока будет висеть алёрт, ты ни прокручивать страницу не сможешь, ни лога не увидишь.
Ответ на твой вопрос очевиден. Будет только один репейнт, независимо от позиционирований свойств, количества нод и пр. Сначала скрипт изменит свойства в ДОМе, потом скрипт закончится, и только потом браузер отресует "новый" ДОМ.
Как фиксить? Заново возвращаться к самому началу учебника и учить?
Чего именно ты не понимаешь?
Приведи пример.
Там особо и понимать нечего, вроде-бы.
Думаю, дело в хуёвом учебнике.
Классы - это просто тонкий слой сахара на конструктором и прототипом.
Т.е. это не настоящие классы.
И они не работают в большинстве браузеров.
Алерт - это модальный диалог.
Что ты хотел проверить таким образом?
Что он модальный?
Ты в своём посте вообще перепутал тёплое с мягким - парсинг и выполнение блоков скрипта при загрузке и выполнение кода функции при её вызове.
Но, зато не забыл поглумиться над тупыми макаками.
Однако, действительно, пока функция не отработает - никаких перерисовок не будет.
И было бы очень удивительно, если бы они были.
Хоть в JS, хоть в чём.
если скомпилить их бабелем, то все прекрасно работает и не надо ебать себе мозг конструкторами и прототипами.
>кто уверен на 100% что произайдет киньте линк с пруфам плз.
1 раз. Инфа 100%.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/EventLoop
"Run-to-completion"
Each message is processed completely before any other message is processed. This offers some nice properties when reasoning about your program, including the fact that whenever a function runs, it cannot be pre-empted and will run entirely before any other code runs (and can modify data the function manipulates). This differs from C, for instance, where if a function runs in a thread, it can be stopped at any point to run some other code in another thread.
>А то завелся спор с коллегой по работе, он говорит что 5 рефлоу произайдет, а я говорю что будет 1.
Ещё не общался с ним?
Поспорь на 100 баксов, минимум.
У Кантора хороший учебник в плане того что все структурировано и довольно большой охват, удобно возвращаться если нужно освежить знания, но объясняет он иногда супер хуево, особенно если это твой первый язык. Если спотыкаешься то посмотри как тему на которой споткнулся объясняет кто-то другой.
Вот дойдешь до прототипов дроченых - тогда и прихуеешь.
Двачую.
Если весь учебник я сам освоил. Просто этот учебник нужно читать вчитываясь до последнего слова.
Я вот в разделе про es-15 - про промисы вообще нихуя не понял.
На ютубе уже прокачался.
Короче собрал тест страничку - на ней есть форма. Это отдельный компонент. Форма отменяет стандартный сабмит и отправляет ajax методом fetch.
Вопросы:
1. Что почитать (желательно на русском) по организации react приложения?
2. Читал что все ajax запросы должны располагаться в root элементе. Почему так? То что я запихнул ajax в обработчик события onsubmit - это не правильно? Читал что нужно помещать ajax в событие componentDidMount(). Но чет вообще не понимаю зачем.
3. Кроссдоменный запрос - это со стороны клиента обычный запрос, на который сервер должен ответить заголовками установленными стандартом?
Посмотрите пожалуйста мой запрос - он вообще корректен?
Подскажите какой нибудь сервис который принимает ajax и отдает какой нибудь ответ.
Если есть кто разбирается - как правильно скомпоновать отдельное одностраничное приложение?
Redux по как что не беру в расчет.
Вот компонент:
https://codepen.io/anon/pen/PeWjwG
>Подскажите какой нибудь сервис который принимает ajax и отдает какой нибудь ответ.
https://www.mockable.io/
>2.
Хуйни начитался. Иди читай доки реакта про стейт лифтинг.
>>Иди читай доки реакта про стейт лифтинг.
Это я умею - как бы в вакууме. Ну типа как в примерах - заполнять формы во всех imput-ах потомках через родителя. Но нихуя не пойму как с ajax применить. Зачем передавать, как передавать.
Я запутался нахуй во всех этих заголовках, какие заголовки ручками нужно ставить обязательно, какие заголовки обязательно ожидаются от сервера.
Вот я собрал данный форма в JSON массив и отправляю меодом fetch. Какие заголовки мне нужно обязательно указать? Например - "Content-Type"? Какое у него значение?
Если кому не лень - на пальцах разъясните основы этой темы. Какие заголовки обязательны, какие нет.
fetch для хипстеров и пидаров, нормальные мужики пользуются XMLHttpRequest.
Аякс вообще для пидаров. Нормальные мужики исповедуют "Одна страница, один документ". Даже картинки, <img/> тоже для пидаров.
>>fetch для хипстеров и пидаров, нормальные мужики пользуются XMLHttpRequest.
Бля, не еби мозг. Нахуя я ебался с пониманием промисов? Хоть где то применяю, ну пробую применять.
>Даже картинки, <img/> тоже для пидаров.
Правильно. Вот скоро введем Чебурнет, там никакой порнографии не будет. Только православные тексты и таблицы. Раньше в FIDO ведь как-то обходились без картинок.
fetch('https://2ch.hk/b/catalog.json').then(data (М) => data.json()).then(json => console.log(json));
Коль скоро у тебя MVC-приложение, тебе нужен отдельный компонент, назови его «Connector», и пусть он и отправляет запросы на сервер. Он же будет обращаться к модели, а она — вызывать своих подписчиков (которые затем будут обращаться к ней же через функции-геттеры, чтобы отображать данные).
Я наверное путано всё это объяснил, но руководствах даже примеры есть. Ищи и найдёшь.
Со стороны сервера ставим только один заголовок:
<? header ('Content-Type: text/html; charset=windows-1251'); ?>
Или передаём данные в UTF-8, тогда ставим «UTF-8».
На русском врядли что то найдешь, да еще и свежее.
В твоем случае ты можешь положить свой аякс запрос в метод класса, т.к. рендеринг формы не требует каких то данных с апи.
Если твое приложение становится больше - тогда можешь хранить все в родительском HOC, и отдавать вниз функции.
Олсо, у тебя говнокод. Никто уже не пишет партянки из .bind(this). Иди гугли class properties
Вот так это выглядит (прошу прощения за неровный почерк).
И теперь я могу передать объект "model" куда угодно и кому угодно, и там обращаться к полям объекта, будто они и вправду есть в нём...
>Никто уже не пишет партянки из .bind(this). Иди гугли class properties
А у меня вот так написано.
>>у тебя говнокод
Знаю что не современно слегка.Но я в более фундаментальные вещи не вкуриваю.
>>ты можешь положить свой аякс запрос в метод класса
Непони. onSabmit мой и так вроде как метод класса (из прототипа же один хуй)
>>181665
>>тебе нужен отдельный компонент, назови его «Connector»
На какой уровень его пихать? В самый корень root? И потом к этой форме спустить обработчик из этого connector (это подъем состояния получается?). И потом по цепочке props спускать вниз уже данные (ха ха, обратно то ничего в форму не идет и поэтому и не нужно вниз в форму ничего передавать)?
>>181666
Я тупанул блин. Я спрашивал про AJAX методом POST c отправкой данных.
Если отправляем POST-ом JSON?
Спасибо котаны.
у него far manager походу
Оно полноэкранное и яркость тут погашена.
Но тебе никуда от этих цветов не деться, т.к. их позавчера приняли в стандарт языка.
>Коль скоро у тебя MVC-приложение
То, может быть, стоит использовать MVC-фреймворк, лол?
Vue, например.
Ну, React - не MVC. Это просто V.
И это преподносится как достоинство.
И Flux (Redux) - это тоже не MVC.
Это официально мнение разработчиков этих фреймворков, если что.
Ты опять выходишь на связь из своего ms-dos?
>Да используй ты уже редакс наконец.
Ему же всё равно надо будет модель предметной области написать (хоть как-то).
Какого рода проекты?
Мне как-то не очень понятен смысл этой "платформы" (как они сами это называют).
Какие-то тонны бессмысленного бойлерплейта, какая-то хуйня, молофья.
Как можно что-то писать на этом вообще?
Это же какой-то лютый монструозный гуглопиздец.
В который раз уже пытаюсь ознакомиться, и сразу, буквально, воротит от этого. Именно от обилия всякой бессмысленной хуйни.
При том, что я нормально могу писать на Swing, на jQuery, на Vue, на React. И backend на Java EE.
Легаси проекты в кровавом энтерпрайзе (начатые еще до появления реакта).
Ну и Микрософт его пиарит, вместе с TypeScript.
>При том, что я нормально могу писать на Swing, на jQuery, на Vue, на React. И backend на Java EE.
Так нормальным людям ни Angular, ни TypeScript и не нужны. Для жабы вообще лучше Vue.js, чтобы не привязываться к npm/webpack/etc., а использовать один Maven/Gradle для полной сборки.
>а использовать один Maven/Gradle для полной сборки.
В смысле?
Там есть какие-то готовые приблуды для сборки JS?
Я уже начал потихоньку своё колхозить.
Скрипт сделать
Лол. Ну-ну.
простое приложение на реакте, пара статичных картинок, и фонты.
Я просто не в курсе современных реалий, но помоему 2.5мб для чуть более сложного приложения чем хелло ворлд это слишком.
Самое смешное, что с опытом ты постепенно привыкаешь к подобному дерьму.
Показывай package.json и конфиг вебпака, телепаты в отпуске.
> использовать один Maven/Gradle для полной сборки
А нахуя? Я спокойно интегрировал вебпак в Ant за денек.
Нихуя ты шуткун.
Очень ограниченно.
Неудобно.
В Vue всё гораздо умнее сделано.
Компоненты доступны снаружи как объекты.
Есть свои события.
Есть MVC, в конце концов (two way binding).
Причём, он есть, но пользоваться им тебя не заставляют.
Хочешь только one way binding, как в реакте - пожалуйста.
И да, там есть Vuex (это такой свой редакс), но это для любителей. Без него всё прекрасно работает.
Я думаю, его допилили, чтобы никто не гундел, что вот в реакте есть, а у нас нету.
мобХ>редакс>стейтоговно
Не знаю в какой тред написать, но пишу бота на жс, поэтому напишу сюда. Ананасы, есть у кого опыт с приемом платежей на Яндекс.Кошелек? Как получить инфу о том, что платеж успешно поступил? Делаю телеграм бота, с меня возможна нефть.
Константа lib. Я ее добавил в 5 строку.
Скрипт выполняется в ./webpack, так что перед node_modules как-бы должно быть "..". Но это тоже не работает.
Welcome to the programming nightmare. Unlike other structured and well defined languages like C or Java, Node was built ‘unnaturally’, by forcing specialized front-end language javascript to act as a back-end.
Result is a mess. You have tons of required so called ‘npm’ modules built by all kind of high-on-ego programmers and their mother. Would you buy a car built by a 10,000 different guys of all kind of backgrounds? Of course not, there would be standardization and incompatibility problem.
Exactly same happens with Node or Node/MongoDB/REST API. You build an app, only to find out that after some time many modules depreciated some commands and even changed syntax. Can you imagine this?? You build code by using proven rules, only to find out the rules had changed and you need to learn new rules and edit your old app in order to make it work again. A maintenance nightmare. If you have built many apps , you may easily end up maintaining them full time.
For example user authentification/token is simple in PHP and other languages, but in Node it is a pure mess. Unnecessary complicateons, layer after layer. People that have built this have no clue of sistematic approach and standardization. No wonder so many prog’s hate js environment.
Additionally, every module has its own rules, mini syntax etc. So you end up learning Node AND many new mini languages. Complete waste of your precious time resources. Yet you have to learn it because today’s programming world is rather snobbish and fake, those IT managers all heard that Node is a new and a ‘cool’ thing, so ‘they have to use it’.
I hardly await for some smart guy to finally build a decent and reliable back end programming language that will handle modern asynchronous tasks in an elegant way. Modern Dennis Ritchie for the back-end.
>to find out the rules had changed and you need to learn new rules
Можно не обновлятся. No biggie.
Так и не понял из поста это нода плохая, или бухгалтерша с вахтёром которые заставляют переписывать проект на Модную_хуйнянейм каждый раз как только услышат её название от хипстеров с подворотами.
Таки я долбоеб. Вчера сам пофиксил тупо прочтя доки ноды и написав import {ModuleFileNameHelpers} from 'webpack';
>Adobe Muse
Это реинкарнация Dreamweaver?
Они же купили Macromedia.
Не думаю, что пилили с нуля, имея купленный весьма годный продукт.
>>179850
Погуглил.
Dreamweaver они тоже продают, лол.
Молодцы, всё правильно делают.
Вот тут сравнение, если кому надо:
https://superbwebsitebuilders.com/adobe-muse-vs-dreamweaver/
Ну хз, я безработный системный программист, изучаю JS чуть больше месяца и уже пишу туду лист на реакте. Трачу на изучение почти весь день с перерывами на аниме, сериалы и гири. К вечеру голова не варит, но я продолжаю читать статьи и коммитить кодесы на гитхаб.
я так и знал, фасебук нинужон
У нас в мухосрани требуется только ангуляр. Насколько, для вкатывальщика, он сложнее Реакта?
>я безработный системный программист
ебать ты карасик. я как понимаю ты уже был программистом и чисто джаст фо лулз джс учишь? Это для тебя не первый яп? У меня чет совсем туго идет всё. Ты по ходу уже можешь джуном идти
Прям с колен поднял?
Ты умрешь с голода. Или будешь старым, нищим, никому не нужным говном.
В семь раз.
Чому если я тискаю на кнопку "нажми меня" у меня добавляются дивы. Ну т.е. у меня каждый раз при клике добавляется новый ебаный див с новым ебаным текстом. Почему блять это хуйня не работает один раз? Нажал на кнопку -показло сообщение. ХУли блять если нажать 10 раз, то появится 10 сообщений? Почаны, ради путина прошу подскажите, где проеб!
http://plnkr.co/edit/GiRfC00P7rAFBn4cJky6?p=preview
прохожу курс js на степике с их ебанутыми заданиями.
сабж
В этом задании вам нужно вычислить сумму всех четных чисел, встречающихся в ряду от 1 до числа (включительно), передаваемого в нашу функцию (переменная "а").
предполагается, что это нужно сделать циклом while. Мой ебанутый код который нихуя не работает, допоможи, Анон.
https://jsfiddle.net/#&togetherjs=05TGiunlnA
Вроде у тебя все правильно, не знаю, что ты там бесишься.
ну это уж совсем для дауничей задание же
function sum(n){
let i = 2;
let sum = 0;
while(i < n){
sum+=i;
i+=2;
}
if(n%2===0){
sum+=n;
}
return sum;
}
А в твоем примере у тебя i%2==0 в while на 1 шаге обсирается(т.к 1) и выхожит из цикла
сорь
Да, все нужно учить. Или ты думал, что программировать, это как легкая прогулка на свежем воздухе?
Есть у кого-нибудь что-то подобное?
Сам не программист, для своих офисных целей нужно именно страницей это сделать и без сервера.
я и есть даун, добра, бро
Ты опять не туда написал
CSS3 со своими наворочеными селекторами и анимациями - не программирование что ли?
Даже близко нет. Это как сравнивать построение домика из кубиков и производство микропроцессоров.
Нет, жс для реакта знать не обязательно, т.к. там jsx и виртуальный дом, а жс не используется. Html и css тоже не нужны - ты же будешь писать приложения на реакте, а не лендосы под ключ для дяди васи, как в 90ых.
Так что не слушай жирных провокаторов выше, выбирай либо ангуляр2(первый уже морально устарел) либо реакт/вью и в путь изучения. Те, кто говорят, что надо выучить кучу ненужного устаревшего говна просто пытаются вставить палки в колёса нлвичкам, чтобы те тратили время на устаревшие и сложные технологии.
на ноде и мультик можно
По такой логике и рисование в фотошоп, или моушен-дизайн в эффектсе - программирование. Скажешь, что там таскание мышкой, а не декларативный подход - и миллионы делфи-программистов тебя обоссут.
Что не так, мань?
Ты просто умственно отсталый. В css уже давно завезли и функции и переменные и циклы и условия.
Там где помечено красным, убери круглую скобку и точкузапятую.
спс, а ты сам на чем пишешь. как оно в работе, как со спросом?
Поищи на ютубе "kids react".
>А можно с помощью JS без сервера редактировать изначальный html?
долбоеб, тебе основы компьютерной грамотности нужно учить, а не фреймворки
Чего тебе так рвануло с его вопроса?
Сам работаю техлидом в крупной американской компании и тоже не смог бы ответить на этот вопрос без гугла.
иди на хуй, долбоеб
>Нахуя вы новичков пытаетесь сбить с толку ненужным легаси говном?
Так то не легаси-говны, а обработчики нажатий на кнопки в реакте вашем. Думаешь, они на каком-то другом я/п написаны, не на ES5+ в режиме 'strict mode'?..
Не пользовался, но вполне очевидно, что не навешано событие на тоуч.
А оказалось Delphi и 1С.
Какие есть бест практисы для добавления обработчиков кликов к таким реакт компонентам?
Вопрос был о другом.
Так же, как и всё остальное:
onEdit={this.edit.bind(this, component)}
onDelete={this.delete.bind(this, component)}
onCancel={this.cancel.bind(this, component)}
onSave={this.save.bind(this, component)}
Дебилоид у нас это ты. Походу для тебя и jquery с js это одно и тоже.
Братишка, ты есть здесь? Модешь пояснить за строчку код, а то я тупой.
if(!element.value && !document.getElementById('pidr' +i)){
Что это значит? Получается если поле елемента пустое и элемент не имеет айдишника "pidr" ? а что обозначает + i. Я не понимаю.
тоже самое и здесь, ты пишешь
mas.setAttribute('id', 'pidr' + i); получается что переменной мы добавляет атрибут id=pidr", а что значит это + i ? поясни, плиз.
делает x = стринг abc1
Где определять эти обработчики? В классе компонента, описывающего один элементарный Todo, или в главном классе App? Что сделать для того, чтобы предусмотреть удаление записей Todo и сохранять их между обновлениями страницы?
Шах и мат.
Проблема была в том, что два Modal (от Drawer и Dialog) накладывались накладывались друг на друга. Решение проблемы — передать в ModalProps Drawer'а disableEnforceFocus: true.
Господином ты точно не станешь. Холопом скорее всего.
Работодатель хотя бы не упадёт в обморок, узнав что у тебя в 23/24/25/... лет даже нету трудовой, например. Уже преимущество
Если усердно работать + пиздеть на собеседованиях про опыт фрилансаесли будут просить показать работы - говори что nda - то где то за 5 месяцев сможешь вкатится.
не, у меня в трудовой 3 года в тех. саппорте и 4.5 года гейварминге комунити манагера.
Так резюме у меня не совсем хуевое будет типа водитель говнососки-забойщик скота -опен фо нью опатюнисес.
Хотя и к моему резюме возникнет масса вопросов, хули я 4.5 года хуи пинал со школьниками на форме, а не развивался. Но щито поделать. Тяжко быть вкатывальщиком
а хули ты 4.5 года хуи пинал со школьниками на форме, а не развивался? Почему именно сейчас решил что надо вкатывать?
>котором мне надо сделать определенный действия, только после того как шрифт загрузится, в .jsx файл я импорчу файл с sass, где этот шрифт грузится, так вот на дидмаунте компонент шрифт еще не приминился и репаинт в браузере не праизашел, но мне нужно брать размеры элемента и они не корректны т.к. шрифт еще не применился, сэт таймаут решает проблему, но это хак, и в пулл реквесте мне пизды за него дадут, как это можно сделать нормально без сет таймаута
http://qaru.site/questions/73194/how-to-be-notified-once-a-web-font-has-loaded ?
3 месяца если не пиннать хуи.
Это вместе с реактами, сагами, редаксами и прочей хуйней.
Если хочешь webgl, threejs + glsl - еще 2 месяца и будешь получать уже значительно больше 90: этого треда
Я другой анон, но вот так планируешь, это 3 месяца, это 5, а на деле всякая ерунда всё-время происходит, не понос, так золотуха. И всё получается совершенно по разному. Хотя в идеале, конечно, можно за 3-5 месяцев накатиться.
>планируешь, это 3 месяца, это 5, а на деле всякая ерунда всё-время происходит, не понос, так золотуха. И всё получается совершенно
Если ничего не отвлекает и методично обучаться - можно вкатится
Естественно, дорогу осилит идущий.
Ууу как же у меня от тебя пригорело, тупой ты уебок. Так учишься 5 лет на прикладной математике, а такие уебки как ты на собеседовании считают точно также: а что же ты не развивался? А нахуя тогда учиться, сука ты тупая, если все равно на работу не возьмут? В советском союзе выпускников и устраивали по специальности, и ообеспечивали квартирами. Ты приходил на работу и тебя там учили на месте. Если, скажем, ты приходил подмастерьем, то через полгода-год уже был мастером. Сейчас даже на работу не возьмут, потому что нас страна уебков и у власти дегенераты. Дегенераты на всех уровнях управления, начиная от государственного устройства и заканчивая теми, кто берет на работу.
мысли давно были, да и друг фронтендер давно всё говорил "давай вкатим тебя, давай вкатим", но лень понимаешь дело такое, деньги платят, работа не напряжная, а тут меня сократили нахуй, лол. И я понял, что пора!
Если коротко, то как-то так. А так я могу долго и подробно описывать, как я ждал, что вот-вот вырасту в какого-нибудь продюссера и уеду на кипр.
Прошел в одну компанию, но они закрыли вакансию сказали что они пока не будут набирать джунов, в другой дали оффер тоже на реакт, но там условия слишком рабские, понял что надо дальше изучать язык, в итоге прошел еще один собес, хорошие условия, нормальное время до работы,вроде как интересные задачи, официально оформляют, норм зп для первой работы(40к чистыми), но по сути как оказалось после устройства на работу, там на проекте пара прогеров(бэк(тоже джун) и еще один python программист) и весь фронт на мне, и небольшая серверная часть на питоне(что было обговорено когда я устраивался), но из-за того что нет ментора или просто руководителя который разбирается в программировании,я переживаю над качеством своего кода, тк задач много и делать надо быстро на результат так сказать, чтобы работало, и технологии по сути там используются устаревшие в js по сути jquery да и только, es6 не используется, код ревью тоже нет.
Я переживаю над качеством моего когда, и в целом обучением тк щас во всех нормальных конторах es6 это норма и react или vue, а на работе этих навыков в работе, я не приобретаю, и вместо Node js там Flask на питоне, хотя в этом я не уверен что это плохо.
Что-то много текста получилось, буду рад любому совету.
Конечно ты слегка не прав: учеба в вузе не гарантирует тебе работу, и надо не откладывать какую-то цель, мотивируя себя тем что ты "учишься ведь. Вузик. Учусь", забивая при этом на все остальное.
Но соглашусь с тобой, что раньше с трудоустройством было чуть легче. Сейчас же либо нужно либо быть везучим\сыночком кого-то\знакомым того-то и т.д.
P.S. Если ты учил матан, то нахуй тебе этот Джс и Веб? Это ведь по сути днище айти.
Во всех фирмах сейчас «норма» — это сраный 1С и производные от него.
По-моему, jQuery вполне себе труЪ технология, радоваться надо, что не ExtJS.
По стилю есть вот такие книги:
David Herman, «Effective JavaScript»
Nicholas C. Zakas, «Maintainable JavaScript»
Douglas Crockford, «JavaScript: The Good Parts»
>Где определять эти обработчики?
У меня в файле http://www.r-5.org/files/projects/bookshelf-v10.zip" они располагаются в миксинах, которые подключает React к классам, создаваемым с помощью функции "createReactClass()". В твоём случае эта функция не вызывается, так что даже и не знаю... пока расположи их в том же классе, где и функция "render()".
>В классе компонента, описывающего один элементарный Todo, или в главном классе App?
Уж точно не в главном.
>Что сделать для того, чтобы предусмотреть удаление записей Todo и сохранять их между обновлениями страницы?
Для этого тебе нужен слой "Модель предметной области", он же "M" в трёхзвенке M-V-C.
Модель, модель, модель, модель, модель, модель, модель, модель, модель, модель, модель, модель, модель, модель, модель, ясно?
Она будет записывать данные в память браузера.
Она же будет рассылать уведомления, когда они будут изменены.
>Хотя и к моему резюме возникнет масса вопросов
Не возникнет, его попросту выбросят. ENJOY YOUR DISCRIMINATION, HOMO HOMINI MACACUS EST.
читал про это на стек оверфлоу, но мне как-то всеравно решения которые там приведенены еще хуже чем таймаут, типо рендерить спан и проверять его размер, если поменялся значит шрифт загружен, чет хуево как-то.
Ну три месяца для совсем нуля - это ты загнул все же. Либо реально по 8 часов работать, причем именно работать, а не то двач, то аниме-саморазвитие, то чаю попить, то еще что то. Кантора в среднем осиливают за три месяца регулярных, постоянных и концентрированных занятий. Это с решением всех задач и прочим.
Я лично "оче" сильно проебывался. И еще месяца полтора на реакт. Короче если норм работать за полгода ты сможешь очень норм вкатиться.
Только хуй вот вытянешь. В самообразовании, во всей этой хурме на первом месте стоит не "способности", "склад ума", "призвание", "опыт" и прочее - а блядь ебаное упорство, и самодисциплина. Я вот в качестве хобби JS дрочу уже год, но я проебывал месяцами. Отвлекался на ленивые ковырянии в node.js. Садился "заниматься" лениво попинывая хуй и скролля двач паралельно. По результату хуиту получил. Щас вот собрался - за недели две уже чето в react понимаю. Вспомнил как промисы работают и всякое такое.
>>183255
Вкатывайся. Я тебе советую, с самого начала начни не с того "ща я нахуй за минимум времени прокачаюс, да я буду заниматься по 25 часов в сутки"- это хуита - а с того что организуй свое рабочее время. Начни с того что хотя бы часов 5 в день позанимайся, не отвлекаясь. Сосредоточенность и упорство решает -все остальное вторично.
Сам вкатываюсь в 32, лол, долго работал сисадмином - заебало в край. Два месяца как уволился. Сейчас стараюсь себя перевоспитывать.
Характер важнее чем все остальное вместе взятое в этой жизни. Так что прояви его, и развивай его анон, добра тебе.
И как известно - Nulla tenaci invia est viaДля настойчивого нет непроходимых дорог
если можешь написать свою реализацию промиса на ванильном жс - можешь пробывать на джуна
инфа соточка
Ну допустим по стилю я разберусь, ну а с тем что у меня по сути не с кем советоваться, и я не работаю с реактом или другим фреймворком типо vue это разве норм? Как и то что не использую es 6
>ймаут, типо рендерить спан и проверять его размер, если поменялся значит шрифт загружен, чет хуево как-то
а проебаться с размерами из-за того что на слабом устройстве пользователя (или из-за плохой связи) твой шрифт загрузится за 400мс а у тебя сеттаймаут 250мс не хуево? Блять в очередной раз убеждаюсь что на дваче дегенераты сидят
На react сделал форму - нужно отправить ее на сторонний сервер. Мой сервер по http работает, сторонний по https. Как сделать что бы работало?
>Ну три месяца для совсем нуля
Не совсем, он написал, что он верстку html, css освоил и базовый жс. То есть теперь дело за реактом и углублением в жс.
Пишу, чтобы сообщить, что перекатывать дальше не смогу, подхватывайте инициативу сами. Я в СИЗО. Без галки, думаю, ясно почему. Всем добра. Берегите себя.
Какой ноут взять, чтобы открывать фотошоп, виртуалку, пхпшторм и 3 браузера по 50 вкладок в каждом? до 80к
лол
Цимис в том что тут сама постановка задачи не верна:
>> что за год чистого времени тренировок будет черный пояс.
Целю удалена, и на своей удаленности как бы сглаживает косяки и трудности на пути.
Я тайским боксом занимался - и могу сказать что гораздо вернее отработать текущую тренировку по максимуму, и не думать об абстрактном "черный пояс через год".
И мне кажется что любая инициатива в самом истоке должна начинаться не с того "что бы включить в свою жизнь новые действия", а с того, что бы исключить "старые деструктивные привычки и действия".
Это я к тому что вкатывальщики 25/8 - в 99 % случаев будут проебывать свое "рабочее" время в пустую. Приучить себя строго и сосредоточенно заниматься 4 часа - гораздо правильнее чем давать себе неисполнимые команды "работать 25/7".
>сосредоточенно заниматься 4 часа
Лол, дохуя берёшь.
Если типичный вкатывальщик хотя бы часик в день будет уделять - уже хорошо.
Лол, смешно, но эту сермяжную правду я вынес их второго старкрафта зерг алмаз.
Кто играл знает, что по итогу вся суть этой игры заключается в парадигме - "кто меньше накосячил тот и в дамках".
Так и в жизни - кто то допустим хорошо делает свое дело - но допустим бухает, и для него это диструктивный косяк. Другой, делает все так же хорошо а может и хуже - но не бухает.
Кто то ленив, кто то труслив и т.п. - это по факту не зависящие от внешней среды косяки, которые мешают тебе добиться успеха. Даже конкуренция не нужна - ты сам себе конкурент.
Больше данных нужно, где живешь, какой опыт уже есть?
>Не хочу обосраться и задрачивать то что или не ненужно или сдохнет скоро.
Ну так учи сам язык, а не надстройки над ним, в чём проблема?..
И еще один пример, где также создается таблица, но только внутри тега с определенным идентификатором (id). Был бы очень признателен. Не могу найти как такое реализовать
const createTable = id => {
const table = document.createElement("table");
table.setAttribute("id", id);
return table;
};
const appendTable = parentId, id =>
document.getElementById(parentId)
.appendChild(createTable(id));
Тебе наверно надо таблицу как-то данными наполнить. Ты конкретней спрашивай, не стесняйся.
Ну вот например мой пример. https://jsfiddle.net/05sq8c5f/5/ он там не запускается, проверь у себя код
Хочу, чтобы при вызове функции doTable() таблица делалась в div с идентификатором "one". Пока не могу найти как это сделать. Ну и еще хотелось бы как нибудь избавится от употребления innerHTML и оставить чистый DOM, но примеров лучше я не нашел
>тестеры
Всегда думал, что ковырять чужую ебанину, и чекать на ошибки, гораздо сложнее, чем её выдумывать.
диванный
Aue.js
Но как же дохуя технологий, один блядский нод со своими 9999 пакетами и 99999 версиями которые конфликтуют с друг другом блять по кд.
Мне реально так хуево от такого количества свалившейся информации. Вот раньше времена были то, скачал простенький php фреймоврк, наговнокодил, заправил jquerry и готова. Тут же я блять даже кодить начать никак не могу, я в своей жизни столько букв не читал блять.
Пиздец, лучше возвращайся обратно в свой php. Будешь тру программистом, пока верстальщики лезут в бекенд.
Иди гугли express/koa
>язык будущего
далекого и туманного
>9999 99999
Прост индусы окончательно захватили индустрию, как-то залез почитать
в вики про их религию - индуизм, и охуел, тысячи богов, десятки ветвлений, с различными трактовками одних и тех же вещей - короче этот народ не умеют в порядок, либо у них свое понимание порядка и весь этот хаос они несут в IT. Индусский код трансформировался в индусскую архитектуру ПО.
За бинды нужно пиздить, причем ногами. Стрелочные функции лучше:
<div onClick={e => this.handleClick(e)}>...</div>
ну ок, это фреймворк что бы ты не писал своими пхпшными руками велосипедов
лучше расскажи как ты собрался ноду запускать на нгинксе, очень интересно послушать
>Прошу рассказать кто как это видит.
Выше обсуждали «модель» и «коннектор», с примерами.
Можно и лучше, наверное...
Я вижу это так.
<div id = "one"> </div>
Нужно создать таблицу с помощью js, которая вставлялась бы в div с идентификатором "one". Как это сделать? Я все прошерстил, но ничего не нашел. Прочитал весь DOM, но без примеров плохо получается сообразить что делать нужно
document.getElementByID("one").innerHTML = "html код таблицы"
Обьясните как так то? Почему сравниваются не значения внутри переменных, а что-то другое? В чём смысл такого сравнения? ЗАЧЕМ?
Сравниваются не значения (поля) внутри переменных (объектов), а ссылки на объекты, грубо говоря у тебя object1, object2 и object3 просто ссылки на разные ячейки памяти, которые в свою очередь содержат что-то ещё (например value со значением 10 в случае object1 и object2). object2 ссылается на ту же ячейку, что и object1, поэтому ссылки равны, object3 ссылается на другую ячейку памяти и там false при сравнении, хочешь сравнивать значения внутри полей разных объектов, то делай object1.value == object3.value, там будет true
поправьте кто шарит, ибо я сам зеленый
>Сравниваются не значения (поля) внутри переменных (объектов), а ссылки на объекты, грубо говоря у тебя object1, object2 и object3 просто ссылки на разные ячейки памяти
Но ведь по этой логике ссылки object1 и object2 должны тоже быть false. А там true. (Спасибо за ответ анон.)
>>184556
Это и есть доки.
>Но ведь по этой логике ссылки object1 и object2 должны тоже быть false
Не-не-не, когда я писал
>object1, object2 и object3 просто ссылки на разные ячейки памяти
я имел в виду в общем и целом, в твоем же конкретном случае object1 и object2 ссылаются на одну и ту же ячейку
Спасибо няша. Теперь я понял.
я может пьяный был, но где-то читал что == сравнивает как раз значения(т.е должно быть тру), а по нормальному сравнивать по ссылке как в нормальных языках надо ===. Но в любом случае == еще та параша, которую лучше не юзать.
Ты какой-то странный. Смотри issues в репозиториях npm пакетов и правь.
ctrl + F нажимаешь такой и вуаля.
Обычно ишью помечают "begginer", "easy" или "good first issue". Посмотри в тех репозиториях, в которых хорошо разбираешься как пользователь.
https://opensource.guide/how-to-contribute/#finding-a-project-to-contribute-to
https://github.com/nodejs/node/labels/good first issue
Элокент - это вообще не для ньюфагов. Там с 4 главы начинается такая срань, что мама не горюй. Проходят массивы, про обьекты ничего не рассказали, и дают массив обьектов. Крутись как хочешь.
Книга Сильные стороны JavaScript написана про ECMA 3!
Шаблоны JS - книга 20011 года, но это перевод книги вышедшей в 2010 году! Безнадёжно устарела.
Если ты уже на таких элементарных вещах тупишь, то я думаю программирование не для тебя. Дальше будет намного сложнее, и тогда тебе вообще пиздец будет.
jQuery или шаблонизатор lodash
Проблемы с синтаксисом. Весь синтаксис то не выучишь же. Я, например, знаю как это должно в теории работать, но не знаю какой используется синтаксис для данной работы. Ну и опыт относительно большой, приходилось даже простейшие классификаторы на js+jQuery делать. Если есть что по делу сказать, то это было бы чудно
Я ньюфаг, Вы же тут титаны JS которые имеют опыт 9000 часов и зп 300кк баксов в секунду.
Это что за ссылки? Почему он просит ввести email?
Бля, все нормально. Это я дибил. Автоматом раньше вставлял через $("body")... И забыл, что тут id вставить достаточно
Я знаю что такое слак. По этой ссылке даже не слак открывается а блядская форма для ввода почты. Не говоря уже о том что у этой ссылки домен не слаковский.
Почитай про замыкания
Вероятно, переменная задает значение функции m, и оно будет неизменным, в отличие от n? Пиздец убогая книга, конечно. или я туповат
У тебя там 2 вызова первый возращает функцию у которой уже иницилизировано n и оно равно 10 второй вызов где консоль лог передает в нее m которое равно 11
А ты кто такой вообще?
Это по факту то же самое что это:
function greaterThan(n){
var IAmVisible = n;//Ссылка на эту переменную НЕ сдохнет когда код greaterThan завершится, она будет жить благодоря функции ниже.
return function(m){ //анонимная функция которая позволяет переменной IAmVisible жить и использует ее в своих операциях
return m > IAmVisible;
}
}
greaterThan10 = greaterThan(10);//вызовит фун-ию greaterThan и возвратит нашу анонимную функцию, которая будет иметь доступ к 10
console.log(greaterThan10(15)); //теперь уже вызываем саму анонимную функцию со значением m=15.
console.log(greaterThan10(9)); //вызываем нашу анонимную функцию с другим значением m
greaterThan20 = greaterThan(20); // у этой функции свое окружение(=closure, =замыкание) с переменной n = 20.
console.log(greaterThan20(15)); //false
Потому что сравниваются ссылки а не содержимое объектов. В твоем случае тебе нужен deep equal, про это даже у кантора есть.
То что у тебя на пике называет каррирование/карринг.
Что бы задать m тебе надо сперва вызвать функцию с n.
Например так f(1)(2).
1 будет n, 2 будет m.
Почему это так работает уже объяснили - это замыкания.
Олсо для таких вещей лучше использовать лямбды что бы код был проще и что бы не проебать контекст где нибудь по пути.
Было бы так:
const f1 = n => m => m>n;
Ебануться конечно. Зачем это вообще сделали? Если я захочу юзать функцию челика, мне нужно будет читать сорцы, а уже потом понимать: ага блять, здесь ебана Н, а потом идет М.
Это же сбивает с толку.
мимобайтоеб
добро пожаловать в функциональный мир js, где ты по кд будешь ебать себе голову об сторонние библиотеки зато твой код будет гибкий и компактный.
>Если я захочу юзать функцию челика
То тебе в любом случае придётся заглянуть в доки по использованию этой функции, где всё и будет рассказано.
Добрый день.
Подскажите, почему мой код из книги не хочет работать?
Всё проверил, синтаксис верен от и до.
Такое ощущение, будто мозила тупо его не видит.
И заодно порекомендуйте другой разметчик, а то нотепад ++ мне не нравится.
Заранее спасибо за ответы.
vscode - стандарт индустрии
>medium.com/@utkarsh_verma/configure-nginx-as-a-web-server-and-reverse-proxy-for-nodejs-application-on-aws-ubuntu-16
Ты дебил - анонче выше прав. Express - это Node.js сервер с небольшими УЖЕ обойденными граблями. Возвращайся в свой PHP и запускай там апачи, кек
я вам покушать принес
Ты с какой-то хреновой и старой книги начал. Подход "сверху вниз" работает прекрасно всегда. Кроме первого раза.
Посмотри для начала этот плейлист под пивас:
https://www.youtube.com/watch?v=Sy_wba7l1UU&list=PLawfWYMUziZqyUL5QDLVbe3j5BKWj42E5
Очень пригодится.
>почему
Разбираться в твоей дрысне со скриншота никто не будет.
>Такое ощущение, будто мозила
Ты экстрасенс или инженер? Открой страницу в Мозиле, нажми Ф12, там вкладка "Консоль", в ней может быть красное сообщение об ошибке. А ещё там есть дебаггер, но это уже другая история.
>разметчик
Стандарт индустрии:
https://code.visualstudio.com/
Но, раз ты только вкатываешься, тебе пока хватит онлайн-песочницы:
https://jsfiddle.net/
Там есть подсветка ошибок. И главное, ты сможешь скидывать анону код ссылкой, а не скриншотом.
Расставляй пробелы-отступы правильно. Это важно, если ты хочешь, чтоб другие разбирались в твоей дрысне. Если сам не славливаешсья пока, прогони через этот сервис, когда в коде уже нет других ошибок:
https://prettier.io/playground/
>Обратим внимание – прототип используется исключительно при чтении. Запись значения, например, rabbit.eats = value или удаление delete rabbit.eats – работает напрямую с объектом.
шо це за бред, господа?
ой все, одмен удали. зря я соску пива выпил
откуда такие дибилы берутся
Какой фреймворк из списка взять для создания относительно простого интерфейса для мобильного приложения под андроид?
> Cordova, NativeScript, React Native, Phonegap, Ionic
p.s. С JS знаком поверхностно, есть опыт с Си и Пайтоном(на нём будет серверная логика)
ты бугуртишь на определенный разработчиком порядок аргументов, я правильно понял?
мапы, сеты, генераторы и прочий импровизированный костыльный ооп
>>184937
В C++ тоже можно делать замыкания, они там еще больше навороченны чем в JS. Если интересно http://en.cppreference.com/w/cpp/language/lambda#Explanation
Клонировал этого монстра и пытаюсь разобраться чтобы быть модным mean разработчиком. Всё правильно делаю или даун?
Земля тебе пухом.
Да, js-ые фреймворки много жрут. Если у тебя телефон не самый новый, то будет подтормаживать.
> Дс2
Земля тебе пухом.
Пидорбург - это та же провинция и зарплаты соответствующие.
Могу скинуть вакансии фуллстака за 25к, чтобы вернуть тебя из манямирка в суровую реальность
Не пали годноту /б/ыдлу
А что бы и нет?
Но в моем сранске нет вакансий. Либо есть, но там сеньер\фуллстак\англ натив.
Зато полно php \ sql вакансий.
Неужели бросать мне мой любимый JS ради php?
Есть тут те которые работают онли в JS. Без знания sql и php? Обязательно знать php и sql?
И где искать работку джуну ?
p/s - думаю уже вкатиться в госшарагу каким нибудь эникеем, что бы иметь кучу времени для задротства react.
Просто заебало уже сидеть дома совсем. Хотя есть сбережения для жизни. Но блядь тупо скучно, насмерть.
любимый js блять. вы посмотрите на него. ТЫ БЛЯТЬ ПОПИШИ НА НЕМ ПОНАСТОЯЩЕМУ и сразу любовь отвалится.
А вообще пиздуй в другой город на нормальную работу, щас бы еще на пхп в 2к18 писать
>>185613 - кун
Это с учетом что в моем сранске нет вакансий. А в крупный город ближайшие месяца три не перееду.
Думаю воткнуться эникеем, и дрочить реакт спокойно.
Я бы на твоём месте устроился ворником или охранником, а в свободное от работы время занимался изучением Vue+vuex
На vue вакансий еще меньше, пока что.
Думаю закатиться эникеем в гос. контору и дрочить react. Тупо от того что я уже ахуеваю дома сидеть. Один хуй больше 5 - 6 часов активно не позанимаешься. А все остальное время в стену пялюсь. Хорошо хоть вечерами с тней гуляю.
У тебя там блат чтоль? Я в мухосранске вообще не могу найти работу, а так тоже бы с удовольствием эникеем вкатился, но вакансий нет.
Сам вкатываюсь, пока только начало, дело осложняется тем, что у нас нужен только ангуляр. Что - то мне сыкотно, так как походу очень долго вкатываться, а времени у меня до октября. Думаю в тестеровщики вкатиться.
Смузю в очо.
Я вот уже полгода жду пока в моем городе появится хоть одна вакансия вуедебила, но видимо таки придется учить ещё и реакт, что бы хоть куда-то устроится.
так надо было сначала его учить
.babelrc и webpack-config.js: https://pastebin.com/XnffnQST
Что делать?
Ошибка, которая на скриншоте, связана с этим компонентом: https://github.com/mui-org/material-ui/blob/v1-beta/packages/material-ui/src/Modal/Modal.js
Там ещё дальше есть куски ES6-кода.
var Res = Math.floor(Math.random() * 51);
как мне сделать функцию так, чтоб выдавала, скажем, от 0.1 до 50?
То есть оставить дробное число в случайном порядке кратно десятым?
Что-то никак придумать не могу.
То есть весь порядок чисел, включая 1.1, 31.9 и т.д.
Заранее спасибо за ответ. если он будет
Не разбираюсь, но могу по своему вебпаку примерно сказать:
https://babeljs.io/docs/plugins/preset-stage-2/
Попробуй это, вместо твоего stage-1
Только пост в дополнение стал писать.
Короче вот на пикрил мое.
Сейчас обратил внимание еще и на es2015, попробуй тоже. https://babeljs.io/docs/plugins/preset-es2015/
Вот тут в первом ответе написано, что "The Babel Preset which contains only ES6 features is preset-es2015"
https://stackoverflow.com/questions/37251552/whats-the-difference-between-babel-preset-stage-0-babel-preset-stage-1-etc
Но я короче так себе советчик, там еще и написано "ТОЛЬКО с ES6", что вроде подразумевает, что другие пресеты тоже могут с ЕС6 работать.
Ой, бля, забей. Оно у тебя есть. Я слепой, лол.
Сажа прилипла.
Где именно?
Ну так ES6 вышел в 2015м году и большинство браузеров поддерживают его без всяких бабелей.
(Math.floor(Math.random() * 510))/10
>>185890
Ну я к тому, что работадатель будет спрашивать, почему так поздно вкатывается. Он же вроде сидит не работает, а работадатели не любят лодырей, потому что есть некая вероятность, что они будут проебывать рабочее время, а работадателю не нужны такие риски. Ну в более менее серьезную контору его не возьмут даже жуниором.
PS: Он говорит что из мухосранска, возможно там не так все строго и легче устроиться на работу.
Не стоит принимать решения за некоего абстрактного работодателя.
У 30-летнего есть такие плюсы, как сформировавшийся мозг и несколько более спокойный гормональный фон. И некоторое понимание жизни уже появляется.
Плюс, подразумевается, что человек уже нагулялся, набухался, напиздострадался, завёл семью и будет спокойно работать.
И, при этом, он ещё достаточно молод.
Есть и минусы, конечно. Но плюсы могут перевесить, при прочих равных.
Чувствую себя полностью удовлетворённым.
А я нет. Ибо на носу дедлайн, а я всё откладываю на последний день. Вот поэтому я сегодня даже не ложился спать, RRRRAAAAAAAAAGE
Ты кто такой?
Никогда не испытывал, точнее код работает, но через жопу и с костылями, а времени отточить его нет.
В роисе и сран снг 30 лет это пенсионер.
>>Ну я к тому, что работадатель будет спрашивать, почему так поздно вкатывается. Он же вроде сидит не работает
Братюня, с чего ты решил что я до 30 лет сидел не работал. На последней работке я 8 лет был зам. нач. отдела сисадминов. Просто тупо надоело сисадминить. Это я и говорю на собеседованниях.
>>PS: Он говорит что из мухосранска, возможно там не так все строго и легче устроиться на работу.
Напротив. Вакансий мало. А на те что есть - нужны уже с опытом люди. Понятно что на реальной работке я за пару месяцев его наберу. мой мухосранск - Сочи, и поверьте - по сути Сочи мухосранск, просто сюда бабла влили На hh по тегу javascript вываливается 10 обьяв. А в Краснодаре 130. Причем в Красе есть вакансии " вообще джуна берем на работу" - 35-40 тыс. Я же на реакте что то уже могу запилить. Однако ткнуться некуда пока что.
>Это я и говорю на собеседованниях.
"Вам и тут надоест через 3 месяца, и что нам, опять нового человека искать? Давайте, перезвоним вам, в общем."
>>На последней работке я 8 лет был зам. нач. отдела сисадминов.
>>"Вам и тут надоест через 3 месяца,
Ты на ноль поделил. Любому понятно что за 8 лет деятельности заебать может что угодно. Напротив - длительный стаж на прошлом месте работы месте - для работодателя плюс.
Написал асинхронную функцию, внутри цикл, вызываю ее с await. Выполняется 1,5 итерации и код летит дальше. ЧТЯДНТ?!
А почему не свой же невъебенный Ангуляр? Или они его специально для хипстеров создали.
узкоспециализированный фреймворк всегда лучше хуйни для масс.
Короче, пишу функцию, которая очистит песочницу перед запуском всех тестов. Она должна удалить все, что осталось после предыдущего запуска. Выглядит вот так https://ideone.com/V3v47q
Сократил для понимая, удалил ожидания нужных элементов, не думаю, что это важно.
Работает так: цикл прокликивает каждый элемент из полученного массива и удаляет его. На деле же цикл удаляет только первый элемент, потом либо код выполняется дальше, либо продолжается цикл: кликает на следующий элемент, и сразу же после этого код выполняется дальше.
Тайное знание состоит в том, что асинхронный код кто-то должен выполнять. await просто ставит его в очередь, а очередь растаскивается циклом событий (гугли имяязыка имябиблиотеки event loop).
>>186092
А, извини, не заметил что это жс тред. Скорее всего, у тебя внутри async случается эксепшн и тихо заминается без сообщений. async вообще затирает исключения, будто у тебя код обернут в пустой try/catch. Следует вручную обернуть подозрительное в свой try-catch и вывести ошибку в консоль.
https://www.codewars.com/kata/walk-the-object-path/train/javascript
https://ideone.com/UKrqeg
Буду признателен, если кто глянет код
Потому, что GWT - это Java.
Если можно писать на джаве, кто будет писать на жс?
Да ещё и на ангуляре, ебать его в сраку?
>https://www.codewars.com/kata/walk-the-object-path/train/javascript
Блядь, белым по чёрному, вы все ебанулись, что-ли?
Или у вас запасные глаза есть?
что не так?
>>186118
олсо, рот ебал в твоем заборе разбираться
https://ideone.com/jNqXME
если есть вопросы задавай
function find(object, path) {
const keys = path.split(`.`);
let result = object;
for (const key of keys) {
if (result.hasOwnProperty(key)) {
result = result[key];
} else {
return undefined;
}
}
return result;
}
Ты слишком усложнил. Ключ это строка, тебе достаточно проверять, есть ли такое свойство в каждом следующем объекте.
тебе блядь прямым текстом в задании сказали что не годятся.
Короч, задача изичная. До алгоритма решения и прочего, просто вбей в гугл как смотреть\искать свойства у объекта. Нашел - решаешь. В данном случае это hasOwnProperty. Сук, просто почитайте спеку, если забыли или не знали.
function find(object, path) {
return path.split(".").reduce((acc,b) => acc && acc.hasOwnProperty(b) ? acc : undefined, object);
}
>return path.split(".").reduce((acc,b) => acc && acc.hasOwnProperty(b) ? acc : undefined, object);
мать твою ебал, сын питона ебанный
П.С: ты половину тестов не прошел
Че пидр бестолковый, завидуешь решению красивому? Ну не расстраивайся мань.
P.S. Проверил на кодварсе - все зашло. А так, пошел нахуй.
А мой?!
Сука ебаный двощь, ты чего квадратные скобки жрешь? acc[переменная B сука] : undefined
пишу мелкий проект на Vue типа лотереи гослото 4 из 20. Возникла проблема со сравнением "купленных" билетов (максимум 3) и выигрышного. Билет представляет из себя строку, например: "01-11-14-03". Как можно сравнить билеты и выделить (жирным или поставить Х вместо цифр) совпадающие?
сравнение должно происходить таким образом:
"01-11-14-03" - мой билет, "10-04-11-02" - выигрышный. в моем билете 1 совпадение, то есть сравнение индексно-независимое, если так можно выразиться. Весь день мучался со string.replace(), но не получается.
Разбей свой и выйгрышный билет на массив строк, да проверяй
Проблема была в неправильном импорте. Изменил это
import Drawer from "material-ui/es/Drawer/Drawer";
На это:
import {Drawer} from "material-ui";
И теперь всё ок.
Отличие == от === в том, что во втором случае сравнение идёт строгое без преобразования типов. То есть, если написать 'abc' == true, то умный слишком жс преобразует первую часть в булеан, и получится true == true, и вернёт он true. Тройное равно же самодеятельностью не страдает и сравнивает всё как есть, то есть строку и булеан, соответственно и вернёт он false.
Вот из-за этой самодеятельности часто могут возникать проблемы, ибо от жабаскриптового тайп-ассершна порой хер знаешь чего дожидаться. Поэтому двойное равно и считается плохой практикой.
И вообще, импортировать из директории "material-ui/es" надо только под страхом смерти. Избегайте этого любой ценой.
В новой версии языка var нет?
В новой версии языка есть всё говно, которое было в старой, а еще добавилось такое, о котором ты даже не подозреваешь. Прежде чем отказываться от var, следует выучить, чем он отличается от let и где разница может ужалить тебя в жопу (да везде, где пишутся замыкания, тащемта).
"не так" - это то, что ты в 2018 году продолжаешь ковыряться в этом дерьме под названием shitQuery jQuery
>мам ну скожи им ну чо они реакт не используют ну мааам ай блядь да не бей сделал я уроки, сделал!!!
Ты "дедок" лучше расскажи, что умеет твой обоссанный jQuery кроме пресловутых анимацийи не умеет JS в стандарте ES6 ? Ради чего ты продолжаешь это говно подключать?
Работать в браузере без спистоплясок с бабелем и вебпаком.
Если ты переписал у себя с var на let, и у тебя что-то сломалось, значит ты и до этого что-то делал не так.
Может я тупой. Но нодовская шалупень просто зае6ала, каждый раз после изменения в коде ресать сервер. Чуть что - лезть в терминал. И т.д
Другой анон
nodemon
Да ты сын питона!
У тебя где нибудь в {} контекст отвалился.
Че за нах.
Для примера - есть список статей. Каждая статья - отдельный элемент. Данные в список статей идут массивом.
Что то в духе:
let "массив статей" = this.props."массив с текстом".map( (list)=>{
return < "Отдельная статья" key = {list.id} arr = {list}/>
} )
Но допустим между каждой статьей я хочу запихнуть кнопочку, по нажатии на которою - ниже идущая статья закрывалась. То есть кнопочка не внутри "Отдельная статья". Кто шарит - накидайте ход действий. Допустим я вставлю кнопку. Но как из нее в react закрыть соседний элемент?
>>Запихай статью и кнопку в div.
Ну просто в <div> не получится запихнуть у меня. Я стэйты умею только через родителя передавать. А значит обертывающий div должен быть компонентом на классе.
Подрочился с передачей стейтов и пропсов и кажется начал понимать зачем тужен redux
Засунь кнопку в <Отдельная статья />
> телепортом
Хуя олдфаг.
Дай угадаю, тебе 30+?
Сам раньше порносайты целиком с помощью него выкачивал, хех.
https://2ch.hk/pr/res/1187151.html (М)
https://2ch.hk/pr/res/1187151.html (М)
https://2ch.hk/pr/res/1187151.html (М)
https://2ch.hk/pr/res/1187151.html (М)
https://2ch.hk/pr/res/1187151.html (М)
https://2ch.hk/pr/res/1187151.html (М)
https://2ch.hk/pr/res/1187151.html (М)
https://2ch.hk/pr/res/1187151.html (М)
Я не он.
Но скажу тебе, что jQuery - это тонкий и лёгкий слой удобных абстракций поверх всей этой жс-дом-хуеты. Независимо от версии жс.
Если ты этого не понимаешь, ты не программист, а говно, такое же, как и 95% жс "программистов", "пишущих" лендинги за доширак.
>в Chrome Extension есть ли возможность редактировать файл?
Конечно: Ctrl+O, подгружай контент-скрипт во вкладку, читай и обрабатывай содержимое, создавай блоб и качай/сохраняй. Хотя ты конечно спрашивал про шариться по харду, по живой файловой системе, ну тоже можно -
пилишь нативную апликуху, регистрируешь, коннектишься и взаимодействуешь с реальным миром
https://developer.chrome.com/extensions/runtime#method-connectNative
>storage имеет ограничение на объем данных
Есть хромая версия хранилища с асинхронными методами и возможностью сожрать весь фриспэйс на харде:
https://developer.chrome.com/apps/offline_storage#unlimited
https://developer.chrome.com/extensions/storage
Есть https://developer.mozilla.org/en-US/docs/Web/API/FileSystem
Некоторые расширения используют его например для склейки мпег-тс чанков при скачки видео.
Есть https://developer.mozilla.org/ru/docs/IndexedDB/Using_IndexedDB
например гениальный вдуров что-то хранил у меня аж размером с 1.2 гигабайта в IndexedDB, наверное весь плейлист мне локально закешировал, сук.
Таблицы уже напердолил?
>это тонкий и лёгкий слой удобных абстракций
что ты несешь ?
Щас бы от двачера слышать "ты не прогромизд"
Вот это чётко, благодарю
огромное спасибо.
Нужен тот, кто могет в adobe muse.
---------
Заливка фото с текстом и добавить не несколько разделов.
---------
отпишите в телеге nikanor2999 или вбыдлоком: id superplot
Вы видите копию треда, сохраненную 11 июля 2018 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.