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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
15794248572420.png56 Кб, 1050x1050
JavaScript.thread = Number(`157`); /js/ 1629259 В конец треда | Веб
Предыдущий: >>1620541 (OP)

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

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

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

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

Сделай песочницу по ссылкам выше для ясности и удобства. Если никогда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
1.jpg120 Кб, 1000x1000
2 1629262
Макаки рвутся к власте
3 1629263
анон, подскажи такой помент. прилетает объект с полями но они изначально пустые. при срабатывание на ивент change он подставляет нужные значения в ключи. так вот вопрос: как мне добраться до этих ключей при этом не используя вот этот костыльный метод который в ссылке у меня сейчас описан? https://ideone.com/WeuLPY
4 1629265
>>29262
Уряяяя
5 1629289
>>29259 (OP)
ну чё это за шапка
6 1629322
хуле тред то мертвый? или вы все в банкоматах там стоите чтобы свои копейки на рубли поменять?
IMG20200301092923.jpg129 Кб, 853x901
7 1629327
Сап анонимусы. Хочу вкатиться в фронтенд разработку с последующим вкатом в какой-нибудь модный фреймворк. Посоветуйте годную литературу, мануалы и т.д. С js не знаком, писал свой говнокод в основном на python/golang.
8 1629328
>>29289
Дашчан не скопировал тег, печаль
9 1629375
>>29327
учи js потом реакт. По js есть Кантор, по реакту дока и мильён курсов не юдеми всяких
10 1629406
кочу зп 500к в месяц - мне изучать ноду для бэка?
11 1629486
Есть треды с ReactJS-сниками? В общий JS флудить не хочеться, если это не ваше. Но ждать ответа мне влень, поэтому:
1. Если React JSX - это компоненты, то получается проект будет состоять только из 1 html и остальных JSX файлов, которые хукаются друг с другом?
2. Впердолил JS template, хочу переписать на ReactJS - застопорился на Layout. Какой он в React-e? Это JSX с кучей компонентом, где между хедером, слайдерами и футерами просовываю контент определенной страницы?
3. Я нашел фишки с раутингом - React-Router - это часть фреймворка?
Накидайте пожалуйста Best practice по проектам на ReactJS, я .NET-чик, в JS-е не силен на уровне интуиции и гугла
12 1629614
Чего годного почитать/посмотреть, чтобы за вечер-два вкатиться в TS + React?
13 1629667
>>29259 (OP)
Ваннаби-бэкендер на связи
Пишу на Рельсах либо на Питоновской Джанге. Встала задача реализовать список из виджетов (один под другим), которые можно перетягивать (drag and drop) и менять местами друг с другом. При этом новый порядок должен сохраниться, даже когда юзер покинет страницу (это уже лежит на бэке)
Чем и как мне это реализовать на фронте?
14 1629672
>>29667
Джаваскриптом
15 1629688
>>29259 (OP)
Подскажите, если у меня на канвасе есть несколько элементов, то кликая по одному из них, я могу получить его id? Или для такого svg используют?
16 1629690
>>29672
Блять, а я-то думал, почему я именно в этом треде отписался!
Спс, бро. Теперь все встало на свои места
17 1629701
Кто каким редактором пользуется?
алсо сразу называйте зп, чтобы видеть, насколько авторитетный анон вещает
18 1629712
>>29486
бамп, тварыны
19 1629713
Ананисты, дайте какой-то то костыль для написания красивого ПХП, типа пишем consol($hui); а он нам выводит оформленное содержимое переменной типа если бы мы написали echo '<pre>'; print_r($hui); echo '</pre>' и т.п. Штуку облегчающую и сокращающую написание кода на ПХП как это делает ЖКВЕРИ на ЖАВАСКРИПТ, то есть штуку работающую на готовых функциях я так понимаю
20 1629716
>>29486

> 1. Если React JSX - это компоненты, то получается проект будет состоять только из 1 html и остальных JSX файлов, которые хукаются друг с другом?


JSX компоненты в реакте это жс объекты. Проект состоит из одного хтмл файла, в котором должен быть рутовый дом элемент, обычно это див, после чего в этот див и рендерится твоя приложуха.

>которые хукаются друг с другом?


Структура жсх это обычное дерево, в рутовый компонент импортишь всю свою кашу.

>Впердолил JS template, хочу переписать на ReactJS - застопорился на Layout. Какой он в React-e? Это JSX с кучей компонентом, где между хедером, слайдерами и футерами просовываю контент определенной страницы?


Хз что это за поток слов, но если ты хочешь добавить реакта на уже существующию странуцу, то просто создай пустой див, в который заинжекти реакт приложуху.

>Я нашел фишки с раутингом - React-Router - это часть фреймворка?


Это часть экосистемы, для роутинга обычно используется эта либа https://reacttraining.com/react-router/
21 1629745
>>29667

>Чем и как мне это реализовать на фронте?


Конечно же реактом!
либа для перенести-и-бросить
https://github.com/atlassian/react-beautiful-dnd

Накидал тебе пример оттуда же. Только добавил сохранение в кеше браузера. Строчки 15 и 17. Вместе с/Вместо кеша можно сделать обращение с апи. Чтобы увидеть, что твой список сохранился - перезагрузи страницу.
https://codesandbox.io/s/vertical-list-yyft1
15838537194750.jpg3 Кб, 112x112
22 1629751
Как работать с чанками данных? Банальный пример - фильм. Как это все работает? Как это должно работать? Сколько не искал, толковой инфы, отвечающей на мои вопросы найти не смог.

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

Так ли это?

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

А с кэшем как?

Блядь, как же это сложно, нахуй...
23 1629755
>>29751

>Как работать с чанками данных?


https://nodejs.org/api/stream.html

>Банальный пример - фильм.


https://webrtc.org/
24 1629761
>>29755

>https://nodejs.org/api/stream.html


Да про это то понятно. За сторону сервера вопросов пока нет, если я правильно понимаю. Отослать запрашиваемый диапазон байтов не сложно. Сложно понять как это на стороне клиента все должно работать. Как стыковать эти чанки и хранить в кэше, чтобы повторно постоянно не запрашивать одно и тоже, если придется перематывать обратно.
25 1629781
>>29761
Есть уже готовые апи для работы с видео и аудио. Написал бы что сделать хочешь.
26 1629803
Какой конченый пидорас придумал столь блювотную структуру для ООП подхода? Я один считаю MVC подход максимально уёбищным и вырвиглазным?
27 1629847
>>29781
Реализовать работу с чанками. Понять как это работает. Написать свой велосипед.
28 1629861
>>29847
Тебе в С++ тред
29 1629864
>>29688
канвас - пиксельный, в нем нет элементов как таковых
свд - векторный, в нем у элементов могут быть айди
30 1629866
>>29713

>Штуку облегчающую и сокращающую написание кода на ПХП как это делает ЖКВЕРИ на ЖАВАСКРИПТ


щито
31 1629872
>>29861
При чем тут вообще плюсы? Блядь, если вы сами не знаете, нахуя хуйню нести такую? Подожду тех, кто знает, а еще лучше, кто писал свой медиа-плеер на js.
32 1629877
>>29872
У тебя есть тот сервер, выдающий конвертируемые в блоб байты?
33 1629881
>>29877
У меня пока ничего нет. Я продолжаю искать инфу, как это все правильно организовать перед реализацией. Алсо, на сервере я бы просто сделал что-то вроде fs.createReadStream(file).pipe(response).

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

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

Пытался их исходники проанализировать, там вообще хер разберешь что в коде происходит после этих вебпаков.
23452.png17 Кб, 640x179
34 1629885
>>29881
И еще, опять же, когда я писал аудио-плеер, blob я формировал на стороне клиента. Вот так
35 1629896
>>29885
then внутри другого then?
36 1629984
>>29872
Так задача написать кастомный медиа плеер, а не с чанками поебаться?
37 1629990
>>29984
Просто забей...
38 1629992
>>29990
Ну и пошел нахуй
39 1629993
>>29716
спасибо, про поток слов - я нашел web template - https://colorlib.com/wp/template/logis/, захотел его переписать на ReactJS - начал пукориться с компоновкой компонентов. Еще вопрос - насчет Layout - ты написал, что проект это один Html, на него будет 1 компонент - Layout.jsx, в котором будут куча других компонентов?
И ты можешь какой ни будь пример не большой скинуть, как это все правильно обустроить? Типо best practice
40 1629996
>>29803

>Я один


>пидорас


солидарен с тобой
MVC - максимально простое разделение сущностей
41 1630000
>>29881
Ну объясни, блять, что ты хочешь на клиенте делать?
Чем тебя <video /> не устраивает?
https://axel.isouard.fr/blog/2016/05/24/streaming-webm-video-over-html5-with-media-source
42 1630001
>>29996
никто кроме пыхарей не любит мвк
43 1630002
>>29993

>Еще вопрос - насчет Layout - ты написал, что проект это один Html, на него будет 1 компонент - Layout.jsx, в котором будут куча других компонентов?


Будет index.html в котором будет <div id="app"></div>, реакт в него примаунтит(отрендерит) какой-нибудь App.js в которм ты уже будешь импортировать все свои компонент. Поставить create-react-app и посмотри структуру
44 1630003
>>30001

>мвк


ясно все с тобой
>>30002
спасибо
45 1630025
>>29996
сын шалавы что ты там пукнул, научить читать весь текст, а не то что тебе хочется в нём видеть
46 1630036
>>30025
это какой то наглый пыхарь который молится на мвк и пытается разобраться в реакте даже не зная что реакт обычно не применяют в мвк говне
47 1630057
>>29984
И то и другое. У стандартных <audio> и <video> нет api, чтобы манипулировать с данными. Я же сказал, что мой способ, когда я пытался с аудио работать, не сработал. У меня файл пока не загрузится полностью, не будет воспроизводиться. Поэтому нужно как-то самому управлять этими данными. Вручную. Что тут, блядь, не ясно?

>>30000
Ты тупой?

>Как это все работает? Как это должно работать? Сколько не искал, толковой инфы, отвечающей на мои вопросы найти не смог.


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


>А с кэшем как?


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

48 1630078
>>30057

>И то и другое.


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

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

>Как это все работает? Как это должно работать? Сколько не искал, толковой инфы, отвечающей на мои вопросы найти не смог.


Хуево искал. Просто это не твой уровень. Ты бы сначала хелоуворлды поделал.

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


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

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


Смотри выше про куски по 5 секунд.
49 1630097
Анонсы, я правильно понимаю, что вместо ссанных классов можно использовать и обычный объектассоциативный массив называется в php, то есть вместо

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

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

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

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

Возможно в коде ошибка, сейчас засосало в php, мог и перепутать, но я так понял в php по этого и дрочат классы, что у них ассоциативный массив не может содержать функции, как это может делать простой объект у нас в JS, я правильно понял или проебался?
50 1630114
>>30078

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


Так мне вот хотя бы это и сделать. Мне просто нужно, чтобы файлы по 50/100+ мегабайт не пытались сначала полностью загрузиться, а уже потом только предоставлять клиенту возможность его слушать.

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

>Да никак. В локалсторейдже, насколько я знаю, всего 5 метров можно сохранить.


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

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

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

>многие плееры - они режут весь видос на куски по 3-5 секунд


Т.е. на сервере файл физически уже в порезанном виде хранится? Или этим постоянно занимается сервер, отправляя данные? Мне это было бы не удобно, ибо сервером является мой пк, на котором я эти файлы использую. Поэтому хочу понять как правильно нужно разбить этот файл на части программно. Как я уже сказал, пытался со start и end оперировать - не вышло.
51 1630129
>>30057

><audio> и <video>


>манипулировать с данными


Потому что они не должны манипулировать
API манипулированием данных состоит из буквально пары топ лвл объектов их sourcebuffer mediasource mediameta и т.д, по всем должно быть всё расписано в одной какой-нибудь статье
Если ты не осилил сорсы hls/mpeg, крутящие абсолютно несложные материи выше, нахуй ты вообще лезишь?
Высрал две строки толкания блоба, еще и каким-то образом всрато вложенные в промисы, а чсв как у байтоеба с 20 летним стажем
52 1630133
>>30097
класс это больше чем просто ассоциативный массив с функциями
так то проблем использовать функцию в объекте нет

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
53 1630144
>>30129

>Потому что они не должны манипулировать


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

>Если ты не осилил сорсы hls/mpeg, крутящие абсолютно несложные материи выше, нахуй ты вообще лезишь?


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

>Высрал две строки толкания блоба, еще и каким-то образом всрато вложенные в промисы


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

Вот, блядь. Буквально вся суть местного скама. Когда задают вопросы сложнее того, как разбить строку на подстроки, так сразу цепляются к какой-то хуйне, не могут четко и ясно что-либо сказать по делу. Вместо этого говном покроют, вылив все свои омежкины комплексы. Пиздец. Хррртьфу!
54 1630152
>>30144
Долбаеб я тебе написал sourcebuffer mediasource mediameta
API уровнем выше придумать просто невозмжно
Вместо пердежа десятка параграфов мог бы уже догуглить двухстраничную документацию по этому хеллоуворлду
55 1630162
>>30114

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


Ты так и не написал. какую задачу решаешь, а мне надоело гадать и задавать наводящие вопросы. Так что или напиши, что собераешься делать или ебись сам с этим.
56 1630166
>>30152
Там поддержка для нужной мне платформы нулевая. Android Firefox. Можно ли с blobами это решить? У меня никаких нет идей, кроме как как-то постоянно пересобирать этот blob при получении нового чанка. Но для этого еще нужно как-то разбить файл на эти чанки на сервере. Как это сделать правильно? Чтобы это работало? Чтобы на клиенте можно было жонглировать ими? Чтобы вот это вот все.

>>30162
А что не понятного? Медиа-ресурс для души. Чтобы с телефона можно было получить доступ к гигабайтам личной музыки и послушать ее. Не надо мне облаков никаких предлагать только. Это еще интерес какой-то у меня вызывает.
57 1630167
>>30133
Функция над функциями? Или даже функция имеющая методы? Ебануться
image.png27 Кб, 1270x309
58 1630180
Я забыл как сделать так, чтобы по дефолту запускался определенный метод, если мы просто запускаем функцию. Пикрелейтед я использую a.inc() и a.dec(), я хочу чтобы при a() автоматически запускался метод inc() в замыкании. В JS учебнике была эта статья, но её выпилили.
59 1630188
Есть аналог стены вк, реализованный на Vue. Есть компонент создания поста и компонент вывода постов.

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

Подключен плагин moment js, но после перезаписывания списка постов дата (минут назад...) не обновляется и остаётся той, что отрисовалась при загрузке страницы. Как можно исправить?
60 1630204
>>30057

>ты тупой?


Нет, ты.
В статье которую я кинул на какой из твоих вопросов нет ответа?
61 1630212
>>30180
хуйню какую-то написал.
a - объект. Ты не можешь вызывать объект, как функцию.
Никаких "дефолтных методов" у объекта в js нет.
62 1630214
>>30204

>https://axel.isouard.fr/blog/2016/05/24/streaming-webm-video-over-html5-with-media-source


>sourcebuffer mediasource


>Там поддержка для нужной мне платформы нулевая. Android Firefox.



Касаемо <video>/<audio>
Я уже сказал много раз, что с ними у меня не работает частичная загрузка файла. Код здесь https://jsfiddle.net/mfq8n9ga/
63 1630236
>>30214
Видео с кроликом с полным кодом из статьи у тебя не идёт?
64 1630243
>>30236
кролик-то и не стримится
1.jpeg6 Кб, 184x184
65 1630246
>>30243
Это просто пиздец ты похоже абсолютно не понимаешь ни чего ты хочешь ни что ты копипастишь
66 1630299
Подкиньте ресурсы с web api с бесплатным ключем для парсинга (потестить)
68 1630354
>>29259 (OP)
Я просто оставлю здесь Тьюринг-полные шрифты, которые могут захакать все ваши системы.
69 1630358
>>30354
жалко не отобразились
70 1630360
>>30358
Я оставил ключевую фразу для гуглежа.
И знаешь как они хакают? А вот так: https://habr.com/ru/post/429602/
Сначала вгружается непреметненький шрифтик...
А у него... эммм. ТЬЮРИНГ-ПОЛНОТА!
После чего хакаются все системы нахуй, к хуям собачьим!
71 1630364
>>30360
Если знать о тьюринг-полноте шрифтов, то уже не удивляет полнота по Тюрингу документов TeX, что естественно вызывает многие серьёзные и интересные уязвимости в безопасности шрифтов и медиа, такие как BLEND или Linux-эксплоиты SNES и NES. В других форматах вроде PDF просто ужасное количество уязвимостей. Опять же, выдающиеся достижения вроде создания небольшой машины Тьюринга из кубиков «Лего» или домино, не считаются, поскольку нам уже давно известно, как работают механические компьютеры.
72 1630375
>>30318
что то я туплю, но не могу найти ключ
73 1630377
>>30375
Нигде, он не нужен.
74 1630380
>>29259 (OP)
Студент, учусь на айти направлении. Параллельно недавно начал самостоятельно вкатываться в веб разработку, так как нравится. Но чем дальше погружаюсь в тему, тем чаще и больше слышу что-то вроде "вебмакаки не нужны", "вебмакака не программист", "вас всех заменят тильды через 5 лет" и т.д.

Очень все это неприятно слышать, учитывая то, что веб разработка мне действительно нравится. Почему создался такой стереотип? Есть ли в этом доля правды? Может, мне стоит идти в другом направлении, пока не поздно? Не хотелось бы.
# OP 75 1630387
>>30380
Стадный инстинкт. Не нравится веб - не учи, нравится - учи и программируй. Большинству насрать, на чем ты кодишь. Люди хотят чтобы их слышали, независимо от того, какую чушь они несут.
76 1630391
>>30188
Бамп вопросу, не нагуглил решение.
77 1630394
>>30377
да, рили - один фетч и погнали. Спасибо
78 1630400
>>30360
Нихуя не понял, можешь кратко по русски описать что это за хуйня и что из-за неё может случиться?
79 1630403
>>30380
бля анон когда я начинал учить тоже думал что влезаю в говно, не слушай даунов бородатых хадротов, блять, веб правит миром, этого тебе должно быть достаточно, все визги и вяки это от старых аутистов которые до сих пор борятся за каждый бит скорости и нагрузки, что конечно есть хорошо, но никто так делать не будет, все выберу дерьмо которые сжирает всю память на устройстве для своего выполения
80 1630405
>>30387
Мне нравится веб по-настоящему, но я ещё при этом хотел бы иметь валидную профессию, чтобы зарабатывать на этом ближайшие лет 30.
81 1630408
>>30405
Значит ты испытываешь стадный инстинкт и ищешь выбор, который одобрили бы окружающие. Решай сам.
82 1630417
>>30400
Тьюринг-полнота позволяет реализовывать абсолютно любые компьютерные вычисления.
83 1630422
>>30408
В смыслея причем тут стадный инстинкт? Мне похуй, если все будут говорить типа моя профессия не профессия, но я хочу, чтобы на деле она все же была профессией.
84 1630424
>>30403
В итоге кем ты стал?
85 1630425
>>30422
Ну так открой нн и посмотри вакансии.
86 1630441
>>30424
Никем, потому что послушал вот этих чмарей и не стал учить js и php
87 1630442
>>30417
Так это уязвимость или нет? Чем это грозит яваскрипту? Инъекции на сайт с помощью шрифта в комментариях? Я нихуя не понял
88 1630452
>>30425
Вакансий по жс много, платят хорошо, хх каждый день открываю. Но. Вопрос-то в том, как изменится ситуация через условные 5 лет. Многие пророчат веб разработке смерть. Так ли это?
89 1630465
>>30452

>платят хорошо, хх каждый день открываю


А теперь открой levels.fyi и подумай еще раз
90 1630470
>>30236
В смысле? На сайте? Или если самому запустить код на своих файлах? Алсо, мне и не подойдет этот способ, даже если он работает, ибо лиса на ведроиде не поддерживает это апи. https://developer.mozilla.org/en-US/docs/Web/API/SourceBuffer

Код я никакой не писал еще. Завтра попробую. Я пока в бреду, у меня температура высокая и мне хуево, так что пока я особо еще не вникал ни во что, просто собираю информацию поверхостно.
91 1630563
>>29745
О, годнота спс!
Только с Реактом не дружу, придется гуглить много че
92 1630591
>>30465
Still the salaries are pretty fine, was there anything you wanted to prove with your comment?
93 1630602
Не уверен что пишу в правильный тред. Нужна помощь с заданием https://bitbucket.org/roxot/qa-test-task-request-checker/src/master/ посмотрите, пожалуйста, какой ответ у вас приходит?
94 1630632
Подскажите плз анончики, изучаю 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);
95 1630643
>>30632

>только текст внутри разный



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));
image.png124 Кб, 1920x969
96 1630649
Кидайте свои результаты с triplebyte. Уезжаем работать в америку.

inb4 Квиз можно пройти три раза (не только фронт). Вопросы вполне дефолтные, но я растерялся из-за таймеров и где-то четверть точно накосячил, остальные точно не знал (там есть теоретические вопросы)
97 1630651
>>30649
PS как же я ору с того что мне советуют фронт, при том что я проходил квиз на фронт и в то же время мой результат по фронту в их графе самый слабый.
98 1630653
>>30643
Судя по консоли, твой вариант только из первого блока "sbs_rigth" вытягивает '.field__impl' с найденным текстом, а мне нужно из всех 5.
99 1630654
>>30653

>document.querySelectorAll('.field__impl')


Здесь поиск по всему документу. Поиск по .sbs_rigth вообще не нужен.

Так что либо .field__impl есть только в первом блоке, либо ты что-то сломал в этом коде.
100 1630660
>>30649

>Уезжаем работать в америку.


А кто же страну поднимать с колен будет, так и останется в руках воров и мошенников
101 1630662
>>30660
Так они сами уже одно ногой там.
102 1630665
>>30654

>.field__impl есть только в первом блоке


Не, эти блоки везде одинаковые. Не думаю, что это имеет значение, но текст не непосредственно в них, а в Span через несколько потомков div. Просто мне нужно обращаться именно к ним.

Я твой синтаксис не до конца понимаю, стрелочный еще не изучал.
103 1630667
>>30665

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

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


Меняешь на
return blocks.find(e => e.textContent.includes(text).closest('.field__impl'))
105 1630671
>>30667
Хотя нет, не меняешь, хуйню написал. Он и так должен найти .field__impl с нужным текстом внутри (в том чсиле и во ложенных в него блоках), но вернет .field__impl .
106 1630672
>>30671
Да, и смена ошибку выдает "не функция". Может тут цикла не хватает, чтоб по всем полям пройтись?
107 1630673
>>30672

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

А циклы не нужны.
108 1630675
>>30673
Прост я писал похожую функцию, но отказался, поскольку ее надо вызывать много раз для каждого слова. Вот она возвращает все элемы с нужным свойством из всех 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)
}
109 1630676
>>30675

>свойством


Словом, конечно.
110 1630679
>>30675
Я думал, у тебя блоки уникальные, то есть одно слово - один блок.

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

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)));
111 1630682
>>30679
Супер, работает. Спасибо, дружище.

Мда, конечно стрелочные функции сильно отличаются, хрен разберешь че происходит вообще. Надо курить мануалы.
112 1630687
>>30682
тут в стрелочных функциях аргументы и что вернуть. Хз что тебя тут смутило. Это наверное то, что проходят на первом занятии оффлайн курсов уже.

И еще, я тебя не хочу никак обидеть и если ты это делаешь для себя (реально для себя), то играйся на здоровье. Но если ты это потом хочешь где-то показать, то лучше остановись. Потому что эти поиски по селекторам уже никому не нужны, кроме самих фреймворков.
113 1630688
>>30687

>проходят на первом занятии оффлайн курсов


Я не был даже онлайн. Лет 6 назад изучал PHP пару месяцев, потом забил. А щас вот понадобилось дизайн на одном сайте под себя сделать, вот и полез в JS. Дней 5 только изучаю.
114 1630689
>>30687
Прост классический синтаксис похож на php, поэтому мне более понятен. Хотя хз че там щас уже.
115 1630693
Как вы можете писать на пыхе пиздец
116 1630699
>>29881
Лол.
Google:
mp4box inter
nginx mp4 module
117 1630743
>>29327
Что мешает вебговнокодить на джанге?
118 1630744
>>29327

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

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

Выбирай 1 или 2.
119 1630746
>>30744
upd: если даун, то бери 2. Реакт сложнее.
120 1630748
>>30744
А чем вью лучше? Постоянно нужно работать в двух контекстах - вьюшная магия и js, не лучше ли что бы всё было js?
121 1630750
>>30748
Ебаное говно для индусов неосиливающих что-то сложнее темплейтов
Взлетело только благодаря количество этих самых дегенератов
122 1630760
>>30748

> лучше ли что бы всё было js



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

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

>>30750
Ну да, всё так. А что такого
Снимок экрана от 2020-03-12 10-36-01.png236 Кб, 1887x367
123 1630809
анон, имеется вот такая хуйня. подскажи как мне добраться до quote чтобы я мог например обратиться к quote.title?
124 1630817
>>30809
quote.title в этом объекте не существует
есть например obj.quote.tariff_137_0.title (если твой объект называется obj)

ты можешь получить все ключи с помощью let keys = Object.keys(obj.quote) и подставить ключ потом obj.quote[keys[0]].title например
125 1630819
>>30817
только так? тут просто до меня в коде висела хуйня в виде:
_.each(obj.quote, function(quote) { alert(quote.title) }
поэтому думал может что полегче есть чтобы я мог обратиться только к тому где тариф_137 не используя этот ебучий цикл
126 1630853
Антоны, есть блок на сайте где крутятся видеролики, в некоторых из них есть звук, можно как-то с помощью JS заблокировать звук в нужном блоке, а не на всём сайте?
127 1630964
>>30819
obj.quoute.tariff_137_0.title
что скажешь? /
128 1631049
>>30809
const { quote } = obj
for ( let tarif in quote ) {
const {title} = tarif
console.log(title)
}
129 1631052
>>30809
Виталь, ты?
130 1631070
>>31052
Я, а что?
131 1631077
>>30809

>2020


>хтмл инжекты с апи


Ахуенно
132 1631084
Так, волшебники, спасибо, вы в прошлый раз здорово помогли мне, но мне снова нужна ваша помощь, пожалуйста.

Непроходимо реализовать функцию 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]

всякими слайсами пользоваться нельзя, только циклы. У меня получается хуйня, и возвращает два массива уже с изменением (Да, я понял что это просто ссылка на оригинальный массив и перемены происходят и в оригинале, но как это бойти?)
133 1631089
134 1631095
>>31084
Ты ебанутый?

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

return new;
}
135 1631120
>>31070
Фамилия начинается на Г? Из какого города?
11.png6 Кб, 295x165
136 1631128
137 1631138
>>31049

>for ( let tarif in quote )


пипец хак какой-то, ключи по in выдает как для массивов, а значения по of не даёт, пишет не может интегрировать объект
138 1631139
let brr = [...arr]
139 1631140
итерировать грр
140 1631141
141 1631142
>>31139
думаю попадает под "всякие слайсы"
142 1631149
>>31120
Да, фамилия Говно, из города Львiв
143 1631176
Есть плагин 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)
144 1631178
Почему в реакте в объявлении переменной используются const, а не var? Ведь const - это же constanta... Что за хуйня?
145 1631181
>>30679
Слушай, если ты еще тут, можешь еще подсказать. Если я, допустим, хочу превратить твой код в функцию, которой буду передавать массив слов для поиска, а она будет возвращать все содержащие слова блоки, что мне туда добавить нужно? Чет вообще не раздуплю эти стрелочные функции. Или если не трудно, мог бы ты переписать эту функцию под классический синтаксис, чтобы я мог сравнить и разобраться сам.

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';
}
}
146 1631184
>>31176
Вговнокодить абсолютом относительно справого верхнего угла рамки
147 1631205
>>31181
Все не нужно, я разобрался. Прост не знал, что агрументы это не массив
148 1631206
>>31181

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')
girl-wondering-1.png330 Кб, 640x545
149 1631254
>>29259 (OP)
Будучи онли реакт-макакой я однажды задумался, а в каких ситуациях я буду юзать вью вместо реакта? Когда меня спросят на собесе, почему вы не учили другие фреймворки, нужно сказать что-то умное, нельзя же сказать, что я выбрал реакт ради денег, потому что в фронтенд-треде на дваче так посоветовали.
150 1631256
>>31254
Говори, что выбрал ради денег. Нормальная тема.
151 1631263
>>31256
Но я не работаю ради денег и разбираюсь в каждом аспекте своей работы, посвещая ей каждую минуту своего свободного времени и даже выходные дни, ведь я большой профессионал. таков мой образ
152 1631318
>>31254
Просто не посылай резюме на вакансии где нужны другие фремворки это вообще показатель ебанутой конторы, которая обмазывается любым говном после обезьян - в нормальных местах есть устаканившийся стек/подход на котором все делается
153 1631360
>>31178
это не в реакте, а в целом в современном жсе, var уже много лет никто не использует
154 1631383
>>31263

>ведь я больной пидорас анимешник.


fix.
155 1631390
>>31360
Как? Некоторые языки только начали var пользоваться!
156 1631393
>>31390
у русских слово var ассоциируется со словом ВОР, по этому они перешли на let и const
157 1631397
>>31393

>ВОР


Это по армянски жопа.
158 1631416
>>31178
Переменные нужны гораздо реже, чем их используют >>30097 >>30675 А если действительно нужна переменная, то она нужна в ограниченном контексте, по-этому использовать надо let. Глобальные объекты в общем случае не нужны, а значит и var не нужен.
159 1631428
Чем черевато создание переменной без var let и const? Если ты 100% создаёшь для неё уникальное название и она не нужна тебе как локальная в функции, всегда пишу просто
a=1;
console.log(a);
160 1631438
>>31428
Твой код и тебябудут считать говном все, кому придётся с ним работать после тебя. С ним не удобно работать.
161 1631442
>>31428

>a=1;


Нихуя, у вас как в пайтоне можно?
162 1631448
>>31428

>всегда пишу просто


>a=1;


Где пишешь? Ты, я гляжу, успешный кодер прям.
163 1631451
>>31428

>Если ты 100% создаёшь для неё уникальное название



Ну да, легко так говорить, когда ничего длиннее 20-ти строк не писал. Когда у тебя полноценное предложение, то ты ни в чём на 100% не уверен. Ну а в 20-ти строках так будут писать только дебилы, потому что они не понимают, что это рано или поздно войдет в привычку и они где-нибудь в крупном проекте ёбнут своё a = 1; и наебнут весь код.
164 1631464
>>31438
Да, не дописал что пишу только для себя, я не жс пхп макака сидящая на зарплате, учитывая то что на других похуй, чем чревато объявлять переменную без var let const

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

>>31451
Берём идеальный случай, что все названия уникальны, нахуй вообще задавать видимость переменной, если она тебе нужна просто как переменная, учитывая это можно же так писать не ебясь с var let const? У меня например как минимум ад перфикциониста когда ты пишешь код в 1 строку и у тебя в коде единсвенный пробел это когда ты объявляешь ебучую переменную, все остальные пробелы у тебя просто улетают при сжатии
165 1631474
>>31464
Так делать нельзя, есть строгий режим в котором будет ошибка.

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

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


>когда ты пишешь код


реально ад
166 1631475
>>31464

>Берём идеальный случай



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

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



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

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

let a = 1;
167 1631487
>>31475

>let a = 1;


int a = 1;
Поправил.
168 1631489
>>31474
Если в рамках функции, то она не будет глобальной.
169 1631496
>>31489
user ~
$ node

> (function(){a=1})()


undefined

> console.log(a)


1
undefined

>

170 1631500
>>31475
Нет, ад это вот это
<script>var a=1;let b=2;const c=3;console.log(a+b+c);</script>
Нигде блять нет пробела, и только инвалидское объявление переменных их добавляет, нужно сделать как в пхп $a=1, будет охуенно

>>31474
Да и насрать что она становится глобальной, имя же у неё уникальное, её никто не тронет кроме тебя, берём в расчёт только личное пользование, конечно сидя на бутылкезарплате жс макаки ты будешь писать всё отдельно в новой строке, но для себя ты будешь это всё максимально сжимать после написания, чтобы ни 1 макака не пазарилась на твой код, и поебать что переменные глобальные, если они тебе ненужны для какой-то функции внутри, памяти она не сожрёт и проц твой от этого не нагрузит, ПО Е БАТЬ
1386936311274.jpg17 Кб, 354x239
171 1631523
>>31500
Пыхеры все такие?
172 1631526
>>31500
Если так ненавидишь именно пробелы, то пиши var$a=1
173 1631528
>>31496
Ты IIFE с функцией путаешь.
174 1631530
>>31500
Каким дебилом надо быть чтобы скрипт писать в теге, а не загружать из источника?
175 1631533
>>31500

>чтобы ни 1 макака не пазарилась на твой код



Шизик, успокойся, уже давно придумали инструменты, которые сами добавят нужные отступы.
176 1631535
>>31526
А, нет, не пиши так, это я обосрался.
177 1631536
>>31528
function test() {
a= 10;
}

test();

console.log(a);
178 1631543
>>31500
Зачем в скрипте что-писать, если это для стороннего сайта? Есть же всякие тамперманки и прочие дополнения.
179 1631546
>>31536
Ты var пропустил.
180 1631547
>>31530
Если кода мало, зачем источники?
https://universal-play.glitch.me змей рисовать можно в одном файле.
181 1631559
>>31547
Чтобы всё было аккуратно и тебе не надо было грузить весь html файл для исправления 1 строки.
182 1631567
>>31546

user ~
$ node

> (function(){var a=1})()


undefined

> console.log(a)


ReferenceError: a is not defined

>

183 1631573
>>31546
Разговор был про объявление без ключевого слова.
184 1631582
>>31573

>Разговор был про объявление без ключевого слова.


Не знаю с кем ты там в своей голове разговаривал, но писал ты следующее:

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

185 1631586
>>31582
Написано, что переменная без ключевого слова объявляется как через var (в противовес как через let или const) и всплывает.

А теперь покажи где написано, что var всплывает из функции.
186 1631593
Аноны, подскажите. Делаю тудушку на ТС + реакт, хочу мапом делать элементы списка. Передаю как обычно <ListElem info={elem} />, но ловлю ошибку Type '{ elem: ITodo; key: number; }' is not assignable to type 'IntrinsicAttributes & titleInfo & { children?: ReactNode; }'. Нигде не могу найти расшифровку. Что это значит?
187 1631594
>>31582
А ты писал, что я (другой анон) путаю функцию и IIFE. Но и то, и другое, что с var, что без, работает одинаково.
Снимок экрана (127).png16 Кб, 839x221
188 1631600
Подскажите, в чем ошибка? Суть такая, на странице 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]);
}
}
}
189 1631604
>>31586
Но она не объявляется как через var, сычуш, без ключевого слова она попадает в глобал скоуп. Ты же говорил, что между не объявлением и объявлением через var нет разницы, за что тебя закономерно окунули головой в собственное дерьмо.
>>31594
Ну и? От этого IIFE функцией не становится.
190 1631606
>>31523

>Пыхер


>Шизик


Откуда вы меня знаете

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

>>31530
Обезьянка, открой любой более вменяемый сайт, сейчас всё пишут в самом коде html для ускорения загрузки и уменьшения количества запросов при загрузке страницы, даже css стили все стали писать прямо в коде html и только общие стилли в файле, как и js код, если он исполняется только на 1 странице, нахуй мне помещать его в файл чтобы даже на микросекунды задерживать его выполение тварь
191 1631608
>>31604

>Но она не объявляется как через var, сычуш


>без ключевого слова она попадает в глобал скоуп


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

>Ты же говорил, что между не объявлением и объявлением через var нет разницы


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


У тебя дислексия или ты просто долбоеб?
192 1631610
>>31608

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



Тогда почему ты обосрался и не смог прочитать переменную объявленную в функции через var, но смог это сделал с переменной объявленной без ключевого слова? Ты троллить пытаешься или правда тупой?
193 1631611
Ананисты, а подскажите хороший ноутбук для ныряния в говна программирования с максимальным удобством, лёжа и попёрживая на диванчике или копая картошку у бабушки в деревне, чтобы лёгкий, красивый, с хорошим экраном и виндой, желательно не 10, а может даже и на линуксе, но чтобы это был не пидоромак, бюджет 40-50к думаю можно будет осилять, ну и кинцо шобы тоже тянул
194 1631615
>>31604
Но var (или отсутствие) работают одинаково.
195 1631621
>>31610
Ладно, здесь я обосрался. Ключевая суть была про разницу с let/const.

А ты обосрался с самого начала
196 1631624
>>31615
Нет, выше уже на примерах показано.
>>31621
Так я тебе сразу об этом сказал, а ты безуспешно начал пытаться перекладывать дерьмо из своих штанишек в мои.
197 1631626
>>31624
Ты сказал про объявление через var, ответ был про объявление без ключевого слова. Разницу находишь?
198 1631629
>>31611
40-50к это только для фильмов и браузера. Для программирования нужен мощный, как минимум за 70к, если прям сейчас брать будешь, если будешь ждать, то уже за 85к придется брать с нынешним курсом.
Программирование это IDE и несколько открытых проектов, несколько вкладок браузера, виртуалка, локальный сервер. Всё это требует как минимум 16 гб оперативки.
199 1631630
>>31626
Какой ответ, поехавший? Я отвечал на это:

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



Указывая на то, что объявление с var и вообще без ключевого слова не являются одинаковыми.
200 1631633
>>31624
>>31626
Девчёнки не ссорьтесь, я всё равно будут писать без var let и const, потому что разницы нихуя, а с ними пусть пишут местные макаки дрочащие блокнот за гривны и доширак
201 1631635
>>31630
То есть ты обрезал предложение и не дочитал до конца.
202 1631639
>>31633
Ты вообще собака спидозная, закатись под стол.
203 1631641
>>31629
да ты гхонишь, скажи ещё что процессор нужен с пометкой x и i7
204 1631642
>>31639
Сын, ты как с матерью разговариваешь скотина родила урода!
205 1631643
>>31641
Смотря какой, только не говори, что ты думаешь, что i7 всегда мощнее i5.
206 1631646
>>31635
А там в конце написано "ой, нет, я ошибся, это не одно и тоже"? Если нет, то я дочитал до конца и ничего не обрезал.
207 1631650
>>31646
Ну если у тебя проблемы с чтением, то я вряд ли смогу дочитать за тебя и собрать мысль воедино.
208 1631652
>>31643
Если из 1 модели конечно мощнее, +4 виртуальных потока ебать

Короче нужен ноут на подобии мака но не мак, то есть крепкий может даже алюминиевый и стильный чтобы не блевать при его виде и не охуевать как он скрепит или звучит при постукивании как дешёвый китайский пластик, ну и матрица чтобы не выжигала глаза засветами и разной картинкой при малейшем отклонении в строну
209 1631657
>>31474

>Такая переменная...


Здесь речь про переменную без ключевого словаиз поста >>31464

>>31489

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


Теперь скажи в каком месте ты писал про переменную с var?
210 1631664
>>31650
Говно то хоть своё собрать сможешь? А то уже на весь тред воняет.
211 1631667
>>31657

>Теперь скажи в каком месте ты писал про переменную с var?



Это подразумевается исходя из цитируемого поста.
212 1631668
Да нахуй этот сраный var. Как мне заюзать SIMD в браузере? Без него от всяких JIT и типизированных массивчиков толку нет, скорость все равно в 4/8/16 раз ниже.
213 1631670
>>31667

>Такая переменная...


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



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



Да-да, обтекай дальше.
214 1631679
>>31600
Если уж очень хочется использовать циклы, хотя бы for of используй, а не это.

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

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

А зачем?
215 1631683
>>31670

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


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



Так ты к посту добавляй, что у тебя IQ < 80, тогда тебе будут в развернутом виде всё писать, без надежды на то, что ты сам найдешь то место, в котором проебался.
216 1631689
>>31683
То есть ты отрицаешь, что объявленная без ключевого слова становится глобальной?
217 1631701
>>31689
То есть я отрицаю, что объявленная переменная без ключевого слова, объявляется через var по сути.
218 1631704
>>31633

>я всё равно будут писать без var let и const, потому что разницы нихуя


Смысл в том, что практически невозможна ситуация, когда говнокод-1.0 присваивает значение глобальной A, потом говнокод-2 присваивает значение глобальной А, потом говнокод-1.1 пытается использовать значение А из говнокода 1.0. Потому это и работает.
219 1631708
>>31701
Сейчас уже другое отрицаешь. Маневры продолжаются.

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

>(т.е. объявляется через var по сути)



Тови слова, которые я и отрицаю. Когда это стало другим?
221 1631723
>>31715
Сейчас это, выше отрицал другое.
222 1631726
>>31723
Да... в твоей шизе даже опытный психиатр с трудом разберется.
223 1631730
>>31679

>А зачем?


Циклы не обязательны. Но в cont же содержатся 5 блоков на странице, в каждый из которых мне нужно запихать элементы из elem. Как это сделать иначе?
224 1631732
>>31730

>cont.appendChild


А ты все пихаешь прямо в cont, а не в его 5 блоков.
225 1631736
>>31732
Прост потерял, но результат я описывал с ней.
226 1631740
>>31732
Вот так получается, но чет по моему сильно костыльно

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);
}
}
227 1631764
>>31740

>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?

Без циклов такой путаницы не было бы.
228 1631776
>>31764
Ну так у меня массив из 5 блоков в cont, в каждый блок мне нужно положить определенное кол-во элементов из массива elem. Как иначе это сделать? Я же это и спрашиваю.
229 1631783
>>31776
Ты один и тот же блок пытаешься положить в другой, а не несколько блоков.

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

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

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

Наверняка это все можно в одну строчку запилить. Просто непонятно, что нужно.
230 1631795
>>31783

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


Они там и есть
231 1631799
>>31783

>elem1 elem2


Пиздос, я же писал elem1 elem2
232 1631800
>>31799
Макаба [-i-] (без дефисов) удаляет, вот что хотел

>elem1[-i-]* elem2[-i-] (без дефисов)

233 1631802
>>31800
По этой же причине и у меня их нет лул

Короч суть в том, что мне в 5 cont надо переместить каждые 9 элементов из elem. Первый cont - первые 9 из elem, и т.д.
234 1631805
>>31802
Чет мне кажется там можно переместить все куда надо сразу без лишних выдергиваний, без этого:

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



То есть сразу взять блоки из документа и положить куда надо.
235 1631808
>>31805
Эти блоки выбираются по тексту внутри. Потому что на странице они идут по порядку с одинаковыми классами во всех 5 разделах, типа 123456789... А мне нужно типа 123 и 789 обернуть враппером в каждом разделе, а потом так же 456 и 10-11-12
236 1631809
>>31808
Ну так находи сразу и оборачивай, зачем вырезать, вставлять?

Да и оборачивать наверняка не обязательно - меняй текущие на лету или просто стили добавляй каждому.
237 1631813
>>31809

>Ну так находи сразу и оборачивай


Ну так я и нашел, их функция уже вытащила, проблема то не в этом бля.

>Да и оборачивать наверняка не обязательно


Обязательно. Стили я уже и так поменял, но мне нужно сделать типа блок для фокуса по хоткею, где будут еще 9 блоков с выбором инпутов по хоткеям
238 1631818
>>31808
Если они всегда по порядку, можешь сразу найти через .querySelectorAll(.class:nth-child())

>>31813
Ну так если все работает, все заебись.
239 1631820
>>31818

>если все работает


Да не работает нихрена. Работает только первая версия с тонной текста только для одного блока из 3.

Пробую вот так, все правильно оборачивается, но все блоки, которые функция getCats вытащила, вываливаются в последний враппер, вместо каждого блядь. Заебался уже.
240 1631821
>>31820
Код забыл

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)
})
}
241 1631826
>>31629
я собираюсь за 18 взять для погромирования

думаешь будут проблемы!
242 1631827
>>31178
через const удобно обозначать массивы и объекты, которые сохраняют ссылку на объект но меняют содержание, чтобы случайно их не перезаписать саму ссылку
243 1631828
>>31821
Я просто не догоняю, что ты хочешь.

>на странице 5 разделов, в каждом по 26 блоков.


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



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



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

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

Какой результат должен быть после всех преобразований? Хотя бы в пейнте нарисуй.
244 1631829
>>31826
грр *?
Снимок экрана (128).png51 Кб, 723x473
245 1631831
>>31828

>Как я понял твою структуру


Так есть сейчас, да. А надо так. Но вот эти блоки, что во врапперах, уже поделены на 3 группы в 5 секциях функцией getCats(1), где цифра - номер группы. Мне нужно только их врапперами обернуть. Чтобы в каждой секции были врапперы 1-2-3, а в них как на картинке.
246 1631832
>>31831
Стало только хуже. Лол.

Тебе нужно копировать блоки, чтоле? По два раза странице - в обычном месте и в новых-блоках врапперах?
247 1631833
>>31828
https://jsfiddle.net/mc537agz/

Вот мой текущий код. Он полностью решает эту задау. Но он пиздец уродский и длинный. Я уверен можно это сделать проще, но чет не получается.
248 1631834
>>31832

>Тебе нужно копировать блоки, чтоле?


Нет, создать по 3 враппера в каждой из 5 секций и в них перетащить блоки по очередности как на скрине. По умолчанию как у тебя в коде, все блоки идут по порядку от 1 до 29 в каждой из 5 секций.
249 1631842
>>31606

>Обезьянка, открой любой более вменяемый сайт, сейчас всё пишут в самом коде html для ускорения загрузки и уменьшения количества запросов при загрузке страницы, даже css стили все стали писать прямо в коде html и только общие стилли в файле, как и js код, если он исполняется только на 1 странице, нахуй мне помещать его в файл чтобы даже на микросекунды задерживать его выполение тварь



Ебать давно я так не смеялся.
250 1631846
>>31834
Мне кажется нужно делать куда проще.

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

Потом приходишься по

>Суть такая, на странице 5 разделов, в каждом по 26 блоков.


каждому из этих пяти разделов. Если блок содержит слово, которое есть в массиве, перемещаешь его во враппер с номером, как и индекс подмассива (три враппера - три подмассива).
251 1631847
>>31846

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


Или лучше индексы, по которым они находятся в списке в своем разделе (если, конечно, не изменяются и одинаковы для разделов).
252 1631923
>>31842
Пидрила тупая, открой исходный код ютуба, ты охуеешь тварь
253 1631924
>>31842
И почитай рекомендации здлесь хуйло тупое украинское https://search.google.com/test/mobile-friendly?hl=ru
254 1631942
>>31611
В ноутбуках выбирать особо не из чего. За 40к можно взять ноут на ryzen 5, без установленной винды, ( - 8к к цене ) и накатить туда линукс, ну и плашку докупить оперативы. Экран IPS без вариантов.
255 1631948
>>31942
А на какую фирму опираться, у меня пока в голове DELL
256 1631952
>>31611

>но чтобы это был не пидоромак, бюджет 40-50к


Можно подумать ты на эти копейки мак купить бы мог лул
257 1631980
собираюсь купить Lenovo IdeaPad L340 и поставить минт, хватит для кодинга?
258 1631993
>>31948
>>31952

>А на какую фирму опираться


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

>мак


>MacBook Pro 13 за 109к, 13 дюймов экран, 8 гб, 128 ssd, i5.


Видимо маки тащат из за мертвого рынка ноутов и лгбт сообщества.
259 1632006
Какие темы нужно перепройти чтобы понять как пройти по свойства свойств объекта? Уже часа три сижу и втупляю, всё про объекты перечитал у кантора. по доке тоже лазил
260 1632009
Аноны, я когда делаю формочки всякие для редактирования данных в модалке - юзаю буфер-переменнкю. И чтобы копировать обькт в этот буфер делаю жсон.парсе.жсон.стрингифай. Может это не правильно? есть способы лучше? Подскажите, пожаоуйста. А то я сам проект пилю - не у кого спросить.
261 1632012
>>32006
Я не спец в жс, но я бы создал функцию с циклом(let key in object) и вызывал ее в самой себе. Если я правильно понял что тебе нужно
262 1632015
>>32009
это ок способ для того что нормально стрингифается (функция в объекте не пойдет)

а так напиши свою дип копи
263 1632021
>>32015
Ну я данные с бэка получаю обьектом. Аля item{
id: 1
sub_items:{}
}
Если норм то ок, спасибо.
264 1632028
Поясните что за магия происходит в этой строке:

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

я понимаю что io становится экземпляром socket.io, но что блядь там делает сервер в скобочках?
265 1632029
Амперсанты, как лучше хранить данные в локалсторейдж для хранения например добавленных в избранное материалов пользователями сайта, в объекте где будет уник айди и спаршеный с помощью джейсонстрингфай в строку? Ну а как тогда хранить там не только айди и ссылку на матераил, а например и его название, картинку, количество комментариев и т.п., понятно что в виде значения задавать каждому айди обычный массив, но как тогда сортировать его по нужным парраметрам, потому что парсинг в джейсон сортирует его по айди, то есть вида
{123:[название1, ссылка1, картинка1, комментарии 10, тд.],124:[название2, ссылка2, картинка2, комментарии 20, тд.]}
Как эту лабуду отсортировать по названию, то есть по 1 элементу в массиве каждого объекта
266 1632034
>>32006

Object.values()
Object.entries()
267 1632035
>>32028
гугли каррирование
268 1632043
>>32029
зачем массив когда нужен объект

{11: {title: "title", desc: "description"}}
image.png44 Кб, 157x260
269 1632057
>>32034
Мне нужно циклом проходить по всем свойствам и свойствам свойств до бесконечности, пока свойство в свойстве есть. Сколько попыток делал - не получается.

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

Даже вот этот пример не помог. Хоть и тут понятно, что после каждого выполнения перезаписывает на следующий next и показывает его
Еще загвостка в том, что у свойств нет имен, ну они в " " кавычках и на русском языке, хотелось бы самому решить и получить какой-то прогресс, не хочется проигрывать..
270 1632065
>>32057
Рекурсия.

>Еще загвостка в том, что у свойств нет имен, ну они в " " кавычках и на русском языке, хотелось бы самому решить и получить какой-то прогресс, не хочется проигрывать..


object['пидор']
271 1632071
>>32043
ну вот смотрит получится
{
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"}
}
272 1632072
>>32071
.sort
273 1632081
>>32072
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)
Так? А если у нас значений больше, то есть помимо тайтл и дескрипшин есть ещё значения, то код будет таким же?
274 1632092
>>32081
Бля чёто я запутался, этот вариант конечно же не работает
275 1632138
>>31924
>>31923
бля пректати я сдохну от смеха
276 1632148
>>32138
посмотри в зекало, всё веселье сразу пройдёт
277 1632151
анон пытаюсь сделать автокомплит с селектом таким способом https://ideone.com/ITv4TX . в результате чего выпадает нужный мне список, и при клике на него он вставляет то что мне нужно в input. но проблема вся в том что его вставляет как то по ебаному чтоли, из за чего при перезагрузке страницы у меня висят те буквы которые я вводил, а не то что я выбрал. как фиксить то?
278 1632159
>>32065

>Рекурсия



Стэковерфлоу. Такие задачи только циклом решаются.
279 1632163
>>32148
ты реально не понимаешь, что все эти инджекшены в html делает webpack?
280 1632167
>>32163
И нахуя плодить лишние действия, когда можно сразу все записать в html?
281 1632173
>>32057
while (obj.next != null)
obj = obj.next
282 1632180
>>32163
Он же троллит.
283 1632183
>>32163
Я хуй знает о чём ты, я о том что нахуй мне объявлять постоянно переменные с помощью var let const, если я могу делать это так a=1, и весь код могу писать просто в строку, прямо в хтмл, нахуй мне это выводить в отдельны файл, если этот код срабатывает только на 1 странице, и повторю для долбаёба, я не работаю в конторе, скрипты пишу для себя, так что все имена у переменных 1000500% уникальны и поебать что они будут глобальными, АБСОЛЮТНО
image.png30 Кб, 1014x287
284 1632233
>>32071
японский бог. Вы хотя бы читайте доку, которую можно за день пролистать.

Нужно пройтись по ключам и создать массив. Затем его отсортировать, как тебе нужно. https://repl.it/@CharonIV/Object
Вот я на пальцах все показал. И убери массивные скобки в своем примере.
285 1632235
>>32183
Автор калькулятора ми-65, ты?
286 1632249
>>32235
нет, я автор калькулятора хохол-69
287 1632256
>>32233
А вообще только такой способ возможен чтобы хранить все материалы в 1 переменной в куках? Имею ввиду что делаем пустой объект, закидываем туда объекты с ключом материала и уже в каждом объекте внутри ключа сохраняем нужные нам поля из материала? А потом всё это просто парсим в строку и записывает в переменную в локалсторейд или куки? Ну а при извлчение парсим обратно в объект с объектами с помощью джейсон парс?
image.png34 Кб, 622x217
288 1632272
>>32256
я вопроса не понимаю. В куках ты хранишь одну информацию, в localStorage, useState, Редакс, context (хуков) ты хранишь совсем другую информацию. Важно, то что в качестве тестовых заданий для фронта (например мувисерчер), тебе предлагают хранить всю инфу в localStorage, это просто чтобы облегчить задание. На деле, ты хранишь свистоперделки в localStorage. Реальную инфу, ты запрашиваешь с бэка SQL и там же её и хранишь. О какой информации идет речь?
289 1632279
Ребят, есть 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'));
}
290 1632303
>>32272
Ладно забудем о куки, берём локалсторейдж, там мы можем хранить в 1 переменной только 1 значение, строку, то есть чтобы сохранить массив материалов нам нужно объект конвертнуть в строку для сохранения, и обратно распарсить в объект для извлечения и отризовки на странице, отсюда у меян и вопрос только такой вариант существует хранения избранного в локалсторейдже?
291 1632309
>>32303
Ну можешь написать функцию, которая будет разбирать твой массив на переменные и каждую отдельно закидывать в стораге, а потом выдирать и заново собирать массив.
292 1632329
>>31923

>исходный код ютуба


Работник жыдтрубы, залогиньтесь через гугл аккаунт.
293 1632358
В чем тут ошибка? Нашел единственный способ, который позволяет скрипту в TM выполняться на сайте. При обновлении страницы все ок, но при переходе на следующую страницу код не выполняется. В чем проблема?

(function repeat(){
var element = document.getElementsByTagName('div')[6];
if(!element) return setTimeout(repeat, 100);
294 1632362
>>32309
Мне кажется это невозможно, а вдруг туда поместят значение из другого кода и вот ты уже парсишь чужие данные, можно сделать что-то типа ключа и проверять на его наличие, но это уже извращение, отсюда и получается что вариант только загонять всё в джейсон массив и сжимать его в строку, просто сортировать этот джейсон объект не так уж и красиво получается, много говнокода с лишними движениями, как вариант с помощью .keys задать каждому объекту айди и уже подставляя этот кей работать с родительским обектом, короче говнокод получается
295 1632364
>>32303

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



кто тебе это сказал?, ты делаешь объект , в объекте ключей сколько тебе надо. В значения может быть хоть число, хоть объект, хоть массив или строчка. Откуда вы берете эту информацию, что за гавно?
296 1632365
>>32364
PS сбрось свой localStorage, меня уже тряссет. Сфотографируй код
297 1632374
>>32364
Ты дебич? В переменной стораджа можно только одно значение и это строка.
298 1632378
>>32365
Что тебе скидывать, создаём объект, храним в нём объекты название у которых ключ, айди

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 переменной или есть другеи спосбы, пока способа кроме джейсон обекта сжатого в строку в голову не приходит
299 1632379
>>32374
Парсишь строку в JSON, а потом обратно.
300 1632381
>>32374
я говорил про localStorage React
301 1632394
>>32081
Просто оставлю это здесь https://jsfiddle.net/exyjtrqd/
302 1632404
>>32378
https://repl.it/@CharonIV/sortArr

Все, доволен? Я надеюсь не надо объяснять, как привести к такому массиву и как расширить объект (добавить ключ в объект)
303 1632412
>>32404
Анон, прикол в чём, как ты теперь удалишь например весь объект с id: "1", по этому и нужно айди задавать снаружи этого объекта, чтобы потом просто по айди его удалить без свистоплясок когда пользователь это захочет, по этому нужен вид именно
id1: {title: "3", desc: "zxc", url:"4", img: "5"},
id2: {title: "3", desc: "zxc", url:"4", img: "5"}
...
image.png8 Кб, 752x56
304 1632418
Кстати, харкач тож ехранить избранное в локалсторейдж, там абу вообще ещё килатонны говна засунул в 1 переменную, не только избранное, как он интересно всё это говно распаршивает, хранит он это всё тоже в объекте
306 1632426
Бля, помогите кто нить, уже задолбался биться. Есть короч сайт, на котором загружается айфрейм на всю страницу. Есть Темперманки, которым я обращаюсь напрямую к фрейму. Во фрейме, как я понял, загружаются разные данные с других сайтов. Так вот, при любой попытке обратиться к элементам внутри фрейма, будь то листенер или онлоад, мне возвращается пустой нод. Если я устанавливаю таймаут и проверяю появление первого div в body, то получается обращаться к нужным элементам, но при переходе на следующую страницу это не работает. ЧЕ ДЕЛАТЬ???
307 1632430
>>32418
Вот десь код абу по распаршиванию и сортировки избанного https://2ch.hk/makaba/templates/js/sharkey.js (М)
Но чёто слишком дохуя у него там кода, можно же намного меньше
308 1632433
>>32420
А ты попробуй на ES5лол
309 1632434
>>32426
К содержимому внутри фрейма обращаться нельзя, если он не отдаёт никакие данные
310 1632436
>>32420
какой-то говнокод получается, человек должен нажать удалить из избранного, после чего скрипт просто удаляет объект с этим дивом, всё, пример у тебя перед глазами, добавить или удалить тред из избранного
311 1632442
>>32434

>К содержимому внутри фрейма обращаться нельзя


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

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

(function repeat(){
var element = var element = document.getElementsByTagName('div')[6];
if(!element) return setTimeout(repeat, 100);
//МОЯ ЛОГИКА
}());
image.png24 Кб, 743x322
312 1632443
Вот охуенный пример как избранное хранит абудаби, если сейчас это распарсить и вывести на страницу, оно будет отсортировано по номеру тредаайди, а нужно например отсортировать по title или last_posts перед тем как вывести, используя минимум кода чтобы не превращать это в говнокод
313 1632444
>>32442
Что интересно, если я заменю
document.getElementsByTagName('div')[6]
На
document.querySelector('любой класс в фрейме');
То вообще ничего не работает. В чем прикол?
314 1632449
>>32433
переписал filter под ES5 или речь шла еще и про sort?
315 1632454
>>32449
Можно и с .sort, но мне кажется всё равно айди нужно делать именем объекта, даже у макаки так сделано, скрин выше
316 1632459
>>32454
Ты пытаешься сделать на JS, то что возвращает бэк макаки. Он делает запрос к своей базе и сортирует например по id. Затем преобразует это в JSON и через апи отправляет тебе. Все что его JS делает, это рисует по приходящему JSON. Его JS никак ничего не меняет. Гугли базы данных. Если ты хочешь делать тоже самое в минимум движений, то тебе нужно получать эти данные, отправлять к себе на базу и так же сортировать по запросу, который тебя устраивает.

Я тебе предлагал как это сделать через JS. Если тебя это не устраивает, то можешь id пихать в тело объекта, а ключем делать то по чему хочешь сортировать. Все, больше вариантов нет (по крайней мере в моем случае). Если тебе лень это делать, то иди учи запросы к базе и хватит срать в треде.
317 1632468
>>32459
Хорошо спасибо анон, просто хотелось увидеть максимум возможных способов и собрать из них лучший, а то как хранить всё это в куках/сторейдже я так понимаю вариантов и нет, только в сжатом в строку джейсоне
318 1632474
У макаки кстати избранное тоже без сортировки по айди выводится, если добавить тред в избранное он снизу, но после обновления стараницы он уходит вверх, так как айди пхп треда больше, макака не стала беспокоиться о том что анончикам захочется отсортировать треды по добавленю в избранное
319 1632476
>>32444
Наверно потому что к фреймам на свой домен можно обращаться только через #
320 1632482
>>32476
Бля, я спрашиваю одно, ты мне отвечаешь другое. Фрейм на другом домене, но это не имеет значения, потому что ОН ВСТАВЛЕН РЕКВАЙЕРОМ В ТЕМПЕРМАНКИ. Вся логика выполняется ТОЛЬКО на фрейме, что мне и нужно. Проблема в том, как выполнить логику после загрузки всего контента во фрейме, чтоб скрипт видел элементы в нем. Интервал или Таймаут ее решает, но только при обновлении страницы, а при переходе на следующую скрипт не выполняется.
321 1632487
Аноны, есть люди, которые пользовались GIPHY API?
Когда делаю запрос, то получаю embeded_url, который сайт предлагает вставлять через iframe. Есть какой-нибудь способ вставлять такое через img? А то если на странице 5+ таких фреймов, добавление новых вызывает тормоза.
322 1632579
(![]+[])[+[]]+(![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]
323 1632636
Есть друг — абсолютный ноль в программировании, английского не знает. Посоветуйте курс для него.
324 1632709
>>32636
Пусть твой друг вкатывается в 1ЭСС.
Без инглиша на жабоскрипте ловить нечего.
325 1632721
чем reduce лучше map?
326 1632724
Друзья, что делать, если открываю задачу на леткоде и в ступоре сижу?
Я понимаю что нужно использовать в задаче, но не понимаю как правильный алгоритм решения составить
Что обычно вкатывальщики с этим делают? просят помощи и как-то подтолкнуть у других людей, в чатиках или у знакомых прогеров?
327 1632733
>>32721
Reduce более "широкий" и использовать его для создания массивов костыльно

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

Map - чтобы создать новый массив:
[1, 2, 3].map(x => x * 2) // => [2, 4, 6]
328 1632737
>>32733

>Map - чтобы создать новый массив:


>.map

329 1632747
>>32724
Я конечно не знаю что там, но подозреваю что проблема в том, что там абстрактная хуйня. Совет - не занимайся абстрактной хуйней, решай реальные практические задачи. Как правило как решать реальные задачи субоптимально хотя бы сразу более или менее понятно, делаешь, потом оптимизируешь если не нравится. Вся эта абстрактная хуйня отбила мне напрочь желание кодить в студенческие годы, потом пришел в промышленный кодинг и там этой ебалы вообще нет, промышленный кодинг совсем про другое. И вообще голый JS никому особо не нужен, vue или react учи. У кого-то видел что он когда берет новую фронтохуергу пишет клон трелло, вот напиши клон трелло. Как допишешь, если оно будет норм выглядеть и работать, считай что ты джун и пиздуй искать куда жопу приткнуть, без работы над чем-то реальным в реальной команде будешь развиваться со скоростью улитки.
330 1632748
>>32733
Ты долбоеб? Зачем ты что-то пишешь, если сам ничего не понимаешь?

>>32721
У них разные предназначения. Reduce чаще используют когда тебе нужно сжать данные или преобразовать их, вычленив из них что-то нужное, поэтому при помощи Reduce ты можешь возвращать любой тип от объкта с массиво, до строки с числом. Map используют для модификации уже существующих данных в массиве, без изменения структуры массива.
331 1632751
>>32724
Зависит от сложности задачи. Если это задачи уровня Easy, значит тебе нужно дрочить теорию и логику. Для уровня Medium нужны базовые знания алгоритмов. Уровень Hard это уже продвинутое знание алгоритмов, которые ты сможешь решить только если дрочил похожие задачи при изучении алгоритмов.
В любом случае, можешь смотреть на решение и запоминать принцип по какому оно сделано, а также использованный в нём алгоритм. С опытом сам научишься решать также.
332 1632755
>>32747
Спасиб за совет конечно, но я сейчас на самом низком уровне "функции", если его не преодолею то какое мне там реальное программирование..

>>32751
Вот вчера с наводками от друга только easy решил.. сейчас вроде медиум алгоритм правильный придумал, осталось реализовать
333 1632764
>>32755
Слушай, dawg. Я тебя понимаю. Алгоритмы и вся эта хуерга полезна для развития ума, но по больше части к кодингу реальному отношения особо не имеет. Да ты выучишься алгоритмы сортировки скажем. Но использовать ты будешь скорее всего готовый от фреймворка какого-нибудь или lodash'евский. Все эти размены монеток, управление лифтами, относительно полезно, чтобы не протухнуть. Но по факту, вдупляй в работу с DOM-деревом, вдупляй в аяксы-хуяксы. Меня конечно может обоссут тут, но я не верю в JS на бэке, и вообще не джаваскриптер я, но при необходимости, когда тима осталась без фронта, месяц его замещал на проекте с Vue. Мое мнение - все что на бэке может JS, другие языки могут лучше. А на фронте никаких яблок, монеток, лифтов нет. Слушаешь события, обрщаешься к API, меняешь состояние компонента (или напрямую DOM, если у тебя жакверипараша). Ну или просто слушаешь события и меняешь состояние.
334 1632766
>>32764

> Алгоритмы и вся эта хуерга


>для нахождения суммы чисел массива от 1 до n хуячит цикл


>для нахождения единственного не дублированного элемента массива, хуячит два вложенных цикла.


>РЯЯ НИНУЖНЫ Я СКОЗАЛ НИНУЖНЫ МААМ СКАЖИ И М



Можно только посмеяться над твоими мантрами.
335 1632771
>>32764

>Да ты выучишься алгоритмы сортировки скажем. Но использовать ты будешь скорее всего готовый от фреймворка какого-нибудь или lodash'евский.


вы что наркоманы чтоле

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

и что вообще за хуйня этот лодаш, я ни разу не видел ни одного полезного примера с ним, такое впечатление что это набор велосипедных копий того что и так есть в языке, с их forEach я отдельно проорал
336 1632788
>>32764

>А на бэкэнде никаких яблок, монеток, лифтов нет. Слушаешь контроллеры, достаешь данные из базы, меняешь их и отдаешь на фронт

337 1632809
>>32788
Да так оно и есть на самом деле. Я пока эти лифтов с яблоками нигде не видел.
338 1632826
>>32766

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

_.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) Да не оптимально, зато читаемо, понятно, в одну строчку. Да и кому такие задачи нужны вообще?

Ну то есть реально, когда ты последний раз решал такие задачи для чего-то что где-то в проде крутится?
изображение.png82 Кб, 690x359
339 1632893
Братва, че за хуйня в ютуб лезет? Какие нахуй 20 тысяч?
340 1632910
>>32893
Мало что ли?
341 1632964
>>29259 (OP)
Нужно вкатиться в ванильный ЖС (на полшишечки), чтобы лучше врубаться в веб. html и css уже освоены, скиньте годные пособия/видеокурсы чтоб было максимально информативно
в шапке треда ничего нет
342 1632987
>>32964
Смотря что такое врубаться в веб
image.png135 Кб, 1198x878
343 1633000
>>32964
Завтра ищешь в интернете книжку HTML5 Canvas. Похуй если ничего не поймешь. Затем идешь на w3.org и изучаешь стандарты от корки до корки. Потом зубришь, именно, сука, вызубриваешь содержимое сайта developer.mozilla.org, чтобы от зубов отскакивало. Когда напишешь свой первый сайт - видеоредактор, по пути детально разобравшись в WebGL, скачиваешь и изучаешь любой редактор, рекомендую Notepad++ или Adobe Dreamweaver. Как переделаешь редактор, чтобы можно было добавлять объекты из 3DSMax и красивые 3D-переходы, можешь идти дальше - тебя ждет увлекательный мир JavaScript. WebCL, XUL, сверхбыстрый асинхронный Node.JS, сверхмощная мозговыебывательная многоуровневая обфускация. Отсос хиккующих выблядков / просто неудачников типа рейфага или Flash/Silverlight-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.
344 1633013
>>33000

>try catch


Дальше не читал
345 1633016
Чет заутпил с парсером cheerio.
Загрузил хтмл, с помощью селекторов $('селекторы') нашел нужный мне <tr>...</tr> таблицы в хтмл.
Это все получил как cheerio-объект.
let ch_obj = $('селекторы');

А дальше я хочу уже поитерировать <td></td> уже в как дочерние объекты в объекте ch_obj. Но чет запутался нахуй в методах и свойствах у этого чертового объекта ch_obj.
ch_obj - это фактически строка таблицы. Какие методы нужно использовать что бы достать конкретные ячейки этой строки?
0 Hy1MLJ2UQxNYlfYY.jpg88 Кб, 960x602
346 1633021
>>33013
Мое увожение
347 1633022
>>32747

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


Это, увы факт.
мимо-самостоятельная улитка в гос.шараге
348 1633040
>>33022
п.с. я даже как то устал. Для своей шараги я небольшое приложение на пхп/sql запилил. В ноде подразобрался.
Но все это - самостоятельный пердолинг, от бизнес-работы я далек.
На hh есть учетка с репозиториями, и мне даже hr предложения свои кидают. А я хз че им отвечать, и вот почему: на данный момент имею работу, которая очень хороша по условиям, ЗП - сорокет.
Уходить на галеру в бизнес работать за еду - звучит как хуйня. А на ЗП которая стоит того что бы уйти с нынешней- я не потяну по навыкам.
Я как то ходил в контору одну на собес, написал тестовое, его приняли, потом даже позвали уже общаться с гендиром, обсуждать ЗП и условия. Но он увидел видимо что я по сути и не ищу работу зп 60-70 предлагали, но я ей богу бы не ушел со своей работы скорее всего и короче не позвонили, хотя уже обещали прям что позвонят и пригласят уже решить как поступить, увольняться мне с предидущей работы и т.д.
Короче уныло.
Буду искать удаленку чтоли, и парсеры писать хочу.
349 1633044
>>33040
>>33022
Если пойдёте на галеры первые 5 лет будет то же самое
350 1633125
>>33013
чебля?
351 1633130
>>33000
...
Я не зеленый вкатывальщик. Начинал прогать еще 2 года назад - прошивал микроконтроллеры на Си на предприятии. Затем вкатывался в Питон и в Пыху. Мне не нужно глубоко влезать во фронт, буквально поверхностно освоить жс чтоб было легче работать с вебом в целом Сети Танненбаума уже давно прочитаны, так что тут тоже все норм
Мне только окунуться в жс и не более
352 1633149
>>33013
как ещё с await ты добавишь проверку ошибок?
353 1633151
>>33040
судя по твоему посту ты не хочешь работать вообще а не не хочешь работать за еду, раз не хочешь кодить за большую зп чем у тебя сейчас
кот.png140 Кб, 362x368
354 1633155
>>33130
ты какой-то дефектный, на дворе 2020 год, за 300к в секунду ищут data science и просят на питоне написать hello world, после курса на курсеры. Ты же перекатываешься из Си в Пыху, затем зачем-то хочешь знать чистый JS, который нахуй никому не всрался и при этом всем, ты не задаешь : аноны хочу доку по Реакту/Angular/Vue на офф сайте почитать, норм или где-то в другом месте? Ты же даже не можешь открыть учебную доку по JS, прочитать по диагонали за один день и угомониться
355 1633158
>>33155
PS какие нахуй видеокурсы по чистому JS, для человека с продакшен опытом СИ? КАКИЕ видеокурсы, что тебе тут не понятно?
356 1633169
>>32910
Много. У меня в мувике 5 всего
image.png4 Кб, 457x52
357 1633176
У меня щас шиза начнется.
Короче, меня не слушается скрипт, никак не могу заставить его прогнать ссаный цикл.
При первой же итерации счетчик равен links.length - 1, хотя ссылок там больше сотни.
Если поставить условие j < 100, то он при первой итерации будет 99 и цикл прекратится.
Дичь какая-то, уже 6 часов не могу собрать ссылки со страницы.
358 1633180
То что querySelectorAll по ID, это если что не я, у ютуба разметка такая.
Элементы берутся нормально, проверял.
359 1633186
>>33155

>300к в секунду ищут data science


Тут бросил читать твой поток бреда малолетнего
360 1633191
>>33180
наверно потому что айди должен быть уникальным, по этому жс и не может его перебрать, попробуй через кверисилектор по другому значению собрать эти ссылки
361 1633195
>>33186
продолжай жить в своем маня мирке, у меня пару друзей именно так вкатились туда. Один уже синьер. Но тебе виднее.
362 1633215
>>33191
Да не, даже просто цикл от 0 до 100, к примеру, не выполняется. Счетчик в первой же итерации 99 и все.
363 1633217
>>33195
А я криптой торгую
$14к изи за месяц выходит. Погромирование ненужно
364 1633218
>>33215
попробуй другой браузер может свой ты выебал
365 1633219
>>33217
бля анон ты чё сутками сидишь и эти ебучие свечи и графики караулишь? как вспомню, так вздрогну, это же пиздец, особенно когда всё падает, особенно сейчас
WFW0GMdXcM.jpg340 Кб, 1000x1000
366 1633223
367 1633251
>>33217
в JS треде че забыл?
368 1633256
>>33223
в демотиваторе нет алгоритмов, все остальное для детей, че сказать то хотел?
изображение.png168 Кб, 850x1202
369 1633293
>>33256
Каково линалом обмазаться, неребенок?
370 1633337
>>33293
шо то не въехал че за синтаксис такой уебанский? на стэке помогут если че?
371 1633344
>>33293
Ты какой-то тривиальной ебенью пугаешь, надо Бурбаками по олдфажному пугать https://books.google.ru/books/about/Theory_of_Sets.html?id=IL-SI67hjI4C
372 1633348
>>33344
Если че то на пикче объясняется максимально тривиальная ебота для 1го курса, но уже на этом большинство "веб-инженеров будущего" прогающих копипастой с гугла жидко кекнут и откинутся. Что уж говорить променее тривиальные главы
373 1633381
>>33348
А те умники которые со всем справятся в большинстве своем пойдут во всякии НИИ за копейки на сях писать или еще что-то там, потому что у математиков обычно с головой что-то не то малек. А веб-инженеры будущего пропрыгав пару тройку галер в принципе нормально устроятся, там мозгов так-то больших не надо, не быть дебилом, не быть аутистом и местечко в тепле найдешь.
374 1633386
>>33381

>пропрыгав пару тройку хуев


Вот теперь правдоподобнее

>пойдут во всякии НИИ за копейки


Мы про дата саенс базарим, але
375 1633394
>>33386
Откуда в РФ на первом или каком-либо еще курсе дата-саенс? То есть нет, математическую базу которую дата-саенс использует может и дадут, но настолько скучно, оторвано от жизни и вообще, что ты нихуя не поймешь что это такое было и зачем. В итоге в универе всю эту хуйню учат ток аутисты-математики.
376 1633540
Каким образом можно два массива вида
['a', 'b', 'c']
[1, 2, 3]
превратить в один массив вида
['a1', 'b2', 'c3'] ?
377 1633545
>>33540
массив 3 = массив1[0] + массив2[0]
массив 3 = массив1[1] + массив2[1]
массив 3 = массив1[2] + массив2[2]
378 1633557
>>33540
Держи, братучик: https://jsfiddle.net/adpfzc78/
379 1633561
>>33540
зипа в джс нет, нужен мэп

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))
380 1633562
const res = arr1.map((el, i) => el + arr2 квадратная скобка i квадратная скобка)
381 1633584
>>33151
Ты прав. Приложуху для шараги я писал то ковыряясь пальцем в носу. Хочу пишу, хочу не пишу - хобби короче.
Я немного свои мотивации проанализировал, поэтому решил что буду активно искать удаленку, или работу что по условиям устроит.
382 1633710
Аноны, написал на node скрипт, который парсит сайт один.
Нужно что бы этот скрипт запускался раз в сутки.
Как это сделать?
383 1633711
>>33710
п.с.
скрипт - в рамках сревера работает. Т.е. сервак работает, выполняет свои функциии. А раз в сутки должен запускаться мой скрипт парсинга и обновлять данные на вэю-морде
384 1633718
>>33710
crontab.
385 1633732
>>33711
если средствами джаваскрипта то setinterval, а вообще смотри выше, cron надёжнее
386 1633842
Как сделать так, чтобы нижеприведённый код заработал на ноде?
Так не работает:

> import 'chai/register-expect';


А так работает

> import 'chai/register-expect.js';

387 1633845
>>33842

>Как сделать так, чтобы нижеприведённый код заработал


>А так работает



сам спросил сам ответил
388 1633848
>>33842
Какую-то древнюю хуйню используешь
389 1633853
>>33848
А что лучше использовать?
Мне для автоматизации тестирования. Выбрал Mocha и Chai, так как про них больше всего написано в интернетах.
390 1633876
>>33853
всегда знал, что вротендеры - мочехлебы)) чай с мочей блять)
image.png139 Кб, 1756x228
391 1633877
392 1633881
>>33853
Тут что-то странное, должны такие пути ресолвиться правильно
У тебя нода 13+ или babel?
Может у тебя где-то кроме либы есть папка "chai"
На моей машине всё работает с обычным require('chai/register-expect')
393 1633890
начать с того что нода не поддерживает импорт...
394 1633941
>>33881
Была нода. Сейчас поставил ещё babel cверху. Так всё заработало.
Да и в принципе решил отказаться от chai и mochi в пользу Jest'a. Спасибо анону >>33848 за наводку искать что-то новее.
395 1633994
Аноны, подскажите:
При клике на кнопку на страницу добавляется gif через iframe. При каждом новом нажатии все ранее добавленные gif перезагружаются. Можно как-нибудь сделать так, чтобы они не перезагружались?
396 1634016
Вопрос к людям, которые работают на JS.
Какие проекты вы делаете? Или же только верстка?
397 1634020
>>34016
Хуёрстка. Работа на фрейморках сейчас в основном.
398 1634024
>>33994
непонятно, можно пример, и зачем ты вообщ егрузишь картинки через фрейм
399 1634040
>>34024
Пишу на реакте, для получения gif использую GIPHY API. У меня поле поиска в которое я ввожу название тега и по нажатию кнопки я делаю запрос гифки по этому тэгу. В ответ АПИ мне вот такое отдаёт: "https://giphy.com/embed/cMnt7i2RykmpW".
Дока говорит, что embeded можно только с помощью iframe вставить. Я так и делаю, но проблема в том, что я все запросы сохраняю и я вывожу все гифки, которые искал пользователь, т.е. при каждом запросе у меня стейт обновляется, что тригерит компоненту, отображающую все этих гифки.
400 1634088
Аноны, как отменить ререндер определённых компонент при использовании useState?
У меня есть форма с инпутом, под которым отображается таблица. Таблица отрисовывает в зависимости от того, что именно отправила форма. Но почему-то каждый раз, когда я что-то пишу в инпуте, вся таблица по новой рендерится. Как привязать рендер таблицы к моменту отправки формы?
401 1634091
>>34088
Откуда нам знать что и почему тебя там, не видя кода?
402 1634102
>>34091
https://codesandbox.io/s/elated-rgb-25ste
У меня тоже самое, что и здесь. При любом изменении инпута происходит перерендер списка.
403 1634105
>>34088
рендерить через useeffect, условием рендера поставить изменение какого то стейта
404 1634118
Народ, подскажите плиз. Есть короче функция ожидания появления элемента на странице. Она принимает заданный элемент в качестве аргумента и возвращает его. Конечная функция выглядит так: function nodeCallbackFunction (jNode). Все, что внутри этой функции будет ожидать появление заданного элемента.

Так вот, как мне использовать эту функцию в других функциях? Как к ней обратиться так, чтобы получить результат? Ведь ей уже передается аргумент jNode из основной функции. А мне нужен сам элемент, но прошедший ожидание.
image.png33 Кб, 635x332
405 1634119
>>34088
именно такое поведение и должно быть. У тебя стоит onChange и функция, которая меняет стэйт. Происходит изменение стэйта при каждом символе и ререндер. Это никак не сказывается на производительности из-за того что в Реакте существует Virtual DOM и он смотрит что надо перестроить. В твоем случае меняется только эта строчка в input, больше ничего.

Либо, вот как сказал анон >>34105
406 1634152
>>30442
Нет, просто это грозит утечкой данных, за счёт выполнения произвольного кода из-под шрифтов,
а ещё - DDoS'ом системы, по причине иммутабельности строкового типа в JavaScript,
так как при изменении строки, и её присваивании её другой переменной,
как и при копировании, каждый раз создаётся новый объект - новая строка.
Так вот, эти операции могут быть зациклены при помощи Тьюринг-полных шрифтов, и замкнуты рекурсивно.
407 1634175
анон, допиливаю адрес доставки для интернет магазина. и тут такая проблема возникла: когда висит в фокусе мой инпут с городом то я спокойно ввожу город. как только фокус теряется, то он сразу же отсылает то что я напечатал в пхп через ajax который уже дальше обрабатывается. все это сделано через backbone js. и вот мне к этому надо прикрутить автокомплит. но проблема в том что когда я пишу и выпадает список, то когда жму ну город из списка, фокус сразу же теряется и он отсылает только то что я напечатал сам, а не то что было подставлено через автокомлит. так вот вопрос : как это фиксить то и куда копать?
408 1634242
>>34175
весь тред мертвый чтоли? чего молчите то?
бамп!
409 1634248
>>34175
сделать так чтобы не отсылалось ничего
410 1634268
Анчоусы, есть у кого "Web Development with Node and Express: Leveraging the JavaScript Stack 2nd Edition"?
411 1634274
>>34248
так мне это не надо. нужно чтобы он слал только после моего выбора.
412 1634356
>>34175
отсылай после клика не меню, добавь делэй
413 1634365
Аноны, подскажите:
Хочу, чтобы во время загрузки данных от АПИ кнопка была заблокирована, но этого не происходит. Я понимаю, что это происходит из-за того, что у меня друг за другом идут setLoading. Как по умному это провернуть?
https://codesandbox.io/s/stoic-lehmann-k6u18
414 1634366
Вопрос по 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
415 1634371
>>34118
Код функции?
416 1634376
>>34366

> Import React from 'react';


Тебе в любом компоненте нужно импортировать реакт, он нужен для jsx.

>class App extends React.Component


Это реакт класс компонент. У него есть своё состояние, которые ты можешь хранить.

Если ты хочешь использовать простые рендер компоненты, то сейчас ты можешь юзать хуки.
417 1634378
>>34371
Вот этот скрипт
https://gist.github.com/BrockA/2625891#file-waitforkeyelements-js

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

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

Так как его потом использовать в других функциях? Смотрю доки, но никак не пойму.
418 1634390
>>34376
у меня при импорте компонентов не компилиться файл, хз чего. Только если задаю в синтаксисе 2
image.png18 Кб, 510x168
419 1634393
>>34365

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

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



Для начала добавить этот запрос, а не выдумывать его у себя в голове. Добавить его в useEffect и написать промис, который на этапе формирования будет блокировать кнопку, а когда получает результат, то будет разблокировать.
420 1634403
>>34393
Спасибо.
421 1634468
Только что осознал, что immer - это кал. Он мотивирует тебя писать в хуевом императивном стиле.
422 1634478
>>34378
Дрюк, там 2014 год жиксери и вообще таймеры.

Используй mutation observer, если нужно следить за изменениями документа.
423 1634480
>>34478

>mutation observer,


депрекейтед, есть proxy
424 1634495
Аноны, как можно растянуть див на всю высоту страницы, с учётом того, что у страницы может быть скролл? Т.е. мне heigth: 100vh не подходит.
425 1634507
>>34495
min-height
426 1634523
>>34480
Как с помощью прокси отслеживать добавляемые аяксом элементы?
427 1634525
>>34507
Что min-heigth?
Я же всё равно должен значение выставлять.
428 1634529
429 1634533
>>34529
Не работает. Он растягивает до конца вьюпорта, а то, что под ним он не видит
430 1634584
NPM IS JOINING GITHUB
P
M

I
S

J
O
I
N
I
N
G

G
I
T
H
U
B
431 1634594
>>34533
Так значит он ограничен размерами родительского блока.
432 1634595
>>34584
Хуево
433 1634608
>>34584
вот майкрософт и подмял под себя всю жс-экосистему. гитхаб, вскод, тайпскрипт, теперь еще и нпм
434 1634656
>>34478

>Используй mutation observer,


Я копал в эту сторону, но ничего не получается. То ли я не догоняю как он работает, то ли он не работает в моем случае. Мне нужно получить элементы со страницы, содержимое которых подгружаются по мере ее загрузки из внешних источников. Там наверно что-то типа парсера или типа того. Короче, нужно получить почти всю страницу, но когда она полностью загрузится. Как это сделать обсервером, можешь показать пример?
435 1634670
>>34608
Вооооот. Теперь закроет это все нахуй и вернет VBScript и IE6
436 1634671
Привет, нужна помощь. Вокруг меня целый гугл и куча-куча всего с джс. Подскажите, с чего начать изучение. Точнее, подскажите, с чего точно не стоит, пожалуйста.
Для себя выделил гикбрейнс пока что.
Сейчас почитываю learn javascript параллельно закрепляя за какими-нибудь задачками (пока это console.log, alert, prompt + условия). Скудно и мало, но если буду спешить, все надо мной будут смеяться.
437 1634675
>>34671

>начать изучение


Изучение чего?
Синтаксиса джс? У тебя уже есть лерн джс, этого достаточно.

>гикбрейнс


Хочешь заплатить деньги за курсы, бесплатными аналогами которых захламлен ютуб?
438 1634677
>>34671
Всё что тебе нужно https://developer.mozilla.org/ru/docs/Web/JavaScript
Нахуй learn javascript
439 1634682
>>34675

>Точнее, подскажите, с чего точно не стоит, пожалуйста.


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


Я написал, что в гикбрейнс вообще заглядывать не буду
440 1634684
>>34677
Спасибо, анон
441 1634693
Привет! Столкнулся с проблемой при тестировании реакт компонента при помощи снепшотов: 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 442 1634698
Сап тред.

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

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

Заранее благодарю за помощь.
443 1634702
>>34656
Смотришь, какой самый корневой элемент, который грузится сразу. Вешаешь на него обсервер с childList true.

Перебираешь мутации, если добавлен нужный элемент, вызываешь действие.
34.jpg6 Кб, 168x101
444 1634706
Есть ячейка таблицы td display: table-cell;
В ней <p> и под ним два <span>. Как второй спан выровнять по правому краю, кроме float right?
445 1634790
>>34390
Импорт и объявление компонента это вообще про разное.

Напиши лог, почему не компилируется, там видно будет.
446 1635242
Как заставать вебпак после сборки копировать .build.js-файлы в какую-нибудь папку?

Единственный плагин, который я нашел (CopyWebpackPlugin), умеет это делать лишь во время --watch флага, что совершенно не подходит при сборке продакшен-версии или на какой-нибудь CI/CD-платформе, например.
447 1635249
Объясните пожалуйста почему когда я вешаю на клик
this.props.history.push(url) , урл в стоке меняется, но компоненты не рендерятся, но когла просто вызываю в скрипте this.props.history.push(url), то все работает
448 1635264
>>35249
Потому что ты мутирующий мудак
Чистей теперь свое говно
449 1635267
>>35264
что?
450 1635384
>>34698

webRtc?
451 1635387
>>29259 (OP)
Сап, есть такая проблема:
Есть приложение на ангуляре, навигация в компонентах через router с абсолютными путями.
Сейчас появилась необходимость добавить еще компонент на верхнем уровне, у которого будет доступ к существующим, при этом будет свой машрут с префиксом.

Т.е, было:

host/entities/2

стало

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

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

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

Какие есть варианты?
452 1635412
Аноны, есть ширина блока. Есть разные тайтлы фильмов, которые при константном шрифте, могут не умещаться в 1 строку. Цель - адаптивный font size. И вроде бы проблем никаких нет, только одно понять не могу. Везде пишут, что font size это высота символов. А как высчитать ширину, зная высоту. Есть какой-то коэффициент?
453 1635444
>>34702
Ну кажись получилось. Я сделал перебор элементов в мутации через foreach, и теперь на запрос элемента мне приходит в консоли штук 10 пустых массивов, а потом еще почти сколько же нужных. Я так понимаю это получается перебор по мере их загрузки? Это норм вообще или как?
454 1635458
Есть тут кто в вебпаке шарящий? Я тут часа 2 копался в гугле, так и не нашёл нихера. Есть у меня в css файлах url(..) с какими-то адресами картинок. Все картинки лежат на cdn. Вот мне нужно чтоб вебпак в своём аутпуте заменил всякие url(/images/hui.png) на url(<cdn-path>/images/hui.png). Путь к cdn из системных переменных берётся. Все, что гугл советует, это менять publicPath в output, что мне вообще не подходит потому, что он вообще на все файлы распространяется.
455 1635466
>>35458
Мог бы в документации посмотреть а не копаться в гугле

https://webpack.js.org/loaders/file-loader/#publicpath
https://webpack.js.org/loaders/file-loader/#function-2

Оно?
456 1635479
>>35458
С третьегруппными либами
npm install -D string-replace-loader

{
test: /\.js$/,
loader: 'string-replace-loader',
options: {
search: '(?<=url\().*(?=\))',
replace: 'https://cdn.com',
flags: 'g'
}
}
457 1635502
>>35412
бамп и PS

Пикрелейтед 2 слова , с одинаковым шрифтом, font-size и кол-вом символов. Однако их ширина отличается
458 1635516
>>35502
Шрифт Mono должен быть
459 1635599
>>35516
спасибо анон, не знал что такие есть шрифты
460 1635625
Бандиты, сталкивался кто со Svelte (https://svelte.dev)?
Че скажете? И нахуй оно вообще нужно? И чего почитать про нее подробнее?
461 1635627
>>29259 (OP)
Существует ли какой-то способ, разблочить setTimeout, пока выполняется и ещё не завершён - цикл while или for?
462 1635643
>>29259 (OP)
Смотрите сюда.
Есть promise, и он уже разрешён.
Пытаюсь его вывести, в консоли браузера выдаётся это:

>Promise {<resolved>: true}


>__proto__: Promise


>[[PromiseStatus]]: "resolved"


>[[PromiseValue]]: true


Так вот, какими же хитроумными завихрениями говнокода - взять да выколупать это ёбанное true оттуда???
463 1635645
464 1635646
>>35645
Оо, внатуре. А то я уже и promise["<resolved>"], и promise.resolved и JSON.stringify(promise) - всё перепробовал, и только 8======D в консоли увидел.
465 1635647
>>35643
await Promise()
466 1635650
>>35647
хуета. Надо без 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);

467 1635654
>>35650
Говнобраузерники должны сосать
14390466575210s.jpg4 Кб, 181x200
468 1635656
Поясните за промисы, где их применять, кроме как в сетевых запросах?

Вот я могу использовать их например для перебора большого массива, чтобы перебор не блочил ничего? Как это будет выглдеть?
469 1635658
>>35627
Важно понимать, что в синхронных же функциях - циклы, как и рекурсивные вызовы функций - блочат весь поток.
Но можно сделать функцию с петлями - асинхронной, и спать в ней через 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()));

470 1635659
>>35654
Анус себе отсоси, ленивое хуйло. Вы ещё, блять, на стандартнейшем HTML 1.1 не кодили ваши поделки. Никто из-за ваших стрелок ебучьих, проверенные временем, опенсорцные браузеры, не будет менять на какое-то говно проприетарное, копирастическое, потому что проще переписать ваш говенный быдлокод - на нормальный, обратно-совместимый, стандартнейший, каноничный код.
471 1635672
>>35658

>в синхронных же функциях


>рекурсивные вызовы функций - блочат весь поток


>можно сделать функцию с петлями - асинхронной, и спать в ней через 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.
472 1635703
>>35672
И вообще, чтоб рекурсией не заниматься, и не выхватить "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));

473 1635719
Народ, подскажите по MutationObserver
Подцепил его на перебор addedNodes, чтобы получить элементы, которые загружаются динамически. Потом проверяю наличие элемента с нужным классом и пихаю в массив глобальной переменной, чтоб потом в других функциях можно было использовать. Почему по логам он мне возвращает 4 одинаковых массива?

https://jsfiddle.net/jxy2vo8h/
474 1635722
>>29259 (OP)
>>35627>>35658>>35672>>35703
Аноны, вот здесь: 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'

475 1635734
>>35466
Пробовал уже. Ноль эффекта

>>35479
Кек, ебанутый способ, но я на него думал положиться, если совсем решения не найду. Про лоадер такой не знал правда. думал галпом запилить. Но твой способ тоже что-то не работает. Регулярку я переделал под нужное, в выхлопе ссылки всё равно неизменные. Причём даже вручную попробовал так же замену уже в минифицированном файле сделать и там всё заменилось. Печаль, в общем.
476 1635744
>>35650
try {
await asyncFunction();
}
catch (e) {
window.open("www.chrome.com/download");
}
477 1635745
>>35722
А вот насчёт возврата значения из функции - вообще ничего на ум не приходит...
Кроме как... Вернуть 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 - вообще хуй знает, блядь.
478 1635747
>>35656
Переборы массивов чисто cpu-bound и асинхронщина не даёт ничего для этого. В таких случая обычно в другом потоке считают. У нас, считай, в web worker отправить. Люди пишут правда всякие асинхронные итераторы иногда, но, отвечаю, говна только наешься с ними. А вообще промисы нужны для любого io( запросы, чтение из файлов, события).
479 1635750
>>35734
Неосилятор плез
wtf.PNG33 Кб, 1000x618
480 1635754
>>35744
Ишь ты какой умный! Одного не учёл...
Там что, разве в 2к20-м, заебатые хромы для Windows XP - уже завезли?
И да, ты, кажется, забыл 'http://' дописать, в том же китайском 360ExtremeExplorer,
без исходника, который, и который уже меня вкрай доебал -
так там вообще какая-то хуйня открывается по ссылке. Пирил.
481 1635794
>>35412
Захардкодить моноширный шрифт тебе уже вроде подсказали
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
Так получишь суперсилу управлять любым масштабированием. Но с большой силой приходят большие заморочки, я пример сходу не смогу накидать.
482 1635825
Что делать если не могу решить medium задачу на лите и захожу на двач ныть?
483 1635831
>>35825
Лекции ШАД по алгоритмам уже прослушал?
484 1635858
>>35831
Нет. В первый раз слышу, даже если что-то дельное говорят то я вряд-ли запомню. Например уже второй раз вижу задачу, где нужно каррирование использовать, но забываю и не знаю как его использовать, потому что не практиковался с ним и не знаю как вообще код писать.
486 1635889
>>35858

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


Один высер охуительнее другого
Сри в своих дискорд конфочках с такими же раками, нахуй ты сюда это приносишь
487 1635982
>>35889

>Один высер охуительнее другого


Почему ты такой злой?

>Сри в своих дискорд конфочках с такими же раками


К сожалению только 1 друг шарит в проге, и то недавно с ним познакомился

>нахуй ты сюда это приносишь


Не знаю что делать и ною
488 1635989
>>35754
Даже китайское дерьмо поддерживает async/await, а ты долбоеб, который о каком-то поддерживаемом легаси говорит.
image.png1,1 Мб, 1920x969
489 1636151
>>35794
спасибо, вот ellipsis вообще не вариант, так как это тайтл фильма и обрезать я его не имею права (потому что это не красиво). А с масштабированием буду ебаться.

Overview у меня просто обрезается до 200 символов и добавляется это троеточие
490 1636180
>>29259 (OP)
Джейсоны, а давайте-ка сходим на TOR'о-двач, и обсудим там няшную - НАНОБОРДУ: http://76dqlkbo4ffj475k.onion/s/res/771.html ?
image.png48 Кб, 763x707
491 1636365
Аноны, есть вопрос по отписыванию события (конкретного 'resize') в Реакте. Пикрелейтед решение, по определению ширины и высоты экрана устройства.

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

Меня интересует ответ конкретно по моему вопросу, конкретно с этим eventListner'ом , а не вообще.
492 1636394
>>36365
window.eventListener не контролируется реактом
493 1636453
>>35625

>Svelte


>Нахуй оно вообще нужно?


Ты работаешь фронтом уже 5+ лет, тебя все заебало, скучно, react / angular уже знаешь, хочется поковырять че нить новенькое, опа svelte, прикольно, можно пет проектик запилить на нем.
494 1636561
>>35750
Да хер тебе, не поехидничаешь. Я всё-таки настроил это говно. Там порядок лоадеров был неправильный. Я и забыл, что вебпак всё снизу вверх загружает
495 1636746
>>36394
спасибо, я этот факт не учел
496 1636747
Анончики, спасайте. Очень нужно перезаписать горячие клавиши на странице. По умолчанию, на сайте клавиши 12345 привязаны к лейблам и меняют их класс radio_unchecked на radio_cheked, когда нажимаешь клавишу. Как мне заменить эти бинды на свои через Темперманки?
497 1636923
Не совсем по теме, CSS.
Создал flex окно, в него выводится таблица, прописал overflow: auto;
Хоть и появляется прокрутка, но почему-то все равно таблица обрезается, как фиксить?
498 1637126
>>35858
Ты забываешь как его использовать по одной простой причине - ты не знаешь язык и у тебя нет опыта его практического использования за пределами готовых рельсов и библиотек.
499 1637214
>>37126

>ты не знаешь язык и у тебя нет опыта его практического использования


И как тогда выйти из этого круга сансары?
image.png455 Кб, 874x965
500 1637494
Аноны, я не очень силен в верстке. У меня когнитивный диссонанс. Пикрелейтед, я выбрал : как будет выглядеть мой реакт проект для телефона с разрешением 360х640. Все поместилось, ничего за края не заходит. Однако, когда навожу на контейнер, то вижу 980 ширину. Как может контейнер с шириной 980, уместиться в 360. Чего я не понимаю?
501 1637501
>>37494
хотя я вот сейчас внимательно посмотрел и вижу, что пунктир от грида справа не вижу. Но это невозможно. У меня все построено на процентах. Весь контент перед глазами, как может вторая колонка гридов быть шире , чем первая. Что за хуйня
502 1637516
>>37494
походу тут появляется прокрутка вбок и я уже просто туплю.
503 1637632
>>37494
Читай про viewport
Так-же сию магию можно сделать через cssНый transform scale
504 1637640
Помогите, есть сайт - https://www.languagesandnumbers.com/how-to-count-in-russian/en/rus/
Там я нашел скрипты - https://www.languagesandnumbers.com/javascript/all-js-20.js
Мы посылаем числа цифрами и получаем ответ буквами на самых разных языках.
Мне нужны все цифры определенная часть на всех языках, хотя бы и в столбик в sql базе ноутпаде.
Есть варианты - написать бота или подобрать и понять пост запрос.
Собственно, яваскрипт я вообще не знаю, подскажите, пожалуйста, правильный пост запрос или объясните как скрипт работает и как его подключить к нормальному языку программирования.
505 1637663
>>29259 (OP)
Смарите, как JavaScript может модифицировать байты в скомилированных виндовых бинарниках - portable.exe: https://github.com/username1565/uTox_winXP/releases
Лол.
506 1637678
>>37663
Как перестать быть неосилятором?
Лол.
507 1637687
>>33176
Я конечно не эксперт, но попробуй использовать <= вместо <
508 1637689
>>33021
Бля это фотошоп или я действительно вижу ребенка Солженицына и Пучкова
509 1637698
>>33013
хаскеллисты подъехали
510 1637853
Подскажите, пожалуйста, как мне решить проблему.
Есть массив данных и асинхронная функция, нужно сделать так чтобы эти данные обрабатывались не больше чем по 10, потом ожидалось подтверждение продолжения работы и так до окончания.
Подумал что нужно воркерами, наткнулся на совет использования worker-farm, но не могу сделать так чтобы оно ждало между вызовами, в смысле вызывается воркер на каждый элемент без промежутка после каждого 10
511 1638007
Имею странную немного вещь.
Развлекаюсь парсером, решил немного попарсить авито, раздел авто.
Использую cheerio.
Короче хочу получить ссылки на фото машины для каждого объевления.Т.е. атрибут src в нужном тэге img.
Каждое объявление имеет одинаковый html.
По итогу в результирующем массиве объявлений первые пять элементов какие нужно - ссылки на картинки нормальные, в соответствии с разметкой.
А воо всех остальных 50 - у по результату для каждой картинки присваивается вот такой странный url "https://www.avito.st/s/a/i/0.gif?f8b9e75"
Ниче не пойму
512 1638018
>>38007
Врулил, у них ajax-ом по мере прокрутки вниз загружаются src для картинок
513 1638097
>>37853

> и асинхронная функция,


Что за функция то? Что она делает вообще?
514 1638168
>>38097
Парсит ссылки (элемент массива данных)
515 1638173
анон, объясни нюфагу одну вещь. вот у меня в разметке висит баттон с аттрибутом onclick="cock.add(228)"
и в связи с этим вопрос: как блять найти эту функцию в своем проекте? и как она именно называется ? add или cock? или же cock.add?
516 1638211
>>33149
Catch
517 1638236
>>37853
для начала тебе надо поделить массив на кусочки по десять

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

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

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

в любом случае следующий кусок запускаешь по ивенту, нажатие кнопки подтверждения
518 1638246
Кто там в монадах шарит? Как называется монада которая try/catch заменяет? А if/esle?
519 1638251
>>38246
Either.
520 1638263
>>38251

>Either


Это для try/catch? Есть либы с уже готовыми реализациями? Алсо для if/else мне maybe нужна?
521 1638288
>>38236
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
522 1638298
>>38173
Кок - объект, ад - его метод.
Так что тебе нужно найти объявление объекта кок и посмотреть код ада.
Но этот вопрос слишком общий, хуй знает что там в глобал скоупе твоего проекта насрано, плюс конкретно в твоём примере .add это вообще встроенный метод глобального объекта Set: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/add.
Ну или ты в жыкверях ковыряешься: https://api.jquery.com/add/.
По идее твоя айдиешечка должна подсвечивать все инстансы локальной переменной при её выделении. Если не подсвечивает, просто гуглишь что-то типа "js .add".
523 1638400
>>38173
cock.add.toString()
524 1638476
>>37678
не сидеть на борде, а учиться.
Парень из технаря 525 1638484
Не покидает мысль, то что без опыта никому не сдамся, что поделать?
Всего 5 вакансий без опыта в моем миллионнике
Парень из технаря 526 1638488
>>38476
Не в борде дело, завтра наною утром ответ.
527 1638730
>>38484
это на 5 вакансий больше чем в моем :)
528 1638865
>>38288
бака, я же написал - следующий кусочек запускаешь по ивенту, откуда у тебя появилась петля?
петлю так просто не прервать
529 1638883
>>38476
Прочитал и прорешал 1 часть Кантора
Практика на задачках <== я здесь!!
Прочитать и прорешать 2 часть Кантора

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

интересно примет ли, лол
531 1638901
>>38883

>Не прокрастинирую, не играю


Вот это ты зря. Помесишь крипчиков в том же ПОЕ и потом со свежей головой вникаешь. Помогает.
532 1638903
>>38484
А ты смотри с опытом.
Парень из технаря 533 1638917
>>38903
Опыта нет)
2152152266666323.jpg81 Кб, 928x558
534 1638943
535 1638961
>>38943

>Двач-быдлач


Но нужен всё-таки совет, а не троллинг.
536 1638984
>>38865
Спасибо, няш, я конечно нихуя не понял, но твои объяснения помогли мне придумать кастыль который вроде работает. Сейчас я отойду от радости и попробую дописать это дерьмо
537 1639002
>>38883

>> Изучаю жс уже полтора месяца.


Мало, со временем придет.

>>ничем кроме проги не увлекаюсь


Начни. Человек лучше работает когда его действительность не монотонная, а контрастная. Что бы эффективно работать тебе придется научить себя эффективно отдыхать - и отдых принципиально не связан с компом должен быть.
538 1639004
Аноны, а поясните мне пожалуйста за рынок парсинга сайтов ? Он существует? Кто нибудь этим занимается?
539 1639137
>>39004
И еще, такая трабла. Я немного парсю авито, и загружаю картинки из объявлений. Интереснов вот что, я выше писал - при загрузке страницы атрибут src у тега img проставляется только на первых пяти страницах, в остальных пятидесяти - заглушка.
И при прокручивании странички вниз какой то скрипт проставляет на место заглушек в src - уже правильные сслылки на картинки. Но суть в том что в этот момент браузер не отправляет ajax на сервер авито. То есть правильные ссылки загружены сразу, вопрос - как их найти?
Может они в какой то клиентской базе данных? Редис?
Как проверить ?
540 1639160
>>39137
Как то можно посмотреть в браузере какой скрипт сейчас отрабатывает?
541 1639245
>>38298
да анон спасибо все так и оказалось. кок это объект, ад это метод с ajax запросом.
542 1639324
Тотал ньюфаг. Пилю сервер на express, как правильно сделать ээээм, живое обновление данных.
Например, есть страница, на ней 40 имен Вася петя итд, рядом значение - количество голосов и кнопка проголосовать. При нажатии кнопки количество голосов за этого человека увеличивается на один, внезапно. Голоса для надежности хранятся в sql. Это всё просто и понятно, а теперь - как сделать так, чтобы при нажатии кнопки одним человеком голоса сразу обновились у всех, кто смотрит данную страницу (в ирл задаче на неё человека три будут смотреть), при этом в идеале не весь массив слать а только вася=40. Просто хз как это вообще гуглить.
543 1639326
>>39324
websocket
544 1639330
>>38883

>ничем кроме проги


Во-первых, пиздишь сам себе.
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к платить?
545 1639331
>>39326
Спасибо.
546 1639334
Что лучше в js применять - опп или функциональщина?
547 1639361
>>39334
Павильный ответ -- да.

Жопаскрипит, благодаря Господом нам посланному Айку и дальнейшей благой карме, достойно реализует прям все парадигмы. Это позволит тебе использовать его так, как того требует задача.
Если твоя программа похожа на чистую функцию, принимает данные и однажды даёт результат, то тут функциональщиной ваще красиво. Но как только появится какое-то состояние, ты сразу упрёшься в проблемы ветвления и вывода и пойдут монадки в монадки, ризон баут ит станет просто невозможно.
И с жооп похожая история. Пока твоя программа это конкретные вещи, которые делают конкретные вещи, очень красивая ЮМЛка получается. Как только ты попытаешься сделать что-то немного универсальней или даже добавить "чистых выдумок" для безопасности, всё сразу превратится в тот мемес, который все видели, ну или в "банан и все джунгли".
Поэтому Жопаскрипит не только позволяет всем этим пользоваться, но и позволяет всем этим пренебрегать. Невозможно без реанимационной бригады нормально объяснить хардкорному адепту любой парадигмы, что классы это функции, а функции это объекты, а объекты могут инкапсулировать чистые функции, которые всё равно могут получать состояние из замыкания. Да даже всем смешная система типов позволяет в пару строчек такое обобщённое программирование делать, что в других языках это будет неопределённым поведением программы, не компиляеца.
Большая свобода это большая ответственность. Поэтому пиши просто, пиши под задачу, пиши для людей, не злоупотребляй, не выёбывайся.
548 1639398
>>39330

> стали бы за это 300к платить?


А че если выучить вот это все, можно сразу на 300к вкатится джуном ?
Вебпак меня унижает! 549 1639400
Анон, помоги, надо добавить svg на страницу. Есть собственно реакт (пик 1), есть конфиг файл-лоадера (пик 2). Но в браузере выдает вот такую хуйню (пик 3).

Вот сам конфиг вебпака: https://pastebin.com/2tdSWZQu
550 1639421
>>39398
Нет, нужен СТОЛИЧНЫЙ ОПЫТ.
551 1639453
анон, подскажи такой момент. вот у меня есть мейн страница магаза. первый блок это популярные товары, заттем слайдер и потом блок с новыми товарами. в обоих этих блоках висит абсолютно одинаковая разметка такого типа: <button id="add"><span>Купить</span></button>
и вот когда я обращаюсь с этому баттону в таком виде $('#add span').addAttr('style') то у меня срабатывает почему то только на первый блок, а второму ваще поебать. в чем может быть проблема?
552 1639494
>>37214
Чаще экспериментировать и писать для себя всякие штуки. Попробовать написать "свой реакт", "свой стейтмендежер", "свой движок для игр", на самом примитивном уровне. Должно быть интересно. Если не интересно - то да и хуй забей
553 1639540
>>39398
Угу, конешно. Я уже напердолился парсеры писать на node, данные в файл, в базу, обратно на фронт(который из компонентов реакта могу собрать), хоть в жопу к дьяволу обратно отправлю. Все асинхронно, промисы + async/await. Плюс все это могу сделать и на пхп, без асинхронности естественно. И чет не отрывают меня с руками/ногами.
Что бы хорошо поднимать в этом деле деньги - нужно или прям быть с хорошим опытом и разбираться в теме хорошо. Либо подскакивать кабанчиком, искать больших денег, пилить свое - но это совсем не каждому дано. Назадротить до уровня "возьмите меня на галеру на семьдесят тыщ" считаю проще.
554 1639550
>>39453
В том, что жиквери в помойку надо выкинуть.

Cмотри разницу querySelector и querySelectorAll
555 1639553
для сокетов надо библиотеку качать или можно ручками сделать?
556 1639554
>>39553
socket.io
557 1639555
>>39554

>socket.io


а ни че,что она аж 2017г?
558 1639579
аноны, как можно оптимизировать код, при загрузке страницы дико подтормаживает
https://518770.playcode.io/
559 1639626
Поцаны, не кажется ли вам что IT катится в пизду и становится обычной работой, как, например, слесарь или электрик где нужно вхебывать?

Бабок платят уже не так много, а что бы платили много, нужно въебывать как вахтовики, т.е. реально напрягать свою жопу.
560 1639629
>>39626
есть такое
561 1639637
>>39626

рыночек порешал, такое в JS, питоне, пхп, шарпах и джаве.
Сейчас тоьлко девопсы и комьютер сайнс хорошо себя чувствует.
Ну еще сишники и разрабы под UNIX боги до сих пор
562 1639640
Есть 3 div с индексом -1 и фокусом при нажатии хоткея. Внутри них много кнопок. Может кто объяснить, как ограничить хоткеи только этими блоками? Ну т.е. если выбран первый, то 1/2/3/4 нажимают в нем 1/2/3/4ую кнопку, если в фокусе второй, то в нем так же. Можно с библиотеками. Щас юзаю Mousetrap, но в нем не получается.
563 1639642
А давайте, кратчайшим образом, стандартными функциями браузера - вычислим 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.

564 1639646
>>39642

>return, перед hash


надо бы убрать
565 1639663
>>39642

нахуя? проще готовую либу скачать
566 1639676
Стоит ли инвестировать время в ноду как в первую работу? В мухосрани вакансий нет, зато в Питере есть.
567 1639686
>>39676

нет, если хочешь в бек - возьми нормальный язык.
нода - погремушка для фронтов, не более.
568 1639794
>>39676
Нет. В срансках пхп онли для старта. А нода - это для развития, в последствии.Астнхронность и событийно ориентированность это хорошо для общего развития
569 1639795
>>39686
Спорное утверждение. Нода совсем не погремушка по функционалу и скорости. И для нуба - ощутимо сложнее того же пхп. Просто специфичная штука
570 1639798
>>39626
Так это хорошо же. Количество вкатывальщиков снизится, рынок стабилизируется. Халява конечно кончится для любителей нихуя не делать за дорого. А если ты норм спец, и не овощь - то денег ты всегда найдешь. Вообще эта индустрия крайне инфантильна , люди зарабатывают хорошие деньги, люди близки к гигантскому рынку. А результат - бесконечное нытье про выгорание , лол.
Инфантильные нытики - и это кстати хорошо для подскакивающих кабанчиков.
# OP 571 1639810
572 1639831
>>39686
>>39794
Спасибо.
573 1639858
>>39637

>джаве


Ну хуй знает, дохуя вакансий на джунов-стажёров в ДС вижу.
Друг пишущий на джаве говорит, что адекватных джавистов с руками отрывают.
574 1639859
>>39858

а толку от стажера? там платят копейки.
лучше идти в макдак и получать свои 50к.
а дома из стажера в джуны знания подтягивать
575 1640182
>>39794
можно по быстрому запилить реал тайм приложуху
576 1641270
>>39859
Через год работы стажером ты можешь получать в полтора-два раза больше, чем в макдаке.

Через год работы в макдаке ты можешь заработать варикоз и депрессию.
577 1641850
>>41270

нанимаю стажеров по 3-5 штук в год.
отдаем им самую рутинную работу, все помои разработки.
после чего они все равно сваливают.
578 1642155
>>29263

Аноны, привет.
Хотели бы дописывать этот лютый код?
там внизу

https://2ch.hk/makaba/templates/js/sharkey.js (М)
579 1642430
>>41850

>Заваливаем людей говноработой


>Они уходят



Хмм....
580 1652418
>>42155
Не надо ничего дописывать, лучше просто поменяй let на var, в этом скрипте, чтобы двач в старых браузерах открывался.
Тред утонул или удален.
Это копия, сохраненная 31 мая 2020 года.

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

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