Это копия, сохраненная 11 декабря 2018 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Этот тред посвящён главному языку будущего - 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/ для серверного кода.
Обои.
&&
>что такое callback-функции?
Функция, передаваемая аргументом другой функции, и выполняемая ею в определённый момент собственного выполнения.
>Где про них внятно написано?
У Кантора того же
В этом больше специалистов и можно что-то посложнее спросить, там — можно больше поговорить, о чем-то интересном, что лишь слегка связано с js.
Есть же модератор, который может отредактировать пост.
Но сразу встрял, что нихуя не работает. А именно не работает поиск елемента - по ид, классу, ксс и т.п. Тупо выдает андефайн. Причем было, что разок заработало, перезагрузил страницу - все , хуй не видит. Элемент точно есть.
Что за хуйня, это какая-то защита от скриптов?
Вопрос 2.
Мне нужно вырвать данные с одной страницы и вставить на другую. Желательно вместе со стилем. Сами данные и формы, чтобы они работали, как на той, откуда дергаю. Ну вот на примере двоща - спиздить данные из другого треда, как который здесь ссылка и форму отправки поста.
Я так понял нужно использовать xmlhttprequest. Прочитал статьи по этой хуйне - там только текстовый файл с сервера показано как дернуть.
Нашел мутный способ - типа пиздит всю страницу в виде текста, а затем уже внутри ищешь что надо. Вроде работает чуть-чуть (без стилей, ясен хуй) Но разве это норм всю страницу грузить ради немного данных?
Обычно перекатчики-активисты даже тему не указывают, так торопятся. А тут всего лишь тег.
Новая шапка:
https://pastebin.com/X2HtWsFS
прошлый ОП
>Что за хуйня, это какая-то защита от скриптов?
Ну ты проверь, выполняется ли вообще твой скрипт, запусти свои команды вручную в консоли и т.д. Может элементы потом создаются, в прошлом треде же был уже один с setTimeout'ами.
Никакой защиты от скриптов, которая не даст искать ЖС'ом элементы только твоим кодом быть не может.
>>84098
>разве это норм всю страницу грузить ради немного данных?
Если у сайта нет никакого API для получения данных, то иначе ты и не сможешь. Что сервер отдаёт, то и жри, как говорится.
#random
>Тупо выдает андефайн. Причем было, что разок заработало, перезагрузил страницу - все , хуй не видит.
99%, что пытаешься найти элемент до полной загрузки страницы
99%, что этот ваш Джаваскрипт — говно без задач, созданное на коленке какими-то поехавшими наркоманами и работающее через жопу) сажи треду сука))
Всё верно, жс тред же.
Так я вот этот момент не понимаю. Зачем мы здесь в теле функции пишем y()?
function(y){
alert(1);
y();
}
Всё, спасибо.
Так тебе в пайтон трхреад
>>84358
https://www.udemy.com/share/100uPKBEUbcFlaQnw=/
Вот такой нашел, что думаете, ребята? На торрентах нет, новый наверное
Не могу понять как скачать вскод аптгет какой-то. Мдааа
бамп
Когда использовать жвт а когда кукисы?
поспорьте со мной ктониьбудь, оспорьте тезис плс. закодспличенное спа с сср отличтается от мпа только тем что оно кэшируется через префетчи-прелоады, а мпа нет.
Кстати как думаете стоит ли делить бандл на чанки по старинке с вендорами или делить лучше постранично и иногда оптимизировать некоторые здоровые либы и компоненты?
>Когда использовать жвт а когда кукисы?
Напомнило недавнее:
>>Я сделал через uniqid, который сохранял в локал сторейдже.
>Не, у меня задание сделать на socket.io.
Позитивный настрой у тебя есть, а это главное. Курс можно и с переводчиком посмотреть.
да я кстати нашел курс по вскоду от фронтэндмастерсов на рутракере(, но тот что я купил по-любому лучше
Генераторы сделали раньше промисов, может поэтому.
Потому что эффекты легко тестировать, а промисы — нет.
Кстати какой уебан придумал пихать разметку и данные в жс? И главное почему ему по ебалу не дали и все теперь так делают?
Единственная причина по которой всё стало таким сложным это это всё обман, чтобы сохранять высокие зарплаты в отрасли, любая макака может делать хороший сайт за год обучения максимум.
инб4 кидай сюда
Удваиваю адеквата, утраиваю в месте про запихивание разметки в код.
Зачем? Я считаю что это ненужная хуета.
>>84602
Мантра эта охуенная. Как будто реальный дом у вас не обновляется.
Нормальный апдейт и так за один раз делается. Если ты каждую строчку таблицы аппендишь по циклу, то это ты говно написал, зачем целую экосистему тащить чтобы это исправить? А учитывая скорость загрузки и замедление из-за абстракций, это ещё вопрос как быстрее.
>Зачем? Я считаю что это ненужная хуета.
Кого ебет твое мнение, лол? Ты же вообще не вдупляешь что и зачем сейчас в вебе происходит. Иди пили невероятные веб-сервсы будущего на пхп и джиквери, что тебе мешает?
Действительно setTimeout работает. Какого хуя не работают window onload и domcontentloaded?
Мне так весь скрипт запихивать в огромную функцию с этим таймаутом, чтобы сразу работал?
Вопрос остался - как дернуть и переместить форму с одной страницы на другую. Разумеется, чтобы она работала.
Ну вот на примере двоща - спиздить данные из другого треда, как который здесь ссылка и форму отправки поста в другой тред.
Пиздос, короч.
Я же тебе советовал написать рестфул сервер на ноде. Зная серверную сторону вопроса, у тебя сразу понимание придет. К тому же тебе все равно придется ноду выучить рано или поздно.
>Кстати какой уебан придумал пихать разметку и данные в жс
А в чем, собственно, проблема? Разделение кусков кода на компоненты имеет гораздо больше смысла, чем разделение по типу языка (хтмл, ксс, жс).
Если ты не можешь понять, зачем нужен сервер, то боюсь, тебе не стоит заниматься веб-разработкой.
>>84631
>>84646
Господа, я ценю ваше никчемное мнение, но можно конкретики? В каком месте vDOM быстрее? Судя по вот этой статье
https://medium.com/@abraztsov/how-virtual-dom-work-567128ed77e9
vDOM один хуй обновляет DOM браузера, да ещё сами почитайте каким образом. Единственное, что вы прячете это за абстракцию, но один хуй вы обновляете узлы на странице,и фреймворк делает кучу говна за вас, далеко не всегда нужного.
>>84666
Не имеет. Структура, оформление и поведение это уже компоненты страницы. У тебя уже достаточно инструментов, чтобы оперировать ими и делать заебись, зачем плодить сущности?
Какой то хуй из фейсбука решил ООП ебануть, ибо по другому не осилил, и вот у вас уже компоненты.
>>84631
Пыху завели не в ту степь, он говно и умрёт. Жиквери сейчас не нужен, все его фичи браузеры умеют из коробки, он как ветеран ушёл на покой. Но один хуй сейчас реактодети тащат Жиквери, чтобы поработать со страницей там, где философия компонентов не справляется.
И да, крутые господа, какие вы запилили проекты, которые без реакта бы хуево реализовывались?
А ты в кучу статей не бери, а делай. Тут надо шишки набивать. Начни с реквестов, сделай простейший веб сервер, постучись на него. Ура, ты молодец. Фетч это таже хуйня, только вид с боку. Как ты данные откуда то фетчишь, так и собака тащит тебе тапочки.
Теперь Гет и Пост. С английского переводятся как Получать и ОставлятьИнформацию. Это два вида запроса в нттп протоколе. Когда тебе точно точно нужно получить данные с сервера ты используешь Гет. С ним ты можешь в адресной строке дописать параметры запроса. Пост же изначально создавался как способ закинуть на сервер какие то данные. Ответ на форм или, файлик какой нибудь. Сейчас же граница размыта и ебашут всё подряд через этот метод. Единственное что юзер в обычном браузере может только делать Гет.
А промисы это обещания. Работает как в реальности - я обещаю тебе, что когда ты реквесты освоишь, я тебе ещё помогу. Но я же не ебанутый тут сидеть, тебя ожидая и ничего не делая, я буду жить своим потоком дел. А когда узнаю что ты всё, тогда свои дела отложу и выполню своё обещание.
А если у тебя проблема как это всё написать и ты боишься программировать - не лезь ты пока в эту северную срань. Начни с простого. Привыкни писать код. Осознай что это не магия, он делает именно то, что ты написал. И никак иначе.
>Структура, оформление и поведение это уже компоненты страницы
Как раз недавно смотрел видео, где мужик поясняет, что разделение на файлы по разрешению почти никогда не помогает разделять задачи.
https://www.youtube.com/watch?v=0ZNIQOO2sfA
>В каком месте vDOM быстрее?
Все правильно ты думаешь.
vDOM действительно сделан для тех, кто не умеет работать эффективно с DOMом напрямую. Но ты не видишь всей картины в целом.
В проектах, где ты колупаешься один сам по себе, ты можешь писать код хоть какой, и как угодно.
В проектах, где над кодом работает масса людей и все разной квалификации - есть стандарты, стайлгайды, и вот такие вещи, как vdom, фремйворки, парадигмы, паттерны. ЧТобы это блядь можно было поддерживать. Потому что если js-ниндзя Джон Резиг написал ниебический ванильный js код на 1000 строк, это не значит, что ты сможешь его понять, и написать код, которые будет не менее эффективен. А вот если вы оба пишите в рамках одного фреймоврка, подхода - то контролировать поток говнокода, который вырабатывает васян не умеющий рписать нормальный код - становится проще.
А теперь смотри.
Тебе дали на поддержку проект, который до тебя писал какой-то программст подобны тебе. Он писал его на ванили. Работал с домом на прямую. Сам ридумывал как хранить стейт, как выглядят модели, и как происходит дата-биндинг, и вообще контрол-флой приложения.
Вот ты взял его проект. Сколько ты потратишь времени на то, чтобы понять ниебический дзен его идеи, которые он применил? Комментарии? Какие еще комментарии, когда хороший код не должен их иметь вообще. Документация? А не ахуеешь ли ты на каждый проект расписывать документацию, для этого есть уже расписанные блядь подходы, называющиеся фреймворками и бибилотеками?
А вот если ты берешь проект, которые разрабатывается на общепринятой технологии, с документацией, поддержкой которого занмимают вообще отдельеные люди, - сколько времени тебе понадобится, чтобы все понять? Да блядь, даже в структуре директорий проекта разобраться, если в первом случае васян делает дерево проекта как захочется его левой пятке, а в подходе с фреймворками - уже есть определенный, задокументированный подход.
То же самое касается твоей работы с домом. Ты моежешь тратить часы если тебе не жадко, чтобы разбираться на то, когда именно вася обновляет свой дом на ванили, в какой именно момент, отталкиваясь от какого события, и в какой последовательности. Но только изволь тратить это время за свой счет. Потому что ребята, которые используют vDOM-based решения, уже решили для себя этот вопрос, и точно знают, что и когда и где обновится. И не важно, проект кто писал проект. Главное, что его писали с определенным подходом.
>В каком месте vDOM быстрее?
Все правильно ты думаешь.
vDOM действительно сделан для тех, кто не умеет работать эффективно с DOMом напрямую. Но ты не видишь всей картины в целом.
В проектах, где ты колупаешься один сам по себе, ты можешь писать код хоть какой, и как угодно.
В проектах, где над кодом работает масса людей и все разной квалификации - есть стандарты, стайлгайды, и вот такие вещи, как vdom, фремйворки, парадигмы, паттерны. ЧТобы это блядь можно было поддерживать. Потому что если js-ниндзя Джон Резиг написал ниебический ванильный js код на 1000 строк, это не значит, что ты сможешь его понять, и написать код, которые будет не менее эффективен. А вот если вы оба пишите в рамках одного фреймоврка, подхода - то контролировать поток говнокода, который вырабатывает васян не умеющий рписать нормальный код - становится проще.
А теперь смотри.
Тебе дали на поддержку проект, который до тебя писал какой-то программст подобны тебе. Он писал его на ванили. Работал с домом на прямую. Сам ридумывал как хранить стейт, как выглядят модели, и как происходит дата-биндинг, и вообще контрол-флой приложения.
Вот ты взял его проект. Сколько ты потратишь времени на то, чтобы понять ниебический дзен его идеи, которые он применил? Комментарии? Какие еще комментарии, когда хороший код не должен их иметь вообще. Документация? А не ахуеешь ли ты на каждый проект расписывать документацию, для этого есть уже расписанные блядь подходы, называющиеся фреймворками и бибилотеками?
А вот если ты берешь проект, которые разрабатывается на общепринятой технологии, с документацией, поддержкой которого занмимают вообще отдельеные люди, - сколько времени тебе понадобится, чтобы все понять? Да блядь, даже в структуре директорий проекта разобраться, если в первом случае васян делает дерево проекта как захочется его левой пятке, а в подходе с фреймворками - уже есть определенный, задокументированный подход.
То же самое касается твоей работы с домом. Ты моежешь тратить часы если тебе не жадко, чтобы разбираться на то, когда именно вася обновляет свой дом на ванили, в какой именно момент, отталкиваясь от какого события, и в какой последовательности. Но только изволь тратить это время за свой счет. Потому что ребята, которые используют vDOM-based решения, уже решили для себя этот вопрос, и точно знают, что и когда и где обновится. И не важно, проект кто писал проект. Главное, что его писали с определенным подходом.
> У тебя уже достаточно инструментов, чтобы оперировать ими и делать заебись, зачем плодить сущности?
У тебя быор уе достаточно сущностей, когда тебе дали машинный язык. нахуя тебе какие-то асмы, си, жс? Бери и ебашь в опкодах.
По твоим рассуждениям любой адекватный мимо-программист уже давно понял, что ты не имел дело с реальными проектами, разрабатываемыми десятками, сотнями людей и имеющими длительную поддержку. Все абстракции существуют не чтобы программу написать, а чтобы ее блядь писать в команде, и чтобы ее поддерживать.
Это похоже на холивар уровня где ставить открывающую фигурную скобку - на той же строке или на новой. Кому как удобнее абстракции в голове крутить. Буду терпимее к сторонникам этой идеи.
>>84680
спасибо, няша, адекватно ответил. Понятное дело, что всем выдают одинаковые молотки, чтобы все одинаково стучали.
>>84682
Тоже Разумный аргумент, спасибо. Ты описал одну грань, но не нужно сваливаться в другую, где цена за абстракцию слишком велика как для юзера, так и для девелопера.
Таких ответов я ждал.
>>84688
Что ты там жиденько нагуглил?
А вот это какое то ррррряяяяя неадекватное.
Осталось два вопроса. Какие решения позволяет нео подход реализовывать, какие нельзя сделать по классике проще и быстрее? И с чего вы решили, что говнокод на каком нибудь модном фреймворке проще разбирать чем говнокод на ваниле?
Такие же байтебы двадцать лет назад рассказывали, как они на ассемблере быстрее и эффективнее пишут, чем смузихлебы на сях.
40 лет назад, тащемта.
30 лет назад основной срач был "поцкаль vs C", ассемблер тогда уже никто не использовал кроме как для вставок.
20 лет назад был 1998 - тогда смузихлебы уже вовсю писали интырпрайзные опердни на жабе.
>30 лет назад основной срач был "поцкаль vs C",
Точнее, "Пацкаль vs С vs кресты" и отдельной дисциплиной "С vs Кресты".
>Ну а если серьёзно. Что вас в жс-е не устраивает?
Необходимость велосипедить велосипеды когда их уже сделали за тебя. Этим можно заниматься, только когда велосипедов нет или когда они не подходят по тем или иным параметрам. Ну или для самообразования и самопонимания.
В нулевых это было актуально. Но сейчас не нулевые.
В продакшене велосипедостроительство ради велосипедостроительства - это абсолютно однозначная трата времени впустую. Например, никто не мешает велосипедить игру с нуля, используя только голое API и возможности языка.
Но для создания реальных игр все почему то бегут и качают юньку или какой уеч с годотом. Тупо потому что они позволяют взять и начать сразу писать игру вместо велосипедного движка.
Я не про бывший СНГ же, где клоны межделмашевских ЭВМ из конца 60х-начала 70х в 90х еще не все списали.
Ну и упоминание паскалесрача тоже наводит на мысли про СНГ
Разделение фронта от бэка.
Надо лишь гонять джос вместо хтмл.
Если надо сложный динамические интерфейс или SPA, то с жс/жквери/вебпак будешь материться и заюзаешь фреймворк.
Не забываем, что вскоре браузер будет как ОС, а веб станет как десктоп, wasm и увеличение пропускной способности тому поспособствуют.
Кхм, погоди, а сейчас что-ли разметку не гоняют в динамических приложениях? Компонент туда, компонент сюда?
Так, а жс откуда знает что строить? То есть внутри скрипта лежат шаблоны на все случаи жизни?
пацаны, если я в рот ебал верстку и вообще меня тошнит от всех этих ваших дивов хуивов, то мне лучше не лезть в жс?
мимо хуярю 7 лет на плюсах
Если приложение не очень большое, то да. Если большое, то js догружается по мере необходимости.
Можно ноду насиловать.
1280x720, 0:10
Странный вопрос, если ты в веб полезешь, то с дивами и js по-любому будешь работать. А если в веб не лезть, то зачем тебе js, двигай свои байты дальше.
Если ты "хуяришь" 7 лет на плюсах и при этом не можешь нормально заработать, то лучше вообще ни во что связанное с программированием не лезть.
Человек ебал верстку и ему не нравятся дивы, значит он присмотрелся к жс не из-за того, что ему нравится. Т. е. личного интереса у него нет, а это одна из двух основных мотиваций, вторая - материальная выгода.
Теперь тебе понятна логика, нешкольник?
Ну зачем ты по себе судишь?
Может он в бункере сидел и кроме плюсов не знает ничего, а тут оказывается есть много всего, жсы, питухоны.
Всегда в голос с таких как ты. Сам придумал, сам решил.
Так это не я решил, мань, так уж сложилось, что у человека в мире такие примитивные потребности, но ты конечно можешь это отрицать и не снимать розовые очки и фантазировать о бункерах, жаль, что это на реальность никак не повлияет.
Из его слов ясно лишь, что он не любит html css и почему-то(тут не ясно почему) есть ли смысл ему в таком случае смотреть жс. И все. Остальное ты придумал и решил.
Ну впрочем поссал тебе в рот, тупой школьник.
yep my friend
То есть это те же яйца только в профиль.
https://doodle.com/create/options
>обосравшееся быдло всё никак не успокоится и продолжает дежурить в треде с надеждой охладить свой пердак
Ага, вот только бойлерплейт ты тоже безраздумно не повставляешь.
>а остальные это что
Пинание хуёв, посещение двача, ковыряние в носу и чесание жопы. Это описание деятельности того, кто промямлил про 15%. У настоящего программиста, знающего, понимающего - всё совсем по-другому.
А вобще, того, кто пишет подобную хуйню про проценты, сходу их называет, не прикладывая никаких пруфов - можно смело слать нахуй как типичного интернет-дурачка.
По мне, так написание кода - это 15%, остальные 85% - это чтение доков, стаковерфлоу и перечитывание кода в попытках понять, как сделать так, чтобы заработало.
Как в блядском AngularJS (который без тайпскрипта и прочей няшноты) заставить нумерик-ап-даун обновить значение по клику кнопки?
Кнопка должна переключать выбор одно из полей с данными на основе которого идёт расчёт и выставляется дефолтная цифра в нумерик. Дефолт выпадает при загрузке страницы, или переключении опции в селекте.
Переключение расчёта я вроде сделал. Но оно отражается на нумерике только если я этот самый селект изменю.
Как заставить ng-click обновить другой элемент на странице, при том что тот считается на основе формулы?
На китайском.
Должно быть и18но
Никак? Если они зависят от локал сторедж - то для их рендеринга нужна инфа из клиента.
Создай HOC, в пропсы передавай значения из localstorage
Это копия, сохраненная 11 декабря 2018 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.