М.Двач / Программирование

Этого треда уже нет.
Это копия, сохраненная 26 августа 2018 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

61 Кб, 1050x1050
JavaScript thread BigInt(106) /js/ 9 июня, 22:07 1206689 В конец треда | Веб

Ссылка на прошлый тред: >>1198383 (OP)

НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Для программирования на ХТМЛ https://codepen.io/pen/
Для программирования на алёртах https://jsfiddle.net/
Для фреймворков библиотек https://codesandbox.io/
Для живой странички из коробки https://repl.it/languages/web_project
Для Ноды с пакетами и консолькой https://repl.it/languages/nodejs

В этом треде собираются величайшие умы человечества – мастера валидации форм и специалисты по JSON-технологиям. Этот тред посвящён главному языку будущего – JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач – от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, NASA, Walmart и многие другие.

Часто задаваемые вопросы: https://github.com/vladimir37/js-thread/blob/master/Wiki/faq.md

Список материалов для изучения: https://github.com/vladimir37/js-thread/blob/master/Wiki/learn.md

Список инструментов и направления JS-разработки: https://github.com/vladimir37/js-thread/blob/master/Wiki/tools.md

Конфа /pr/ в Slack: https://slack-2chpr.herokuapp.com/

Ответы068040718908186082130960010165112171331114930

40 Кб, 500x600
9 июня, 23:22 2 1206765

В директории можно выполнить
npx live-server .
(точка в конце)
и получить сервер этой директории с живой перезагрузкой на изменениях.
https://www.npmjs.com/package/live-server

41 Кб, 788x256
10 июня, 00:13 3 1206804

>>1206689 (OP)
Всем здорово! Подскажите как вкатиться айти?
Мне тут кое-кто посоветовал начать с Кантора, это нормальная тема?
пикрандом

Ответы0682006834

10 июня, 00:52 4 1206820

>>1206804
привет

10 июня, 01:08 5 1206834

>>1206804
Если с английским плохо, то начни с /fl
Начинаешь с
https://htmlacademy.ru/
Бесплатного хватит. Но если есть копейки, купи подписку на месяц, мотивирует.
Вместе с тем по вечерам внимательно смотришь
https://www.youtube.com/watch?v=Sy_wba7l1UU&list=PLawfWYMUziZqyUL5QDLVbe3j5BKWj42E5
После того, как закончишь академию
https://ru.hexlet.io/courses/introduction_to_programming
https://ru.hexlet.io/courses/intro_to_web_development

Теперь у тебя будет представление о программировании вообще и о вебе в частности. Тогда уже можно и Кантора навернуть или съебать в другом направлении.

10 июня, 01:09 6 1206835

>>1206208
>Реакт - это библиотека. Для рендеринга html. И больше в нем нет нихуя.
>Алсо, умиляет подход к передаче данных в компоненты. Сначала много разговоров про иммутабельность, пропсы, one-way, чистые функции, и прочее. Охуенно.
>А практически - что с этим всем делать? А-а-а, практически... Ну, практически - надо юзать редукс, который всё красиво сделает с чёрного хода, через недокументированные возможности.

Ну почему этот долбаный реакт взлетел, раз он особо нихуя не может?

Ответы0686106862

10 июня, 02:15 7 1206861

>>1206835
React хорошо подходит для разработки большх проектов в больших профессиональных командах.
Оттуда и появился, собственно.

Для маленькой команды с ограниченными ресурсами и для поделок на коленке - слишком низкоуровневый и затратный.

А вот Vue удачно вписывается в обе эти модели разработки.

Ответы20034

10 июня, 02:15 8 1206862

>>1206835
наверн томушо ты цитируешь долбаеба)))

Ответы06867

10 июня, 02:38 9 1206867

>>1206862
Нет, он процитировал не тебя.

Ответы06868

10 июня, 02:38 10 1206868

>>1206867
вот и я о том)))

10 июня, 05:26 11 1206902

5 Кб, 289x4622 Кб, 519x26073 Кб, 866x29714 Кб, 554x52

Сука этот ебаный вебпак с его publicPath'ом каждый раз заставляет меня возиться в конце проекта с ебучими путями до ассетов.
Что тут может не работать?
пик 1: относительный publicPath ( для gh-pages )
пик 2: лодеры
пик 3: зачем то добавляет еще раз /assets/assets/ к путям до шрифтов
пик 4: стили и js нормально подгружает используя относительный publicPath

10 июня, 06:08 12 1206904

Юзал реакт с обычным жс, решил перекатиться на тс, с чего начать? Стоит ли?

Ответы0698020035

10 июня, 11:08 13 1206931

У мозиллы есть планы реализовать в квантухе поддержку FileSystem API на уровне хромиума?

10 июня, 13:27 14 1206980

>>1206904
Начни с Flow.

10 июня, 13:41 15 1206991

Подписался на эпичный тред

10 июня, 17:33 16 1207189

>>1206689 (OP)
Поделитесь ссылкой на торренты с интенсивом по свежему Angular от javascript.ru

10 июня, 19:16 17 1207265

/a{2}/.test('aab'); //true

Палит две А подряд

/a{2}/.test('aba'); //false

Как палить не подряд?

Ответы07303

10 июня, 20:03 18 1207303

>>1207265
Не стоит вскрывать эту тему.
https://regex101.com/r/nO4sqP/3

30 Кб, 768x425
11 июня, 13:34 19 1207667

Кто мне может объяснить эту хуиту, что там написано. Этот код.
http://bootstrap-4.ru/docs/4.1/components/forms/#custom-styles
Что это блять? Как этим пользоваться? Если я у меня какое-то приложение и валидация в нём это одна из функций, которай должна осуществляться, по нажатию на какой-то бтн. Как мне эту ебалу переписать и нормально пользоваться?

Ответы07712

11 июня, 15:30 20 1207712

>>1207667
>по нажатию на какой-то бтн
Тогда вся эта ёбала вообще не нужна - вызывай просто form.checkValidity().
https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/HTML5/Constraint_validation
(русский перевод там тоже есть, но неполный).

Что делает код на пике:
0. Запускается после полной загрузки страницы.
1. Находит все формы, имеющие класс 'требует-проверки' (видимо, ставится где-то в др. месте).
2. Добавляет каждой event-listener на событие submit (отправка):
......1. Проверяет, валидна ли форма.
......2. Если нет - останавливает отправку.
......3. В любом случае - добавляет класс 'было-проверено' (видимо, используется где-то ещё).

Учи джаваскрипт.
Не стесняйся заходить в гугол и искать там по кускам кода.

Ответы0774107792

11 июня, 16:12 21 1207741

>>1207712
>Тогда вся эта ёбала вообще не нужна
Но, если ты хочешь именно bootstrap-валидацию, и, тебя, почему-то, не устраивает валидация по submit (почему?), то тебе надо сделать так, как внутри обработчика на пике - добавлять класс 'was-validated' после вызова form.checkValidity().

Алсо, я тоже не делаю валидацию по submit - вызываю по кнопке, а потом делаю submit из js.
Но, я и встроенную html-валидацию не использую, и вообще большой затейник.

11 июня, 17:25 22 1207792

>>1207712
Класс was-validated добавляется только в случае чекВалидати === true, а вовсе не "в любом случае"!

Ответы07842

11 июня, 17:26 23 1207793

Нахуя в проектах лепят es6-импорты, если они не поддерживаются в stable-версии ноды? Как это вообще работает? В ноде есть выстроенная экосистема, есть адекватное тестирование и куча библиотек. Как люди пишут любой js-код(даже на фронт) без ноды? Просто как? Сейчас хочу сделать простенький проект, который собирается в ассеты для браузера, но нужная мне библиотека принципиально не работает с commonJS модулями, видимо придется выбирать другую. Я не вижу смысла делать каждый пук в терминале через бабел ради одних импортов. В чем суть этой хуйни, кто и как ими пользуется?

Ответы07837

11 июня, 18:05 24 1207827

Я БОЛЬШЕ НЕ МОГУ, БЛЯТЬ
Пилил сайт на компе, перенёс всё на ноут и у меня ОТВАЛИЛАСЬ АВТОРИЗАЦИЯ, точнее, не работает ajax. На компе стоит ТОЧНО ТАКОЙ ЖЕ локальный сервак, файлы все ТОЧНО ТАКИЕ ЖЕ, я НИ СТРОЧКИ не поменял, но на компе всё работает, а тут нет, меня трясёт, блять, сука. Что здесь не так? НУ ЧТО?

$.ajax({
type: "POST",
url: "include/auth.php",
data: "login="+auth_login+"&pass="+auth_pass+"&rememberme="+auth_rememberme,
dataType: "html",
cache: false,
success: function(data) {

if (data == 'yes_auth')
{
location.reload();
}else
{
$("#message-auth").slideDown(400);
$(".auth-loading").hide();
$("#button-auth").show();

}

}
});
Ну всё же работает на компе, СУКАААААААА, я целый день с этим дерьмом вожусь.

Ответы07829

11 июня, 18:11 25 1207829

>>1207827
да что угодно может пойти пиздой, ты вкладку network в devtools покажи после того как кликнешь на кнопку чтоб сделать запрос, и в консоли что высвечивается тоже доставь.

11 июня, 18:13 26 1207830

АХАХАХАХАХАХА
АААААААААААААААААААА
Всё, нахуй. Сюда написал и сразу всё решилось. Оказалось, что ебучая пыха сессию не стартовала. Но это не оменяет того факта, что НА КОМПЕ-ТО ВСЁ РАБОТАЛО. ЕБИСЬ ВСЁ КОНЁМ, ВЕРСИЯ ПЫХИ ОДНА И ТА ЖЕ, СУКА, НУ ЧТО ЭТО ТАКОЕ?!

Ответы07850

11 июня, 18:24 27 1207837

>>1207793
Если хочешь пользоваться - WebPack + Babel.

Некоторые большие библиотеки, типа реакта, vue, jquery, lodash etc - можно отмечать как external в вебпаке, и инклудить в браузере отдельно. Это работает, если библиотека предоставляет глобальный объект - React, Vue, $, _ etc.

Раскочегаривать всю эту механику ради одних импортов - бессмысленно. Но, есть ещё лямбды, классы, jsx, промисы, async, class properties и хуева туча js-фишек, которые появятся только в будущих стандартах языка.
Плюс - структурирование кода.

Без ноды - легко.
Не использовать импорты вообще, и писать просто так, на глобальных объектах. Т.е. просто используешь глобальную переменную Vue, и всё. Естественно, включив загрузку соотв. скрипта в html.

Ответы07844

11 июня, 18:31 28 1207842

>>1207792
Нет.
Читай код.

11 июня, 18:39 29 1207844

>>1207837
Я знаю, как билдить ассеты, и весь es6 синтаксис, кроме импортов, доступен в текущей версии ноды. Проблема вообще в другом. Я хочу писать на ноде, тестить на ноде, и при этом не ебать себе мозги, подключая babel или --experimental-modules на любое телодвижение только из-за сраных несовместимых импортов, которые хуй знает зачем и кому сейчас нужны, раз они в ноде не поддерживаются из коробки. Собрать весь проект в ассет и отдать его браузеру - это задача на пять минут, я про нее не говорю.

>Не использовать импорты вообще, и писать просто так, на глобальных объектах.
Вопрос не в том "как писать", вопрос "нахуя так писать". Без быстрых тестов, без нормальной системы модулей, без нормально прописанных зависимостей и с постоянным засиранием глобалов. Я с этой хуйни и перешел на ноду для фронтенд-проектов в первую очередь.

Ответы07848

11 июня, 18:45 30 1207848

>>1207844
ES6 не поддерживается всеми браузерами.
Те, что поддерживают - поддерживают не полностью и с багами.
Нахуй он нужен вообще, если не поддерживается из коробки в стабильных версиях браузеров?

(это я пользуюсь твоей логикой, если что)

Ответы07860

11 июня, 18:48 31 1207850

>>1207830
>ВЕРСИЯ ПЫХИ ОДНА И ТА ЖЕ
А версии ОС, апача, модулей к нему - разные. А потом выясниться, что бд забыл поставить.

Ответы07902

11 июня, 18:59 32 1207860

>>1207848
В браузерный код ты в любом случае переводишь все через компилятор. И есть разница между сахарком классов и перехуячиванием всей устоявшейся системы импортов. Например, с импортами я не смогу использовать NODE_PATH в своем проекте и мне придется ебаться еще больше, чтобы оставить require("shared/utils"), который удобно указывает на lib/shared/utils.js, а не переделывать его в ебучий релативный импорт.

Ответы07872

11 июня, 19:07 33 1207872

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

Ну, и, добро пожаловать в волшебный мир веб-фронтэнда, лол.

Ответы07906

11 июня, 19:35 34 1207902

>>1207850
ОС - да, другая, но всё остальное такое же, базу экспортировал.

11 июня, 19:41 35 1207906

>>1207872
Так вопрос, каким образом люди тестируют в сетапе babel/webpack без ноды? Не в браузере же и не вручную, это долбоебизм. Или волшебный мир фронтенда до сих пор не научился в адекватное автоматическое тестирование?

Ответы08013

11 июня, 19:48 36 1207909

И опять же вопрос про es6 импорты, каким образом можно сделать адекватные не-релативные импорты без вебпак-костыля, чтобы работало в ноде? Например для CommonJS есть целая куча костылей: https://gist.github.com/branneman/8048520 Но в es6 динамические имена модулей использовать вроде как нельзя, NODE_PATH ни на что не влияет, так что почти все решения оттуда отпадают, а гугл нихуя не выдает.

11 июня, 22:31 37 1208013

>>1207906
>babel/webpack без ноды
Это невозможно, и ты должен это понимать.
И чем тебе бабель не угодил?
Типа, вся остальная хуерга тебе норм, а бабель - это уже перебор, лол?

Вообще, такое ощущение, что ты чего-то недопонял, и ломишься в открытую дверь.

Ответы08118

12 июня, 01:26 38 1208083

70 Кб, 1024x743111 Кб, 1024x743

вот как вообще возможно что сраный хайль ворд не запускается?

Ответы08089

107 Кб, 1024x743
12 июня, 01:51 39 1208089

>>1208083
ну ладно, после получаса исследований максимум что мне предложили это то, что на пике ( типа опциональными поставь, но хули ж толку тогда вообще с ТС-а? ) Я в ахуе
пиздец, я половину базовых классов на ТС уже написал

Ответы0809208731

12 июня, 02:07 40 1208092

>>1208089
Именно поэтому народ и использует Flow.

Ответы08107

122 Кб, 1024x743
12 июня, 03:05 41 1208107

>>1208092
https://github.com/facebook/flow/issues/5869
лел блядь сходу
тут предлагается такой обходной путь
Component<*>

Ответы08111

12 июня, 03:54 42 1208111

>>1208107
Ты как-то выборочно там прочитал, лол.

https://flow.org/en/docs/react/components/

Алсо, не надо обходных путей.
Надо примерно как в TS:
Component<{propKeyA: string, propKeyB: number}, {stateKeyA: string}>

12 июня, 05:36 43 1208118

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

Ответы08120

12 июня, 05:43 44 1208120

>>1208118
Ниче, со временем у тебя вырабатается стокгольмский синдром.

12 июня, 10:34 45 1208186

>>1206689 (OP)
Нужно знать html и css, чтобы начать учить JavaScript?

Ответы08197

12 июня, 10:48 46 1208197

>>1208186
Да, на все это у тебя уйдёт неделя или две, ничего сложного там нет, а потом будешь ебаться с жс, как я сейчас
Ууу сука зла не хватает, бросаю, и на следующий же день возвращаюсь, ничего с собой поделать не могу, надеюсь, через месяца два изучения, я все таки накатаю свою йобу.

Ответы08853

1,1 Мб, 954x968
12 июня, 11:03 47 1208206

Ребят , помогите дауну , я только недавно начал использовать git . Не понимаю еще механику , хотя читал .

Вот я последним коммитом (а возможно двумя) испортил свой локальный репозиторий и хочу полностью заменить его веткой из гитхаба.
Но моя локальная считается master и не дает это сделать .
Как принудительно заменить её?

Ответы08229

128 Кб, 600x598
12 июня, 11:17 48 1208213

>>1206689 (OP)
Анон, недавно пришлось на работе писать на js и так уж вышло, что кроме меня тут на нём никто не пишет, кода на js у нас нет, поэтому стал вопрос о закладывании какого-то фундамента из стайлгайдов, а потом и обмазывания всевозможными линтерами.
Какие требования к стилю написания js-кода используются в твоей компании, есть какие-то общие, вроде pep-8 в питоне? Поделись, если можно, ссылками.
Пытался гуглить, но зашился в десятках статей, каждая из которых предлагает свой подход.

Ответы0871208752

20 Кб, 326x326
12 июня, 11:33 49 1208224

Кто-нибудь из вас работал в веб-игрострое? Я имею ввиду современный веб-игрострой, где используются всякие канвасы и WebGL. Насколько сложно туда вкатиться? Какие требования? Действительно ли там требуются яйцеголовые со знанием матана (и будут ли по нему драть на собеседовании) или это просто будет плюсом? У меня есть уверенность в своих знаниях по JS (3 года хорошего опыта), но нет уверенности в своей алгоритмической подготовке, ибо не особо налегал на математику во времена учёбы в своей шараге, поэтому в голове отложились жалкие крохи и те выветрились за 4 года после окончания. И ещё, какая зарплата в этой сфере считается приемлемой?

Ответы0825708287

12 июня, 11:39 50 1208229

>>1208206
git reset --hard origin/master

12 июня, 12:15 51 1208257

>>1208224
так ты ж программист => ты яйцеголовый

12 июня, 13:05 52 1208287

>>1208224
150-200 тыс руб для быдлокодерка на шарпе

12 июня, 22:17 53 1208651

Как на канвасе объекты двигать? пытался организовать D&P , создав событие onmousedown, а внутри его на mousemove и mouseup, но оно игнорирует внутренние события

Ответы08665

12 июня, 22:33 54 1208665

>>1208651
https://javascript.info/mouse-drag-and-drop

>D&P
ПНХ
>внутренние события
Так это не делается. Попробуй через глобальный флаг.
let hold = false;
onmousedown => hold = true;
onmousemove => if (hold) do shit;
onmouseup => hold = false;

Ответы08898

12 июня, 23:30 55 1208712

>>1208213
Ты прав, дело не из лёгких. Стоит понимать, что ЖС это лингва-франка и у нас тут нет никакого доброго диктатора.

Короче, если хочешь прям из коробки, но хуёвенько, то просто поставь в Вскод
https://marketplace.visualstudio.com/items?itemName=numso.prettier-standard-vscode
Но тыжеинженер.

Инструмент для линтинга это однозначно Eslint:
https://eslint.org/
Он очень гибкий требует попердолиться.

Есть васянская попытка навязать для него стандартные настройки:
https://standardjs.com/
Но они предлагают не использовать точку с запятой, что противоречит спеке языка, поэтому сразу идут на хуй.

Есть годный обоснованный стайлгайд от Аирбнб:
https://github.com/airbnb/javascript
Если запустишь в проекте
npx eslint init
Он среди прочего предложит тебе этот конфиг. Это будет хороший выбор для начала.

Дальше можно добавить плагинов для конкретных библиотек. Например, если ты используешь Джест для тестов, то найдёшь
https://github.com/jest-community/eslint-plugin-jest

Помимо линтинга ещё нужно форматирование. Это Притиер:
https://prettier.io/
Нужно будет подружить его с Еслинтом:
https://prettier.io/docs/en/eslint.html

Остаётся только подцепить это на прекоммит-хук, чтоб дерьмо не протекло:
https://github.com/typicode/husky
и наслаждаться.

Если будешь использовать create-react-app, то почти всё это будет сделано за тебя. Читай их ридми.

Ну и для Вскод поставить шикарные плагины под это дело:
https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint
https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode
подсветки, подсказки, автоматизация, все кайфы.

12 июня, 23:30 55 1208712

>>1208213
Ты прав, дело не из лёгких. Стоит понимать, что ЖС это лингва-франка и у нас тут нет никакого доброго диктатора.

Короче, если хочешь прям из коробки, но хуёвенько, то просто поставь в Вскод
https://marketplace.visualstudio.com/items?itemName=numso.prettier-standard-vscode
Но тыжеинженер.

Инструмент для линтинга это однозначно Eslint:
https://eslint.org/
Он очень гибкий требует попердолиться.

Есть васянская попытка навязать для него стандартные настройки:
https://standardjs.com/
Но они предлагают не использовать точку с запятой, что противоречит спеке языка, поэтому сразу идут на хуй.

Есть годный обоснованный стайлгайд от Аирбнб:
https://github.com/airbnb/javascript
Если запустишь в проекте
npx eslint init
Он среди прочего предложит тебе этот конфиг. Это будет хороший выбор для начала.

Дальше можно добавить плагинов для конкретных библиотек. Например, если ты используешь Джест для тестов, то найдёшь
https://github.com/jest-community/eslint-plugin-jest

Помимо линтинга ещё нужно форматирование. Это Притиер:
https://prettier.io/
Нужно будет подружить его с Еслинтом:
https://prettier.io/docs/en/eslint.html

Остаётся только подцепить это на прекоммит-хук, чтоб дерьмо не протекло:
https://github.com/typicode/husky
и наслаждаться.

Если будешь использовать create-react-app, то почти всё это будет сделано за тебя. Читай их ридми.

Ну и для Вскод поставить шикарные плагины под это дело:
https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint
https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode
подсветки, подсказки, автоматизация, все кайфы.

Показать весь текст
Ответы20042

12 июня, 23:56 56 1208731

>>1208089
просто ТС говно без задачв боьшинстве случаев
Откроем твой первый пик:
>document.getElementById('root') as HTMLElement
>as HTMLElement
Сильно помогло? Без него бы руки отвалились, наверное, да?

13 июня, 00:48 57 1208752

>>1208213
Лучше заложи фундамент из нормальной архитектуры, тестовой дисциплины и настроенного окружения. Всегда охуевал с людей, которые на полном серьезе дрочат на стайл гайды. Стайл гайд - это чтобы ньюфаги не писали совсем уж срань и для каких-то специфичных особенностей языка, но если у тебя есть любой опыт разработки, то ты и так знаешь 90% того, что тебе предложит стайлгайд, потому что это просто common sense.

Особенно этим любят заниматься фронтенд-макаки почему-то. У него 0% тестового покрытия, нечитаемая реакт-залупа на 200 строк кода в файле, где логика идет вперемешку с шаблоном, а он на стайл-гайды дрочит. Один мне на полном серьезе затирал, что вот в прошлой компании у него писали как попало, а в текущей используют стайлгайд и ему сразу заебись стало. Это каких макак набирать надо и как не уметь их загонять в рамки, чтобы стиль кода на что-то влиял? Не говоря уж про то, что любая IDE с плагином тебе и так покажет основную хуйню.

13 июня, 01:19 58 1208755

На одном сайте есть скрипт вида:
var a = true;
if(a){ window.location = 'nahui eto suda';}

Я пробовал в tampermonkey прописать что то типа const a = false;, но это не сработало. Можно как то избавиться от этого редиректа при этом не блокируя полностью выполнение яваскрипта?

Ответы08757

13 июня, 01:29 59 1208757

>>1208755
window.a = false;

Ответы0875908944

13 июня, 01:38 60 1208759

>>1208757
Лучше даже
Object.defineProperty(window, "a", {value: false});

Ответы08944

13 июня, 09:35 61 1208853

>>1208197
Спасибо). Красивый язык, я бы если бы и работал, то на жс, за еду

Ответы08910

13 июня, 11:44 62 1208898

>>1208665
спасибо, сейчас попробую

13 июня, 12:05 63 1208910

>>1208853
>Красивый язык
Не смеши.

13 июня, 13:27 64 1208944

>>1208757
>>1208759
В обоих случаях значение a перезаписывается и срабатывает условие: https://jsfiddle.net/qLtxsc6n/

13 июня, 16:01 65 1209095

Посоны, а где почитать про геттеры и сеттеры? Желательно на нормальных примерах с дом. Я нихуя не понимаю кантора, это пиздец какой-то. Какая блять есть альтернатива кантора?

Ответы09185

13 июня, 18:28 66 1209185

>>1209095
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects#Defining_getters_and_setters

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

Ответы09228

13 июня, 19:00 67 1209228

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

Ответы0937809453

13 июня, 21:39 68 1209352

Есть короче проект, стак nodeJS, graphQL, typescript, postgresQL, sequelize, не хочу блять милиарды раз описывать ебучие типы, с таким стаком это:
GraphQL типы,
TS интерфейсы,
Sequelize модели
Выглядит как полное говно, есть ли норм решение чтобы был один trust source?

Ответы09492

13 июня, 22:01 69 1209378

>>1209228
>зачем на данном этапе моего вката вот это вот всё сейчас
Затем, чтобы сделать трёхслойное приложение, где были бы Model, Controller и View. Как раз функции-геттеры нужны в т.н. «модели». А уже поверх неё — можно и форм поклепать простых.

13 июня, 23:26 70 1209453

>>1209228
Чтоб твоему ментору поднасрать, скину тебе шизика светоча:
https://www.youtube.com/watch?v=lfdAwl3-X_c

13 июня, 23:50 71 1209475

Посмотрел сейчас, что такое есть React Context.
И как надлежит его юзать.

Это какая-то лютая костыльная неюзабельная хуйня.
Что-то как-то они перемудрили с чистотой.
Напоминает стерильно-чистую бессмысленную собянинскую Москву, лол.

Вообще, реакт как-то разочаровывает по мере углубления в него.
И как-то снова начинает нравться Vue, лол.

14 июня, 00:32 72 1209492

>>1209352
Используй один маппинг для объекта, а в остальное время работай с данными? То есть пришел тебе запрос с JSON-объектом, ты пропустил его через маппинг, который конвертирует все поля в нужные типы, а потом работаешь с уже конвертированным объектом, убираешь неразрешенные поля, валидируешь и т.д. Конкретно с этим стеком не работал, но обычно используют ДБ схемы для этого, там уже все типы проставлены.

Ответы09611

14 июня, 01:34 73 1209515

подскажите, че сейчас на фрилансе актуально?
2 месяца работал в офисе, но работать с 8 до 8 (с учетом пути) 5 дней в неделю меня доебало, не моё это
думаю попробовать вкатиться во фриланс, но проблема в том, что вся работа в офисе была построена на гугловском полимере и обычно он нахуй никому не нужен, поэтому я не уверен во что лучше тыкаться

Ответы09571

14 июня, 09:44 74 1209571

>>1209515
фулл стеки актуальны и cms. Забугор - WP, в Роиси битрикс

14 июня, 10:48 75 1209600

>>1206689 (OP)
доброго времени)
я хочу сделать мультируменый чат с использованием socket.io, что бы комнаты юзеры могли создавать сами на лету
и думаю что лучше подойдет в socket.io для этого
namespace или room
но не понимаю их различий .___.
подтолкните, пожалуйста, в нужную сторону

14 июня, 11:13 76 1209611

>>1209492
Так лол, это graphql делает, там стрикт тайпы. Мне просто пиздец как не хочется описывать эти же тайпы ещё и в тайпскрипте и в схеме для постгреса.

Ответы0966709701

14 июня, 12:33 77 1209667

>>1209611
Сделай генератор.
И генерируй.

Ответы09734

14 июня, 13:14 78 1209701

>>1209611
Так а нахуя ты описываешь и там, и там? Цели какие?

Ответы09734

14 июня, 13:55 79 1209734

>>1209701
Хочу писать на тайпскрипте с автоподсветочкой и всеми плюшками. Для этого нужно тайпить. Ладно, нашел такую штуку, попробую ее
https://github.com/19majkel94/type-graphql
>>1209667
ебанутый?

Ответы09743

14 июня, 14:12 80 1209743

>>1209734
>ебанутый?
Сынок, ты, видимо, туповат.
Поясню - типы у тебя описаны в одном месте, например, в TS.
Для всей остальной хуйни можно описания типов генерировать по описаниям TS.
Или TS типы генерировать ещё откуда-то.
Я, например, генерирую их из Java классов, как и SQL схему.

Ответы09746

14 июня, 14:18 81 1209746

>>1209743
План хорош, но чета мне не нравится. Но план хорош.

14 июня, 14:51 82 1209790

Сап, формошлепы. Не дает покоя одна херь - вот есть родитель, есть у родителя сынка-корзинка. На сынку-корзинку вешается eventListener, срабатывает кулбэк, в нем удаляется родитель ( допустим body.removeChild(parent) ). И вот вопрос, удаляется ли сам eventListener с пездюка при этом? По идее должен, но сука как проверить. Удалять явно листенер впадлу, там именованная функция должна быть - впизду переписывать.

Ответы0985109933

487 Кб, 1600x914
14 июня, 16:29 83 1209851

>>1209790
Ответа на твой вопрос нет. Ты не контролируешь среду выполнения (бровзер у клиента). Раньше они текли на ровном месте. Сейчас даже куски замыканий выбрасывать умеют.
Если будут неприемлемые тормоза в конкретном браузере, дампать память и смотреть.

Ответы09852

14 июня, 16:32 84 1209852

>>1209851
Понял, спасибо!

14 июня, 19:28 85 1209933

>>1209790
Читни-ка стакца:
https://stackoverflow.com/questions/12528049/if-a-dom-element-is-removed-are-its-listeners-also-removed-from-memory

Ответы09941

14 июня, 20:05 86 1209941

>>1209933
Ну, пожалуй впизду евентхендлеры. Пускай сидит в памяти, если такой пидор.

Ответы09947

14 июня, 20:13 87 1209947

>>1209941
В смысле?
Там же написано, что всё убирается, в том числе и в jQuery (если и добавлял хендлер и удалял элемент через jQuery).

Ответы09963

14 июня, 20:38 88 1209963

>>1209947
При условии, что у тебя на эти элементы не осталось ссылок - в переменных, массивах и т.п.
Если ссылки есть - надо им присвоить null.

96 Кб, 1024x768
14 июня, 21:31 89 1209993

Двач как мне заставить flow не выебываться на бинд эвент лиснера в конструкторе?

Ответы09994

84 Кб, 1024x768
14 июня, 21:34 90 1209994

>>1209993
отбой

Ответы10059

88 Кб, 960x960
14 июня, 22:15 91 1210030

Почаны, почему vue.js настолько меньше весит чем реакты и ангуляры? В чём подвох? Можно использовать его в проекте не беспокоясь о том, что может всплыть какая-то хуйня?

Ответы10066

14 июня, 22:57 92 1210059

>>1209994
Используй class properties (babel plugin).
https://babeljs.io/docs/en/babel-plugin-transform-class-properties/

И пиши просто в теле класса:
handleChange = (e) => {...}

И state тоже в теле класса можно определять.
Т.е. конструктор получается просто не нужен.

В современных гайдах по реакту везде так пишут.
Включая авторов.

Ответы10064

14 июня, 23:00 93 1210064

>>1210059
Уточню - это чтобы this не биндить.
Самый кошерный способ.

14 июня, 23:02 94 1210066

>>1210030
Можно.

Алсо - реакт и ангуляр - это очень разные вещи.
Более разные, чем хуй и пизда, например.

65 Кб, 1133x728
15 июня, 02:07 95 1210165

>>1206689 (OP)
Посоны, я принёс вам таскабельный PGP: https://username1565.github.io/pgp/

Поддерживается:
- генерация ключей RSA, ECC
- цифровая подпись
- проверка подписи
- шифрование (с подписью или без)
- дешифрование (с проверкой подписи или без)
- шифрование файлов, в том числе и бинарных
- закачка файлов, в том числе и бинарных.

Исходник тут, можно скачать в ZIP-архиве: https://github.com/username1565/pgp

Может ещё чё-то исправить или допилить, а?

Ответы1019910353

15 июня, 08:38 96 1210199

>>1210165
Но ты же просто форкнул уже готовый проект и подправил стили с UI, что там еще делать?

Ответы10385

15 июня, 14:17 97 1210353

41 Кб, 871x6685 Кб, 251x2406 Кб, 251x251104 Кб, 960x720

>>1210165
>форкнул чужой проект
>поменял название с PGP Key Generator на PGP Suite
>Посоны, я принёс вам таскабельный PGP
У нас тут Денис Попов выкатил свежий релиз Болженос 2.0

Ответы1036310396

sage 15 июня, 14:28 98 1210363

>>1210353
Не нравится что-то — ну так не пользуйся и иди нахуй, пидораха. Или обязательно кукарекнуть надо, долбаёб?

Ответы10367

15 июня, 14:33 99 1210367

>>1210363
>пидораха
Ох уж эти проекции.
Алсо бамп обосратушкам :3

Ответы10396

102 Кб, 400x316
15 июня, 14:47 100 1210385

>>1210199
Я пхнул туда верификацию отдельной вкладкой, и в декрипт, сунул её тоже.
Base64 для файлов добавил и функции к закачке файлов.

Что делать? Думал вы подскажете, после всяких тестов.
Может, какой-нибудь Jasmine-тест прикрутить можно было бы ещё.

Но есть несколько намеченных направлений для фиксов...
1. Я не могу зашифровать сообщение на сайте https://smartninja-pgp.appspot.com
используя ключи, сгенерированные здесь.
А вот ключи сгенерированные там - шифруют нормально.
Это указывает на несовместимость генераторов, но я нифига не пойму при компарации kbpgp.
Тот человек пишет, что эта версия - SSH-адаптирована.
Возможно поэтому генераторы несовместимы, но у SSH - другие ключи. Пикрил.
Возможно было бы выдавать и их.

2. Когда сообщение зашифровано (публичным ключём RSA),
да ещё и с подписью (другим приватным ECC), в зависимости от очерёдности,
должно бы быть возможным либо дешифрование без проверки подписи,
либо проверка подписи и возврат шифрованного сообщения с фингерпринтом.
Ни первое, ни второе - не работает. Подозреваю подпись обоими ключами.

3. Я видел ещё, там, внутри, Diffie-Hellman'a - его можно было бы вынести - отдельной вкладкой.

Ответы10427

34 Кб, 894x618
15 июня, 14:55 101 1210396

>>1210353
А ты кто вообще, чё материшься и забей на него.
>>1210353
Ты там не прихуел?
Ещё и картинку прилепил.
Ты посмотри когда форк сделан, это во-первых.
Во-вторых, пикрелейтед
>>1210367
Ой, ну не бампай себя.

15 июня, 15:34 102 1210427

>>1210385
Прикрути ноду, разбей на нормальные компоненты и тестируй как человек.

Ответы10921

15 июня, 16:59 103 1210486

Это JavaScript-тред? А то тут как-то тухло. Я думал во фронтенде всегда большая движуха. Хм.
Объясните пожалуйста суть CORS. Вот допустим, запрещены в большинстве браузеров кроссдоменные XMLHttpRequest-ты.
Чтобы его выполнить, такой запрос должен удовлетворять двум требованиям:
1. Быть простым (т.е. POST/GET + 4 заголовка)
2. Ответ сервера должен в заголовках содержать Access-Control-Allow-Origin заголовок, который как бы намекает о том, что сайт работает с междоменными запросами и всё ок.

Если первое требование не выполняется, то, я так понял, запрос не совершается вовсе, что можно обойти с использованием предзапросов.

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

Но прикол в том, что запрос всё равно совершается! То есть, если по данному урлу есть какая-то логека, то она отрабатывает в любом случае, просто клиент получит ошибку.
В чём суть этой йоба-защиты, если она ничего не меняет и не предотвращает сами запросы?

Ответы10491

15 июня, 17:03 104 1210491

>>1210486
> В чём суть этой йоба-защиты, если она ничего не меняет и не предотвращает сами запросы?
Хацкер не получит данные.

Ответы10495

15 июня, 17:11 105 1210495

>>1210491
А, я понял. Защищают ведь не самого хацкера лол, а клиента, который посетит хацкеркий сайт.
Ибо данные, которые были получены от такого запроса до клиента так и не дойдут (браузер их парежит), поэтому они далее никоим образом обработаны быть не смогут.

Я видимо изначально неправильно понял. Благодарю.

Ответы10506

15 июня, 17:24 106 1210503

Сап, программач. Нужно написать часы для сайта в которых будет 30 часов в сутках, минуты и секунды стандарт. Как это реализовать?

Ответы10508

15 июня, 17:25 107 1210506

>>1210495
> никоим образом обработаны быть не смогут
Именно)
Пожаловаться, анончик.

Ответы10509

15 июня, 17:27 108 1210508

>>1210503
Имеешь переменную, которую инкрементишь раз в секунду. И все.
Дальше остатки от деления и деление без остатка.

Ответы10527

15 июня, 17:28 109 1210509

>>1210506
> Пожаловаться
пожалуйста, самофикс

15 июня, 18:01 110 1210527

>>1210508
>инкрементишь раз в секунду
>js
Разве что это на ноде делать, а затем - по вебсокету гнать.
Нет, правильнее таймстамп переводить с свой кастомный формат, и таки да, обновлять отображение раз в секунду.

16 июня, 01:33 111 1210736

Помогите разобраться с квантификатором или

Вот отсюда первый абзац https://www.regular-expressions.info/captureall.html:
When creating a regular expression that needs a capturing group to grab part of the text matched, a common mistake is to repeat the capturing group instead of capturing a repeated group. The difference is that the repeated capturing group will capture only the last iteration, while a group capturing another group that's repeated will capture all iterations. An example will make this clear.

Let's say you want to match a tag like !abc! or !123!. Only these two are possible, and you want to capture the abc or 123 to figure out which tag you got. That's easy enough: !(abc|123)! will do the trick.

Now let's say that the tag can contain multiple sequences of abc and 123, like !abc123! or !123abcabc!. The quick and easy solution is !(abc|123)+!. This regular expression will indeed match these tags. However, it no longer meets our requirement to capture the tag's label into the capturing group. When this regex matches !abc123!, the capturing group stores only 123. When it matches !123abcabc!, it only stores abc.

This is easy to understand if we look at how the regex engine applies !(abc|123)+! to !abc123!.

Открываю общий гайд, говорят, что + это 1 или больше повторений https://learn.javascript.ru/regexp-quantifiers:

+
Означает «один или более», то же что {1,}.

Например, \d+ находит числа – последовательности из 1 или более цифр:

var str = "+7(903)-123-45-67";

alert( str.match(/\d+/g) ); // 7,903,123,45,67

СООТВЕТСТВЕННО!

В примере выше 'abc123blablabla' не будет матча !(abc|123)! Но если добавить плюс, то матч будет. Но почему?! Ведь когда гайд делает !(abc|123)+! - по этой логике должна матчиться ИЛИ группа абц, повторенная 1 и более раз, ИЛИ группа 123, повторенная 1 и более раз. Ни повторений группы абц, ни повторений группы 123 здесь нет, и нет их объединения в одну группу.

Но по факту действительно матчится весь набор абц123 разом. КАК? Какого хуя! Ведь здесь нет ебаных повторений!
?

16 июня, 01:33 111 1210736

Помогите разобраться с квантификатором или

Вот отсюда первый абзац https://www.regular-expressions.info/captureall.html:
When creating a regular expression that needs a capturing group to grab part of the text matched, a common mistake is to repeat the capturing group instead of capturing a repeated group. The difference is that the repeated capturing group will capture only the last iteration, while a group capturing another group that's repeated will capture all iterations. An example will make this clear.

Let's say you want to match a tag like !abc! or !123!. Only these two are possible, and you want to capture the abc or 123 to figure out which tag you got. That's easy enough: !(abc|123)! will do the trick.

Now let's say that the tag can contain multiple sequences of abc and 123, like !abc123! or !123abcabc!. The quick and easy solution is !(abc|123)+!. This regular expression will indeed match these tags. However, it no longer meets our requirement to capture the tag's label into the capturing group. When this regex matches !abc123!, the capturing group stores only 123. When it matches !123abcabc!, it only stores abc.

This is easy to understand if we look at how the regex engine applies !(abc|123)+! to !abc123!.

Открываю общий гайд, говорят, что + это 1 или больше повторений https://learn.javascript.ru/regexp-quantifiers:

+
Означает «один или более», то же что {1,}.

Например, \d+ находит числа – последовательности из 1 или более цифр:

var str = "+7(903)-123-45-67";

alert( str.match(/\d+/g) ); // 7,903,123,45,67

СООТВЕТСТВЕННО!

В примере выше 'abc123blablabla' не будет матча !(abc|123)! Но если добавить плюс, то матч будет. Но почему?! Ведь когда гайд делает !(abc|123)+! - по этой логике должна матчиться ИЛИ группа абц, повторенная 1 и более раз, ИЛИ группа 123, повторенная 1 и более раз. Ни повторений группы абц, ни повторений группы 123 здесь нет, и нет их объединения в одну группу.

Но по факту действительно матчится весь набор абц123 разом. КАК? Какого хуя! Ведь здесь нет ебаных повторений!
?

Показать весь текст
Ответы1073710798

16 июня, 01:34 112 1210737

>>1210736
>с квантификатором "+"
хз как так автозамена на или заменила.

16 июня, 10:16 113 1210798

>>1210736
>по этой логике должна матчиться ИЛИ группа абц, повторенная 1 и более раз, ИЛИ группа 123, повторенная 1 и более раз
Ну так оно и матчит группу, повторенную один и более раз. В строке 123abc123 группа (123|abc) повторяется три раза.

Ответы10974

16 июня, 13:37 114 1210921

>>1210427
Та, ну, я просто вкинул, думал вы лучше запилите. Хэххэх...

16 июня, 15:10 115 1210974

>>1210798
Он путает матчинг и поиск, похоже.

49 Кб, 453x712
16 июня, 19:33 116 1211217

>>1206689 (OP)
цените че нашел

16 июня, 22:58 117 1211395

пацаны, чем ебаное модуло отличается от ремайндера?

Ответы11457

17 июня, 00:19 118 1211444

В офисах как принято работать с Git? В VSC практикуют? Или принципиально важно выучить все эти ебучие консольные команды?

Ответы1148511554

17 июня, 00:34 119 1211457

>>1211395
В ЖС только ремайндер, который иногда тоже называют модуло. Знак у результата будет как у делимого.
5 % 2 == 1
5 % -2 == 1
-5 % 2 == -1
Модуло есть в других языках. Там вроде знак от делителя.

17 июня, 01:08 120 1211485

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

17 июня, 01:13 121 1211492

RxJS с реактом не используют? Вот я там увидел полезные фичи, а потом вспомнил, что я это обходил просто используя стейт, играя с тру\фолс, чтобы предотвратить ненужные действия. То есть мне такого и нужно придерживаться, а RxJS больше для ангуляра подходит, где уже все по-другому?

И еще вопрос. Что используете из ramda? Какие мастхев методы есть и на какие стоит обратить внимание? Можно и из лодаша называть. Кроме пайпов и карринга.

17 июня, 08:40 122 1211554

>>1211444
Вообще не представляю, как и нахуя работать с гитом через UI. Разве что изменения смотреть, а так в сто раз легче и быстрее написать команду. Что там учить-то? git add, git commit -m, git commit --amend, git checkout, git merge, git pull, git reset, git push, git status - все, что тебе понадобится в 90% случаев. Половина из них говорит сама за себя

Ответы1155811598

17 июня, 08:57 123 1211558

>>1211554
так-то две кнопочки в иде быстрее жать, чем скрывать иде, открывать консоль, писать три подряд команды, скрывать консоль. + без юи ты не видишь нормально кто сколько закоммитил, когда разошлись ветки, кто насрал в мердже и тд

Ответы11561

17 июня, 09:16 124 1211561

>>1211558
Интересно, как можно работать без открытого терминала? В динамическом языке, например, хуй настроишь нормальный test-runner в IDE, легче уж в терминале команду выполнить. И напечатать команду всегда быстрее, чем мышкой кликать по залупам, выбирать, что закоммитить, что заресетить, что выкинуть и т.д. UI нужно только чтобы визуализировать изменения.

Ответы11579

17 июня, 10:46 125 1211579

>>1211561
> Интересно, как можно работать без открытого терминала?
Макаки же, ну

17 июня, 11:59 126 1211598

>>1211554
Я не пойму, использовать циклы и if..else признак говнокодера? Какой бы курс не смотрел, все стараются избегать подобных конструкций

Ответы117081171011737

17 июня, 12:00 127 1211599

p.s. этот пост н кому не адресован, просто ответ приклеился

26 Кб, 524x393
17 июня, 14:17 128 1211689

Сап, посоны.

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

Ответы116901194811953

17 июня, 14:19 129 1211690

>>1211689
> иначе
This

Ответы11692

17 июня, 14:21 130 1211692

>>1211690
А подробнее немного? Или дай ссыль на какой-нибудь страницу какого-нибудь learn.javascript.ru , где я мог бы прочесть, как именно такую форму сделать.

Ответы11693

17 июня, 14:22 131 1211693

>>1211692
htmlbook.ru

Ответы11695

17 июня, 14:23 132 1211695

>>1211693
Конкретизировать можешь "что"/"чего". Встройка хтмл что ли?

Ответы11696

17 июня, 14:24 133 1211696

>>1211695
Да

Ответы11703

17 июня, 14:31 134 1211703

>>1211696
Но если сайт не мой, а сторонний, то как правильно встроить хтмл? Форму-то я создам, разберусь с отправкой данных из неё.

Ответы11716

17 июня, 14:33 135 1211708

>>1211598
if else не говнокод, на одних тернарниках не разрулишься

циклы не очень по двум причинам, во-первых это зависимость от "внешних" переменных, типа каунтеров для for, либо условия для while, отсюда вытекает еще несколько грустных особенностей. во-вторых сейчас набирает популярность функциональный подход, а циклы - императивщина как есть.

17 июня, 14:36 136 1211710

>>1211598
С чего ты взял? Если совсем простое выражение, то можно заменить if..else на тернарный оператор, циклы обычно обернуты в функции поудобнее, например map filter reduce у массивов, но это тот же самый цикл. Без for..in ты объект не переберешь.

Ответы11732

17 июня, 14:38 137 1211716

>>1211703
xss, либо ручками каждый раз встраивай свой html-код в страницу того сайта

Ответы1175011925

17 июня, 14:59 138 1211732

>>1211710
> Без for..in ты объект не переберешь

можно пройтись по массиву ключей

Ответы11740

17 июня, 15:06 139 1211737

>>1211598
https://www.youtube.com/watch?v=P3fqetErxjA
Признак говнокодера — пытаться выёбываться в коде.

https://jrsinclair.com/articles/2017/javascript-but-less-iffy/
if есть, чем заменить. Но стоит стремиться к тому, чтоб код был человечным, походил на простые предложения. В таком случае if подходит лучше всего.
Стоит избегать сложных условий. Если больше одного оператора или регулярка, то упаковать в функцию с понятным названием:
if (isValid(email))
Чаще всего можно избавиться от else. Тогда ветвление, перегружающее мозги, станет простой последовательностью:
if (cond1())
if (cond2())
Код должен читаться как предложение, без подрубания интерпретатора в голове. Если такое внезапно помогут сделать свич или тернарник — настало их время.

Циклы чаше всего нужны при работе с коллекциями.
https://jrsinclair.com/articles/2017/javascript-without-loops/
Опять же, методы коллекций дадут код, более похожий на человеческие предложения:
отобразить пользователей как их айдишники
users.map(user => user.id)
Вспоминая прошлый абзац,
кто-то из пользователей админ
users.some(isAdmin)
Если коллекция большая, а задача нетривиальная, может потребоваться для эффективности таки использовать циклы, ветвление, байтоёбство. Ты уже догадался, нужно инкапсулировать всё это дело в функции с читаемым названием:
users.reduce(comlexData, store);
function complexData(store, user) {for { for { switch {} }}}

Ответы11783

17 июня, 15:08 140 1211740

>>1211732
for...in и так проходится по массиву ключей, просто более удобный синтаксис.

Ответы11863

17 июня, 15:28 141 1211750

>>1211716
Оке, спасибо.

17 июня, 16:17 142 1211783

>>1211737
>Чаще всего можно избавиться от else. Тогда ветвление, перегружающее мозги, станет простой последовательностью:
>if (cond1())
>if (cond2())

Хуйня.

323 Кб, 1920x1080
17 июня, 17:39 143 1211845

Если я хочу создать объект CSS класса, то
let cell = document.createElement("cell");
подойдет? Он создаст именно такой объект как на пике?

Ответы11855

17 июня, 17:46 144 1211853

Почему джаваскриптобояре так любят рекурсию?

Ответы11856

17 июня, 17:46 145 1211855

>>1211845
Не создаст.

Ответы11857

17 июня, 17:47 146 1211856

>>1211853
Прост

17 июня, 17:48 147 1211857

>>1211855
Как надо делать? Я весь вечер пытаюсь, но не дается мне.

Ответы11861

17 июня, 17:51 148 1211861

>>1211857
Ты создаешь пустой элемент, которого нет в стандарте, в структуре html. Тебе же необходимо генерировать класс.

На жс это будет выглядеть совершенно иначе.

Ответы11864

17 июня, 17:53 149 1211863

>>1211740
мы вам перезвоним

keys берет только собственные свойства объекта, а for in лезет в прототип. Можно жидчайше сирануть в этом месте в определенных ситуациях.

Ответы1192911932

17 июня, 17:53 150 1211864

>>1211861
То есть придется создать один элемент и его помножить?

17 июня, 17:58 151 1211867

Поспорил с батей на косарь, что сделаю игру в крестики и нолики в которую он не сможет победить. У меня есть шансы получить КОСАРЬ?

Ответы1186911875

17 июня, 18:02 152 1211869

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

Ответы11912

17 июня, 18:12 153 1211875

>>1211867
М И Н И М А К С
https://github.com/ahmadabdolsaheb/minimaxarticle/blob/master/index.js

Ответы11912

17 июня, 18:48 154 1211912

>>1211875
>>1211869
Спасибо, батя уже готовит косарь.

17 июня, 19:03 155 1211925

>>1211716
Хотя нет, погоди. Ты меня наёбываешь. Хочешь сказать, что с помощью JS нельзя изменить страницу какого-либо сайта, чтобы добавить какой-нибудь элемент? Я же не на стороне сервера это делаю, а на стороне своего компьютера.

Ответы11930

17 июня, 19:12 156 1211926

Сап, хотел написать дампер файлов с треда, чтоб локально хранить дамп треда.
Первую версию написал на nodejs, в хедеры добавлял примерно те же хедеры и куки что и отправляет мой браузер даже usercode_auth, но почему то небыло доступа к gg,h,e и прочем 18+ доскам. Я на это забил. Но почему то даже при дампинге с b треда у меня половина файлов бьётся. Код вот https://pastebin.com/6P700q00 .
Сделал синхронную загрузку файлов и со sleep между файлов. Но все равно блять, они бьются. че за хуйня ? Делал синхронную загрузку чтоб время было между реквестами. Ибо получается ебучий дудос (5 реквестов в сек лол) и вдруг Абу посчитает что это дуос и заблочит

17 июня, 19:16 157 1211929

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

Ответы1193211933

17 июня, 19:17 158 1211930

>>1211925
Я этого не говорил. Можешь и через js всё это делать.

Ответы11940

81 Кб, 1077x379
17 июня, 19:17 159 1211932

>>1211863>>1211929
Только посмотрите на эту блевоту.

17 июня, 19:17 160 1211933

>>1211929
где еще пишут на ооп? Класов не видел уже на фронте милиард лет, на беке вот первый раз буду typeORM чекать, декораторы там все дела

Ответы119371193812218

17 июня, 19:20 161 1211937

>>1211933
TypeScript йопта.

Ответы11943

17 июня, 19:21 162 1211938

>>1211933
Интересно, как ты собрался писать без ООП на ОО-языке? Нет, я понимаю конечно, что и на джаве можно в 100% функциональном стиле писать, но нахуя стрелять себе в ногу?

17 июня, 19:22 163 1211940

>>1211930
Так как тогда добавить блок или редактировать, например, на том же mail.ru? Как правильно называется сие действие? Мне банально нужна форма с полем для ввода текста и кнопкой.

Ответы1194611962

17 июня, 19:23 164 1211943

>>1211937
вот как раз захожу в класы, на тсе уже года полтора пишу чисто в функциональном стиле. НА БЭКЕНДЕ :3

17 июня, 19:24 165 1211946

>>1211940
Я не буду за тебя реализовывать твою хотелку.

Ответы11947

17 июня, 19:25 166 1211947

>>1211946
Где я тебя прошу её реализовывать за себя? Ни в одном посте с самого начала это не было. Я попросил дать ссылку на урок или хотя бы ключи для поиска.

17 июня, 19:26 167 1211948

>>1211689
Бамп вопросу.

11 Кб, 415x406
17 июня, 19:37 168 1211952

Котаны, а как перекатится в новомодный js после двух лет на ruby? С чего начать? Есть ли тут бывшие рубисты? Расскажите свои кулстори.

Ответы1198312010120221207212207

17 июня, 19:39 169 1211953

>>1211689
https://msdn.microsoft.com/en-us/library/aa767736(v=vs.85).aspx

Ответы11959

17 июня, 19:43 170 1211959

>>1211953
Я хз, что ты этим сказать хотел. Выше я уже писал, что ни разу не программист. Ты можешь нормально сказать, что гуглить, а не кичиться тем. что ты знаешь js, а кто-то нет?

Ответы11963

17 июня, 19:45 171 1211962

>>1211940
Жмешь правой кнопкой на странице и выбираешь "Inspect Element", после чего редактируешь html-контент страницы как хочешь.

Ответы11976

17 июня, 19:47 172 1211963

>>1211959
https://habr.com/post/52346/ вот норм статья

17 июня, 20:10 173 1211976

>>1211962
Бля. Я сделаю скрипт, вставлю его в хром, а именно в тэмперманки. Нахуя мне его руками каждый раз вставлять? Вопрос в том, какие теги/команды/функции/хуй знает, что ещё встраивают ту же хтмл разметку или ксс из этого скрипта на страницу, на которой он запускается.

Ответы11979

17 июня, 20:12 174 1211979

>>1211976
https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/Introduction

Ответы11986

17 июня, 20:17 175 1211983

>>1211952
Попробуй начать с прочтения документации.

17 июня, 20:23 176 1211986

>>1211979
Это актуально, если бы на страницу был заранее встроен скрипт или путь к нему прописан.

Ответы12000

17 июня, 20:43 177 1212000

>>1211986
Если ты хочешь что-то вставить в дом, то тебе очевидно нужны методы работы с домом. Хоть как свой скрипт вставляй.

Ответы12003

17 июня, 20:46 178 1212003

>>1212000
> Хоть как свой скрипт вставляй.
Так с этим вопросом я сюда и пришёл. Сколько ни гуглил так и не нашёл, как его вставить. Везде предлагается только <script></script>. Руками, естественно не подходит.

17 июня, 21:05 179 1212010

>>1211952
>в жс с руби
Ты че ебач чтоле?

Ответы16053

17 июня, 21:29 180 1212022

>>1211952
Берешь да перекатываешься. Язык даже попроще будет. Только готовься к функциональщине.

17 июня, 22:59 181 1212072

>>1211952
Вообще-то, именно в JS и перекатились все хипстеры-смузихлёбы рубисты.
Или ты думал откуда всё это в JS?

Ответы12186

18 июня, 07:08 182 1212186

>>1212072
Я перекатился(потенциально) в охуенный эликсир, а на жсе сделал пару простых серверов и сейчас перехуячиваю фронт для старого рельсо проекта на реакт, чтобы не было так больно работать с тем легаси-говном, что там накопилось в ассетах. Ну и сам проект перевожу на эликсир потихоньку, потому что давно нужен полный рефактор, так что хули бы и не переписать на новый стек. Надеюсь к концу года будут заметные результаты.
рубист не-смузихлеб

Ответы12187

18 июня, 07:17 183 1212187

>>1212186
>несмузихлеб
>эликсир
Ага.

18 июня, 08:50 184 1212207

>>1211952
>Котаны, а как перекатится в новомодный js после двух лет на ruby? С чего начать?

С понимания что нода - это однопоточный эвент-луп поверх восьмеры и libuv и весь твой код, который не из батареек, его нахуй блокирует. Потому что в батарейках, как правило, попердолились с асинхронностью за тебя.

Чтобы не блокировал - тебе нужно чтобы твой код регулярно совершал антипаттерн многопоточного программирования - то бишь ложился нахуй спать каждые n итераций - в результате чего получается что пердак будет гореть только у одного клиента, который будет полтора часа дожидаться отчета о доходах/расходах компании в разрезе временных отрезков, а не у всех остальных, из за того что бабаманя из бухгалтерии положила весь твой бэкенд нахуй.

Есть еще конечно,встроенный хластер, но он всего лишь запускает 8 отдельных экземпляров твоей аппликухи и обеспечивает свой маняраундробин-фейловер (с этой же задачей справляется гораздо лучше нужник и http на unix domain sockets), но его отличие от первого варианта в том, что таких бабмань-бухгалтерш понадобится для убивания апликухи не одна как в первом случае, а по количеству процессоров.

ES6 и ES2015 в этом плане принесли возможность использовать промисы и yield, что несколько облегчит твою жизнь, но необходимость превращать свой код в лапшу из setTimeout() по прежнему остается, как только твоя бизнес логика вырастет за пределы "склеить батарейки по Readme.md".

Ответы12210

18 июня, 08:56 185 1212210

>>1212207

Большинство хипстоты ничего кроме

>склеить батарейки по Readme.md

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

А описанное тобой обычно на интырпрайзной жабе пишут.

18 июня, 09:34 186 1212218

>>1211933
>где еще пишут на ооп? Класов не видел уже на фронте милиард лет
А реакт по-твоему что?

Ответы1224412277

18 июня, 10:57 187 1212244

>>1212218

Тот случай, когда ООП обусловлено сутью библиотеки (мапинг кусков хтмл в виджеты). Хуизнес-логика один хер - это асинхронные колбеки/асинк с промисами, с которыми ооп не дружит.

Ответы12289

18 июня, 11:51 188 1212277

>>1212218
В оригинале реакт вообще был на Standard ML написан.
ООП интерфейс взяли при порте на JS чтобы народ не спугнуть, да для оптимизации под JS реалии

Ответы12289

18 июня, 12:11 189 1212289

>>1212244>>1212277
Охуеительное у вас представление об ООП уровня восторженного ньюфага "ФП хайпят, значит ФП это охуенно а ООП - говно". Объект - это набор методов с внутренним стейтом, только и всего. Если вы раньше хуячили наследование наследования наследования и называли это "ООП", то это не проблема ООП и вы так же будете хуярить говнокод в любом функциональном языке.

На жсе писать в тру-функциональном стиле нерационально и практически невозможно. Композиция функций, лямбы, монады и т.д - это не ФП. Это его элементы, которые прекрасно уживаются с объектами и классами. Точно так же, как наследование, полиморфизм и прочие элементы ООП прекрасно применяются в функциональных языках. Хорошая программа должно использовать и то, и то.

Ответы12291

18 июня, 12:14 190 1212291

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

18 июня, 12:25 191 1212299

Объясните момент с регулярками.

Вот есть какая-нибудь var string='abc123'.
В этой стр, допустим, можно выделить (abc)(123) // $1$2
Вот так можно захватить группы в .test, .match, .replace.

А вот как мне эти захваченные группы засторить в переменную?

Т.е. грубо говоря
1. Действие один - где-то захватываю группы (н-р var RegExp=(abc)(123) или хз
2. Действие второе вынести группу $1 или группу $2 в переменную. Чтобы потом можно было реплейсить в стр переменной, в которую засторили группу 1 или группу 2 плюс совершили действие какое-то.

Ответы12313

18 Кб, 508x69
18 июня, 12:44 192 1212313

>>1212299

Ответы12330

18 июня, 12:53 193 1212319

Объясните мне, котаны, чтому в вашем жабоскрипте такие хуёвые числа. Бабосик считать - рви пердак, числа больше сраного квадрилиона (может пилить экономическую стратегию хочу, или там круд для банка ZOG) - используй другие библиотеки и рви пердак .add(number2) вместо оператора сложения, и так блядь весь код потому что мне большие бабосики складывать надо. Чому такая хуета, да и вжабке обычной тоже, все пиздят за интырпрайз а как бабосики считать - так рви пердак, где ж этот ваш интырпрайз?

Ответы1233912379

18 июня, 13:02 194 1212326

Решил через колбэк в реплейс.

18 июня, 13:04 195 1212330

>>1212313
Спс буду иметь в виду. Но уже ебнул через колбэк в реплейс.

18 июня, 13:14 196 1212339

>>1212319
BigInt скоро подъедет. Уже в последнем хроме есть.

sage 18 июня, 14:07 197 1212379

>>1212319
BigDecimal и BigInteger уже давно есть в джаве, долбаёб

Ответы12558

18 июня, 16:41 198 1212558

>>1212379
Ну так он и сказал, что нужно использовать .add вместо оператора

18 июня, 16:54 199 1212574

тест

18 июня, 16:58 200 1212581

Реактоблядки, поясните такую вещь.

Есть stateful компонент item-editor, в нём два text input и кнопка save.
И есть список items.
При нажатии на строку этого списка в item-editor передаётся выбранный item как prop.
При этом value у input'ов заданы из внутреннего стейта + onChange.

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

getDerivedStateFromProps() - не то.
Делать сайд-эффект в shouldComponentUpdate() - менять там state из нового prop?

Ответы12588

18 июня, 17:01 201 1212586

Внимание вопрос знатокам.
Задает полный нубас.
Юзаю я значит Math.random(); и всплыл такой вопрос - по нему совсем малая погрешность, т.е. на 1000 итераций, если брать, скажем, 0.15 как пограничное число, выдаст что-то вроде 144 тру и 856 фолс.
Это Node.js, почему у него ядро такое предсказуемое?
Я сейчас еще запилю хвататель стриков, посмотрю сколько подряд выхлопов дает тру/фолса, но вангую что не много, при таких=то показателях.
Вопрос в догонку, есть ли другие варианты рандома?

Ответы12608

18 июня, 17:05 202 1212588

>>1212581
Вынеси стейт инпутов в item-editor, раз ему нужно знать об этих изменения, очевидно.

Ответы12593

18 июня, 17:10 203 1212593

>>1212588
Он там и есть.

Проблема в том, что он должен меняться при смене prop у item-editor - когда выбрали новый item.
Но, нормально это можно сделать 1 раз - в конструкторе.

Ответы12596

18 июня, 17:13 204 1212596

>>1212593
>При этом value у input'ов заданы из внутреннего стейта + onChange.
>Он там и есть.
Че? Код давай

Ответы12600

18 июня, 17:19 205 1212600

>>1212596
https://pastebin.com/yqWuHPZA

Ответы1266212693

18 июня, 17:32 206 1212608

>>1212586
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random
>does not provide cryptographically secure random numbers.

https://nodejs.org/dist/latest-v10.x/docs/api/crypto.html#crypto_crypto_randombytes_size_callback

Ответы12625

18 июня, 18:08 207 1212625

>>1212608
Мне не для безопасности, просто в Питоновском мате приходилось делать костыль для обрезания долгих стриков, при "шансе" в 1% могло выдать и 300 и 400 фолсов подряд.
Сейчас почитаю что скинул, спасибо за внимание.
Обезьяна конченная зачем ты прокси банишь на /pr/?

18 июня, 18:36 208 1212635

Какой метод перебирает массивы резче - файнд или фильтор?

Ответы12637

18 июня, 18:38 209 1212637

>>1212635
Фильтр

18 июня, 19:12 210 1212662

>>1212600
https://reactjs.org/blog/2018/06/07/you-probably-dont-need-derived-state.html
И ты каждый раз в конструкторе ставишь в state одни и те же статичные значения, а не полученные из props

Ответы12676

18 июня, 19:37 211 1212676

>>1212662
>И ты каждый раз в конструкторе ...
Да неужели, лол.
Естественно - на момент создания компонента редактируемый item не выбран.

За ссылку - спасибо.
Это именно то, что нужно.
В итоге всё, как обычно, сводится к lifting state up.

Реакт, конечно, лютая opinionated xyuta.
Реально, прямо физически утомляет всё это.
Одного китайца, похоже, так утомило, что он аж целый фреймворк написал, лол.

Ответы1267912693

18 июня, 19:42 212 1212679

>>1212676
Ну так поставь this.props.item.id || '', не? И defaultProps = { item: {} }

Ответы12694

18 июня, 19:58 213 1212693

>>1212600>>1212676
https://pastebin.com/ZgfbyWgv Так попробуй, должно работать.

18 июня, 19:58 214 1212694

>>1212679
Да это понятно, но, проблема же не в этом.
В итоге, при создании всё равно соответствующие поля в стейте будут пустые.
Вопрос был - как менять state при изменении props.

В принципе, componentWillReceiveProps() - это решение.
(И getDerivedStateFromProps() - нихуя не замена ему, как они пишут.)
Но, они говорят - это антипаттерн, выносите состояние (и обработку его изменений) выше.

Алсо, умиляет, что тот блог-пост всего 10 дней назад написан.

На самом деле - этот пример (и тот, что в блог-посте) - это самая мякотка Реакта, которая показывает всю глубину ебанизма.
Снова вспоминаются всякие афоризмы на тему pure = poor, лол.

Ответы12699

18 июня, 20:03 215 1212699

>>1212694
Итем лист и item-editor обернуты в родительский компонент. Когда ты жмешь на итем в списке, родительский компонент апдейтит свой стейт {selectedItem: item} и соотвественно ре-рендерит все дочерние компоненты, включая item-editor, куда передает item={selectedItem}. editor инициализируется заново с новыми props и проставляет себе новый state, соотвественно перерендеривая все дочерние инпуты с нужными тебе значениями. В чем проблема, что я упускаю?

Ответы12713

18 июня, 20:19 216 1212713

>>1212699
Item-editor не создаётся заново при этом.
Конструктор не вызывается.
Стейт не меняется.

Надо использовать componentWillReceiveProps(newProps).
Или выносить стейт и onChange в род. компонент, а item-editor делать функцией, как в примере в том посте по ссылке.

C getDerivedStateFromProps() у меня (вчера) не получилось, надо попозже ещё попробовать, возможно, я чего-то недопонял.

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

Потому, что Vue мне кажется в разы более практичным.
И кроме удовольствия других эмоций не вызывает.
Но, у React мне нравится инструментальная поддержка, и вообще то, что это чистый JS.

Но, если за эти ништяки надо заплатить слишком дорого - то пусть оно идёт на хуй.
Потому, что для Vue инструментальная поддержка тоже неплоха (для single file components), а бойлерплейта там в разы меньше. И куча дополнительных ништяков. И можно даже писать в react-стиле на JSX (но неинтересно и не нужно, в большинстве случаев).

Ответы1273812784

98 Кб, 1280x720
18 июня, 20:45 217 1212738

>>1212713
>Потому, что Vue мне кажется в разы более практичным.
Вьютух становится всё изобретательней. Уже целую многоходовочку с лифт-стейтом разыграл, как по нотам.

Ответы12848

18 июня, 21:35 218 1212784

>>1212713
Все, я разобрался. Да, думал, что конструктор вызывается при каждом рендере, потому что с реактом работаю недавно, но в принципе проблема понятна - ты пытаешься менять один и тот же логический стейт(значения инпутов) из двух разных мест, вот реакт и выебывается, потому что локальный стейт должен меняться только изнутри объекта, а не откуда попало.

18 июня, 22:47 219 1212848

>>1212738
> Вьютух
Ты имеешь в виду некоего хуя, который по весне форсил тут Vue?
Я не он, лол.

>как по нотам
По хуётам.
Просто у меня стиль работы такой - докапываться до самой мякотки. И я, похоже, её нашёл.
Всегда есть какая-то одна проблема, которая тянет за собой остальные.

Костыль в виде getDerivedStateFromProps() - это и есть попытка это исправить. Надо с этим разобраться, пока не понял, будет ли с этого толк.

Что касается практичности, Vue - охуенно практичная вещь. И весьма сбалансированная.
И значительно менее opinionated, чем реакт.
Пока реактоблядки разбираются где паттерн, где антипаттерн и хуярят тонны бойлерплейта - на Vue просто пишут компактный работающий код.

Тут главное, чтобы в будущем они не понаделали какой-нибудь хуйни, в попытке улучшить хорошее.

А реакт имеет то преимущество, что ломать там просто нечего, лол.

Ответы1287513495

18 июня, 23:15 220 1212875

>>1212848
>Костыль в виде getDerivedStateFromProps()
Это не костыль, это возможность для реализации edge-cases. Твой случай решается по-другому, выше ссылка уже была. Конкретно объясни, что в этом решении тебе не нравится и зачем ты хочешь менять стейт и снаружи компонента, и внутри, когда можно его вынести в одно место и сразу видеть, все случаи, как и из-за чего он может измениться, а не гадать по кофейной гуще с дебагером.

Ответы12931

19 июня, 00:10 221 1212931

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

Речь идёт о низкоуровневом, "техническом" стейте - необходимом для функционирования controlled input.
И мне бы хотелось, чтобы он был инкапсулирован там, где он используется.
И я не хочу его менять, я хочу его за-менять, полностью.
А мне предлагают всё это говно тащить на самый верх, ибо иначе (через componentWillReceiveProps()) - "антипаттерн".

И тут мы приходим к интересному выводу.
Дело в том, что Реакт - это библиотека (не фреймворк).
И делает она только view. Больше там нет нихуя.

И совершенно _любой_ (встроенный) стейт в Реакте - технический, низкоуровневый. Предназначенный исключительно для функционирования внутренней механики view.
И делать на нём какую-либо бизнес-логику совершенно неправильно.

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

Короче, смысл в том, что в чистом виде Реакт _вообще_ не пригоден к использованию. К нему _обязательно_ , сразу же. надо наворачивать что-то для поддержки бизнес-логики. Редукс, МобИкс, event bus, что угодно.

И это-то мне и не нравится.
Хотя, этот недостаток, по сути - ни что иное, как продолжение достоинств.

Короче, как я уже тут писал - слишком низкоуровнево и слишком затратно.

Ответы130271307113165

19 июня, 08:27 222 1213027

>>1212931
Согласен, реакт _параша_ та еще.

19 июня, 10:54 223 1213071

>>1212931
>Речь идёт о низкоуровневом, "техническом" стейте - необходимом для функционирования controlled input.
У инпута единственный стейт - это его значение. То, что ты можешь его менять через onChange, не значит, что он технический. Просто браузер предоставляет тебе функционал для детекта ввода от юзера, который реализован через эвент. Если ты хочешь детектить другие эвенты(клик по списку итемов) и изменять значения инпута соотвественно, то тебе нужно каким-то образом связать инпут еще и с тем эвентом. Реакт считает, что все эвенты, которые влияют на стейт компонента, должны объявляться и триггериться в одном месте. Для этого и нужно lifting state up, чтобы обернуть связанные между собой компоненты и объявить эти эвенты. Я по UI не эксперт, так как работаю в основном с серверной частью, но по-моему это вполне здравая идея.

>Дело в том, что Реакт - это библиотека (не фреймворк). И делает она только view. Больше там нет нихуя.
Это должно было стать понятно сразу после прочтения доков. Из-за этого он мне и понравился, но понятное дело, что если ты начинаешь в любых вьюхах(не только реактовских) хуячить что-то кроме презентативной логики "взять то, поставить туда", то рано или поздно останешься с кучей неподдерживаемой хуйни. Об этом знает любой, кто работал с каким-то популярным MVC фреймворком.

Ответы13165

React + Redux = MVC? 19 июня, 12:58 224 1213136

Реакт-компоненты это View.
Стор это Model.
Reducers = Controllers.
Всё так?

Ответы1313813148

19 июня, 13:01 225 1213138

>>1213136
MVC в современном понимании - это полная хуйня, которая не работает, как только твое приложени становится чуть сложнее палки. Ну нельзя всю логику запихнуть в модели/контролеры/вьюхи и не остаться с кучей говнокода, который не принадлежит ни к чему

Ответы13148

19 июня, 13:19 226 1213148

93 Кб, 390x22134 Кб, 390x219

>>1213136
>Всё так?
Ну, это очень вольное толкование, лол.
Вообще-то, Redux (Flux) - это альтернатива MVC.

https://habr.com/company/tuturu/blog/321820/
http://tech.toptable.co.uk/blog/2015/01/01/explaining-flux-architecture-with-macgyver-dot-js/
https://www.infoq.com/news/2014/05/facebook-mvc-flux
google: flux architecture vs mvc

>>1213138
Всё так и есть.

19 июня, 13:50 227 1213165

>>1212931
>>1213071
Я тут переосмыслил эту тему.

На самом деле, то, что я пытался делать с Реактом - это как раз таки попытка сделать классическое "клиентское" MVC.
Там, как раз, бизнес-логика вперемешку со техническим стейтом.
Взять, хотя-бы, Java Swing.
Вот тут эта проблема хорошо описана:
https://habr.com/company/tuturu/blog/321820/

А Реакт для MVC не годится.
Т.е. можно, но некрасиво получается.
Да и незачем, лол.

Конкретная же описанная проблема решается через ресет стейта под новый item в componentWillReceiveProps(). Всё работает просто замечательно.

19 июня, 16:06 228 1213203

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

Профит с этой темы ооооочень хороший

11 Кб, 882x135
19 июня, 16:26 229 1213213

Почему хроманя с последней версии неправильно конвертирует строку в дату? Какой еще часовой пояс +03:06, они там совсем ебанулись в своем гугле? В лисе все нормально.

Ответы1321613257

19 июня, 16:34 230 1213216

>>1213213
Нехуй было в футбол России проигрывать.

Ответы13221

19 июня, 16:38 231 1213221

>>1213216
Но я в России, хуй пойми откуда он берет Саудовскую Аравию.

19 июня, 17:23 232 1213257

>>1213213
Это санкции против России. А вообще попробуй добавить .toLocaleString()

82 Кб, 624x612
19 июня, 18:08 233 1213276

Есть такая json DB, какой должен быть запрос для изменения например комментария отдельного элемента?

719 Кб, 1080x1920
19 июня, 18:27 234 1213283

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

Профит с этой темы ооооочень хороший

Ответы1328413325

19 июня, 18:28 235 1213284

>>1213283
Джаваскрипт и джава разные вещи, для справки.

Ответы13306

19 июня, 19:07 236 1213306

>>1213284
В этой проге скорее всего джава скрипт

19 июня, 19:10 237 1213311

>>1206689 (OP)
Зацените охуенную штуку:
https://vimsical.com/

Пишешь код (+ чтмл, цсс), он его исполняет и делает из него интерактивный скринкаст. Может я слоупок, но я охуел, даже не думал, что так можно, лол.

Попенсорсно (код на кложе+кложескрипте): https://github.com/vimsical/vimsical

19 июня, 19:23 238 1213325

>>1213283
pn!7rakopANUSmaia6nlPUNCTUMrBm9u

Ответы13326

19 июня, 19:23 239 1213326

>>1213325
Проебался.
praU+|kop29ANUSmUOiailPUNCTUMrS9.u

Ответы13330

19 июня, 19:33 240 1213330

>>1213326

Напиши в телегу @igergg

19 июня, 20:06 241 1213360

JSAnon, подскажи плз нормально ли так сохранять контекст для TypeScript - https://jsfiddle.net/1b68eLdr/24496/ все работает, но нет ли какого оверхэда, а то я нуб, по сравнению с такой реализацией https://jsfiddle.net/1b68eLdr/24501/ ?

Ответы13368

19 июня, 20:16 242 1213368

>>1213360
Вопрос только - нахуя его сохранять в классе? У тебя при каждом созданном объекте This.self будет перезаписываться.

Ответы13387

19 июня, 20:33 243 1213387

>>1213368
Точно, спасибо, анон. Как то провтыкал это. Как тогда лучше следить за этим this, есть какой то лайфхак?

Ответы13396

19 июня, 20:49 244 1213396

>>1213387
Я не очень понял, чего ты хочешь?
Зачем следить за this?
Это ссылка объекта на себя, она не меняется.

Ты хочешь создавать объекты и запоминать их ссылки? Тогда это называется Factory pattern.

Ответы13402

19 июня, 20:57 245 1213402

>>1213396
>Это ссылка объекта на себя, она не меняется.
Это в других языках, в JS же this ссылается на контекст, а не на инстанс объекта.

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

Ответы13409

19 июня, 21:08 246 1213409

>>1213402
Понятно.
Тебе надо self = this.
Это руками, везде, где this может быть неправильным.

Напр. тебе из метода объекта надо вызвать колбек, и внутри колбека обратиться к объекту.
Тогда в методе перед вызовом колбека пишешь const self = this.
А потом уже в колбеке self.someProp ...

Также, можно привязывать колбек к this объекта.
Точнее, создавать новый колбек, привязаный к нужному this:
this.boundCallback = someCallback.bind(this);
В реакте так делают - в конструкторе класса.

Ответы1341313440

19 июня, 21:16 247 1213413

>>1213409
>Тогда в методе перед вызовом колбека пишешь const self = this.
кстати, мое изобретение :^)

Ответы13427

19 июня, 21:51 248 1213427

>>1213413
Дед, ты же умер в 2009.

19 июня, 22:16 249 1213440

>>1213409
Можно ещё и делать someCallback.call(this, arg1, arg2, ...) или someCallback.apply(this, argsArray).

Так что, в большинстве случаев использовать self = this просто не нужно.

20 июня, 00:20 250 1213477

Анон, я совсем даун. Объясните как работает обработка ошибок в callback-функциях в контексте резервации первого аргумента для ошибок. Вот на примере это не могу понять нихуя https://stackoverflow.com/a/19739899

Ответы13489

60 Кб, 500x500
20 июня, 00:48 251 1213483

Как на имиджбордах через js загрузить изображение в пост?

Ответы13502

20 июня, 01:19 252 1213489

>>1213477
ну, при ероре у тебя функция вернет ерор, при результате, результат. ты тупа смотришь, не ерор ли это

20 июня, 01:40 253 1213495

>>1212848
Vue не "менее opinionated", а намешивает ангуляр с реактом, чтобы ублажить и тех и тех, без своего видения или идеи.

Ответы1350113664

20 июня, 02:23 254 1213501

>>1213495
Да просто надо писать по книге «Vuex Concepts» (Daniel Schmitz & Daniel Pedrinha Georgii), а не скрещивать бульдога с носорогом. Получится тот же React/Redux, но более быстрый, за счёт отсутствия VirtualDOM.
Вот она:
https://bit-ly/2K5Yw6p

Ответы135031361113664

20 июня, 02:24 255 1213502

>>1213483
бамп неужели никто не знает

Ответы13543

20 июня, 02:25 256 1213503

>>1213501
Тут вместо «-ly» набрать «.ly»

20 июня, 09:09 257 1213543

>>1213502
Из браузера - никак, js не имеет доступа к файлам системы. Можешь искать API борды, скорее всего там есть такая возможность, сможешь на ноде скрипт написать.

Ответы13761

20 июня, 12:41 258 1213611

>>1213501
>Педрина
Ска лол.

20 июня, 13:40 259 1213640

>learn.javascript.ru - Самый главный русскоязычный сайт по JavaScript. Других таких подробных уроков не найти. Начинать строго с него.
Пиздец, ну и говнина этот кантор, нихуя толком не объясняется и вообще какая-то ебанина.

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

Ответы13652136661377914058

20 июня, 13:55 260 1213652

>>1213640
Ну а хули делать, вкатывальщики обычно английский знают на уровне бе ме, а потом уже подтягивают хотя бы до чтения технической литературы. Им кантор самое то.

20 июня, 14:18 261 1213664

>>1213501
>Vue
>но более быстрый, за счёт отсутствия VirtualDOM.
>отсутствия VirtualDOM
Ты, я смотрю, просто эксперт.
В пионерлагерь-то чего не поехал?
Или прямо оттуда двачуешь

>>1213495
>намешивает ангуляр с реактом
Ты, вообще, понимаешь, что такое ангуляр?
Видел его?
Сходи, посмотри, лол.

>без своего видения или идеи
Там есть охуенная идея.
Весьма необычная для фронтенда в наши дни.

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

И там компоненты - это именно компоненты, в том смысле, в каком их понимает нормальный человек, а не просто кусочки хуйни, как в реакте.

20 июня, 14:20 262 1213666

>>1213640
>Пиздец, ну и говнина этот кантор, нихуя толком не объясняется и вообще какая-то ебанина.

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

Ответы13695

20 июня, 14:50 263 1213689

Почему Infinity при любых(кроме степени) мат. операциях с целым дает Infinity, а при возведении в степень Infinity обращается в 1?

Ответы13771

20 июня, 15:02 264 1213695

>>1213666
Альтернатива на инглише какая?

Ответы1371613756

20 июня, 15:41 265 1213716

>>1213695
Книг полно.
В том числе и хороших.

http://eloquentjavascript.net
https://addyosmani.com/resources/essentialjsdesignpatterns/book/
(эти две читать прямо на сайте)

http://www.allitebooks.com/secrets-of-the-javascript-ninja-2nd-edition/
http://www.allitebooks.com/the-principles-of-object-oriented-javascript/
http://www.allitebooks.com/understanding-ecmascript-6/
http://www.allitebooks.com/functional-javascript/
http://www.allitebooks.com/reactive-programming-with-rxjs/

Вот ещё нестареющая классика:
http://www.allitebooks.com/javascript-the-good-parts/

JavaScript Allonge погугли ещё.

Курсы и прочее подобное - гугли.

Ответы13782

20 июня, 16:36 266 1213756

>>1213695
Алсо - вот Eloquent Javascript на русском:
https://habr.com/post/240219/

Это в шапке, в материалах для изучения, кстати.
Не пренебрегайте.

Ответы13782

20 июня, 16:42 267 1213761

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

Ответы1377213780

20 июня, 16:49 268 1213771

>>1213689
Ты наверное путаешь степень с https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Assignment_Operators#Bitwise_XOR_assignment

Чтобы возвесть в степень используй Math.pow

Ответы13775

20 июня, 16:49 269 1213772

>>1213761
В теле POST-запроса. И не ссылка, а base64encoded image data, сформированная через BOM API.

20 июня, 16:50 270 1213775

>>1213771
Да, да, я проебался конечно. Простите. Привычка.

20 июня, 16:52 271 1213779

>>1213640
дай угадаю: ты долго ковырял Кантора, потом бросил, начал читать книжку, все стало усваиваться лучше и ты сразу такой: бляя) кантор хуйня какаято непонятная, книга лучше оказывается)
Расскрою секрет - если бы ты сначала ковырял книгу, а потом начал Кантора, тебе бы второй ресурс показался понятнее, потому-что ты уже пришел туда с какими-то знаниями, и начал просто их раскладывать по полочкам и систематизировать.
Просто, я часто смотрю видосики на ютубе, и там всегда находится какой-нибудь восторженный долбоёб который напишет: спасибо автор!! я уже на трёх разных ресурсах учил <<хуйнянейм>> и только у тебя я понял, потому-что ты лучший!!!!. Нет бля, он не лучший, просто тебе долбоёбу нужно четыре раза объяснить всё с разных сторон, чтобы ты понял.

А вообще, я считаю именно книги хорошим способом упорядочить знания, а для первых шагов лучше использовать метод теория+практика в одинаковых дозах, а Кантор для этого подходит лучше

Ответы1378813815

20 июня, 16:52 272 1213780

>>1213761
По-моему браузер вообще не позволяет жсу хоть как-то менять значение файл инпутов. Можно разве что самому составить кастомную формдату, куда и включить эти файлы, после чего запостить.

Ответы13842

20 июня, 16:52 273 1213782

>>1213716
>>1213756
Что-то меня тоже от кантора поблёвывать тянет малоть. Какой раз пробую читать и как-то не идет. Попробую Eloquent JavaScript, уже не первый раз её вижу.

20 июня, 17:04 274 1213788

>>1213779
Кантор хорошо когда нет опыта вообще.

20 июня, 17:05 275 1213789

Спецификации и MDN хватает за глаза.

Ответы13790

20 июня, 17:06 276 1213790

>>1213789
Человеку который уже знает какой-нибудь другой ЯП, конечно

Ответы13794

20 июня, 17:09 277 1213794

>>1213790
Изучал веб-стек php, js, html, css (ну и периферию в виде протоколов, бд, етк) руководствуясь лишь спеками и справочниками. С нуля. До этого не знал ничего вообще.

Ответы13798

20 июня, 17:14 278 1213798

>>1213794
Из книг считаю вообще напрасной тратой времени читать что-то по конкретным языкам. Читать можно лишь что-то монументальное по алгоритмам, по операционкам, архитектуре, сетям, или философское, по типу Раскина или Макконела, если любопытно. А языки изучать по книжкам, это это от лени какой-то.

Ответы1379913847

20 июня, 17:15 279 1213799

>>1213798
>монументальное
фундаментальное*

20 июня, 17:39 280 1213815

>>1213779
Двачую вот этого дядю.

20 июня, 18:03 281 1213842

>>1213780
позволяет только сбросить значение пустой строкой. а что измениться если заменить форму? то есть в ней же тоже будет инпутфайл, которому нельзя задать значение програмно.

20 июня, 18:07 282 1213847

>>1213798
А я Гарри Поттера любил читать, это по-твоему тоже трата времени?

20 июня, 18:41 283 1213906

двач меня сегодня приняли на позицию фронтендщика. Первый раз в офис завтра пойду !!111!

Ответы13908

20 июня, 18:43 284 1213908

>>1213906
какой лвл? опыт какой-нибудь работы есть?

Ответы13912

20 июня, 18:45 285 1213912

>>1213908
21
> опыт
не самый успешный опыт фриланса и на рубях пара пет прожектов

Ответы13925

20 июня, 18:57 286 1213925

>>1213912
Нормально, чо. Легко устроился-то?

Ответы13931

20 июня, 19:01 287 1213931

>>1213925
да не я думал меня сольют, начали задавать вопросы аля как происходит процесс рендеренга страницы чем прототипная парадигма отличиается от ОО и я чет поплыл. Что даже для меня удивительно т.к. большинство ответов на большинство вопросов я знал.
Сидел мямлил что-то невнятное.

Ответы13937

20 июня, 19:05 288 1213937

>>1213931
Что еще спрашивали, довай подробностей

20 июня, 21:34 289 1214058

>>1213640
Всё там нормально объясняется.

Ответы14252

21 июня, 00:51 290 1214252

>>1214058
Хуёво там объясняется.
Тот, кому такие объяснения норм, тот в них не нуждается, как правило.

Ответы14454

21 июня, 01:22 291 1214284

Тоже не понимаю обвинений Кантора, вполне годно описаны многие стороны языка.

21 июня, 03:47 292 1214342

Какая версия Кантора актуальнее: русская (learn.javascript.ru) или английская(javascript.info)

Ответы14415

21 июня, 10:29 293 1214415

>>1214342
Английская

Ответы1443414462

21 июня, 11:26 294 1214434

>>1214415
Не сильно он тех. терминами перегружен? Со словарём осилить можно? А кто попробовал Выразительный Javascript и охуел и от абстракций и афоризмов разных.

Ответы14444

21 июня, 12:01 295 1214444

>>1214434
Не знаю, не читал. Попробуй.

21 июня, 12:36 296 1214454

>>1214252
Что там хуево объясняется?

Ответы14502

21 июня, 12:53 297 1214462

>>1214415
Кантор же русич, чем английская версия лучше, если русский - оригинал?

Ответы14481

21 июня, 13:22 298 1214481

>>1214462
Актуальная. Тут тебе сразу про стелочки расскажут, про let, про const. В русиче дай бог отдельно есть, если есть вообще инфа конкретно от него про всё это.

Ответы14513

21 июня, 13:44 299 1214489

Кантор вообще не нужен, ибо сть freecodecamp, который лучше по всем параметрам

21 июня, 14:11 300 1214502

>>1214454
>Что там хуево объясняется?

Хуёво - это не "что", это "как".
Информации куча, да. И она достоверная.
Но, в качестве учебника с нуля, для человека, не умеющего программировать - хуёво.
А его именно в таком качестве и пытаются использовать.

Чтобы было понятно о чём я - посмотри серию книг "Grokking ..." или тот же "Head First ...".
Или совершенно охуенную митовскую "Once Upon an Algorithm".

21 июня, 14:30 301 1214513

>>1214481
>const
Никогда кстати не использовал эту залупу, и не могу представить юзкейс, где она бы решала какую-то проблему, а печатать на два символа больше - идите нахуй. Особенно умиляет, что во всех гайдах теперь пишут const hui = require("penis"). В жс-манямире серьезно есть макаки, которые переписывают внешние переменные внутри функции?

Ответы1452914587

21 июня, 14:34 302 1214514

Как сделать onclick fetch?

Хочу чтоб было так:
// какая-то кнопка
<input type="submit" onclick="showJSON()">

// на клик мой json прилетает
function showJSON() {
fetch('my.json')
.then(function(response) {
return response.json();
})
.then(function(myJson) {
console.log(myJson);
});
}

console.log для примера, там конечно иной функционал.

Ответы14532

21 июня, 15:04 303 1214529

>>1214513
Именно поэтому ты никогда не вкатишься в ойти

Ответы14533

21 июня, 15:06 304 1214532

>>1214514
не понял что ты хочешь? Ты хочешь что бы вместо стандартного сабмита был аякс?
Тогда просто отмени стандартное действие браузера - event.preventDefault()

Ответы14536

21 июня, 15:07 305 1214533

>>1214529
Я уже пять лет тута, наркоман.

Ответы14542

21 июня, 15:09 306 1214536

>>1214532

>Тогда просто отмени стандартное действие браузера - event.preventDefault()

Или пусть type="button" использует.

21 июня, 15:13 307 1214540

Правда ли, что операторы - это функции?

Например, + это не знак сложения, а функция, которая принимает два аргумента и возвращает одно?

Т.е.:
var a = b+c;
Это:
var a = function +(b,c){
return //сумма b и c
}

Ответы1455014588

21 июня, 15:13 308 1214542

>>1214533
В этом треде пять лет сидишь? Я ж говорю, что никогда не вкатишься.

21 июня, 15:29 309 1214550

>>1214540
Логически - да. Практически - зависит от языка. Обычно +/*- и т.д реализованы как специальный оператор, а не функция.

Ответы1455514557

43 Кб, 750x636
21 июня, 15:38 310 1214555

>>1214550
>Практически - зависит от языка
>жс-тред

9,9 Мб, mp4,
1280x720, 6:32
21 июня, 15:40 311 1214557

>>1214550
Чувак на видео говорит, как я описал выше, что это функция.
Но нигде в интернетах я не нашёл подтверждения, вот я и запутался - прав он или нет?

Ответы14561

21 июня, 15:45 312 1214561

>>1214557
Функция это инкапсулированная часть кода. + в контекст инкапсулированного кода никак не вписывается. Конкретно в жс, + это оператор, а какой любой другой оператор он возвращает значение. По итогу выполнения инструкции да, похоже на функцию. Семантически нет, это не функция.

Ответы14562

21 июня, 15:48 313 1214562

>>1214561
А если по русски?

Ответы14564

21 июня, 15:49 314 1214564

>>1214562
Это не функция. Про функции тебе чувак потом расскажет.

Ответы14565

21 июня, 15:49 315 1214565

>>1214564
>расскажет.
Почему тогда он говорит, что это функция?
Ты вообще видео смотрел?

Ответы14567

21 июня, 15:53 316 1214567

>>1214565
Если мои слова для тебя пиздеж тупой, иди на википедию, читай, что такое функция и сравни её с оператором +.

Ответы14568

21 июня, 15:55 317 1214568

>>1214567
Даже видео называет Операторы, а не функции.

Ответы14570

21 июня, 15:57 318 1214570

>>1214568
>Даже видео называет Операторы, а не функции.
Смог всё-таки перевести название через гугл транслейт, молодец. Жаль только, что содержимое не осилил.

Ответы14573

21 июня, 15:59 319 1214573

>>1214570
Ну куда уж мне до тебя.

21 июня, 16:23 320 1214586

47 Кб, 999x69448 Кб, 999x69448 Кб, 999x694

Аноны, помогите разобраться. Выдали мне ТЗ:

1) Сделать сайт. Стиль и содержание не важно.
2) Разместить на всех страницах меню для перехода по страницам с использованием javascript XMLHttpRequest.
переход по страницам без перезагрузки)
3) Для реализации не использовать сторонние js плагины, только нативный js.

Так это первый сайт в моей жизни очень туплю. Результат 15ти часов мозговых усилий работает так:

Со стартовой страницы localhosta переход действительно выполняется без обновления странички. Однако затем наступает крах. Т.е. перешёл с main на, скажем, 1 - всё ок. А уже обратно - нет. Впрочем, если затем перейти, допустим, с 2 на 3, то код тоже не сработает, но зато сработает ОБРАТНО. Короче, я запутался совсем.

КТО ПОМОЖЕТ РАЗОБРАТЬСЯ - СКИНУ 100 РУБЛЕЙ НА ТЕЛЕФОН

Ответы14772

21 июня, 16:26 321 1214587

>>1214513
>const
>не могу представить юзкейс, где она бы решала какую-то проблему
Есть такая вещь, как стиль.
В смысле - хороший.
Или его отсутствие, вот, как в твоём случае.

21 июня, 16:27 322 1214588

>>1214540
Это в лиспе и в схеме так.

Ответы14589

21 июня, 16:28 323 1214589

>>1214588
>Это в лиспе и в схеме так.
А в жс?
Я же выше видео даже скинул ёпт

Ответы1459414598

21 июня, 16:35 324 1214594

>>1214589
Погуглил, нихуя не нашёл такого.
Видео не смотрел.

21 июня, 16:44 325 1214598

>>1214589
Бегло просмотрел видео без звука.
Так про другое, лол.

Но, если тебя возбуждают такие вещи, тебе обязательно надо открыть для себя LISP (Scheme).

Кстати, есть такая точка зрения, что JS - это Scheme с сишным синтаксисом, лол. Только не надо понимать это буквально.

Ответы14600

21 июня, 16:45 326 1214600

>>1214598
>Так про другое, лол.
Чего?

Ответы14601

21 июня, 16:50 327 1214601

>>1214600
>Так
Там

56 Кб, 1600x900
Изучение js для разработчика на Java Васян 21 июня, 17:44 328 1214627

Всем привет! Уже год пишу на java. Могу в android. Знаю spring и другие мелкие библеотеки. Ближе к делу. Перед тем как начать изучать яву, я прошел коротенький бесплатный курс по javascript на geekbrains, мне он тогда не очень зашел кстати почему он мне не понравился я так и не понял, но сейчас загорелся желанием писать и на js тоже. Как мне следует начать его учить? В программирование в целом я уже могу, поэтому Марейн Хавербек - "Выразительный JavaScript" мне наверное не подойдет? Если так, то сможет ли Дэвид Фленеган - "JavaScript: Подробное руководство" научить меня, как новичка в js его синтаксису и особенностям? Может быть есть какие-либо годные видео курсы при изучении java читал книгу и паралельно смотрел нужные видео туториалы . Какие книги читали вы, в самом начале изучения?

Ответы1463414705

21 июня, 17:50 329 1214634

>>1214627
А чем ява отличается от яваскрипта? Это же одно и то же.

Ответы146381467214689

Васян 21 июня, 17:57 330 1214638

>>1214634
java - сильно типизированный язык
js - слабо типизированный язык

21 июня, 18:32 331 1214672

>>1214634
>ява
>яваскрипт

С козырей зашёл, содомит.

21 июня, 18:55 332 1214689

>>1214634
Ява это сигареты. А яваскрипт вовсе неведомая хуета какая-то тобою выдуманная.

Ответы14697

21 июня, 19:16 333 1214697

>>1214689
Тогда чому челик выше про яву пишет?

21 июня, 19:18 334 1214698

Аноны, объясните глупому: почему при оборачивании вызова в функцию контекст не теряется и берется по замыканию? Разве обычный вызов не так же работает, т.е. сначала переменная ищется внутри, а потом - снаружи? С меня как обычно.

Ответы1470614710

21 июня, 19:38 335 1214705

>>1214627
Читай Кантора в самый раз будет.

Ответы14716

21 июня, 19:38 336 1214706

>>1214698
Ты про возврат функции в return и с помощью этого последующий доступ в закрытую функцию замыканием?

21 июня, 19:40 337 1214710

>>1214698
Ты пример кода покажи, нихуя же не понятно, о чём ты.
Лучше в JS Fiddle или типа того.

21 июня, 19:46 338 1214716

>>1214705
Я как раз это и делаю и че-то не совсем понимаю пример этот: https://learn.javascript.ru/bind#решение-1-сделать-обёртку

Ответы147191472314726

21 июня, 19:48 339 1214719

>>1214716
Аххахахах, ты не можешь в карринг? Ебать лох!

Ответы1472414961

21 июня, 19:51 340 1214723

>>1214716
Ну блин. Привыкай.
У нас тут коллбеки, замыкания, контексты. Можем явно указывать, что является this...
Я сам с джавы пересел на джваскрипт, некоторые моменты показались очень странными.

21 июня, 19:51 341 1214724

>>1214719
Я не про это скинул.
Карринг вроде понял.

Ответы14725

21 июня, 19:54 342 1214725

>>1214724
Крч смотри.
Ты передал функцию, в которой есть обращение к контексту (this). Ты передал саму функцию, отдельно от объекта user, потому что user.sayHi не более, чем переменная.

Ответы14733

21 июня, 19:54 343 1214726

>>1214716
Отличный пример того, что этот ваш кантор - полное говно в качестве учебника.

Если ты о первом блоке кода в подразделе, о том, где написано "Теперь код работает, так как user достаётся из замыкания." - то смысла в нём нет вообще никакого, поэтому искать его бесполезно.

Ответы1473214733

21 июня, 20:00 344 1214732

>>1214726
>Если ты о первом блоке кода в подразделе, о том, где написано "Теперь код работает, так как user достаётся из замыкания." - то смысла в нём нет вообще никакого, поэтому искать его бесполезно.
Два чаю.
Я всегда говорил, что этот ваш кантор говнище полное.

Ответы14733

21 июня, 20:03 345 1214733

>>1214732
>>1214726
Именно это я и имел в виду. А что тогда человеческое есть из учебников (не сраные курсы)?
>>1214725
Ок, поебал пример этот туда-сюда. Работает же нормально, если тупо написать setTimeout(user.sayHi(), 1000);. Зачем ебля с врапперами?

Ответы147371474114834

21 июня, 20:15 346 1214737

>>1214733
> setTimeout(user.sayHi(), 1000);
Не будет работать, потому что функция выполнится сразу же, ибо скобки, а для таймера нужно «без скобок».

21 июня, 20:21 347 1214741

>>1214733
В setTimeout нужно передавать функцию, которая выполнится через время во втором аргументе.
Если передавать в setTimeout функцию(), то функция выполняется сразу, а setTimeout будет пытаться выполнить уже результат выполнения функции через указанное время.

Ответы14747

21 июня, 20:30 348 1214747

>>1214741
Хорошо, тогда вариант user.sayHi.bind(user) будет правильно работать?

Ответы1475014753

21 июня, 20:31 349 1214749

Есть тут те, кто пишет/писали серьёзный бэкэнд на жс? Или серьёзного бэкэнда на жс не бывает?

Ответы14752

21 июня, 20:31 350 1214750

>>1214747
будет

21 июня, 20:32 351 1214751

Чему равно a?

a = 3 < 2 < 1;

Ответы1477414777

21 июня, 20:33 352 1214752

>>1214749
У меня на работе 9 проектов, на каждом своя тима пишет фронт и бэк на джс.

Ответы14762

21 июня, 20:33 353 1214753

>>1214747
Бинд будет работать, бинд возвращает из себя функцию.
Апплай и колл не будут, они выполняют функцию сразу.

21 июня, 20:42 354 1214762

>>1214752
Что за проекты? Микросервисы какие-нибудь? Какой стек?

Ответы14764

21 июня, 20:45 355 1214764

>>1214762
Пожалуй, не буду отвечать, извини.

Ответы14767

21 июня, 20:48 356 1214767

>>1214764
Чё, даже стек зажал? Или просто не знаешь?

Ответы1476914779

21 июня, 20:53 357 1214769

>>1214767
Он сам сидит на шее у мамки, и всё нафантазировал

Ответы14779

21 июня, 20:56 358 1214772

>>1214586
Парни, две сотки!

21 июня, 20:58 359 1214774

>>1214751
>3 < 2 < 1;
Свою тупость пришел показать? JS не поддерживает комбинированные сравнения. Правильно писать так
a = 3 < 2 && 2 < 1;

Ответы14786

21 июня, 21:00 360 1214777

>>1214751
>a = 3 < 2 < 1;
>a = (3 < 2) < 1;
>a = false < 1;
>a = true
Что тебе не понятно? Не осилил неявное приведение типов?

Ответы14786

21 июня, 21:02 361 1214779

>>1214767
Соре, вылетело из головы. Про других не скажу, но у нас: react, react native, koa, mongoDB, sockets.io, doker, ansible, drone CI.
>>1214769
маняпроекции

Ответы1478714788

21 июня, 21:08 362 1214786

>>1214774
> JS не поддерживает комбинированные сравнения
Это как-раз таки ты тупой.

>>1214777
А почему ты берёшь 3 и 2 в скобки?

Ответы14838

21 июня, 21:09 363 1214787

>>1214779
Мерси за стек. А с реакт нейтивом проблем много? Нативные компоненты для реакт нейтива специальные ведро/ябло-программисты пишут?

Ответы14790

5 Кб, 251x240
21 июня, 21:09 364 1214788

>>1214779
>doker

Ответы14791

21 июня, 21:12 365 1214790

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

Я на самом деле много вещей из стека пропустил, их так и не упомнишь. Redux, postcss... много чего используем.

21 июня, 21:15 366 1214791

>>1214788
Я помню в коде в дофига местах написал "parrent", охренел потом исправлять...

Ответы14814

21 июня, 21:36 367 1214814

>>1214791
Ну ты индус)
replace all & find all для кого сделали?

21 июня, 22:02 368 1214834

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

Непонятно что-то - загугли.
Думай сам, короче.
В любых учебниках и книгах всегда есть ошибки или неудачные примеры. Поэтому, всегда надо сравнивать в сомнительных случаях.

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

Если интересно, что ещё бывает из учебных материалов - читни этот тред за последние пару дней, хотя-бы. Ну и шапку, конечно.

21 июня, 22:06 369 1214838

>>1214786
Это не я беру. Это я тебе показываю, в каком порядке происходит вычисление.

Ответы14916

22 июня, 00:15 370 1214916

>>1214838
Но ты же взял в скобки на втором шаге.

Ок, а почему именно в таком порядке?

Ответы14984

Аноним 22 июня, 00:42 371 1214930

>>1206689 (OP)
Жду оценок парсера
16лвл 2года программирования, стаж - 1год фронт и бэк(React/Node)

Ответы149321493314950

22 июня, 00:42 372 1214931

a^b

Что это за оператор?

Аноним 22 июня, 00:43 373 1214932

>>1214930
https://repl.it/repls/ConsciousFirsthandHexagon

Ответы14937

22 июня, 00:43 374 1214933

>>1214930
пиздабол

Ответы14934

Аноним 22 июня, 00:45 375 1214934

>>1214933
Бля тебе скрин проекта на котором работаю кинуть, лол

Ответы14935

22 июня, 00:46 376 1214935

>>1214934
давай, пиздюк малолетний

Ответы14936

141 Кб, 1905x930
Аноним 22 июня, 00:51 377 1214936

>>1214935
Вот ветка в которой только мои изменения, перенес функционал чата (личный кабинет) с jquery на реакт(не весь еще) и верстку (готовую) по компонентам разбросал

Ответы14938

22 июня, 00:51 378 1214937

>>1214932
хуйня, я делал парсер, который пиздил цп у роскомнадзора

22 июня, 00:52 379 1214938

>>1214936
То есть по сути ты нихуя не сделал, а только слепил из одного говна другое, макака?

Ответы14939

Аноним 22 июня, 00:53 380 1214939

>>1214938
Лол, думай как хочешь , я дохуя чего сделал, мне то по кайфу в 16лет рубить доухя бабла

Ответы1494014950

22 июня, 00:55 381 1214940

>>1214939
>доухя бабла
150$

Ответы14941

Аноним 22 июня, 00:57 382 1214941

>>1214940
Хех, если для тебя 150 зеленых это дохуя, то...

Ответы14942

22 июня, 00:58 383 1214942

>>1214941
Я немного больше получаю (в 10 раз), но все равно мало. А ты дальше хуярь свое говно на джиквери

Ответы14943

Аноним 22 июня, 01:00 384 1214943

>>1214942
>Я немного больше получаю (в 10 раз)
Ну, знаешь не намного больше меня(850).
А ты дальше хуярь свое говно на джиквери
>Соре, реакт онли

Ответы1494414946

Аноним 22 июня, 01:00 385 1214944

>>1214943
Налажал с ">" ))

22 июня, 01:02 386 1214946

>>1214943
У тебя еще все с математикой хуево, ясно

Ответы14948

Аноним 22 июня, 01:05 387 1214948

>>1214946
>У тебя еще все с математикой хуево, ясно

че ты до математики доебался, лол. Я к тому что тебе за 20, а мне 16 и относительно этого разница небольшая.

Ты сказал 1500, лол, а че так мало?? Нормальные кодеры по 2500+ берут, я еще джун со мной все ясно, а ты ??

Ответы14950

22 июня, 01:10 388 1214950

>>1214930
>16лвл
>>1214939
>16лет
>>1214948
>мне 16
Да мы поняли, что ты свое скудоумие возрастом оправдываешь.
У меня в компании в год +500 к зп, пока не будет 3000, такие дела. Так что через 1.5 годика буду нормальным кодером в твоем манямирке.

Ответы14952

40 Кб, 185x185
Аноним 22 июня, 01:16 389 1214952

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

Я не тупой

Ответы14957

22 июня, 01:29 390 1214957

>>1214952
И то верно, незачем тупых обижать.
Ты не тупой, ты малолетний визгливый олигофрен.

22 июня, 01:36 391 1214961

>>1214719
Кантор тоже не может в карринг.
Потому, что то, что он называет каррингом, на самом деле называется partial application.
А карринг - это немножко другое.

Ответы14974

22 июня, 02:27 392 1214974

>>1214961
>Кантор тоже не может в карринг.
Та как так? Он же кумир молодежи. Идол вкатывальщиков. Учился в самом МГУ, защитил кандидатскую диссертацию. Неужели правда не может? Неужели? Неужели правда? Я не верю! Слышите! Не верю!

22 июня, 03:41 393 1214984

>>1214916
>почему именно в таком порядке?
Потому что в соответствии со спецификацией.

Ответы15074

sage 22 июня, 09:23 394 1215044

Javascript — костыльно-ориентированный язык программирования.

Ответы15049

sage 22 июня, 09:26 395 1215046

3 главных принципа костыльно-ориентированного программирования, а именно инкостыляция, костылирование и поликостылизм, полностью поддерживаются Javascript.

Ответы15049

22 июня, 09:37 396 1215049

>>1215044
>>1215046
это мемы из 2008-го?))

22 июня, 10:47 397 1215074

>>1214984
>в соответствии со спецификацией.
Какая ещё спецификация, лол?
Ты ответь на вопрос, зачем ты взял в скобки 3 и 2?

Ответы1509515118

sage 22 июня, 11:21 398 1215095

>>1215074
Это что, троллинг тупостью? Иди нахуй, долбаёб.

Ответы15107

22 июня, 11:47 399 1215107

>>1215095
Всё ясно с тобой, школолошка.
Скорее бы у вас уже каникулы закончились.

Ещё и сажу прилепил в тематике, лол.

22 июня, 12:04 400 1215118

>>1215074
>зачем ты взял в скобки 3 и 2?
Тебе ответили выше. Ты дурак?
Тебе показали порядок вычислений. Дечись.

Ответы15140

22 июня, 12:23 401 1215138

Бля, чем бы такого написать, что бы один раз и потом вообще ничего не писать и получать пассивный доход тысяч 100 в мес?

Ответы15306

22 июня, 12:23 402 1215140

>>1215118
Это ты дурак, если не знаешь, что скобки - это ВНЕЗАПНО тоже оператор, и не можешь объяснить, почему там такой как ты скОзал порядок.

Ответы1514115142

22 июня, 12:25 403 1215141

>>1215140
Ты сумашедший, чувак.

Ответы15149

22 июня, 12:26 404 1215142

>>1215140
> не можешь объяснить, почему там такой как ты скОзал порядок
Тебе так же ответили, почему там именно такой порядок.

Ответы15155

22 июня, 12:31 405 1215149

>>1215141
>сумашедший
Не надо лести, обычный дебил.
Как и принято среди веб-дегенератов (вас).

Ответы15155

22 июня, 12:35 406 1215155

>>1215142
И почему же?

>>1215149
Вот только я знаю ответ, а ты нет. И кто из нас после этого дебил?
Люблю спрашивать на собесах этот вопрос, и всякие вкатывальщики начинают бубнеть под нос что-то несуразное - ведь они учились по кантору и кокодемии, где их учили формочки шлепать, а как устроен язык они не знают.

Ответы1516415165

sage 22 июня, 12:52 407 1215164

>>1215155
На каких собесах, шизик? Ты опять таблетки забыл принять? Ты же, блядь, унитазы чистишь в Макдаке!

22 июня, 12:53 408 1215165

>>1215155
>как устроен язык
Как говно.
И хорошо что хотя бы не как goвно.

22 июня, 15:05 409 1215256

Нужно расширение для jq ищущие ближайший подходящий элемент, не .parent(), .children(), .closest(). А именно ближайший подходящий, поебать на удаление, пусть он хоть на другом краю DOMа лежит, чет загуглить не получается, я хз как такую годноту не заделали, а самому писать влом.

Ответы15299

22 июня, 16:07 410 1215299

>>1215256
Годнота довольно сомнительна, мне кажется.
И операция очень затратная была бы.

У тебя, скорее всего, что-то не то с постановкой задачи или со структурой дома.

Ответы15396

22 июня, 16:33 411 1215306

>>1215138
Борду

Ответы15346

579 Кб, 850x1200
22 июня, 17:15 412 1215327

Готов отсосать у каждого в этом треде. Обожаю крутых программистов.

Ответы15363

22 июня, 18:05 413 1215346

>>1215306
>и потом вообще ничего не писать и получать пассивный доход
>пассивный доход

Перекатиться в гей-шлюхи, очевидно же.

Ответы15363

sage 22 июня, 18:28 414 1215363

>>1215327
>>1215346
-> /ga/

Зарепортил

Ответы15590

22 июня, 18:38 415 1215370

Не могу загуглить вопрос, не получается сформулировать просто. Нужна помощь.

Скажем есть строка, пускай будет 'Hello, World'. Есть еще одна строка, пускай будет 'Hello, Wo'. Каким образом мне найти оставшуюся часть второй строки до первой? То есть rld?

Спасибо.

Ответы1537415396

22 июня, 18:42 416 1215374

>>1215370
Пока курил придумал, что если тупо взять из разности длинны строк индексы и найти что надо? Не совсем хуйня получается?

Ответы15377

22 июня, 18:44 417 1215377

>>1215374
Это если ты 100% уверен, что одна строка является началом другой.
Т.е. надо добавить проверку sA.startsWith(sB).

Ответы15384

22 июня, 18:50 418 1215384

>>1215377
>sA.startsWith
Вот за это спасибо. То, что надо!

22 июня, 19:16 419 1215396

>>1215370
О регулярках не слышал?
>>1215299
Написал рекурсивный обход вверх, ограничил 5ю уровнями, чтоб не сильно много жрало.

Ответы15530

22 июня, 22:39 420 1215490

Господавры, помогите пожалуйста сделать так, чтобы первый пункт меню (Меню1) была активной по умолчанию.

https://codepen.io/anon/pen/XYYWLK

с меня сотни нефти

Ответы15495

22 июня, 22:53 421 1215495

>>1215490
добавь к меню1 класс menu-item--active, а в стилях пропиши .menu-item--active .submenu {display: block}

Ответы15555

22 июня, 23:58 422 1215530

>>1215396
>О регулярках не слышал?
Слышал конечно. Но изучить как-то руки не доходили. Охуенная оказывается вещь, строку блядь менять можно как хочешь. на хую прямо вертеть!

23 июня, 01:21 423 1215555

>>1215495
Спасибо большое. Немного по-другому сделал.
Не подскажешь как сделать так, чтобы меню не пропадало, когда кликаешь вне меню?

Ответы15561

23 июня, 01:38 424 1215561

>>1215555
Попробуй запихнуть в условие кликера на документе что-то типа target.id! = 'nav' или target.tagName != 'body'

Ответы15575

23 июня, 02:50 425 1215575

>>1215561
Так?
document.getElementById('nav').onclick= function(event) {
var target = event.target; // где был клик?
if (target.className == 'menu-item' && target.className!= 'result') {
var s=target.getElementsByClassName('submenu');
closeMenu();
s[0].style.display='block';
}
}

не выходит что-то.

Ответы15700

23 июня, 03:51 426 1215590

>>1215363
остальные поддержали

23 июня, 09:10 427 1215621

Можно в реакт завязывать начальное состояние state, на получаемых props?

state = { value: this.props.value }

Ответы156221562715628

23 июня, 09:34 428 1215622

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

Ответы15627

23 июня, 09:47 429 1215627

>>1215621
Можно

>>1215622
Читай note
https://reactjs.org/docs/react-component.html#unsafe_componentwillreceiveprops

Ответы15629

23 июня, 09:48 430 1215628

>>1215621
https://reactjs.org/docs/react-component.html#static-getderivedstatefromprops
https://reactjs.org/blog/2018/06/07/you-probably-dont-need-derived-state.html

Ответы15629

23 июня, 09:59 431 1215629

>>1215627
>>1215628
Спасибо братцы, в api reference не углублялся до этих пор

Ответы15701

23 июня, 12:52 432 1215700

>>1215575
Не, в другой кликер, который на документ вешается

23 июня, 12:53 433 1215701

>>1215629
>componentwillreceiveprops обьявили устаревшим?

Да, реакт ни разу не opinionated, lol.

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

Типа - да, надо дрочить вприсядку, но зато ...

А на простого васю из мухосранска им глубоко поебать.

23 июня, 13:53 434 1215744

Можно ли в реакте мап в мапе вызвать для рендера, например, строки таблицы и ячеек?
{
rows.map((row) => (
<TableRow key={row.id}>
{
row.map((cell) => (
<TableCell>{cell}</TableCell>
))
}
</TableRow>
))
}
Так делаю, но выдает row.map is not a function.

Ответы1575115774

23 июня, 13:57 435 1215751

>>1215744
У тебя row - массив?

Ответы15755

23 июня, 14:02 436 1215755

>>1215751
Точно, там объект.

23 июня, 14:24 437 1215768

Можно ли писать функции в stateless компонентах? Если нет, то как тогда поступить, если нужна функция, например, для форматирования вывода?

Ответы15774

23 июня, 14:28 438 1215774

>>1215768
Stateless компонент - это функция.
Может ли быть функция в функции?
Конечно, может.
Вот прямо только что такую написал, и именно в функциональном компоненте, лол.

>>1215744
Тэги JSX - это вызовы функций, возвращающие значения. Аттрибуты = параметры.
Исходя из этого и определяется, что можно, что нельзя.

Ответы15780

23 июня, 14:35 439 1215780

>>1215774
Ну т.е. это не говнокод и все так делают?

Ответы15781

23 июня, 14:41 440 1215781

>>1215780
Да, так и делают.

Но, в твоём случае row.map((cell) => ... выглядит как-то сомнительно. Не в смысле говнокода, а вообще. Хотя, выше уже написали.

Вообще - посмотри примеры в интернетах, их же полно.

Ответы15782

23 июня, 14:43 441 1215782

>>1215781
Я про функции в функциях

Ответы1578415787

23 июня, 14:48 442 1215784

>>1215782
Это не просто не говнокод.
Это ровно наоборот, лол.

Особенно, если ты используешь лямбды (толстые стрелки). Только нужно иметь в виду, что у них нет своего this.

23 июня, 15:03 443 1215787

>>1215782
Вот тебе, кстати, пример (хотя, немного на другую тему):

const add = a => b => c => a + b + c;

Это функция - функция - функция.
В middleware к редуксу такие вещи можно увидеть, например.
В данном случае - это каррированая функция сложения трёх аргументов.

Вызывается так:
const result = add(1)(2)(3);

Или так:
const add1 = add(1);
const add1and2 = add1(2);
const result = add1and2(3);

Т.е. можно получать промежуточные специализированные варианты.
Напоминает наследование в ООП.

Ответы157941581715905

23 июня, 15:10 444 1215794

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

Ответы15798

23 июня, 15:18 445 1215798

>>1215794
Я же написал - это пример немного на другую тему.
А перед этим ответил ему, что да, так делают.
И это не говнокод.

Объявлять ли функцию отдельно, если она специализированная для этого компонента - дело вкуса. Если она большая, то да, это имеет смысл.

Смысл того, что я хотел сказать, в том, что функция в JS - это ровно такой же объект, как число или массив.
Ты же используешь числа в функциях?
Ну и вот.

23 июня, 15:38 446 1215802

Какие существуют игровые движки на основе verlet.js?

23 июня, 15:53 447 1215817

>>1215787
Бля, какой же уебанский стиль.

Ответы1582115905

23 июня, 16:01 448 1215821

>>1215817
А как бы ты хотел это записывать?

Нормальный стиль, лучше не бывает, на самом деле, ты просто не привык, лол.
Ты пытаешься в голове что-то наворачивать поверх этих стрелок, в то время, как их надо просто читать буквально.

Ответы15994

23 июня, 16:40 449 1215850

Парин, я умираю, я не могу, как заставить говно работать с нескольики вебсокетами? Пилю парашу webgl С# и не могу сука сделать номральное взаимодействие с вебсокетами. Ну с одним заработало, а с нескольими хуй, я скачал jslib, но что там внутри не могу понять. Почему-то SocketCreate возвращает всегда ноль, и происходит какая-то поебата, не могу номрально разделить. В общем может кто поможет или ссылчоек на готовыйе примеры накидает. Пиздец.

https://github.com/realtime-framework/unity3d-plugin/blob/master/lib/WebSocket.jslib

23 июня, 18:21 450 1215905

>>1215817
Это просто дерьмовый упрощенный пример прямиком из статеек "ФП в жисе это круто мне так сказали но на функциональных языках я не писал", вот он и нечитабелен.
>>1215787
Это называется композиция и в ООП она прекрасно применяется.

Ответы16064

23 июня, 22:08 451 1215994

>>1215821
Ох ебать, маня прошла пару курсов говнокекслета и всем поясняет про то как надо читать и воспринимать блять.

Ответы16064

23 июня, 23:12 452 1216053

>>1212010
Перекатиться из мертворожденного языка для смузихлебов в один популярнейших и востребованных языков мира.
Все правильно делает.

23 июня, 23:27 453 1216056

Какой же говеный тред.

Ответы1618616197

23 июня, 23:39 454 1216064

>>1215994
Нихуя себе, у тебя дар телепатии, лол.

>>1215905
Это не называется композиция.
И что там не читабельно, лол?

Дети, идите на хуй в /бэ.

Ответы16668

24 июня, 10:15 455 1216183

Подскажите, где я обосрался?
Есть веб-приложение на чистом реакте, в нем - корневой компонент, как полагаться - es6 class.
У этого класса есть метод, componentWillMount, где я открываю вебсокет. JSON с сервера обновляет стейт, что позволяет отображать данные в реальном времени, а JSON с клиента обновляет определенные данные на сервере. Всё работает, но только на десктопе. В мобильном браузере - не работает ws. При том что поддержка ws у него есть. react-websocket не подходит, т.к. нужна двухсторонняя передача данных, а у него нет метода send, AJAX параллельно сокету выглядит костыльно.

24 июня, 10:17 456 1216186

>>1216056
Какой язык, такой и тред.

Ответы16197

24 июня, 11:00 457 1216197

>>1216056
>>1216186
Сам написал, и сам ответил?

24 июня, 11:26 458 1216201

Пойдет ли моча и чай для юнит тестов под ноду?

Ответы16202

24 июня, 11:32 459 1216202

>>1216201
Если у вас не пишут тесты нахрена тебе это надо? Ведь речь идет о вебне?

Ответы1620416205

24 июня, 11:34 460 1216204

>>1216202
Да я для своего проекта. Слишком много говна накопилось чтобы руками тестить

24 июня, 11:35 461 1216205

>>1216202
Нарыл гайд, но там еще дженкинс, а он мне пока нах не нужен. Думаю как этот индус сделать.
https://medium.com/prismapp/10-steps-how-to-automate-your-api-testing-effectively-af866fba942f

24 июня, 12:21 462 1216228

приветствую господ программистов!!
подскажите плиз ньюфагу - как перемножить два больших числа так, что бы в результате не было что то типа такого 1.7588313343976082e+21 а было бы само число
его ведь можно как-то преобразовать, правильно? но как??

Ответы162301623916276

24 июня, 12:24 463 1216230

>>1216228
num => Math.floor(num*1000)/1000.

Ответы16232

24 июня, 12:29 464 1216232

>>1216230
такой же результат получается - 1.7588313343976082e+21
что я делаю не так?

Ответы16329

24 июня, 12:44 465 1216239

>>1216228
Это троллинг тупостью?

24 июня, 13:25 466 1216276

>>1216228
Используй сторонние библиотеки, например, https://www.npmjs.com/package/big-integer

55 Кб, 510x604
24 июня, 13:33 467 1216284

Сука почему моча такой уебищный фреймворк для тестов. Пиздец просто! Почему вместо вот этого
[CODE]
describe('GET /user', function() {
it('respond with json', function(done) {
request(app)
.get('/user')
.set('Accept', 'application/json')
.expect('Content-Type', /json/)
.expect(200, done);
});
});
[/CODE]

не сделать json в котором описать все тесты, типо:

[CODE]
{
"name": "test login",
"main": "server.js",
"tests": {
"test0": "foobar",
"test1": "foobar",
"test2": "foobar",
"test3": "foobar",
"test4": "foobar",
"test5": "foobar",
"test6": "foobar",
"test7": "foobar",
"test8":"foobar"
},
[/CODE]

где foobar это конструкция вида
[CODE]
{
"request": "localhost:8080/api/login",
"data": {
"login" : "foo"
"password":"bar"
},
"headers": {...},
"positivecase": {...},
"negativecase": {...}
}
[/CODE]

Скорее всего проебусь с разметкой, но суть вы поняли. Может в треде есть дохуя опытные автотестеры чтобы пояснить мне нубу, почему моча такая какая она есть?

55 Кб, 510x604
24 июня, 13:33 467 1216284

Сука почему моча такой уебищный фреймворк для тестов. Пиздец просто! Почему вместо вот этого
[CODE]
describe('GET /user', function() {
it('respond with json', function(done) {
request(app)
.get('/user')
.set('Accept', 'application/json')
.expect('Content-Type', /json/)
.expect(200, done);
});
});
[/CODE]

не сделать json в котором описать все тесты, типо:

[CODE]
{
"name": "test login",
"main": "server.js",
"tests": {
"test0": "foobar",
"test1": "foobar",
"test2": "foobar",
"test3": "foobar",
"test4": "foobar",
"test5": "foobar",
"test6": "foobar",
"test7": "foobar",
"test8":"foobar"
},
[/CODE]

где foobar это конструкция вида
[CODE]
{
"request": "localhost:8080/api/login",
"data": {
"login" : "foo"
"password":"bar"
},
"headers": {...},
"positivecase": {...},
"negativecase": {...}
}
[/CODE]

Скорее всего проебусь с разметкой, но суть вы поняли. Может в треде есть дохуя опытные автотестеры чтобы пояснить мне нубу, почему моча такая какая она есть?

Показать весь текст
Ответы1630016306

24 июня, 13:46 468 1216300

>>1216284
Возьми и напиши сам, увидишь к чему приведет.

Ответы16302

24 июня, 13:52 469 1216302

>>1216300
Да вот уже рука порывается, но ради своего проекта не хочется еще и движок для тестов писать 3 дня. Легче уже руками протестить, написав тест дизайн. Но бля... Че за черт эта моча?

Ответы16305

sage 24 июня, 13:54 470 1216305

>>1216302
Не нравится — пиши своё, питух.
разработчик Моки

Ответы16309

24 июня, 13:54 471 1216306

>>1216284
Мока лишь среда тестирования, она условно говоря проходит по файлам, ищет тесты среди них и запускает, а за синтаксис обычно отвечают всякие там Chai(или supertester судя по тому что ты скинул)

Ответы16312

24 июня, 13:57 472 1216309

>>1216305
Мочехлеб, плз.

Ответы16311

24 июня, 13:59 473 1216311

>>1216309
Не моча, а мокко.

Ответы16314

24 июня, 14:00 474 1216312

>>1216306
Т.е отдельно автотесты я написать не могу? Только в код интегрировать? А минифицировать потом файлы для прода можно будет? Просто ну пиздец если еще и тесты в коде будут, то получится гигант просто.

Ответы1631316323

sage 24 июня, 14:01 475 1216313

>>1216312
А ты думал, что в сказку попал??

Ответы16316

24 июня, 14:01 476 1216314

>>1216311
Да понятно как оно по английски читается, но людям не англоговорящим сочетание ch читается как "ч" интуитивно.

Ответы16319

24 июня, 14:03 477 1216316

>>1216313
Не зря я отдельную ветку завел... Ну пиздец теперь... А где есть документация этого чуда? Просто на их сайте нет. Да и туториалы всяких васянов читать себе дороже

24 июня, 14:04 478 1216319

>>1216314
Оно ещё и как "хэ" читается, и как "шэ".

Ответы16321

24 июня, 14:06 479 1216321

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

24 июня, 14:07 480 1216323

>>1216312
Тут недавно был чувак, который яростно топил за тесты в js.
Перечитай прошлый тред, там много годных советов было.

Ответы16325

24 июня, 14:10 481 1216325

>>1216323
Ок. спс

24 июня, 14:17 482 1216329

>>1216232
А, так у тебя число в 21 степени, оно хуй у тебя запишется просто так.

24 июня, 15:11 483 1216384

https://ideone.com/fynakg
Как оно работает, может кто-нибудь тугому объяснить? Вот мы задаем значение num для функции, а как и откуда потом появляется acc, как на 7 строчке оно работает если не вводили никаких acc? С рекурсией все было намного понятнее.

Ответы1639116393

24 июня, 15:29 484 1216391

>>1216384
Так это и есть рекурсия.

24 июня, 15:31 485 1216393

>>1216384
acc - это параметр внутренней функции iter.
Сначала iter вызывается с параметром 2.
А потом - рекурсивно, с уточнённым параметром.
Пока не будет достигнуто одно из условий выхода из рекурсии (if'ы).

Имя переменной acc - подразумевает аккумулятор (в рекурсивных функциях).

num берётся из внешней функции.

Тебе надо разобраться с замыканиями (closure) и рекурсией.

Ответы1639616398

24 июня, 15:40 486 1216396

>>1216393
acc - это параметр внутренней функции iter, а для чего ему параметр 2?
https://jsfiddle.net/q6v79gnu/8/
Вот меняю параметр и ничего не меняется, почему так, зачем он? в бесплотных на хеслете говорят что итеративное решение

Ответы1640216404

24 июня, 15:43 487 1216398

>>1216393
Например, надо найти наименьший делитель для числа 5. Это будет само число 5, естественно.

Тогда будет такая цепочка вызовов:
iter(2){iter(3){iter(4){iter(5)}}}

Слово return я убрал, оно подразумевается.
Т.е. iter(2) вернёт результат _позже_ всех, когда все внутренние вызовы вернут результаты в обратном порядке.
Т.е., число 5 будет передано по цепочке вызовов наверх.

24 июня, 15:46 488 1216402

>>1216396
2 - это то, с чего начинают искать ответ.
Это не параметр, а значение параметра.
Можешь хоть с 100 начинать, только вот, что ты найдёшь таким образом?

24 июня, 15:48 489 1216404

>>1216396
>говорят что итеративное решение

Нет.
Это рекурсия - функция вызывает сама себя с новым значением параметра.
Другой вопрос, что рекурсия тут простейшая, и её можно просто заменить на цикл.

24 июня, 15:55 490 1216407

Всё ребята я разобрался, спасибо за такой быстрый фидбек!

24 июня, 17:28 491 1216478

Тупой нубский вопрос - допустим есть такой класс:

class myClass { constructor(a){ this.a = a; this.b = this.a*2;} }

let obj = new myClass(5);
obj.a выдаст в консоли 5, а obj.b выдаст 10

но при этом если присвоить
obj.a = 6
то obj.b по-прежнему будет показывать 10!
why?
как эту срань перерассчитать?

Ответы1648616487

24 июня, 17:34 492 1216486

>>1216478
>как эту срань перерассчитать?

Если тебе нужно именно это, надо делать геттер (гугол в помощь).
Или просто метод getB() {return this.a * 2}

24 июня, 17:34 493 1216487

>>1216478
Что тебя смущает? То, что значение переменным присваивается при создании объекта, или то, что b хранит значение переменной, а не ссылку на a?

Ответы1649516505

24 июня, 17:43 494 1216495

>>1216487
>что b хранит значение переменной, а не ссылку на a
Да, вот это вот и смущает

Ответы1649816505

24 июня, 17:46 495 1216498

>>1216495
Насколько я знаю, в жс ссылочное присваивание идет только к объектам и функциям.

24 июня, 17:55 496 1216502

141 Кб, 617x747136 Кб, 655x711

Ребята, потянет ли какое-нибудь из этих говн Jetbrains WebStorm без тормозов? Или без 16 Гб оперативки можно даже не мечтать?

Ответы16511165451671916736

24 июня, 17:57 497 1216505

>>1216487
>>1216495
Дело тут совсем не в том, ссылка это или нет.
А в том, что _выражение_ вычисляется один раз в конструкторе, при создании данного объекта.

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

Короче, пойми разницу между значением и выражением, и т.п.

Ответы16520

24 июня, 18:01 498 1216511

>>1216502
SSD нужно ставить.
И Core i5 + 8 Gb.

Алсо, ноутбук для серьёзного кодинга - это не очень хорошая идея.
Мобильный проц он такой мобильный, лол.
Или ты думаешь на нормальном процессоре полкило меди просто так висит?

Не надо смотреть на хипстеров в кофешопах, это просто картинки.
А суровая реальность - сурова.

Ответы1651716524

24 июня, 18:04 499 1216517

>>1216511
Охуеть, я-то думал, что вы будете отвечать, мол, конечно, потянет, это же Вебсторм, а не Far Cry 5. А тут вон всё как печально. :(

Ответы16529

24 июня, 18:06 500 1216520

>>1216505
Да, разобрался, спасибо. Так и пришлось мутить сеттер, чтоб он "переустанавливал" заново нужные мне поля

Ответы16529

24 июня, 18:08 501 1216524

>>1216511
Посмотрел у себя.
На десктопе i7 3770K + 16 Gb + SSD Samsung 850 Pro 256 Gb.

Запущеа идея, в ней открыт большой java проект.
И запущена виртуальная машина VmWare с сервером.
Памяти израсходовано 5.1 Gb.
Всё работает быстро и хорошо.

JavaScript побольше отожрал бы, конечно.
Но не думаю, что намного.

Короче - ssd + проц решают.

24 июня, 18:10 502 1216529

>>1216520
Можно и сеттер.
Если читаешь много раз, а пишешь мало.
Но, без нужды лучше лишнее состояние не хранить.

>>1216517
Он потянет.
Особенно, если ты поставишь любой SSD.
Я же говорил не о "потянет", а о получении удовольствия.

Ответы16532

24 июня, 18:13 503 1216532

>>1216529
И да, большой экран.
Минимум 24" full hd.

24 июня, 18:26 504 1216543

Кто-нибудь знает, как правильно деплоить приложения с помощью PM2?

Под правильно я подразумеваю, что установка зависимостей и конпеляция должны происходить на билд-сервере. То, что есть в документации PM2 — это какой-то пиздец: git clone, npm install, grunt dist выполняется на целевом сервере.

Очевидное решение — копировать билд-артефакт с помощью rsync и вызывать "pm2 reload" через ssh, но вроде как PM2 уже предоставляет средства удаленного деплоя, так что странно им не воспользоваться, если он настраивается как надо.

24 июня, 18:28 505 1216545

>>1216502
А нужен ли тебе жырный вебшторм, если в VS Code есть все необходимое?

1,9 Мб, 1920x3131
24 июня, 18:45 506 1216562

сильно начинающий вопрос
Привет анон! подскажи пожалуйста по нескольким вопросам.
Есть JS динамически генепирующий кучу контента типа статей
Есть директория к кучей изображений и текстов .
Я к сожалению пока пишу только на JS и то новичок , поэтому не придумал ничего лучше чем забирать тексты из JSON ajax запросом и для каждой картинки прописывать URL и высоту- ширину . В общем кошмар .

Задача "сгенерировать HTML считывая картинки и тексты из файлов" вообще решается только на JS с jquery ?
Если нет скорее всего нет какой самый простой бекенд для этого нужен. Может джанго или rails

24 июня, 19:30 507 1216602

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

Ответы166031660516655

24 июня, 19:30 508 1216603

>>1216602
>стейта*

24 июня, 19:31 509 1216605

>>1216602
componentDidUpdate

Ответы16613

24 июня, 19:45 510 1216613

>>1216605
Попробовал, но он срабатывает два раза: один раз с предыдущей длиной, второй - с новой. Так и должно быть?

Ответы16629

24 июня, 20:10 511 1216629

>>1216613
А массив у тебя как в компонент попадает?

24 июня, 20:37 512 1216650

Возможно ли вывести request headers как в дебагере во вкладке Network?

24 июня, 20:52 513 1216655

>>1216602
>одно поле стейста подсчитывало длину массива в другом поле?

Спрашивается, нахуя?
Вычисляй вычисляемое прямо в render() или где ты там его используешь.

Один из хороших принципов программирования - не храни лишние состояния без нужды.

8 Кб, 233x217
24 июня, 20:53 514 1216656

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

Ответы1665816660

24 июня, 20:55 515 1216658

>>1216656
Lifting state up + forwarding refs.

Ответы16665

24 июня, 20:59 516 1216660

>>1216656
Если они логически не связаны или общий родитель слишком далеко, то создай простенький стейт контейнер сам, это не сложно. Необязательно глобальный.

24 июня, 21:02 517 1216665

>>1216658
А рефы тут причём?
Общее состояние вынести наверх, в общий компонент, да.
Если общего компонента нет - создать фейковый.

В процессе можешь поймать себя на мысли, что уже пишешь редукс. В этот момент надо перестать - он уже есть готовый, лол.

24 июня, 21:06 518 1216668

>>1216064
Практический смысл этой хуйни - именно композиция и ничто иное.

Ответы16682

24 июня, 21:20 519 1216682

>>1216668
Какая, блядь, композиция?
Чего и с чем?

Набери в гугле functional composition и почитай.

Ответы1669116695

24 июня, 21:34 520 1216691

>>1216682
Шизоид, не позорься хоть.

24 июня, 21:39 521 1216695

>>1216682
>Шизоид
Это ты меня, типа, оскорбил, лол?

Аргументы будут?

У тебя очевидные проблемы с пониманием смысла слова "композиция" (и слова "шизоид", кстати).

Ответы16737

24 июня, 21:57 522 1216705

Можно как-то анимировать закрытие модалки на реакте? Появление я сделал, а вот закрытие по кнопке хз.

24 июня, 22:18 523 1216719

>>1216502
А почему у тебя на втором скрине цифра 8 отфотошоплена?

Ответы16765

24 июня, 22:38 524 1216736

>>1216502
> Jetbrains WebStorm
emacs js2-mode, нахуя тебе это говно-ide?

24 июня, 22:39 525 1216737

>>1216695
Ну ты реально шизоид, сам себе отвечаешь.

Ответы16758

24 июня, 22:55 526 1216758

>>1216737
Ну, это аргумент, конечно.

24 июня, 22:58 527 1216765

>>1216719
Потому что изначально там стояло 4 Гб, а я добавил ещё одну планку на 4 Гб.

25 июня, 02:01 528 1216912

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

244 Кб, 500x300
25 июня, 16:55 529 1217214

Только что закончил читать первую часть кантора. хочется попрактиковаться и написать что-нибудь длиннее 100 строк. Где можно стырить практические задания без знания ДОМа?

Ответы17235

300 Кб, 1920x1080
25 июня, 18:16 530 1217235

>>1217214
кодворс мб

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

Подскажите, есть ли реализации лучше и почему моя может быть говном?

Ответы1733917436

25 июня, 18:47 531 1217240

Когда реакт сдохнет?

Ответы17253

25 июня, 18:51 532 1217243

Можно как-нибудь сделать так, чтобы функция byExtension возвращала значение resolve из промиса?

Написал промисификацию readBook через асинхронный createReadStream. И вот теперь не знаю, как сделать ее синхронным. А это один из кусочков условия по расширению, и переписывать все из-за промиса не хочется.

[code]
let byExtension = function (filePath) {
var ext = path.extname(filePath);
if (ext === '.json') {
return JSON.parse(fs.readFileSync(filePath));
}
else {
return readBook(filePath).then(function (value) { return value });
};
};

console.log(byExtension('./example1.xlsx'));
[/code]

Ответы17255

25 июня, 19:05 533 1217253

>>1217240
вчера

25 июня, 19:07 534 1217255

>>1217243
а сейчас что возвращает, ыт же зэн написал

Ответы17257

25 июня, 19:11 535 1217257

>>1217255
Он возвращает состояние Promise { <pending> }

Пытался через async/await. Тоже самое.

Ответы17261

25 июня, 19:21 536 1217261

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

25 июня, 20:33 537 1217318

Вопрос по DOM: как получить xpath от одного элемента до другого. Например, от инпута до связанного с ним через for лейбла? Чтобы на выходе получить что-то вроде ./../../div/huina/malafia/label

Ответы17338

25 июня, 20:50 538 1217338

>>1217318
querySelector

Ответы17345

25 июня, 20:51 539 1217339

>>1217235
По-хорошему разлогинивать надо на сервере. Разлогин по таймауту - это так-то для безопасности придумано, а в твоем случае если кто-то таки угонит сессию, то он совершенно точно позаботится над тем, чтобы твой клиентский код по разлогину не сработает.
Ну и
>mousemove
>scroll
ты хоть debounce на это дело повесь.

Ответы1734817549

25 июня, 20:59 540 1217345

>>1217338
Квериселектор просто отбирает элемент по селектору. У меня уже отобраны элементы и нужно найти xpath между ними.

25 июня, 21:05 541 1217348

>>1217339
>debounce
От маузмува лисенеры же все равно будут лисенить, запросов будет столько же, и одно присвоение переменной дела не сделает, разве нет?

4 Кб, 874x346
25 июня, 21:12 542 1217352

ПЕРЕКАТ

>>1217351 (OP)
>>1217351 (OP)
>>1217351 (OP)

ПЕРЕКАТ

25 июня, 23:21 543 1217436

>>1217235
Ебать меня залепило на кодворсе. Чому я раньше его не юзал. Спасибо.

321 Кб, 1920x1080
26 июня, 08:25 544 1217549

>>1217339
Сделал, как ты сказал, вышло круто!

27 июня, 15:55 545 1218327

Учусь погромировать на freecodecamp, дошел до легких алгоритмов, все довольно быстро решил, а с этой тупяк, помогите(только не решайте за меня, дайте наводку)

Условие задачи:
Return the lowest index at which a value (second argument) should be inserted into an array (first argument) once it has been sorted. The returned value should be a number.

For example, getIndexToIns([1,2,3,4], 1.5) should return 1 because it is greater than 1 (index 0), but less than 2 (index 1).

Likewise, getIndexToIns([20,3,5], 19) should return 2 because once the array has been sorted it will look like [3,5,20] and 19 is less than 20 (index 2) and greater than 5 (index 1).

Как отсортировать массив - я узнал сразу - для этого уже есть встроенный метод sort. Но как сравнить элементы и найти приближенное число? Чёт не пойму.

28 июня, 09:34 546 1218704

Привет, друг анон. Объясни, почему не работает этот код? (не ленись, там две строчки)
https://codepen.io/anon/pen/EROKMw

спасибо.

Ответы1871219983

28 июня, 09:43 547 1218712

>>1218704
и этот
https://codepen.io/anon/pen/rKQLVG

Ответы19983

30 июня, 07:23 548 1219983

>>1218704
>>1218712

жквери забыл подключить

Ответы20868

SAGE 30 июня, 12:13 549 1220034

>>1206861
Для маленьких проектов подходит тот "фреймворк", у которого больше комьюнити.
Вкатываясь в новый проект на реакте, в первую очередь ты получаешь готовые свистелки-пердерлки с гита на все случае в жизни, а на Vue тебе придется стать инжинером велосипедостроителем

SAGE 30 июня, 12:15 550 1220035

>>1206904
Начни с того, что подумай о жизни
Тем ли ты вообще занимаешься?

Динамическая типизация - это манна небесная, это клиллер фича JS'а

SAGE 30 июня, 12:19 551 1220042

>>1208712
Хуя ты настрочил, можно было ограничиться этой строчкой
>airbnb

1 июля, 17:47 552 1220868

>>1219983
ха ха ебать я чёрт. спасибо братуха

1 июля, 19:00 553 1220919

пацаны, как поставить бесконечный луп сюда? чтобы текст fadeout & fadein бесконечно
https://codepen.io/anon/pen/PaVOxM
спасибо.

Ответы21056

2 июля, 00:18 554 1221056

>>1220919
отбой

1,1 Мб, 954x968
8 июля, 19:35 555 1224683

Анон , Я вот только поставил Node , начал изучать , подскажи какой самый простой способ работать с изображениями?
Нужно все парсить все изображения из определенной директории , собирая их url , размеры и тд .
В целом просто нужно выводить изображения из папки в DOM

Тред утонул или удален.
Это копия, сохраненная 26 августа 2018 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion