Программирование


Ответить в тред Ответить в тред

Check this out!
<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
579 39 147

JavaScript.thread = Number(`157`); /js/ Аноним 10/03/20 Втр 11:11:49 16292591
15794248572420.png (56Кб, 1050x1050)
1050x1050
Предыдущий: >>1620541 (OP)

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

Аноны, хочу получить советов мудрых, высераю пару предложений и код на скриншоте, а получаю смехуёчки. Как быть?

Если рассчитываешь получить дельный ответ, формулируй правильно вопрос:

У меня есть проблема\задача (А) %текст-ошибки или задача%. Я пытался решить ее так %кусок-кода-опционально% (Б), у меня не вышло %текст-ошибки%. Я погуглил, почитал документацию и попробовал сделать так %кусок-кода-%(В), но получаю ошибку (Г).

Сделай песочницу по ссылкам выше для ясности и удобства. Если никогда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Аноним 10/03/20 Втр 11:18:43 16292622
1.jpg (120Кб, 1000x1000)
1000x1000
Макаки рвутся к власте
Аноним 10/03/20 Втр 11:19:45 16292633
анон, подскажи такой помент. прилетает объект с полями но они изначально пустые. при срабатывание на ивент change он подставляет нужные значения в ключи. так вот вопрос: как мне добраться до этих ключей при этом не используя вот этот костыльный метод который в ссылке у меня сейчас описан? https://ideone.com/WeuLPY
Аноним 10/03/20 Втр 11:29:17 16292654
Аноним 10/03/20 Втр 11:54:22 16292895
Аноним 10/03/20 Втр 12:21:53 16293226
хуле тред то мертвый? или вы все в банкоматах там стоите чтобы свои копейки на рубли поменять?
Аноним 10/03/20 Втр 12:29:37 16293277
IMG202003010929[...].jpg (129Кб, 853x901)
853x901
Сап анонимусы. Хочу вкатиться в фронтенд разработку с последующим вкатом в какой-нибудь модный фреймворк. Посоветуйте годную литературу, мануалы и т.д. С js не знаком, писал свой говнокод в основном на python/golang.
Аноним 10/03/20 Втр 12:30:40 16293288
>>1629289
Дашчан не скопировал тег, печаль
Аноним 10/03/20 Втр 13:29:01 16293759
>>1629327
учи js потом реакт. По js есть Кантор, по реакту дока и мильён курсов не юдеми всяких
Аноним 10/03/20 Втр 14:06:52 162940610
кочу зп 500к в месяц - мне изучать ноду для бэка?
Аноним 10/03/20 Втр 16:33:26 162948611
Есть треды с ReactJS-сниками? В общий JS флудить не хочеться, если это не ваше. Но ждать ответа мне влень, поэтому:
1. Если React JSX - это компоненты, то получается проект будет состоять только из 1 html и остальных JSX файлов, которые хукаются друг с другом?
2. Впердолил JS template, хочу переписать на ReactJS - застопорился на Layout. Какой он в React-e? Это JSX с кучей компонентом, где между хедером, слайдерами и футерами просовываю контент определенной страницы?
3. Я нашел фишки с раутингом - React-Router - это часть фреймворка?
Накидайте пожалуйста Best practice по проектам на ReactJS, я .NET-чик, в JS-е не силен на уровне интуиции и гугла
Аноним 10/03/20 Втр 20:11:39 162961412
Чего годного почитать/посмотреть, чтобы за вечер-два вкатиться в TS + React?
Аноним 10/03/20 Втр 21:38:52 162966713
>>1629259 (OP)
Ваннаби-бэкендер на связи
Пишу на Рельсах либо на Питоновской Джанге. Встала задача реализовать список из виджетов (один под другим), которые можно перетягивать (drag and drop) и менять местами друг с другом. При этом новый порядок должен сохраниться, даже когда юзер покинет страницу (это уже лежит на бэке)
Чем и как мне это реализовать на фронте?
Аноним 10/03/20 Втр 21:47:08 162967214
Аноним 10/03/20 Втр 22:16:29 162968815
>>1629259 (OP)
Подскажите, если у меня на канвасе есть несколько элементов, то кликая по одному из них, я могу получить его id? Или для такого svg используют?
Аноним 10/03/20 Втр 22:21:24 162969016
>>1629672
Блять, а я-то думал, почему я именно в этом треде отписался!
Спс, бро. Теперь все встало на свои места
Аноним 10/03/20 Втр 22:31:33 162970117
Кто каким редактором пользуется?
алсо сразу называйте зп, чтобы видеть, насколько авторитетный анон вещает
Аноним 10/03/20 Втр 22:43:31 162971218
Аноним 10/03/20 Втр 22:43:53 162971319
Ананисты, дайте какой-то то костыль для написания красивого ПХП, типа пишем consol($hui); а он нам выводит оформленное содержимое переменной типа если бы мы написали echo '<pre>'; print_r($hui); echo '</pre>' и т.п. Штуку облегчающую и сокращающую написание кода на ПХП как это делает ЖКВЕРИ на ЖАВАСКРИПТ, то есть штуку работающую на готовых функциях я так понимаю
Аноним 10/03/20 Втр 22:50:17 162971620
>>1629486
> 1. Если React JSX - это компоненты, то получается проект будет состоять только из 1 html и остальных JSX файлов, которые хукаются друг с другом?
JSX компоненты в реакте это жс объекты. Проект состоит из одного хтмл файла, в котором должен быть рутовый дом элемент, обычно это див, после чего в этот див и рендерится твоя приложуха.
>которые хукаются друг с другом?
Структура жсх это обычное дерево, в рутовый компонент импортишь всю свою кашу.
>Впердолил JS template, хочу переписать на ReactJS - застопорился на Layout. Какой он в React-e? Это JSX с кучей компонентом, где между хедером, слайдерами и футерами просовываю контент определенной страницы?
Хз что это за поток слов, но если ты хочешь добавить реакта на уже существующию странуцу, то просто создай пустой див, в который заинжекти реакт приложуху.
>Я нашел фишки с раутингом - React-Router - это часть фреймворка?
Это часть экосистемы, для роутинга обычно используется эта либа https://reacttraining.com/react-router/
Аноним 10/03/20 Втр 23:50:14 162974521
>>1629667
>Чем и как мне это реализовать на фронте?
Конечно же реактом!
либа для перенести-и-бросить
https://github.com/atlassian/react-beautiful-dnd

Накидал тебе пример оттуда же. Только добавил сохранение в кеше браузера. Строчки 15 и 17. Вместе с/Вместо кеша можно сделать обращение с апи. Чтобы увидеть, что твой список сохранился - перезагрузи страницу.
https://codesandbox.io/s/vertical-list-yyft1
Аноним 11/03/20 Срд 00:07:23 162975122
15838537194750.jpg (3Кб, 112x112)
112x112
Как работать с чанками данных? Банальный пример - фильм. Как это все работает? Как это должно работать? Сколько не искал, толковой инфы, отвечающей на мои вопросы найти не смог.

Вот, как думаю я:
1. Клиент делает запрос на размер запрашиваемого файла.
2. После получения ответа, на клиенте каким-то алгоритмом определяется оптимальный размер каждого чанка, основываясь на полученных данных.
3. После этого клиент запрашивает, например, первые 0-1000 байт через Content-Length.
4. Сервер ему отсылает эти байты, после чего на клиенте формируется blob, который тут же воспроизводится.
5. Далее, в зависимости от текущего положения, клиент выполняет запросы далее 1001-2002 каждые X секунд, пока не достигнет максимального запаса для просмотра, чтобы не перегружать память клиента.
6. Если клиент решит в случайное место ткнуть ползунок, то высчитывается выбранный диапазон и все повторяется с 3 шага.

Так ли это?

Еще интересует, как новые чанки состыковать с предыдущими, которые уже являются blob объектом?

А с кэшем как?

Блядь, как же это сложно, нахуй...
Аноним 11/03/20 Срд 00:10:43 162975523
Аноним 11/03/20 Срд 00:18:01 162976124
>>1629755
>https://nodejs.org/api/stream.html
Да про это то понятно. За сторону сервера вопросов пока нет, если я правильно понимаю. Отослать запрашиваемый диапазон байтов не сложно. Сложно понять как это на стороне клиента все должно работать. Как стыковать эти чанки и хранить в кэше, чтобы повторно постоянно не запрашивать одно и тоже, если придется перематывать обратно.
Аноним 11/03/20 Срд 00:40:02 162978125
>>1629761
Есть уже готовые апи для работы с видео и аудио. Написал бы что сделать хочешь.
Аноним 11/03/20 Срд 02:03:42 162980326
Какой конченый пидорас придумал столь блювотную структуру для ООП подхода? Я один считаю MVC подход максимально уёбищным и вырвиглазным?
Аноним 11/03/20 Срд 04:24:04 162984727
>>1629781
Реализовать работу с чанками. Понять как это работает. Написать свой велосипед.
Аноним 11/03/20 Срд 06:22:28 162986128
Аноним 11/03/20 Срд 06:43:00 162986429
>>1629688
канвас - пиксельный, в нем нет элементов как таковых
свд - векторный, в нем у элементов могут быть айди
Аноним 11/03/20 Срд 06:43:29 162986630
>>1629713
>Штуку облегчающую и сокращающую написание кода на ПХП как это делает ЖКВЕРИ на ЖАВАСКРИПТ
щито
Аноним 11/03/20 Срд 07:21:28 162987231
>>1629861
При чем тут вообще плюсы? Блядь, если вы сами не знаете, нахуя хуйню нести такую? Подожду тех, кто знает, а еще лучше, кто писал свой медиа-плеер на js.
Аноним 11/03/20 Срд 08:09:51 162987732
>>1629872
У тебя есть тот сервер, выдающий конвертируемые в блоб байты?
Аноним 11/03/20 Срд 08:28:48 162988133
>>1629877
У меня пока ничего нет. Я продолжаю искать инфу, как это все правильно организовать перед реализацией. Алсо, на сервере я бы просто сделал что-то вроде fs.createReadStream(file).pipe(response).

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

Еще я смотрел как работает youtube/vimeo. Они выполняют запросы постепенно, словно обращаются к файлу. Т.е. такое ощущение, что у них эти все видео хранятся в уже порезаном на части состоянии. Когда смотрел содержимое запросов и ответов, они Content-Range даже не использовали.

Пытался их исходники проанализировать, там вообще хер разберешь что в коде происходит после этих вебпаков.
Аноним 11/03/20 Срд 08:35:54 162988534
23452.png (17Кб, 640x179)
640x179
>>1629881
И еще, опять же, когда я писал аудио-плеер, blob я формировал на стороне клиента. Вот так
Аноним 11/03/20 Срд 09:05:35 162989635
>>1629885
then внутри другого then?
Аноним 11/03/20 Срд 11:50:38 162998436
>>1629872
Так задача написать кастомный медиа плеер, а не с чанками поебаться?
Аноним 11/03/20 Срд 11:55:58 162999037
Аноним 11/03/20 Срд 11:58:08 162999238
Аноним 11/03/20 Срд 12:00:48 162999339
>>1629716
спасибо, про поток слов - я нашел web template - https://colorlib.com/wp/template/logis/, захотел его переписать на ReactJS - начал пукориться с компоновкой компонентов. Еще вопрос - насчет Layout - ты написал, что проект это один Html, на него будет 1 компонент - Layout.jsx, в котором будут куча других компонентов?
И ты можешь какой ни будь пример не большой скинуть, как это все правильно обустроить? Типо best practice
Аноним 11/03/20 Срд 12:06:39 162999640
>>1629803
>Я один
>пидорас
солидарен с тобой
MVC - максимально простое разделение сущностей
Аноним 11/03/20 Срд 12:10:44 163000041
Аноним 11/03/20 Срд 12:13:21 163000142
>>1629996
никто кроме пыхарей не любит мвк
Аноним 11/03/20 Срд 12:13:48 163000243
>>1629993
>Еще вопрос - насчет Layout - ты написал, что проект это один Html, на него будет 1 компонент - Layout.jsx, в котором будут куча других компонентов?
Будет index.html в котором будет <div id="app"></div>, реакт в него примаунтит(отрендерит) какой-нибудь App.js в которм ты уже будешь импортировать все свои компонент. Поставить create-react-app и посмотри структуру
Аноним 11/03/20 Срд 12:16:01 163000344
Аноним 11/03/20 Срд 12:45:59 163002545
>>1629996
сын шалавы что ты там пукнул, научить читать весь текст, а не то что тебе хочется в нём видеть
Аноним 11/03/20 Срд 12:54:47 163003646
>>1630025
это какой то наглый пыхарь который молится на мвк и пытается разобраться в реакте даже не зная что реакт обычно не применяют в мвк говне
Аноним 11/03/20 Срд 13:16:17 163005747
>>1629984
И то и другое. У стандартных <audio> и <video> нет api, чтобы манипулировать с данными. Я же сказал, что мой способ, когда я пытался с аудио работать, не сработал. У меня файл пока не загрузится полностью, не будет воспроизводиться. Поэтому нужно как-то самому управлять этими данными. Вручную. Что тут, блядь, не ясно?

>>1630000
Ты тупой?
>Как это все работает? Как это должно работать? Сколько не искал, толковой инфы, отвечающей на мои вопросы найти не смог.
>Еще интересует, как новые чанки состыковать с предыдущими, которые уже являются blob объектом?
>А с кэшем как?
>на практике воспроизведение не начинается, пока файл не загрузится полностью.
Аноним 11/03/20 Срд 13:36:19 163007848
>>1630057
>И то и другое.
Старина, хуйней ты маешься. Если не знаешь с чего начать, особенно, когда задача для тебя слишком сложная, то упрости все нахуй. А то какие то чанки, хуянки.
Я бы так делал - взял бы видос, порезал бы его на кадры ффмпегом - картинки бы перегнал в base64. На клиенте бы в цикле запрашивал бы куски и рендерил бы их в канвасе. Это если прям кастомный плеер делать. Ну и со звуком бы примерно так же делал. Дальше гугли видео кодеки и занимаешься байтоебством. Но нахуя?

Второй вариант, который используют многие плееры - они режут весь видос на куски по 3-5 секунд, после чего в нужный момент запрашивают нужный кусок. И показывают его. Ну и поверх дефолтного видео можно интерфейс замутить.

>Как это все работает? Как это должно работать? Сколько не искал, толковой инфы, отвечающей на мои вопросы найти не смог.
Хуево искал. Просто это не твой уровень. Ты бы сначала хелоуворлды поделал.
>Еще интересует, как новые чанки состыковать с предыдущими, которые уже являются blob объектом?
Ты ебанутый со своими чанками.
>>А с кэшем как?
Да никак. В локалсторейдже, насколько я знаю, всего 5 метров можно сохранить.
>на практике воспроизведение не начинается, пока файл не загрузится полностью.
Смотри выше про куски по 5 секунд.
Аноним 11/03/20 Срд 13:48:39 163009749
Анонсы, я правильно понимаю, что вместо ссанных классов можно использовать и обычный объектассоциативный массив называется в php, то есть вместо

class Hohl {
function salo() {console.log("Hellow ЕБАТЬ")}
};
svinina = new Hohl;
svinina.salo();

Можно использоваться и

var Hohl = {
"salo": "Hello ЕБАТЬ"
};
Hohl.salo();

И считай это одно и тоже?

Возможно в коде ошибка, сейчас засосало в php, мог и перепутать, но я так понял в php по этого и дрочат классы, что у них ассоциативный массив не может содержать функции, как это может делать простой объект у нас в JS, я правильно понял или проебался?
Аноним 11/03/20 Срд 13:59:16 163011450
>>1630078
>Второй вариант, который используют многие плееры - они режут весь видос на куски по 3-5 секунд, после чего в нужный момент запрашивают нужный кусок. И показывают его. Ну и поверх дефолтного видео можно интерфейс замутить.
Так мне вот хотя бы это и сделать. Мне просто нужно, чтобы файлы по 50/100+ мегабайт не пытались сначала полностью загрузиться, а уже потом только предоставлять клиенту возможность его слушать.

Со стандартными audio/video у меня не работает так, как это надо. Я уже сказал об этом 3 раза.

>Да никак. В локалсторейдже, насколько я знаю, всего 5 метров можно сохранить.
Под кэшем я подразумевал оперативную память, в которой какое-то время можно хранить относительно много информации.

Буду более конкретным. Открываю свой проект, с которым раньше что-то пытался сделать. Вот тут ключевые фрагменты кода.
https://jsfiddle.net/mfq8n9ga/

В функции sendAudioFile я пытался оперировать с частью данных, устанавливая end в несколько мегабайт, тогда вообще происходит какая-то херня.

>многие плееры - они режут весь видос на куски по 3-5 секунд
Т.е. на сервере файл физически уже в порезанном виде хранится? Или этим постоянно занимается сервер, отправляя данные? Мне это было бы не удобно, ибо сервером является мой пк, на котором я эти файлы использую. Поэтому хочу понять как правильно нужно разбить этот файл на части программно. Как я уже сказал, пытался со start и end оперировать - не вышло.
Аноним 11/03/20 Срд 14:05:41 163012951
>>1630057
><audio> и <video>
>манипулировать с данными
Потому что они не должны манипулировать
API манипулированием данных состоит из буквально пары топ лвл объектов их sourcebuffer mediasource mediameta и т.д, по всем должно быть всё расписано в одной какой-нибудь статье
Если ты не осилил сорсы hls/mpeg, крутящие абсолютно несложные материи выше, нахуй ты вообще лезишь?
Высрал две строки толкания блоба, еще и каким-то образом всрато вложенные в промисы, а чсв как у байтоеба с 20 летним стажем
Аноним 11/03/20 Срд 14:07:24 163013352
>>1630097
класс это больше чем просто ассоциативный массив с функциями
так то проблем использовать функцию в объекте нет

let obj = {fn: () => console.log(42)}
obj.fn()
42

класс должен иметь конструктор который создаёт его инстанс
в джаваскрипте класс это не простой объект - ассоциативный массив, а функция

function A(a) {this.a = a}
let a = new A(11)
console.log(a.a)
11

Аноним 11/03/20 Срд 14:17:50 163014453
>>1630129
>Потому что они не должны манипулировать
Поэтому и хочу разобраться как самому этим управлять. Мне все равно как это будет достигнуто, мне просто, блядь, нужно чтобы файл подгружался частями. Код я скинул, если ты дохуя умный, то объясняй почему это не работает. Нахуя ты пердишь в лужу, еще называя кого-то чсв? Мне вообще похуй, я хочу решить проблему.

>Если ты не осилил сорсы hls/mpeg, крутящие абсолютно несложные материи выше, нахуй ты вообще лезишь?
Чего, блядь? Что ты несешь вообще? Конечная цель - воспроизвести файл, достигнута. Но то, как это работает на практике, мне не нравится.

>Высрал две строки толкания блоба, еще и каким-то образом всрато вложенные в промисы
А как их еще вложить, чтобы получить доступ к response.headers.get('content-type') во втором then? Расскажи. В любом случае, от этого ничего не меняется.

Вот, блядь. Буквально вся суть местного скама. Когда задают вопросы сложнее того, как разбить строку на подстроки, так сразу цепляются к какой-то хуйне, не могут четко и ясно что-либо сказать по делу. Вместо этого говном покроют, вылив все свои омежкины комплексы. Пиздец. Хррртьфу!
Аноним 11/03/20 Срд 14:23:09 163015254
>>1630144
Долбаеб я тебе написал sourcebuffer mediasource mediameta
API уровнем выше придумать просто невозмжно
Вместо пердежа десятка параграфов мог бы уже догуглить двухстраничную документацию по этому хеллоуворлду
Аноним 11/03/20 Срд 14:33:12 163016255
>>1630114
>сервером является мой пк, на котором я эти файлы использую. Поэтому хочу понять как правильно нужно разбить этот файл на части программно
Ты так и не написал. какую задачу решаешь, а мне надоело гадать и задавать наводящие вопросы. Так что или напиши, что собераешься делать или ебись сам с этим.
Аноним 11/03/20 Срд 14:36:38 163016656
>>1630152
Там поддержка для нужной мне платформы нулевая. Android Firefox. Можно ли с blobами это решить? У меня никаких нет идей, кроме как как-то постоянно пересобирать этот blob при получении нового чанка. Но для этого еще нужно как-то разбить файл на эти чанки на сервере. Как это сделать правильно? Чтобы это работало? Чтобы на клиенте можно было жонглировать ими? Чтобы вот это вот все.

>>1630162
А что не понятного? Медиа-ресурс для души. Чтобы с телефона можно было получить доступ к гигабайтам личной музыки и послушать ее. Не надо мне облаков никаких предлагать только. Это еще интерес какой-то у меня вызывает.
Аноним 11/03/20 Срд 14:38:42 163016757
>>1630133
Функция над функциями? Или даже функция имеющая методы? Ебануться
Аноним 11/03/20 Срд 15:00:18 163018058
image.png (27Кб, 1270x309)
1270x309
Я забыл как сделать так, чтобы по дефолту запускался определенный метод, если мы просто запускаем функцию. Пикрелейтед я использую a.inc() и a.dec(), я хочу чтобы при a() автоматически запускался метод inc() в замыкании. В JS учебнике была эта статья, но её выпилили.
Аноним 11/03/20 Срд 15:08:27 163018859
Есть аналог стены вк, реализованный на Vue. Есть компонент создания поста и компонент вывода постов.

Для ообновления постов после удаления или редактирования создал асинхронный метод, который выполняет GET- запрос, получает список постов и перезаписывает их список в data. Этот метод я передаю в компонент создания поста пропсом и вызываю там после создания.

Подключен плагин moment js, но после перезаписывания списка постов дата (минут назад...) не обновляется и остаётся той, что отрисовалась при загрузке страницы. Как можно исправить?
Аноним 11/03/20 Срд 15:29:48 163020460
>>1630057
>ты тупой?
Нет, ты.
В статье которую я кинул на какой из твоих вопросов нет ответа?
Аноним 11/03/20 Срд 15:33:14 163021261
>>1630180
хуйню какую-то написал.
a - объект. Ты не можешь вызывать объект, как функцию.
Никаких "дефолтных методов" у объекта в js нет.
Аноним 11/03/20 Срд 15:34:20 163021462
Аноним 11/03/20 Срд 16:09:57 163023663
>>1630214
Видео с кроликом с полным кодом из статьи у тебя не идёт?
Аноним 11/03/20 Срд 16:16:34 163024364
>>1630236
кролик-то и не стримится
Аноним 11/03/20 Срд 16:20:06 163024665
1.jpeg (6Кб, 184x184)
184x184
>>1630243
Это просто пиздец ты похоже абсолютно не понимаешь ни чего ты хочешь ни что ты копипастишь
Аноним 11/03/20 Срд 17:22:30 163029966
Подкиньте ресурсы с web api с бесплатным ключем для парсинга (потестить)
Аноним 11/03/20 Срд 17:37:21 163031867
Аноним 11/03/20 Срд 17:59:35 163035468
>>1629259 (OP)
Я просто оставлю здесь Тьюринг-полные шрифты, которые могут захакать все ваши системы.
Аноним 11/03/20 Срд 18:02:54 163035869
>>1630354
жалко не отобразились
Аноним 11/03/20 Срд 18:05:43 163036070
>>1630358
Я оставил ключевую фразу для гуглежа.
И знаешь как они хакают? А вот так: https://habr.com/ru/post/429602/
Сначала вгружается непреметненький шрифтик...
А у него... эммм. ТЬЮРИНГ-ПОЛНОТА!
После чего хакаются все системы нахуй, к хуям собачьим!
Аноним 11/03/20 Срд 18:14:45 163036471
>>1630360
Если знать о тьюринг-полноте шрифтов, то уже не удивляет полнота по Тюрингу документов TeX, что естественно вызывает многие серьёзные и интересные уязвимости в безопасности шрифтов и медиа, такие как BLEND или Linux-эксплоиты SNES и NES. В других форматах вроде PDF просто ужасное количество уязвимостей. Опять же, выдающиеся достижения вроде создания небольшой машины Тьюринга из кубиков «Лего» или домино, не считаются, поскольку нам уже давно известно, как работают механические компьютеры.
Аноним 11/03/20 Срд 18:27:58 163037572
>>1630318
что то я туплю, но не могу найти ключ
Аноним 11/03/20 Срд 18:31:13 163037773
Аноним 11/03/20 Срд 18:35:38 163038074
>>1629259 (OP)
Студент, учусь на айти направлении. Параллельно недавно начал самостоятельно вкатываться в веб разработку, так как нравится. Но чем дальше погружаюсь в тему, тем чаще и больше слышу что-то вроде "вебмакаки не нужны", "вебмакака не программист", "вас всех заменят тильды через 5 лет" и т.д.

Очень все это неприятно слышать, учитывая то, что веб разработка мне действительно нравится. Почему создался такой стереотип? Есть ли в этом доля правды? Может, мне стоит идти в другом направлении, пока не поздно? Не хотелось бы.
Аноним # OP 11/03/20 Срд 18:44:33 163038775
>>1630380
Стадный инстинкт. Не нравится веб - не учи, нравится - учи и программируй. Большинству насрать, на чем ты кодишь. Люди хотят чтобы их слышали, независимо от того, какую чушь они несут.
Аноним 11/03/20 Срд 18:45:13 163039176
>>1630188
Бамп вопросу, не нагуглил решение.
Аноним 11/03/20 Срд 18:45:59 163039477
>>1630377
да, рили - один фетч и погнали. Спасибо
Аноним 11/03/20 Срд 18:50:38 163040078
>>1630360
Нихуя не понял, можешь кратко по русски описать что это за хуйня и что из-за неё может случиться?
Аноним 11/03/20 Срд 18:52:59 163040379
>>1630380
бля анон когда я начинал учить тоже думал что влезаю в говно, не слушай даунов бородатых хадротов, блять, веб правит миром, этого тебе должно быть достаточно, все визги и вяки это от старых аутистов которые до сих пор борятся за каждый бит скорости и нагрузки, что конечно есть хорошо, но никто так делать не будет, все выберу дерьмо которые сжирает всю память на устройстве для своего выполения
Аноним 11/03/20 Срд 18:57:04 163040580
>>1630387
Мне нравится веб по-настоящему, но я ещё при этом хотел бы иметь валидную профессию, чтобы зарабатывать на этом ближайшие лет 30.
Аноним 11/03/20 Срд 19:00:40 163040881
>>1630405
Значит ты испытываешь стадный инстинкт и ищешь выбор, который одобрили бы окружающие. Решай сам.
Аноним 11/03/20 Срд 19:12:21 163041782
>>1630400
Тьюринг-полнота позволяет реализовывать абсолютно любые компьютерные вычисления.
Аноним 11/03/20 Срд 19:19:09 163042283
>>1630408
В смыслея причем тут стадный инстинкт? Мне похуй, если все будут говорить типа моя профессия не профессия, но я хочу, чтобы на деле она все же была профессией.
Аноним 11/03/20 Срд 19:19:27 163042484
>>1630403
В итоге кем ты стал?
Аноним 11/03/20 Срд 19:19:53 163042585
>>1630422
Ну так открой нн и посмотри вакансии.
Аноним 11/03/20 Срд 19:42:28 163044186
>>1630424
Никем, потому что послушал вот этих чмарей и не стал учить js и php
Аноним 11/03/20 Срд 19:43:32 163044287
>>1630417
Так это уязвимость или нет? Чем это грозит яваскрипту? Инъекции на сайт с помощью шрифта в комментариях? Я нихуя не понял
Аноним 11/03/20 Срд 19:48:05 163045288
>>1630425
Вакансий по жс много, платят хорошо, хх каждый день открываю. Но. Вопрос-то в том, как изменится ситуация через условные 5 лет. Многие пророчат веб разработке смерть. Так ли это?
Аноним 11/03/20 Срд 19:55:17 163046589
>>1630452
>платят хорошо, хх каждый день открываю
А теперь открой levels.fyi и подумай еще раз
Аноним 11/03/20 Срд 20:00:47 163047090
>>1630236
В смысле? На сайте? Или если самому запустить код на своих файлах? Алсо, мне и не подойдет этот способ, даже если он работает, ибо лиса на ведроиде не поддерживает это апи. https://developer.mozilla.org/en-US/docs/Web/API/SourceBuffer

Код я никакой не писал еще. Завтра попробую. Я пока в бреду, у меня температура высокая и мне хуево, так что пока я особо еще не вникал ни во что, просто собираю информацию поверхостно.
Аноним 11/03/20 Срд 22:38:04 163056391
>>1629745
О, годнота спс!
Только с Реактом не дружу, придется гуглить много че
Аноним 11/03/20 Срд 23:17:55 163059192
>>1630465
Still the salaries are pretty fine, was there anything you wanted to prove with your comment?
Аноним 11/03/20 Срд 23:23:58 163060293
Аноним 12/03/20 Чтв 00:09:30 163063294
Подскажите плз анончики, изучаю JS на практике, пишу юзерскрипт на 1 сайт. Там короче есть 5 блоков, в каждом по 26 других блоков. У всего одинаковые классы, только текст внутри разный. Мне нужно выбрать в 3 отдельных массива определенные блоки для дальнейших манипуляций. У меня получается так, но по моему это лютый говнокод


function GetBlocks() {

const blocks = document.getElementsByClassName('sbs_rigth');
for( let i = 0; i < blocks.length; i++){
const cats = Array.from(blocks.getElementsByClassName('field__impl'));
const cat1 = cats.slice(0 ,3);
const cat2 = cats.slice(7 ,10);
const cat3 = cats.slice(14 ,17);
const cat4 = cats.slice(21 ,24);
const cats1 = cat1.concat(cat2, cat3, cat4);

console.log ('111',cats1);
Аноним 12/03/20 Чтв 01:12:00 163064395
>>1630632
>только текст внутри разный

const blocks = [...document.querySelectorAll('.field__impl')];

function findBlock(text, blocks) {
return blocks.find(e => e.textContent.includes(text))
}

const resultArray = ['Текст из блока1', 'Текст из блока2', 'Текст из блока3', 'Текст из блока4', 'Текст из блока5'].map(e => findBlock(e, blocks));
Аноним 12/03/20 Чтв 01:22:35 163064996
image.png (124Кб, 1920x969)
1920x969
Кидайте свои результаты с triplebyte. Уезжаем работать в америку.

inb4 Квиз можно пройти три раза (не только фронт). Вопросы вполне дефолтные, но я растерялся из-за таймеров и где-то четверть точно накосячил, остальные точно не знал (там есть теоретические вопросы)
Аноним 12/03/20 Чтв 01:24:04 163065197
>>1630649
PS как же я ору с того что мне советуют фронт, при том что я проходил квиз на фронт и в то же время мой результат по фронту в их графе самый слабый.
Аноним 12/03/20 Чтв 01:31:26 163065398
>>1630643
Судя по консоли, твой вариант только из первого блока "sbs_rigth" вытягивает '.field__impl' с найденным текстом, а мне нужно из всех 5.
Аноним 12/03/20 Чтв 01:35:52 163065499
>>1630653
>document.querySelectorAll('.field__impl')
Здесь поиск по всему документу. Поиск по .sbs_rigth вообще не нужен.

Так что либо .field__impl есть только в первом блоке, либо ты что-то сломал в этом коде.
Аноним 12/03/20 Чтв 01:46:37 1630660100
>>1630649
>Уезжаем работать в америку.
А кто же страну поднимать с колен будет, так и останется в руках воров и мошенников
Аноним 12/03/20 Чтв 01:49:46 1630662101
>>1630660
Так они сами уже одно ногой там.
Аноним 12/03/20 Чтв 01:56:35 1630665102
>>1630654
>.field__impl есть только в первом блоке
Не, эти блоки везде одинаковые. Не думаю, что это имеет значение, но текст не непосредственно в них, а в Span через несколько потомков div. Просто мне нужно обращаться именно к ним.

Я твой синтаксис не до конца понимаю, стрелочный еще не изучал.
Аноним 12/03/20 Чтв 02:01:46 1630667103
>>1630665

Скинь структуру на codepen или jsfiddle.

>но текст не непосредственно в них, а в Span через несколько потомков div
Меняешь на
return blocks.find(e => e.textContent.includes(text).closest('.field__impl'))
Аноним 12/03/20 Чтв 02:05:30 1630669104
Аноним 12/03/20 Чтв 02:10:21 1630671105
>>1630667
Хотя нет, не меняешь, хуйню написал. Он и так должен найти .field__impl с нужным текстом внутри (в том чсиле и во ложенных в него блоках), но вернет .field__impl .
Аноним 12/03/20 Чтв 02:11:57 1630672106
>>1630671
Да, и смена ошибку выдает "не функция". Может тут цикла не хватает, чтоб по всем полям пройтись?
Аноним 12/03/20 Чтв 02:17:33 1630673107
>>1630672

Вслепую нормально накодить не получиться.

А циклы не нужны.

Аноним 12/03/20 Чтв 02:23:08 1630675108
>>1630673
Прост я писал похожую функцию, но отказался, поскольку ее надо вызывать много раз для каждого слова. Вот она возвращает все элемы с нужным свойством из всех 5 разделов.

function get_elements_by_inner(word) {
var res = []
var elemst = [...document.getElementsByClassName('field__impl')];
elemst.forEach((elem) => {
if(elem.outerHTML.includes(word)) {
res.push(elem)
}
})
return(res)
}
Аноним 12/03/20 Чтв 02:26:19 1630676109
>>1630675
>свойством
Словом, конечно.
Аноним 12/03/20 Чтв 02:48:59 1630679110
>>1630675
Я думал, у тебя блоки уникальные, то есть одно слово - один блок.

Вот, если нужно найти блоки с повторяющимися словами.

const blocks = [...document.querySelectorAll('.field__impl')];
const words = ['Текст1', 'Текст2', 'Текст3', 'Текст4', 'Текст5'];


const result = blocks.filter(block => words.some(word => block.textContent.includes(word)));
Аноним 12/03/20 Чтв 03:02:36 1630682111
>>1630679
Супер, работает. Спасибо, дружище.

Мда, конечно стрелочные функции сильно отличаются, хрен разберешь че происходит вообще. Надо курить мануалы.
Аноним 12/03/20 Чтв 03:28:28 1630687112
>>1630682
тут в стрелочных функциях аргументы и что вернуть. Хз что тебя тут смутило. Это наверное то, что проходят на первом занятии оффлайн курсов уже.

И еще, я тебя не хочу никак обидеть и если ты это делаешь для себя (реально для себя), то играйся на здоровье. Но если ты это потом хочешь где-то показать, то лучше остановись. Потому что эти поиски по селекторам уже никому не нужны, кроме самих фреймворков.
Аноним 12/03/20 Чтв 03:41:58 1630688113
>>1630687
>проходят на первом занятии оффлайн курсов
Я не был даже онлайн. Лет 6 назад изучал PHP пару месяцев, потом забил. А щас вот понадобилось дизайн на одном сайте под себя сделать, вот и полез в JS. Дней 5 только изучаю.
Аноним 12/03/20 Чтв 03:46:40 1630689114
>>1630687
Прост классический синтаксис похож на php, поэтому мне более понятен. Хотя хз че там щас уже.
Аноним 12/03/20 Чтв 04:07:46 1630693115
Как вы можете писать на пыхе пиздец
Аноним 12/03/20 Чтв 04:27:08 1630699116
>>1629881
Лол.
Google:
mp4box inter
nginx mp4 module
Аноним 12/03/20 Чтв 07:40:28 1630743117
>>1629327
Что мешает вебговнокодить на джанге?
Аноним 12/03/20 Чтв 07:50:33 1630744118
>>1629327

Ну тащемта есть 3 фреймворка.

1. Реакт - говно редкостное, но везде нужно.
2. Вью - шикарная вещь, но нигде не нужно.
3. Ангуляр - говно редкостное и нигде не нужно.

Выбирай 1 или 2.
Аноним 12/03/20 Чтв 07:51:08 1630746119
>>1630744
upd: если даун, то бери 2. Реакт сложнее.
Аноним 12/03/20 Чтв 08:01:56 1630748120
>>1630744
А чем вью лучше? Постоянно нужно работать в двух контекстах - вьюшная магия и js, не лучше ли что бы всё было js?
Аноним 12/03/20 Чтв 08:05:23 1630750121
>>1630748
Ебаное говно для индусов неосиливающих что-то сложнее темплейтов
Взлетело только благодаря количество этих самых дегенератов
Аноним 12/03/20 Чтв 08:48:49 1630760122
>>1630748
> лучше ли что бы всё было js

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

Во вьюхе всё удобно и искаробки. Пиздец какой удобный менеджмент стэйта через вьюх. Очень пиздатый роутер без ебли. Да и вообще хорошо когда фреймворк это фреймворк.

>>1630750
Ну да, всё так. А что такого
Аноним 12/03/20 Чтв 10:38:27 1630809123
Снимок экрана о[...].png (236Кб, 1887x367)
1887x367
анон, имеется вот такая хуйня. подскажи как мне добраться до quote чтобы я мог например обратиться к quote.title?
Аноним 12/03/20 Чтв 11:00:16 1630817124
>>1630809
quote.title в этом объекте не существует
есть например obj.quote.tariff_137_0.title (если твой объект называется obj)

ты можешь получить все ключи с помощью let keys = Object.keys(obj.quote) и подставить ключ потом obj.quote[keys[0]].title например
Аноним 12/03/20 Чтв 11:03:44 1630819125
>>1630817
только так? тут просто до меня в коде висела хуйня в виде:
_.each(obj.quote, function(quote) { alert(quote.title) }
поэтому думал может что полегче есть чтобы я мог обратиться только к тому где тариф_137 не используя этот ебучий цикл
Аноним 12/03/20 Чтв 11:36:13 1630853126
Антоны, есть блок на сайте где крутятся видеролики, в некоторых из них есть звук, можно как-то с помощью JS заблокировать звук в нужном блоке, а не на всём сайте?
Аноним 12/03/20 Чтв 13:12:55 1630964127
>>1630819
obj.quoute.tariff_137_0.title
что скажешь? /
Аноним 12/03/20 Чтв 15:16:09 1631049128
>>1630809
const { quote } = obj
for ( let tarif in quote ) {
const {title} = tarif
console.log(title)
}
Аноним 12/03/20 Чтв 15:17:40 1631052129
Аноним 12/03/20 Чтв 15:37:48 1631070130
Аноним 12/03/20 Чтв 15:40:11 1631077131
>>1630809
>2020
>хтмл инжекты с апи
Ахуенно
Аноним 12/03/20 Чтв 15:43:13 1631084132
Так, волшебники, спасибо, вы в прошлый раз здорово помогли мне, но мне снова нужна ваша помощь, пожалуйста.

Непроходимо реализовать функцию clone, которая будет работать следующим образом:

let arr = [1,2,3,4,5,6];

let brr = clone(arr);

console.log(brr); // [1,2,3,4,5,6]

brr[0] = 42;

console.log(brr); // [42,2,3,4,5,6]

console.log(arr); // [1,2,3,4,5,6]

всякими слайсами пользоваться нельзя, только циклы. У меня получается хуйня, и возвращает два массива уже с изменением (Да, я понял что это просто ссылка на оригинальный массив и перемены происходят и в оригинале, но как это бойти?)
Аноним 12/03/20 Чтв 15:44:34 1631089133
Аноним 12/03/20 Чтв 15:46:58 1631095134
>>1631084
Ты ебанутый?

const clone = arr => {
let new = [];
while(let i = 0 < arr.length -1)
new = arr;

return new;
}
Аноним 12/03/20 Чтв 15:58:24 1631120135
>>1631070
Фамилия начинается на Г? Из какого города?
Аноним 12/03/20 Чтв 16:05:16 1631128136
11.png (6Кб, 295x165)
295x165
Аноним 12/03/20 Чтв 16:14:04 1631138137
>>1631049
>for ( let tarif in quote )
пипец хак какой-то, ключи по in выдает как для массивов, а значения по of не даёт, пишет не может интегрировать объект
Аноним 12/03/20 Чтв 16:15:13 1631139138
let brr = [...arr]
Аноним 12/03/20 Чтв 16:15:24 1631140139
итерировать грр
Аноним 12/03/20 Чтв 16:16:16 1631141140
Аноним 12/03/20 Чтв 16:16:23 1631142141
>>1631139
думаю попадает под "всякие слайсы"
Аноним 12/03/20 Чтв 16:30:32 1631149142
>>1631120
Да, фамилия Говно, из города Львiв
Аноним 12/03/20 Чтв 17:11:58 1631176143
Снимок экрана 2[...].png (12Кб, 336x206)
336x206
Снимок экрана 2[...].png (12Кб, 358x226)
358x226
Есть плагин v-tooltip, и стрелочка в нём выполнена через border-width, из-за чего не получается сделать ей белый фон и рамку как у блока.
Пытался сделать через box-shadow, но треугольник не обрезается, так что тень прямоугольная (скрин 1)

Если сделать border-color, то треугольник закрашивается (пик 2)

Как можно сделать ему border и белый фон?

Стили для треугольника:

.tooltip-arrow
width: 0
height: 0
border-style: solid
position: absolute
margin: 5px
border-color: #fff
z-index: 1
box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.12)

Аноним 12/03/20 Чтв 17:12:37 1631178144
Почему в реакте в объявлении переменной используются const, а не var? Ведь const - это же constanta... Что за хуйня?
Аноним 12/03/20 Чтв 17:14:41 1631181145
>>1630679
Слушай, если ты еще тут, можешь еще подсказать. Если я, допустим, хочу превратить твой код в функцию, которой буду передавать массив слов для поиска, а она будет возвращать все содержащие слова блоки, что мне туда добавить нужно? Чет вообще не раздуплю эти стрелочные функции. Или если не трудно, мог бы ты переписать эту функцию под классический синтаксис, чтобы я мог сравнить и разобраться сам.

function getCats(){
const blocks = [...document.querySelectorAll('.field__impl')];
const wordsCat1 = ['Авто', 'Бизнес', 'Дом', 'Кино', 'Книги', 'Мистика', 'Развлечения', 'Спорт', 'Стиль'];
const cat1 = blocks.filter(block => wordsCat1.some(word => block.textContent.includes(word)));
for( let i = 0; i < cat1.length; i++){
cat1.style.background = '#4dd0e1';
}
}
Аноним 12/03/20 Чтв 17:17:38 1631184146
>>1631176
Вговнокодить абсолютом относительно справого верхнего угла рамки
Аноним 12/03/20 Чтв 17:31:18 1631205147
>>1631181
Все не нужно, я разобрался. Прост не знал, что агрументы это не массив
Аноним 12/03/20 Чтв 17:31:53 1631206148
>>1631181

const wordsCat1 = ['Авто', 'Бизнес', 'Дом', 'Кино', 'Книги', 'Мистика', 'Развлечения', 'Спорт', 'Стиль'];

function getCats(words) {
const blocks = [...document.querySelectorAll('.field__impl')];
return blocks.filter(block => words.some(word => block.textContent.includes(word)));
}

getCats(wordsCat1).forEach(e => e.style.background = '#4dd0e1')
Аноним 12/03/20 Чтв 19:18:34 1631254149
girl-wondering-1.png (330Кб, 640x545)
640x545
>>1629259 (OP)
Будучи онли реакт-макакой я однажды задумался, а в каких ситуациях я буду юзать вью вместо реакта? Когда меня спросят на собесе, почему вы не учили другие фреймворки, нужно сказать что-то умное, нельзя же сказать, что я выбрал реакт ради денег, потому что в фронтенд-треде на дваче так посоветовали.
Аноним 12/03/20 Чтв 19:24:36 1631256150
>>1631254
Говори, что выбрал ради денег. Нормальная тема.
Аноним 12/03/20 Чтв 19:44:41 1631263151
>>1631256
Но я не работаю ради денег и разбираюсь в каждом аспекте своей работы, посвещая ей каждую минуту своего свободного времени и даже выходные дни, ведь я большой профессионал. таков мой образ
Аноним 12/03/20 Чтв 20:25:32 1631318152
>>1631254
Просто не посылай резюме на вакансии где нужны другие фремворки это вообще показатель ебанутой конторы, которая обмазывается любым говном после обезьян - в нормальных местах есть устаканившийся стек/подход на котором все делается
Аноним 12/03/20 Чтв 20:55:07 1631360153
>>1631178
это не в реакте, а в целом в современном жсе, var уже много лет никто не использует
Аноним 12/03/20 Чтв 21:06:10 1631383154
>>1631263
>ведь я больной пидорас анимешник.
fix.
Аноним 12/03/20 Чтв 21:13:46 1631390155
>>1631360
Как? Некоторые языки только начали var пользоваться!
Аноним 12/03/20 Чтв 21:19:08 1631393156
>>1631390
у русских слово var ассоциируется со словом ВОР, по этому они перешли на let и const
Аноним 12/03/20 Чтв 21:21:55 1631397157
>>1631393
>ВОР
Это по армянски жопа.
Аноним 12/03/20 Чтв 21:35:05 1631416158
>>1631178
Переменные нужны гораздо реже, чем их используют >>1630097 >>1630675 А если действительно нужна переменная, то она нужна в ограниченном контексте, по-этому использовать надо let. Глобальные объекты в общем случае не нужны, а значит и var не нужен.
Аноним 12/03/20 Чтв 21:48:52 1631428159
Чем черевато создание переменной без var let и const? Если ты 100% создаёшь для неё уникальное название и она не нужна тебе как локальная в функции, всегда пишу просто
a=1;
console.log(a);
Аноним 12/03/20 Чтв 22:00:25 1631438160
>>1631428
Твой код и тебябудут считать говном все, кому придётся с ним работать после тебя. С ним не удобно работать.
Аноним 12/03/20 Чтв 22:06:28 1631442161
>>1631428
>a=1;
Нихуя, у вас как в пайтоне можно?
Аноним 12/03/20 Чтв 22:14:29 1631448162
>>1631428
>всегда пишу просто
>a=1;
Где пишешь? Ты, я гляжу, успешный кодер прям.
Аноним 12/03/20 Чтв 22:18:15 1631451163
>>1631428
>Если ты 100% создаёшь для неё уникальное название

Ну да, легко так говорить, когда ничего длиннее 20-ти строк не писал. Когда у тебя полноценное предложение, то ты ни в чём на 100% не уверен. Ну а в 20-ти строках так будут писать только дебилы, потому что они не понимают, что это рано или поздно войдет в привычку и они где-нибудь в крупном проекте ёбнут своё a = 1; и наебнут весь код.
Аноним 12/03/20 Чтв 22:30:06 1631464164
>>1631438
Да, не дописал что пишу только для себя, я не жс пхп макака сидящая на зарплате, учитывая то что на других похуй, чем чревато объявлять переменную без var let const

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

>>1631451
Берём идеальный случай, что все названия уникальны, нахуй вообще задавать видимость переменной, если она тебе нужна просто как переменная, учитывая это можно же так писать не ебясь с var let const? У меня например как минимум ад перфикциониста когда ты пишешь код в 1 строку и у тебя в коде единсвенный пробел это когда ты объявляешь ебучую переменную, все остальные пробелы у тебя просто улетают при сжатии
Аноним 12/03/20 Чтв 22:34:56 1631474165
>>1631464
Так делать нельзя, есть строгий режим в котором будет ошибка.

Такая переменная становится глобальной (т.е. объявляется через var по сути) и всплывает, где ее не объяви. Глобальные переменные не нужны.

>ад перфикциониста
>когда ты пишешь код
реально ад
Аноним 12/03/20 Чтв 22:34:58 1631475166
>>1631464
>Берём идеальный случай

И какой смысл обсуждения сферических коней в вакууме?

>ад перфикциониста

В голос. Ад перфекциониста это как раз хуйня вида:
а=1;

перфекционист пишет:

let a = 1;
Аноним 12/03/20 Чтв 22:37:37 1631487167
>>1631475
>let a = 1;
int a = 1;
Поправил.
Аноним 12/03/20 Чтв 22:37:54 1631489168
>>1631474
Если в рамках функции, то она не будет глобальной.
Аноним 12/03/20 Чтв 22:41:30 1631496169
>>1631489
user ~
$ node
> (function(){a=1})()
undefined
> console.log(a)
1
undefined
>
Аноним 12/03/20 Чтв 22:42:23 1631500170
>>1631475
Нет, ад это вот это
<script>var a=1;let b=2;const c=3;console.log(a+b+c);</script>
Нигде блять нет пробела, и только инвалидское объявление переменных их добавляет, нужно сделать как в пхп $a=1, будет охуенно

>>1631474
Да и насрать что она становится глобальной, имя же у неё уникальное, её никто не тронет кроме тебя, берём в расчёт только личное пользование, конечно сидя на бутылкезарплате жс макаки ты будешь писать всё отдельно в новой строке, но для себя ты будешь это всё максимально сжимать после написания, чтобы ни 1 макака не пазарилась на твой код, и поебать что переменные глобальные, если они тебе ненужны для какой-то функции внутри, памяти она не сожрёт и проц твой от этого не нагрузит, ПО Е БАТЬ
Аноним 12/03/20 Чтв 22:49:34 1631523171
1386936311274.jpg (17Кб, 354x239)
354x239
Аноним 12/03/20 Чтв 22:51:09 1631526172
>>1631500
Если так ненавидишь именно пробелы, то пиши var$a=1
Аноним 12/03/20 Чтв 22:51:54 1631528173
>>1631496
Ты IIFE с функцией путаешь.
Аноним 12/03/20 Чтв 22:52:56 1631530174
>>1631500
Каким дебилом надо быть чтобы скрипт писать в теге, а не загружать из источника?
Аноним 12/03/20 Чтв 22:53:33 1631533175
>>1631500
>чтобы ни 1 макака не пазарилась на твой код

Шизик, успокойся, уже давно придумали инструменты, которые сами добавят нужные отступы.
Аноним 12/03/20 Чтв 22:53:52 1631535176
>>1631526
А, нет, не пиши так, это я обосрался.
Аноним 12/03/20 Чтв 22:53:55 1631536177
>>1631528
function test() {
a= 10;
}

test();

console.log(a);
Аноним 12/03/20 Чтв 22:55:03 1631543178
>>1631500
Зачем в скрипте что-писать, если это для стороннего сайта? Есть же всякие тамперманки и прочие дополнения.
Аноним 12/03/20 Чтв 22:57:46 1631546179
Аноним 12/03/20 Чтв 22:57:51 1631547180
Аноним 12/03/20 Чтв 23:02:42 1631559181
>>1631547
Чтобы всё было аккуратно и тебе не надо было грузить весь html файл для исправления 1 строки.
Аноним 12/03/20 Чтв 23:09:35 1631567182
>>1631546

user ~
$ node
> (function(){var a=1})()
undefined
> console.log(a)
ReferenceError: a is not defined
>
Аноним 12/03/20 Чтв 23:12:09 1631573183
>>1631546
Разговор был про объявление без ключевого слова.
Аноним 12/03/20 Чтв 23:14:28 1631582184
>>1631573
>Разговор был про объявление без ключевого слова.
Не знаю с кем ты там в своей голове разговаривал, но писал ты следующее:
>Такая переменная становится глобальной (т.е. объявляется через var по сути)

Аноним 12/03/20 Чтв 23:17:22 1631586185
>>1631582
Написано, что переменная без ключевого слова объявляется как через var (в противовес как через let или const) и всплывает.

А теперь покажи где написано, что var всплывает из функции.
Аноним 12/03/20 Чтв 23:20:14 1631593186
Аноны, подскажите. Делаю тудушку на ТС + реакт, хочу мапом делать элементы списка. Передаю как обычно <ListElem info={elem} />, но ловлю ошибку Type '{ elem: ITodo; key: number; }' is not assignable to type 'IntrinsicAttributes & titleInfo & { children?: ReactNode; }'. Нигде не могу найти расшифровку. Что это значит?
Аноним 12/03/20 Чтв 23:20:49 1631594187
>>1631582
А ты писал, что я (другой анон) путаю функцию и IIFE. Но и то, и другое, что с var, что без, работает одинаково.
Аноним 12/03/20 Чтв 23:29:14 1631600188
Снимок экрана ([...].png (16Кб, 839x221)
839x221
Подскажите, в чем ошибка? Суть такая, на странице 5 разделов, в каждом по 26 блоков. Я выдернул из всех 5 разделов нужные блоки (они идут не по порядку), их возвращает функция getCats(1) (там 5 разделов с 9 потомками в каждом). Следом, я обернул все 26 блоков в каждом из 5 основных во wrap1 и теперь мне нужно каждые 9 блоков из getCats(1) переместить в wrap1 во всех 5 разделах. Проще говоря, мне нужно выдернутые блоки сгруппировать во врапперы.

Но с этой функцией получается так, что всё из getCats(1); перемещается в последний враппер на странице, а не в каждый.

function createBlocks(){
const cont = document.querySelectorAll('.wrap1');
const elem = getCats(1);
for (var i = 0; i < cont.length; i ++) {
for (var j = 0; j < elem.length; j ++) {
cont.appendChild(elem[j]);
}
}
}
Аноним 12/03/20 Чтв 23:30:50 1631604189
>>1631586
Но она не объявляется как через var, сычуш, без ключевого слова она попадает в глобал скоуп. Ты же говорил, что между не объявлением и объявлением через var нет разницы, за что тебя закономерно окунули головой в собственное дерьмо.
>>1631594
Ну и? От этого IIFE функцией не становится.
Аноним 12/03/20 Чтв 23:31:36 1631606190
>>1631523
>Пыхер
>Шизик
Откуда вы меня знаете

>>1631543
Кстати, а расширения для браузер - это же тот же js файл да? То есть можно взять любое расширение, удалять там всю анальную гебню следящую за тобой и переделать как тебе удобно само расширение?

>>1631530
Обезьянка, открой любой более вменяемый сайт, сейчас всё пишут в самом коде html для ускорения загрузки и уменьшения количества запросов при загрузке страницы, даже css стили все стали писать прямо в коде html и только общие стилли в файле, как и js код, если он исполняется только на 1 странице, нахуй мне помещать его в файл чтобы даже на микросекунды задерживать его выполение тварь
Аноним 12/03/20 Чтв 23:34:12 1631608191
>>1631604

>Но она не объявляется как через var, сычуш
>без ключевого слова она попадает в глобал скоуп
Страшная тайна, но все Var тоже попадают в глобал скоуп и становятся свойствами глобального объета, как и без ключевого слова вообще. В это и была суть сообщения, что как var, но не как let/const

>Ты же говорил, что между не объявлением и объявлением через var нет разницы
>переменная становится глобальной (т.е. объявляется через var по сути) и всплывает, где ее не объяви
У тебя дислексия или ты просто долбоеб?
Аноним 12/03/20 Чтв 23:36:17 1631610192
>>1631608
>Страшная тайна, но все Var тоже попадают в глобал скоуп и становятся свойствами глобального объета, как и без ключевого слова вообще.

Тогда почему ты обосрался и не смог прочитать переменную объявленную в функции через var, но смог это сделал с переменной объявленной без ключевого слова? Ты троллить пытаешься или правда тупой?
Аноним 12/03/20 Чтв 23:36:19 1631611193
Ананисты, а подскажите хороший ноутбук для ныряния в говна программирования с максимальным удобством, лёжа и попёрживая на диванчике или копая картошку у бабушки в деревне, чтобы лёгкий, красивый, с хорошим экраном и виндой, желательно не 10, а может даже и на линуксе, но чтобы это был не пидоромак, бюджет 40-50к думаю можно будет осилять, ну и кинцо шобы тоже тянул
Аноним 12/03/20 Чтв 23:41:25 1631615194
>>1631604
Но var (или отсутствие) работают одинаково.
Аноним 12/03/20 Чтв 23:44:50 1631621195
>>1631610
Ладно, здесь я обосрался. Ключевая суть была про разницу с let/const.

А ты обосрался с самого начала
Аноним 12/03/20 Чтв 23:46:39 1631624196
>>1631615
Нет, выше уже на примерах показано.
>>1631621
Так я тебе сразу об этом сказал, а ты безуспешно начал пытаться перекладывать дерьмо из своих штанишек в мои.
Аноним 12/03/20 Чтв 23:47:59 1631626197
>>1631624
Ты сказал про объявление через var, ответ был про объявление без ключевого слова. Разницу находишь?

Аноним 12/03/20 Чтв 23:48:58 1631629198
>>1631611
40-50к это только для фильмов и браузера. Для программирования нужен мощный, как минимум за 70к, если прям сейчас брать будешь, если будешь ждать, то уже за 85к придется брать с нынешним курсом.
Программирование это IDE и несколько открытых проектов, несколько вкладок браузера, виртуалка, локальный сервер. Всё это требует как минимум 16 гб оперативки.
Аноним 12/03/20 Чтв 23:50:23 1631630199
>>1631626
Какой ответ, поехавший? Я отвечал на это:
>Такая переменная становится глобальной (т.е. объявляется через var по сути)

Указывая на то, что объявление с var и вообще без ключевого слова не являются одинаковыми.
Аноним 12/03/20 Чтв 23:51:09 1631633200
>>1631624
>>1631626
Девчёнки не ссорьтесь, я всё равно будут писать без var let и const, потому что разницы нихуя, а с ними пусть пишут местные макаки дрочащие блокнот за гривны и доширак
Аноним 12/03/20 Чтв 23:51:30 1631635201
>>1631630
То есть ты обрезал предложение и не дочитал до конца.
Аноним 12/03/20 Чтв 23:52:03 1631639202
>>1631633
Ты вообще собака спидозная, закатись под стол.
Аноним 12/03/20 Чтв 23:52:19 1631641203
>>1631629
да ты гхонишь, скажи ещё что процессор нужен с пометкой x и i7
Аноним 12/03/20 Чтв 23:52:57 1631642204
>>1631639
Сын, ты как с матерью разговариваешь скотина родила урода!
Аноним 12/03/20 Чтв 23:53:12 1631643205
>>1631641
Смотря какой, только не говори, что ты думаешь, что i7 всегда мощнее i5.
Аноним 12/03/20 Чтв 23:54:25 1631646206
>>1631635
А там в конце написано "ой, нет, я ошибся, это не одно и тоже"? Если нет, то я дочитал до конца и ничего не обрезал.
Аноним 12/03/20 Чтв 23:55:15 1631650207
>>1631646
Ну если у тебя проблемы с чтением, то я вряд ли смогу дочитать за тебя и собрать мысль воедино.
Аноним 12/03/20 Чтв 23:56:24 1631652208
>>1631643
Если из 1 модели конечно мощнее, +4 виртуальных потока ебать

Короче нужен ноут на подобии мака но не мак, то есть крепкий может даже алюминиевый и стильный чтобы не блевать при его виде и не охуевать как он скрепит или звучит при постукивании как дешёвый китайский пластик, ну и матрица чтобы не выжигала глаза засветами и разной картинкой при малейшем отклонении в строну
Аноним 12/03/20 Чтв 23:58:11 1631657209
>>1631474
>Такая переменная...
Здесь речь про переменную без ключевого словаиз поста >>1631464

>>1631489
>Если в рамках функции, то она не будет глобальной.
Теперь скажи в каком месте ты писал про переменную с var?
Аноним 13/03/20 Птн 00:00:45 1631664210
>>1631650
Говно то хоть своё собрать сможешь? А то уже на весь тред воняет.
Аноним 13/03/20 Птн 00:01:44 1631667211
>>1631657
>Теперь скажи в каком месте ты писал про переменную с var?

Это подразумевается исходя из цитируемого поста.
Аноним 13/03/20 Птн 00:01:54 1631668212
Да нахуй этот сраный var. Как мне заюзать SIMD в браузере? Без него от всяких JIT и типизированных массивчиков толку нет, скорость все равно в 4/8/16 раз ниже.
Аноним 13/03/20 Птн 00:03:42 1631670213
>>1631667
>Такая переменная...
>Если в рамках функции, то она не будет глобальной.

>Если в рамках функции, то объявленная через var не будет глобальной.


Да-да, обтекай дальше.
Аноним 13/03/20 Птн 00:09:34 1631679214
>>1631600
Если уж очень хочется использовать циклы, хотя бы for of используй, а не это.

В коде ты проходишь циклом по cont. В каждой итерации ты перетаскиваешь в cont элементы elem.

То есть ты несколько раз раз перетаскиваешь элементы туда, где они уже и лежат (после первой итерации).

А зачем?
Аноним 13/03/20 Птн 00:10:43 1631683215
>>1631670
>Такая переменная становится глобальной (т.е. объявляется через var по сути) и всплывает, где ее не объяви.
>Если в рамках функции, то она не будет глобальной.

Так ты к посту добавляй, что у тебя IQ < 80, тогда тебе будут в развернутом виде всё писать, без надежды на то, что ты сам найдешь то место, в котором проебался.
Аноним 13/03/20 Птн 00:13:29 1631689216
>>1631683
То есть ты отрицаешь, что объявленная без ключевого слова становится глобальной?
Аноним 13/03/20 Птн 00:19:35 1631701217
>>1631689
То есть я отрицаю, что объявленная переменная без ключевого слова, объявляется через var по сути.
Аноним 13/03/20 Птн 00:20:44 1631704218
>>1631633
>я всё равно будут писать без var let и const, потому что разницы нихуя
Смысл в том, что практически невозможна ситуация, когда говнокод-1.0 присваивает значение глобальной A, потом говнокод-2 присваивает значение глобальной А, потом говнокод-1.1 пытается использовать значение А из говнокода 1.0. Потому это и работает.
Аноним 13/03/20 Птн 00:22:51 1631708219
>>1631701
Сейчас уже другое отрицаешь. Маневры продолжаются.

Она становится глобальной и по сути объявляется как var.
Сначала глобальной, потом как var (а не как let/const, в чем и суть).

Аноним 13/03/20 Птн 00:25:11 1631715220
>>1631708
>(т.е. объявляется через var по сути)

Тови слова, которые я и отрицаю. Когда это стало другим?
Аноним 13/03/20 Птн 00:29:21 1631723221
>>1631715
Сейчас это, выше отрицал другое.
Аноним 13/03/20 Птн 00:31:20 1631726222
>>1631723
Да... в твоей шизе даже опытный психиатр с трудом разберется.
Аноним 13/03/20 Птн 00:32:35 1631730223
>>1631679
>А зачем?
Циклы не обязательны. Но в cont же содержатся 5 блоков на странице, в каждый из которых мне нужно запихать элементы из elem. Как это сделать иначе?
Аноним 13/03/20 Птн 00:36:55 1631732224
>>1631730
>cont.appendChild
А ты все пихаешь прямо в cont, а не в его 5 блоков.

Аноним 13/03/20 Птн 00:43:14 1631736225
>>1631732
Прост потерял, но результат я описывал с ней.
Аноним 13/03/20 Птн 00:49:51 1631740226
>>1631732
Вот так получается, но чет по моему сильно костыльно


function createBlocks(){
const cont = document.querySelectorAll('.wrap1');
const elem = getCats(1);
console.log(elem);
const elem1 = elem.slice(0, 9);
const elem2 = elem.slice(9, 18);
for (let i = 0; i < elem1.length; i ++) {
cont[0].appendChild(elem1);
}
for (let i = 0; i < elem2.length; i ++) {
cont[1].appendChild(elem2);
}
}
Аноним 13/03/20 Птн 01:19:18 1631764227
>>1631740
>for (let i = 0; i < elem1.length; i ++) {
>cont[0].appendChild(elem1);
Зачем ты один элемент (cont[0]) перекладываешь elem1.length раз в elem1?

>for (let i = 0; i < elem2.length; i ++) {
>cont[1].appendChild(elem2);
Зачем ты один элемент (cont[1]) перекладываешь elem2.length раз в elem1?

Без циклов такой путаницы не было бы.
Аноним 13/03/20 Птн 01:38:24 1631776228
>>1631764
Ну так у меня массив из 5 блоков в cont, в каждый блок мне нужно положить определенное кол-во элементов из массива elem. Как иначе это сделать? Я же это и спрашиваю.
Аноним 13/03/20 Птн 01:51:18 1631783229
>>1631776
Ты один и тот же блок пытаешься положить в другой, а не несколько блоков.

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

elem1 elem2 может быть нужны?

Слайсы еще эти зачем-то.

Наверняка это все можно в одну строчку запилить. Просто непонятно, что нужно.
Аноним 13/03/20 Птн 02:09:09 1631795230
>>1631783
>elem1 elem2 может быть нужны?
Они там и есть
Аноним 13/03/20 Птн 02:12:09 1631799231
>>1631783
>elem1 elem2
Пиздос, я же писал elem1 elem2
Аноним 13/03/20 Птн 02:14:14 1631800232
>>1631799
Макаба [-i-] (без дефисов) удаляет, вот что хотел

>elem1[-i-]* elem2[-i-] (без дефисов)
Аноним 13/03/20 Птн 02:16:39 1631802233
>>1631800
По этой же причине и у меня их нет лул

Короч суть в том, что мне в 5 cont надо переместить каждые 9 элементов из elem. Первый cont - первые 9 из elem, и т.д.
Аноним 13/03/20 Птн 02:24:52 1631805234
>>1631802
Чет мне кажется там можно переместить все куда надо сразу без лишних выдергиваний, без этого:

>Я выдернул из всех 5 разделов нужные блоки (они идут не по порядку), их возвращает функция getCats(1) (там 5 разделов с 9 потомками в каждом).

То есть сразу взять блоки из документа и положить куда надо.
Аноним 13/03/20 Птн 02:31:18 1631808235
>>1631805
Эти блоки выбираются по тексту внутри. Потому что на странице они идут по порядку с одинаковыми классами во всех 5 разделах, типа 123456789... А мне нужно типа 123 и 789 обернуть враппером в каждом разделе, а потом так же 456 и 10-11-12
Аноним 13/03/20 Птн 02:33:37 1631809236
>>1631808
Ну так находи сразу и оборачивай, зачем вырезать, вставлять?

Да и оборачивать наверняка не обязательно - меняй текущие на лету или просто стили добавляй каждому.
Аноним 13/03/20 Птн 02:42:15 1631813237
>>1631809
>Ну так находи сразу и оборачивай
Ну так я и нашел, их функция уже вытащила, проблема то не в этом бля.

>Да и оборачивать наверняка не обязательно
Обязательно. Стили я уже и так поменял, но мне нужно сделать типа блок для фокуса по хоткею, где будут еще 9 блоков с выбором инпутов по хоткеям
Аноним 13/03/20 Птн 02:59:02 1631818238
>>1631808
Если они всегда по порядку, можешь сразу найти через .querySelectorAll(.class:nth-child())

>>1631813
Ну так если все работает, все заебись.


Аноним 13/03/20 Птн 03:09:56 1631820239
>>1631818
>если все работает
Да не работает нихрена. Работает только первая версия с тонной текста только для одного блока из 3.

Пробую вот так, все правильно оборачивается, но все блоки, которые функция getCats вытащила, вываливаются в последний враппер, вместо каждого блядь. Заебался уже.
Аноним 13/03/20 Птн 03:10:21 1631821240
>>1631820
Код забыл

function createBlocks(){
const cont = document.querySelectorAll('.wrap1');
let wrapper = null;
[...getCats(1)].forEach((el, i) => {
if (i % 9 === 0) {
wrapper = document.createElement('div')
wrapper.className = "wrap";
for (let i = 0; i < cont.length; i ++) {
cont.appendChild(wrapper)
}
}
wrapper.appendChild(el)
})
}
Аноним 13/03/20 Птн 03:49:51 1631826241
>>1631629
я собираюсь за 18 взять для погромирования

думаешь будут проблемы!
Аноним 13/03/20 Птн 03:53:12 1631827242
>>1631178
через const удобно обозначать массивы и объекты, которые сохраняют ссылку на объект но меняют содержание, чтобы случайно их не перезаписать саму ссылку
Аноним 13/03/20 Птн 03:55:23 1631828243
>>1631821
Я просто не догоняю, что ты хочешь.

>на странице 5 разделов, в каждом по 26 блоков.
>Я выдернул из всех 5 разделов нужные блоки (они идут не по порядку), их возвращает функция getCats(1) (там 5 разделов с 9 потомками в каждом).

>я обернул все 26 блоков в каждом из 5 основных во wrap1 и теперь мне нужно каждые 9 блоков из getCats(1) переместить в wrap1 во всех 5 разделах.

Так если ты врапнул 26 блоков, то те самые из getCats(1) уже внутри врапера, они же одни из 26-ти.


Как я понял твою структуру: https://jsfiddle.net/oh8ckun0/

Какой результат должен быть после всех преобразований? Хотя бы в пейнте нарисуй.
Аноним 13/03/20 Птн 03:55:46 1631829244
Аноним 13/03/20 Птн 04:24:54 1631831245
Снимок экрана ([...].png (51Кб, 723x473)
723x473
>>1631828
>Как я понял твою структуру
Так есть сейчас, да. А надо так. Но вот эти блоки, что во врапперах, уже поделены на 3 группы в 5 секциях функцией getCats(1), где цифра - номер группы. Мне нужно только их врапперами обернуть. Чтобы в каждой секции были врапперы 1-2-3, а в них как на картинке.
Аноним 13/03/20 Птн 04:32:44 1631832246
>>1631831
Стало только хуже. Лол.

Тебе нужно копировать блоки, чтоле? По два раза странице - в обычном месте и в новых-блоках врапперах?
Аноним 13/03/20 Птн 04:32:58 1631833247
>>1631828
https://jsfiddle.net/mc537agz/

Вот мой текущий код. Он полностью решает эту задау. Но он пиздец уродский и длинный. Я уверен можно это сделать проще, но чет не получается.
Аноним 13/03/20 Птн 04:34:59 1631834248
>>1631832
>Тебе нужно копировать блоки, чтоле?
Нет, создать по 3 враппера в каждой из 5 секций и в них перетащить блоки по очередности как на скрине. По умолчанию как у тебя в коде, все блоки идут по порядку от 1 до 29 в каждой из 5 секций.
Аноним 13/03/20 Птн 05:12:48 1631842249
>>1631606
>Обезьянка, открой любой более вменяемый сайт, сейчас всё пишут в самом коде html для ускорения загрузки и уменьшения количества запросов при загрузке страницы, даже css стили все стали писать прямо в коде html и только общие стилли в файле, как и js код, если он исполняется только на 1 странице, нахуй мне помещать его в файл чтобы даже на микросекунды задерживать его выполение тварь

Ебать давно я так не смеялся.
Аноним 13/03/20 Птн 05:31:04 1631846250
>>1631834
Мне кажется нужно делать куда проще.

Делаешь массив из трех подмассивов. В каждом подмассиве наборы слов для нужного враппера (я так понимаю).

Потом приходишься по
>Суть такая, на странице 5 разделов, в каждом по 26 блоков.
каждому из этих пяти разделов. Если блок содержит слово, которое есть в массиве, перемещаешь его во враппер с номером, как и индекс подмассива (три враппера - три подмассива).
Аноним 13/03/20 Птн 05:34:42 1631847251
>>1631846
> В каждом подмассиве наборы слов для нужного враппера (я так понимаю).
Или лучше индексы, по которым они находятся в списке в своем разделе (если, конечно, не изменяются и одинаковы для разделов).
Аноним 13/03/20 Птн 11:09:36 1631923252
>>1631842
Пидрила тупая, открой исходный код ютуба, ты охуеешь тварь
Аноним 13/03/20 Птн 11:12:09 1631924253
Аноним 13/03/20 Птн 11:46:18 1631942254
>>1631611
В ноутбуках выбирать особо не из чего. За 40к можно взять ноут на ryzen 5, без установленной винды, ( - 8к к цене ) и накатить туда линукс, ну и плашку докупить оперативы. Экран IPS без вариантов.
Аноним 13/03/20 Птн 11:54:11 1631948255
>>1631942
А на какую фирму опираться, у меня пока в голове DELL
Аноним 13/03/20 Птн 12:01:54 1631952256
>>1631611
>но чтобы это был не пидоромак, бюджет 40-50к
Можно подумать ты на эти копейки мак купить бы мог лул
Аноним 13/03/20 Птн 13:18:42 1631980257
собираюсь купить Lenovo IdeaPad L340 и поставить минт, хватит для кодинга?
Аноним 13/03/20 Птн 13:27:41 1631993258
>>1631948
>>1631952
>А на какую фирму опираться
asus, acer, лучше по отзывам смотреть, т.к. у каждой модели есть косяки, у одной звук говно, у другой вентилятор шумит и т.п. и уже выбирать под себя.
>мак
>MacBook Pro 13 за 109к, 13 дюймов экран, 8 гб, 128 ssd, i5.
Видимо маки тащат из за мертвого рынка ноутов и лгбт сообщества.
Аноним 13/03/20 Птн 13:49:55 1632006259
Какие темы нужно перепройти чтобы понять как пройти по свойства свойств объекта? Уже часа три сижу и втупляю, всё про объекты перечитал у кантора. по доке тоже лазил
Аноним 13/03/20 Птн 13:50:46 1632009260
Аноны, я когда делаю формочки всякие для редактирования данных в модалке - юзаю буфер-переменнкю. И чтобы копировать обькт в этот буфер делаю жсон.парсе.жсон.стрингифай. Может это не правильно? есть способы лучше? Подскажите, пожаоуйста. А то я сам проект пилю - не у кого спросить.
Аноним 13/03/20 Птн 13:52:36 1632012261
>>1632006
Я не спец в жс, но я бы создал функцию с циклом(let key in object) и вызывал ее в самой себе. Если я правильно понял что тебе нужно
Аноним 13/03/20 Птн 13:56:08 1632015262
>>1632009
это ок способ для того что нормально стрингифается (функция в объекте не пойдет)

а так напиши свою дип копи
Аноним 13/03/20 Птн 14:01:48 1632021263
>>1632015
Ну я данные с бэка получаю обьектом. Аля item{
id: 1
sub_items:{}
}
Если норм то ок, спасибо.
Аноним 13/03/20 Птн 14:05:42 1632028264
Поясните что за магия происходит в этой строке:

const io = require("socket.io")(server);

я понимаю что io становится экземпляром socket.io, но что блядь там делает сервер в скобочках?
Аноним 13/03/20 Птн 14:06:28 1632029265
Амперсанты, как лучше хранить данные в локалсторейдж для хранения например добавленных в избранное материалов пользователями сайта, в объекте где будет уник айди и спаршеный с помощью джейсонстрингфай в строку? Ну а как тогда хранить там не только айди и ссылку на матераил, а например и его название, картинку, количество комментариев и т.п., понятно что в виде значения задавать каждому айди обычный массив, но как тогда сортировать его по нужным парраметрам, потому что парсинг в джейсон сортирует его по айди, то есть вида
{123:[название1, ссылка1, картинка1, комментарии 10, тд.],124:[название2, ссылка2, картинка2, комментарии 20, тд.]}
Как эту лабуду отсортировать по названию, то есть по 1 элементу в массиве каждого объекта
Аноним 13/03/20 Птн 14:09:04 1632034266
Аноним 13/03/20 Птн 14:09:18 1632035267
>>1632028
гугли каррирование
Аноним 13/03/20 Птн 14:12:15 1632043268
>>1632029
зачем массив когда нужен объект

{11: {title: "title", desc: "description"}}
Аноним 13/03/20 Птн 14:21:55 1632057269
image.png (44Кб, 157x260)
157x260
>>1632034
Мне нужно циклом проходить по всем свойствам и свойствам свойств до бесконечности, пока свойство в свойстве есть. Сколько попыток делал - не получается.

let obj = <твой объект>;
while (obj !== null) {
console.log(obj.value);
obj = obj.next;
}

Даже вот этот пример не помог. Хоть и тут понятно, что после каждого выполнения перезаписывает на следующий next и показывает его
Еще загвостка в том, что у свойств нет имен, ну они в " " кавычках и на русском языке, хотелось бы самому решить и получить какой-то прогресс, не хочется проигрывать..
Аноним 13/03/20 Птн 14:28:18 1632065270
>>1632057
Рекурсия.


>Еще загвостка в том, что у свойств нет имен, ну они в " " кавычках и на русском языке, хотелось бы самому решить и получить какой-то прогресс, не хочется проигрывать..
object['пидор']
Аноним 13/03/20 Птн 14:32:30 1632071271
>>1632043
ну вот смотрит получится
{
11: {title3: "title", desc2: "description"},
22: {title2: "title", desc1: "description"},
33: {title1: "title", desc3: "description"}
}
А если я начнут всё это выводить на станицу, то они выведутся по очереди, как есть, то есть 11, 22, 33, то есть по айди, а как отсортировать этот объект в объекте, чтобы он перед выводом, отсортировался по названию, то есть так
{
33: {title1: "title", desc3: "description"},
22: {title2: "title", desc1: "description"},
11: {title3: "title", desc2: "description"}
}
Аноним 13/03/20 Птн 14:33:33 1632072272
Аноним 13/03/20 Птн 14:39:10 1632081273
>>1632072
https://basicweb.ru/javascript/js_array_sort.php
Чёто я запутался, можешь пример из этого сделать, я так понимаю сперва нужно будет этот объект обернуть в квадратные скобки, то есть
var material = [{
11: {title: "title3", desc: "description2"},
22: {title: "title2", desc: "description1"},
33: {title: "title1", desc: "description3"}
}]
а дальше
material.sort(( a, b ) => a.title> b.title)
Так? А если у нас значений больше, то есть помимо тайтл и дескрипшин есть ещё значения, то код будет таким же?
Аноним 13/03/20 Птн 14:47:57 1632092274
>>1632081
Бля чёто я запутался, этот вариант конечно же не работает
Аноним 13/03/20 Птн 15:31:54 1632138275
Аноним 13/03/20 Птн 15:44:23 1632148276
>>1632138
посмотри в зекало, всё веселье сразу пройдёт
Аноним 13/03/20 Птн 15:54:58 1632151277
анон пытаюсь сделать автокомплит с селектом таким способом https://ideone.com/ITv4TX . в результате чего выпадает нужный мне список, и при клике на него он вставляет то что мне нужно в input. но проблема вся в том что его вставляет как то по ебаному чтоли, из за чего при перезагрузке страницы у меня висят те буквы которые я вводил, а не то что я выбрал. как фиксить то?
Аноним 13/03/20 Птн 16:01:45 1632159278
>>1632065
>Рекурсия

Стэковерфлоу. Такие задачи только циклом решаются.
Аноним 13/03/20 Птн 16:04:05 1632163279
>>1632148
ты реально не понимаешь, что все эти инджекшены в html делает webpack?
Аноним 13/03/20 Птн 16:07:01 1632167280
>>1632163
И нахуя плодить лишние действия, когда можно сразу все записать в html?
Аноним 13/03/20 Птн 16:10:39 1632173281
>>1632057
while (obj.next != null)
obj = obj.next
Аноним 13/03/20 Птн 16:15:40 1632180282
Аноним 13/03/20 Птн 16:18:19 1632183283
>>1632163
Я хуй знает о чём ты, я о том что нахуй мне объявлять постоянно переменные с помощью var let const, если я могу делать это так a=1, и весь код могу писать просто в строку, прямо в хтмл, нахуй мне это выводить в отдельны файл, если этот код срабатывает только на 1 странице, и повторю для долбаёба, я не работаю в конторе, скрипты пишу для себя, так что все имена у переменных 1000500% уникальны и поебать что они будут глобальными, АБСОЛЮТНО
Аноним 13/03/20 Птн 17:10:51 1632233284
image.png (30Кб, 1014x287)
1014x287
>>1632071
японский бог. Вы хотя бы читайте доку, которую можно за день пролистать.

Нужно пройтись по ключам и создать массив. Затем его отсортировать, как тебе нужно. https://repl.it/@CharonIV/Object
Вот я на пальцах все показал. И убери массивные скобки в своем примере.
Аноним 13/03/20 Птн 17:11:41 1632235285
>>1632183
Автор калькулятора ми-65, ты?
Аноним 13/03/20 Птн 17:22:23 1632249286
>>1632235
нет, я автор калькулятора хохол-69
Аноним 13/03/20 Птн 17:30:53 1632256287
>>1632233
А вообще только такой способ возможен чтобы хранить все материалы в 1 переменной в куках? Имею ввиду что делаем пустой объект, закидываем туда объекты с ключом материала и уже в каждом объекте внутри ключа сохраняем нужные нам поля из материала? А потом всё это просто парсим в строку и записывает в переменную в локалсторейд или куки? Ну а при извлчение парсим обратно в объект с объектами с помощью джейсон парс?
Аноним 13/03/20 Птн 17:54:08 1632272288
image.png (34Кб, 622x217)
622x217
>>1632256
я вопроса не понимаю. В куках ты хранишь одну информацию, в localStorage, useState, Редакс, context (хуков) ты хранишь совсем другую информацию. Важно, то что в качестве тестовых заданий для фронта (например мувисерчер), тебе предлагают хранить всю инфу в localStorage, это просто чтобы облегчить задание. На деле, ты хранишь свистоперделки в localStorage. Реальную инфу, ты запрашиваешь с бэка SQL и там же её и хранишь. О какой информации идет речь?
Аноним 13/03/20 Птн 18:08:53 1632279289
Ребят, есть 3 блока с разными классами, но повторяются пять раз на странице. Я короче установил всем трем TabIndex по порядку 123 для каждого. Дальше я повесил листенер на установление класса focused для focusin блока, и его удаление для focusout. Как мне теперь стилизовать их, чтобы тот блок, что в фокусе, имел обычные стили, а остальные блоки типа блюрились. Но блюрились только тогда, когда 1 из элементов в фокусе, а не по умолчанию.

const cont1 = document.querySelectorAll('.wrap1');
for (let i = 0; i < cont1.length; i ++) {
cont1.tabIndex=1
cont1.addEventListener("focusin", () => cont1.classList.add('focused'));
cont1.addEventListener("focusout", () => cont1.classList.remove('focused'));
}

Аноним 13/03/20 Птн 18:39:32 1632303290
>>1632272
Ладно забудем о куки, берём локалсторейдж, там мы можем хранить в 1 переменной только 1 значение, строку, то есть чтобы сохранить массив материалов нам нужно объект конвертнуть в строку для сохранения, и обратно распарсить в объект для извлечения и отризовки на странице, отсюда у меян и вопрос только такой вариант существует хранения избранного в локалсторейдже?
Аноним 13/03/20 Птн 18:46:34 1632309291
>>1632303
Ну можешь написать функцию, которая будет разбирать твой массив на переменные и каждую отдельно закидывать в стораге, а потом выдирать и заново собирать массив.
Аноним 13/03/20 Птн 19:01:53 1632329292
>>1631923
>исходный код ютуба
Работник жыдтрубы, залогиньтесь через гугл аккаунт.
Аноним 13/03/20 Птн 19:25:11 1632358293
В чем тут ошибка? Нашел единственный способ, который позволяет скрипту в TM выполняться на сайте. При обновлении страницы все ок, но при переходе на следующую страницу код не выполняется. В чем проблема?

(function repeat(){
var element = document.getElementsByTagName('div')[6];
if(!element) return setTimeout(repeat, 100);
Аноним 13/03/20 Птн 19:30:14 1632362294
>>1632309
Мне кажется это невозможно, а вдруг туда поместят значение из другого кода и вот ты уже парсишь чужие данные, можно сделать что-то типа ключа и проверять на его наличие, но это уже извращение, отсюда и получается что вариант только загонять всё в джейсон массив и сжимать его в строку, просто сортировать этот джейсон объект не так уж и красиво получается, много говнокода с лишними движениями, как вариант с помощью .keys задать каждому объекту айди и уже подставляя этот кей работать с родительским обектом, короче говнокод получается
Аноним 13/03/20 Птн 19:33:48 1632364295
>>1632303
>Ладно забудем о куки, берём локалсторейдж, там мы можем хранить в 1 переменной только 1 значение

кто тебе это сказал?, ты делаешь объект , в объекте ключей сколько тебе надо. В значения может быть хоть число, хоть объект, хоть массив или строчка. Откуда вы берете эту информацию, что за гавно?
Аноним 13/03/20 Птн 19:34:23 1632365296
>>1632364
PS сбрось свой localStorage, меня уже тряссет. Сфотографируй код
Аноним 13/03/20 Птн 19:41:56 1632374297
>>1632364
Ты дебич? В переменной стораджа можно только одно значение и это строка.
Аноним 13/03/20 Птн 19:45:34 1632378298
>>1632365
Что тебе скидывать, создаём объект, храним в нём объекты название у которых ключ, айди

array = {
id1: {title: "title 3", desc: "description", "url 4", "img 5"},
id2: {title: "title 2", desc: "description", "url 6", "img 7"},
id3: {title: "title 1", desc: "description", "url 8", "img 9"}
}

Сжимаем его в строку с помощью JSON.stringify и помещаем в перменную в локалсторейдж

Когда хотим вывести данные на стнаницу, распашиваем эту строку с помощью JSON.parse, и вот у нас уже опять объект, но сортировка в нём по айди, а нужно например отсортировать по title перед выводом на станицу, и тут начинается свитопляскоебля с выдиранием айди и добавлением его в массив и уже потом с помощь .sort сортировать это говно подставляя айди и ключ значения из каждого объекта, короче хуй знает поймёшь если надо, я этот способ увидел у хохла на ютубе и хочу узнать у анонов это единственный способ хранения избранного пользольвателя в локасторейд в 1 переменной или есть другеи спосбы, пока способа кроме джейсон обекта сжатого в строку в голову не приходит
Аноним 13/03/20 Птн 19:45:35 1632379299
>>1632374
Парсишь строку в JSON, а потом обратно.
Аноним 13/03/20 Птн 19:48:13 1632381300
>>1632374
я говорил про localStorage React
Аноним 13/03/20 Птн 20:06:47 1632394301
Аноним 13/03/20 Птн 20:17:59 1632404302
>>1632378
https://repl.it/@CharonIV/sortArr

Все, доволен? Я надеюсь не надо объяснять, как привести к такому массиву и как расширить объект (добавить ключ в объект)
Аноним 13/03/20 Птн 20:34:58 1632412303
>>1632404
Анон, прикол в чём, как ты теперь удалишь например весь объект с id: "1", по этому и нужно айди задавать снаружи этого объекта, чтобы потом просто по айди его удалить без свистоплясок когда пользователь это захочет, по этому нужен вид именно
id1: {title: "3", desc: "zxc", url:"4", img: "5"},
id2: {title: "3", desc: "zxc", url:"4", img: "5"}
...
Аноним 13/03/20 Птн 20:44:55 1632418304
image.png (8Кб, 752x56)
752x56
Кстати, харкач тож ехранить избранное в локалсторейдж, там абу вообще ещё килатонны говна засунул в 1 переменную, не только избранное, как он интересно всё это говно распаршивает, хранит он это всё тоже в объекте
Аноним 13/03/20 Птн 20:53:48 1632420305
Аноним 13/03/20 Птн 21:02:08 1632426306
Бля, помогите кто нить, уже задолбался биться. Есть короч сайт, на котором загружается айфрейм на всю страницу. Есть Темперманки, которым я обращаюсь напрямую к фрейму. Во фрейме, как я понял, загружаются разные данные с других сайтов. Так вот, при любой попытке обратиться к элементам внутри фрейма, будь то листенер или онлоад, мне возвращается пустой нод. Если я устанавливаю таймаут и проверяю появление первого div в body, то получается обращаться к нужным элементам, но при переходе на следующую страницу это не работает. ЧЕ ДЕЛАТЬ???
Аноним 13/03/20 Птн 21:04:31 1632430307
>>1632418
Вот десь код абу по распаршиванию и сортировки избанного https://2ch.hk/makaba/templates/js/sharkey.js
Но чёто слишком дохуя у него там кода, можно же намного меньше
Аноним 13/03/20 Птн 21:06:34 1632433308
>>1632420
А ты попробуй на ES5лол
Аноним 13/03/20 Птн 21:07:35 1632434309
>>1632426
К содержимому внутри фрейма обращаться нельзя, если он не отдаёт никакие данные
Аноним 13/03/20 Птн 21:10:00 1632436310
>>1632420
какой-то говнокод получается, человек должен нажать удалить из избранного, после чего скрипт просто удаляет объект с этим дивом, всё, пример у тебя перед глазами, добавить или удалить тред из избранного
Аноним 13/03/20 Птн 21:18:14 1632442311
>>1632434
>К содержимому внутри фрейма обращаться нельзя
С чего вдруг? То, что для кросс доменного фрейма нужно пост мессеж юзать я в курсе, но это если из родительской страницы обращаешься, а я обращаюсь напрямую к фрейму внутри страницы из скрипта Темперманки и выполняю всю логику там.

Но скрипт видимо выполняется до того, как фрейм полностью загрузится, поэтому он не видит элементов. Я пытался подцепить листенер или онлоад, но это не работает. Если же устанавливать таймаут, то все работает, но только 1 раз при загрузке страницы, а при переходе на следующую не срабатывает. Как подправить чтоб работало?


(function repeat(){
var element = var element = document.getElementsByTagName('div')[6];
if(!element) return setTimeout(repeat, 100);
//МОЯ ЛОГИКА
}());
Аноним 13/03/20 Птн 21:18:23 1632443312
image.png (24Кб, 743x322)
743x322
Вот охуенный пример как избранное хранит абудаби, если сейчас это распарсить и вывести на страницу, оно будет отсортировано по номеру тредаайди, а нужно например отсортировать по title или last_posts перед тем как вывести, используя минимум кода чтобы не превращать это в говнокод
Аноним 13/03/20 Птн 21:21:19 1632444313
>>1632442
Что интересно, если я заменю
document.getElementsByTagName('div')[6]
На
document.querySelector('любой класс в фрейме');
То вообще ничего не работает. В чем прикол?
Аноним 13/03/20 Птн 21:26:54 1632449314
>>1632433
переписал filter под ES5 или речь шла еще и про sort?
Аноним 13/03/20 Птн 21:33:02 1632454315
>>1632449
Можно и с .sort, но мне кажется всё равно айди нужно делать именем объекта, даже у макаки так сделано, скрин выше
Аноним 13/03/20 Птн 21:41:45 1632459316
>>1632454
Ты пытаешься сделать на JS, то что возвращает бэк макаки. Он делает запрос к своей базе и сортирует например по id. Затем преобразует это в JSON и через апи отправляет тебе. Все что его JS делает, это рисует по приходящему JSON. Его JS никак ничего не меняет. Гугли базы данных. Если ты хочешь делать тоже самое в минимум движений, то тебе нужно получать эти данные, отправлять к себе на базу и так же сортировать по запросу, который тебя устраивает.

Я тебе предлагал как это сделать через JS. Если тебя это не устраивает, то можешь id пихать в тело объекта, а ключем делать то по чему хочешь сортировать. Все, больше вариантов нет (по крайней мере в моем случае). Если тебе лень это делать, то иди учи запросы к базе и хватит срать в треде.
Аноним 13/03/20 Птн 21:56:11 1632468317
>>1632459
Хорошо спасибо анон, просто хотелось увидеть максимум возможных способов и собрать из них лучший, а то как хранить всё это в куках/сторейдже я так понимаю вариантов и нет, только в сжатом в строку джейсоне
Аноним 13/03/20 Птн 21:58:44 1632474318
У макаки кстати избранное тоже без сортировки по айди выводится, если добавить тред в избранное он снизу, но после обновления стараницы он уходит вверх, так как айди пхп треда больше, макака не стала беспокоиться о том что анончикам захочется отсортировать треды по добавленю в избранное
Аноним 13/03/20 Птн 22:01:30 1632476319
>>1632444
Наверно потому что к фреймам на свой домен можно обращаться только через #
Аноним 13/03/20 Птн 22:06:41 1632482320
>>1632476
Бля, я спрашиваю одно, ты мне отвечаешь другое. Фрейм на другом домене, но это не имеет значения, потому что ОН ВСТАВЛЕН РЕКВАЙЕРОМ В ТЕМПЕРМАНКИ. Вся логика выполняется ТОЛЬКО на фрейме, что мне и нужно. Проблема в том, как выполнить логику после загрузки всего контента во фрейме, чтоб скрипт видел элементы в нем. Интервал или Таймаут ее решает, но только при обновлении страницы, а при переходе на следующую скрипт не выполняется.

Аноним 13/03/20 Птн 22:14:30 1632487321
Аноны, есть люди, которые пользовались GIPHY API?
Когда делаю запрос, то получаю embeded_url, который сайт предлагает вставлять через iframe. Есть какой-нибудь способ вставлять такое через img? А то если на странице 5+ таких фреймов, добавление новых вызывает тормоза.
Аноним 14/03/20 Суб 01:13:21 1632579322
(![]+[])[+[]]+(![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]
Аноним 14/03/20 Суб 08:16:22 1632636323
Есть друг — абсолютный ноль в программировании, английского не знает. Посоветуйте курс для него.
Аноним 14/03/20 Суб 12:17:09 1632709324
>>1632636
Пусть твой друг вкатывается в 1ЭСС.
Без инглиша на жабоскрипте ловить нечего.
Аноним 14/03/20 Суб 12:39:39 1632721325
чем reduce лучше map?
Аноним 14/03/20 Суб 12:42:00 1632724326
Друзья, что делать, если открываю задачу на леткоде и в ступоре сижу?
Я понимаю что нужно использовать в задаче, но не понимаю как правильный алгоритм решения составить
Что обычно вкатывальщики с этим делают? просят помощи и как-то подтолкнуть у других людей, в чатиках или у знакомых прогеров?
Аноним 14/03/20 Суб 13:00:22 1632733327
>>1632721
Reduce более "широкий" и использовать его для создания массивов костыльно

Reduce - чтобы посчитать сумму:
[1, 2, 3].reduce((acc, x) => acc + x) // => 6

Map - чтобы создать новый массив:
[1, 2, 3].map(x => x * 2) // => [2, 4, 6]
Аноним 14/03/20 Суб 13:06:51 1632737328
>>1632733
>Map - чтобы создать новый массив:
>.map
Аноним 14/03/20 Суб 13:17:34 1632747329
>>1632724
Я конечно не знаю что там, но подозреваю что проблема в том, что там абстрактная хуйня. Совет - не занимайся абстрактной хуйней, решай реальные практические задачи. Как правило как решать реальные задачи субоптимально хотя бы сразу более или менее понятно, делаешь, потом оптимизируешь если не нравится. Вся эта абстрактная хуйня отбила мне напрочь желание кодить в студенческие годы, потом пришел в промышленный кодинг и там этой ебалы вообще нет, промышленный кодинг совсем про другое. И вообще голый JS никому особо не нужен, vue или react учи. У кого-то видел что он когда берет новую фронтохуергу пишет клон трелло, вот напиши клон трелло. Как допишешь, если оно будет норм выглядеть и работать, считай что ты джун и пиздуй искать куда жопу приткнуть, без работы над чем-то реальным в реальной команде будешь развиваться со скоростью улитки.
Аноним 14/03/20 Суб 13:18:25 1632748330
>>1632733
Ты долбоеб? Зачем ты что-то пишешь, если сам ничего не понимаешь?

>>1632721
У них разные предназначения. Reduce чаще используют когда тебе нужно сжать данные или преобразовать их, вычленив из них что-то нужное, поэтому при помощи Reduce ты можешь возвращать любой тип от объкта с массиво, до строки с числом. Map используют для модификации уже существующих данных в массиве, без изменения структуры массива.
Аноним 14/03/20 Суб 13:20:45 1632751331
>>1632724
Зависит от сложности задачи. Если это задачи уровня Easy, значит тебе нужно дрочить теорию и логику. Для уровня Medium нужны базовые знания алгоритмов. Уровень Hard это уже продвинутое знание алгоритмов, которые ты сможешь решить только если дрочил похожие задачи при изучении алгоритмов.
В любом случае, можешь смотреть на решение и запоминать принцип по какому оно сделано, а также использованный в нём алгоритм. С опытом сам научишься решать также.
Аноним 14/03/20 Суб 13:31:02 1632755332
>>1632747
Спасиб за совет конечно, но я сейчас на самом низком уровне "функции", если его не преодолею то какое мне там реальное программирование..

>>1632751
Вот вчера с наводками от друга только easy решил.. сейчас вроде медиум алгоритм правильный придумал, осталось реализовать
Аноним 14/03/20 Суб 13:55:45 1632764333
>>1632755
Слушай, dawg. Я тебя понимаю. Алгоритмы и вся эта хуерга полезна для развития ума, но по больше части к кодингу реальному отношения особо не имеет. Да ты выучишься алгоритмы сортировки скажем. Но использовать ты будешь скорее всего готовый от фреймворка какого-нибудь или lodash'евский. Все эти размены монеток, управление лифтами, относительно полезно, чтобы не протухнуть. Но по факту, вдупляй в работу с DOM-деревом, вдупляй в аяксы-хуяксы. Меня конечно может обоссут тут, но я не верю в JS на бэке, и вообще не джаваскриптер я, но при необходимости, когда тима осталась без фронта, месяц его замещал на проекте с Vue. Мое мнение - все что на бэке может JS, другие языки могут лучше. А на фронте никаких яблок, монеток, лифтов нет. Слушаешь события, обрщаешься к API, меняешь состояние компонента (или напрямую DOM, если у тебя жакверипараша). Ну или просто слушаешь события и меняешь состояние.
Аноним 14/03/20 Суб 13:58:21 1632766334
>>1632764
> Алгоритмы и вся эта хуерга
>для нахождения суммы чисел массива от 1 до n хуячит цикл
>для нахождения единственного не дублированного элемента массива, хуячит два вложенных цикла.
>РЯЯ НИНУЖНЫ Я СКОЗАЛ НИНУЖНЫ МААМ СКАЖИ И М

Можно только посмеяться над твоими мантрами.
Аноним 14/03/20 Суб 14:16:28 1632771335
>>1632764
>Да ты выучишься алгоритмы сортировки скажем. Но использовать ты будешь скорее всего готовый от фреймворка какого-нибудь или lodash'евский.
вы что наркоманы чтоле

чем вам не нравится родной алгоритм сортировки

и что вообще за хуйня этот лодаш, я ни разу не видел ни одного полезного примера с ним, такое впечатление что это набор велосипедных копий того что и так есть в языке, с их forEach я отдельно проорал
Аноним 14/03/20 Суб 14:36:11 1632788336
>>1632764
>А на бэкэнде никаких яблок, монеток, лифтов нет. Слушаешь контроллеры, достаешь данные из базы, меняешь их и отдаешь на фронт
Аноним 14/03/20 Суб 14:55:58 1632809337
>>1632788
Да так оно и есть на самом деле. Я пока эти лифтов с яблоками нигде не видел.
Аноним 14/03/20 Суб 15:05:00 1632826338
>>1632766

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

_.reduce(_.times(n, v => v + 1), (s, v) => s + v, 0)
_.filter(arr, (v) => arr.indexOf(v) == arr.lastIndexOf(v))

1) Почему? Потому что могу блеат. Потому что в одну строчку. Потому что никому нахуй не нужна сумма чисел от 1 до n. Потому что реальные данные не имеют отношения к 1 до n хуйне, они куда более непредсказуемы. Ну или загуглю.
2) Да не оптимально, зато читаемо, понятно, в одну строчку. Да и кому такие задачи нужны вообще?

Ну то есть реально, когда ты последний раз решал такие задачи для чего-то что где-то в проде крутится?
Аноним 14/03/20 Суб 15:42:54 1632893339
изображение.png (82Кб, 690x359)
690x359
Братва, че за хуйня в ютуб лезет? Какие нахуй 20 тысяч?
Аноним 14/03/20 Суб 15:54:55 1632910340
Аноним 14/03/20 Суб 16:17:02 1632964341
>>1629259 (OP)
Нужно вкатиться в ванильный ЖС (на полшишечки), чтобы лучше врубаться в веб. html и css уже освоены, скиньте годные пособия/видеокурсы чтоб было максимально информативно
в шапке треда ничего нет
Аноним 14/03/20 Суб 16:33:12 1632987342
>>1632964
Смотря что такое врубаться в веб
Аноним 14/03/20 Суб 16:40:11 1633000343
image.png (135Кб, 1198x878)
1198x878
>>1632964
Завтра ищешь в интернете книжку HTML5 Canvas. Похуй если ничего не поймешь. Затем идешь на w3.org и изучаешь стандарты от корки до корки. Потом зубришь, именно, сука, вызубриваешь содержимое сайта developer.mozilla.org, чтобы от зубов отскакивало. Когда напишешь свой первый сайт - видеоредактор, по пути детально разобравшись в WebGL, скачиваешь и изучаешь любой редактор, рекомендую Notepad++ или Adobe Dreamweaver. Как переделаешь редактор, чтобы можно было добавлять объекты из 3DSMax и красивые 3D-переходы, можешь идти дальше - тебя ждет увлекательный мир JavaScript. WebCL, XUL, сверхбыстрый асинхронный Node.JS, сверхмощная мозговыебывательная многоуровневая обфускация. Отсос хиккующих выблядков / просто неудачников типа рейфага или Flash/Silverlight-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.
Аноним 14/03/20 Суб 16:47:01 1633013344
>>1633000
>try catch
Дальше не читал
Аноним 14/03/20 Суб 17:03:34 1633016345
Чет заутпил с парсером cheerio.
Загрузил хтмл, с помощью селекторов $('селекторы') нашел нужный мне <tr>...</tr> таблицы в хтмл.
Это все получил как cheerio-объект.
let ch_obj = $('селекторы');

А дальше я хочу уже поитерировать <td></td> уже в как дочерние объекты в объекте ch_obj. Но чет запутался нахуй в методах и свойствах у этого чертового объекта ch_obj.
ch_obj - это фактически строка таблицы. Какие методы нужно использовать что бы достать конкретные ячейки этой строки?
Аноним 14/03/20 Суб 17:06:39 1633021346
0 Hy1MLJ2UQxNYl[...].jpg (88Кб, 960x602)
960x602
Аноним 14/03/20 Суб 17:07:11 1633022347
>>1632747
>> без работы над чем-то реальным в реальной команде будешь развиваться со скоростью улитки.
Это, увы факт.
мимо-самостоятельная улитка в гос.шараге
Аноним 14/03/20 Суб 17:21:58 1633040348
>>1633022
п.с. я даже как то устал. Для своей шараги я небольшое приложение на пхп/sql запилил. В ноде подразобрался.
Но все это - самостоятельный пердолинг, от бизнес-работы я далек.
На hh есть учетка с репозиториями, и мне даже hr предложения свои кидают. А я хз че им отвечать, и вот почему: на данный момент имею работу, которая очень хороша по условиям, ЗП - сорокет.
Уходить на галеру в бизнес работать за еду - звучит как хуйня. А на ЗП которая стоит того что бы уйти с нынешней- я не потяну по навыкам.
Я как то ходил в контору одну на собес, написал тестовое, его приняли, потом даже позвали уже общаться с гендиром, обсуждать ЗП и условия. Но он увидел видимо что я по сути и не ищу работу зп 60-70 предлагали, но я ей богу бы не ушел со своей работы скорее всего и короче не позвонили, хотя уже обещали прям что позвонят и пригласят уже решить как поступить, увольняться мне с предидущей работы и т.д.
Короче уныло.
Буду искать удаленку чтоли, и парсеры писать хочу.
Аноним 14/03/20 Суб 17:25:46 1633044349
>>1633040
>>1633022
Если пойдёте на галеры первые 5 лет будет то же самое
Аноним 14/03/20 Суб 19:55:29 1633125350
Аноним 14/03/20 Суб 20:12:52 1633130351
>>1633000
...
Я не зеленый вкатывальщик. Начинал прогать еще 2 года назад - прошивал микроконтроллеры на Си на предприятии. Затем вкатывался в Питон и в Пыху. Мне не нужно глубоко влезать во фронт, буквально поверхностно освоить жс чтоб было легче работать с вебом в целом Сети Танненбаума уже давно прочитаны, так что тут тоже все норм
Мне только окунуться в жс и не более
Аноним 14/03/20 Суб 20:41:39 1633149352
>>1633013
как ещё с await ты добавишь проверку ошибок?
Аноним 14/03/20 Суб 20:46:17 1633151353
>>1633040
судя по твоему посту ты не хочешь работать вообще а не не хочешь работать за еду, раз не хочешь кодить за большую зп чем у тебя сейчас
Аноним 14/03/20 Суб 20:56:12 1633155354
кот.png (140Кб, 362x368)
362x368
>>1633130
ты какой-то дефектный, на дворе 2020 год, за 300к в секунду ищут data science и просят на питоне написать hello world, после курса на курсеры. Ты же перекатываешься из Си в Пыху, затем зачем-то хочешь знать чистый JS, который нахуй никому не всрался и при этом всем, ты не задаешь : аноны хочу доку по Реакту/Angular/Vue на офф сайте почитать, норм или где-то в другом месте? Ты же даже не можешь открыть учебную доку по JS, прочитать по диагонали за один день и угомониться
Аноним 14/03/20 Суб 20:58:40 1633158355
>>1633155
PS какие нахуй видеокурсы по чистому JS, для человека с продакшен опытом СИ? КАКИЕ видеокурсы, что тебе тут не понятно?
Аноним 14/03/20 Суб 21:12:07 1633169356
>>1632910
Много. У меня в мувике 5 всего
Аноним 14/03/20 Суб 21:21:39 1633176357
image.png (4Кб, 457x52)
457x52
У меня щас шиза начнется.
Короче, меня не слушается скрипт, никак не могу заставить его прогнать ссаный цикл.
При первой же итерации счетчик равен links.length - 1, хотя ссылок там больше сотни.
Если поставить условие j < 100, то он при первой итерации будет 99 и цикл прекратится.
Дичь какая-то, уже 6 часов не могу собрать ссылки со страницы.
Аноним 14/03/20 Суб 21:23:26 1633180358
То что querySelectorAll по ID, это если что не я, у ютуба разметка такая.
Элементы берутся нормально, проверял.
Аноним 14/03/20 Суб 21:27:37 1633186359
>>1633155
>300к в секунду ищут data science
Тут бросил читать твой поток бреда малолетнего
Аноним 14/03/20 Суб 21:40:52 1633191360
>>1633180
наверно потому что айди должен быть уникальным, по этому жс и не может его перебрать, попробуй через кверисилектор по другому значению собрать эти ссылки
Аноним 14/03/20 Суб 21:46:47 1633195361
>>1633186
продолжай жить в своем маня мирке, у меня пару друзей именно так вкатились туда. Один уже синьер. Но тебе виднее.
Аноним 14/03/20 Суб 22:22:53 1633215362
>>1633191
Да не, даже просто цикл от 0 до 100, к примеру, не выполняется. Счетчик в первой же итерации 99 и все.
Аноним 14/03/20 Суб 22:28:21 1633217363
>>1633195
А я криптой торгую
$14к изи за месяц выходит. Погромирование ненужно
Аноним 14/03/20 Суб 22:29:08 1633218364
>>1633215
попробуй другой браузер может свой ты выебал
Аноним 14/03/20 Суб 22:30:06 1633219365
>>1633217
бля анон ты чё сутками сидишь и эти ебучие свечи и графики караулишь? как вспомню, так вздрогну, это же пиздец, особенно когда всё падает, особенно сейчас
Аноним 14/03/20 Суб 22:31:28 1633223366
WFW0GMdXcM.jpg (340Кб, 1000x1000)
1000x1000
Аноним 14/03/20 Суб 23:14:29 1633251367
Аноним 14/03/20 Суб 23:16:04 1633256368
>>1633223
в демотиваторе нет алгоритмов, все остальное для детей, че сказать то хотел?
Аноним 14/03/20 Суб 23:36:48 1633293369
изображение.png (168Кб, 850x1202)
850x1202
>>1633256
Каково линалом обмазаться, неребенок?
Аноним 14/03/20 Суб 23:53:04 1633337370
>>1633293
шо то не въехал че за синтаксис такой уебанский? на стэке помогут если че?
Аноним 15/03/20 Вск 00:02:47 1633344371
Аноним 15/03/20 Вск 00:05:28 1633348372
>>1633344
Если че то на пикче объясняется максимально тривиальная ебота для 1го курса, но уже на этом большинство "веб-инженеров будущего" прогающих копипастой с гугла жидко кекнут и откинутся. Что уж говорить променее тривиальные главы
Аноним 15/03/20 Вск 00:23:39 1633381373
>>1633348
А те умники которые со всем справятся в большинстве своем пойдут во всякии НИИ за копейки на сях писать или еще что-то там, потому что у математиков обычно с головой что-то не то малек. А веб-инженеры будущего пропрыгав пару тройку галер в принципе нормально устроятся, там мозгов так-то больших не надо, не быть дебилом, не быть аутистом и местечко в тепле найдешь.
Аноним 15/03/20 Вск 00:25:08 1633386374
>>1633381
>пропрыгав пару тройку хуев
Вот теперь правдоподобнее

>пойдут во всякии НИИ за копейки
Мы про дата саенс базарим, але
Аноним 15/03/20 Вск 00:28:32 1633394375
>>1633386
Откуда в РФ на первом или каком-либо еще курсе дата-саенс? То есть нет, математическую базу которую дата-саенс использует может и дадут, но настолько скучно, оторвано от жизни и вообще, что ты нихуя не поймешь что это такое было и зачем. В итоге в универе всю эту хуйню учат ток аутисты-математики.
Аноним 15/03/20 Вск 04:04:02 1633540376
Каким образом можно два массива вида
['a', 'b', 'c']
[1, 2, 3]
превратить в один массив вида
['a1', 'b2', 'c3'] ?
Аноним 15/03/20 Вск 04:46:55 1633545377
>>1633540
массив 3 = массив1[0] + массив2[0]
массив 3 = массив1[1] + массив2[1]
массив 3 = массив1[2] + массив2[2]
Аноним 15/03/20 Вск 06:16:23 1633557378
Аноним 15/03/20 Вск 07:17:27 1633561379
>>1633540
зипа в джс нет, нужен мэп

const arr1 = ['a', 'b', 'c']
const arr2 = [1, 2, 3]
const res = arr1.map((el, i) => el + arr2)

массивы должны быть равной длины или хотя бы arr1 короче arr2

если второй массив это именно цифры по порядку с единицы он вообще не нужен

const res = arr1.map((el, i) => el + (i + 1))
Аноним 15/03/20 Вск 07:20:45 1633562380
const res = arr1.map((el, i) => el + arr2 квадратная скобка i квадратная скобка)
Аноним 15/03/20 Вск 09:04:42 1633584381
>>1633151
Ты прав. Приложуху для шараги я писал то ковыряясь пальцем в носу. Хочу пишу, хочу не пишу - хобби короче.
Я немного свои мотивации проанализировал, поэтому решил что буду активно искать удаленку, или работу что по условиям устроит.
Аноним 15/03/20 Вск 13:15:36 1633710382
Аноны, написал на node скрипт, который парсит сайт один.
Нужно что бы этот скрипт запускался раз в сутки.
Как это сделать?
Аноним 15/03/20 Вск 13:16:45 1633711383
>>1633710
п.с.
скрипт - в рамках сревера работает. Т.е. сервак работает, выполняет свои функциии. А раз в сутки должен запускаться мой скрипт парсинга и обновлять данные на вэю-морде
Аноним 15/03/20 Вск 13:23:30 1633718384
Аноним 15/03/20 Вск 13:54:05 1633732385
>>1633711
если средствами джаваскрипта то setinterval, а вообще смотри выше, cron надёжнее
Аноним 15/03/20 Вск 16:36:35 1633842386
Как сделать так, чтобы нижеприведённый код заработал на ноде?
Так не работает:
> import 'chai/register-expect';
А так работает
> import 'chai/register-expect.js';
Аноним 15/03/20 Вск 16:41:55 1633845387
>>1633842
>Как сделать так, чтобы нижеприведённый код заработал
>А так работает

сам спросил сам ответил
Аноним 15/03/20 Вск 16:49:33 1633848388
>>1633842
Какую-то древнюю хуйню используешь
Аноним 15/03/20 Вск 17:01:45 1633853389
>>1633848
А что лучше использовать?
Мне для автоматизации тестирования. Выбрал Mocha и Chai, так как про них больше всего написано в интернетах.
Аноним 15/03/20 Вск 17:27:00 1633876390
>>1633853
всегда знал, что вротендеры - мочехлебы)) чай с мочей блять)
Аноним 15/03/20 Вск 17:28:21 1633877391
image.png (139Кб, 1756x228)
1756x228
Аноним 15/03/20 Вск 17:36:52 1633881392
>>1633853
Тут что-то странное, должны такие пути ресолвиться правильно
У тебя нода 13+ или babel?
Может у тебя где-то кроме либы есть папка "chai"
На моей машине всё работает с обычным require('chai/register-expect')
Аноним 15/03/20 Вск 17:49:44 1633890393
начать с того что нода не поддерживает импорт...
Аноним 15/03/20 Вск 18:54:26 1633941394
>>1633881
Была нода. Сейчас поставил ещё babel cверху. Так всё заработало.
Да и в принципе решил отказаться от chai и mochi в пользу Jest'a. Спасибо анону >>1633848 за наводку искать что-то новее.
Аноним 15/03/20 Вск 20:50:05 1633994395
Аноны, подскажите:
При клике на кнопку на страницу добавляется gif через iframe. При каждом новом нажатии все ранее добавленные gif перезагружаются. Можно как-нибудь сделать так, чтобы они не перезагружались?
Аноним 15/03/20 Вск 21:29:37 1634016396
Вопрос к людям, которые работают на JS.
Какие проекты вы делаете? Или же только верстка?
Аноним 15/03/20 Вск 21:42:54 1634020397
>>1634016
Хуёрстка. Работа на фрейморках сейчас в основном.
Аноним 15/03/20 Вск 21:48:56 1634024398
>>1633994
непонятно, можно пример, и зачем ты вообщ егрузишь картинки через фрейм
Аноним 15/03/20 Вск 22:56:33 1634040399
>>1634024
Пишу на реакте, для получения gif использую GIPHY API. У меня поле поиска в которое я ввожу название тега и по нажатию кнопки я делаю запрос гифки по этому тэгу. В ответ АПИ мне вот такое отдаёт: "https://giphy.com/embed/cMnt7i2RykmpW".
Дока говорит, что embeded можно только с помощью iframe вставить. Я так и делаю, но проблема в том, что я все запросы сохраняю и я вывожу все гифки, которые искал пользователь, т.е. при каждом запросе у меня стейт обновляется, что тригерит компоненту, отображающую все этих гифки.
Аноним 16/03/20 Пнд 01:16:23 1634088400
Аноны, как отменить ререндер определённых компонент при использовании useState?
У меня есть форма с инпутом, под которым отображается таблица. Таблица отрисовывает в зависимости от того, что именно отправила форма. Но почему-то каждый раз, когда я что-то пишу в инпуте, вся таблица по новой рендерится. Как привязать рендер таблицы к моменту отправки формы?
Аноним 16/03/20 Пнд 01:29:05 1634091401
>>1634088
Откуда нам знать что и почему тебя там, не видя кода?
Аноним 16/03/20 Пнд 01:56:23 1634102402
Аноним 16/03/20 Пнд 02:37:37 1634105403
>>1634088
рендерить через useeffect, условием рендера поставить изменение какого то стейта
Аноним 16/03/20 Пнд 04:16:43 1634118404
Народ, подскажите плиз. Есть короче функция ожидания появления элемента на странице. Она принимает заданный элемент в качестве аргумента и возвращает его. Конечная функция выглядит так: function nodeCallbackFunction (jNode). Все, что внутри этой функции будет ожидать появление заданного элемента.

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

Аноним 16/03/20 Пнд 05:21:39 1634119405
image.png (33Кб, 635x332)
635x332
>>1634088
именно такое поведение и должно быть. У тебя стоит onChange и функция, которая меняет стэйт. Происходит изменение стэйта при каждом символе и ререндер. Это никак не сказывается на производительности из-за того что в Реакте существует Virtual DOM и он смотрит что надо перестроить. В твоем случае меняется только эта строчка в input, больше ничего.

Либо, вот как сказал анон >>1634105
Аноним 16/03/20 Пнд 09:17:04 1634152406
>>1630442
Нет, просто это грозит утечкой данных, за счёт выполнения произвольного кода из-под шрифтов,
а ещё - DDoS'ом системы, по причине иммутабельности строкового типа в JavaScript,
так как при изменении строки, и её присваивании её другой переменной,
как и при копировании, каждый раз создаётся новый объект - новая строка.
Так вот, эти операции могут быть зациклены при помощи Тьюринг-полных шрифтов, и замкнуты рекурсивно.
Аноним 16/03/20 Пнд 11:02:47 1634175407
анон, допиливаю адрес доставки для интернет магазина. и тут такая проблема возникла: когда висит в фокусе мой инпут с городом то я спокойно ввожу город. как только фокус теряется, то он сразу же отсылает то что я напечатал в пхп через ajax который уже дальше обрабатывается. все это сделано через backbone js. и вот мне к этому надо прикрутить автокомплит. но проблема в том что когда я пишу и выпадает список, то когда жму ну город из списка, фокус сразу же теряется и он отсылает только то что я напечатал сам, а не то что было подставлено через автокомлит. так вот вопрос : как это фиксить то и куда копать?
Аноним 16/03/20 Пнд 12:57:36 1634242408
>>1634175
весь тред мертвый чтоли? чего молчите то?
бамп!
Аноним 16/03/20 Пнд 13:08:42 1634248409
>>1634175
сделать так чтобы не отсылалось ничего
Аноним 16/03/20 Пнд 13:57:16 1634268410
Анчоусы, есть у кого "Web Development with Node and Express: Leveraging the JavaScript Stack 2nd Edition"?
Аноним 16/03/20 Пнд 14:07:16 1634274411
>>1634248
так мне это не надо. нужно чтобы он слал только после моего выбора.
Аноним 16/03/20 Пнд 15:36:42 1634356412
>>1634175
отсылай после клика не меню, добавь делэй
Аноним 16/03/20 Пнд 15:45:32 1634365413
Аноны, подскажите:
Хочу, чтобы во время загрузки данных от АПИ кнопка была заблокирована, но этого не происходит. Я понимаю, что это происходит из-за того, что у меня друг за другом идут setLoading. Как по умному это провернуть?
https://codesandbox.io/s/stoic-lehmann-k6u18
Аноним 16/03/20 Пнд 15:45:44 1634366414
Вопрос по React - я вижу в туторах частично дефолтный синтаксис React страницы - начиная с
№1 Import React from 'react'; etc...
А вижу и такой синтаксис:
№ 2 class App extends React.Component {
Чем они отличаются? Проблема у меня состоит в следующем: Проект на ASp.NET Core 3.0, на версии 2.2 я использовал webpackmiddleware, но судя по MSDN - его выпилили из ASp.NET Core. Теперь идет подключение jsEngineSwitcher - V8+ChakraCore, где используется не привычный и не удобный синтаксис 2. Как его измнить на 1? Извиняюсь, если не по теме со своим .NET Core
Аноним 16/03/20 Пнд 15:50:58 1634371415
Аноним 16/03/20 Пнд 16:00:31 1634376416
>>1634366
> Import React from 'react';
Тебе в любом компоненте нужно импортировать реакт, он нужен для jsx.
>class App extends React.Component
Это реакт класс компонент. У него есть своё состояние, которые ты можешь хранить.

Если ты хочешь использовать простые рендер компоненты, то сейчас ты можешь юзать хуки.
Аноним 16/03/20 Пнд 16:01:35 1634378417
>>1634371
Вот этот скрипт
https://gist.github.com/BrockA/2625891#file-waitforkeyelements-js

Сюда забивается нужный элемент
waitForKeyElements (
".field__impl"
, nodeCallbackFunction
);

А эта возвращает тот самый элемент
function nodeCallbackFunction (jNode) {
}

Так как его потом использовать в других функциях? Смотрю доки, но никак не пойму.
Аноним 16/03/20 Пнд 16:19:59 1634390418
>>1634376
у меня при импорте компонентов не компилиться файл, хз чего. Только если задаю в синтаксисе 2
Аноним 16/03/20 Пнд 16:24:03 1634393419
image.png (18Кб, 510x168)
510x168
>>1634365

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

>Как по умному это провернуть?

Для начала добавить этот запрос, а не выдумывать его у себя в голове. Добавить его в useEffect и написать промис, который на этапе формирования будет блокировать кнопку, а когда получает результат, то будет разблокировать.
Аноним 16/03/20 Пнд 16:35:33 1634403420
Аноним 16/03/20 Пнд 17:49:43 1634468421
Только что осознал, что immer - это кал. Он мотивирует тебя писать в хуевом императивном стиле.
Аноним 16/03/20 Пнд 18:12:15 1634478422
>>1634378
Дрюк, там 2014 год жиксери и вообще таймеры.

Используй mutation observer, если нужно следить за изменениями документа.
Аноним 16/03/20 Пнд 18:19:05 1634480423
>>1634478
>mutation observer,
депрекейтед, есть proxy
Аноним 16/03/20 Пнд 18:59:40 1634495424
Аноны, как можно растянуть див на всю высоту страницы, с учётом того, что у страницы может быть скролл? Т.е. мне heigth: 100vh не подходит.
Аноним 16/03/20 Пнд 19:28:07 1634507425
Аноним 16/03/20 Пнд 19:51:52 1634523426
>>1634480
Как с помощью прокси отслеживать добавляемые аяксом элементы?
Аноним 16/03/20 Пнд 19:54:07 1634525427
>>1634507
Что min-heigth?
Я же всё равно должен значение выставлять.
Аноним 16/03/20 Пнд 20:02:18 1634529428
Аноним 16/03/20 Пнд 20:10:11 1634533429
>>1634529
Не работает. Он растягивает до конца вьюпорта, а то, что под ним он не видит
Аноним 16/03/20 Пнд 21:09:28 1634584430
NPM IS JOINING GITHUB
P
M

I
S

J
O
I
N
I
N
G

G
I
T
H
U
B
Аноним 16/03/20 Пнд 21:24:50 1634594431
>>1634533
Так значит он ограничен размерами родительского блока.
Аноним 16/03/20 Пнд 21:26:29 1634595432
Аноним 16/03/20 Пнд 21:45:55 1634608433
>>1634584
вот майкрософт и подмял под себя всю жс-экосистему. гитхаб, вскод, тайпскрипт, теперь еще и нпм
Аноним 17/03/20 Втр 00:06:52 1634656434
>>1634478
>Используй mutation observer,
Я копал в эту сторону, но ничего не получается. То ли я не догоняю как он работает, то ли он не работает в моем случае. Мне нужно получить элементы со страницы, содержимое которых подгружаются по мере ее загрузки из внешних источников. Там наверно что-то типа парсера или типа того. Короче, нужно получить почти всю страницу, но когда она полностью загрузится. Как это сделать обсервером, можешь показать пример?
Аноним 17/03/20 Втр 00:32:11 1634670435
>>1634608
Вооооот. Теперь закроет это все нахуй и вернет VBScript и IE6
Аноним 17/03/20 Втр 00:35:28 1634671436
Привет, нужна помощь. Вокруг меня целый гугл и куча-куча всего с джс. Подскажите, с чего начать изучение. Точнее, подскажите, с чего точно не стоит, пожалуйста.
Для себя выделил гикбрейнс пока что.
Сейчас почитываю learn javascript параллельно закрепляя за какими-нибудь задачками (пока это console.log, alert, prompt + условия). Скудно и мало, но если буду спешить, все надо мной будут смеяться.
Аноним 17/03/20 Втр 00:42:58 1634675437
>>1634671
>начать изучение
Изучение чего?
Синтаксиса джс? У тебя уже есть лерн джс, этого достаточно.
>гикбрейнс
Хочешь заплатить деньги за курсы, бесплатными аналогами которых захламлен ютуб?
Аноним 17/03/20 Втр 00:58:25 1634677438
Аноним 17/03/20 Втр 01:03:36 1634682439
>>1634675
>Точнее, подскажите, с чего точно не стоит, пожалуйста.
>Для себя выделил гикбрейнс пока что.
Я написал, что в гикбрейнс вообще заглядывать не буду
Аноним 17/03/20 Втр 01:03:54 1634684440
Аноним 17/03/20 Втр 01:20:40 1634693441
Привет! Столкнулся с проблемой при тестировании реакт компонента при помощи снепшотов: Cannot read property 'contextTypes' of undefined, react-router testing - javascript
При вызове метода shallow всё крашится. Вот поподробней:
menu test › encountered a declaration exception

TypeError: Cannot read property 'contextTypes' of undefined

34 | fetchMenu: () => {},}
35 | Enzyme.configure({ adapter: new Adapter() })
> 36 | const menu_container = shallow(<Menu {...props} />)
| ^
37 | it('renders <Menu/> template', ()=>{
38 | expect(menu_container.find('a').toHaveLength(1))
39 | })
Anonch 17/03/20 Втр 01:39:02 1634698442
Сап тред.

Есть вопрос. Существует ли вариант используя html5 и js стримить аудио/видео в файл на отдалённом облаке? Так, чтобы если стрим вдруг оборвался, то чтобы файл не корраптился или корраптился не особо сильно.

Знаю только, что можно просто используя getUserMedia() получить аудио/видео, а потом его уже запилить в файл, но мне, как видите, нужно немного не это.

Заранее благодарю за помощь.
Аноним 17/03/20 Втр 02:33:58 1634702443
>>1634656
Смотришь, какой самый корневой элемент, который грузится сразу. Вешаешь на него обсервер с childList true.

Перебираешь мутации, если добавлен нужный элемент, вызываешь действие.
Аноним 17/03/20 Втр 03:22:34 1634706444
34.jpg (6Кб, 168x101)
168x101
Есть ячейка таблицы td display: table-cell;
В ней <p> и под ним два <span>. Как второй спан выровнять по правому краю, кроме float right?
Аноним 17/03/20 Втр 10:32:01 1634790445
>>1634390
Импорт и объявление компонента это вообще про разное.

Напиши лог, почему не компилируется, там видно будет.
Аноним 17/03/20 Втр 18:13:35 1635242446
Как заставать вебпак после сборки копировать .build.js-файлы в какую-нибудь папку?

Единственный плагин, который я нашел (CopyWebpackPlugin), умеет это делать лишь во время --watch флага, что совершенно не подходит при сборке продакшен-версии или на какой-нибудь CI/CD-платформе, например.
Аноним 17/03/20 Втр 18:16:42 1635249447
Объясните пожалуйста почему когда я вешаю на клик
this.props.history.push(url) , урл в стоке меняется, но компоненты не рендерятся, но когла просто вызываю в скрипте this.props.history.push(url), то все работает
Аноним 17/03/20 Втр 18:26:50 1635264448
>>1635249
Потому что ты мутирующий мудак
Чистей теперь свое говно
Аноним 17/03/20 Втр 18:27:32 1635267449
Аноним 17/03/20 Втр 20:30:55 1635384450
Аноним 17/03/20 Втр 20:33:24 1635387451
>>1629259 (OP)
Сап, есть такая проблема:
Есть приложение на ангуляре, навигация в компонентах через router с абсолютными путями.
Сейчас появилась необходимость добавить еще компонент на верхнем уровне, у которого будет доступ к существующим, при этом будет свой машрут с префиксом.

Т.е, было:

host/entities/2

стало

host/entities/2
&
host/PREFIX/entities/2

Из-за того что в некоторых компонентах, навигация через router с абсолютными путями:
router.navigate('/entities')

То при навигации из нового компонента (с урлом /prefix/entities), перекидывает не на тот маршрут.
Где было можно переписал на относительные пути, но есть места где такое не катит.

Какие есть варианты?
Аноним 17/03/20 Втр 20:51:19 1635412452
Аноны, есть ширина блока. Есть разные тайтлы фильмов, которые при константном шрифте, могут не умещаться в 1 строку. Цель - адаптивный font size. И вроде бы проблем никаких нет, только одно понять не могу. Везде пишут, что font size это высота символов. А как высчитать ширину, зная высоту. Есть какой-то коэффициент?
Аноним 17/03/20 Втр 21:35:49 1635444453
>>1634702
Ну кажись получилось. Я сделал перебор элементов в мутации через foreach, и теперь на запрос элемента мне приходит в консоли штук 10 пустых массивов, а потом еще почти сколько же нужных. Я так понимаю это получается перебор по мере их загрузки? Это норм вообще или как?
Аноним 17/03/20 Втр 21:55:50 1635458454
Есть тут кто в вебпаке шарящий? Я тут часа 2 копался в гугле, так и не нашёл нихера. Есть у меня в css файлах url(..) с какими-то адресами картинок. Все картинки лежат на cdn. Вот мне нужно чтоб вебпак в своём аутпуте заменил всякие url(/images/hui.png) на url(<cdn-path>/images/hui.png). Путь к cdn из системных переменных берётся. Все, что гугл советует, это менять publicPath в output, что мне вообще не подходит потому, что он вообще на все файлы распространяется.
Аноним 17/03/20 Втр 22:09:31 1635466455
Аноним 17/03/20 Втр 22:32:27 1635479456
>>1635458
С третьегруппными либами
npm install -D string-replace-loader

{
test: /\.js$/,
loader: 'string-replace-loader',
options: {
search: '(?<=url\().*(?=\))',
replace: 'https://cdn.com',
flags: 'g'
}
}
Аноним 17/03/20 Втр 22:56:42 1635502457
image.png (15Кб, 305x132)
305x132
image.png (11Кб, 308x105)
308x105
>>1635412
бамп и PS

Пикрелейтед 2 слова , с одинаковым шрифтом, font-size и кол-вом символов. Однако их ширина отличается
Аноним 17/03/20 Втр 23:00:23 1635516458
>>1635502
Шрифт Mono должен быть
Аноним 18/03/20 Срд 00:18:50 1635599459
>>1635516
спасибо анон, не знал что такие есть шрифты
Аноним 18/03/20 Срд 00:54:17 1635625460
Бандиты, сталкивался кто со Svelte (https://svelte.dev)?
Че скажете? И нахуй оно вообще нужно? И чего почитать про нее подробнее?
Аноним 18/03/20 Срд 00:55:48 1635627461
>>1629259 (OP)
Существует ли какой-то способ, разблочить setTimeout, пока выполняется и ещё не завершён - цикл while или for?
Аноним 18/03/20 Срд 02:32:42 1635643462
>>1629259 (OP)
Смотрите сюда.
Есть promise, и он уже разрешён.
Пытаюсь его вывести, в консоли браузера выдаётся это:
>Promise {<resolved>: true}
>__proto__: Promise
>[[PromiseStatus]]: "resolved"
>[[PromiseValue]]: true
Так вот, какими же хитроумными завихрениями говнокода - взять да выколупать это ёбанное true оттуда???
Аноним 18/03/20 Срд 02:42:53 1635645463
Аноним 18/03/20 Срд 02:57:03 1635646464
>>1635645
Оо, внатуре. А то я уже и promise["<resolved>"], и promise.resolved и JSON.stringify(promise) - всё перепробовал, и только 8======D в консоли увидел.
Аноним 18/03/20 Срд 02:58:51 1635647465
Аноним 18/03/20 Срд 03:23:32 1635650466
>>1635647
хуета. Надо без async-await как-то запилить, а то не во всех браузерах работает:
>await (new Promise(function(resolve, reject){setTimeout(function(){resolve(true)},500);}));
>Uncaught ReferenceError: await is not defined
Вот, через promise.then() заебись всё пашет, без этих всяких async, await, let, const и стрелочных функций:
>var result_value = false;
>new Promise(function(resolve, reject){setTimeout(function(){resolve(true)},500);}).then(function(result){result_value = result; console.log(result_value)});
>var i = 0; var check_result_value = setInterval(function(){if(i<10){i++; console.log(result_value);}else{clearInterval(check_result_value)}}, 100);
Аноним 18/03/20 Срд 03:39:34 1635654467
>>1635650
Говнобраузерники должны сосать
Аноним 18/03/20 Срд 03:45:37 1635656468
14390466575210s.jpg (4Кб, 181x200)
181x200
Поясните за промисы, где их применять, кроме как в сетевых запросах?

Вот я могу использовать их например для перебора большого массива, чтобы перебор не блочил ничего? Как это будет выглдеть?
Аноним 18/03/20 Срд 04:30:24 1635658469
>>1635627
Важно понимать, что в синхронных же функциях - циклы, как и рекурсивные вызовы функций - блочат весь поток.
Но можно сделать функцию с петлями - асинхронной, и спать в ней через promise - с await, как-то так:
>var completed = false; setTimeout(function(){completed = true;}, 2000); //true after 2 sec
>//function sleep(ms){var end = Date.now() + ms;while (Date.now() < end){continue;}}; //just do nothing, and continue. This while is blocking setTimeout.
>//function is_completed(){for(var test = 1; test<=5; test++){sleep(1000);}return completed;} //5 seconds, but setTimeout blocked, and completed = false;
>function sleep(ms) {return new Promise(res => setTimeout(res, ms));}//sleep, by using promise
>async function is_completed() {while(completed == false){await sleep(1000);}return completed;}//wait in while with sleeping in the loop
>console.log("is_completed = ", (await is_completed()));
Аноним 18/03/20 Срд 04:35:40 1635659470
>>1635654
Анус себе отсоси, ленивое хуйло. Вы ещё, блять, на стандартнейшем HTML 1.1 не кодили ваши поделки. Никто из-за ваших стрелок ебучьих, проверенные временем, опенсорцные браузеры, не будет менять на какое-то говно проприетарное, копирастическое, потому что проще переписать ваш говенный быдлокод - на нормальный, обратно-совместимый, стандартнейший, каноничный код.
Аноним 18/03/20 Срд 06:36:52 1635672471
>>1635658
>в синхронных же функциях
>рекурсивные вызовы функций - блочат весь поток
>можно сделать функцию с петлями - асинхронной, и спать в ней через promise - с await
Действительно, рекурсивные вызовы без setTimeout - блочат поток, и при приводят к "Uncaught RangeError: Maximum call stack size exceeded".
Но если их производить по таймауту - то не блочат:
>var completed = false; setTimeout(function(){completed = true;}, 2000); //true after 2 sec
>function sleep(ms){var end = Date.now() + ms;while (Date.now() < end){continue;}}; //just do nothing, and continue. This while is blocking setTimeout.
>//var slept = 1; function is_completed(){if(completed==true || slept > 5){return completed;}else{sleep(1000); console.log(slept+"s"); slept++; return is_completed();}}//false after 5s
>//setTimeout(function(){console.log("completed: ", completed);}, 3000)//true, after is_completed finish
>//console.log("is_completed = ", is_completed());
>function x (callback) {setTimeout(function () {if(completed == false){console.log("completed still is ", completed); x(callback);}else{callback(completed);}},500);}//stop, after 2s
>x(console.log.bind(console)); //this is special case of console.log //or //x(console.log);
Очевидно, что здесь, нет async и await, и наверняка, можно было бы даже вернуть completed (как - не знаю), но можно и обработать его через callback.
Аноним 18/03/20 Срд 09:10:33 1635703472
>>1635672
И вообще, чтоб рекурсией не заниматься, и не выхватить "Uncaught RangeError: Maximum call stack size exceeded" - можно сделать так:
>var completed = false; setTimeout(function(){completed = true;}, 2000); //true after 2 sec
>function x(callback) {callback(completed);}//stop, after 2s
>function return_value(callback){var timerId = setInterval(function(){if(completed){x(callback);clearInterval(timerId);}},100);}
>return_value(console.log); //or return_value(console.log.bind(console));
Аноним 18/03/20 Срд 09:46:37 1635719473
Народ, подскажите по MutationObserver
Подцепил его на перебор addedNodes, чтобы получить элементы, которые загружаются динамически. Потом проверяю наличие элемента с нужным классом и пихаю в массив глобальной переменной, чтоб потом в других функциях можно было использовать. Почему по логам он мне возвращает 4 одинаковых массива?

https://jsfiddle.net/jxy2vo8h/
Аноним 18/03/20 Срд 09:49:33 1635722474
>>1629259 (OP)
>>1635627>>1635658>>1635672>>1635703
Аноны, вот здесь: https://developer.mozilla.org/ru/docs/Web/API/WindowTimers/setTimeout
Я вижу polyfill для setTimeout и setInterval.
Эти функции, помимо callback-функции и задержки в миллисекундах - принимают ещё какие-то аргументы:
>(func, [, delay, param1, param2, ...])
Вопрос: а можно ли как-то переписать этот полифилл,
так, чтобы при указании, в качестве какого-либо аргумента, определённого значения,
эти функции setTimeout, и setInterval - возвращали значение, возвращаемое callback-функцией,
а не timerId?
А потом, этим новым polyfill'ом - заоверрайдить системные и стандартные функции setTimeout, и setInterval?
Например:
>return timerId = setTimeout(function(){return timerId = value_changed_after_some_time;}, milliseconds, "return_callback_value"); //return value_changed_after_some_time, not timerId CYKABLYAT'
Аноним 18/03/20 Срд 10:20:02 1635734475
>>1635466
Пробовал уже. Ноль эффекта

>>1635479
Кек, ебанутый способ, но я на него думал положиться, если совсем решения не найду. Про лоадер такой не знал правда. думал галпом запилить. Но твой способ тоже что-то не работает. Регулярку я переделал под нужное, в выхлопе ссылки всё равно неизменные. Причём даже вручную попробовал так же замену уже в минифицированном файле сделать и там всё заменилось. Печаль, в общем.
Аноним 18/03/20 Срд 10:31:07 1635744476
>>1635650
try {
await asyncFunction();
}
catch (e) {
window.open("www.chrome.com/download");
}
Аноним 18/03/20 Срд 10:32:41 1635745477
>>1635722
А вот насчёт возврата значения из функции - вообще ничего на ум не приходит...
Кроме как... Вернуть promise, и обработать резульат в then callback'ом:
>var result_value = false; setTimeout(function(){result_value = true;}, 20000); //true after 2 sec or 20 sed (to see timeout error)
>function x(callback, result) {callback(result);}//stop, after 2s, or after 5s
>function return_value(callback_function){var max_timeout = 5000;var wait = 0;return new Promise(function(resolve, reject){var timerId = setInterval(function(){if(result_value == true && wait<max_timeout){resolve(result_value);clearInterval(timerId);}else if(wait>=max_timeout){reject("Too long time: ((wait = "+wait+") >= (max_timeout = "+max_timeout+"))");clearInterval(timerId);}else{wait += 100;}},100);}).then(function(result, err){x(callback_function, result);}).catch(function(err){x(callback_function, err);});}
>return_value(console.log.bind(console)); //or (console.log)
А вот как вернуть его из секции then - вообще хуй знает, блядь.
Аноним 18/03/20 Срд 10:36:54 1635747478
>>1635656
Переборы массивов чисто cpu-bound и асинхронщина не даёт ничего для этого. В таких случая обычно в другом потоке считают. У нас, считай, в web worker отправить. Люди пишут правда всякие асинхронные итераторы иногда, но, отвечаю, говна только наешься с ними. А вообще промисы нужны для любого io( запросы, чтение из файлов, события).
Аноним 18/03/20 Срд 10:45:28 1635750479
Аноним 18/03/20 Срд 10:50:57 1635754480
wtf.PNG (33Кб, 1000x618)
1000x618
>>1635744
Ишь ты какой умный! Одного не учёл...
Там что, разве в 2к20-м, заебатые хромы для Windows XP - уже завезли?
И да, ты, кажется, забыл 'http://' дописать, в том же китайском 360ExtremeExplorer,
без исходника, который, и который уже меня вкрай доебал -
так там вообще какая-то хуйня открывается по ссылке. Пирил.
Аноним 18/03/20 Срд 11:40:49 1635794481
>>1635412
Захардкодить моноширный шрифт тебе уже вроде подсказали
https://fonts.google.com/?category=Monospace

Но лучше стремиться быть гибким. Например
text-overflow: ellipsis;
https://developer.mozilla.org/en-US/docs/Web/CSS/text-overflow

Самое мощное это воткнуть текст в вектор
https://developer.mozilla.org/en-US/docs/Web/SVG/Element/text
Так получишь суперсилу управлять любым масштабированием. Но с большой силой приходят большие заморочки, я пример сходу не смогу накидать.
Аноним 18/03/20 Срд 12:07:02 1635825482
Что делать если не могу решить medium задачу на лите и захожу на двач ныть?
Аноним 18/03/20 Срд 12:13:26 1635831483
>>1635825
Лекции ШАД по алгоритмам уже прослушал?
Аноним 18/03/20 Срд 12:38:59 1635858484
>>1635831
Нет. В первый раз слышу, даже если что-то дельное говорят то я вряд-ли запомню. Например уже второй раз вижу задачу, где нужно каррирование использовать, но забываю и не знаю как его использовать, потому что не практиковался с ним и не знаю как вообще код писать.
Аноним 18/03/20 Срд 13:01:57 1635886485
Аноним 18/03/20 Срд 13:03:40 1635889486
>>1635858
>задачу, где нужно каррирование использовать
Один высер охуительнее другого
Сри в своих дискорд конфочках с такими же раками, нахуй ты сюда это приносишь
Аноним 18/03/20 Срд 14:39:00 1635982487
>>1635889
>Один высер охуительнее другого
Почему ты такой злой?
>Сри в своих дискорд конфочках с такими же раками
К сожалению только 1 друг шарит в проге, и то недавно с ним познакомился
>нахуй ты сюда это приносишь
Не знаю что делать и ною

Аноним 18/03/20 Срд 14:49:08 1635989488
>>1635754
Даже китайское дерьмо поддерживает async/await, а ты долбоеб, который о каком-то поддерживаемом легаси говорит.
Аноним 18/03/20 Срд 16:50:56 1636151489
image.png (1100Кб, 1920x969)
1920x969
>>1635794
спасибо, вот ellipsis вообще не вариант, так как это тайтл фильма и обрезать я его не имею права (потому что это не красиво). А с масштабированием буду ебаться.

Overview у меня просто обрезается до 200 символов и добавляется это троеточие
Аноним 18/03/20 Срд 17:45:49 1636180490
Аноним 18/03/20 Срд 20:36:28 1636365491
image.png (48Кб, 763x707)
763x707
Аноны, есть вопрос по отписыванию события (конкретного 'resize') в Реакте. Пикрелейтед решение, по определению ширины и высоты экрана устройства.

Допустим я вставляю эту функцию в App.jsx (т.е. в главный компонент), чтобы все дети всегда знали, какой размер экрана в текущий момент. Зачем мне отписываться от этого события ? Возможно, тут момент, что я не совсем понимаю зачем вообще отписываются, но конкретно тут я знаю, что даже если мы решим загрузить App1.jsx вместо App.jsx, то происходит автоматическое размонтирование всех компонент и вроде бы, если происходит автоматическое размонтирование компонент, то уничтожается весь контект этих функций, а значит и eventListner'ов.

Меня интересует ответ конкретно по моему вопросу, конкретно с этим eventListner'ом , а не вообще.
Аноним 18/03/20 Срд 20:59:28 1636394492
>>1636365
window.eventListener не контролируется реактом
Аноним 18/03/20 Срд 22:09:02 1636453493
>>1635625
>Svelte
>Нахуй оно вообще нужно?
Ты работаешь фронтом уже 5+ лет, тебя все заебало, скучно, react / angular уже знаешь, хочется поковырять че нить новенькое, опа svelte, прикольно, можно пет проектик запилить на нем.
Аноним 18/03/20 Срд 23:28:44 1636561494
>>1635750
Да хер тебе, не поехидничаешь. Я всё-таки настроил это говно. Там порядок лоадеров был неправильный. Я и забыл, что вебпак всё снизу вверх загружает
Аноним 19/03/20 Чтв 04:16:29 1636746495
>>1636394
спасибо, я этот факт не учел
Аноним 19/03/20 Чтв 04:17:15 1636747496
Анончики, спасайте. Очень нужно перезаписать горячие клавиши на странице. По умолчанию, на сайте клавиши 12345 привязаны к лейблам и меняют их класс radio_unchecked на radio_cheked, когда нажимаешь клавишу. Как мне заменить эти бинды на свои через Темперманки?
Аноним 19/03/20 Чтв 12:46:44 1636923497
Не совсем по теме, CSS.
Создал flex окно, в него выводится таблица, прописал overflow: auto;
Хоть и появляется прокрутка, но почему-то все равно таблица обрезается, как фиксить?
Аноним 19/03/20 Чтв 16:03:05 1637126498
>>1635858
Ты забываешь как его использовать по одной простой причине - ты не знаешь язык и у тебя нет опыта его практического использования за пределами готовых рельсов и библиотек.
Аноним 19/03/20 Чтв 17:20:22 1637214499
>>1637126
>ты не знаешь язык и у тебя нет опыта его практического использования
И как тогда выйти из этого круга сансары?
Аноним 19/03/20 Чтв 22:50:50 1637494500
image.png (455Кб, 874x965)
874x965
Аноны, я не очень силен в верстке. У меня когнитивный диссонанс. Пикрелейтед, я выбрал : как будет выглядеть мой реакт проект для телефона с разрешением 360х640. Все поместилось, ничего за края не заходит. Однако, когда навожу на контейнер, то вижу 980 ширину. Как может контейнер с шириной 980, уместиться в 360. Чего я не понимаю?
Аноним 19/03/20 Чтв 22:54:50 1637501501
>>1637494
хотя я вот сейчас внимательно посмотрел и вижу, что пунктир от грида справа не вижу. Но это невозможно. У меня все построено на процентах. Весь контент перед глазами, как может вторая колонка гридов быть шире , чем первая. Что за хуйня
Аноним 19/03/20 Чтв 23:01:43 1637516502
>>1637494
походу тут появляется прокрутка вбок и я уже просто туплю.
Аноним 20/03/20 Птн 03:05:36 1637632503
>>1637494
Читай про viewport
Так-же сию магию можно сделать через cssНый transform scale
Аноним 20/03/20 Птн 05:10:54 1637640504
Помогите, есть сайт - https://www.languagesandnumbers.com/how-to-count-in-russian/en/rus/
Там я нашел скрипты - https://www.languagesandnumbers.com/javascript/all-js-20.js
Мы посылаем числа цифрами и получаем ответ буквами на самых разных языках.
Мне нужны все цифры определенная часть на всех языках, хотя бы и в столбик в sql базе ноутпаде.
Есть варианты - написать бота или подобрать и понять пост запрос.
Собственно, яваскрипт я вообще не знаю, подскажите, пожалуйста, правильный пост запрос или объясните как скрипт работает и как его подключить к нормальному языку программирования.
Аноним 20/03/20 Птн 07:07:16 1637663505
Аноним 20/03/20 Птн 08:08:00 1637678506
>>1637663
Как перестать быть неосилятором?
Лол.
Аноним 20/03/20 Птн 08:29:27 1637687507
>>1633176
Я конечно не эксперт, но попробуй использовать <= вместо <
Аноним 20/03/20 Птн 08:33:32 1637689508
>>1633021
Бля это фотошоп или я действительно вижу ребенка Солженицына и Пучкова
Аноним 20/03/20 Птн 08:53:09 1637698509
>>1633013
хаскеллисты подъехали
Аноним 20/03/20 Птн 12:49:40 1637853510
Подскажите, пожалуйста, как мне решить проблему.
Есть массив данных и асинхронная функция, нужно сделать так чтобы эти данные обрабатывались не больше чем по 10, потом ожидалось подтверждение продолжения работы и так до окончания.
Подумал что нужно воркерами, наткнулся на совет использования worker-farm, но не могу сделать так чтобы оно ждало между вызовами, в смысле вызывается воркер на каждый элемент без промежутка после каждого 10
Аноним 20/03/20 Птн 14:34:13 1638007511
Имею странную немного вещь.
Развлекаюсь парсером, решил немного попарсить авито, раздел авто.
Использую cheerio.
Короче хочу получить ссылки на фото машины для каждого объевления.Т.е. атрибут src в нужном тэге img.
Каждое объявление имеет одинаковый html.
По итогу в результирующем массиве объявлений первые пять элементов какие нужно - ссылки на картинки нормальные, в соответствии с разметкой.
А воо всех остальных 50 - у по результату для каждой картинки присваивается вот такой странный url "https://www.avito.st/s/a/i/0.gif?f8b9e75"
Ниче не пойму
Аноним 20/03/20 Птн 14:43:46 1638018512
>>1638007
Врулил, у них ajax-ом по мере прокрутки вниз загружаются src для картинок
Аноним 20/03/20 Птн 15:25:47 1638097513
>>1637853
> и асинхронная функция,
Что за функция то? Что она делает вообще?
Аноним 20/03/20 Птн 16:00:20 1638168514
>>1638097
Парсит ссылки (элемент массива данных)
Аноним 20/03/20 Птн 16:02:54 1638173515
анон, объясни нюфагу одну вещь. вот у меня в разметке висит баттон с аттрибутом onclick="cock.add(228)"
и в связи с этим вопрос: как блять найти эту функцию в своем проекте? и как она именно называется ? add или cock? или же cock.add?
Аноним 20/03/20 Птн 16:32:52 1638211516
Аноним 20/03/20 Птн 16:52:46 1638236517
>>1637853
для начала тебе надо поделить массив на кусочки по десять

потом с async/await ты можешь делать так

arrPiece.forEach(async (val) => {
await yourAsyncFunction(val);
})

это самое простое решение, можно еще Promise.all

в любом случае следующий кусок запускаешь по ивенту, нажатие кнопки подтверждения
Аноним 20/03/20 Птн 17:00:00 1638246518
Кто там в монадах шарит? Как называется монада которая try/catch заменяет? А if/esle?
Аноним 20/03/20 Птн 17:04:23 1638251519
Аноним 20/03/20 Птн 17:22:07 1638263520
>>1638251
>Either
Это для try/catch? Есть либы с уже готовыми реализациями? Алсо для if/else мне maybe нужна?
Аноним 20/03/20 Птн 18:08:29 1638288521
>>1638236
while (urls.length > 0) {
urls_slice = urlssplice(0, 10)
console.log(urls_slice)
urls_slice.forEach(async (val) => {
let answer = await worke(val);
console.log(answer)
})
console.log(>end')
}
Не хочет, в смысле запускать-то запускает, но просто перебором не дожидаясь ответа от выполнения функции и все разом, а не по 10
Аноним 20/03/20 Птн 18:21:33 1638298522
>>1638173
Кок - объект, ад - его метод.
Так что тебе нужно найти объявление объекта кок и посмотреть код ада.
Но этот вопрос слишком общий, хуй знает что там в глобал скоупе твоего проекта насрано, плюс конкретно в твоём примере .add это вообще встроенный метод глобального объекта Set: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/add.
Ну или ты в жыкверях ковыряешься: https://api.jquery.com/add/.
По идее твоя айдиешечка должна подсвечивать все инстансы локальной переменной при её выделении. Если не подсвечивает, просто гуглишь что-то типа "js .add".
Аноним 20/03/20 Птн 20:03:30 1638400523
Аноним 20/03/20 Птн 21:01:22 1638476524
>>1637678
не сидеть на борде, а учиться.

Парень из технаря 20/03/20 Птн 21:05:36 1638484525
Не покидает мысль, то что без опыта никому не сдамся, что поделать?
Всего 5 вакансий без опыта в моем миллионнике
Парень из технаря 20/03/20 Птн 21:06:34 1638488526
>>1638476
Не в борде дело, завтра наною утром ответ.
Аноним 21/03/20 Суб 00:08:04 1638730527
>>1638484
это на 5 вакансий больше чем в моем :)
Аноним 21/03/20 Суб 03:30:30 1638865528
>>1638288
бака, я же написал - следующий кусочек запускаешь по ивенту, откуда у тебя появилась петля?
петлю так просто не прервать
Аноним 21/03/20 Суб 06:42:11 1638883529
>>1638476
Прочитал и прорешал 1 часть Кантора
Практика на задачках <== я здесь!!
Прочитать и прорешать 2 часть Кантора

Не прокрастинирую, не играю, ничем кроме проги не увлекаюсь. Изучаю жс уже полтора месяца.
С задачками ничего не получается. Ни одну задачу на легком уровне на лите решить не могу, захожу на двач ною 5 минут и выхожу обратно втуплять в задачу. Ничего не помогает, всё говорят что не нужно знать сложные алгоритмы чтобы решать легкие задачи.
И дело не с технической точки зрения, что я не знаю как какие методы использовать и т.п, а с алгоритмической. Просто не могу придумать долбанное решение, а даже если придумываю, то реализовать его не могу. Например вчера открыл задачу, втуплял часик, посмотрел решения не смог его анализировать из-за сложности. НЕ ОСИЛИЛ. Зашел на вторую задачу и так по колесу сансары.
Сейчас еще одну осилить пытаюсь. Пока смог рекурсивно обойти все значения, а мне нужно определенного пути. Подсказки и т.д не помогают, даже если решу по ним, то прогресс будет очень маленький или склонный к нулю.

Аноним 21/03/20 Суб 08:38:22 1638895530
а я сегодня рассылая реквесты на коннекты в линкедин наткнулся на самого кантора, послал ему реквест

интересно примет ли, лол
Аноним 21/03/20 Суб 09:10:26 1638901531
>>1638883
>Не прокрастинирую, не играю
Вот это ты зря. Помесишь крипчиков в том же ПОЕ и потом со свежей головой вникаешь. Помогает.
Аноним 21/03/20 Суб 09:17:36 1638903532
>>1638484
А ты смотри с опытом.
Парень из технаря 21/03/20 Суб 10:06:25 1638917533
Аноним 21/03/20 Суб 10:55:22 1638943534
2152152266666323.jpg (81Кб, 928x558)
928x558
Аноним 21/03/20 Суб 11:24:05 1638961535
>>1638943
>Двач-быдлач
Но нужен всё-таки совет, а не троллинг.
Аноним 21/03/20 Суб 12:12:57 1638984536
>>1638865
Спасибо, няш, я конечно нихуя не понял, но твои объяснения помогли мне придумать кастыль который вроде работает. Сейчас я отойду от радости и попробую дописать это дерьмо
Аноним 21/03/20 Суб 12:36:48 1639002537
>>1638883
>> Изучаю жс уже полтора месяца.
Мало, со временем придет.
>>ничем кроме проги не увлекаюсь
Начни. Человек лучше работает когда его действительность не монотонная, а контрастная. Что бы эффективно работать тебе придется научить себя эффективно отдыхать - и отдых принципиально не связан с компом должен быть.
Аноним 21/03/20 Суб 12:37:34 1639004538
Аноны, а поясните мне пожалуйста за рынок парсинга сайтов ? Он существует? Кто нибудь этим занимается?
Аноним 21/03/20 Суб 14:45:28 1639137539
>>1639004
И еще, такая трабла. Я немного парсю авито, и загружаю картинки из объявлений. Интереснов вот что, я выше писал - при загрузке страницы атрибут src у тега img проставляется только на первых пяти страницах, в остальных пятидесяти - заглушка.
И при прокручивании странички вниз какой то скрипт проставляет на место заглушек в src - уже правильные сслылки на картинки. Но суть в том что в этот момент браузер не отправляет ajax на сервер авито. То есть правильные ссылки загружены сразу, вопрос - как их найти?
Может они в какой то клиентской базе данных? Редис?
Как проверить ?
Аноним 21/03/20 Суб 15:00:54 1639160540
>>1639137
Как то можно посмотреть в браузере какой скрипт сейчас отрабатывает?
Аноним 21/03/20 Суб 15:58:40 1639245541
>>1638298
да анон спасибо все так и оказалось. кок это объект, ад это метод с ajax запросом.

Аноним 21/03/20 Суб 16:46:58 1639324542
Тотал ньюфаг. Пилю сервер на express, как правильно сделать ээээм, живое обновление данных.
Например, есть страница, на ней 40 имен Вася петя итд, рядом значение - количество голосов и кнопка проголосовать. При нажатии кнопки количество голосов за этого человека увеличивается на один, внезапно. Голоса для надежности хранятся в sql. Это всё просто и понятно, а теперь - как сделать так, чтобы при нажатии кнопки одним человеком голоса сразу обновились у всех, кто смотрит данную страницу (в ирл задаче на неё человека три будут смотреть), при этом в идеале не весь массив слать а только вася=40. Просто хз как это вообще гуглить.
Аноним 21/03/20 Суб 16:49:58 1639326543
Аноним 21/03/20 Суб 16:54:07 1639330544
>>1638883
>ничем кроме проги
Во-первых, пиздишь сам себе.
https://pomotodo.com/
Позаписывай-ка помидорки за неделю. Если не знаком с техникой, то g:pomodoro. Таймер останавливать нельзя. Если отвлёкся -- отменяешь помидорку. Если учишься работать, то учишься работать. Уверен, фактический результат будет отличаться от твоего восприятия собственного титанического труда.
Во-вторых, извольте анекдот:
Молодой врач жалуется опытному на сложный случай: "Не знаю, что делать". Опытный спрашивает: "А пациент твой играет в гольф"? Молодой не понимает, как это может быть связано. Опытный говорит: "Очень просто. Если играет, то пусть прекратит. Если не играет, то пусть начнёт. И всё у него изменится".
В-третьих, в интернетах ты уже должен был заметить, что все твои проблемы не то, что не уникальны, а не проблемы даже. Во тут
https://www.coursera.org/learn/learning-how-to-learn/
тебе разжуют, почему утренний душ это лучше место для изобретений. Или почему интенсивней биться головой об стену не помогает.

>С задачками ничего не получается.
А почему должно получаться? Для начала Канторович пишет хорошо, но только про простые практические вещи в простом языке. А задачки, они не про синтаксис или применение языка.
Посмотри на Ютюбчике про алгоритмы и структуры данных на ЖС, посмотри на других языках, чтоб утёнком не быть, от языка оторваться. Там есть бородатый няш, который питона душит, быстро у тебя в рекомендациях появится.
Конечно же я обязан на Лиспе настаивать ))))))))))))))))))))))))))))))
https://www.edx.org/course/how-to-code-simple-data

> уже полтора месяца
Даже если бы ты трудился по 8 часов в день, это бы получилось 250 часов всего-то. Что конечно заметно и я уверен, Илюха тебя уже научил делать некоторые забавные штуки. Но давай честно, если бы это было вот так просто, за пару часов, стали бы за это 300к платить?
Аноним 21/03/20 Суб 16:54:49 1639331545
Аноним 21/03/20 Суб 17:00:09 1639334546
Что лучше в js применять - опп или функциональщина?
Аноним 21/03/20 Суб 17:37:13 1639361547
>>1639334
Павильный ответ -- да.

Жопаскрипит, благодаря Господом нам посланному Айку и дальнейшей благой карме, достойно реализует прям все парадигмы. Это позволит тебе использовать его так, как того требует задача.
Если твоя программа похожа на чистую функцию, принимает данные и однажды даёт результат, то тут функциональщиной ваще красиво. Но как только появится какое-то состояние, ты сразу упрёшься в проблемы ветвления и вывода и пойдут монадки в монадки, ризон баут ит станет просто невозможно.
И с жооп похожая история. Пока твоя программа это конкретные вещи, которые делают конкретные вещи, очень красивая ЮМЛка получается. Как только ты попытаешься сделать что-то немного универсальней или даже добавить "чистых выдумок" для безопасности, всё сразу превратится в тот мемес, который все видели, ну или в "банан и все джунгли".
Поэтому Жопаскрипит не только позволяет всем этим пользоваться, но и позволяет всем этим пренебрегать. Невозможно без реанимационной бригады нормально объяснить хардкорному адепту любой парадигмы, что классы это функции, а функции это объекты, а объекты могут инкапсулировать чистые функции, которые всё равно могут получать состояние из замыкания. Да даже всем смешная система типов позволяет в пару строчек такое обобщённое программирование делать, что в других языках это будет неопределённым поведением программы, не компиляеца.
Большая свобода это большая ответственность. Поэтому пиши просто, пиши под задачу, пиши для людей, не злоупотребляй, не выёбывайся.
Аноним 21/03/20 Суб 18:22:32 1639398548
>>1639330
> стали бы за это 300к платить?
А че если выучить вот это все, можно сразу на 300к вкатится джуном ?
Вебпак меня унижает! Аноним 21/03/20 Суб 18:23:58 1639400549
image.png (23Кб, 899x228)
899x228
image.png (4Кб, 281x105)
281x105
image.png (7Кб, 513x57)
513x57
Анон, помоги, надо добавить svg на страницу. Есть собственно реакт (пик 1), есть конфиг файл-лоадера (пик 2). Но в браузере выдает вот такую хуйню (пик 3).

Вот сам конфиг вебпака: https://pastebin.com/2tdSWZQu
Аноним 21/03/20 Суб 18:45:02 1639421550
>>1639398
Нет, нужен СТОЛИЧНЫЙ ОПЫТ.
Аноним 21/03/20 Суб 19:14:07 1639453551
анон, подскажи такой момент. вот у меня есть мейн страница магаза. первый блок это популярные товары, заттем слайдер и потом блок с новыми товарами. в обоих этих блоках висит абсолютно одинаковая разметка такого типа: <button id="add"><span>Купить</span></button>
и вот когда я обращаюсь с этому баттону в таком виде $('#add span').addAttr('style') то у меня срабатывает почему то только на первый блок, а второму ваще поебать. в чем может быть проблема?
Аноним 21/03/20 Суб 20:03:59 1639494552
>>1637214
Чаще экспериментировать и писать для себя всякие штуки. Попробовать написать "свой реакт", "свой стейтмендежер", "свой движок для игр", на самом примитивном уровне. Должно быть интересно. Если не интересно - то да и хуй забей
Аноним 21/03/20 Суб 20:45:02 1639540553
>>1639398
Угу, конешно. Я уже напердолился парсеры писать на node, данные в файл, в базу, обратно на фронт(который из компонентов реакта могу собрать), хоть в жопу к дьяволу обратно отправлю. Все асинхронно, промисы + async/await. Плюс все это могу сделать и на пхп, без асинхронности естественно. И чет не отрывают меня с руками/ногами.
Что бы хорошо поднимать в этом деле деньги - нужно или прям быть с хорошим опытом и разбираться в теме хорошо. Либо подскакивать кабанчиком, искать больших денег, пилить свое - но это совсем не каждому дано. Назадротить до уровня "возьмите меня на галеру на семьдесят тыщ" считаю проще.
Аноним 21/03/20 Суб 21:00:38 1639550554
>>1639453
В том, что жиквери в помойку надо выкинуть.

Cмотри разницу querySelector и querySelectorAll
Аноним 21/03/20 Суб 21:17:37 1639553555
для сокетов надо библиотеку качать или можно ручками сделать?
Аноним 21/03/20 Суб 21:18:08 1639554556
Аноним 21/03/20 Суб 21:20:20 1639555557
>>1639554
>socket.io
а ни че,что она аж 2017г?
Аноним 21/03/20 Суб 21:48:27 1639579558
аноны, как можно оптимизировать код, при загрузке страницы дико подтормаживает
https://518770.playcode.io/
Аноним 21/03/20 Суб 22:32:16 1639626559
Поцаны, не кажется ли вам что IT катится в пизду и становится обычной работой, как, например, слесарь или электрик где нужно вхебывать?

Бабок платят уже не так много, а что бы платили много, нужно въебывать как вахтовики, т.е. реально напрягать свою жопу.
Аноним 21/03/20 Суб 22:39:26 1639629560
Аноним 21/03/20 Суб 22:46:47 1639637561
>>1639626

рыночек порешал, такое в JS, питоне, пхп, шарпах и джаве.
Сейчас тоьлко девопсы и комьютер сайнс хорошо себя чувствует.
Ну еще сишники и разрабы под UNIX боги до сих пор
Аноним 21/03/20 Суб 22:48:51 1639640562
Есть 3 div с индексом -1 и фокусом при нажатии хоткея. Внутри них много кнопок. Может кто объяснить, как ограничить хоткеи только этими блоками? Ну т.е. если выбран первый, то 1/2/3/4 нажимают в нем 1/2/3/4ую кнопку, если в фокусе второй, то в нем так же. Можно с библиотеками. Щас юзаю Mousetrap, но в нем не получается.
Аноним 21/03/20 Суб 22:50:25 1639642563
А давайте, кратчайшим образом, стандартными функциями браузера - вычислим sha256-hash?!!
Мой вариант, в две строчки:
Раз:
>var toHexString = function(buffer, Up) {var s = '', h = '0123456789'+((Up)?'ABCEDF':'abcdef');(new Uint8Array(buffer)).forEach((v) => { s += h[v >> 4] + h[v & 15]; });return s;}
Два:
>var sha256_hash = ""; crypto.subtle.digest("SHA-256", new TextEncoder().encode('data_for_hashing').buffer).then(function(res){return hash = toHexString(new Uint8Array(res)); console.log(hash); return hash;}); //async sha256-hash.
Аноним 21/03/20 Суб 22:54:05 1639646564
>>1639642
>return, перед hash
надо бы убрать
Аноним 21/03/20 Суб 23:13:18 1639663565
>>1639642

нахуя? проще готовую либу скачать
Аноним 21/03/20 Суб 23:33:25 1639676566
Стоит ли инвестировать время в ноду как в первую работу? В мухосрани вакансий нет, зато в Питере есть.
Аноним 21/03/20 Суб 23:43:35 1639686567
>>1639676

нет, если хочешь в бек - возьми нормальный язык.
нода - погремушка для фронтов, не более.
Аноним 22/03/20 Вск 10:01:15 1639794568
>>1639676
Нет. В срансках пхп онли для старта. А нода - это для развития, в последствии.Астнхронность и событийно ориентированность это хорошо для общего развития
Аноним 22/03/20 Вск 10:04:36 1639795569
>>1639686
Спорное утверждение. Нода совсем не погремушка по функционалу и скорости. И для нуба - ощутимо сложнее того же пхп. Просто специфичная штука
Аноним 22/03/20 Вск 10:09:48 1639798570
>>1639626
Так это хорошо же. Количество вкатывальщиков снизится, рынок стабилизируется. Халява конечно кончится для любителей нихуя не делать за дорого. А если ты норм спец, и не овощь - то денег ты всегда найдешь. Вообще эта индустрия крайне инфантильна , люди зарабатывают хорошие деньги, люди близки к гигантскому рынку. А результат - бесконечное нытье про выгорание , лол.
Инфантильные нытики - и это кстати хорошо для подскакивающих кабанчиков.
Аноним # OP 22/03/20 Вск 10:40:53 1639810571
Аноним 22/03/20 Вск 11:59:59 1639831572
Аноним 22/03/20 Вск 13:04:21 1639858573
>>1639637
>джаве
Ну хуй знает, дохуя вакансий на джунов-стажёров в ДС вижу.
Друг пишущий на джаве говорит, что адекватных джавистов с руками отрывают.
Аноним 22/03/20 Вск 13:05:33 1639859574
>>1639858

а толку от стажера? там платят копейки.
лучше идти в макдак и получать свои 50к.
а дома из стажера в джуны знания подтягивать
Аноним 22/03/20 Вск 20:15:21 1640182575
>>1639794
можно по быстрому запилить реал тайм приложуху
Аноним 24/03/20 Втр 07:16:29 1641270576
>>1639859
Через год работы стажером ты можешь получать в полтора-два раза больше, чем в макдаке.

Через год работы в макдаке ты можешь заработать варикоз и депрессию.
Аноним 24/03/20 Втр 19:30:52 1641850577
>>1641270

нанимаю стажеров по 3-5 штук в год.
отдаем им самую рутинную работу, все помои разработки.
после чего они все равно сваливают.
Аноним 24/03/20 Втр 23:46:43 1642155578
Аноним 25/03/20 Срд 14:01:39 1642430579
>>1641850
>Заваливаем людей говноработой
>Они уходят

Хмм....
Аноним 07/04/20 Втр 10:35:51 1652418580
>>1642155
Не надо ничего дописывать, лучше просто поменяй let на var, в этом скрипте, чтобы двач в старых браузерах открывался.
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов