Этого треда уже нет.
Это копия, сохраненная 27 июля 2020 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
JavaScript.thread = Number(`159`); /js/ # OP 1651996 В конец треда | Веб
Прошлый тред: >>1639808 (OP)

НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Для программирования на ХТМЛ https://jsfiddle.net/
Для Ноды с консолькой https://repl.it/languages/nodejs
Для фреймворков https://codesandbox.io/
Залить, задеплоить страничку или сервер https://zeit.co/now

Аноны, хочу получить советов мудрых, высераю пару предложений и код на скриншоте, а получаю смехуёчки. Как быть?
Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос:
что я хочу получить, что я для этого делаю, что я вместо этого получаю.
Сделай песочницу по ссылкам выше для ясности и удобства. Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
# OP 2 1652003
П Л А Т И Н А

> Странное приведение типов, комплексные правила, неявные ошибки


Язык разрабатывался с расчётом на доступность Интернета для авторов любого вида. Даже плохой код должен хоть как-то работать. А тебя не обязывает всеми этими странностями пользоваться.

> Почему бы не сделать новую нормальную версию языка


Выгоды сомнительны, а Интернет ломать нельзя.
http://exploringjs.com/es6/ch_one-javascript.html

> Динамика, не компиляется, недоязык


Странно, что у тебя после объявления всех типов и компиляния осталось время кхекхекать в этом треде, старичок.

> Что там асинхронно происходит в этом одном потоке Event Loop


https://www.youtube.com/watch?v=8cV4ZvHXQL4
https://www.youtube.com/watch?v=j4_9BZezSUA

> Я могу сделать запрос с сервера к чужому API, почему с клиента такой запрос не работает


Для твоей безопасности в браузерах принудительно работает ограничение доступа к кросс-доменным ресурсам. Требуются специальные заголовки
https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

> Хочу получить доступ к файлам на винте


Тебе бы не хотелось, чтоб произвольный сайт мог получить доступ к твоим файлам.
https://developer.mozilla.org/en-US/docs/Web/API/File/Using_files_from_web_applications

В К А Т И Т Ь С Я
Возраст, пол, образование не имеют решающего значения. Всё бесплатно для самостоятельных. Времени потребуется год с нуля, но это не точно.
https://ru.hexlet.io/blog/categories/success
Английский обязательно. Проследуй в /fl за гайдом.

Учись учиться.
https://www.youtube.com/watch?v=5MgBikgcWnY
https://www.youtube.com/watch?v=IhuwS5ZLwKY&list=PL8dPuuaLjXtNcAJRf3bE1IJU6nMfHj86W
Ты помнишь образы и связи, а не конспекты.
https://www.youtube.com/watch?v=gj3ZnKlHqxI
https://www.youtube.com/watch?v=5nTuScU70As
Ты — это то, что ты делаешь каждый день.
https://www.youtube.com/watch?v=eLYNM5QAnpw
https://www.youtube.com/watch?v=JAnNUhWJQI8&list=PL5faAYlGYYoGr49h1WMInNSd5Ya1uu7KT&index=6
https://habitica.com/
Сколько помидорок сможешь сделать за неделю?
https://www.youtube.com/watch?v=H0k0TQfZGSc
https://pomotodo.com/

HTML, CSS. Ничего сложного.
Требует только усидчивости. Как раз подойдёт для того, чтоб в простых условиях выработать правильные привычки и дисциплину.
MDN — сообщество разработчиков Мозила, обширнейшая вики-подобная база знаний по веб-технологиям. По любому вопросу поиски начинать стоит тут. Здесь же и учебник по основам разработки. Есть и на русском, но не в самом актуальном состоянии. Читай-делай тут разделы HTML и CSS, до раздела по JavaScript, этот гайд дальше предложит более лучший учебник. Но можешь и этот полистать, тоже достойный, любая информация лишней не будет.
https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web
Подробно по каждому элементу с примерами, много практики, много полезных списков:
https://www.w3schools.com/html
https://www.w3schools.com/css
https://www.w3schools.com/howto
Параллельно под чаёк по вечерам посмотри:
https://www.youtube.com/watch?v=Sy_wba7l1UU&list=PLawfWYMUziZqyUL5QDLVbe3j5BKWj42E5
https://www.youtube.com/watch?v=tpIctyqH29Q&list=PL8dPuuaLjXtNlUrzyH5r6jN9ulIgZBpdo
https://www.youtube.com/watch?v=rrRZZ_3licM&list=PLo6puixMwuSMIB7x6MNBTNQA3P3Mqo_33
На этом этапе стоит начать формировать информационный фон. Собирай подписки на рассылки, Ютюб, Твиттер. Но помни, если ты что-то смотришь-читаешь, то стоит потратить минимум столько же времени на написание кода по мотивам (весь написанный код нужно бережно хранить, чтоб было, что показать). Иначе это обычная бестолковая прокрастинация.
https://habr.com/ru/company/everydaytools/blog/322980/
Или же это может быть толковая рекреация — лучше посмотреть интересный доклад, чем очередной сериал.

JavaScript. Шутки кончились.
Очень дружелюбен к ньюфаням и даст тебе хороший старт:
https://javascript.info/
У него есть предыдущая версия на русском, но она безнадёжно устарела. Здесь среди прочего описываются многие тонкости языка, которые полезны для общей картины, но на деле вряд ли пригодятся, не фрустрируй. Задачки обязательно делать. Если задачка совсем (за 10 минут) не получается, то прилежного разбора и воспроизведения готового решения будет вполне достаточно.
Искать каждый раз подробности на MDN ты уже имеешь привычку, не забывай пользоваться.
Как писать для людей:
https://github.com/ryanmcdermott/clean-code-javascript
Ссылкота по понятиям:
https://github.com/leonardomso/33-js-concepts

Тут уже нужно начать искать работку и получать опыт отказов. Удача любит смелых. Только не ври о своём уровне работодателю, а главное — себе. Сейчас ты на уровне ребёнка, который только научился говорить, пользы от тебя столько же. Но собеседования это единственный способ для тебя узнать, что требуется сейчас в твоей области (во всех смыслах) и что нужно лично тебе.

Если ещё есть время и хочется подробностей, повторений, закреплений, то
https://www.freecodecamp.org/
годнота, интерактивно обозревает всё с упором на практику.
Задачки и соревнования:
https://www.codewars.com/
Забавные объяснения и проекты:
https://eloquentjavascript.net/
Концептуальный разбор для продвинутых:
https://github.com/getify/You-Dont-Know-JS
https://github.com/getify/Functional-Light-JS
Исчерпывающе подробные справочники:
http://speakingjs.com/es5/index.html
http://exploringjs.com/es6/index.html
http://exploringjs.com/es2016-es2017/index.html
http://exploringjs.com/es2018-es2019/toc.html
Массивнейшая ссылкота по всем темам:
https://frontendmasters.com/books/front-end-handbook/2019/
Дизайн, редактура, прочие смежные дела:
https://bespoyasov.ru/front-not-pain/

Node.js позволит тебе вырваться за пределы браузера, сделать свой сервер, автоматизировать рутину в разработке и жизни.
Нода это уже отдельная среда, человечного MDN’a тут нет. Но ты же уже не боишься серьёзных документаций. Нужно сразу найти доки Ноды “nodejs doc” и сверяться с ними.
https://www.youtube.com/watch?v=fBNz5xF-Kx4
https://medium.freecodecamp.org/the-definitive-node-js-handbook-6912378afc6e
https://www.youtube.com/watch?v=WBcHgaoHh1k&list=PLHhi8ymDMrQZmXEqIIlq2S9-Ibh9b_-rQ

На этом этапе ещё нужно разобраться с инфраструктурой:
Linux
https://itsfoss.com/getting-started-with-ubuntu/
https://linuxjourney.com/
shell
https://tproger.ru/translations/bash-cheatsheet/
https://explainshell.com/
https://www.shellscript.sh/
Git
https://tproger.ru/translations/difference-between-git-and-github/
https://githowto.com
https://git-scm.com/book/ru/v2
Docker
https://dev.to/azure/docker---from-the-beginning-part-i-28c6
https://blog.risingstack.com/how-to-debug-a-node-js-app-in-a-docker-container/
https://code.visualstudio.com/docs/remote/containers

Приложение. Всё по-взрослому.
Теперь пора делать что-то серьёзное, применять на практике. Имеется множество готовых приблуд, можно делать приложения любой сложности.
В качестве идеи для проекта стоит брать что-то близкое тебе, чтоб с душой. Можно воспроизвести используемое тобой приложение, что-то улучшить. Можно сделать что-то полезное тебе в быту — учёт просмотренных тайтлов, счётчик калорий, агрегатор новостей.
https://medium.freecodecamp.org/every-time-you-build-a-to-do-list-app-a-puppy-dies-505b54637a5d
https://medium.freecodecamp.org/want-to-build-something-fun-heres-a-list-of-sample-web-app-ideas-b991bce0ed9a
https://medium.freecodecamp.org/summer-is-over-you-should-be-coding-heres-yet-another-list-of-exciting-ideas-to-build-a95d7704d36d

Писать здесь гайды к каким-то приблудам нет никакого смысла, так как каждая вполне достойна отдельного треда и имеет свой сайт, где с гайдами постарались. Жизнь готовила тебя к этому, ты сможешь разобраться самостоятельно. Алгоритм такой:
0 - находишь на Ютюбе любой обзорный видос, чтоб страх неизвестного пропал;
https://www.youtube.com/watch?v=sBws8MSXN7A
1 - находишь официальный сайт приблуды;
https://reactjs.org/
2 - на офсайте делаешь Tutorial / Getting started;
https://reactjs.org/tutorial/tutorial.html
3 - на офсайте читаешь доки, АПИшки по диагонали;
https://reactjs.org/docs/hello-world.html
4 - начинаешь делать оригинальные нужные штуки, сверяясь с доками;
https://github.com/gothinkster/react-redux-realworld-example-app
5 - попробуй поискать “github awesome приблуда”;
https://github.com/enaqx/awesome-react
6 - отважно посмотри исходники.
https://github.com/facebook/react

Сейчас с большим отрывом самый популярный стек это React + Express + Mongo. Получается что-то такое:
https://www.youtube.com/watch?v=PBTYxXADG_k&list=PLillGF-RfqbbiTGgA77tGO426V3hRF9iE
Оформи такое в портфолио на Гитхабе и можешь уверенно искать работку.
А как же другие приблуды? Сложно и долго осилить только первый язык, фреймворк, что-либо. Следующий ты освоишь в считанные недели, а то и дни.

При перекате не забудь тему и тег. Шапка с разметкой:
https://pastebin.com/NCviF7pu
# OP 2 1652003
П Л А Т И Н А

> Странное приведение типов, комплексные правила, неявные ошибки


Язык разрабатывался с расчётом на доступность Интернета для авторов любого вида. Даже плохой код должен хоть как-то работать. А тебя не обязывает всеми этими странностями пользоваться.

> Почему бы не сделать новую нормальную версию языка


Выгоды сомнительны, а Интернет ломать нельзя.
http://exploringjs.com/es6/ch_one-javascript.html

> Динамика, не компиляется, недоязык


Странно, что у тебя после объявления всех типов и компиляния осталось время кхекхекать в этом треде, старичок.

> Что там асинхронно происходит в этом одном потоке Event Loop


https://www.youtube.com/watch?v=8cV4ZvHXQL4
https://www.youtube.com/watch?v=j4_9BZezSUA

> Я могу сделать запрос с сервера к чужому API, почему с клиента такой запрос не работает


Для твоей безопасности в браузерах принудительно работает ограничение доступа к кросс-доменным ресурсам. Требуются специальные заголовки
https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

> Хочу получить доступ к файлам на винте


Тебе бы не хотелось, чтоб произвольный сайт мог получить доступ к твоим файлам.
https://developer.mozilla.org/en-US/docs/Web/API/File/Using_files_from_web_applications

В К А Т И Т Ь С Я
Возраст, пол, образование не имеют решающего значения. Всё бесплатно для самостоятельных. Времени потребуется год с нуля, но это не точно.
https://ru.hexlet.io/blog/categories/success
Английский обязательно. Проследуй в /fl за гайдом.

Учись учиться.
https://www.youtube.com/watch?v=5MgBikgcWnY
https://www.youtube.com/watch?v=IhuwS5ZLwKY&list=PL8dPuuaLjXtNcAJRf3bE1IJU6nMfHj86W
Ты помнишь образы и связи, а не конспекты.
https://www.youtube.com/watch?v=gj3ZnKlHqxI
https://www.youtube.com/watch?v=5nTuScU70As
Ты — это то, что ты делаешь каждый день.
https://www.youtube.com/watch?v=eLYNM5QAnpw
https://www.youtube.com/watch?v=JAnNUhWJQI8&list=PL5faAYlGYYoGr49h1WMInNSd5Ya1uu7KT&index=6
https://habitica.com/
Сколько помидорок сможешь сделать за неделю?
https://www.youtube.com/watch?v=H0k0TQfZGSc
https://pomotodo.com/

HTML, CSS. Ничего сложного.
Требует только усидчивости. Как раз подойдёт для того, чтоб в простых условиях выработать правильные привычки и дисциплину.
MDN — сообщество разработчиков Мозила, обширнейшая вики-подобная база знаний по веб-технологиям. По любому вопросу поиски начинать стоит тут. Здесь же и учебник по основам разработки. Есть и на русском, но не в самом актуальном состоянии. Читай-делай тут разделы HTML и CSS, до раздела по JavaScript, этот гайд дальше предложит более лучший учебник. Но можешь и этот полистать, тоже достойный, любая информация лишней не будет.
https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web
Подробно по каждому элементу с примерами, много практики, много полезных списков:
https://www.w3schools.com/html
https://www.w3schools.com/css
https://www.w3schools.com/howto
Параллельно под чаёк по вечерам посмотри:
https://www.youtube.com/watch?v=Sy_wba7l1UU&list=PLawfWYMUziZqyUL5QDLVbe3j5BKWj42E5
https://www.youtube.com/watch?v=tpIctyqH29Q&list=PL8dPuuaLjXtNlUrzyH5r6jN9ulIgZBpdo
https://www.youtube.com/watch?v=rrRZZ_3licM&list=PLo6puixMwuSMIB7x6MNBTNQA3P3Mqo_33
На этом этапе стоит начать формировать информационный фон. Собирай подписки на рассылки, Ютюб, Твиттер. Но помни, если ты что-то смотришь-читаешь, то стоит потратить минимум столько же времени на написание кода по мотивам (весь написанный код нужно бережно хранить, чтоб было, что показать). Иначе это обычная бестолковая прокрастинация.
https://habr.com/ru/company/everydaytools/blog/322980/
Или же это может быть толковая рекреация — лучше посмотреть интересный доклад, чем очередной сериал.

JavaScript. Шутки кончились.
Очень дружелюбен к ньюфаням и даст тебе хороший старт:
https://javascript.info/
У него есть предыдущая версия на русском, но она безнадёжно устарела. Здесь среди прочего описываются многие тонкости языка, которые полезны для общей картины, но на деле вряд ли пригодятся, не фрустрируй. Задачки обязательно делать. Если задачка совсем (за 10 минут) не получается, то прилежного разбора и воспроизведения готового решения будет вполне достаточно.
Искать каждый раз подробности на MDN ты уже имеешь привычку, не забывай пользоваться.
Как писать для людей:
https://github.com/ryanmcdermott/clean-code-javascript
Ссылкота по понятиям:
https://github.com/leonardomso/33-js-concepts

Тут уже нужно начать искать работку и получать опыт отказов. Удача любит смелых. Только не ври о своём уровне работодателю, а главное — себе. Сейчас ты на уровне ребёнка, который только научился говорить, пользы от тебя столько же. Но собеседования это единственный способ для тебя узнать, что требуется сейчас в твоей области (во всех смыслах) и что нужно лично тебе.

Если ещё есть время и хочется подробностей, повторений, закреплений, то
https://www.freecodecamp.org/
годнота, интерактивно обозревает всё с упором на практику.
Задачки и соревнования:
https://www.codewars.com/
Забавные объяснения и проекты:
https://eloquentjavascript.net/
Концептуальный разбор для продвинутых:
https://github.com/getify/You-Dont-Know-JS
https://github.com/getify/Functional-Light-JS
Исчерпывающе подробные справочники:
http://speakingjs.com/es5/index.html
http://exploringjs.com/es6/index.html
http://exploringjs.com/es2016-es2017/index.html
http://exploringjs.com/es2018-es2019/toc.html
Массивнейшая ссылкота по всем темам:
https://frontendmasters.com/books/front-end-handbook/2019/
Дизайн, редактура, прочие смежные дела:
https://bespoyasov.ru/front-not-pain/

Node.js позволит тебе вырваться за пределы браузера, сделать свой сервер, автоматизировать рутину в разработке и жизни.
Нода это уже отдельная среда, человечного MDN’a тут нет. Но ты же уже не боишься серьёзных документаций. Нужно сразу найти доки Ноды “nodejs doc” и сверяться с ними.
https://www.youtube.com/watch?v=fBNz5xF-Kx4
https://medium.freecodecamp.org/the-definitive-node-js-handbook-6912378afc6e
https://www.youtube.com/watch?v=WBcHgaoHh1k&list=PLHhi8ymDMrQZmXEqIIlq2S9-Ibh9b_-rQ

На этом этапе ещё нужно разобраться с инфраструктурой:
Linux
https://itsfoss.com/getting-started-with-ubuntu/
https://linuxjourney.com/
shell
https://tproger.ru/translations/bash-cheatsheet/
https://explainshell.com/
https://www.shellscript.sh/
Git
https://tproger.ru/translations/difference-between-git-and-github/
https://githowto.com
https://git-scm.com/book/ru/v2
Docker
https://dev.to/azure/docker---from-the-beginning-part-i-28c6
https://blog.risingstack.com/how-to-debug-a-node-js-app-in-a-docker-container/
https://code.visualstudio.com/docs/remote/containers

Приложение. Всё по-взрослому.
Теперь пора делать что-то серьёзное, применять на практике. Имеется множество готовых приблуд, можно делать приложения любой сложности.
В качестве идеи для проекта стоит брать что-то близкое тебе, чтоб с душой. Можно воспроизвести используемое тобой приложение, что-то улучшить. Можно сделать что-то полезное тебе в быту — учёт просмотренных тайтлов, счётчик калорий, агрегатор новостей.
https://medium.freecodecamp.org/every-time-you-build-a-to-do-list-app-a-puppy-dies-505b54637a5d
https://medium.freecodecamp.org/want-to-build-something-fun-heres-a-list-of-sample-web-app-ideas-b991bce0ed9a
https://medium.freecodecamp.org/summer-is-over-you-should-be-coding-heres-yet-another-list-of-exciting-ideas-to-build-a95d7704d36d

Писать здесь гайды к каким-то приблудам нет никакого смысла, так как каждая вполне достойна отдельного треда и имеет свой сайт, где с гайдами постарались. Жизнь готовила тебя к этому, ты сможешь разобраться самостоятельно. Алгоритм такой:
0 - находишь на Ютюбе любой обзорный видос, чтоб страх неизвестного пропал;
https://www.youtube.com/watch?v=sBws8MSXN7A
1 - находишь официальный сайт приблуды;
https://reactjs.org/
2 - на офсайте делаешь Tutorial / Getting started;
https://reactjs.org/tutorial/tutorial.html
3 - на офсайте читаешь доки, АПИшки по диагонали;
https://reactjs.org/docs/hello-world.html
4 - начинаешь делать оригинальные нужные штуки, сверяясь с доками;
https://github.com/gothinkster/react-redux-realworld-example-app
5 - попробуй поискать “github awesome приблуда”;
https://github.com/enaqx/awesome-react
6 - отважно посмотри исходники.
https://github.com/facebook/react

Сейчас с большим отрывом самый популярный стек это React + Express + Mongo. Получается что-то такое:
https://www.youtube.com/watch?v=PBTYxXADG_k&list=PLillGF-RfqbbiTGgA77tGO426V3hRF9iE
Оформи такое в портфолио на Гитхабе и можешь уверенно искать работку.
А как же другие приблуды? Сложно и долго осилить только первый язык, фреймворк, что-либо. Следующий ты освоишь в считанные недели, а то и дни.

При перекате не забудь тему и тег. Шапка с разметкой:
https://pastebin.com/NCviF7pu
3 1652043
>>1652000 →
Потому что это последнее, что нужно знать js-ру. Оно в языке просто по-умолчанию идет. Ты даже не задумываешься об этом.

Смысл замыкания понятен, если ты шаришь еще в языке где его нет.
4 1652046
>>1652000 →
Я знаю, но не могу объяснить: это вот там окружение и функция имеет доступ к переменным окружения из которого вызвана... Как-то так.
5 1652105
>>52003
дада, одни и те же мантры жиесодебилов оправдывающих свою архаичную дрисню
во всём прикладном программировании работает принцип fail fast, желательно ещё в компайл/билд-тайме, или хотя бы сразу на запуске, но жиесодебилы не любят всю шелуху отсеивать сразу и потом работать с чистым кодом, где не надо гадать что где лежит, они любят месить говно с кучей динамических чеков и кастов, перемешанных с бизнес-логикой, чтобы "интернет не сломался"
6 1652135
>>52105
Из твоей мелкобуквенной дрысни я делаю вывод, что ты сосёшь хуи. Как я узнал? Ну у тебя же рот есть и им можно сосать хуи.
Судя по твоим речам, ты не чуешь разницы между возможностью и необходимостью.

>>52046
Нормальный ответ для трейни.
Джун скажет про [[EnvironmentRecord]].
Мид скажет про проблемы фунарга и асинхронщину.
Сеньор скажет "иди вы на хуй, вы мне ещё тестовое дайте" про объекты для бедных и неявное состояние.
7 1652165
>>52135
Нет и не было никакой "необходимости" и это всё надуманная хуйня и оправдания. Нормальная программа должна запускаться и работать или не запускаться вообще, и в таком случае даже не поставляться. Понятно что это в идеале, но во всяком случае к этому всегда стремились. Чем вебговно принципиально отличается и почему такой подход с ним не совместим? Только давай без хуйни типа "чтоб интернет не сломался" и "сайт должен работать", больше конкретики плиз.
8 1652173
По-моему, очевидно, что если бы браузер, выполняя код, при малейшей попытке сложить дилды со строками нахуй закрывал бы вкладку, то современный веб был бы в разы чище и лучше.
9 1652222
Анон, вопрос про декораторы в Type Script.
Есть ли возможность реализовать механизм аннотаций в Java, когда некий класс аннотируется, а в аннотации указывается какая-либо мета информация. В дальнейшем чтобы имея сам класс можно было бы получить его аннотации и извлечь их них указанную метаинформацию?
Как я понял, декораторы которые указываются у класса нужны для того, чтобы как то менять поведение при конструировании объекта, что мне в моей задаче не нужно. При этом к самому декоратору имея Type обратиться нельзя.
Если такое поведение нереализуемо, то может есть альтернативные варианты?
10 1652224
>>52165
Если для программы определено сложение дилдаков со строками, то куда она должна падать? С чего ты взял, что у программы вообще какой-то долг есть?
Ты можешь написать расширение для браузера, которое будет убивать вкладку на ошибке.
Ты можешь написать браузер, который будет говнять винт целиком на ошибке. На всякий случай.
Ты можешь сделать на ардуине штуку, которая будет убивать тебя пожалуйста ненада любим забавным способом. И пусть твой браузер активирует её на любой ошибке -- нахуй жить в мире с ошибкой.
Всё это достаточно легко сделать потому что платформа открыта. Потому что её делали люди без гиперопеки головного мозга.

А пока нормально функционируют все банки и магазины, у них не возникает никаких проблем с дилдоками и строками, потому что этим
Н Е О Б Я З А Т Е Л Ь Н О
пользоваться.
Помнишь тот замечательный корректнейший сайт, который падал из-за всякой хуйни? Никто не помнит, потому что на хуй никому не нужен.
image.png150 Кб, 403x868
11 1652229
Перекатываю шинобудильник на андроид и столкнулся с такой проблемой: он работает только если введу нынешнее время. Попытаюсь хотя бы на минуту позже, то звук не воспроизведётся, однако, какой-нибудь алерт или любая другая функция сработает, НО если я клацну по приложению за 5 секунд и меньше до времени срабатывания будильника - то звук всё-таки будет.
Думаю, это как-то связано с блокировкой экрана, временем работы программы, фоновым режимом и прочей хуйней. Куда копать что делать?
13 1652314
>>52294
Ок, в гугле попадалось и ранее, значит стоит обратить более пристальное внимание. Спасибо!
14 1652338
>>52165

>Чем вебговно принципиально отличается и почему такой подход с ним не совместим?


Зоопарком устройств и технологий.
sage 15 1652345
>>52224

>нормально функционируют все банки и магазины, у них не возникает никаких проблем с дилдоками



Ага, блять, не возникает.
16 1652350
>>52224
Ты же что-то писал про "необходимость", а теперь пишешь что "и так норм". Нет, не норм.
Хорошо хоть TS получил большое распространение.
17 1652358
Как отправлять HTML теги в JSX пропсах? Есть строка как проп и нужно вторую половину обренуть в спан, чтобы он вставился при вызове пропа.
18 1652392
Express + Mongo.
мерзость
19 1652393
Уважаемые ребята-программисты, может кто подскажет. Сам с погроммированием дело не имел, но решил упростить себе задачу на работе. Нашел подходящий скрипт. В интерпритаторе, ориентируясь на логику, изменил его - заработало, все ок. Но при вставке через консоль разработчика на страницу портала, в котором я работаю, этот скрипт не хочет запускаться. Дайте наводочку куда копать, пожалста.

https://js.do/code/425681

Конкретно, мне нужно было реализовать фильтрацию списка.
20 1652394
>>52393
По идее, я хочу запустить скрипт не при обновлении страницы, а в режиме реального времени, так скажем. И вот как это блядь сделать пока не понимаю.
21 1652397
>>52394
А разметка у тебя какая?
22 1652398
>>52397
Сорян, можно поточнее?
23 1652399
>>52398
Ну смотри первая строчка скрипта - $('input#search').on('input'
Это значит найди в html input c id - search и на каждый введёный или удалёный символ запусти функцию, ну и в самой функции тоже три селектора. Тебе нужно что бы на твоей странице были все эти теги с id
24 1652400
И ещё какие ошибки в консоле
25 1652403
>>52399
Инпут он внизу, я его специально туда засунул. Я думал, что он может обратиться на любой элемент, который имеет ID search, но я менял даже на qwerty - один хер, не работает.

>И ещё какие ошибки в консоле


Вроде на ошибку не ссылается.
26 1652404
>>52403
То есть, грубо говоря, строку поиска я добавил сам. Изначально там был только множественный список
27 1652429
>>52404
Jquery то на странице есть?
image.png9 Кб, 576x61
28 1652433
>>52429
По крайней мере скрипты jquery я вижу
image.png46 Кб, 780x98
29 1652437
интеграция кун снова в треде. анон поясни момент. вот мне приходит объект shipping_methods и далее он перебирается через foreach. мне нужно скипнуть перебор объект cdek как мне это сделать? если юзаю такую хуйню https://ideone.com/dh7SYP то он мне просто ничего не возвращает лол
30 1652439
Я еще пытался сделать кнопку с алертом, кнопка нажимается, но алерта нет.

<button onclick="qwe()">suck</button>

<script>
function qwe(){
alert();
}
</script>
31 1652443
>>52439
в консоли что пишет?
32 1652457
>>52439
в onclick нужно передевать ссылку на функцию, а не вызов функции
image.png5 Кб, 341x110
33 1652484
>>52443
Но ладно, батон не так важен. Мне главное чтоб фильтрация сработала и все.
image.png2 Кб, 191x87
34 1652485
>>52484
бля, обосрался
15845585386230.png734 Кб, 960x928
35 1652501
Как в node.js можно отправить html страницу вместе с вспомогательными данными, которые всегда меняются? Но это еще пол вопроса. Как потом на клиенте получать эти данные, если клиент сам не отправлял запрос? Фактически, это запрос из адресной строки или обычный переход по ссылке.

Express я не использую.
36 1652504
>>52501

>если клиент сам не отправлял запрос программно XHR, fetch и т.д., где есть инструменты обратного вызова


фикс
two-anime-girl-fight-wallpaper-532a6f4257e7e.jpg67 Кб, 500x500
37 1652517
AppRun Vs Svelte?
38 1652520
>>52437
ну же анон помоги
39 1652523
>>52437
for of
41 1652551
42 1652553
>>52437
>>52523
какой for of , какой forEach. Объект перебирается через for in. 1)Соответственно, ты можешь удалить свойство cdek , если оно тебе не нужно (delete).
2)Ты можешь сделать деструктурирующее присваивание и разделить объект на cdek и rest.
3)Можно переписать ключ cdek в Symbol и он будет игнорироваться перебором for in.
4)Ну и самое тупое, делать проверку в for in
43 1652716
Вопрос по промисам , подскажите пожалуйста, результат будет одинаковый при вызове обеих функций?

const getResault = async function() {

return await fetchFromDB()
}

const getResault1 = function() {

return fetchFromDB()
}

await getResault()
await getResault1()
44 1652753
>>52551
Иметь средние знания и получать 7к.
image.png243 Кб, 1920x1080
45 1652840
Почему этот код не срабатывает?
46 1652887
>>51996 (OP)
Аноны, где найти вот такие плееры, охуенные, как тут: http://moviebar.me/1553-129-chernobyl.html чтобы фильмы хостить?
Есть чё-нибудь опенсорцное, фришное, необфусцированное и не проприетарное, а именно свободное?
Главное, чтобы много серий было, и чтобы мотать можно было, и скорость выставлять и качество,
а ещё, чтобы по таймкодам видео было доступно.
47 1652924
Сразу извиняюсь за глупый вопрос, абсолютно не разбираюсь в программировании. Правильно ли я понимаю, что функция "timeout()" задает интервал работы функции "doCheck()" ? Если я изменю значение на 250, то она будет запускаться чаще?

https://pastebin.com/sdv3x4WH
49 1653008
>>1652000 →
как пустой?? а как же сотни вкатывальщиков и коллапс пузыря айти и веба в частности?
50 1653016
51 1653060
>>53008
Вкатывальщики никому не нужны. Все нужны сразу 10+ лет опыта сеньеры до 20 лет, знания 5 ЯП и 15 фреймворков. Чтобы хуярить лендинги на вордпрессе
52 1653148
>>51996 (OP)
Так, блин. Решил тут посмотреть туториалы по JS и везде вижу как жс-код открывают в браузере. Я че не могу как белый человек посмотреть вывод данных в окне терминала?..
работал в свое время с Си, со скриптоязыками дел пока не имел
53 1653158
>>52840
потому что ты не делаешь, что просят в условии каты
54 1653160
>>53148
запускай на здоровье в консоли, только ноду поставь
55 1653196
>>53148

>в окне терминала


>2020

56 1653249
>>53196
питонодети и жс-пидоры уже отучились от терминала, скоро базовые моторные функции откажут
57 1653250
Вотн не пойму как на ноде делали что то серьезное в как минимум до-промисную эпоху.
Сейчас делаю приложуху которая марсин определенный сайт, агрегирует данные, читает/пишет в каталоги, и пишет в файл.
Использую промисы и async|await, и вообще не понимаю как это все на колбеках сделать.
Например в цикле нужно получить хэш от массива файлов - это все дело асинхронное.

И после массив из хэш сумм записать в базу.

Как это сделать чисто на колбеках без промисов я не пойму.
58 1653282
>>52546
>>52523
да гуглится. только это был не выход т.к. пришлось бы перелопачивать весь блок который затем идет, так что нахуй. сделал так что после первого перебора просто удаляет cdek и дальше работает, правда успел это сделать до того как этот анон >>52553
и добился совей цели
59 1653319
Пишу вот это:
var myNumber = 10;
var result;
console.log(result=myNumber++);

Вывод, что я получаю:
10

То есть он сначала присваивает переменной result значение, хранящееся в myNumber, а затем уже проводит инкремент myBumber?..
60 1653322
>>53250

https://jsfiddle.net/8h0a9wos/
Может быть вот так?
61 1653323
>>53322
return на терминальном условии рекурсии забыл, но принцип ты поймешь и без него.
62 1653335
>>53319
да:
let x = 1;
console.log(x++); // 1
console.log(x); //2

x = 1;
console.log(++x); // 2
console.log(x); //2
15841779423710.jpg80 Кб, 720x720
63 1653356
1 вариант
<video id="video-content" src="https://drive.google.com/uc?id=1iiyvcN_r5LaLbCNdmT_VtiKaGzcZzRaA&export=download" type="video/webm" controls=""></video>

2 вариант
const url = 'https://drive.google.com/uc?id=1iiyvcN_r5LaLbCNdmT_VtiKaGzcZzRaA&export=download';
fetch(url, {method: 'GET'}).then(response => response.blob()).then(blob => {...});

Почему в 1 случае запрос на сервер google drive выполняется, файл загружается и отображается, а во 2 пишет в консоль:

>Запрос из постороннего источника заблокирован: Политика одного источника запрещает чтение удаленного ресурса на https://drive.google.com/uc?id=1iiyvcN_r5LaLbCNdmT_VtiKaGzcZzRaA&export=download. (Причина: отсутствует заголовок CORS 'Access-Control-Allow-Origin').


>Запрос из постороннего источника заблокирован: Политика одного источника запрещает чтение удаленного ресурса на https://drive.google.com/uc?id=1iiyvcN_r5LaLbCNdmT_VtiKaGzcZzRaA&export=download. (Причина: не удалось выполнить запрос CORS).


>TypeError: NetworkError when attempting to fetch resource.



Статус ответа на запрос 302
64 1653368
>>53322
Да, такой вариант понятен, последовательно-рекурсивно. Спасибо.
Я вообще думал что какой то оверхед с замыканиями можно использовать, но не понял как сделать.

И получается что вся цепочка вызвово рекурсий тянется через все вызовы.
65 1653372
>>53356
fetch(url, {method: 'GET', mode:'no-cors'}).then(response => response.blob()).then(blob => {console.log('sasd')});

Пиздуй на learn javascript изучать тему Fetch-CORS
66 1653380
>>53368

Колбеки тем и примечательны, что все данные должны протягиваться через всю цепочку.
Все это оборачивается еблей в жопу и плохими абстракциями в конце концов, так что забудь вообще про колбеки в боевом коде - ты все равно встретишь их разве что на проектах из 2011 года и в таких же старых сторонних либах. В любом случае будешь сразу делать promsify и работать через async await.
67 1653392
>>53372
это в mdn есть
68 1653404
>>53250
Запихивать декораторы в декораторы.
69 1653414
>>53372
Так я читал, вот тут https://learn.javascript.ru/xhr-crossdomain
Из того, что там было написано, я только понял то, что сервер сам должен решать разрешать ему эти запросы или нет. Но когда я указал источник в элементе video, то такой ошибки не стало. Алсо, мне все равно не понятно. Сейчас я имею 2 запроса, один из которых с кодом 302, а другой 200. Почитав про 302, я так понимаю этот запрос перенаправляется по заголовку location и выполняется новый запрос. Данные (содержимое файла), вроде, приходит, но я не могу, похоже, правильно декодировать blob, чтобы воспроизвести его.

Делаю так:
.then(blob => {
____ const urlBlob = URL.createObjectURL(blob);
____ videoElem.setAttribute('src', urlBlob);
});

Получаю в консоль:

>HTTP «Content-Type» типа «application/x-unknown-content-type» не поддерживается. Не удалось загрузить медиаресурс blob:null/ed19eee6-50a9-41a1-a52f-b7a369799509.


>Невозможно воспроизвести медиа. Нет декодеров для запрошенных форматов: application/x-unknown-content-type



Я пробовал указывать content-type: video/webm в заголовке запроса, но не помогло.
70 1653440
Парни, пробовал кто-то swagger ui во Vue компоненте отрендерить? Линканите доку или какой-то туториал, потому что я что-то нихера не обстреливают, как это вообще сделать. В рамках одной страницы, естественно, как создать доку я знаю.
71 1653441
Как пишут тру-прогеры

if (condition) {
doSomeCode()
} else {
execAnother()
}

или:
if (condition)
{
doSomeCode()
}
else
{
execAnother()
}

?
72 1653447
>>53441
Тру прогеры пишут без else.
73 1653469
>>53414
Ввел тебя в заблуждение, анон.
Ты не получишь данные через fetch, если будешь делать запрос через браузер, т.к. с сервера гугла не передается хедер Access-Control-Allow-Origin: .
Fetch в любом случае будет делать preflight запрос и не найдет там хедер. Mode: "no-cors" не поможет, ты не будешь иметь доступа к location с видосиком кота.

В теге video по-умолчанию cors проверка выключена, поэтому он нормально подгружает видос.

Как вариант - можешь сделать прокси сервер, который будет тянуть данные с гуглосервера, добавлять к ним хедер Access-Control-Allow-Origin:
и отдавать тебе.
74 1653472
>>53441
тру-проггеры настраивают prettier и никогда не ебут себе мозг форматированием кода.
75 1653484
>>53472
Не, тут дело в самом стиле оформления
Может меня за такое форматирование пидором назовут, а папка говорил что как только так случится, то у меня тогда будет такая кличка
76 1653497
>>53484
в js обычно первый вариант, но да, на всех проектах линтеры и преттиры, пишешь так как заведено в компании.
77 1653498
>>53441
Жабоскрипт может хуйнуть перенос строки, если открывающей скобкой не закончить.
Screenshot2020-04-0816-38-43.png14 Кб, 387x190
78 1653509
аноны, есть страница для регистрации заказа в шопе. и там ко всем инпутам через бэкбоун с jquery прокинут рефреш страницы при изменении какого то из них.
и вот, если я копаюсь в блоке как на пике, т.е. выбираю че и как тыкая в радио, то при клике на какой либо вариант он рефрешит заново страницу и соответственно тем самым сбрасывает выбранный инпут. а мне нужно убрать рефреш с этих инпутов и чтобы оставалось то, что я выбрал. как мне это фиксить ..? и посоветуйте заодно тогда ресурс какой чтоли, куда я мог бы запостить эту кодапарашу бэкбоуновскую на 1к строк.
сам только за jquery шарю ибо пхпшник и бэк, а не фронт.
прошу, анон, помоги
79 1653513
>>53509
Сколько получаешь?
80 1653516
>>53509

>прокинут рефреш страницы при изменении какого то из них


зочем?

>и посоветуйте заодно тогда ресурс какой чтоли, куда я мог бы запостить эту кодапарашу бэкбоуновскую на 1к строк.



на codepen подключить бэкбон и запихнуть эту парашу.
81 1653530
>>53513
маловато, стажер же пока. 300 вечнозеленых. не дс
>>53516

>зочем?


понятия не имею, этот модуль не я писал, легаси ебучее
https://codepen.io/sodomit228/pen/JjYPBoR здесь код всего что есть. жс файл бэкбоуна был в minify скомпрешен, пришлось разворачивать. из того что пока сам выяснил - апдейт шаблона начинается на 1443 строчке, дальше пока не продвинулся
82 1653538
>>53530

>https://codepen.io/sodomit228/pen/JjYPBoR


бля ну в этом никто копаться не будет, ставь debugger и отлавливай что и когда меняется, добро пожаловать в хуёвый мир отладки.
83 1653543
>>53538
ну вот я так и делаю уже как час наверное. алсо, хотелось бы уточнить, каким алгоритмом то мне здесь работать? после перерисовки подбрасывать ему атррибут checked или как лучше?
84 1653576
>>53441
тру-прогеры пишут по код-стайлу конкретного проекта - будь то AirBnB или чёт кастомное.
85 1653585
>>53543
ну где-то же хранится текущее состояние формы, при отрисовке должны подставляться это значения.
86 1653610
Как в VS Code настроить проверку js-синтаксиса? Та, что по умолчанию не шарит нихрена
87 1653616
>>53585
не, мой метод не прокатил. он даже после полной перерисовки шлет меня нахуй и не хочет туда ниче ставить.
алсо, где может быть это состояние формы? в шаблоне? в жс коде? в пхп коде? тут вся эта дичь глубоко завязана по самые помидоры
88 1653620
>>53441
if condition, do: do_some_code(), else: exec_another()
89 1653653
Так, в прочтенном мною гайде (web docs Мозилы) написано, что с обьектом окна (т.е вкладка в веб браузера) Window, используя методы Window.innerWidth, можно получить ширину окна.
Здесь же явная ошибка, идет обращение к свойству обьекта, а не к методу, или я не прав и переводчик все написал правильно?
90 1653658
>>53441

if (!condition) {
execAnother()
return
}
doSomeCode()
91 1653717
Аноны, что скажете за Electron JS?
Совсем мёртвая вещь или просто у нас не зашла?
92 1653741
>>53717
у кого у нас? vs code на ней, например.
93 1653746
>>53610
eslint
>>53616
кури мануалы бэкбона. Вообще страно что после любого изменения у тебя форма рефрешиться, так не должно быть
94 1653756
>>53653

>https://developer.mozilla.org/en-US/docs/Web/API/window/innerWidth


>The read-only Window property innerWidth


Таки да, обосрамс переводчика.
95 1653808
>>53746

>eslint


Как его установить? Добавил в vs code и что дальше?
96 1653830
>>53808
тебя в гугле забанили что ли? вот ради интереса вбил "vs code настройка eslint" - 5 статей только на русском, ещё столько же видосов на ютубе. если ты не можешь IDE настроить без двача, ты как работать будешь, ау?
97 1653836
>>53830

> ты как работать будешь


А я не буду. Я РНН-господин.
98 1653846
>>53741
В России.
Просто интересно, стоит ли вкатываться в него.
99 1653850
>>53846
Если тебе прямо в России надо, то вкатывайся в 1С/Битрикс.
100 1653882
>>53846
десктоп приложения большинству не нужны
а так бывает на ней пишут что-нибудь какие-нибудь стартапы
101 1653918
В ноде можно как-то конфигурировать запросы с помощью прокси/впн? Решил попробовать телеграм бота написать, а домен с апи походу заблокировали в рахе... Хотя, сам телеграм работает... Пробовал через браузер запрос делать с помощью впн, все работает. Но через ноду не получается.
102 1653920
Есть один блок и у него высота 0 пикселей. В нём есть контент и по клику на кнопку блок выезжает.
Почему не получается сделать просто высоту 100%/авто/любую, где нет конкретного значения в пикселях так, чтобы блок появлялся плавно? Если задать ему конкретную высоту, то он появляется плавно, но ведь высота зависит от контента и т нельзя ограничивать её.
103 1653923
>>53846

>Просто интересно, стоит ли вкатываться в него.


Там весь API на полторы-две страницы, лол
104 1653965
>>53441
1 - вижу постоянно, общепринятый жсовый стиль.
2 - только в шарпе видел, некрасиво, не нравится
105 1653967
>>53965

>общепринятый жсовый стиль


Ты хотел сказать сишный?
106 1653968
>>53918
О, знакомые проблемы.
Поставь общий впн типа Windscribe, чтобы весь трафик пускал через себя.
107 1653969
>>53967
Ну да, K&R, не суть. Во всех проектах видел только такой стиль отступов.
108 1653971
Антохи, не знаете когда там es2020 подвезут уже окончательно?
Хочу optional chaining (не TSовый) не могу.
144226.png27 Кб, 677x464
109 1653972
>>53968
Я нашел, вроде, решение (пик), но оно не работает, пытаюсь понять в чем дело. После запуска приложения нет никаких ошибок, ничего, но спустя 10-15сек приложение просто завершается. Код использовал из примера
const Telegraf = require('telegraf')

const bot = new Telegraf(process.env.BOT_TOKEN)
bot.start((ctx) => ctx.reply('Welcome'))
bot.help((ctx) => ctx.reply('Send me a sticker'))
bot.on('sticker', (ctx) => ctx.reply(''))
bot.hears('hi', (ctx) => ctx.reply('Hey there'))
bot.launch()
110 1653975
>>53972
Каникулы?
111 1653978
>>53972
BOT_TOKEN прописан в энве? ВПН включил? Прокси подключил?

>telegraf


Вообще хз что это за хуйня
https://github.com/yagop/node-telegram-bot-api - возьми вот это
112 1653981
>>53978

>что это за хуйня


Всего лишь отец всех api модулей для работы с телеботами...

Я уже решил проблему, нашел рабочий прокси методом тыка.
113 1654018
Аноны, такой вот вопрос - я создаю пул подключений к mysql базе.
Пул создается при старте приложения. Хочу сделать так - в отдельном модуле я хочу создать пул подключений, и через module.exports реквайрить его уже в модули где он будет использоваться.
Но вопрос в том что само создание этого пула - асинхронный процесс.
Правильно ли я создаю пул подключений?
И как рекваирить асинхронные модули?
114 1654025
>>54018
что то я засомневался что в пакете mysql2 коннект асинхронный:

// get the client
const mysql = require('mysql2');

// create the connection to database - этот момент асинхронен?

const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
database: 'test'
});
115 1654033
>>53882
Первый адекватный ответ.
Спасибо.
116 1654034
>>54025

>что то я засомневался что в пакете mysql2 коннект асинхронный:


Доку почитать не вышло?
117 1654054
>>53920
погугли transition, visibility, opacity, вот это всё. можно сделать чистым CSS
118 1654064
>>54033
десктоп приложения большинству нужны
а так же бывает на ней пишут что-нибудь какие-нибудь большие компании
119 1654078
>>54064
Кому нужны?
Рядовым юзерам браузер заменил все, что нужно.
Остались офисные пакеты, узконишевые архикады и игори.
120 1654128
Вообще работаю на бэке с Питоном или с Рельсами, но иногда приходится писать немного говнокода на жс
У вас есть менеджер npm (по типу питоновского pip), только вот как его установить как следует? Туториалы что дает гугол говорят об установке npm И установке Ноды, но мне вот Нода нахер не сдалась. npm вообще существует раздельно от нее?
121 1654130
>>54128
Установка нужна как на Линух (Убунту), так и на Винду
122 1654135
Аноны, поясните, а то я затупил.

await функция которая ничего не возвращает(не имеет ретурн) , вызванная внутри async функции - разве не возвращает промис с вечным пендинг? И не "вешает" выполнение функции?

Практика показывает что не вешает. Однако что возвращает пустая async функцимя?

вот примерный пример:
https://ideone.com/I598VL
123 1654140
Почему второй код ничего не выводит?
124 1654148
>>54135
Поспешил. Святой стэковерфлоу спасает.
Судя по всему если в конце функции нет return чего либо или Promise.resolve/reject - то async функция вернет промис со значением undefined
125 1654157
>>54140
Точнее выводит после того как день становится больше 24
126 1654183
>>51996 (OP)
Что в форматировании/проектировании жс кода мгновенно может выдать во мне пришлого еблана?
Скажем, я хорошо разговариваю по английски и дружу с грамматикой, но говорю с дичайшим руснявым акцентом, отчего все на меня будут косо смотреть. Что аналогия для этого в js?
127 1654254
>>54183
1. Мутации не к месту
2. Неосиливание скопов, примитивных референсов и асинка
3. Неосиливание преобразования типов
128 1654266
>>54254

>Мутации не к месту


Експлейн плиз
15860746330160.jpg27 Кб, 604x453
129 1654327
Сап аноны!
Нужна помощь.
Есть объект с параметрами, допустим:

let opHuy = {
мега: {
свойство: "1",
свойство: "2",
ещеСвойство: {
свойство: "3",
}
}
}

Допустим чтобы обратится к свойству "3", мы пишем так:
"opHuy.мега.ещеСвойство"

Так вот, у меня есть переменная коротая определяет свойство "мега", потому-что в теории их может быть дохуя в объекте. Вопрос:
Можно ли вызвать таким образм:
"opHuy.[переменнаяОпределяющееСвойствоМега].ещеСвойство"?
И как это возможно?
130 1654336
>>54327
lodash pick юзай и не выебывайся.
131 1654337
>>54183
Ничего. Если есть опыт другого ЯП, то ты будешь лучше программировать вкатывальщиков в JS как в первый серьезный язык.
132 1654338
>>54336
Да нахуй мне эти кадрработы, как это юзать на чистом js
133 1654341
>>54338
Лодаш очень близок к стандартной библиотеке.
134 1654346
135 1654425
>>53971
никто не знает,некоторые вещи застряли еще в 19г и не дошли до финала,а ты про 2020. у них этот процесс размазан во времени,нет единой даты для выпуска как удругих языков
136 1654446
>>54327
Возможно. Нужно точку после opHuy убрать.

до

>opHuy.[переменнаяОпределяющееСвойствоМега].ещеСвойство



после
opHuy[переменнаяОпределяющееСвойствоМега].ещеСвойство
137 1654477
>>54140
ты сбросил обрывки эффектов. Это 2 эффекта, которые друг за другом идут или ты тестил их по отдельности? Что значит ничего не выводит, undefined или вообще ничего?
138 1654481
>>51996 (OP)
Вопрос по ноде.

Допустим, есть объект у которого свойство - функция: obj.funcName()

Вызвать функцию "по имени" можно следующим образом:
const str = 'funcName'
obj[str]()

Как вызвать функцию, имея строку: const str = 'obj.funcName'? Желательно не используя eval.
139 1654490
Знакомый сравнил пользование Java с использованием толстого 20 см члена, а использование js - с пользованием фаллоимитатора
Насколько это близко к истине?
140 1654500
>>54490
Джава - это толстый член в мужской жопе.
Js - фаллоимитатор в тянской писечке.
14582390593410.jpg163 Кб, 900x751
141 1654503
Что посоветуете почитать про структуру, организацию, паттерны кода? Вроде как удается писать, но лапша ебаная получается.

Только применительно именно к js, а не общие понятия.
142 1654506
Как в использовать результат асинхронной функции внутри синхронной?

Ну вот есть функция getInfo, которая делает сетевой запрос и получает результат.

Мне нужно внутри другой функции обработать этот результат.

Я пишу getInfo().then( тут обрабатываю )

А можно без .then? Но при этом, не делая другую функцию тоже асинхронной?
143 1654555
>>54506
Нет. Синхронная функция это такая функция, которая если стартовала, то выполнится до конца, переключение выполнения на асинхронную функцию невозможно. В принципе синхронный код это такой код, который идёт строго от начала и до конца.
144 1654560
>>54506
Ты походу не совсем догоняешь, что такое промисы.

Например асинхронный фетч данных вернет не данные.

Он вернет обещание вернуть тебе данные.
Поэтому когда ты попытаешься вывести результат этой функции, ты получишь undefined. Потому что результат это не данные, а ОБЕЩАНИЕ.

Представь себе что Васян должен тебе сотку.

const sotka = "100";

Колян не может просто так отдать тебе сотку, у него ее еще нет, а отжать у лоха он сможет ее только завтра. Он дает тебе расписку (промис) на которой пишет, что точняк вернет тебе твою сотку, как только сможет (завтра).

const raspiskaKolyana = new Promise(resolve => {
setTimeout(() => resolve(sotka), 1000)
});

function getBabkiFromKolyan() {
return kolyanPromise;
};


Вот ты пришел в магаз, где хочешь купить сиську пива, которая стоит сотку. Если ты попытаешься просто отдать расписку, продавщица тетя Клава пошлет тебя нахуй , потому что расписка это не деньги (undefined).

function kupitPivka() {
const babki = getBabkiFromKolyan ();

if (babki === "100") {
return console.log('Ваше пивко, сударь!');
}
return console.log('Хуй тебе')
}

kupitPivka(); // "Хуй тебе";


Так что же делать? Ты можешь просто дождаться, когда Васян вернет тебе деньги (сделать тетю Клаву асинхронной)

async function kupitPivka() {
const babki = await getBabkiFromKolyan ();

if (babki === "100") {
return console.log('Ваше пивко, сударь!');
}
return console.log('Хуй тебе')
};

kupitPivka(); // “Ваше пивко, сударь!”


а можешь разъяснить тете клаве последовательно действий, при получении расписки, мол сначала она получает расписку, а потом c этой распиской идет к Коляну за деньгами.

function kupitPivka(babki) {
if (babki === "100") {
return console.log('Ваше пивко, сударь!');
}
return console.log('Хуй тебе')
}

getBabkiFromKolyan().then(babki => kupitPivka(babki));


Правда пиво ты все равно получишь после того, как тетя Клава сходит к Коляну. Ну тут уж ничего не поделать.
144 1654560
>>54506
Ты походу не совсем догоняешь, что такое промисы.

Например асинхронный фетч данных вернет не данные.

Он вернет обещание вернуть тебе данные.
Поэтому когда ты попытаешься вывести результат этой функции, ты получишь undefined. Потому что результат это не данные, а ОБЕЩАНИЕ.

Представь себе что Васян должен тебе сотку.

const sotka = "100";

Колян не может просто так отдать тебе сотку, у него ее еще нет, а отжать у лоха он сможет ее только завтра. Он дает тебе расписку (промис) на которой пишет, что точняк вернет тебе твою сотку, как только сможет (завтра).

const raspiskaKolyana = new Promise(resolve => {
setTimeout(() => resolve(sotka), 1000)
});

function getBabkiFromKolyan() {
return kolyanPromise;
};


Вот ты пришел в магаз, где хочешь купить сиську пива, которая стоит сотку. Если ты попытаешься просто отдать расписку, продавщица тетя Клава пошлет тебя нахуй , потому что расписка это не деньги (undefined).

function kupitPivka() {
const babki = getBabkiFromKolyan ();

if (babki === "100") {
return console.log('Ваше пивко, сударь!');
}
return console.log('Хуй тебе')
}

kupitPivka(); // "Хуй тебе";


Так что же делать? Ты можешь просто дождаться, когда Васян вернет тебе деньги (сделать тетю Клаву асинхронной)

async function kupitPivka() {
const babki = await getBabkiFromKolyan ();

if (babki === "100") {
return console.log('Ваше пивко, сударь!');
}
return console.log('Хуй тебе')
};

kupitPivka(); // “Ваше пивко, сударь!”


а можешь разъяснить тете клаве последовательно действий, при получении расписки, мол сначала она получает расписку, а потом c этой распиской идет к Коляну за деньгами.

function kupitPivka(babki) {
if (babki === "100") {
return console.log('Ваше пивко, сударь!');
}
return console.log('Хуй тебе')
}

getBabkiFromKolyan().then(babki => kupitPivka(babki));


Правда пиво ты все равно получишь после того, как тетя Клава сходит к Коляну. Ну тут уж ничего не поделать.
145 1654576
Какие Node_modules можно выпилить из проекта? Как я понял - это все Global cache и все эти 56к файлов нахуй не нужны. Есть какие ни будь идеи? Мой хостинг больше 10к файлов не вывозит, да и прикинуть из логики, нахуй нужны все эти модули
146 1654579
>>54560
Я, кажется, понял при каких обстоятельствах появился джаваскрипт. Скажу честно, очень сложно программировать на жс, если ты пришел после нормального языка.
147 1654583
>>54579
Нет, ты не понял. Точнее ты просто не программировал толком. Скорее всего не работал ни с графическими оболочками, ни с асинхронным программированием.

JS построен на обработке сообщений. Тот же принцип используется при работе с окнами в gui, во всех gui.

Эта архитектура позволяет очень большие возможности получать, но и несёт проблемы какие-то.

Промисы ничего принципиально не меняют сами по себе. Фактически те же коллбэки. Меняют async-await, которые делают асинхронный код внешне похожим на синхронный.
148 1654593
>>54583
без ООП это мышинная возня, а не программирование
149 1654594
>>54593
Мальчик, успокойся. Про функтор слышал хоть раз?
150 1654599
>>54593
Джавист-с-большим-членом, ты? >>54490
Без названия.jfif14 Кб, 474x471
151 1654600
>>54594
мальчик, твои мышинные функциональные приемы с реализацией класса функции тут не канают. Если ты хотел выебнутся, то лучше бы писать про state, а не про функторы (которые кстати в разных языках по разному используются).
Еще раз повторюсь, код без ООП - это лишь набор инструкций. Никакой архитектуры, никакой семантики. Все в кучу накидал, сборщик упаковал все, запулил в релиз.
152 1654604
>>54600
Канают, потому что промис - это тот же функтор, в котором вместо map then. Если ты с одним функтором разобраться не в силах, то ты функционально попущен.
153 1654605
>>54600

>код без ООП - это лишь набор инструкций


Про Scala, Erlang и Smalltalk хоть слыхал, ооп-адепт?
154 1654606
>>54605
Ебаный Смолтолк сюда затесался как-то, я так-то Clojure имел ввиду
155 1654607
>>54604

>промис - это тот же функтор


Я ему про state, он мне про промисы. Ну понятно, чего еще от JS-сника ожидать.
>>54605
слыхал, 3 мертвых языка. Но, Smalltalk ООП (хоть бы нагуглил, прежде чем писать)
156 1654609
>>54607
Изначально разговор про промисы шел.
157 1654614
>>54605
А вот тут многоуровневая оговорочка на грани мощнейшего каламбура.
ООП и Смолток мало отношения имеют к современной дрысне уровня
приват ПерсонСинглтонПровайдерФабрика персонСинглтонПровайдерФабрика
которую жирнючий выше называет "архитектурой и семантикой".
158 1654615
>>54609

>изначально


>>54594

>Про функтор слышал


У тебя кэша 8 кбт, что больше 3 постов в треде ты забываешь о чем писал ранее? Лучше бы в ООП разобрался, хоть мозги бы немного развил
159 1654616
>>54615
Я про >>54506 пост.
160 1654617
>>54614
Ага. Лучше на Пистоне ООП хуярить
Там тебе ни приватов, ни вдуманной архитектуры. Заебись
161 1654618
>>54614
Возвращать из метода экземпляр самого себя, что тебе не нравится, неосилятор?
162 1654620
>>54617
питон хороший язык, главное чтобы принципы ООП реализовывал. Просто смотришь на этот JS, вроде ничего сложного после ООП, даже такие вещи, как замыкания, промисы и все остальное, что для JS макак кажутся чем то из разряда overhard, но по факту - написание кода схоже с валянием в грязи.
163 1654623
>>54604
>>54607
Вы оба два младшекурсника.

Промисы о другом вообще, они о цикле обработки сообщений и выполнения задач, планировщике и т.п., что и составляет основу JS.

А это ООП и функцианальщина вообще о другом. Можно с ООП, можно без.

Архитектура JS, основанная на колбэках (старый стиль) и на async-await (новый, трендовый, асинхронный), он этого не зависит.
164 1654625
>>54620
Можешь на своём любимом языке целый день потратить на важнейшие инженерные задачи, на выбор между айнсайнд интом и флоатом или на выбор между фабрикой и провайдером. Откуда у тебя время в треде срать? Решил все задачи на ЖС и осталось время философствовать?
165 1654628
>>54625

>выбор между фабрикой и провайдером.


Типичный вкатывальщик или студень.
Который недавно прочитал про "паттерны проектирования", выучил несколько паттернов и теперь пытается бравировать своими знаниями. Все в том или ином виде это проходят.
166 1654629
>>54625

>увидел, что двачую за питон


>любимом языке


Понятно. Я забыл, что у JS-сника только JS (ну и еще версточка, чтобы хуй не пинал и деньги отрабатывал).
167 1654631
>>54625
кстати да, какое отношение фабрика к провайдеру имеет? Это паттерны разного применения. Типичный подзалупный студент вкатывальщик
2.jfif31 Кб, 572x650
168 1654632
Я задумался над вопросом - почему те, кто пишет на JS считаются разработчиками/программистами, если они по сути верстальщики?
169 1654633
>>54629

>увидел, что двачую за питон


>любимом языке


>айнсайнд интом и флоатом


>за питон


>Понятно


Понятно.

>>54631

> Это паттерны разного применения.


Ну ничего себе. Оба они суть синглтоны. Мысли шире.
170 1654635
>>54632
Потому что они пишут программный код и получают за него деньги. Это и есть определение профессионального программиста. Ты какой-то глупенький.
171 1654636
>>54632
Вернись в свой 2002 год
172 1654638
>>54636
Как сложно ты ему пожелал исчезнуть )))
1.png234 Кб, 502x634
173 1654639
>>54633

>фабрикой и провайдером


>Оба они суть синглтоны


Дать бы тебе по еблу этой книжкой
>>54635

>пишут программный код


html тоже можно считать программным кодом, только разметки. JS по сути ничего больше, чем набор инструкций. Помоему одного поля ягода. Я вообще не знаю, за что платить верстальщикам килобаксы, если они за еду должны работать...
174 1654640
>>54639
html сам по себе не тьюринг полный язык.
175 1654642
>>54639

>говнопаттерны, придуманные специально для С++ из-за его косячных ограничений


норм источники у тебя
176 1654643
>>54639
Давай. У тебя есть эта книга? Суп с книгой или ГТФО.
Приложил какую-то хуйню о которой слышал в интернете, а сам даже фабрику от html отличить не может. Ну хотя бы верстальщикам килобаксы платишь, в остальном ты конечно душный провайдер.
177 1654645
пиздец, допилил этот модуль для опенкарта, собрал его. поставил на сайт - все пашет. взял поставил на другой где тот же самый движок , только с другими стилями и товарами - не хочет работать. ебал рот этих cms. аноны, бегите от них куда глаза глядят
>>53509 - кун
photo2020-04-1011-42-08.jpg136 Кб, 957x1280
178 1654650
>>54642

>>говнопаттерны, придуманные специально для С++ из-за его косячных ограничений


жаль тебя
>>54643

>Давай


даю

>фабрику от html отличить не может


и тебя жаль
179 1654684
Зарубите себе на носу, товарищи первокурсники:
1. То, что ты использовал паттерны, не значит, что твой код объекто-ориентированный
2. То, что ты написал класс и наследовался от него - не означает, что твой код объектно-ориентированный
3. Если код функциональный, это не значит, что он не объектно-ориентированный. Если код объектно-ориентированный, это не значит, что он не функциональный
4. Все вышесказанное имеет смысл, если рассматривать ООП таким, как его задумал его создатель. Если вам сказали, что ваш язык самый ОО, это может быть правдой, ибо ООП это не стандарт.

>>54620
Если в питоне реализовано ООП, то как в нем реализовано сокрытие данных? OH WAIT....

>>54639

>JS по сути ничего больше, чем набор инструкций


Как это мешает писать на нем программы?
180 1654687
>>54684

>сокрытие данных


Ну-ка, ну-ка имеешь ввиду что в Питоне нет инкапсуляции?
181 1654691
>>54684

>Зарубите себе на носу, товарищи первокурсники


Товарищ третекурсник вываливает пасты

>Если в питоне реализовано ООП, то как в нем реализовано сокрытие данных? OH WAIT....


давай разберемся, чем реализовуется сокрытие. Это:
1. Классы/namespaces/Методы
2. Аксессоры (Getter and setter)
3. Модификаторами доступа к объектам
Смотрим на доку питона и справниваем, что есть, чего нет. По сабжу - я написал, что питон хороший язык не из за ООП. Скажу больше, я даже не знаю как оно там реализовано.

>Как это мешает писать на нем программы?


Я не ставил под сомнение то, что на нем нельзя писать софт. Я задаюсь вопросом, чем JS-сним отличается от обычного верстальщика
182 1654701
>>54687
Если для тебя "сокрытие данных" === "инкапсуляция", это значит, что ты либо дебил, либо зеленый. Пиздуй изучать терминологию.

>>54691

>Скажу больше, я даже не знаю как оно там реализовано.


Никак.
Все тобой приведенное - эмуляция сокрытия.

>чем JS-сним отличается от обычного верстальщика


Зарплатой, задачами, набором инструментов, требованиям к навыкам.
183 1654707
>>54701

>Если для тебя "сокрытие данных" === "инкапсуляция"


А к чему тогда твой высер про отсутствие сокрытия данных в Питоне? ООП подразумевает обязательное сокрытие?
у тебя в голове стековерфлоу произошел? хоть помнишь что ты сам говорил 15 мин назад?
184 1654713
>>54701

>Зарплатой


Рейт верстальщиков на препроцессорах может быть выше, чем JS-сника на fiverr, upwork

>задачами


Такой же Casual stuff. Гугли доку, копируй-вставляй, правь под себя

>набором инструментов


у JS-сников фреймворки/либы с 1к депенденсиес, ты про это?

>требованиям к навыкам


Ок, JS-сник, это не верстальщик, это верстальщик+
Как правило без знаний верстальщика даже не берут на работу. Но вся концепция сводится к одному - лепишь не понятно в каком стиле простыни/макароны какой то поеботы, сборщик это все упаковует и выливаешь в прод. Для меня самая большая загадка JSсников это: Как дебажить, как тестировать и как сапортить эту хуйню
185 1654715
>>54707

Если ты, тупорогий кретин, не внемлил совету пиздовать учить терминологию, давай я помогу тебе немного, не благодари. Вот классическое описание ООП от человека, его создавшего:

OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things.

Local protection and hiding подразумевает, что данные скрываются в обязательном порядке и доступны только через messaging.
186 1654718
>>54713

>Рейт верстальщиков на препроцессорах может быть выше, чем JS-сника на fiverr, upwork


Рейт Х может быть выше, чем рейт Y.

Бессмысленный аргумент.

>Такой же Casual stuff. Гугли доку, копируй-вставляй, правь под себя

У language_name такой же casual stuff. гугли доку, копируй-вставляй, правь под себя.

>у JS-сников фреймворки/либы с 1к депенденсиес, ты про это?


Протоколы, субд, message brokerage, кеширование, контейниризация, scaling. Про это тоже.

>Но вся концепция сводится к одному - лепишь не понятно в каком стиле простыни/макароны какой то поеботы, сборщик это все упаковует и выливаешь в прод.


Зависит не от языка, а от конторы.
187 1654719
>>54701
>>54643
>>54635
И да, я перечитал комменты в треде и понял, что меня считают за толстяка или хейтера JS. Так вот я считаю JS хорошим языком, подтверждение тому его популярность и безальтернативность в web секторе. Я просто после ООП не до конца понимаю некоторых вещей, которые можно было бы залепить в виде ООП.
188 1654721
>>54718

>У language_name такой же casual stuff. гугли доку, копируй-вставляй, правь под себя.


ага, тебе на митапе говорят - тут должен быть бридж, а тут фабрика. Закопипастишь такое?

>Протоколы, субд, message brokerage, кеширование, контейниризация, scaling


написал первое, что пришло в голову? Я же писал, верстальщик+, ну может ++, ладно

>Зависит не от языка, а от конторы.


Get started, npm create-app любой шаблонный запускаешь и видешь одно и тоже везде. То, что можно инкапсулировать и использовать с дженериком с перегрузом в JS реализуется копипастом с наименьшими правками
189 1654723
>>54721

>Закопипастишь такое?


Да. Паттерны как раз и созданы для того, чтобы их копипастить.

>написал первое, что пришло в голову? Я же писал, верстальщик+, ну может ++, ладно


Написал чем может заниматься JS-задний-конец девелопер, и чем точно не будет заниматься верстак.

>Get started, npm create-app любой шаблонный запускаешь и видешь одно и тоже везде.



Ты правда считаешь, что в нормальных продуктовых конторах бездумно юзают бойлерплейты и вслепую копипастят с рандомных
репо в нпм? :)
190 1654726
>>54715
Сам ты тупой.
В питоне нет сокрытия данный по-умолчанию, в виде protected/private, это немного минус, переменные светятся снаружи.

Есть защита от переопределения в наследниках через префикс-двойное подчёркивание.

Если тебе нужно сокрытие данных, ты можешь реализовать его через геттеры-сеттеры.

Основы ООП, что отличает от обычного программирования:
1) есть какие-то данные внутри объекта, определяющие его состояния, которые снаружи не видны - в питоне и жс есть. Это инкапсуляция.
2) Наследование тоже есть.
3) Все функции виртуальные, соответственно этим ты полиморфизм обеспечиваешь.

Это те самые столпы, на которых базируется ООП. Если они есть, то удобно писать в ООП стиле. Язык это инструмент, и что питон, что в меньшей степени жс ООП позволяют.

Допустим, в C++ и Java стройнее ООП сделано, но не об этом речь. Как инструмент, ООП в питоне работает.
3bbd5ac46e4e58dd2cf7a8947550467c.jpg373 Кб, 1280x1531
191 1654731
Здравствуйте, уважаемые джентльмены. Какой уже день, изучаю манускрипты по JS, на данный момент кое-как знаю (имею представление): переменные, функции, циклы, базвоое API браузера (DOM), базовое ООП (создание конструктора, создание обьекта, наследование). Джентльмены, могу ли я со своим багажом знания приступит к изучению Реакта? Надеюсь на вашу благосклонность и терпимость.
192 1654732
>>54723

>Да. Паттерны как раз и созданы для того, чтобы их копипастить.


Что за хуйня?
Паттерны - это просто именованные идеи проектирования.

Ты можешь знать какие-то подходы, можешь сам придумать, всё придумывается, если мозги есть. Немного полезно какие-то термины знать, чтобы просто сказать "фабрика", а не объяснять "хочу реализовать функцию, которая возвращает какую-то другую функцию/класс/объект".

Но поскольку слишком многие описанные паттерны близки друг к другу, деталями отличаются, никто их не помнит, конечно, хотя принципы все знают. Такое доскональное знание паттернов показывает, что ты просто недавно книжку прочитал и рвёшся что-нибудь где-нибудь применить. Пионерство играет одним словом.
193 1654733
>>54719
Как ООП тебе должно решить проблему асинхронности?
15817941724383.png450 Кб, 1225x977
194 1654744
>>54723

>Да. Паттерны как раз и созданы для того, чтобы их копипастить


судя по всему ты их никогда не реализовывал, раз такое пишешь.

>Ты правда считаешь, что в нормальных продуктовых конторах бездумно юзают бойлерплейты и вслепую копипастят с рандомных


репо в нпм? :)
я думаю у них есть свои шаблоны проектов ака скелет, под который они стелят новые проекты. Но как много продуктовых ты знаешь в СНГ? Сапорт да и только

>Написал чем может заниматься JS-задний-конец девелопер, и чем точно не будет заниматься верстак.


Ок, давай разберем, что ты накалякал:

>Протоколы


Абстрактно, нужна конкретика

>субд


фронты занимаются БД? Или ты про Full-stack говоришь? Мой ответ - нет. Разве что через JSON что ни будь вытянуть с API

>message brokerage


опять не фронта задача, может быть фул-стэка с Node js. И это скорее как модуль, чем какая то обязанность, присущая каждому JS-снику. Так что с этим не соглашусь тоже.

>кеширование


каждый работающий с вебом работает с кешем. Да, верстальщик его не касается, ему это и не нужно

>контейниризация


Как и с message brokerage палится определениями студентоты. Для этого JS-сник и нужен, что менять функционал программы индивидуально под клиента

>scaling


3ее абсурдное определение студентоты. Расширяемость. Верстальщик тоже пишет с учетом увеличения функционала. Для этого препроцессоры и придумали.
Исходя из перечисленного тобой функционала JS-сника, который зачастую или является реализацией модуля, могу сделать вывод, что ты и сам то продуктивые никогда не видел. Могу предположить, что на реальном проекте ты тоже никогда не сидел.
>>54733
парадигма решает такие вопросы? Меня вкатыши иногда так поражают, как обухом по голове. Толи от тупости, толи от не знаний. По сабжу - async/await уже давно пришел в другие ООП языки (до JS-а)
195 1654749
>>54744

>async/await


Делает код асинхронным. Вообще, вопрос максимально тупой, нельзя выполнить код "сейчас", используя результат выполнения кода, который выполнится "потом". Это к изначальному вопросу >>54506, после которого залетные загорелись и начали что-то про ООП писать, который к делу вообще отношения не имеет.
196 1654752
Питонист-гомосексуалист в треде
Насчет async/await кстати хотел узнать: какие тут ключевые отличия в жс от питоновских async/await?
Без названия (1).jfif15 Кб, 320x213
197 1654758
>>54749

>Делает код асинхронным


Странное чувство меня посещает каждый раз, когда пытаюсь вести споры на борде. Ощущение, что сам себе на ебало плюю.
198 1654763
>>54758
А что такое? По-твоему ты можешь сделать await вне асинк функции? Ну расскажи тогда, как.
199 1654770
>>54763
что блять за хуйню ты несешь? Какое нахуй await вне функции? Ты хоть понимаешь, как асинхронность работает и для чего тебе этот сахарочек завезли в JS? Эх блять, посмотрел бы я, как бы вы без них еблись с оптимизациями через task factory...
200 1654777
Хуергу какую-то понаписали.

Вопрос >>54506 был как оформить использование асинхронной функции внутри синхронной, не делая ее асинхронной.

>>54749
Ну где там сказано про сейчас? Где? Получаем данные в конце выполнения функции и выполняем с ними действия после, блядь, их получения.
201 1654783
>>54777
Так синхронный код - это и есть код, который выполняется "сейчас". Если код должен делать что-то после выполнения асинхронного кода, то он тоже должен быть асинхронным. Это простая логика, это так и должно работать.
202 1654786
>>54701
ебать ты обосрался, лучше вообще нахуй ниче в тред не пиши, умник хуев.
>>54707 - удваиваю этого
203 1654787
>>54783
Он обернут в then, это уже неасинхронный код?
204 1654789
>>54726
Вот ты и дал самому себе пососать.
Эмуляция фич ООП в питоне - это охуенно, Питон стронк.
Эмуляция фич ООП в жс - говно, недоязык. "ЖС говно после ООП".

Открою секрет. В JS можно писать настолько же ООПшный код, что и в python. Правильное ООП по Кею не реализовано ни в одном из этих языков. Твое видение ООП в котором откуда-то наследование взялось, как я уже писал, может быть рабочим, а может и не быть. Я не знаю, что у тебя в голове, а объяснить ты толком и не можешь.

>>54744
Я ему:

>Написал чем может заниматься JS-задний-конец девелопер, и чем точно не будет заниматься верстак.


Он тебе:

>фронты занимаются БД? Или ты про Full-stack говоришь?


>И это скорее как модуль, чем какая то обязанность


Читать научись, блядь, потом конкретику спрашивай, зеленый.
205 1654805
>>54770
Джавист, да успокой ты уже свою жопу
206 1654814
>>54789

>JS-задний-конец девелопер


Нет никакого "заднего конца". Node js запилили, но от этого backend JS-сников не появилось. Есть только Fullstack. И изъясняйся понятным языком, а не сленгом своей шараги
207 1654819
>>54805
не джавист, но близко. Как можно задавать вопрос про "Как вынести await из метода?" Это что блять в голове должно быть?
Кстати да, обратил внимание, что JS-снички любят писать за функции. Так вот хочу посоветовать почитать, чем функция отличается от метода, прежде чем везде тыкать это определение
208 1654826
ООП - это параша, которую использую только из-за легаси. Вы ебанулись за это тухлое говно из 80-х топить?
209 1654827
>>54819

>Как можно задавать вопрос про "Как вынести await из метода?"


Это тут >>54506 задали такой вопрос. Далее последовало объяснение, что так не делается. Если ты это объяснение не понял - твои проблемы.

>чем функция отличается от метода


Функция - отдельная сущность, а метод - свойство объекта.
210 1654828
>>54827

>Это тут >>54506 задали такой вопрос.


В каком месте? Процитируй, шизик.
211 1654829
>>54828

>А можно без .then? Но при этом, не делая другую функцию тоже асинхронной?


Вот тут.
212 1654830
>>54829

>"Как вынести await из метода?"


>А можно без .then? Но при этом, не делая другую функцию тоже асинхронной?



Одно и тоже, прям 1 к 1.
213 1654831
>>54830
Одно и то же. Ты либо делаешь через .then, либо через async/await. Ключевое слово await работает только внутри async функций. Все.
Без названия.gif351 Кб, 200x200
214 1654833
>>54827

>Функция - отдельная сущность, а метод - свойство объекта.


facepalm.gif

>Если ты это объяснение не понял - твои проблемы


сейчас бы от JS-сника послушать объяснение асинхронности, когда им его только в 15 году завезди и сразу оптимизированные, в виде высокоуровневого враппере

>Это тут >>54506 задали такой вопрос


ты мне задал этот тупорылый вопрос, когда я даже понятия не имею, что вы там ранее обсуждали
215 1654836
>>54833
Я не задавал тебе вопрос, это был намек на то, что ты глупенький и не понимаешь, как работает джаваскрипт.
216 1654837
>>54833

>Функция - отдельная сущность, а метод - свойство объекта.


Говнооперу не понять, что функция может быть объектом высшего порядка, а не только методом объекта?
217 1654838
>>54819

>не джавист


И хто же?
218 1654841
>>54837

>функция


>объектом высшего порядка


ебать ты заливаешь, "высший порядок". Пиши проще - метод, может содержать реализацию другого метода.
Ответ - не правильный, думай еще.
>>54836
Пост >>54719 вопрос >>54744
Объяснение >>54733
Какое отношение парадигма имеет к реализации таких вещей, как асинхронность? Ты путаешь понятия. Я говорю - Лучше ехать на велосипеде, чем на самокате, а ты мне - "Как это решит проблему с клаксоном".
Я сижу в треде около 2 часов и я понимаю, что кроме вкатышей и мимо_ойтишников тут врядли кто то пишет.
219 1654844
>>54841

>ряяя я самый умный, вы все лахи, ну то есть я обосрался, но сейчас скажу, что нет, это тупые

220 1654846
Можете вообще написать ситуации, где используется асинк-авейт, кроме сетевых запросов ну и кроме сеттаймаута из примеров?
221 1654848
>>54844
учу не осиливших гугл пользоваться поисковиками. Когда будут джунами устраиваться им этот скилл пригодиться.
По сабжу - да, ООП-дед вас, щеглов ссаных, хочу чему то научит.
Кстати разобравшись в инкапсуляции, наследовании и полиморфизме очень сильно измениться взгляд на программирование.
222 1654849
>>54846
в запросах БД, в работе с UI, в алгоритмических методах, где нужно ожидание времени выполнения. Очень много где на самом деле, так сразу все и не вспомнить
223 1654860
>>54814

>Node js запилили, но от этого backend JS-сников не появилось.


Писать такое, когда в рынке люди спокойно работают backend-на-node разработчиками с поверхностным знанием фронтенд параши и наоборот.... Ну ты даун что ли или как?

>>54848
Просто в голове каша из определений.
224 1654864
>>54841
То есть ты подмазался в чужой разговор вот здесь >>54579, а теперь недоумеваешь, почему тебя принимают за >>54506. Понимаю.
225 1654873
>>54860
Покажи мне хоть одну вакансию, где на Node js dev не нужны знания фронта. Ты просто вкатыш, который не знает рыночек. Ничего, если вкатишься, все поймешь. Ключевое слово - если
>>54864
это не мои посты, дубина. Я же говорю, JS-сники нить разговора только в 3 постах видят
226 1654877
вообще сервер на ноде-это реальность или фантастика?
227 1654878
Пооны, как это решить? Я могу через тогл и класлист.Жквери тоже нельзя пользовать, но препод завернул моё решение, помогите пожалуйста, с меня тонны нихуя.

2. Напишите функцию, которая тоглит класс. Ф-ия должна принимать два аргумента: элемент и класс, который нужно добавить/убрать из набора классов. Решить нужно без использоваться classList. Ф-ия должна работать со свойством className элемента.
228 1654879
>>54846
Для любой связи с внешним миром, по сети или через файлы-потоки.

Фактически да, это всё сетевые запросы. Работа с БД - сетевой запрос. Работа с MQ - сетевой запрос. Даже работа с memcache - сетевой запрос. Там детали вроде tcp/sock сути не меняют.

Но ведь реально таких задач довольно много может быть, и их надо как-то решать. async/await в общем не так критичны, когда немного таких точек, прекрасно и на обычных коллбэках всё делается. Главное то, что эти колбэки у JS в коробке, в отличии от подавляющего большинства других платформ.
229 1654882
>>54877
В телеграм чате постоянно кидают вакансии чистых бэкэнд разработчиков на ноде.
230 1654884
>>54878
что SOF говорит? Или ты думаешь препод из твоей шараги из другого источника вопросы берет?
231 1654886
>>54882
так сходи пособеседуйся, хули. Узнаешь, какова чистота этого бэка на ноде, лол
233 1654891
>>54884

>SOF


Чек и дабл чек соф - проблема в том что они там решают эту задачку ОПТИМАЛЬНО, а мне нужно по его условиям.
234 1654893
>>54886
Netflix работает на ноде.
235 1654895
>>54886
А какая разница? Главное что там в качестве основного сервиса используется нода.
236 1654897
>>54893
мне интересно,почему они ее взяли?
237 1654900
>>54897
Потому что работает хорошо и быстро. Они переехали с Java. А какие варианты? На ноде очень удобно писать сервисы. А производительность очень высокая.
238 1654905
>>54897
Потому что выбор невелик - либо нода, либо пщ. А на пщ погромистов меньше.
239 1654907
>>54900

>На ноде очень удобно писать сервисы


меня смущает,что это выглядит как франкенштейн.собрать все из разных кусков,а вменяемого фреймворка нет
но это мое дилетанское мнение
>>54905
а че не шарп?
240 1654908
>>54897
Скорее всего, просто была куча программистов на жс, часть из которых можно было пересадить на бэк, и в содержать это дело было дешевле чем кучу джавистов. Да и фичи быстрее на жс пилить.

>>54900
Тащемта, перформанс у жс сосёт у всех (кроме всяких питонов/руби/пхп), так что перформанс — последняя причина.
241 1654911
>>54907

>собрать все из разных кусков,а вменяемого фреймворка нет


Учитывая их размеры, они всё равно писали бы свой фреймворк на любом языке, лол.
Просто поддерживать свои библиотеки в 80% случаев проще, чем править сторонний фреймворк.
242 1654913
Допустим у нас есть стор Редакса и в нем есть какой-нибудь ключ с булевым значением. Вот если было true и осталось true, и мы диспатчим true, то будет ли ререндер?
243 1654925
>>54887

>Ключевые навыки


>jQuery


>Bootstrap


ты блять хоть читаешь, что ты кидаешь? Бэкенщик ноды, хуев?
>>54893
>>54895
вы бы хоть тред прочитали, на что перья подымаете. Я говорю, что нет чистых Node js backend, есть Full stack. И нахуй вы сравниваете US с галерами СНГ?
244 1654928
>>54925
Есть.
245 1654929
>>54878
Паны айтишники, помогите пожалуйста, а то меня из бурсы отчислить могут.
246 1654930
>>54929
Это очень просто, если ты можешь, то достоин отчисления.
247 1654931
>>54925

>вообще сервер на ноде-это реальность или фантастика

248 1654935
>>54929
да и хуй с тобой
249 1654952
>>54925
Тебе написали:

>в рынке люди спокойно работают backend-на-node разработчиками с поверхностным знанием фронтенд параши


Можешь вилять жопой сколько хочешь, но "знаю jquery и bootstrap" это и есть поверхностные знания потому как нихуя ты дельного фронтенда на таком стеке не напишешь.

Энивей, ты попросил показать тебе хоть одну вакансию чистого бека на нодах. Тебе кинули уже 3-4. Уже готов признать, что ты говноед или еще нет?
https://hh.ru/vacancy/36137641
https://hh.ru/vacancy/32435104
250 1654956
>>54952
Даже не с поверхностными, а нормальными знаниями фронтеда можно работать чистым бекером, когда фронтом занимается другой.
251 1655009
>>54952
блять, вкатыш, камон. Ты можешь на борде кукарекать что угодно, по поводу бэк энд ноды, но ты прийдешь на свою первую галеру и ты резко превратишься в фул стэка. Хочешь ты этого или нет. Зайди в бугурт тред и спроси - есть ли хоть один чистый нодовец. Пиздец это копротивление со своим внутренним я не дает покоя вкатышам. Те кто в теме, те понимают о чем я
252 1655020
>>54838
Пидор, вафлер, чухоня, залупа, тетя шлюха, капрал клиторчук
253 1655021
>>54925
Чел, блять, не могу пройти мимо вашего срача
Хуярю бэк на Питоне (Джанго). Да, меня при устройстве гоняли по вопросам фронта, однако это были весьма поверхностные вопросы насчет dom, css-селекторов и ванильного жс. Эта хуйня "учится" менее чем за неделю если у тебя есть адекватный опыт погромирования и понимания веба
254 1655433
>>51996 (OP)
Уважаемые гуру джаваскрипта. Есть один вопрос.
Я хочу внутри одного промисчейна отобразить модальное окно с выбором для пользователя и результат выбора сразу передать в следующий промис.

...
.then(() => showModal())
.then((userSelection)) => processSelection(userSelection))
........

Вопрос как мне привязать к кнопкам модального окна resolve?

Вариант №1:
Сделать два promise-chain-а, где второй будет триггерится на click по выбору.
$(modal).on('click','.choice', function(e){
StartPartTwo($(e.currentTarget));
});

Вариант №2:
В момент создания к каждому HTMLElement-у выбору привязывать event
foreach( let choice in choices){
choice.addEventListener('click', resolve);
}.

Хотелось бы узнать Best Practise для подобных проблем.
12123.jpg64 Кб, 789x437
255 1655487
>>55433

мимо Сеньор 300к/наносек
256 1655501
>>55487
Академически ты задачу решил, но на практике нельзя отбирать у пользователя контроль, надо ждать, пока он засабмитит форму в модале. Поэтому ему лучше просто сделать обработчик события onSubmit, а промежуточные данные куда-нибудь заныкать.
257 1655512
>>55501
Хех, а ты думал тебе сеньор за спасибо будет твою задачу решать? Очевидно, что можно обойтись без sleep и while за которые в нормальных конторах просто убьют нахуй. Могу запостить как это сделать.
Снимок.PNG10 Кб, 509x316
258 1655661
Ребят нужна помощь. Изучаю тему колбэков. В закоментированной части есть две простые функции. Сначала я вызываю функцию first, а потом second. По понятным результатам сначала выводится результат second а потом first.

В следующей части я переписал код с использованием колбэка. И опять сначала результат второй функции появляется,а потом первой. А теперь вопрос. Возможно ли сделать так чтобы вывести сначала результат первой функции (несмотря на таймер) а потом второй используя только колбэки (не промисы). Насколько я понял это можно сделать используя callback in callback. Но как это реализовать (если вообще возможно)?
259 1655682
>>55661

>Изучаю тему колбэков



Не нужна. Изучай промисы.
code.png21 Кб, 306x320
260 1655685
>>55661
Скорее нет, чем да.

Что у тебя: синхронная функция, она по определению выполняется от начала и до конца. Когда ты делаешь асинхронный вызов, кладёшь в очередь обработки задач с помощью setTimeout какую-то задачу, функцию, вместе с контекстом окружения.

Но, ты не можешь приступить в выполнению следующих задач в очереди пока не завершил текущую задачу ПОЛНОСТЬЮ.

Какие варианты у тебя есть. Оформить нужный код в виде отдельной функции, и передать её с окружающим контекстом в ту, что должна быть вызвана первой.

Но я не уверен, что тебе именно это нужно.
15855935722820.png8 Кб, 449x173
261 1655687
14846793896861.jpg4,7 Мб, 2185x3045
262 1655708
>>55487
>>55501
Спасибо за ответы!

Что думаете по поводу решения ниже?

class Awaiter {
/
@param {Array<HTMLElement>} buttons
/
constructor(buttons){
this.buttons = buttons;
}

/

@returns {Promise<HTMLElement>}
/
AwaitFirstClick(){
let promises = [];

this.buttons.forEach(button => {
promises.push(this.AwaitClick(button));
});

return Promise.race(promises);
}

/
@param {HTMLElement} button
*/
AwaitClick(button){
return new Promise((resolve, reject) => button.addEventListener('click', resolve, { once : true}));
}
}

var awaiter = new Awaiter(buttons);

awaiter.AwaitFirstClick().then((e)=> alert(e.currentTarget.textContent));
14846793896861.jpg4,7 Мб, 2185x3045
262 1655708
>>55487
>>55501
Спасибо за ответы!

Что думаете по поводу решения ниже?

class Awaiter {
/
@param {Array<HTMLElement>} buttons
/
constructor(buttons){
this.buttons = buttons;
}

/

@returns {Promise<HTMLElement>}
/
AwaitFirstClick(){
let promises = [];

this.buttons.forEach(button => {
promises.push(this.AwaitClick(button));
});

return Promise.race(promises);
}

/
@param {HTMLElement} button
*/
AwaitClick(button){
return new Promise((resolve, reject) => button.addEventListener('click', resolve, { once : true}));
}
}

var awaiter = new Awaiter(buttons);

awaiter.AwaitFirstClick().then((e)=> alert(e.currentTarget.textContent));
image.png42 Кб, 921x577
263 1655717
>>55708
Так проще читать наверно
264 1655722
>>55708
Нормально.
265 1655857
>>54576
бамп
266 1655903
Блэт, в чем вообще смысл оператора "запятая"? Вычисляется несколько выражений и только последнее выражение присваивается последней переменной, стоящей справа...
let a, b = (1 + 2, 3 + 4);
if ([]) {
console.log(b)
}
Выведется что b==7, а==undefined. В чем вообще профит такого кода? В Питоне хотя бы если указываешь переменные через запятую то они все получают ссылки на какие-то значения
267 1655906
>>55903
let [a, b] = [1 + 2, 3 + 4]
console.log(a) //3
console.log(b) //7

Петухон хуйня, кстати.
268 1655909
>>55906

>let [a, b] = [1 + 2, 3 + 4]


Ты здоровый человек вообще?
269 1655911
>>55909
Что не так? Очень удобная штука, если у тебя функция возвращает объект или массив, значения которых нужно присвоить разным переменным. Повышает читаемость кода.
270 1655989
>>55903
let a = 1,
b = 2,
c = 3;

Вот для чего, например.
271 1655998
>>55909
Сказал хуй, написавший let a, b = (1 + 2, 3 + 4);
272 1656001
>>55989
Тащемта если несколько переменных надо присвоить к одному значению, то можно ёбнуть
let a, b, c = x;
273 1656008
>>56001
Хуйню сказал, а и б будут ундефинде.
274 1656014
>>54576
бамп
275 1656015
>>56008

>ундефинде


чем ты болен?
276 1656016
>>56015
А, ну да, ундефинед.
277 1656041
>>54576
Зачем ты тянешь node_modules к себе на хостинг, ты ебанутый? Это файлы для разработки.
Opera Снимок2020-04-12032921codepen.io.png27 Кб, 1105x351
278 1656168
программач, помогай
как решить?

https://jsfiddle.net/qczb23de/
12123.jpg79 Кб, 689x631
279 1656232
280 1656274
>>53509

>мне нужно убрать рефреш с этих инпутов и чтобы оставалось то, что я выбрал.


input.onChange(e) {
e.preventDefault();
}
image.jpg36 Кб, 629x407
281 1656323
>>56232
>>56168
Как ни зайду высоты всратости говнокода всё пробиваются и пробиваются
282 1656383
>>56041
затупил и забыл за dev/build. Спасибо
283 1656453
>>55009
галеры - не весь рынок, ау
284 1656486
>>51996 (OP)
Друзья, нужно сделать генератор .docx файлов. Чтобы текст, введённый пользователем в формы сайта копировался в определённые поля вордовского документа, который бы выдавался пользователю.

Скажем, в документе ворд 2 предложения. Они заранее прописаны и их трогать не нужно. Между первым и вторым нужно ввести текст из поля сайта №1.

Есть ли готовые решения этого вопроса? На каком языке можно сделать подобный генератор? В какую сумму вы бы примерно оценили данную работу?
285 1656490
>>56486
docx это тупа xml внутри архива, если вставка всегда в определенное место, всё делается за 15 минут на любом языке, где есть готовые либы для xml. Больше пары тыщ за такую шляпу платить грех
286 1656621
Блэт, в жс-е оказывается есть метки нахуй. Можно с помощью break выйти куда угодно в пределах цикла (так что это не галимое goto). Какого хуя в других языках такого нет? Почему я должен ебаться в условном С++ с выходом из множественных циклов?
Блять, даже скриптоязык осилил а остальные не могут. Животные ебаные
288 1656636
>>56486
На той же жабе обмазавшись Apache POI такая хуйня пишется на раз два.
А вот если тебе нужно генерировать что-то посерьезней, изменять форматирование, вставлять таблицы, то тогда полная залупа. Тот же вышеупомянутый Apache POI сосет с проглотом на таких задачах, а это пожалуй лучшая библиотека для таких задач.
289 1656641
>>56621

>циклы


>2020

290 1656658
>>56641
Что за альтернатива у сего господина?
291 1656671
>>56621
В жабе так же. В плюсах и шарпиках этого нет, потому-что там сохранили goto. Жс в этом плане ни разу не уникален.
292 1656716
293 1656717
https://medium.com/fafnur/каково-учить-javascript-в-2020-3512fb5c5f3e
Прочитал и охуел от ебаной каши. У вас действительно так всё сейчас? Какой-то рокет саенс.
294 1656718
>>56486

>На каком языке можно сделать подобный генератор? В какую сумму вы бы примерно оценили данную работу?


На языке VBA
Он специально заточен под написание макросов для приложений Microsoft Office.

Файлы *.docx это как раз документы приложения Microsoft Office Word.
Однако сервер, на котором крутится твой сайт, в этом случае, должен работать под Windows системой, потому что понадобится Microsoft Office Word, открываемый в коде как COM объект.

В какую сумму ? - хрен его знат, я технарь, торговец из меня никакой.
Попробовал сделал такой сайт. У меня на это ушло пять часов.
Однако время было потрачено на доводку ещё не доделанного сервера, а не на код для работы, собственно с Office Word
Но поскольку он работает на моём компе, то после выключения компа или включения маршрутизатора IP-шник изменится и эта ссылка работать перестанет :
http://94.243.35.54:125/Generator_docx.html

Прошу попробовать сгенерировать файл документа. И сообщить как пашет.

По поводу :
>>56490

>docx это тупа xml внутри архива, если вставка всегда в определенное место, всё делается за 15 минут на любом языке, где есть готовые либы для xml.


.docx - это бинарный файл, а .xml - текстовый. Поскольку он хочет, чтобы на выхлопе был .docx файл, а редактировать ты собираешься .xml файл, то всё равно придётся после редактирования, чем-то .xml конвертировать в .docx.

Если же работать под Windows системой и править документ на VBA - можно, практически, делать с документом .docx любые сартальвартали, которые умеет делать сам Word.
295 1656734
>>56717
ну как-то так и есть
296 1656739
>>54831
кстати можно без then и не делая другую функцию асинхронной, но толку чуть

вчера только видео смотрел, лол, надо просто использовать генератор с промисами (можно без либ, но придется написать функцию, которая его будет крутить тогда), так под капотом работает async/await, но отличие в том, что не нужно возвращать промис

а толку чуть потому что, что yield, что await будут изолированы от остального кода и нет большой разницы напишешь ты генератор и крутанешь или напишешь async/await и запустишь, какая тебе тогда разница что там async/await возвращает
297 1656740
>>56717

>рокет саенс


он так быстро не меняется
298 1656741
>>56717
Как будто в других языках заучил полтора паттерна в 90-е, так и пользуешься
299 1656748
>>56717
Просто вывалил всё говно в кучу, и озаглавил "Каково учить JS.
Учить надо как язык работает и как абстракции правильно строить.
300 1656774
>>56748
ещё блять скажи паттерны проектирования для кнопочек
301 1656775
>>56741
Ещё недавно топ темой было рендерить всё у клиента, чтобы сервер не нагружать, а теперь переобулись, обозвали это пва и мода на сервер рендер. Понятно, что и то и то было раньше, но я говорю про моду. И такая ебала меняется каждые полгода-год. В других языках это меняется раз в 3-5 лет.
302 1656783
Посоны, какой язык проще\лучше\удобней всего учить после JS? Не для веба.
303 1656786
>>56783
Prolog
304 1656787
>>56783
Haskell
305 1656789
>>56717
Проиграл, но автор просто переделал знаменитый You need to use Docker. It’s the future! на реалии фронтенда. Кто вдруг не видел
https://circleci.com/blog/its-the-future/
306 1656790
>>56786
>>56787
Чтобы от него был смысл.
307 1656816
>>54446
Спасибо анон!
308 1656830
>>56486
Если не секрет, тебе это зачем такое надо ?
Я всё не могу перестать думать, как он это хочет применить, придумал несколько вариантов, но все они бесполезны.
309 1656836
>>56830
Да наверняка это карманный вебмастер в конторке "рога и копыта" пытается сделать костыль, чтобы делать из данных в вэбе делать документы для менеджеров, которые в ворде потом работать будут. В нормальных компаниях наоборот, от файлов уходят в веб-приложения.
IMG20200413092330.JPG23 Кб, 496x152
310 1656857
ЖиЭс, помоги, пожалуйста
311 1656890
>>56857

<button id="button">Button</button>
<img id='image' src="example.com/image.jpg">

<script>
button.onmouseenter = function() {
alert('Навели иышку')
}

button.ondblclick = function() {
alert('Двойной клик')
}

button.onmouseleave = function() {
alert('Увели мышку')
}

button.onclick = function() {
image.src = 'example.com/otherImage.jpg'
}
</script>
312 1656894
>>51996 (OP)
Задача.
Условие: Есть сервер, выдающий .js-файлы c JavaScript-кодом,
и есть клиент с браузером, загружающий .js-файлы c JavaScript-кодом после запроса на сервер.

Проблема: исходный код JavaScript может быть подменён в .js-файлах, по пути их даставки,
особенно по открытому каналу - в результате MITM-атаки.

Вопрос: возможно ли как-то исключить возможность подмены кода?

Первое, что приходит в голову - это передать код в виде строки,
вычислить с неё хэш и сравнить с хэшем строки на сервере,
а затем, запустить код из строки, с помощью eval()
Однако, и сам хэш может быть подменён в результате MITM-атаки.
Поэтому, можно было бы предварительно вычислить хэш строки, и опубликовать его так,
чтобы он был известен клиенту - ещё до запроса от него.
Но и в этом случае MITM-атакер может подменить хэш на свой.

Какие ещё могут быть варианты?
313 1656896
>>56894
Если у тебя нет возможности аутентифицировать сервер, то никак вообще. Если же можно, то сервер должен подписывать код, который высылает.

В общем случае ты просто работаешь через https и не паришься.
314 1656900
>>56857
Первый урок на learnjavascript.ru
315 1656905
>>56896

>В общем случае ты просто работаешь через https и не паришься.


Всё-же, интересует HTTP и открытый канал,
так как и сертификаты HTTPS можно подделать,
подписав их доверенным центром сертификации.

>Если у тебя нет возможности аутентифицировать сервер, то никак вообще.


>Если же можно, то сервер должен подписывать код, который высылает.


Ок. Пусть у сервера будет pre-shared public key, и пусть он подписывает данные его скрытым private key.
И пусть подпись проверяется по pre-shared public key.
Проблема в том, что этот самый pre-shared public key может быть подменён MITM-атакером - при первом же запросе.
Можно ли как-то исключить это?
316 1656908
В ЖС есть понятия mutable/immutable типов данных? На learnjavascript пока ничего такого не было сказано
В Питонухе например string это immutable, то есть при изменениях данных исходный объект уничтожается и создается новый. А вот list это mutable, когда юзаешь append/pop то объект list остается тем же, просто данные внутри него меняются
317 1656927
>>56908
у тебя в js точно также строка иммутабельна, если ты хочешь поменять какой-то символ в строке то тебе придется создать новую строку с замененным символом
318 1656929
>>56905

>Проблема в том, что этот самый pre-shared public key может быть подменён MITM-атакером - при первом же запросе.


Это значит, что у тебя нет возможности аутентифицировать сервер. Остаётся только верить.

Если ты Боб, и к тебе подходит девушка, которая представляется Алисой. Как ты можешь знать, что это Алиса, если ты раньше её не видел, никто другой её не видел, общих секретов вы не знаете, надёжных документов нет и т.п.?
319 1656930
>>56908
По сути, всё тоже самое, что и в питоне. Числа-строки копируются по значению, объекты-массивы как ссылки.
320 1656931
Сап, жс.
Помогите плз, как при помощи query селектора выбрать только текст "Сапоги Кошмаров"?
Если я пробую name = doc.select("h1").text(); то выбирается еще и текст из <span> элементов, то есть получается "Сапоги Кошмаров Легкий 72"

<h1 style="margin:0px;padding:0px;">Сапоги Кошмаров
<span class="add">Легкий</span>&nbsp;
<img src="img/grade/A.gif">
<sup><span class="add">72</span></sup>
</h1>
321 1656934
>>56931
doc.select("h1").text()
тоже самое что и
document.querySelector("h1").textContent
если что
322 1656936
>>56931
кодер ебанат, я вкурсе
323 1656937
>>56774
В основе реактов и ангуляров лежат ModelView подобные паттерны. Так что да, паттерны тоже надо пынямать хотя бы.
324 1656945
>>56931
Получилось через doc.select("h1").textNodes().get(0).text(); не очень проффесионально, но как есть.
325 1656949
>>56945
Есть ещё elem.firstChild, который в твоём случае будет текстовой нодой, но это менее гибко, чем твой вариант. Так что ты вполне себе такой профессиональный.
326 1656950
>>53509 - кун снова в треде
решил предыдущие проблемы , но вознилка новая. на этот магаз где допилил данный модуль все встало ок, но теперь заказчик поставил его на другой такой же другие товары и лого из за чего снова блять не работает. стори: проблема была изначально в том что у меня из стандартного файла слалось все сразу из инпута когда я печатаю свой город, а не то что я выбираю из автокомплита и необходимо было менять модель в огромном файле в backbone js. тк я напримую туда лезть не мог то надо было его кидать через свой модификатор. ну хуле, допилил модель и просто впихнул ее напрямую в сам шаблон. все работало. но когда посттавили на другой сайт то нихуя не пашет. в шаблоне все есть, все нормально. но саму модель он не хочет переопределять как было записано. как решать то такую залупу?
не могу уже горю с этой хуйни поскорее бы отъебаться от нее, аж руки щас трясутся и не могу мысли собрать, надеюсь понятно.
327 1656957
>>56949
Вот это да. Я думал первым ребенком будет <span>. Не ожидал что есть разные вещи такие как .firstChild и .firstElementChild
image.png14 Кб, 563x195
328 1656960
Почему в реакте
<button onClick={()=> this.onDismiss(item.objectID)} type="button">
работает, а с функцией
onClick={function(){this.onDismiss(item.objectID);}}
нет?
329 1656965
>>56950
Ты вот только себя не накручивай. Мы печенегов победили и это победим.
Из твоего мелкобуквенного описания не очень понятно. Да и вряд ли можно нормально описать эту легаси кастомс.
Раз одна модель, попробуй дебагер запустить в обоих проектах и посмотреть на разницу стека вызовов. Может какие идеи появятся. Напиши debugger в одном месте.

>>56960
Лексический тхис у стрелочной
https://javascript.info/arrow-functions#arrow-functions-have-no-this
330 1656968
В чем разница между addEventListener("event", ( ) => callback) и без стрелочной функции ("event", callback) ?
331 1656970
>>56960
Контекст выполнения проебан. У второго варианта нет this. У первого его тоже нет, но т.к. это стрелочная функция, this приходит из компонента.
332 1656971
>>56968
В том, когда связывание просходит.
В первом случае callback берётся из контекста, текущее значение этой переменной в момент эвента, во втором случае ты уже сразу конкретное значение указываешь.

В первом случае значение callback может измениться между моментом вызова addEventListener и самим событием, во втором нет.
333 1656980
>>56965

>Да и вряд ли можно нормально описать эту легаси кастомс.


во во ля. ебучая cms где модули допиленные перепиленные. тут еще проблема движка в том что он не смотрит на js и css файлы. то есть я могу модификатором просто в этом огромном жс файле переопределить модель, но сам движок на него хуй забьет и воспроизведет стандартный огромный жс файл, а не мой модифицированный. поэтому я ее и делал в шаблоне. и там прекрасно работало, а тутт - хуй. настройки модулей абсолютно идентичны. хуй знает в чем дело
а где именно дебаггером то тыкаться? щас на новом проекте ставил его в свою переопределеную модель-похуй он не смотрит, в брауззере по event listener следил - он тоже мою модиф модель игнорит. как быть то?
334 1657001
>>56980
Дебагером попробуй для начала в шаблоне, в своей модели, чтоб убедиться, что она вообще не вызывается в проблемном проекте. А потом в рабочем проекте по стеку вызовов смотри, в какой момент шаблон вызывается. Получается, этого момента не будет в проблемном.
335 1657012
>>57001
ну посмотрел я вызовы. в общем положняк такой. на рабочем проекте: он вызывает сначала jquery, затем пикер времени, и затем уже сразу же мою модифицированную модель, на стандартную хуй забивает. на нерабочем проекте: идет сначал jquery, затем так же пикер, и потом он идет в свою стандартную модель и заканчивает на этом. мою даже не вызывает. иии собсно схуяли так и как мне сделать так чтобы он юзал мой скрипт с модиф моделью а не стандартный ..?
api.png99 Кб, 1098x459
336 1657040
Не слишком говнокодисто?
337 1657049
>>57040
Это тест что ли?
338 1657064
>>56960

>Почему в реакте нет?


Потому что реакт кал, высранный их жопы.
339 1657065
>>57040

>Не слишком говнокодисто?


Ну так, процедурненько.
340 1657066
>>57040
Вкусовшина конечно, но как по мне -- слишком.
Не понятно, что за api[42]
Лучше тогда сделать три массива methods, paths, procedures и вызывать
for (let idx = 0 ...)
{
const method = methods[idx]
const path = "/api/" + paths[idx]
router[method](path)
...}

Или чтоб красиво сделать конструктор
return { method, path, procedure }

и потом
for (let api of apis
const controller = router[api.method]
const path = "/api/" + api.path
...
await controller(path, handler)
341 1657085
Уважаемые, данный учебник охватывает все аспекты языка https://learn.javascript.ru/ ?
Есть ли такие вещи, которые необходимо знать в работе с языком, но их там нет?
342 1657087
>>57049
Сопоставление url и функций контроллеров
343 1657088
>>54128
нет, ставиться вместе с нодой. Тебе же нужно будет как-то пакеты устанавливать в проект, а что бы получить доступ к файловой системе тебе нужна нода. Юзай nvm
344 1657093
Что надо выучить в JSе мастхев, чтобы начать писать свои маленькие проекты (хотя бы туду без бд)? Дошел на learn.javascript.ru уже до Map и Set и от просто теории уже голова кипит и ничего в голову не откладывается из простыней текста.
345 1657101
>>57093
Смотри уроки, где на ходу пилится какая-нибудь поебень.
14155245284710.jpg42 Кб, 571x448
346 1657114
Что такое Redux и нахуй он нужен?
router.png129 Кб, 1098x726
347 1657143
>>57040
Из-за того, что не поставил точку с запятой на 17 строке, babel "прилепил" массив к функции. Какие ещё подводные, если нигде не ставить точки с запятой?
348 1657144
посмотрел код еще. в иттоге была ошибка как на первом пике на том нерабочем проекте. на рабочем была хуйня со второй пики. поместил эта параша document.on(ready) и ошибка ушла, но все равно нихуя не пашет и он мнеэтот код ни в какую вызывать не хочет. в чем трабл то блять? хуле этой залупе надо? при том что сука проверил на трех движках и все стабильно отказываются обрабатывать мою модель, а берут стандартную
>>57012 - кун
349 1657147
>>57093
в твоем случае осталось только dom ивенты и getElement... рассмотреть
>>57085
Там вся база. Подводных камней там нет. Так же имей в виду, что чистый JS никому не нужен и имеет смысл внимательно изучить основы и сразу приступать к фреймворку. Я много раз видел в треде, что аноны изучали Vue и MobX и им было по кайфу (легкий старт для новичка). Но тоже имей в виду, что Vue в основном китайский фрейм и у нас юзают React/Angular
350 1657246
Посоветуйте хорошую книгу по TS или по связке TS + React.
351 1657387
реально ли на жс сделать блог?
352 1657400
В одну кнопку, как вротпресс - нет.
Но если на ноде бэк сделать, а фронт на каком-нибудь рякте, то вполне будет бложик на жс.
Вот например Дэн запилил свой уютненький бложик: https://overreacted.io
353 1657428
>>57114
Какая-то хрень, которая идёт к реакту.
354 1657430
>>57147

>React


Допустим, умею работать с JS, React, Redux + разметка со стилями.
Дальше что?
355 1657435
>>57387
https://www.gatsbyjs.org/starters/gatsbyjs/gatsby-starter-blog/
Вот тебе будет крутейший блог на ЖоэС с последними смузи-технологиями. Рякт рендерится на сервере, посты забирает Графкуэлем из маркдаунов. Всё это супер стремительно и хостится как простая статика.
Чтобы просто сделать бложик, ага.
https://gatsby-starter-blog-demo.netlify.com/

По твоему мелкобуквенному высеру мне кажется, что тебе не нужны такие усложнённые штуки.
Тебе будет достаточно руководства из ОП-гайда. Там и куцый русик есть
https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web
356 1657489
>>57430
иди формочки клепать
357 1657618
>>57114
Бамп
358 1657622
Можно ли создать сайт на голом Javascript ? Например на том же React ?
359 1657635
>>57622
Можно, конечно. Смотря что тебе нужно. Можно и на голом html
360 1657640
>>57387
можно.Но зачем?
361 1657642
>>57618
Редакс это прослойка для управления состоянием. У тебя, грубо говоря есть твой View - это реакт или другая хуета, которая никакой логики не содержит, просто показывает, что дают. А есть редакс, который содержит в себе сценарии событий.

При каком-то действии, пользовательском или нет, реакт (для простоты) дергает редакс за соответсвующую ниточку-экшон, которая в свою очередь попадает в функцию-редюсер (банальный switch-case), а редюсер уже менят состояние в соответствии с тем, какой экшон ему пришел. После чего реакт рендерит себя с новым стейтом. Вот и все.
362 1657653
>>57642

>реакт или другая хуета, которая никакой логики не содержит


Вот те раз. А контекст реакта, стейт, хуки и провайдеры, которые спокойно реализуются и без редакса?
363 1657654
>>57653
Это все исключительно для отображения
364 1657655
>>57635
Ну кароче я слышал, шо php устарел, ruby устарел, python устарел, труЪ фротэндеры пишут всё на чистом реакте или ангуларе.
365 1657657
анонсы, подскажите нюфане такой вопрос.
я снова отчаился. висят два АБСОЛЮТНО одинаковых скрипта. один подключается в футере другой в теле шаблона т.е. раньше. и в них допустим срабатывает событие change на одном инпуте. так вот вопрос. какой именно из них будет обрабатывать мой инпут? сначала первый, а потом второй? или сразу же второй?
366 1657660
>>57655
Ты описал сейчас языки бэкенда. При чем здесь фронтенд?
367 1657662
>>57660
Ну во всех тредах советуют вкатываться в javascript, а не в php
368 1657669
>>57662
Ты вообще понимаешь разницу между фронтом и бэком? Между веб-приложением и веб-сервером?
куда ты там "вкатываться" собрался?
369 1657671
А вообще js (и что главное: его фреймворки) преподаются хоть где-то в рассеянских ВУЗах на айти-направлениях?
Сдается мне что в лучшем случае 1 семестр ванильного жс. Забавно выходит, если студент 4-6 лет учил стек который на максималках ему нахер не пригодился, и он идет верстать странички на Реакте
370 1657672
>>57669
Что можно сделать с тем же реакт или ангулар того, что нельзя сделать на голом php ?
371 1657673
>>57671
конкретно напрямую вряд ли. щас делаю курсачи для разных шараг где верстка сайта будучи при этом на какой нибудь гум хуйне типо педогики, ага. и вот там обязательно надо юзать какую то хуйню из жс. может в курсе функционального программирования проходят ?
372 1657674
>>57671
Зачем учить фреймворкам, если их можно и нужно самому учить в свободное время?
373 1657677
>>57671
Учить надо принципам и технологиям, а не конкретным продуктам. Конкретные продукты - удел ПТУ.

Обычно учат так, что надо реализовывать что-то прикладное, для обучения, и это прикладное делают на каком-нибудь фреймворке, библиотеке и т.п.
374 1657681
>>57672
скорее чего нельзя сделать с помощью голого пхп, но нельзя с помощью реактов ангуляров и нод. например работать с sql бд.
375 1657682
>>57653
Я привел пример, чтобы человека не запутать с четким разделением стейт и вью
376 1657684
>>57657
Ты запускать то их пробовал? Два одинаковых скрипта сами по себе уже создадут проблем. Переменные, функции одни и прочее, ЖС просто не даст их создать.
377 1657690
>>57684
ну вот запускается, но только один из них. пытаюсь все еще разобраться почему он берет стандартный скрипт который переопределяет модель, а не тот что я в шаблоне прописал. хуй знает че делать
>>56950 - кун
378 1657707
>>57672
Как будешь работать с БД? Как будешь обеспечивать секьюрити своего приложения? Как будешь контролировать реквесты/респонсы к сайту на низком уровне?
379 1657717
>>57674
Зачем 4 года учить стек который ты не будешь использовать?
380 1657719
>>57671

>А вообще js (и что главное: его фреймворки) преподаются хоть где-то в рассеянских ВУЗах на айти-направлениях?



Сомневаюсь что хоть где то его преподают. Обычно в ВУЗах это С, С++, C#, Python.

Он был у нас в ПТУ, но ванильный и очень старой версии.
381 1657721
>>57642
А зачем нужен вообще этот стейт?
Ладно, я понимаю, зачем он нужен в ту-ду приложении.
И вообще прикольно выглядит идея синхронизировать этот стейт целиком с беком, вообще любовь и голуби.
А что если у меня не туду, а форум с базой на 10 гигов?
Парень из технаря 382 1657725
Так как устроиться без опыта, если нет вакансий без опыта?
383 1657728
>>57725
Ты уже второй месяц устраиваешься. Есть вакансии без опыта, просто ты их не видишь или не хочешь на них.
384 1657732
>>57717
Покажи мне веб программиста, который не использует базовые курсы, которыми дрочат 99% ойтишнеков:
Алгоритмы и структуры данных, дискретный матан, БД, протоколы передачи данных, ООП и ФП, ИБ.
385 1657739
>>57732

>Алгоритмы и структуры данных, дискретный матан, БД, протоколы передачи данных, ООП и ФП, ИБ


Каждая первая жиэс-макака?
386 1657747
>>57739
+

>>57732
какие нах "алгоритмы и структуры данных", дедуля? какая к хуям БД? С ООП и ФП вообще ору. Да еще и протоколы передачи данных приплел, ахуеть, давай сразу сертификат cisco в стек ебошь, хуле
JS на фронте не имеет ничего общего с этим
387 1657771
Безопасно ли хранить пароль прямо в куках в открытом виде?
С одной стороны, сразу полетят кукареканья вида: "Да нет конечно, это пиздец, а вдруг куки украдут?"

А теперь серьезно: когда вы слышали, чтобы кто-то последний раз осуществлял атаку с пиздингом кук?
Если твои куки вообще могут спиздить, то как бэ уже похуй, в открытом виде там пароль или тупо хеш сессии.
388 1657773
>>57771
Пароль вообще хранить не безопасно даже на сверере.
389 1657774
>>57771
Плюсую
Вот я хрен знает когда последний раз кто-то от шлюхи подцепил ВИЧ. Поэтому всегда предлагаю им ебаться без гандона. Только ссыкливые дети отказываются
390 1657776
>>57747

>алгоритмы и структуры данных


Начиная от примитивов, заканчивая set'ами и объектами.
Или в реакте их не юзают?)

>какая к хуям БД


На беке

>ооп и фп


А потом у макаки течет абстракция
Или она начинает перебирать коллекцию с помощью for

>протоколы передачи данных


А потом макаку спросят про хедеры в http, а она попукает в ответ.
391 1657780
Аноны спасайте. Как сделать пикрелейтед. Таблицу сделал, а объединение не могу понять как.
392 1657781
>>57721
ты хочешь сразу десять гигиов с бека оправлять на фронт и рендерить? Стейт не хранит всё состояние приложения, он хранит то, что ты туда положишь.
15189527520250.jpg101 Кб, 640x640
393 1657784
>>57747
Как ты приложил этого бумера
394 1657795
>>56894

>Какие ещё могут быть варианты?


Общим недостатком рассмотренных тобою способов проверки достоверности данных является передача хэш-сумм передаваемых данных по тому же самому аппаратно-программному каналу связи, по которому передаются и сами данные. Такая ситуация похожа, будто спрятали ключ от квартиры, при чём в замочную скважину прилагается записка о том, где этот ключ лежит.

В целом, проблема может быть сведена к двум разноплановым задачам :
1. Как передать хэш-сумму данных не по тому же каналу(а то и физической среде), по которому передаются данные, а по другому и заведомо защищённому. Скажем, через SMS подтверждение, как это делают банки.
2. Как свести необходимость передачи подтверждающей хэш-суммы к минимуму.

Чтобы не пришлось подтверждать КАЖДЫЙ скрипт его хэш-суммой. Можно ЛИШЬ ОДНАЖДЫ, при процедуре авторизации аккаунта, получить от сервера по заведомо защищённому каналу пароль, например, в SMS сообщении.
И этим паролем шифровать трафик.

Это могло бы выглядеть так :

Пользователь получает от доверенного источника, ОДНАЖДЫ(смотри второй пункт) файл-шифратор трафика, что равносильно получению Браузера от производителя браузеров.
Этот файл, при желании, он может сравнить с таким же файлом у Иванова, Петрова, Сидорова, чтобы убедится, что это не подделка. Скажем, проверить его размер и CRC-32 с опубликованными в открытом доступе.

Затем он запускает этот файл, приложение выбрасывает окно ввода телефонного номера, тот вводит номер, жмёт кнопку, приложение связывается с сервером и регистрирует для себя аккаунд на сервере, в подтверждение сервер высылает на указанный телефон SMS-ку с паролем, действующим в течение пяти минут.

Пользователь вбивает в это же поле - оно должно быть одним, а то перепутает куда вбивать, если их окажется два, одноразовый пароль, написанный в SMS-ке опять жмёт кнопку - окно диалога исчезает, запускается браузер(который в системе по умолчанию) на Страницу сервера с приветствием, дескать, шифратор трафика, гарантирующего приватность обмена данными установлен.

Далее трафик шифруется полученным от сервера паролем.
Как последнее осуществить - второй вопрос.
394 1657795
>>56894

>Какие ещё могут быть варианты?


Общим недостатком рассмотренных тобою способов проверки достоверности данных является передача хэш-сумм передаваемых данных по тому же самому аппаратно-программному каналу связи, по которому передаются и сами данные. Такая ситуация похожа, будто спрятали ключ от квартиры, при чём в замочную скважину прилагается записка о том, где этот ключ лежит.

В целом, проблема может быть сведена к двум разноплановым задачам :
1. Как передать хэш-сумму данных не по тому же каналу(а то и физической среде), по которому передаются данные, а по другому и заведомо защищённому. Скажем, через SMS подтверждение, как это делают банки.
2. Как свести необходимость передачи подтверждающей хэш-суммы к минимуму.

Чтобы не пришлось подтверждать КАЖДЫЙ скрипт его хэш-суммой. Можно ЛИШЬ ОДНАЖДЫ, при процедуре авторизации аккаунта, получить от сервера по заведомо защищённому каналу пароль, например, в SMS сообщении.
И этим паролем шифровать трафик.

Это могло бы выглядеть так :

Пользователь получает от доверенного источника, ОДНАЖДЫ(смотри второй пункт) файл-шифратор трафика, что равносильно получению Браузера от производителя браузеров.
Этот файл, при желании, он может сравнить с таким же файлом у Иванова, Петрова, Сидорова, чтобы убедится, что это не подделка. Скажем, проверить его размер и CRC-32 с опубликованными в открытом доступе.

Затем он запускает этот файл, приложение выбрасывает окно ввода телефонного номера, тот вводит номер, жмёт кнопку, приложение связывается с сервером и регистрирует для себя аккаунд на сервере, в подтверждение сервер высылает на указанный телефон SMS-ку с паролем, действующим в течение пяти минут.

Пользователь вбивает в это же поле - оно должно быть одним, а то перепутает куда вбивать, если их окажется два, одноразовый пароль, написанный в SMS-ке опять жмёт кнопку - окно диалога исчезает, запускается браузер(который в системе по умолчанию) на Страницу сервера с приветствием, дескать, шифратор трафика, гарантирующего приватность обмена данными установлен.

Далее трафик шифруется полученным от сервера паролем.
Как последнее осуществить - второй вопрос.
image.png32 Кб, 413x540
395 1657813
>>57728
Не устраиваюсь. Просто боюсь, что когда закончу изучение никому не буду нужен. В моём миллионнике только 5-6 вакансий для джуна без опыта
396 1657817
>>57813
Везет тебе. В моей мухосрани было 0.
397 1657822
>>57813
В ДС на реакте вообще ничего нет.
кризис, хуйли.
Парень из технаря 398 1657826
Так как устроиться без опыта, если в 99% вакансиях джуна требуют опыт?
399 1657829
Почему ебанашкиусы до сих пор не догадались запилить версию жс без точек с запятой как в том же ебучем питоне? На них уже часто просто забивается хуй
400 1657838
>>57826
Как сбросить листву, если тянкам нужны опытные ебари ?
401 1657851
>>57838
Мерзко. Ни за что не буду заниматься сексом с незнкомой женщиной.
402 1657867
>>57773
А вот смс-аутентификация - пиздец охуенно безопасно, просто космос.
Мало того, что телефон можно проебать легко, так еще и симку через пару месяцев бездействия передают другому абоненту.
Это до того частая хуйня, что в рахе номера уже по пятому разу используются и быдло не может в вк зарегаться, потому что кто-то когда-то уже на этот номер регнулся.

Купил такой нулячий номер в салоне, а на него чей-то банковский аккаунт привязан, охуенно блять, безопасность на уровне.
403 1657873
>>57813
Я тебе уже говорил, что вакансий гораздо больше и надо просто менее модные слова вбивать.
14287034748041.png39 Кб, 600x437
404 1657875
Как сделать RBAC-авторизацию на реакте?
Вообще, у меня есть апи и в этом апи уже есть авторизация, и роли, и ограничения по роутам и все такое.

Причем там это сделано в виде объекта вида AvailableActions (User).
Короче можно всегда знать, что конкретно можно конкретному юзеру.

Пока придумал тупо хуячить в json этот объект и отправлять на фронт. Норм идея?
А там уже тупо точно так же, как и на беке, смотреть по этому объекту, что как кому отрисовывать
405 1657884
Аноны как сделать на js
чтобы текст бегал от левого края до правого и назад.
vids.png12 Кб, 702x495
406 1657899
>>51996 (OP)
Хм, такое дело: есть бэк на питоновском Джанго, на одной из веб-страниц должен быть набор виджетов, которые можно будет перемещать вверх-вниз через drag-n-drop, причем их порядок после перемещения должен сохраняться (через апи отправляться на сервер в БД)
Серверная часть готова, БД, ORM и api тоже. Познания в жс есть только в ванильной его части, но нового не боюсь. Как замутить эту фичу?
408 1657913
>>57901
Это специфичный именно для Мозилки интерфейс?
409 1657916
new Set()
410 1657925
>>57916
let foo = new Set()
foo.add('test')
console.log(Array.from('foo'))
411 1657927
>>57916
new Test()
412 1657929
>>57916
let a = 'Зачем ты это пишешь, балбес?'
alert(a)
413 1657948
>>57875
бамп
1387014489468.jpg35 Кб, 500x666
414 1657963
После двух дней изучения информации о Redux'е, я понял, что это ни что иное, как паттерн наблюдатель с единственным подписчиком.
Ну и иммутабельность структуры данных, что преподносится как некая совершенно охуительная фишка, но я чет не понял, в чем космический эффект от нее и почему нельзя просто изменять стейт в редусере, если он один блять и операции с ним синхронны.
Для отправщиков событий разницы вообще нет, какой там стейт и че вообще делают с событиями после их отправки.
415 1657965
>>57690
Скорее всего потому что запускается ближайший в скоупе.
416 1657977
>>57963
Ну ты и соня, тебя даже вчерашний шторм не разбудил. Реальные пацаны глобал стейт через хуки уже реализуют. А про редюсер, который хук, правильно написал, но редакс существовал задолго до него, как костыль для глобал стейта.
417 1658082
>>57813
ничто не мешает тебе кидать отклики на вакансии с требованием 1г+, особенно если у тебя диплом будет
418 1658133
>>51996 (OP)
Так блэт, что собственно у вас происходит с фреймворками? Они могут быть установлены поверх друг друга?.. Вот например TypeScript, он может работать вместе с Реактом или вместе с Нодой? Конфликты возможны?
419 1658140
Чтоб такого реализовать чтобы заюзать вообще нахуй пиздец весь фуллстек и меня сразу взяли бы сеньором на $10к/m ?

React+Redux+Gatsby+Express и MongoDB+Spring(Java)+Node.js на бэке? ну и захуярить все это в Docker или Kubernetes?

могу хуярить на Java, сейчас вкатываюсь во фронт, с реактом все ясно, осталось ноду потрогать за сиське и с докерами разобраться

ну и чтобы не писать это в одно жало сто лет, а за пару месяцев нахуярить

туду - нахуй, скучно, новый фейсбук - нахуй, долго.
420 1658151
>>57913
нет, это стандартная дока по js
421 1658152
>>58133
ts не фреймворк, работать вместе могут
422 1658153
>>58140

>React+Redux+Gatsby+Express и MongoDB+Spring(Java)+Node.js на бэке?


Нахуй тут Gatsby и Spring? Да и кубер это оркестровщик докер образов, одно не может без другого. Короче хуёво ты разобрался.

>Чтоб такого реализовать


Бизнес любит когда проект решает какие-то проблемы, воот, так что создай проблемы и реши её с помощью своего стека.
423 1658156
>>57963
А как же тайм-тревел?
424 1658163
>>58140
Как-то ты хуево вкатывался в джаву, если не знаешь, как с докером работать.
425 1658170
>>58163
в легаси галерю давно, в том куске докер нахуй не нужон, поэтому всетакпроизошло

а по сабжу есть что сказать?
426 1658195
>>58153
ну вот тут тестовые задания ру-контор на реактмакакинг

https://github.com/Hexlet/ru-test-assignments

браться или нет? хз прям
427 1658196
>>58140
15 летний, ты?
428 1658234
>>58195
ну например - https://github.com/KosyanMedia/test-tasks/tree/master/aviasales_frontend

Дергаешь бэк и рисуешь всю эту поебень и уже по этим данным фильтруешь. Нужно знать реакт и немного разбираться в js
430 1658280
Теряюсь в многомерных массивах, особенно при их переборах, всякие такие штуки знатно мне подрывают пукен, я просто то ли не могу в голове удержать все эти цепочки координат то ли хер его знает, по итогу я нихуя не понимаю и часто пишу "наугад".
for (let y = 0; y < blocks.length; y++) {
for (let x = 0; x < blocks[y].length; x++) {
this.playField[this.activePiece[y] + y][this.activePiece[x] + x] = this.activePiece.blocks[y][x];
}
}
Задачки на массивы нужно задрачивать? А де их взять что бы постепенно с простого к тяжелому?
431 1658303
https://hackr.io/blog/best-javascript-frameworks
Че это ха хуйня? Ангуляр жи в 2020 ненужон никому
432 1658339
>>58280
На leetcode, сначала решаешь задачи уровня easy, потом medium. Но вообще всё с опытом приходит. Либо если ты до этого математику задрачивал и прокачал абстрактное мышление.
433 1658343
>>58303
Давай я тоже создам блог и на первое место JQuery поставлю. Тоже прибежишь сюда и начнёшь спрашивать "Почему так?"? Ты хотя бы немного на источники информации внимание обращай, вот этот высер написан:

>Aman Goel is a Computer Science Graduate from IIT Bombay


Т. е. индусом который купил диплом в Бомбее за стадо коров. Он не пишет чем он руководствовался составляя этот список, он просто вхуячил названия и описал эти фреймворки.
434 1658344
>>58140
Совсем дурачок? Как ты себе представляешь ноду и жабу одновременно на бэке? Так не бывает, сычуш, ты либо делаешь на жабе, либо делаешь на ноде и сосёшь хуй, потому что надо было делать на шарпе.
435 1658350
>>57884
при помощи transform-translate и проверки нахождения границ элемента относительно бегающего в нём текста. И не забудь всё делать через window.requestAnimationFrame
436 1658355
>>58303
То есть вью, бекбон и ембер тебя не смущают?
Ангулар наконец-то более-менее устаканился и даже имеет перспективы убить реакт в тырпрайзе за счёт сформированных стандартов, но это не точно.
437 1658360
>>57725
Опытом может быть и личный проект. Создай какой-нибудь сайт, а лучше несколько, похуй что на них будут заходить только боты, главное чтобы было что показать. В чём проблема?
438 1658424
>>58344
Джава не может в React SSR.
439 1658436
>>58355
Вуе удобен и пиздат
# OP 440 1658464
>>58280

>не могу в голове


Если бы это всё в голове можно было удержать, то зачем тебе комплюктер??
Высокоуровневый язык делали специально для человеков, чтоб угождать человекам. Компутеру не нужны эти слова фор и имена функций. Проблема в том, что ты, используя высокоуровневый язык, пытаешь угодить компьютеру, по-компьютерски писать. Естественно, что по-челвоечески это перестает быть понятным.
Вместо того, чтоб пограммировавать, решать задачу, ты кодишь, подставляешь известные тебе тайные коды и надеешься что компюктер сделает чудо.

Ты типа научился кодить, молодец. А теперь забудь всё, чему тебя учили (колобок интендед).

Реши задачу по-человечески, без всяких грязных языков прогноррирования. А потом заставь комплюктер, инструмент, упростить твою жизнь и сожрать человечское решение.

роус.форИч( целлс =>
_ целлс.форИч( целл, индекс =>
_ _ пусть нужныйЦелл = целл + дистанц
_ _ ретурн сделатьВещи(нужныйЦелл, целл, индекс, небо, Аллах) // тут снова пиздёжшь, много аргументов функции палятся. Описывая задачу человечьим языком, ты редко говоришь больше чем о трёх сучностях. Это функция явно машинная, а не человечья. Надо дальше декомпозировывать.

Программа это всего лишь непротиворечивое _описание_ области интереса. Что описывает твоё решение с форами? Сделай, чтоб описывало.
441 1658473
вы согласны,что нодовские доки-дерьмо
442 1658478
>>58473
Я тоже так думал, а потом понял, что они были написаны для тех, кто знает язык программирования, а не жопаскрипт. Тру стори, без негатива.
443 1658479
>>58473
Нода не позиционирует себя как фреймворк для создания веб-серверов.
444 1658483
>>58479
а для чего,побаловаться с жопаскриптом?
445 1658484
>>58483
Да. Это тупо движок для выполнения жопаскрипта.
446 1658485
>>58355
очередной хейтерок вью, найс
447 1658486
>>58484
а зачем в нем сервак?
448 1658488
>>58486
Если хочешь делать сервак, то берешь фреймворк типа экспресса. Когда ты хочешь сделать сервер на питоне, то ты идешь на сайт джанги и читаешь доку джанги.
449 1658489
>>58488
если я хочу сервер на пхп,я беру ларавел и апач
450 1658490
>>58485
>>58436

>2020


>Virtual-DOM


>Изоморфный SSR


>FR?P


>Хотим жрать темплейт гавно

451 1658495
>>58490
а во вью типо нет виртуал дома и ssr? Ну и jsx то конечно круче темплето говна, ага.
452 1658499
>>58490

>Изоморфный SSR


Чем отличается от обычного SSR? я из деревни просто
453 1658506
>>58495

>типо нет виртуал дома и ssr


Убого натянуты с родного ФП огорода в велосипедный чёрный ящик темплейт недоразумение
Композиция убита, велосипед на самом деле не осилен и зачастую ведёт к утечкам памяти

>jsx то конечно круче темплето говна


Ну ты совсем пизданулся, если не видишь разницы между виртуалдомовским потоком данных и его всраниванием при натягивании на темплейты
454 1658513
>>58506

>Ну ты совсем пизданулся, если не видишь разницы между виртуалдомовским потоком данных и его всраниванием при натягивании на темплейты


Чё, у тебя jsx уже виртуальным домом стал? И там и там всё это превращается в кучу вложенных рендер функций.

Давай накидывай ещё умных слов, главное меньше конкретики а про потоки, фп и чёрные ящики.
Парень из технаря 455 1658585
Как и зачем учить ember.js?
456 1658602
Аноны, как правильно определять пропсы в Реакте + ТС.
кто-то соверует через интерфейс, кто-то через type. Как поступать лучше?
34234.jpg65 Кб, 778x358
457 1658608
458 1658613
>>58608
Почему ты тролль?
459 1658617
>>58585
Незачем, потому что есть React/Vue/Angular
460 1658666
вышла нода 13.13
ниче интересного
ogholy.jpg473 Кб, 1920x862
461 1658672
>>58666

>666


>13.13

image.png37 Кб, 880x880
462 1658673
>>58666

>вышла нода 13.13


Поссал на быдло
463 1658675
Если у меня член 19х15.5, это поможет при составлении резюме? В каких компаниях в ДС2 правят Большехуи?
464 1658681
>>58675
Сейчас в почёте мэнклитеры с генитально-свободными нулло, а ты тут машешь своей доистроической булавой.
465 1658702
Че-то Костя приутих, пинганите его вк кто-ниубдь, нет контента, я скучать начинаю.
466 1658707
>>58673
ну как оно?
467 1658779
https://www.youtube.com/watch?v=MdRE18dGmNU

Ебанутые собеседователи собеседуют джуна на миддла.
468 1658790
>>58779
лень смотреть че там тезисно, сидят с пафосными ебалами, унижают, травитель с подпездышами в комплекте?
469 1658822
>>58779
Я пишу на пистоне, ответил бы на все вопросы без проблем.
Можно искать работу?
470 1658824
>>58344
>>58344
сразу видно макаку
прикинь/! может быть бэк на ноде и отдельно на Java!
они могут быть в разном месте и вообще
471 1658831
>>58779
Стоп то есть можно быть ВЕБ ДЕВЕЛОПЕРОМ не зная что такое void?
472 1658834
>>58831
Я упоминание void видёл только в одном видосе синьора-помидора реакта, но и то линтер ему сказал поменять void 0 на undefined.
473 1658851
https://codepen.io/Jumpy_Bunny/pen/mdeVjRd
Есть тред, его стейт - посты в массиве, которые рендерятся через arr.map. Есть кнопка, которая по идее должна по клику через .push добавлять элемент в массив. Но вместо этого крашится с ошибкой "TypeError: threadPosts.map is not a function".
Что делать?
474 1658853
>>58851
map должен возврашать элементы
475 1658859
>>58853
Элементы чего? Он кормит элемент массива пропсом в ThreadPostCard, который рендерит <article>.
476 1658863
>>58851
У тебя threadPosts не массив, поэтому у него нет функции map
477 1658868
>>58859

>Элементы чего?


массива
478 1658877
Котаны, как в ЖСе решается проблема работы с большими (>53 битов) числами с точкой? Если нужна сильно точная точность.
479 1658879
>>58877
При помощи сторонних библиотек
480 1658881
>>58879
Есть совет, какую взять?
481 1658885
>>58881
Самую популярную
482 1658917
Сап, не знаю туда ли пишу, но хотел спросить помощи. Есть код автокликера на одну кнопку в хроме. Но когда жмешь на эту кнопку, то при каждом нажатии вылезает ошибка с кнопкой Ok. Ее тоже надо нажать. Вот как эту кнопку ОК добавить в основной скрипт?
Основной :
setInterval(() => {
const button = document.querySelector('.trade_confirmbtn.ellipsis.active');
if (button) button.click();
}, 50);
Класс кнопки Ок btn_grey_white_innerfade btn_medium
483 1658919
>>58917
Тебе нужно проверять есть ли на странице кнопка с класом btn_grey_white_innerfade btn_medium если есть кликать по ней, если нет то по trade_confirmbtn.ellipsis.active'
484 1658922
>>58919
Я в коде вообще почти ничего не шарю. Не смогу синтаксически правильно это написать, вот поэтому и прошу помощи...
485 1658925
>>58922
setInterval(() => {
const button = document.querySelector('.trade_confirmbtn.ellipsis.active');
const errorButton = document.querySelector('.btn_grey_white_innerfade.btn_medium');
if(errorButton) {
errorButton.click()
} else if(button) {
button.click();
}
}, 50);
486 1658936
>>58925
Не работает. Я так понимаю тут ошибка в логике.
Ты задал переменные типа Баттон и эррор Баттон и сразу же даёшь цикл что если эррорбаттор, то на не жмякать. А если нет, то на обычную Баттон.
Но тут порядок другой. Сначала жмется обычная кнопка. При каждом нажатии на нее, вылазит окно с ошибкой и кнопкой "эррорбаттон". И потом жмется уже она. И итак по циклу. Сначала обычная, потом эррор. Ну либо я чего то не понимаю
487 1658937
>>58925
А в твоём примере при запуске страница просто улетает вверх и кнопки не жмутся
488 1658939
>>58925
А,ещё я так понял, тут работает так, что идёт поиск по странице, правильно? Поиск этих кнопок. И дело в том, что обычная кнопка есть всегда на странице. И она будет жаться тоже всегда при такой проверке. А эрробаттон вылазит поверх обычного Баттона
490 1658972
Есть 2 стула: 2 свича (один вложен в другой) и объект. Что выбрать или как правильнее запилить рендер корневого элемента?

Во втором случае выполняется дофига лишних строк, а все они в методе render(). С другой стороны первый вариант - однозначный зашквар.
491 1659097
>>58972
За такой свитч можно расстреливать без суда и следствия.
492 1659123
>>58972
Деревом
493 1659134
>>58156
Ненужное говно, требуется в 1.5 приложениях
494 1659147
>>59123
Корневой элемент вместе со всеми дочерними - это в любом случае дерево. Я имел в виду подмену одних дочерних элементов другими.
495 1659149
>>59147

>подмену одних дочерних элементов другими


Деревом
496 1659192
https://blog.logrocket.com/why-use-redux-reasons-with-clear-examples-d21bffd5835/

Все даже хуже, чем я думал.
Короче, Redux - это глобальная переменная, кек)))0 Остальное лишь синтаксический сахар.

Вообще, чтобы не пробрасывать зависимости, нормальные люди используют IOC.
Эта хуйня действительно помогает тебе избавится от ЛЮБЫХ пробрасываний, ты просто задаешь зависимости в конструкторе и получаешь их, все.
Также и тестировать легко, никаких глобальных маня-объектов нет, никаких зависимостей ни от какой хуйни вообще нет, сам объект с зависимостями ничего не знает о том, откуда их получает, полное разделение ответственности.

А тут, госпаде, какое говнище, пиздец. Теперь ты не пробрасываешь элементы стейта, теперь ты пробрасываешь говнокод редакса в каждый компонент и получаешь данные из магического очка, целиком от него завися.
Что это за пиздец вообще?
Такую ссанину могли придумать только жс-дебилы.
Кажется, я начинаю понимать, какого хуя тут каждую неделю высирают новый фреймворк.
497 1659200
>>59192

>ты просто задаешь зависимости в конструкторе и получаешь их, все


>и получаешь данные из магического очка, целиком от него завися


одно и то же
498 1659203
>>59200
Нет, в первом случае ты можешь передать зависимости как напрямую, так и с помощью ioc.
Сам код не меняется в зависимости от того, как данные туда поступают. Более того, он не знает, откуда их получает и ему на это и похуй. В этом суть блять. Независимость.
Класс просто сказал, что хочет получить - а откуда ему это высрали ему до пизды.

В редуксе же ты напрямую используешь методы вида "достать говно из магического очка / отправить говно в магическое очко".
Ты зависишь от этого очка.

А еще, с ioc ты ничего напрямую никуда не пробрасываешь, не пишешь никакой говнокод типа connect и HOC'и.

Вот два фатальных отличия.
В первом случае избавление от проблемы, а во втором тупо глобальная переменная со всеми вытекающими.
поговорил с мелкобуквенным пуком
499 1659206
>>59203
Ну так а как ты сделаешь это в языке без типизации и интерфейсов?
500 1659208
Реакт и редукс создавался программистами, которые к ооп привыкли, но так как функционал у языка скудный, пришлось пилить костыли.
501 1659211
>>59206
Вот мы и пришли к выводу о том, что жс говно ебаное.
Разумеется, и для него есть способы это сделать и готовые либы. По сути, все, что надо ioc-контейнеру - это знать тип аргументов конструктора перез созданием объекта.
Их можно получить или из доктайпа, или нативно в тайпскрипте.

Только всем на это похуй и никто не юзает.
Это мне напоминает ситуацию с питоном.
Мощнейший скриптовый язык не юзается ни в каких серьезных задачах, потому что у него кодовая база говно говна и никто, блядь, не юзает современные фичи и типизацию.
502 1659213
>>59203
У тебя TodoList все еще зависит только от своих инпутов, тестируй его полностью. Можешь еще селекторы потестировать, если там дохуя чего. connect - это обвязка фреймворка, где ее нет?
Помнишь старый ангуляр? Там тоже были static $inject = ['biba', 'boba']. В текущем ангуляре уже полехчи, можно просто @Injectable - и сразу типа автодискавери, только есть нюанс, хочешь поинжектить интерфейс - пиши @Inject(YOBA_SERVICE_PROVIDER) у параметра. Рефлексии то нет, а та что есть - на декораторах, а они stage-2
503 1659218
>>59192
>>59208
>>59211
Итт селюки не осиляют базовые концепции фп
504 1659221
>>59218

>базовые концепции фп


>хуки, хоки, ехал коннект через коннект в транспиляторе


Может, еще про чистые функции спизданешь?
505 1659223
>>59218
Типы не выводяться в 70% случаев, НИУДОБНА. Вот если бы только у нас были инструменты...
506 1659228
Короче, надо расслабиться и просто хуярить в продакшн и все. А там наймут еще 5 макак разгребать это говно потом Те не смогут, оно и немудрено, говно ведь, перепишут заново, и так по вечному циклу сансары
507 1659233
>>59228
Этим, кстати, объясняются и относительно высокие зарплаты у жс-макак. Потому что нормально писать на жс вообще невозможно, поэтому требуется постоянно строчить и переписывать кучи кода, чтобы поддерживать в рабочем состоянии проекты.
Тогда как на норм языке можно написать 1 раз и на 5-10 лет, то на жс код протухает за полгода и надо уже заново все писать.
Охуенно, чо
508 1659237
>>59221
Галероребенок плез
Ты не можешь сопоставить базовый концепт IO с механизмом мутаций в реакте, но срёшь какими-то натягиваниями всего на своё узкое понимание ооп (которого в реакте как библиотеке нет вообще)

>хуки, хоки, ехал коннект через коннект в транспиляторе


>Может, еще про чистые функции спизданешь?


Очередные сравнения тёплого с мягких в твоём манямирке
509 1659260
>>57435
То есть это статика? Как добавлять новые посты? Ручками в папку складывать?
510 1659273
>>59260
статические генераторы сайтов
511 1659277
>>59260
Наивный, это же Рякт-хуякт. Пересобирать и перезаливать весь проект даже не на каждый пост, а на каждую правку. Железо всё стерпит.
react.png1 Кб, 84x204
512 1659335
>>58863
Как он тогда рисует до нажатия кнопки? Я хз почему отрывок кодпена не слушает правила css, но в деве дело выглядит пик релейтед.
Я присваиваю начальное значение threadPosts в виде массива, .map его спокойно обрабатывает, кнопка с ивентом addThreadPost должна по идее добавлять элемент в этот массив и перерисовать тред.
Что я упускаю?
513 1659373
>>59335
Потому что до нажатия кнопки он был массивом. После нажатия кнопки он у тебя превращается в число и реакт пытается у этого числа вызвать функцию .map
514 1659374
>>58851
function addNewPost() {
const newThreadPosts = [...threadPosts];
const currentPostsLength = threadPosts.length + 1;
const newPost = `Post #${currentPostsLength}`;
newThreadPosts.push(newPost);
addThreadPost(newThreadPosts);
}

return (
<section className="thread-view">
<h4>Thread view</h4>
{threadPosts.map(post => (
<ThreadPostCard
key={Math.random() * 1000}
postContent={post}
/>
))}
<button onClick={addNewPost}>Add a post</button>
</section>
);
}
515 1659398
Почему console.log('X' && 'X' === 'X' && 'O') выводит 'O'?
516 1659406
>>59398
Потому что сначала идёт сравнение, а потом уже логическое И

В итоге получается

X && true && 'O'
post.png2 Кб, 288x113
517 1659408
>>59373

>После нажатия кнопки он у тебя превращается в число и реакт пытается у этого числа вызвать функцию .map


Бля, как тогда добавить элемент в массив? Неужели надо с конкатом пердолиться?
>>59374
Пикрелейтед, твой код превращает старое состояние в строку. Плюс Тайпскрипт ругается на типы в:
newThreadPosts.push(newPost);
addThreadPost(newThreadPosts)
518 1659411
>>59406
Точно, я неправильно смотрел таблицу.
519 1659417
>>59408

>Бля, как тогда добавить элемент в массив? Неужели надо с конкатом пердолиться?



threadPosts.push(`Post #${threadPosts.length}`) && threadPosts
posts.png3 Кб, 144x428
520 1659418
>>59408
Таки надо было с конкатом пердолиться.
<button onClick={() => {
addThreadPost(threadPosts.concat([`Post #${threadPosts.length + 1}`]))
}}

>


Это получается создаётся новый массив и запихивается заместо состояния старого? Как-то жирно получается, ради добавления одного элемента.
521 1659423
>>59408

> Пикрелейтед, твой код превращает старое состояние в строку.


Мой код добавляет новый элемент к твоему массиву, а что тебе надо я не понял
522 1659424
>>59417
Кнопка ничего не добавляет.
523 1659429
>>59423
Сейчас копипастом вставил и всё работает. Может быть с переписыванием что-то накосячил.
Хотя по сути тот же конкат с полной заменой массива. Видать с хуками никак иначе.
524 1659525
https://dribbble.com/shots/4890285-Task-Manager-Animated
Как делать такие же анимации на среакте? Нужно знать математику? Может кубы бизешки с этим справятся?
525 1659527
>>59525
react-spring.
526 1659722
>>59525
Госпаде, как меня бесят эти нескучные анимации на говносайтах.
Еще ни единого раза не видел, чтобы это приятно выглядело. Напротив, только бесит своей тормознутостью и нагрузкой проца.
Пожалей юзеров, не делай это говно.
527 1659728
>>59722
Так я для себя тудушку делаю. Анимации никогда не делал, хоть тут попробую
528 1659876
Вроде как объявление переменной через var является устаревшим и зашкварным способом? Так какого хуя я периодически встречаю в официальных доках какой-нибудь библиотеки блядское var?
529 1659886
анонсы, ранее работал ттолько с голым жс и jquery. сейчас дали битрикс где надо фиксить форму на ангуляре. так вот в самой разметке она вызывается через ui.modal="callback" иии собственно где мне искать код жса, почему он не открывает всплывающее окно для обратного звонка ну и как это лечить?
530 1659929
>>59886

> иии собственно где мне искать код жса, почему он не открывает всплывающее окно для обратного звонка ну и как это лечить?


Спроси у того, кто сказал это сделать - структура то у проектов может быть разной.
531 1659959
Nest JS это какой-то Spring Boot
532 1659965
>>59929
здесь битрикс. так что думаю что может вообще в любой жопе мира прятаться. ведь так?
533 1659969
>>59965
Да. Я бы в первую очередь проверил local и include папки.
534 1660055
>>52504
WebSocket
535 1660063
>>59876
Потому что переписывать нету смысла, официальные доки нужны не для того, чтобы тебя научить правильно переменные объявлять, а для того, чтобы объяснить как эта самая библиотека работает.
536 1660068
>>59418
Оптимальный способ добавления элемента в массив.
массивНейм = [...массивНейм, новыйЭлементНейм];
537 1660083
>>60068
Оптимальный это push, а твоя хуйня создает новый массив, при этом старым забивает память до тех пор пока её не очистит сборщик мусора + по скорости намного проигрывает.
538 1660155
>>59277
Я все равно не понял, маркдаун файлы - это .md? То есть как генерится такой проект? Юзер нахуярил новый пост, как происходит его персист? Он просто файлик на сервер складывает? Чем это лучше обычного блога на ПХП?
539 1660220
>>60155
Тем, что это будет SPA блог.
540 1660261
>>60083
push в рякте не используется, мань
541 1660590
для того, чтобы отреагировать на изменение пропсов достаточно написать:
componentDidUpdate(prevProps) {
if (prevProps.someVar !== this.props.someVar)
// Do something
}

Есть ли аналогичный метод для контекста?
542 1660606
>>60590
useEffect
543 1660666
Ребята. На сайте react + express админка как должна работать? Express-session не нужно юзать и можно сделать через реакт, я правильно понимаю?
544 1660672
>>60666
Токены-хуёкены на сервер всё равно надо будет отправлять. Реакт только кнопочки для админки тебе нарисует.
545 1660673
>>60261
Так ты про оптималность говори, а не про говнофреймворк.
546 1660763
Аноны, посоветуйте годную либу для ajax-запросов. Axios - дырявое говно?
back.png49 Кб, 898x552
547 1660815
>>51996 (OP)
Меня осенило этим чудесным утром. Я занимаюсь фронтом (могу и беком но тоже на JS) и не люблю верстку. Мне нравится заниматься тем пластом бизнес логики, что перекинули на него, нарвится выстраивать взаимодействие с беком, нравится управлять стейтом приложения, но верстать я ебал. Так что подскажите продвинутые курсы по верстке плс и поделитесь есть ли у вас такое же ее отрицание как и у меня. Алсо, всегда хотелось спросить про мемы типа пика. Это же полная хуйня. Достаточно посмотреть на то сколько мозгобества и костылей может быть в энтепрайзе на том же фронте. Так что я считаю, что этим мемы делал чел, банально путающий UI со всем фронтом.
548 1660821
>>60815
Мемасик не хуйня, а просто устарел. Теперь там двухэтажное чудище, а сверху красивая бабочка в виде макетов дизайнера
549 1660838
>>60763
fetch чем не угодил?
550 1660910
>>60673
Иммутабельность вполне себе оптимальна. Обобраться ты можешь только в рекурсии.
551 1660976
Если реактовские хуки нельзя размещать внутри условных операторов, других функций, циклов и тд, то как выкинуть лишние (при определённых условиях) функции с хуками?
552 1660978
>>60606
А если это компонент, который внутри другого компонента, который внутри другого?
553 1660986
>>60976
Внутри хука пишешь if (a) return;
554 1660992
>>60986
А если внутри одного компонента, размещались другие через цикл?
555 1661042
>>60992
А хуки тут причем?
556 1661052
>>61042
Думал перетащить сайт с компонентов на хуки
557 1661075
Здрасьте, я к вам с жавы. Поясните, пожалуйста, по фасту, за папку node_modules.
Хочу маленький сайт на реакте, клонирую create-react-app, npm install, хуяк - 180 мб. Хочу маленькое электрон-приложение на реакте, клонирую electron-react-boilerplate, npm install, хуяк - 800 мб! Да схуяли. в каждом. проекте. эта папка. с полной. копией. всех. зависимостей?? Центральный локальный репозиторий (как мавен) это не про ноду? Не поймите неправильно, я не против держать все это, но в единственном экземпляре, пожалуйста.
А есть еще всякие лок-файлы, технологии "уплощения" папки с модулями, "новый" менеджер yarn, это все туда ведет, к локальному репозиторию? Я запутался, читаю уже несколько часов, миллион вкладок в браузере открыто, помогите, как делать чтобы было нормально? Судя по технологии "нету в текущем node_modules, ищем в родительском каталоге", можно вообще эту папку в корень диска переместить, это норм метод? Как потом npm'у указывать чтобы обновлял именно ту, корневую папку? Да и версий там нет, у либ в этой папке, значит будут коллизии и это не настоящий выход. Че делать-то, как вы выживаете?
558 1661084
>>61075
Да похуй нам.
Лок файлы - это чтобы доставлять на прод версии зависимостей, которые вы использовали при разработке, а не которые вышли 3 дня назад и все сломали.
"Уплощение" немношк уменьшает объем node_modules.
yarn - когда npm был плохеньким, yarn был быстрее выше сильнее, сейчас похуй.

>чтобы было нормально


Тут это "нормально"
559 1661101
>>61075

>> Да и версий там нет, у либ в этой папке


npm install -g youbalib@7.7.7
560 1661108
>>61101
А теперь установи эту же либо другой версии, и чтобы обе версии были доступны
561 1661110
>>61084
Спасибо. Но я все же еще поищу.

>>61101
Версий нет в папке, типа как пик2. Две версии последовательно ставишь и новая затирает предыдущую.
562 1661177
>>61110
Поиск модулей не работает так, как ты хочешь. Require и import ищут модуль, а не модуль конкретной версии, поэтому один проект на диске сможет работать, а два - уже нет, потому что версии не совпали
563 1661181
>>61177
Так и какое решение? Держать в каждом проекте по толстой папке зависимостей это единственное решение в node-среде?
564 1661204
>>61181
Да, ведь она рассчитана на прогресс, а не на селюков вроде тебя, которые каждые 100 мб считают.
565 1661218
>>61204
В следующий раз, когда встречу ребят из апача, передам им, что на дваче сказали что они селюки. Надеюсь не все js-комьюнити здесь такое как ты.
566 1661221
>>61218

>сравнивает закрытую систему и команду разработчиков с открытой системой и отдельными разработчиками, которым похуй друг на друга



А ты не очень умный, да? Хотя ничего другого от жабапетуха я и не ожидал.
567 1661229
>>61221
Да, я не очень умный. Пожалуйста, объясни, как открытость/закрытость и разработчики связаны с отсутствием у npm локального кэша с версиями модулей?
568 1661240
>>61221
>>61229
Потому что насколько уж я неумный, однако даже я могу найти свидетельства, что разработчики не ты таки задумываются над этой проблемой. Но вот вопрос, решена ли она на текущий момент?
569 1661246
>>61229
>>61240
Так это такие же дурачки как ты, которые не понимают, что нельзя установить один пакет в общую директорию и использовать этот пакет в модулях, которые написаны под разные версии этого пакета.
570 1661249
>>61246
Именно потому, что нельзя в общую директорию поставить пакеты одного модуля разных версий, в отличие от того же менеджера, что я привел выше. И ты проигнорировал мой вопрос раскрыть свой высер про разработчиков, это потому что ты реально там не имелл ничего конкретного ввиду, да?
571 1661337
>>61249
Короче я нашел, есть pnpm. Подводных при использовании разумеется пока не знаю, если у кого есть опыт - подсказывайте. Позиционируется как drop-in replacement для npm и выглядит серьезно: в курсе о конкурентах (npm/yarn), есть бенчмарки, на сцене минимум с 17го года, 62 участника, последний коммит 4 часа назад.
572 1661410
Нахуя нужен этот ваш докер?

Инфибо: программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации. Позволяет «упаковать» приложение со всем егоокружением и зависимостями в контейнер, который может быть перенесён на любую Linux-систему с поддержкой cgroups в ядре, а также предоставляет среду по управлению контейнерами.

Это типо хостинг или что?
573 1661415
>>61410
Ты хоть раз деплоил что-то?
574 1661418
>>61410
Делал когда-нибудь образ диска, iso-шку? Принцип тот же. Создается образ, маленькая операционная система, в которой крутится одна твоя программа, как центр вселенной, плюс ее "окружение" - другие программы, которые она использует, файлы конфигурации, переменные среды. Вот это все пакуется в файлик для быстрого развертывания на другой машине. Например, можно запаковать nginx + php-fpm + твой_сайт, потом просто загрузить куда надо и все это сразу заработает, без установки отдельных инструментов и прописывания конфигов.
575 1661424
>>61415
На файрбейз задеплоил миллион проектов, что дальше?
576 1661426
>>61410
Так проще скинуть таск на удалёнку. Исполнителю не придётся ставить и настраивать бд, сервер и тд. Просто запустил докер и всё.
577 1661467
>>60978
useContext
perekat.png4 Кб, 180x125
П Е Р Е К А Т # OP 578 1661704
>>1661702 (OP)

П Е Р Е К А Т
579 1663095
>>60220
Новые посты в нем как создаются?
580 1663155
Сделал сервер на ноде: https://repl.it/@dubsteploverxxx/this-shit-doesnt-work , но в post реквесте получаю {}, вместо данных.

Реквест с клиента выглядит вот так: https://github.com/dubsteploverxxxdIooIb/this-shit-doesnt-work/blob/master/fetch.js

express: 4.17.1
body-parser: 1.19.0

Перечитал убер много гайдов по этому поводу, ничего не помогло, буду крайне благодарен за любую помощь.
581 1663619
Аноны 2 вопроса:
1) Насколько сильно вообще ооп в жс применяется на практике ?
2) Что почитать по ооп в жсе ? типа как лучше строить все, а не про синтаксис объектов user_1. Пока возникло ощущение, что придется вообще брать книги по опп из других языков. там все это постигать и переносить уже на жс.
582 1664616
Анончики, почему у меня на новом Хроме Async Clipboard API не пашет: https://jsfiddle.net/0794oysr/2/
583 1667448
>>58831

>Стоп то есть можно быть ВЕБ ДЕВЕЛОПЕРОМ не зная что такое void?


Я синьор JS и до этого видео не знал, что в JS есть void.
584 1667499
https://www.youtube.com/watch?v=P4hNnIa5IiQ
Собес в Яндекс на Джуна, у Костяна-то лайт вариант был!
585 1671811
>>67499
схоронил кто видос? ютуб выпилил уже по жалобе яндекса
586 1698826
Совершенно не понимаю в программировании, поэтому сразу извиняюсь за возможно глупый вопрос. Есть скрипт, который должен выполнять действие в чч:мм:59:500 или больше, но почему-то он срабатывает раньше (при тесте сработал в в чч:мм:59:200), в чем может быть ошибка? https://pastebin.com/NzTbHQEz
587 1698828
>>98826
вместо 59 секунд должен был написать 57, ошибся в вопросе

(скрипт должен срабатывать в чч:мм:57:500 или позже)
Тред утонул или удален.
Это копия, сохраненная 27 июля 2020 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски