Это копия, сохраненная 24 октября 2022 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Больше пары строк кода в посте или на скриншоте ведут в ад.
Для программирования на HTML https://codesandbox.io
Для Node.js с консолькой https://repl.it/languages/nodejs
Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если/когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
То есть, как сделать так, чтобы при переходе через поисковую строку браузера на http://domain.com/user:12345678 загружалась именно то, что от просят от домена, а не тупо редиректилось на http://domain.com? React, btw
случайно экземплом высрал существующий сайт...
Читаешь и парсишь урл в роутере.
>spa
>обработку Get-запросов
SPA не занимается обработкой GET запросов. Этим занимается сервер.
Тебе надо сделать, что бы на любой запрос тебе всегда отдавалось твое реакт приложение в конфигах севрера и в самом SPA уже настраивать роутер
Никаких, это оригинал.
Вот код целиком:
const form = document.querySelector('form');
const list = document.querySelector('#list');
form.addEventListener('submit', (evt) => {
evt.preventDefault();
let qty = document.querySelector('#qty').value;
let product = document.querySelector('#product').value;
let newLi = document.createElement('li');
newLi.innerText = `${qty} ${product}`;
list.append(newLi);
qty = '';
product = '';
});
У меня всё работает, кроме очищения полей. Я имею в иду, что именно так поля не очищаются:
>qty = '';
>product = '';
Чтобы они очистились, пришлось изменить код и сделать вот так:
>document.querySelector('#qty').value = '';
>document.querySelector('#product').value = '';
Почему, чтобы очищение сработало, приходится указывать value напрямую через селектор, а не, как в первом варианте, просто через переменную, в которую этот value уже записан?
Вот код целиком:
const form = document.querySelector('form');
const list = document.querySelector('#list');
form.addEventListener('submit', (evt) => {
evt.preventDefault();
let qty = document.querySelector('#qty').value;
let product = document.querySelector('#product').value;
let newLi = document.createElement('li');
newLi.innerText = `${qty} ${product}`;
list.append(newLi);
qty = '';
product = '';
});
У меня всё работает, кроме очищения полей. Я имею в иду, что именно так поля не очищаются:
>qty = '';
>product = '';
Чтобы они очистились, пришлось изменить код и сделать вот так:
>document.querySelector('#qty').value = '';
>document.querySelector('#product').value = '';
Почему, чтобы очищение сработало, приходится указывать value напрямую через селектор, а не, как в первом варианте, просто через переменную, в которую этот value уже записан?
Потому что там у тебя элемент, а там value, что просто текст, очевидно же.
Емнип, чекаются соседние элементы на изменение позиции/размеров, так что в худшем случае может быть и рефлоу по всему дому.
[1,2,3] превратить в
[{id: 1}, {id: 2}, {id: 3}]
Нет, он посчитал выражение сайд эффектом.
Или как можно сделать так, что бы процесса на порте вообще не было, а серв раздавал один единственный статический бандл файл на запрос example.ru?
form.reset()
Спасибо
А то основы жыэса вроде уже усвоил, хотелось бы с фреймворками познакомиться
https://www.youtube.com/watch?v=gb7gMluAeao&list=PLcvhF2Wqh7DNVy1OCUpG3i5lyxyBWhGZ8
Зумеры не могут сосредоточиться больше пять сек, чтобы прочесть и понять пару строчек.
Функциональные компоненты наверное не имеют документации, сами по себе появились и все поняли как их использовать услышав голос разума?
https://pastebin.com/KYarrZU1
Спасибо, анонче
>дайте рецензию хотя бы парой слов
>очень много воды, повторений и разжёвывания очевидных вещей
Данный курс не рекомендуется, ибо его автор ну ооооочень много пиздит, даже на х2 это невозможно смотреть. Ты потратишь 150 часов там, где можно управиться за 30.
ты скозал?
Во первых, выкидывай аксиос, он тебе не нужен и не пригодится. Во вторых, используй предназначенные для асинхронщины стейт-менеджеры. В третьих, ты можешь навестить на xhr.js и понять, что вызывает метод.
Как ошибки собрался обрабатывать, шизан?
>Метод forEach() выполняет указанную функцию один раз для каждого элемента в массиве.
Что происходит во втором кейсе? Это же, по сути, то же самое, мы просто передаем готовую функцию, вместо того, чтобы непосредственно ее описывать в скобках.
Сколько аргументов принимает колбэк этого метода и сколько аргументов принимает консоль лог, наркоман?
Один? Что такое колбэк?
>Метод forEach() выполняет указанную функцию один раз для каждого элемента в массиве.
Какие же вкатуны тупые, не в состоянии пролистать MDN чуть ниже, сразу бегут на мейлач помощи просить. Pathetic.
Я уже пол года как вкатился, просто на работе сказали стек менять с раста на ноду какие же языки со сборщиком мусора всратые и непрозрачные.
>какие же языки со сборщиком мусора всратые и непрозрачные
То ли дело раст, который оказался настолько полезным, что байтодебила пришлось переучивать на нодежс или просто ты не осилил раст и тебе предложили перекатитсяили уволить нахуй
А вообще в последнее время в ебейшей депрессии нахожусь, только недавно начал нормально зарабатывать, как-то вылезать из нищеты, помогать родителям, только благодаря it смог вылезти из этого ада с родительскими кредитами и нехваткой денег и тут блядь я не знаю опять чего ожидать в будущем, и что я буду делать, если повсеместно начнутся сокращения.
уезжай в мамбетию, а старики пусть уебывают в деревню выращивать картофан с курами.
Просто год для компании выдался неудачный. Мы уже давно собирались расширяться в ноду, даже наем начали, но внезапно дела ухудшились, наем жсеров прекратили, сейчас доделываем что есть, меняем юрлицо и перезаключаем контракты. Раста больше не будет, расширения не будет, или пишем на ноде, или на мороз.
>вю3
мелкобуква тупая, расскажи для начала причем тут библиотека для создания/удаления элементов в DOM и вебпак
> библиотека для создания/удаления элементов в DOM
ректальный даун спок.
я понимаю что ты настолько говна обожрался что уже теряешь когнитивные способности, но если у тебя хотя бы как у тян осталась одна извилина - попробуй погуглить что такое препроцессоры.
я знаю что такое препроцессор, объясни как связан препроцессор и либа для вставки/дуаления элементов из DOM. еще погугли как жсон читать не блокируя основной тред, тупица :3
> либа для вставки/дуаления элементов из DOM
душное уебище ты каргокультное иди таблетки прими
жалкое формошлепное ничтожество не способно осознать рнд подход дата_ученого и питоняшный рапид прототайпинг
хуй соси и не пиши мне больше дерьма кусок.
Какой лвл?
Но есть у Vue и такой существенный минус как отсутствие информации по типам в html-шаблоне. Теперь даже не знаю как жить.
Кажется я начинаю понимать, откуда берутся проекты с вырвиглазным пайплайном.
Аноны, что означает динамические данные?
Можно примеры?
Изучаю SSG для некст джса. Но вот этот момент меня в ступор вводит.
И ещё, если можно спросить спрошу. То есть на SSG сайты нельзя прикруть бекенд нормальный? Джанго там или ещё какой-нибудь асп.нет? так как
>Безопасность. У вашего статического сайта нет сервера, а значит у злоумышленников нет возможности получить доступ к вашей базе данных или панели администратора.
То есть только через Headless CMS админку можно добавить?
На сервере генерируется цельная веб страница и отправляется на клиент, как картинка. При таком подходе у тебя нет возможности частично менять содержимое страницы с клиента, каждый раз на сервере должна генерироваться новая.
Как пример изменения страницы это загрузка картинок с клиентской части? или комментарии?
То есть просто для таких вещей использовать SSR вместо SSG?
соре если не вдуплил, я не самый умный в классе
CSR, SSR, SSG, просто в зависимости от задач использовать нужный рендер/пре-рендер.
SSR рисуется на нодовском проприетарном сервере, а SSG - типичное реакто-SPA со встроенным роутингом.
Соответственно "выбор" твой сперва зависит от того, согласен ли существующий бэк на установку промежуточного нодовского сервера. Иначе это будет просто более удобное SPA с в 3 раза меньшим количеством зависимостей, чем условный CRA.
>Как пример изменения страницы это загрузка картинок с клиентской части? или комментарии?
Без разницы.
const bookToAuthor
const bookAuthor
const book_author
или как?
да
Какая функция у переменной-то? Ну пусть будут idmap, bookFields.
Зависит от размера самой БД и алгоритма проверки на совпадение. Можно заговнокодить ебанутый цикл, который будет сравнивать все элементы друг с другом и жутко тормозить этим систему. Так что если база небольшая, то смело можешь ставить полную замену
Назови Андрюха. У меня так друга зовут, ахуенный пацан. Вангую, что и переменная с таким именем тоже ахуенной получится
А у меня Андрюха косарь зажал, так и не вернул
bookData
interface 2ch {
op: number,
hui: string,
}
const someString: 2ch.hui = "wqeqw" чет типа такого?
а то я не хочу hui отдельно выносить
const somestring: typeof 2ch["hui"] = "123"
В SSG ограниченный ресурс для сео. Условный сайт со страницами товаров и поддержкой многоязычности будет рендерить количество товаров * количество языков страниц при каждом билде (и это только для одного пути). В нексте можно и частичный статичный рендер организовать как раз для таких случаев, но он опять таки только для проприетарных нодовских серверов.
А жопу тебе не показать? Сам почувствуй что там.
Чекай мать и стандарт IEEE 754
Вот такое вот.
Каждый раз в проигрываю как в первых с этим выебывающихся своими знаниями вкатунов.
https://en.wikipedia.org/wiki/NaN
>In computing, NaN (/næn/), standing for Not a Number, is a member of a numeric data type
>Казалось бы, что не так?
А что там не так? Хватит позорится, иди лучше что такое функции почитай, вкатун.
> как отсутствие информации
а еще узкоглазые додики не могут банальный поиск запилить, вангую ВО жмет
Тогда почему у других возвращает?
Нормально только для битардов-инцелов с двачей.
гугли синдром самозванцану или ты реально биард-додик-инецл-шизик бесполезный
На странице есть кнопка подписаться которая увеличит этот каунтер до 6 и получается надо это отослать на бекенд. (Больше чем 1 раз подписаться нельзя)
На текущей странице как отрисовать эту 6ку - сделать новый запрос на бек? А если там дофига полей
Вручную на фронте добавить +1 через useState какой-нибудь, но как-то костыльно как будто?
Попросить бэк сделать отдельный ендпоинт для этого каунтера?
Здравствуйте. React JS
У меня есть модальное окно, хочу чтобы на клик вне модального окна оно закрывалось.
Нормально ли использовать глобальный ивент на весь документ в таком случае? document.addEventListener("click",...)
Хранить этот каунтер в сторе и увеличивать его экшоном.
> Почему ты меня оскорбляешь?
потому что ректодауны привыкли страдать и жрать дерьмо, а потому не достойны уважения
> Как ты на чистом цсс модальное окно откроешь?
гугли уебище ленивое
совсем там ебанулись со своей ублюдской либой для говнодела, сука тупорылые профнепригодные ничтожества лезут нахуй куда то, не зная ЭЛЕМЕНТАРНОЙ БАЗЫ блядь, сука позороще...
иди блядь еще свою всратую штемельку без разметки внутри стринга попиши уебок ебанный.....
>У меня есть модальное окно, хочу чтобы на клик вне модального окна оно закрывалось.
Создаешь бэкдроп и навешиваешь на него обработчик клика.
> квадрипл обосрался с линком
> (т.е он скорее всего как последняя тупая пизда копирует и вставляет цитату)
> лезет чето кому то пояснять
чет ор
>не могущий в ссылки
Могущий, только помимо ссылок еще и могущий в доступность и семантику. А вот ты, судя по твоим высерами, ни в одно из вышеперечисленного так и не научился. И еще пытаешься выехать за счет принижения убогих трейни питонодибелов.
>мне настолько похуй,
Что так каждый раз копротивляешься, вот настолько похуй, да.
>дата бесценна
>дата из открытых источников
чет ор
Не спец по css, но на ум сразу приходят или маски или костыль с двумя псевдоэлементами справа.
Думаю, можно и так, но как нарисовать такую свгшку? Вот мне, допустим надо все углы сделать одинаковыми. Есть какие-то тулзы для этого? В Фотошопе/гимпе я не нашёл инструмента что бы сделать. Только от руки вырезать и т.д. Я думал, может кто-то из анонов делал такие вещи и сможет подсказать.
>>17821
Двумя псевдоэлементами пытался сделать, но тогда внутренний угол не поменять, только 90%. А маски сейчас посмотрел в clippy, там закругления не сделать.
В фотошопе/гимпе точно нет, это же редакторы растровой графики. Krita вроде умеет в SVG, но честно говоря я неебу в чем это делают, я ж жаваскриптер а не рисовальщик.
>Двумя псевдоэлементами пытался сделать, но тогда внутренний угол не поменять, только 90%
Ну смотри, у основого элемента стоят скругленные бордеры везде, кроме правого нижнего угла. В правую часть суешь зеленый псевдоэлемент-прямоугольник со скруглениями на правой стороне. А сверху херачишь еще один псевдоэлемент-квадрат со скруглениями, но только белый, и делаешь так, чтобы он перекрывал основной элемент. Но в любом случае это говнокостыль с кучей подводных камней, так что лучше так не делать.
Лучше посмотри свойство mask-image
> я тоже нихуя не дизайнер
а типа мозга у тебя нет да?
тупая патлатая немытая пизда задроченная - открой для себя фигму или инкскейп, уебище ты ограниченно-технарьское сука.
свгешка пишется руками на изи. хотя ты мартышка без мозга а не CV ученый, откуда тебе про это знать)))
Сейчас попробую сделать картинку для маски, которая будет закрывать уголок, если не получится, то элементами выстраивать. Я надеялся, что есть уже какое-то простое решение, видимо нет. Ну похуй.
Учусь по этим видосам. Помогите понять, на forEach на 39:10 чел использует person и index. При этом let указан array со списком людей. Но index и people отдельно не указаны. Как тогда функция понимает, что ${index} это индекс, а ${people} это человек в вышеуказанном array?
Второй аргумент у форича это индекс ?
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach
долбоеб погугли блядь псевдоселекторы как работают я тебе еще раз повторяю
я у себя делал охуевшие вещи, только потому что из принципа не хотел связываться с жс дриснёй
Второй аргумент индекс.
Сорри, если не так спросил. Как у функции получается понять, что index аргумент это имеется в виду индекс(то есть исчисление с нуля) , а person аргумент это имеется в виду имена челиков из array(марио, хуярио и т.д.).
Хуй знает, это просто магия. Тебе наверно надо в пыху вкатываться, там таких сложностей нет.
Бля я тебе ответил на вопрос. У форича всегда 2й аргумент это индекс, называй его как хочешь
Потому что так устроен foreach. Он принимает функцию, которую вызывает после каждого прохода по массиву, и передает первым аргументом элемент массива а вторым его индекс.
Просто погугли пример реализации, в ней ничего сложного нет.
>Тем более для переката вышка нужна
А опыт работы ее заменить не сможет? У меня тоже вышки нет, но опыт имеется.
:(
> У форича всегда 2й аргумент это индекс
>>17918
> Потому что так устроен foreach.
Ребят, спосибо!
Именно это я и хотел понять.
Я гуглил index в отрыве от forEach и не мог понять.
https://www.freecodecamp.org/news/javascript-foreach-how-to-loop-through-an-array-in-js/
Вот это ещё помогло
>>17916
Да, ты прав. Больше не буду пытаться :'(
Взял стек некст джс тайпскрипт, на "бекенд" Headless CMS.
Задание - создание сайта кафедры.
Че можно туда запихнуть крутого чтобы для диплома было не стыдно показывать?
>Headless CMS
>гос шарага
Не котируется, не допущен к защите. В гос. предприятиях используется только киберзащищенные CMS, например, битрикс.
> Мне кажется им похер на это
Именно. Если у тебя твой говнокод вообще запустится без синтаксической ошибки - считай, что успешно защитился.
Ну что это за ебаная шиза? Что это, блять? Как же мне мозг выносит этот ебанутый стиль, кто его придумал? Почему в js'е постоянно нужно в качестве аргументов функций вставлять свои лямда функции блять. Максимально шизово написанные хуйни, один метод выдает ретурн в аргумент моей функции блять чтобы потом выдать его в аргумент другой функции. Пиздец.
А главное как мне сохранить результат то, а не в консоль ебаную выводить? Он же внутри своего говна ретурнит а не на внешний слой. Пиздец вынос мозга.
Да, страпи
До async/await учебник дочитай, вкатун, и заодно открой главу о том, чем стрелочные функции от обычных отличаются.
Async await. А вообще так работает "асинхронность" жса, всё что не синхронно должно обрабатывается колбэками.
Я в js не вкатываюсь по крайней мере пока, я просто хочу дваческрипт для личного пользования запилить, на js'e никогда особо не писал.
>стрелочные функции от обычных отличаются.
Лол, они разве чем-то отличаются? Я думал как и везде это просто лямбда функция на лету создающаяся, сахар своеобразный.
>>18013
Ладно, попробую понять асинхронность. А вы случаем не знаете лучше способ просто получить json с реквеста? Желательно без сторонних библиотек конечно (хотя мне уже кажется что без них придется какой-то велосипед городить).
>А вы случаем не знаете лучше способ просто получить json с реквеста? Желательно без сторонних библиотек конечно
await (await fetch('https://2ch.hk/pr/res/2415542.json')).json() (М)
Блять, реально работает. Причём я точно такой же запрос из инета нагуглил, но он у меня не заработал наверное потому что в этот момент было окошко alert'а высвечено, пиздец! Благодарю.
>А зачем второй эвейт?
Просто он учебник на главе async/await дочитал только до половины
>>18019
> А вы случаем не знаете лучше способ просто получить json с реквеста?
const resp = await fetch(url);
if (!resp.ok) throw new Error("макаба расшатана нахуй");
const json = await resp.json();
console.log(json);
fetch json в промисе за каким-то хуем возвращает. await нужен, чтобы все это в одну строку уместить.
>Просто он учебник на главе async/await дочитал только до половины
Ну давай, покажи мне ванлайнер для получения json через fetch без второго await.
Я не знаю. У меня этот код возвращает промис. Он и должен возвращаться
https://developer.mozilla.org/en-US/docs/Web/API/Response/json
Мешанина из then синтаксиса и await выглядит костыльно. Какой в этом смысл? Чем два awaitа не устраивают?
В 2022 ещё остались субд кроме sqlite?
Все стандартные математические операции с обычными числами будут накапливать ошибки округления. Чтобы этого избегать, нужно городить вагон костылей. Такой себе экспириенс.
Все стандартный математические операции с bigint работают, и никакой ошибки округления там нет, так как это целые числа.
Единственный оператор который не поддерживается bigint это битовый rightshift, потому что и не должен.
>Все стандартный математические операции с bigint работают, и никакой ошибки округления там нет, так как это целые числа.
Ебан, я тебе сказал про обычные числа, которые все флоаты в жсе. Ещё бы блять бигинт не мог складывать свои целочисленные значения.
Первый когда ты из неизвестного инпута хочешь получить произвольный, но валидный number.
Второй когда ты хочешь точно указать как именно парсить строку в инт, например, для получения индекса.
Чаще такая необходимость возникает в тс.
Нам не нужны сомневающиеся крестьяне
Ей, я сделал это, аноны! Проверку на уникальность айпишников постов. Пиздец оно сеть засирает, конечно. Дудос какой-то.
Типа.
1. Каждые 0.5 сек забираю айди последнего поста и количество уникальных постов на тот момент. Сразу проверяю изменилось ли число уникальных постов с прошлого раза, если изменилось, то добавляю в массив "необходимо подсветить"
2. Каждые 2 секунды я прохожусь по всему массиву. Проверяю прогружен ли пост с таким айдишником из массива, если прогружен то вынимаю айдишник из массива и подсвечиваю его.
Алсо, рейт мой первый скрипт на жсе: https://pastebin.com/vnpSUZSa
>Каждые 0.5 сек забираю айди последнего поста и количество уникальных постов на тот момент.
Пиздец у тебя логика. А проверить, что посты вообще появились мозгов не хватило?
>Каждые 2 секунды
Зачем? Мозгов не хватило проходится только когда он меняется?
>А проверить, что посты вообще появились мозгов не хватило?
Как ты мне предлагаешь это проверить?
>проходится только когда он меняется?
Кто меняется, что ты несёшь, шизик?
да
>Как ты мне предлагаешь это проверить?
А, я понял. Ну я это и делаю в unique_checker. Изначально просто структура другая была и я так оставил. Всё равно пикрил не занимает процессорного времени нихуя почти.
>Алсо, рейт мой первый скрипт на жсе
>unhighlighted_ids
не очищается при переходах по разным страницам
>retrive_current_json_url
наговнокодил то что делается в одну строку. document.baseURI.replace('.html', '.json')
>[...unhighlighted_ids]
нахуя
короче говнокод тот еще
>>18286
>Как ты мне предлагаешь это проверить?
да блять как угодно нахуй, хоть через свой класс XMLHttpRequest или fetch перехватывать запросы/ответы, хоть через MutationObserver. Дохуя способов.
>Кто меняется, что ты несёшь, шизик?
тупой 90iq вкатун, зачем ты каждые 2 секунды грузишь процессор когда можно грузить его только когда unhighlighted_ids меняется?
type userId = string;
чтоб потом юзать как
type user {
name: id
id: UserId
}
и чтоб если массив этих юзеров где-то хранить то тоже было бы
не users: string[] а users: userId[]
>только когда unhighlighted_ids меняется?
Нахуя, говно? Ты предлагаешь грузить процессор каждые 0.5 секунд на бесполезные действия? За 0.5 секунд у меня не успеют посты прогрузиться блять. Я на то и ставлю 2 секунды чтобы за это время дать части постов появиться на моём экране чтобы он смог их селекнуть и изменить. Иначе придется просто так проходить по постам которые еще не загружены.
>не очищается при переходах по разным страницам
При каждой странице он нулевый будет, он же вновь загружается.
>наговнокодил то что делается в одну строку. document.baseURI.replace('.html', '.json')
Засчитано.
>[...unhighlighted_ids]
Нельзя в теле цикла использовать массив а потом его и изменять, необходимо сделать копию. По крайней мере на другом языке было так.
>XMLHttpRequest или fetch перехватывать запросы/ответы
Я понятия не имею как это должно выглядить, можно как-то заставить чтобы мне скрипт сам сообщал когда что-то обновиться? Первый раз об этой хуйне слышу. Можешь подробнее раскрыть, пожалуйста?
>каждые 0.5 секунд
Ладно, он не каждые 0.5 секунд. Я понял претензию, типо нужно поставить какой-то триггер чтобы вызывался код когда массив меняется, логично. Ладно, я даун, засчитано. Я просто хз как это сделать, надо будет нагуглить.
> Ты предлагаешь грузить процессор каждые 0.5 секунд
Какой же ты тупой.
>За 0.5 секунд у меня не успеют посты прогрузиться блять.
Иди читай учебник про async/await уебище
>Иначе придется просто так проходить по постам которые еще не загружены
иди читай учебник про MutationObserver уебище
>Нельзя в теле цикла использовать массив а потом его и изменять, необходимо сделать копию. По крайней мере на другом языке было так.
Так ты меняешь старый массив, тупица.
>Можешь подробнее раскрыть, пожалуйста?
const obs = new MutationObserver(console.log);
obs.observe(document.getElementById("posts-form"), {childList: true, subtree: true})
И попробуй обновить тред что бы новые посты появились. Дальше сам разберешься
В некоторых случаях имеет смысл, но вообще можно забить
Обычно есть общий тип идшников по всему проекту, например если должны быть не просто строки а UUID
Ок, попробую сделать так чтобы он сам обновлял тред через этого вашего мутанта сразу как новый пост постится и если этот самый новый пост прогруженный изменит число уникальных айпишников, то подсвечиваю его.
>Так ты меняешь старый массив, тупица.
Я менял бы тот же самый массив. Я же unhighlighted_ids.shift() потом делаю. Не понял, в js как-то по другому?
>Я менял бы тот же самый массив.
Хотя возможно это в фориче нельзя менять массив. Уже не помню эти тонкости.
Вот MutationObserver к примеру:
>The MutationObserver interface provides the ability to watch for changes being made to the DOM tree.
Он мне поможет лишь избавиться от излишних проверок на загруженность поста в страницу. Но для определения какие посты были новые в треде придётся постоянно делать запрос на страницу и смотреть, изменилось ли число постов. Желательно как можно часто, чтобы за промежуток между запросами прилетело не более одного поста, иначе будет погрешность в определении нового постера.
Я не понимаю полностью претензии к этому моменту, как бы ты сделал, Анон?
>Я же unhighlighted_ids.shift() потом делаю
Бля, чел, у тебя unhighlighted_ids определяется на второй строке и является константой. Включи мозг. Ты его не переопределяешь, ыт создаешь новый массив из старого, берешь его длину и он удаляется нахуй, потому что больше ни для чего не нужен.
>>18322
Когда MutationObserver определил, что на странице появились новые посты - делаешь еще api запрос, после которого отрисовываешь нужную тебе инфу.
>ыт создаешь новый массив из старого, берешь его длину и он удаляется нахуй
Ааа, блять. Точно. А я думал почему он не ругается что у меня константный массив, так и оставил. Думал это фича, что всю переменную переопределить нельзя, а части массива к примеру можно.
>определил, что на странице появились новые посты
Разве для этого мне не нужно обновить саму страницу чтобы он заметил изменения в DOM'e? Неужели можно сделать так чтобы он сам обновлял страницу, как только новые посты фактически появятся? Попробую почитать побольше как еду себе уже наконец приготовлю.
>обновить саму страницу
Точнее не страницу, а прогрузить новые посты.
Так это совершенно неприемлемо. За 20 секунд может навалить 10 постов к примеру. И через 20 секунд я делаю запрос, а число уникальных постов изменилось с 31 до 33 к примеру. И как я определю какие посты уникальные? Поэтому я и делаю запросы каждые 0.5 секунд.
Что за хуйня со мной сегодня?
Наконец то мой говнокод получил признание, вздыхаю с облегчением. Тогда прикручу мутации просто чтобы не дергать unhighlighted_ids лишний раз.
а еще можешь руками посты вносить после запроса
Реквестирую СУБД что бы можно было тыкать в терминале ctrl+c и она не ломалась нахуй после такого. Надо хранить порядка 50к записей с блобами по ~5мб в каждой.
Это какие-то обфусцированные файлы или нет?
Если да, то почему не хранить их отдельно как файл, а в базе держать только линк с айдишником до него?
Кстати да, ты прав. Чет я вообще не допер до этой идеи, спасибо.
Терпи малыш
Добавь в код скрипт, который через случайный промежуток времени любой клик в течении 2 секунд будет пересылать на страницу с гей ниггерами.
> Хочу обмазаться кучей макетов и верстать их.
Пиздец ты мазохист. Из всего говна, которое есть во фронтенде, это самое ужасное.
Отношение имеет, но типа не тру реактивность.
Для валидации - да. Да и в целом алиасы для строковых типов хорошая идея делать.
>Допустим, одного Jest будет достаточно?
Достаточно, если ты делаешь либу без зависимостей под ноду только с commonjs модулями. В остальном - нужны инструменты.
testing library, jsdom, babel
Я могу написать в интерфейсе тип другого интерфейса, в котором есть этот интерфейс?
Или за такое по рукам бьют?
Просто у меня очень вложенный джсон и создавать ещё интерфейсов к нему не хочется, а названия у свойств сходятся
>Ну вроде надо уметь верстать, нет?
Дело одной недели, больше норм разработчик эту хуйню изучать не станет. По диагонали читануть доку - найти макет - сверстать - непонятное гуглить
Если на это еще тратить месяцы, то на жс годы уйдут
дели на 2 и вычитай еще 20 скуфов с около нулевыми знаниями, прошедших быстро курс. А дальше уже конкуренция с зумерами, тут ниче не поделаешь
Че за всратые условия? Где плойка и диванчик для отдыха хотя бы?
Ок спасибо
Да я на такие вакансии с опытом работы откликаюсь меня игнорят :(
Я думал, что меня будут постепенно учить писать хороший код, доверяя маленькие задачки, но мне сразу дали писать говно
Рефактори параллельно с выполнением тасков свой ранее написанный код.
Какие-то безумные деньги в мухосранске для обычного мидла. Похоже на наебку.
Просто помни, что когда-нибудь твой код проверят и дадут тебе пизды.
https://www.youtube.com/c/UlbiTV?
дам за щеку тому, кто напишет, например, про Владилена Минина какого-нибудь
Проси порой какого-нибудь сеньора/мидла проверять код в твоих пул реквестах.
Не помните кто это? Интересно как он там за два года с нуля до мидла и релокейт забугор.
А что там годное можешь подсказать?
Но зато у тебя школа была элитная, матан с 1 класса. У 99,9% людей никогда не было такого.
Типа серьезно блять я даже предположить не могу как эту хуйню решить, я тупа не знаю ни 1 способа как их решать
у нас тут в тредике есть дата_саентист один, спроси у него он точно подскажет
Точно такой же ряктодятел подтверждает. Только я работаю с next, поэтому приходится еще и бэкенд писать
Ну вот, я спросил. Сейчас где-нибудь в офисе разработчиков ЖС праздник? Они ждали именно этого?
Есть мысли?
Всё, что позже легаси-говна (ес5), считается скуфами новым.
Да, именно сочетание "современный жс" это про 2015+ версию.
Просто в ecma 2016-17-18-19-20-21-22 добавлялось ну прямо настолько мало фич, что даже неприлично об этом говорить.
А вот в 2015 был перелом
Манямирок репортинг ин? Смысл электрона как раз в том, что он браузер запускает, а значит браузерный клиентский код можно тащить на десктоп. Без хромиума он нахуй не нужен.
двощь делаю адаптив и вроде все норм но на совсем малых размерах появляется эта залупа, никак не могу понять почему, вроде ж должно быть все норм, блок целиком влезает откуда берется эта ебучая шкала?
>- белая тема
>- высранный кусок говна вместо вскода
>- жангаблядь
>- индус хуеглотос
- смешливые выебоны
- отсутствие ответа по существу на элементарный вопрос
стразу видно 9999кк/наносека у которого нет проблем и который совсем не утверждается на анонимной борде нет
> который совсем не утверждается
да не трясись ты
я подремал после обеда щас просыпаюсь @ лениво капчую
твое паскудство выжигающее глаза - ни один нормальный человек смотреть не будет
но ты дно энивей, я разложил по фактам
ты можешь убежать плакать в подушку, а можешь начать улучшаться, it's up to you grecha..
ебать тебя бомбит
тебе всего то надо было черкануть
overflow-x: hidden;
но ты не знаешь даже этого судя по-всему
вкладка Layers в хромдевтулз может помочь
это твой траллинг тупостью?
напряги свой собачий айкью и увидь там строчку с оверфловом по иксу ;)
>увидь там строчку с оверфловом по иксу ;)
да да да ты молодец ты доказал анонам что ты знаешь css на уровне 2 класса начальной школы я горжусь тобой
Что за хуйня здесь вообще происходит? У нас на беке за такое в ебало сразу ссут.
> порешать кодварс, либо поковырять кишочки реакта
и то и другое - ебливая нахуй никому не всравшаяся хуета
обезьяна внутри тебя это понимает
а ебливый додик в виде двух сантиметровой мазни на корке обезьяннего мозга - нет.
> хероку
просто конченный.
>>19452
терпила опущенный. вангую ректодаун-крестоеб или подобная пассивка
>next
>бэкенд
у тебя там либо лютый говнокод, либо ты не пишешь бэкенд
>>19160
тебе ли не похуй? открой хх и посмотри. 100
>>19237
ты можешь создавать свои коллекции на основке класса Array. что должен в таком случае тайпоф вернуть? "мойохуенныйкласснейм"?
>>19239
declare module ".jpg" {
const href: string;
export default href;
}
аналогично для остального
>>19263
нет
>>19319
когда мелкомягкие дадут возможность запускать внутри эджа без изъебов
>>19346
reset css подключи для начала и {box-sizing: border-box;}
>>19450
нихуя не понятно кидай весь свой говнокод
Всего лишь базированный мамин питонический шейный нахлебник.
>у тебя там либо лютый говнокод, либо ты не пишешь бэкенд
/pages/api
Это не бэкенд? Или бекенд для тебя это обязательно код с экспрессом каким-нибудь
>бекенд для тебя это обязательно код с экспрессом
пчел твой нехт уже имеет экспресс под капотом в большинстве случаев, а не большинство - все еще эксперементальное.
>/pages/api
максимум что ты можешь здесь высрать - сделать запрос в бд и отдать что-то ну и авторизация. как ты сюда всунешь крон? как ты сюда всунешь миграции? как ты сюда всунешь бизнес логику, которая требует интеграции с несколькими продуктами? никак. потому что нехт жс это не фуллстек фреймворк, даже тот же ремих ран который себя позиционирует как фуллстек им не является.
Блять как будто я стал бы спорить с тем, что я не пишу сложный бэк. Я и не позиционировал себя как фулстек разработчика, моя работа просто капельку сложнее, чем у того, кто просто на реакте сидит. Не обязательно из себя столько желчи выжимать хотя я же на дваче, чего мне еще ожидать
сделай чтоб не ломалось. как тебе еще помочь?
Стилизуй бордер одинаково по ширине для всех состояний и прозрачным цветом, а на ховер/актив меняй только цвет.
> Стилизуй бордер одинаково по ширине для всех состояний
потом сам до этого догадался
> прозрачным цветом
а вот это уже нашел на СО, но спс энивей
> ховер/актив меняй только цвет
смысл в том что все это хуета ебаная и костыли ублюдские сука я на хую вертел всю эту дрисню ебаную я спать упиздил нахуй.
но если кто знает как кроме ебучего свг сделать ебучую рамку без 45о фаски - дайте знать
как сюда между табами(табы это очевидные компы) воткнуть делиметер в виде кругляшей
плачу как обычно.
Может вы подскажите, аноны?
Бтв, там в разных тредах скрины, так что не обращайте внимание на различный размер переданных данных.
> Обычно если ничего нового он не трахает сеть загрузкой ответа в виде всего json'а, а если без куклоскрипта, то он каждое обновление загружает json.
Так это сервер так отвечает, скрипту-то откуда знать что там изменилось. Скрипт наверное в запросе перекидывает номер последнего поста или дату предыдущего запроса, хз лень смотреть.
Ок, тогда пойду посмотрю есть ли в апи такая функция.
Да, теперь всё охуенно. Больше инет не ебётся. Кайф.
МНЕ ПОХУЙ НА ТВОЙ СИНТАКС ЭРРОР, ПОЧЕМУ ТЫ НЕ МОЖЕШЬ ПРОСТО ПРИНЯТЬ ЭТОТ КОД, ХУЕСОСИНА, ПОЧЕМУ В ТЕМПЕРОМНКИ ОН МНЕ НЕ ЖАЛУЕТСЯ, ПОЧЕМУ В БРАУЗЕРЕ ЭТОТ СКРИПТ ИДЕАЛЬНО РАБОТАЕТ, ПОЧЕМУ ЕСЛИ В КОНСОЛЕ ПРОПИСАТЬ АВЕИТ ФЕТЧ ВСЕ ИДЕАЛЬНО СРАБОТАЕТ, НО ТЫ НЕ ХОЧЕШЬ ЕГО ПРОПУСКАТЬ ТУПОРЫЛАЯ ХУЕСОСИНА?!
Массивы использую, а первые два инишила реально нигде не использую. Я долбоёб и сжёг мозг пока бомбил, сейчас уберу.
NEXT JS IMAGE
Чё-то какой-то бред. С разными разрешениями экрана картинки могут не грузиться
https://department-university.vercel.app/
Это признанный баг, зачем оправдываться?
https://learn.javascript.ru/types-intro
>Результат typeof null == "object" – это официально признанная ошибка в языке, которая сохраняется для совместимости. На самом деле null – это не объект, а отдельный тип данных.
>которая сохраняется для совместимости.
Совместимости с чем? Зачем кому-то в коде нужно, чтобы null был объектом?
Хрена ж себе. А я и не знал.
Кто на нем пишет вот это настоящие прогеры, а не как js-мани: одну строчку кода вставил и готово
чел мне нахуй не нужен твой пакет ебучий с 1к зависимостей и сомнительного авторства, который еще и согласовывать с ИБ нужно, мне нужно просто закрыть модалку
попущенец а если он на фрейм кликнет то этот вкатунский хук корректно не отработает. забракован.
https://brackets.io/
https://phcode.dev/
Его продолжают развивать энтузиасты и даже запустили отдельный проект - очень быстрый Phoenix Code Editor работающий в браузере, но который можно развернуть локально.
Я уже попробовал и этот редактор реально быстрее и отзывчивее того же VS Code. Пока находится в альфа версии.
Всяко лучше, чем монополия от Microsoft.
Так доработай, что отработал нормально. Ты же программист, а это просто пример
по факту.
только это не у меня трудности, а у большинства получеловеков влачащих свое жалкое существование
растрачивающие свои никчемные недожизни на визуальный шум и прочую ублюдскую хуету, которая делает только хуже ;{
>>19779
ага, глаза ты себе уже сжег дебил
>>19877
додики трусливые, жалкие создания, что ты от них хочешь, они навернули дерьмища, а теперь трясутся как бы их не выебали за очередной шорох, чмони не могут стукнуть кулаком как Гвидо, и сказать как будет.
>>19963
кстати да, я поэтому с этой помойки не ухожу, форчан просто ультрапиздец доисторический, но хуле с пендосов взять, они же ректодаунское дерьмо жрут, и их улицы уебищные похожие на блевотный район черкизона в то время
>>20080
вскод тоже есть в браузере, плюс есть онлайн эдитор(на который мне похуй) с пакетами и всей хуйней
вскод девят не хуеглоты индусские без рук - а свободная тима, точно так же как девы плврайта, они там очень сильно скраю
ну и плюс это ФЛОСС а потому есть сборки без зондов и синка
Причём тут глаза, говно? Он выёбывался на асинхронный жсокал ваш. Из-за этого сидел час в отрицалове, не желая принимать правила игры, но потом сломался и обернул все в асинхронную анонимку.
>Это не бэкенд?
По-хорошему — нет. Апи это только эндпоинты, которые высирают нужного формата данные и дёргают настоящий бэк.
Так я даже не в идешке писал, а прямо в темпермонки хуйне, проверяя отдельные моменты в консоле браузера. У меня есть вскод, но пришлось бы альтабаться 20 раз чтобы проверить работоспособность. Ну и мне лень его настраивать под js, хз как это все выглядеть будет.
> Можно смело просить 200к вместо 130?
Чел, на рыночке таких мидлов готовых работать за сотыгу еще сотни по твоему городу
И? Пока их найдут я уже съебу, а это - деньги и проще поднять мне зп. Думаешь кабанчик будет так трястись за лишние 70к?
На этапе попытки написать что-то без туториала с ютубчика. а гречневые скотоублюдки скуфы с завода отлетают уже на синтаксисе языка
Потому что куча огромных проектов сделана из этих "говна и палок". Если всё убрать и ввести строгий режим, то неизвестно, сколько времени и денег уйдёт на исправление старого кода. Поэтому проще оставить всё как есть.
На первой попытке решить задачу без ютуба. Тут же приходит осознание, что айти не для всех и 6 месяцев для устройства на первую работу не хватит
>айти не для всех
Ну да, решать задачи ведь могут люди только с ОСОБЫМ складом ума, это врожденное
>На каком этапе изучения вэбдева (JS в частности) отсеивается больше всего вкатунов?
На этапе трудоустройства
потому что всем похуй. ты слишком дохуя хочешь для языка который был создан и применяется в основном для покраски кнопочек
половина населения планеты ебашит на нее олмост нан стап
пук-среньк, ой ну да, ну тут не работает, а вот здесь не баг, а фича, ага, вот так делай, я делаю и у меня работает и ты делай, и вообще это не наш баг, насри в другой репке, давай пака.
мне вот интересно это жс дрисня вас так опускает или вы в жс дрисню приходите уже опущенные?
ЖСерам не просто так платят много деняк.
Просто берёшь какое-нибудь тестовое и хуячишь его на рякте, чо как маленький?
Проект обычно делается для себя, дабы научиться на практике различным вещам. Во время устройства на работу на твои говнопеты обычно никто не смотрит т.к. понимают, что это может быть просто спизжено или сделано на курсах, а сразу дают тестовое и уже на его основе делают выводы. Если ты спиздишь проект, а не сделаешь его сам, то велика вероятность, что не сможешь адекватно выполнить тестовое.
он не маленький он тупой безынициативный кусок дерьма, что ему скажут то он и сделает как псина.
>половина населения планеты
дата_саентист ты ошибся в своих расчетах никто на ней не ебашит все на рякте пишут на ней ебашут только вкатуны вроде тебя
Дорогой друг. Ты ещё в 2011 (!) году занимался фронтом. Что ты делаешь в 2022 году на дваче в теме для начинающих? Понимаешь ли ты, что выглядишь, как долбоёб?
У ноды есть свои фичи "для дурачков". Как у пыхи есть многопоточность о которой не нужно даже задумываться, так у ноды есть асинхронность без сложных проблем.
наверно потому что ты можешь вкатунам-формошлепам дать возможность писать бэк за теже деньги
С одной стороны бэк зачастую это небольшая прослойка между UI и БД, без особых требований к производительности, а с другой - можно шарить часть кода между фронтом и бэком и не искать второго программиста специализирующегося на других языках
> все
ты говна въебал даун
ректодебильных вакансий всего лишь в два раза больше чем вюшных
и СУРПРИЗ-СУРПРИЗ ректодаунов ровно в теже два раза больше чем вю-господ
(которые не жрут тормозное убого дерьмо а просто кайфуют от охуенности)
ну и нахуя это уебище нужно? нет ну если ты чмо опущенное и привык по жизни к боли и унижению то жри дальше эту дрисню, а мне и остальным нормальным людям на вю охуенно.
>>20896
не умеешь гуглить - вон из профессии!
Какая нахуй профессия? Я хочу замутить свой экстеншен. Окстись, я не претендую на вашу работу.
тогда ладно
но вообще если ты про плагун для браузера - то там уебищнейший гугло пайплайн
но ты можешь нагуглить бойлерплейт расширения где уже будет установлен вю и все необходимые сертификаты
Пытался поглядеть как у других плагинов реализовано, но там код сплошняком минифицирован, такую портянку нету сил читать.
Это тултип
Если тебе в голову пришло задавать вопросы про отсетвание вкатунов, то шансов у тебя уже нет.
Я просто по другому смотрел, думал в расширениях норм отображается тоже а не компонуется. Иди нахуй.
Ну ладно.
Но как его написать так, будто автор умственно умный. С помощью какого цикла?
Обычный for подойдет, ну или forEach. И эту порнографию с конкатенацией заменить на шаблонную строку.
>вю-господ
(которые не жрут тормозное убого дерьмо а просто кайфуют от охуенности)
ты сам несколькими тредами ранее доказывал что вуй это кал ебаный для дебилов, а сейчас вдруг эти дебила стали озуенными. еще и кайфуют да
>и что? Не понял ничего
делаешь проверка на авторизован ли юзер, если нет - редиректишь на логин его
>>21140
>html из строк
для начала используй какой-нибудь шаблонизатор, для тупых вкатнов подойдет mustache
> несколькими тредами ранее доказывал что вуй это кал ебаный для дебилов
не было
> mustache
даун
> несколькими тредами ранее
> линк на ответ в этом треде
ТЫ ПРОФНЕПРИГОДНЫЙ ПИЗДОРЫЛЫЙ ДАУН.
какая впизду
> прокси
ебанарий? это уебки из вита дрищут себе в портки
у них полный пиздец и адище
>>20531
очевидно не хватает ресурсов на сапорт всей хипсторской жсдрисневой хуеты что высрали пузыредодики
а вю тут неприделах, дебил блядь..
тупой дебил причем тутв ит если про прокси был отдельный пост где ты переменно пытался присвоить значение и оно не вызывало ререндеринг хотя ты тут всем доказывал что должно, тупой ничтожество 80iq
тупой дебил причем тут ререндеринг тупой ничтожество 80iq !?
сука ты ответ читал вообще прежде чем линкануть животное больное?
ищи (не)мой пост про ререндеринг или идинахуй шакальник дебильный...
да мне похуй на тебя школьника тупорылого, что бы кому-то доказывать что ты обосрался. ты сам доказал, синхронно читая жсон в контроллере на своем основном(!!!!!) языке
>Обычный for подойдет, ну или forEach.
Я пробую и спотыкаюсь на вот этой необходимости вводить новые переменные newString1, newString2, newString3, newString4.
Я ничего не понял.
Если нужно оборачивать текстовый хтмл в спан с колором или нужны тупо покрашенные спаны с текстом цвета в них, то вот:
const cSpanBuilder = c => content => `<span style="color:${c};"> ${content} </span>`
const makeColorSpan = c => cSpanBuilder(c)(c)
const cedSpans = arr.map(makeColorSpan).join('')
div.innerHTML = cedSpans
> что бы кому-то доказывать что ты обосрался
нужно сперва доказать что не обосрался ты ;-)
какой же ты потешное жалкое убожество, просто ору как слился даун)))
> конечно я обосрался
и теперь пыжишь свою обосратую дупу в попытке перефорса моего рнд пайплайна, куда тебе вообще не следует совать свой тупой шакальный жсдриснячий ебасос ;)
> куда мне до бога верстки и бога асинхронного I/O в питоняше :3
абсолютно никуда - это неоспоримый и очевидный факт.
ты не смеешь осознать и толики моих замыслов и намерений, я делаю то что делаю, и ты говно, просто смотри и молча впитывай.
Благодарю.
прошу прощения, о великий рнд пайплайнер, преклоняюсь перед вашей охуенностью в написании неоптимизируемого говнокода
> неоптимизируемого говнокода
да как ты смеешь давать оценочные суждения мои священным писаниям мразота блядь!?
без разбитого лба чтобы я тебя итт больше не видел!
не вижу готового решения, где линк на фидл?
> табы ссылками делать без атрибута href
давай только без своих ректодебильных заебов
> дата_сантистом
значение знаешь?
> ректодебильных заебов
дурачек, эти заебы появились задолго до твоего рождения, не точ то до рождения рякта
>значение знаешь?
что-то связанное с обучением чтения данных с диска наверно? ну типа как читать жсоны что бы тред не блочить?
> что-то связанное с обучением чтения данных с диска наверно? ну типа как читать жсоны что бы тред не блочить?
тупая пизда, чтд епт.
иди нахуй профнепригодный пиздорылый даун.
ну так сколько тебе изучить данных надо чтобы жсон с диска прочитать нормально м? дата хуяентист ты наш
Сделай в один проход по хтмл.
Список и получился. Задача-то была найти названия в тексте и заменить их на подкрашенные.
lonelyDiv.innerHTML = lonelyDiv.innerHTML.split(new RegExp(`(${colors.join('|')})`, 'gi')).map(v => colors.includes(v) ? `<span style="color: ${v}">${v}</span>` : v).join('')
фикс
Или так:
lonelyDiv.innerHTML = lonelyDiv.innerHTML.split(new RegExp(`(${colors.join('|')})`, 'gi')).reduce((res, v) => res + (colors.includes(v) ? `<span style="color: ${v}">${v}</span>` : v))
взял значит тс парашу ( отдельно орнул что додик не знал что в ней пофиксили жсдрисневое === )
и почти все запитоняшил по красоте! =^-^=
Сложно ли и долго ли с ангуляра перекатиться на другой фреймворк на более +- уровне.
Сделать HOC обёртку, которая будет из контекста брать текущие роли/пермишны, и сравнивать их с необходимыми ролями/пермишнами, передаваемыми в обёртку через пропы.
При чем тут роутер, я так понимаю что речь не о доступе к целому пейджу, а о том, чтобы отображать/скрывать какие-то отдельные компоненты на пейдже в зависимости от пермишнов
> function Animad() { }; Animad.eat = function() { console.log("dom dom dom");
}; Animad.eat()
Однострочник потому-что парсер режет. 2022 год блядь лол
ну сделай увловие на компоненте, бери роль из юзера.
потому что в прототипе ты все инстансы твоего класса будущие поменяешь а так только этот
>потому что в прототипе ты все инстансы твоего класса будущие поменяешь а так только этот
Наверное.
У меня уже голова пухнет так как не могу понять как все это изучить нормально. Нет схем доступных как это все наследуется.
Да и плюс еще классы ввели, плюс _proto_ какого-то хуя существует.
Мне бы блядскую схему чтобы я увидел все в работе.
Как ее составить хуево зная предмет? Конспектирую, но в голове пустота че к чему
Прототип это объект, в котором жабаскрипт посмотрит твоё свойство, если ты его спросил, а в самом объекте такого свойства нет.
Если ты делаешь объект через функцию конструктор, то можешь положить свой прототип в свойство prototype конструктора, тогда оно создаст объект с таким прототипом.
Ещё можно создать через Object.create( прототип [, всякие геттеры и сеттеры там])
Чтобы проверить че там за прототип у твоего объекта используй getprototypeof.
Если ты делаешь объект через класс, то это синтаксический сахар над прототипами, но не похуй ли тебе, просто используй классы как классы.
Если ты используешь __proto__, то перестань.
Читай тогда чуть дальше.
Мелкобуква, спок. Ты даже в названия процедурок не можешь, так что не заикайся про формошлёпов.
Я бы скорее сказал не "нинужна", а "хуй впихнешь", учитывая припизднутую на всю голову экосистему. Прямо сейчас разгребаю наследие на рякте, переписываю ссаную километровую ad-hoc лапшу на объекты, и охуеваю с того, насколько ряктопараша постоянно ставит тебе палки в колеса. Совершенно идиотские, мудацкие концепции вроде "вьюшка это функция стейта" и "состояние отлично описывается обычными и ассоциативными массивами" необходимым образом приводят к следующему:
- все объекты, являющиеся частью стейта или пропами компонента, должны бы иммутабельными; в классовых компонентах хотя бы давали костыль в виде forceUpdate(), в функциональной версии (что блять в них функционального, понять нахуй невозможно, очередной бессмысленный баззворд, налепленный на эту смердящую кучу говна рассчитанный на целевую аудиторию одноклеточных хипстеров) даже и его выпилили, енджой ер попытки впихнуть невпихуемую бизнес-логику в ряктодебильный концепт обновлений компонентов при нарушении ссылочного равенства
- редакс сразу улетает нахуй на помойку, потому что этот кусок тупорылого высера обосранных бомжей из цукербергских подвалов не способен работать с чем-либо, кроме тупых JS-объектов. Впрочем, оно и к лучшему, ничего тупее глобальной помойки, где валяется все подряд и куда могут лазить все, кому не лень, придумать было, казалось бы, уже невозможно
- вся теория MVC, которую пидарасили десятилетиями, идет нахуй, потому что абрамирование головного мозга позволило макакам вывернуть весь MVC наизнанку, и дойти до того, что внутри ебучей вьюшки хранится вообще все - модель, куски бизнес-логики, куски презентационной логики, тут же мы делаем запросы в сеть, здесь же рыбу заворачиваем, и все это на хуках блять, это просто ебаный абоминейшн и глумеж над 50 годами прогресса. Можно постараться писать не так, но мудацкие ряктоконцепты анальной жопы изо всех сил пытаются загнать в рамки написания именно вот этого спагетти-монстра, где бизнес-логика, контроллер, вьюха, стили, верстка и Аллах все упакованы в один большой мешок с говном. Сепарейшн оф консернс? Не, не слышал (вангую щас вылезет подзалупный ряктосектант и начнет визжать про то, как они КОНЦЕПТУАЛЬНО ПЕРЕОСМЫСЛИЛИ разделение ответственностей; мне на петушиное кукареканье абсолютно насрать)
Я бы скорее сказал не "нинужна", а "хуй впихнешь", учитывая припизднутую на всю голову экосистему. Прямо сейчас разгребаю наследие на рякте, переписываю ссаную километровую ad-hoc лапшу на объекты, и охуеваю с того, насколько ряктопараша постоянно ставит тебе палки в колеса. Совершенно идиотские, мудацкие концепции вроде "вьюшка это функция стейта" и "состояние отлично описывается обычными и ассоциативными массивами" необходимым образом приводят к следующему:
- все объекты, являющиеся частью стейта или пропами компонента, должны бы иммутабельными; в классовых компонентах хотя бы давали костыль в виде forceUpdate(), в функциональной версии (что блять в них функционального, понять нахуй невозможно, очередной бессмысленный баззворд, налепленный на эту смердящую кучу говна рассчитанный на целевую аудиторию одноклеточных хипстеров) даже и его выпилили, енджой ер попытки впихнуть невпихуемую бизнес-логику в ряктодебильный концепт обновлений компонентов при нарушении ссылочного равенства
- редакс сразу улетает нахуй на помойку, потому что этот кусок тупорылого высера обосранных бомжей из цукербергских подвалов не способен работать с чем-либо, кроме тупых JS-объектов. Впрочем, оно и к лучшему, ничего тупее глобальной помойки, где валяется все подряд и куда могут лазить все, кому не лень, придумать было, казалось бы, уже невозможно
- вся теория MVC, которую пидарасили десятилетиями, идет нахуй, потому что абрамирование головного мозга позволило макакам вывернуть весь MVC наизнанку, и дойти до того, что внутри ебучей вьюшки хранится вообще все - модель, куски бизнес-логики, куски презентационной логики, тут же мы делаем запросы в сеть, здесь же рыбу заворачиваем, и все это на хуках блять, это просто ебаный абоминейшн и глумеж над 50 годами прогресса. Можно постараться писать не так, но мудацкие ряктоконцепты анальной жопы изо всех сил пытаются загнать в рамки написания именно вот этого спагетти-монстра, где бизнес-логика, контроллер, вьюха, стили, верстка и Аллах все упакованы в один большой мешок с говном. Сепарейшн оф консернс? Не, не слышал (вангую щас вылезет подзалупный ряктосектант и начнет визжать про то, как они КОНЦЕПТУАЛЬНО ПЕРЕОСМЫСЛИЛИ разделение ответственностей; мне на петушиное кукареканье абсолютно насрать)
А вот и первый придурок нарисовался. Ты сам понял, что сказал? Что блять значит "в реакте"? В реакте твоем вообще нихуя нет, ни ООП, ни ФП, ни процедурности, есть только кривожопый DSL, весь вертящийся вокруг referential equality и навязывающий структуру кода, когда все свалено в эти ебучие компоненты, включая бизнес-логику, работу с сетью, стили и т.д. ООП начинается, когда ты решаешь "в пизду и нахуй это дерьмо" и пытаешься писать, как белый человек, выделяя классы с бизнес-логикой и пытаясь придрочить эти классы к ебучим компонентам и ебучему концепту referential equality
Угу, только в первозданном виде такую дрочню будет невозможно читать, поэтому ты такой думаешь "зопилю ка я хук под это дело". Запилил. Только блять лучше от этого не стало, потому что когда ты будешь дергать свой ебаный хук для форс-рендера, из чтения кода все равно будет абсолютно невозможно понять, для чего здесь этот форсированный ререндер. Ну и опять же "неидиоматично", Дэн Абрамов не одобряет
Нихуя свидетеля ООП подорвало. Ещё блять и редукс виноват, что жс не сериализует инстансы классов. Ну и в том, что не даёт ООП-дебилу срать мутирующими процедурками.
MVC - вырвиглазное говно, придуманное бэкочушками, в котором на поверхности всё по файликам и папкам аккуратно разложено, а как залезешь в шаблоны, то там ехал сайд-эффект с инклюдами через весь серверный контекст.
А зачем обновлять если у тебя ничего в стейте не поменялось?
Ну давай, расскажи мне, о великий фронточмоня, как ты аккуратно у себя в ряктопроекте организуешь модель в виде глобальной помойки с говном, в которую на каждый пук-пердеж надо втыкать новый ебучий редусер-экшн-экшн-креатор-экшн-креатор-креатор, расскажи ка мне, как ахуенно удобно и читабельно дрочиться со злоебучим юзэффектом, когда мудацкий линтер тебе запрещает не только срать, но и пропускать депенденсю у эффекта. Расскажи мне, как ты организуешь свою СЛОЖНУЮ бизнес-логику, которую какой-то мудак запихал на фронт, без ООП, на одной только глобальной помойке и валяющихся по всему проекту ютиль-функциях
Благодарю, пойду гуглить.
О, так более точнее даже будет, благодарю.
Так это хук не для юзерленда, там еще 6 слоев поверх надо, лол.
Форс рендер надо дергать в адаптере с твоих сервисов на реакт, в useStore и друзьях, тогда и сервисы читабельные и реакт послушный
Сервисы правда надо реактивные в каком либо виде, но просто заворачиваешь данные в монады обзерваблы/прокси и становится полегче
Да еще функция мап на самом деле мутирует массив в который вставляет элементы
Алсо блять, по каким файликам, по каким папкам? MVC - это подход, в котором ты не лепишь блять бизнес-логику в том же месте, где у тебя стили, анимированные менюшки, загрузка нового списка говна с бэкенда и драг энд дроп. Можешь продемонстрировать мне хотя бы один пример ряктопроекта, который шмог бы хотя бы такое рудиментарное разделение ответственности? Или, вот это открытие, любой понос, высранный на ряктомоче, всегда скатывается к тому, что у нас тут ХУКИ блять, один хук дергает сетку, второй хук дергает модельку, третий хук дергает тебя за анус? Иными словами, вьюшка овнит модель и бизнес-логику. Я что-то за 6 лет дрочения этого говна из жопы ни одного подобного примера так и не увидел, везде ехал юзстейт через юзэффект и попытка выразить логику произвольной сложности в терминах убогих эффектов и ссылочного равенства
Рякт вообще про flux и однонаправленный поток данных, нахуя нам твой mvc?
Чувак, ты бы хоть книжку открыл, прочитал, что такое MVC. Но нет блять, главное пасть открыть и высрать очередную чушь с умным видом. Типичный ряктодебич. У тебя небось еще ФУНКЦИОНАЛЬНОЕ ДЕКЛАРАТИВНОЕ МЕТАПРОГРАММИРОВАНИЕ жопы?
Ну не нравится редакс, используй что-то другое, мобикс, контекст, реакт квери, бидиректный флоу и ещё наверное есть несколько альтернатив про которые я не знаю. Раньше были классы и люди абсолютно правильно сделали что отказались от них, потому что реакт не про это вообще и подход там не тот в отличии от ангуляра например
Задача реакта в том чтобы дать тебе реактивные компоненты за короткое время разработки, он с этой задачей хорошо справляется и справляется ещё лучше с каждым мажорным апдейтом
Утильки выносишь в отдельную папочку, переписываешь морду на редакс и вешаешь на него useEffect, либо делаешь отдельный лейер с контекстом в том куске, где хочешь весь контейнер ререндерить, и через контекст прокидываешь вниз объект стейта и функцию его апдейта.
Спасибо за пересказ официальных доков. Что в сухом остатке:
- глобальная помойка никуда не делась - чек (и не надо мне тут ля-ля про useReducer и прочую чушь, фронт это в первую очередь про взаимодействие с сетью, useReducer из коробки не дает ни тханков, ни хоть чего-то асинхронного)
- переебывание с убогими эффектами для логики, естественным образом выражающейся мутабельностью, и требующей пердолинга для перехода на иммутабельность - чек (дрочево на иммутабельность на фронте это вообще рофл блять; алло блять, у тебя ОДИН ПОТОК сука, у тебя нет никаких дедлоков, синхронайзов и мониторов, нахуя вы вкорячиваете иммутабельность везде блять, где надо и где не надо (особенно где не надо)?)
- вьюшка овнит модель - чек
- связанность презентации и бизнес-логики - чек
Аноны, есть кто шарит за Next.JS ?
Меня интересует, вот у меня в компоненте дофига текста, могу ли я через SSG за пре-рендерить его, для улучшенного сео и меньшей нагрузки на клиента? Или эта хрень используется когда берём данные вне проекта? сторонние апи там, фетчи.
Я так почитал его используют в примерах только на external data https://nextjs.org/docs/basic-features/pages
Ну мысль интересная, только блять сколько же дроченого бойлерплейта надо написать для того, что должно существовать из коробки.
>>21637
Далеко не всегда есть возможность отключить, на последнем проекте было ПОЛИСИ блять, что все конфиги, настройки, воркфлоу, код стайлы и т.д. задаются на уровне компании и хуй ты чо там поменяешь
Выкинь эту парашу на помойку. SSR + SPA - это выкидыш больного воображения цукербергнутых на всю голову мудаков, которые ничего сложнее туду листа ебаного в своей жизни не написали, но туда же блять, ФРЕЙМВОРКИ они стряпают. Хрррптьху блять в ебло этим пидарасам.
Да блин, мне бы ответ на вопрос получить. Энивей эта херня же экономит ресурсы клиента и веб-сайт быстрее грузится, не вижу шизанутости.
Это тупорылый убогий костыль для "оптимизации" скорости загрузки сайтов, которым в принципе в хуй не уперлось быть SPA. Но поскольку тупая мартышка не знает ничего, кроме своего ряктопоноса, она радостно хватает его и бежит клепать лендос, а потом удивляется, пачиму сайтег грузицца по 10 секунд, сео чет по пизде пошло, кэширование не кэширует. Использовать Nextjs, Angular Universal и прочую погань - значит буквально заложить ядерную бомбу под свой проект. Проблемы будут нарастать, как ебаный снежный ком, и вот уже твой лендинг с 10 посетителями в год требует 5 человек для поддержки, потому что на фронте у нас модный фреймворк и все так красиво аккуратно на папочки разбито на хуиллиард "компонентов", потом у нас тут SSR, ой что это, при нагрузке в 100 пользователей сервак начинает падать, надо добавить еще нод, надо навесить cdn, надо навесить балансировщик, ой что это, кэшированные странички на нодах в рассинхроне, надо еще одну ноду для кэширования страничек, ой что это....... Ну и так пока у заказчика не кончатся деньги.
Как вообще к такому работодатель и интервьюеры относятся?
Сам 2 года в джаве, хочу интерфейсы писать нет, мобилки не хочу - хочу веб. На потерю зп из-за понижения грейда похуй.
Да там SSR не везде же можно пихать. Может я не шарю, но блять, как такое может быть что популярный фреймворк, на котором много кто кодит может быть говном, его бы не юзали, звучит как прохладные истории.
забей хуй и просто закешируй данные с бэка на редисе, нахуй не нужны эти ssg костыльное из spa
> Или эта хрень используется когда берём данные вне проекта
Компонент со скрина использует то, что ему прокинуть
Если захардкодить данные — SSG
Если нужно получать с апи и чтобы не всралось SEO — SSR
Фронт сложнее и не стоит того
Есть объект:
const objebos = {
name: 'Huilanov',
age: 33,
status: 'Eblan'
}
Почему при использовании console.table(objebos); в таблице выводится только две строки, а третья со status: 'Eblan' - не отображается?
Не могу понять логику работы этой функции.
Да у меня бека нет. Я чисто на хедлесс цмс беру некоторые данные, но в основном просто в компоненте пишу текст и гружу картинки.
Я просто пилю сайт кафедры для диплома, а в беке не особо шарю, а с Strapi уже работал.
Я особо и не знаю что для бека можно прикрутить в принципе, в идеале я так понимаю ждут от меня CMS где люди без кодинга могли бы добавлять инфу, но тогда фронтенд накидывать сложнее, там же конструктор просто в цмске, кодинга 0, а так хоть под диплом будет фронтенд.
Кста вот сайт, пока не знаю что ещё можно добавить https://department-university.vercel.app/
Нахуй ты этому дебилу отвечаешь, еблан? Видно, же что него джангошаблоны головного мозга.
И где здесь блять SPA? Это обычная статичная HTMLина с <=10 строчками скрипта. А он NestJS вхуяривать собрал, ояебу. Выбрал бы ченить поприличнее для диплома, если там будут именно на крутость кода смотреть. Алсо, хэдлесс цмски как правило предоставляют уже из коробки интерфейс для редактирования контента. Так что весь твой диплом - это повесить хук на изменение данных в цмс и пересобрать статичный html.
> Алсо, хэдлесс цмски как правило предоставляют уже из коробки интерфейс для редактирования контента. Так что весь твой диплом - это повесить хук на изменение данных в цмс и пересобрать статичный html.
Ну, у меня так уже и сделано для картинок на слайдере и в разделе кадровый состав для текста и картинок преподов.
Так а что круче взять? Я бы и сам рад, но по сути весь сайт написан за неделю работы. Я ещё на тайпскрипте пишу чтобы совсем стыдно не было за проект
Ебать, значит дело в chromium и его способе отображения
Что плохого в прогрузке страниц? Там грузить то нечего, лол, особенно после первого рендера, когда стайлшит, картинки и прочая поебень попадет в кэш. Если прямо вот кушать не можется как хочется, чтобы не было перезагрузки, то просто скриптом втыкаешься в хтмлину, вешаешь листенер на все свои редиректящие батоны/ссылки, грузишь говно с цмс и отображаешь
О, а вот и писатель лендосиков при помощи декларативных глубококонцептуальных мультипарадигменных фронтовысеров подтянулся. Как там баунс у твоего лендинга? 3 пользователя в месяц уже набралось?
Какая-то хрень, проверил на всех браузерах с хромиумным движком, не отображается третья строка всё равно.
> из коробки
Не фреймворк даже не либа, РАНТАЙМ для дивов
mobx попробуй, оче мало обвязочного кода надо только доставлятор сторов до компонентов написать
Ну, смотри.
Модель и контроллер можно вынести из вьюшки в редакс/контекст, во вьюхе только дёргать нужные методы для взаимодействия. Даже форсить ререндер можно не через эффекты, а через обновление пропсов, взятых из редакса/контекста.
Апи выносится в отдельный контрол и держится где-то подальше от компонентов, чтоб не влезли любители пощекотать очко. Наружу оставляешь торчать только экспортированные функции. В новом ес можно сразу экспортировать импорты, чтоб в проекте дёргать всё апи из одного файла.
Остаётся только глобальная помойка. Но и это лишь отголоски детских болезней, когда два контекста одновременно уже было больно. А редакс это вообще сорт оф локалстореж, ты же не жалуешься, что у тебя локалстореж это единая глобальная помойка на весь сайт?
Со вторым пунктом нихуя непонятно, но звучит как претензия ко всему js.
Спасайте. Где можно прокачать ООП скилл на реальных задачках чтобы была какая-нибудь перепроверка? Есть тут анон который бы помог? Я пока осваиваю (времени нет к сожалению) и в будущем хотел бы покачаться на задачах и кодревью чтобы получить критику говно-не говно, правильно/лажово.
Одним простым способом
сейм.
Делаешь копию дев ветки, мержишь в неё текущую, результат сквошишь в один коммит и черипикаешь его в текущую ветку.
хз у меня на работе в гитлабе мастер
at ".then(res => res.json())"
Помогаю.
script type=module сука, на дворе 2023 год
Операторы в языке отбиваются пробелами, научись писать форматированный код и вынь хуй изо рта
var_dump не возвращает json на вывод, хуйло, открывай документацию по php и читай до посинения.
На дворе 2023 год, а ты до сих пор не прикасался к живой женщине, потому сидишь и высираешь токсичную хуйню в интернетах, тебе приходится довольствоваться лишь собственным хуём во рту, но ты по привычке всё равно советуешь всем окружающим его высунуть изо рта, думая, что все таким занимаются
Так а почему не меняется content-type, если я в headers изменения указал?
Алсо, var_dump или echo указать, ничего не меняется, echo json_encode тоже
Чел, content-type в реквесте просто для информации, серверу похуй на это может быть, как в твоем случае например. по пшп - в пшп тред
Спасибо!
Только почему-то до сервера доходит пустой массив вместо json-объекта
Слушай, съебись-ка ты все-таки в пхп нить читать учебник из шапки, ты же нихуя не понимаешь, как он работает, а к жс это отношения не имеет. json из post запроса с content-type: application/json в $_POST не попадает, либо гугли как парсить, либо ставь хедер content-type: multipart/form-data или application/x-www-form-urlencoded
> На дворе 2023 год
Ты из 2023-го капчуешь? Как там, Третья Мировая в итоге началась? Почём биткоин?
Спасибо тебе!
>script type=module сука, на дворе 2023 год
уебище тупое нахуя ему module если там нет модулей???
ты в 2023 году не знаешь про defer ублюдок?
>>22305
>Только почему-то до сервера доходит пустой массив вместо json-объекта
потому что пыха без костылей работает только с FormData, с жсонами там все хуево
Сам автор именующий себя не иначе как "Димыч", клянётся, что курс не устарел, что учиться можно на классовых компонентах, что он в курсе даёт такие фундаментальные вещи, которые не дает больше никто в мире среди обучающих Реакту. Он клянётся, что с классовых компонентов можно переучиться на функциональные по щелчку пальцев.
Мозги плавятся
Это копия, сохраненная 24 октября 2022 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.