Сохранен 523
https://2ch.hk/pr/res/2919926.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

JS Thread #297 /js/

 Аноним OP 13/11/23 Пнд 10:37:07 #1 №2919926 
16991996156040.png
Предыдущий тред: >>2907838 (OP)

Больше пары строк кода в посте или на скриншоте ведут в ад.

Для программирования на HTML https://codesandbox.io
Для Node.js с консолькой https://repl.it/languages/nodejs

Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если/когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.

Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
Аноним 13/11/23 Пнд 11:09:34 #2 №2919967 
Screenshot2023-11-13-09-45-15-25.jpg
База треда
Аноним 13/11/23 Пнд 11:14:52 #3 №2919976 
>>2919967
Надо смотреть именно когда выложили.
Хотя, я и пару месяцев назад видел как новая вакансия набирает 500-600 за половину рабочего дня.

Некоторые тупо фармят отклики для свои baza данных.
Аноним 13/11/23 Пнд 11:22:52 #4 №2919984 
эщкерешку будешь?
Аноним 13/11/23 Пнд 13:54:52 #5 №2920111 
>>2919967
Слабовато для базы. Были скриншоты с 2к+ откликов, а тут жалкие 800.
Аноним 13/11/23 Пнд 14:15:37 #6 №2920150 
Screenshot20231113150723.png
Что тут не так, подскажите плиз? 🤔 Как сделать так, чтобы он приводил к нужному типу. Если service === 'invoices' тогда тип должен быть IInvoiceAPIResponse, если websites, то наоборот. Сейчас он видит его как ResponseType<T>, условие T здесь почему-то не работает.
Аноним 13/11/23 Пнд 14:19:09 #7 №2920154 
Screenshot2023-11-13-14-16-36-67.jpg
>>2920111
Так то были заснайпленные скриншоты в пик популярности айти, а тут рандомный оффер открыл
Аноним 13/11/23 Пнд 14:21:52 #8 №2920157 
>>2920154
Бля проигрывал с этой гречи когда смотрел пару месяцев назад. Они там миддла искали.
Аноним 13/11/23 Пнд 14:29:05 #9 №2920170 
>>2920150
Очередная секция развлекательного журнала под названием разгадайте шараду, а половина шарады проёбана, поэтому придумайте шараду сами!
Аноним 13/11/23 Пнд 15:04:26 #10 №2920195 
>>2920150
T extends 'invoices'
Че это?
Аноним 13/11/23 Пнд 15:22:36 #11 №2920228 
kek.png
Я правильно понимаю, что его книги после этого теряют смысл?
Аноним 13/11/23 Пнд 15:28:08 #12 №2920241 
>>2920228
Не смог написать эвент эмиттер.
Аноним 13/11/23 Пнд 15:30:39 #13 №2920247 
>>2920228
Это шаблонный фидбек, когда тебе не хотят говорить в глаза, чем ты не подошёл. Ведь так ты подкачаешься, и может быть придёшь ещё раз через полгода-год, не добавляя контору в чёрный список, особенно если отвечать будет та же клуша.
Аноним 13/11/23 Пнд 15:33:03 #14 №2920250 
>>2920241
Очевидно что много бабла хотел. Это ВСЕГДА основная причина отказа при найме с улицы
Аноним 13/11/23 Пнд 15:34:52 #15 №2920253 
>>2920250
Или наниматели не видели в нем трудовую пчелку, нах им философы жаваскрипта.
Аноним 13/11/23 Пнд 15:35:22 #16 №2920255 
>>2920247
>>2920228
Алсо да, посмотрел статью. Я как-то тоже обосрался на собесе из-за онлайн редактора. Потому что крутится этот вебнёвый VS Code, в котором даже на линухе/виндузе часть хоткеев по дефолту отличается. Это не говоря, про то что часть хоткеев может быть кастомизированы, у чела могут стоять вим-хоткеи, он вообще может пользоваться продуктами жид-брейнза.
Особенно когда за всем этим зоонаблюдает какой-то пидор. Просто пару раз делаешь не то, воротишь взад, начинаешь делать так как не привычно. + Проёбанное время, +невры.

ПОэтому когда предлагают покодить говнозадачки на условном голом yandex-cheta.notepad - вот это оптимально. Ты сразу ожидаешь, что там нихуя не работает и ты в блокноте.
Аноним 13/11/23 Пнд 15:37:36 #17 №2920259 
>>2920150
data это что у тебя?
Аноним 13/11/23 Пнд 15:45:39 #18 №2920268 
Screenshot20231113164105.png
Screenshot20231113164438.png
>>2920195
Если передаётся в аргумент "service" строка "invoices", тогда axios ответ должен типизировать ответ API как IInvoiceAPIResponse. Если же строка "websites", тогда axios должен типизировать ответ как IWebsiteAPIResponse. Когда функцию вызываешь, всё нормально работает. Но внутри функции когда делаешь flatMap() не хочет приводиться тип.

>>2920259
Дата - это просто ответ от axios'а. Там внутри только state ("ok" или "error"), result с массивом, paging с ключом пагинации.
Аноним 13/11/23 Пнд 15:50:25 #19 №2920279 
>>2920259
Подумой ещё раз >>2920170
Аноним 13/11/23 Пнд 16:06:37 #20 №2920309 
image.png
image.png
image.png
Ну че, вкатунцы и сторожили.
Покажем этим нормисам и быдлу кто тут бог жопыскрипта?
Аноним 13/11/23 Пнд 16:07:02 #21 №2920311 
Ананасы, кто связывался с AWS поясните за него. Я вот его ковыряю второй день (serverless framework v3) и это самый хуёвый DX в моей жизни. Пытаюсь сделать авторизацию с DynamoDB (с jwt). Всё это кажется максимально неудобной залупой.
Особенно жопа горит от yaml файла конфига, сука, я вообще не ебу какие ключи за что отвечают. Что я должен там описывать, а что не должен, какие ключи на что влияют и т.п. Почему нельзя было сделать json со схемой и описанием ключей.
Вот KeySchema и AttributeDefinitions, например. Я должен прописывать для каждого столбца в моей ДБ или только для айдишника с partition key? Если для каждого столбца, то там не пропускает любой формат, кроме S|N|B, а у меня может быть и M и L. Кароче, кто работал, поясните, это я конченый далбоёб, или там действительно, не всё так радужно, как в рекламе.
Аноним 13/11/23 Пнд 16:07:02 #22 №2920312 
>>2920309
https://coderun.yandex.ru/promo
Аноним 13/11/23 Пнд 16:07:40 #23 №2920313 
>>2920268
Почему у тебя тип расширяет константу строку. Это какая-то хтоническая ебанина, не?
Аноним 13/11/23 Пнд 16:33:46 #24 №2920353 
>>2920311
А нафига тебе серверлесс? Ну то есть я не пойму, что тебе даёт использование фреймворка "serverless"? У него кроме няшной админки больше ничего нет. Ты можешь взять обычный CDK и просто задеплоить без всяких головняков https://github.com/buithaibinh/blog-tutorials/tree/47320534264ead56fac26a80b740a1c56dbddad3/cdk-api-gateway-dynamodb Только добавишь там cognito и авторизацию. Типа такого:

authorizationType: AuthorizationType.COGNITO,
authorizer: {
authorizerId: authorizer.ref
}
Аноним 13/11/23 Пнд 16:47:45 #25 №2920384 
>>2920353
Та в задании одно из требований
>Serverless Framework or SST with CloudFormation as an IaC provider
Алсо, я взял фреймворк в надежде, что там из коробки будет всё, что нужно, но потом понял, что это хуйня собачья и надо поверх накатиывать плагины и прочее.
Аноним 13/11/23 Пнд 16:56:16 #26 №2920405 
image.png
>>2920268
Насколько я понял тебе надо перегрузку функции, она вот так работает.
Аноним 13/11/23 Пнд 17:22:49 #27 №2920429 
>>2920384
Шо то хуйня шо эта хуйня. Если бы у меня был выбор между serverless и sst, я бы наверно выбрал sst. Он лично на мой вкус поприятнее. Это типа набора сниппетов cdk, чуть облегчает писанину, но остаётся тем же cdk по сути. А serverless это по сути тот же ебучий cloudformation с его ебучими ямлами. Пусть это вкусовщина, но эти ямлы и этот cloudformation настоебал. CDK в миллиард раз удобнее и лучше.
Аноним 13/11/23 Пнд 18:13:02 #28 №2920454 
12.jpg
Вопрос для сеньеров помидоров. Кто-нибудь пользовался библиотекой react-virtualized для создания виртуальных списков/таблиц. Есть такой трабл, который хорошо видно прям на примере из доки для MultiGrid https://bvaughn.github.io/react-virtualized/#/components/MultiGrid
Строки, зафиксированные через fixedRowCount скроллятся влево-вправо не синхронно остальной таблице. Особенно хорошо видно, если зафиксировать несколько строк. Кто-нибудь сталкивался с такой проблемой, как ее можно решить? Какие есть еще либы для виртуализации, в которых нет таких траблов?
Аноним 13/11/23 Пнд 18:52:13 #29 №2920490 
>>2920454
Я как раз в прошлом треде бугуртил на react-window. Но твоя либа выглядит менее колхозно, мне кажется мне моё говно надо будет переделывать на react-virtualized.
У меня хорошо скролится всё кроме фаерфокса опять, в нем у таблицы есть какой-то лишний пустой хвост. Закапывайте фаерфокс как в своё время ИЕ.
Аноним 13/11/23 Пнд 18:54:55 #30 №2920491 
>>2920429
Я просто в ахуе. Создаю запись в бд (через PutCommand), а она не хавает ReturnValues: "ALL_NEW", только ALL_OLD или NONE (хотя тайпскрипт говорит что хавает всё), то есть, создав нового юзера, я не могу этим же API сразу же отдать данные об этом юзере из БД. Можно вернуть новую запись через UpdateCommand, которая, если нет записи с таким партишн ки, создаст его, но она выдаёт мне ошибку The provided key element does not match the schema.
(У меня id - partition key и email GSI). Я просто в ахуе от этого. Всё через жопу, просто всё.
Аноним 13/11/23 Пнд 19:01:29 #31 №2920495 
Как роутились те ранние ажахи, что с query string после #, типа http://huita.com/#view/1
Попался такой движок древний, лень в этом копролите копаться.
Аноним 13/11/23 Пнд 19:08:41 #32 №2920504 
>>2920384
1. В aws не нужно создавать пользователя в БД, для этого есть cognito. У тебя потом не подцепится api gateway авторизация, если ты будешь велосипеды строить.
2. Получать надо через getItem, а не через updateCommand.
3. Можно получить пользователя, смотри "putItem callback". Надо было в коллбеке читать созданную запись.
4. Также можно вместо putItem делать updateItem, тогда вернётся.
5. Проще было любой orm взять типа того же electrodb и не мучаться.
Аноним 13/11/23 Пнд 19:09:56 #33 №2920507 
>>2920491
Ответ тут >>2920504
Аноним 13/11/23 Пнд 19:43:26 #34 №2920545 
>>2920504
Я задание делаю, и могу использовать только то, что они разрешили. Там авторизацию надо реализовать через кастомный ауторайзер-лямбду.
>Получать надо через getItem, а не через updateCommand.
Я имел ввиду, что функция создания PutItem не возвращает созданной записи, и что бы не юзать getItem после putItem, я заюзал update.
>Также можно вместо putItem делать updateItem
Так и делал.

Как создать через updateItem (или putItgem, похуй) элемент, в котором id - partial key, а email - GSI? Что бы email был уникальным?
ConditionExpression: 'attribute_not_exists(email)', пропускает одинаковіе мейлы.
Я уже ничего не понимаю.
Аноним 13/11/23 Пнд 21:05:37 #35 №2920647 
>>2920545
Чёт ты неточно говоришь. Мне щас лень в реале проверять, но неужели PutItemCommand нет response с Item и созданным элементом? Странно. GSI нужно было создавать в SST, при создании базы данных. Там указываешь partition и sort key, и дополнительный индекс создаётся. Ты можешь написать например EmailIndex GSI, можно указать чё-то типа Email в качестве partition key и Created в качестве sort key. И там надо будет добавлять эти поля в PutItem. Строго говоря, он сам не будет проверять на уникальность. Partition key может повторяться. Уникальна может быть только сама комбинация partition key + sort key. Но если у тебя нет sort key, тогда он будет жаловаться на повторяющийся айдишник. Либо attribute_not_exists проверять.
Аноним 13/11/23 Пнд 21:41:43 #36 №2920696 
>>2920490
Пиздос, там зачем-то написано что есть поддержа таблиц, но все таблицы всё равно рисуются дивами. Какие же колхозаны, реактодебилы.
Аноним 13/11/23 Пнд 22:23:58 #37 №2920787 
image.png
>>2920241
>эвент эмиттер
Ты 15 раз написал про него и мне уже кажется что кроме эвент-эмиттера и пропс-дриллинга в реакте вообще ничего не нужно. Т.е. грейд такой: эвент эмиттер->useContext->mobx,zustand->redux.

Поясню, в типичном приложении redux выполняет роль the-source-of-truth. Есть user и есть список друзей, когда компонент хочет отрисовать список он берет его через селектор, когда другой компонент хочет поменять это список, он вызывает dispatch. Т.е. redux становится центром всего приложения. Но зачем?
1) Тестировать не удобно (редьюсеры легко, но это не то)
2) По умолчанию не хранит не сериализумые объекты, т.к. на них не работает JSON.stringify (Map,Set, итд)
3) Подменяет старый стэйт на новый, вызывая сравнение и ререндер, что подается как плюс, хотя надежнее контролировать каждое изменение вручную
Мне кажется пришло время эвент эмиттеру явить себя миру
Аноним 13/11/23 Пнд 22:38:06 #38 №2920797 
>>2920787
> Мне кажется пришло время эвент эмиттеру явить себя миру
Собираешься на ангуляр с рыксжс?
Аноним 13/11/23 Пнд 23:05:28 #39 №2920836 
>>2920787
Пиздос чел.
Что наследуется от эвент эмиттера в жабаскрипте:
1. Все хтмл элементы.
2. socket.io
3. HTTP на ноде
4. jQuery
5. небо и аллах
Этот ваш реакт сдохнет, ангуляр сдохнет, будет второе пришествие и апокалипсис, а эвент эмиттер никуда не денется.
Ну какой тут явит миру. ЖС это эвент драйвен язык.
Аноним 13/11/23 Пнд 23:08:40 #40 №2920843 
>>2920836
Стримы на ноде забыл. Все backbone классы, но это не актуально уже. Наверняка еще все вуе компоненты и ангулярные, но я не знаю и не помню.
Аноним 14/11/23 Втр 00:10:12 #41 №2920883 
16888351885591.jpg
Есть вообще хоть что-то, в чем Реакт был бы лучше чем Вуе в 2023-м?
Аноним 14/11/23 Втр 00:13:59 #42 №2920886 
>>2920883
Во всём кроме перформанса. Только скоро завезут React Forget и тогда он ещё и по перформансу будет попускать никому не нужную китайскую подделку.
Аноним 14/11/23 Втр 00:23:55 #43 №2920898 
Есть таблица, в ней может быть много строк, 1000 и больше. При клике на строку таблицы показывается модалка. Вопрос - как правильно вешать обработчик этого клика? Вуе и реакт предлагают вешать на каждую строку при их рендере. Но это же 1000 обработчиков будет. Это нормально?

Можно повесить на корневой элемент и проверять на что клик, но тогда мы вываливаемся из парадигмы фреймворков, то есть императивно что-то там делаем с элементами, проверяем.

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

Что делать?
Аноним 14/11/23 Втр 00:37:20 #44 №2920908 
>>2920898
реакт по идее сам такое должен оптимизировать, не ?
Аноним 14/11/23 Втр 00:37:50 #45 №2920909 
>>2920898
Виртуализацию списка делать
Аноним 14/11/23 Втр 02:47:12 #46 №2920928 
>>2920883
Так то были заснайпленные скриншоты в пик популярности айти, а тут рандомный оффер открыл отличный показатель того, как обесценилось искусство в наше время.
Аноним 14/11/23 Втр 04:10:43 #47 №2920933 
>>2919967
Какой ещё нахер рынок США в Томске?
Аноним 14/11/23 Втр 04:13:44 #48 №2920934 
>>2920454
Пользовался. Ещё сам несколько раз писал и рефакторил разные реализации виртуальных списков.
Так вот, все либы это набор костылей и граблей, а виртуальный списки – это действительно одна из самых сложнейших задач, а не всякие поиски путей.
Аноним 14/11/23 Втр 06:09:16 #49 №2920944 
https://codesandbox.io/s/react-window-with-table-elements-d861o?file=/src/index.tsx
Вот типовая задача отрендерить большой список. Через пять минут встает задача отрендерить большую таблицу и мы получаем это.
Почему так? Почему веб в таком говне? Потому что реактомакаки умственно отсталые долбоебы. Не смогли всей индустрией написать нормальный список за 10 лет.
Аноним 14/11/23 Втр 06:38:17 #50 №2920952 
>>2919926 (OP)
КАК СДЕЛАТЬ ЦЕПОЧКУ ПРОКСИ?

Допустим

let output = createProxy("proxy1:port1", "proxy2:port2");

// output: 127.0.0.1:1337 - и его дальше уже юзать можно для соединений и все запросы будут идти вот так Node.js -> proxy1 -> proxy2 -> Веб сайты и тд
Аноним 14/11/23 Втр 06:59:48 #51 №2920967 
>>2920150
Что тебя удивляет? data непонятно откуда берется, то что у тебя service определенного типа никак не говорит о том, что данные такого же типа.
Аноним 14/11/23 Втр 07:04:11 #52 №2920971 
>>2920228
То что чел конспект хороший написал никак не делает из него разраба.
Этот даун за час не смог сделать 2 типовые задачи.
Аноним 14/11/23 Втр 07:08:35 #53 №2920974 
>>2920454
Всё хуйня кроме @tanstack/react-virtual, у него нет лишнего обвеса, который только мешает, при этом есть всё чтобы сделать виртуальный список с нужным тебе UI-ем
Аноним 14/11/23 Втр 07:33:02 #54 №2920983 
>>2920974
Выглядит збс, спасибо.
Аноним 14/11/23 Втр 09:13:37 #55 №2920999 
>>2920797
Можно, хотя дело не в фреймворке.
>>2920836
ого, спс
Аноним 14/11/23 Втр 12:30:41 #56 №2921231 
Что делать для практики на фронте, кроме туду, калькуляторов и задрачивания алгоритмов?
Не знаю что на том же жс делать - фантазии нет. Покрасить что-нибудь при нажатии на кнопку? Это же меньше одного процента от всех возможностей жс. Как применять все, большинство или хотя бы половину возможностей языка?
Может есть список реальных проектов, а не "туду, калькуляторы и задрачивание алгоритмов"?
Аноним 14/11/23 Втр 12:57:14 #57 №2921277 
>>2921231
Дебик?

> задрачивания алгоритмов
Задрачивать их нужно, но только для собесов

> какие проекты делать?
Клон чего-то крупного. Спотифая, яндекс.музыки, вконтакте, двача, лайвлиба, аллаха.
А апишку можно взять либо у сервиса, клон которого делаешь, либо набросать моковую
Аноним 14/11/23 Втр 13:48:01 #58 №2921408 
>>2921231
тетрис сделай, будет интересно
Аноним 14/11/23 Втр 13:50:42 #59 №2921413 
>>2921231
Сделай админку.

Возьми нест, чтобы голову не ломать.
И делай на своем фреймворке лицо.

https://www.akveo.com/ngx-admin/pages/dashboard?theme=dark
Как вариант повтори все что тут есть. Всю админку.
Аноним 14/11/23 Втр 14:00:53 #60 №2921435 
Решил наконец перевести клиентскую часть пет-проекта на ES6 модули. Вопрос - как там правильно импортировать socket.io? Вижу пояснения только для сервера, а на клиенте как сраный "io" получить из импорта?
Аноним 14/11/23 Втр 14:02:59 #61 №2921439 
>>2921413
>показывает работы на 10 лет в человекочасах
>повтори всё
Аноним 14/11/23 Втр 14:04:54 #62 №2921443 
>>2921439
А ты думал показать себя какой-то примитивной хуйней? Так ты не выделишься среди миллионов вкатунидзе.

Единственный недолгий, но сложный вариант, который приходит в голову, так это конструктор чего-то (сайтов) или канбан доска с перетаскиванием карточек

мимо ларавель + вуе-нухт фулхем
Аноним 14/11/23 Втр 14:07:13 #63 №2921447 
>>2921443
Не отвечай мне я тупею от твоих постов.
Аноним 14/11/23 Втр 14:08:53 #64 №2921451 
>>2921439
Как тупой вкатун может отупеть еще больше? Тебе дают советы и тебе ответило 3 разных человека, дебич, а ты еще выебуешься
Аноним 14/11/23 Втр 14:11:16 #65 №2921454 
>>2921451
Я не вкатун. Просто твой совет тупой и ты тупой.
Аноним 14/11/23 Втр 14:11:42 #66 №2921456 
>>2921439
РЯЯЯЯЯЯЯ, Я ХОЧУ ПОПРАКТИКОВАТЬСЯ, НО СОВСЕМ НЕМНОГО И ВКАТИТЬСЯ НА 300КК В СЕКУНДУ
Аноним 14/11/23 Втр 14:12:43 #67 №2921459 
>>2921454
В чем тупость? Тупость это спрашивать, чем заняться и пытаться выставить себя не вкатуном. Хотя вопрос абсолютно тупой и вкатунский
Аноним 14/11/23 Втр 14:13:58 #68 №2921462 
>>2921456
Там будут сеньоры помидоры это делать большой командой несколько лет. Ты или семенишь или от этого совета IQ доски рухнуло на 20 пунктов.
Аноним 14/11/23 Втр 14:15:42 #69 №2921467 
>>2921459
Какой же ты тупой, господи. Я не спрашивал совет практиковаться и не вкатун. Я просто мимо проходил и поссал тебе в рот. Съеби уже.
Аноним 14/11/23 Втр 14:19:55 #70 №2921475 
>>2921456
Тоже проиграл с этого.

Скинул ссылку на сайт где есть куча разных свистоперделок/фишек/формочек, по сути все что делаешь джун-фронт.
>Аря, че так многа, 10 лет пилить!

>>2921439
Какие нахуй 10 лет?
Полгода - максимум. Это если еще хуи пинать. И если все пиксель в пиксель.
При этом ты и таблицу сделаешь, и дерево сделаешь, и попап сделаешь, и остальные 100500 штук.
Да и не обязательно все делать, но уже и все так ясно.
Аноним 14/11/23 Втр 14:23:19 #71 №2921483 
>>2921475
И кто еще тут вкатун лол. Так проебываться по срокам...
Аноним 14/11/23 Втр 14:39:33 #72 №2921514 
>>2921483
Я литерали за полгода +- подобную админку сделал.

При этом там не чисто демо функционала компонентов, а раб. страницы, коих +-150, + компоненты и тесты на каждый пук.

Ну, собственно, тут и видно какой ты не вкатун, раз по срокам так пробываешься.
Аноним 14/11/23 Втр 14:44:06 #73 №2921525 
>>2921514
А работаешь ты пиздаболом на дваче.
Аноним 14/11/23 Втр 14:45:39 #74 №2921531 
>>2921525
Иди, крч, красивую тудушку сделай, попрактикуйся.
Аноним 14/11/23 Втр 14:48:02 #75 №2921538 
Если я пишу в одном файле:
export let DEBUG = 1
а потом где-то меняю его значение, то в прочих файлах импортированное значение не обновится?
Аноним 14/11/23 Втр 14:48:13 #76 №2921539 
>>2921514
Или ты типа считаешься что если ты написал
<Grafik/>
<Todoshka/>
<Slider/>
Это ты считаешь за разработку админки? Если это всё из готового собрать то за полгода можно. А в чем тогда практика для вкатуна? Если с нуля делать, на голом реакте например то десять лет запросто.
Аноним 14/11/23 Втр 14:58:04 #77 №2921560 
image.png
image.png
image.png
image.png
image.png
image.png
>>2921539
Таблицу можно за день сделать.

Календарь за пару часов делается.

Что там еще? Карта? Ну, понятно, что карту с нуля не делают, ну а этот вкатун хотя бы раз карту интегрировал? Кластеры делал? Поиск?

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

Аккордеон 10 лет делать? Да вроде нет.

Редактор сложно что ли сделать? Ну ладно, пусть будет неделя. Хотя мне не понятно хули там неделю делать.

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

Табы пару лет пилить? Там чисто версткой можно.

10 лет разве что хуи пинать.
Понятно, что там вкатун, но админки-магазины - это буквально 90% работы джуна.

Где сложность? Сложно 150 страниц нашлепать и не засрать проект.
Аноним 14/11/23 Втр 14:59:28 #78 №2921565 
>>2921560
Двачую адеквата. Ленивые дауны-вкатуны совсем нихуя делать не хотят для сотыг
Аноним 14/11/23 Втр 15:03:51 #79 №2921572 
image.png
>>2921560
А вот эта вся хуйня невидимая. Я это увидел и у меня сразу же ассоциации с табами которые можно версткой только делать...
Аноним 14/11/23 Втр 15:09:03 #80 №2921578 
>>2920647
Ща буду пробовать. Алсо я не создавал sort key в моём email-index GSI. Может это поможет.

Нихуя не помогло. Ебал я в рот этот авс и его динамодб ёбаную, неудобное, говно. Я кончил. Работать с этой хуйнёй не хочу, просто не хочу.
Аноним 14/11/23 Втр 15:13:05 #81 №2921584 
>>2921572
Ну ок, чуть сложнее тудушки, там математика не нужна.
За неделю-две разберется.
Аноним 14/11/23 Втр 15:15:29 #82 №2921585 
image.png
>>2921584
Я вот такое 2 недели делал. И то получится говно где баг на баге.
Аноним 14/11/23 Втр 15:15:52 #83 №2921587 
>>2921584
Собственно, на мой взгляд самое сложное - редактор.
Куча нюансов. Да и хуй знает что пользователь тыкнет и в какой последовательности. А все это должно быть заранее обдуманно.
Аноним 14/11/23 Втр 15:19:58 #84 №2921594 
>>2921435
Разобрался сам. Точнее, проорал над тем, как оно сделано. Короче, нормального экспорта клиентского скрипта там нет, весь "экспорт" просто присваивается объекту window. Зачем огород с модулями, спрашивается. Хотя наверное по-другому универсальную либу и не сделать, из-за статической природы экспортов в ES6.
Аноним 14/11/23 Втр 15:36:01 #85 №2921620 
image.png
>>2921585
ну, понятно что мои "день-два" - это не время вкатуна, да и полурабочее говно будет.

я когда вкатывался и либу то иной раз не мог применить. тот же пример с календарем. пришлось в итоге либу пердолить чтобы сделать хотелку, чтобы под циферками были "тудушки".
до сиг пор висит на бегете полурабочая.
Аноним 14/11/23 Втр 15:46:04 #86 №2921642 
>>2921435
>>2921594
>Короче, нормального экспорта клиентского скрипта там нет, весь "экспорт" просто присваивается объекту window.
Чел, ты ничего не перепутал?
https://socket.io/docs/v4/client-initialization/
import { io } from "socket.io-client";
Аноним 14/11/23 Втр 15:49:26 #87 №2921651 
>>2921587
>самое сложное - редактор.
draftjs берёшь и всё

>>2921572
d3 берёшь и всё
Аноним 14/11/23 Втр 15:54:24 #88 №2921666 
>>2921651
>берёшь и всё
Без либ же.
Аноним 14/11/23 Втр 16:01:02 #89 №2921688 
>>2921413
И ни одной тени...
Аноним 14/11/23 Втр 16:03:52 #90 №2921699 
>>2921620
>это не время вкатуна
2 недели на дейтпикер с нуля это не для вкатуна срок.
Аноним 14/11/23 Втр 16:09:00 #91 №2921713 
>>2921666
В той вашей хуйне апач ечарт ваще-то
Аноним 14/11/23 Втр 16:11:17 #92 №2921721 
>>2921584
>чуть сложнее тудушки
Канвас это вообще перпендикулярно остальному джаваскрипту. Можно считать что это отдельный инженер. Всё равно что "а ну ты бекендер, МЛ это же бекенд, захуяч мне чатгтп. "
Аноним 14/11/23 Втр 16:15:45 #93 №2921729 
>>2921721
Джуны всегда оценивают задачу на два дня, а ебутся потом месяц. Сеньки оценивают на две недели, а ебутся три. Лиды оценивают на месяц, а делает задачу джун.
Аноним 14/11/23 Втр 16:20:32 #94 №2921743 
Как будет верстать по английский?
Аноним 14/11/23 Втр 16:23:13 #95 №2921754 
>>2921743
Pooping
Аноним 14/11/23 Втр 16:26:45 #96 №2921762 
>>2921743
Verstation.
Аноним 14/11/23 Втр 16:27:22 #97 №2921766 
>>2921688
Тени пару лет делать надо будет.
Аноним 14/11/23 Втр 16:32:05 #98 №2921784 
>>2921699
Чому нет? Самое сложное в нем отрисовать дни по месяцам + покрасить дни из другого месяца.
Тыкнуть на день и получить валюес не так уж и сложно.
А, ну хотя выбор двух дат и покраска промежутка - да, тут сложно.
Аноним 14/11/23 Втр 16:39:36 #99 №2921812 
привет.
сколько просить мидлу+ фронту в дс?
200к?
Аноним 14/11/23 Втр 16:43:30 #100 №2921819 
>>2921754
>>2921762
Б2 господа подъехали.
Аноним 14/11/23 Втр 16:46:05 #101 №2921822 
16970999937970.mp4
>>2921754
>Когда сделали верстку на говновилде.
Аноним 14/11/23 Втр 16:49:06 #102 №2921826 
>>2921812
Паша, ты?
Аноним 14/11/23 Втр 17:11:00 #103 №2921864 
>>2921812
250-300, если в тир 1 компанию. В остальных 200-250.
Аноним 14/11/23 Втр 17:45:10 #104 №2921904 
>>2921812
120к, лучше 80к чтоб точно взяли
Аноним 14/11/23 Втр 18:15:24 #105 №2921959 
>>2921578
Лул эка ты слабак. У тебя было относительно простое задание. Хардкор там начинается с апи gateway, со step functions и со glue. Ты сам запутался в трёх соснах, не знаю что тебя так озадачило.
Аноним 14/11/23 Втр 18:21:16 #106 №2921973 
Screenshot20231114191836.png
>>2920967
>>2920405
Я знаю про перегрузку функций, сейчас привёл тип с помощью as, но это немного топорно. Думал, возможно есть более красивый вариант. Ну да ладно, на нет и суда нет. Так тоже сойдёт.

>>2920313
Не, там всё норм, как и должно быть.
Аноним 14/11/23 Втр 18:23:03 #107 №2921979 
>>2921973
>Не, там всё норм, как и должно быть.
Нихуя это не норм. Я нигде вчера в интернете не нашел такой хуйни чтобы унаследоваться от литерал константы.
Аноним 14/11/23 Втр 18:24:16 #108 №2921984 
>>2921979
А чё такова?
Аноним 14/11/23 Втр 18:26:40 #109 №2921989 
>>2921984
Наследоваться надо от класса или интерфейса.
Аноним 14/11/23 Втр 18:39:35 #110 №2922010 
>>2921989
Ой да ну почему это. Вот можешь навести мышью на testResponse и он будет разный тип возвращать в зависимости от того какая строка поступила в функцию https://www.typescriptlang.org/play?#code/C4TwDgpgBAtiAq5oF4oHIwHtMEcCuEaUAPugM4BOEAdvoQFCiRQAK2dUqA3lrgQFxQywCgEtqAcwC+jJFADKVWgU5QulGnUHCxkmbOYAxPNQDGwUZmoAlCGSzUyEADzwAfKvhQIAD2A0AEzJ0Xjo0eigoAH5WdgIIqEEvX39qIPIlMITImMVNeMjIwWoIADcICnp6ADMTc0tqKH9hW3srJ1dvP0DguERINwAKMkwYCH6IJIAaIVGIW2A8CmpBAENqEABKQWMzCytWhw73NQSqReXZsYWl6np9ZuBD9ohBgCJQgjeZnjjJqDejzeUk2jDsTzsR1ebw0ygg3zUsK0AKBIKAA
Аноним 14/11/23 Втр 18:46:44 #111 №2922022 
>>2922010
Это надо делать перегрузом >>2920405
У тебя говнокодище.
Аноним 14/11/23 Втр 18:53:17 #112 №2922028 
Анон, зачем ты продолжаешь вкат?
Разве не очевидно что джуну работу просто не найти?
Сложно, непонятно, так еще и безперспективно.
Аноним 14/11/23 Втр 19:03:56 #113 №2922043 
>>2921973
Пчел, какое ты нахуй хочешь решение по своему огрызку со склеенным скриншотом? Не знаю, в типах проеблася, констреинты не расставил.
> as
Выкинул типизацию нахуй, поделил на ноль, гуд эффин джоб.
Аноним 14/11/23 Втр 19:19:44 #114 №2922056 
>>2922028
Я - рантье, и кодомакакинг для меня просто хобби, в котором мне (пока) интересно разбираться.
Аноним 14/11/23 Втр 19:27:12 #115 №2922061 
>>2921959
В api gateway я создал несколько роутов, и сделал кастомный авторайзер без каких-либо проблем. Проблемы с бд меня просто убили нахуй. Я с монго работал, там всё было +- норм с ньюансами, с постгрессом тоже, затупов серьёзных не было. Тут же сука, куче ошибок, апиха sdk- говнище ёбаное, классы с одинаковыми названиями есть и в @aws-sdk/client-dynamodb и в @aws-sdk/lib-dynamodb. Если что-то не то импортонул, будет ошибка, которая тебе нихуя не скажет, что не так. Дока 3 версии сдк из говна. на стаковерфлоу темы по 5-6 летней давности. Кароче, я не доволен инструментом очень сильно. Бывает такое, что используешь что-то и пригорает жопа, но в этот раз пригорело сильнее всего.
Аноним 14/11/23 Втр 20:31:35 #116 №2922104 
>>2920886
>Только скоро завезут React Forget
Он не ускорит работу реакта. Его задача - упростить работу макакам, чтобы те руками юзмемы не писали.
Аноним 14/11/23 Втр 21:36:03 #117 №2922168 
>>2922043
>> as
>Выкинул типизацию нахуй, поделил на ноль, гуд эффин джоб.
С каких пор type assertion делит типизацию на ноль?
Аноним 14/11/23 Втр 22:03:31 #118 №2922215 
>>2921973
Сделай нормальный тип, либо на жс пиши, зачем тебе тс?
interface UnknownServiceData {
readonly serviceType: string;
readonly data: unknown[];
}
interface InvoicesData extends UnknownServiceData {
readonly serviceType: "invoices";
readonly data: Invoices[];
}
interface WebsitesData extends UnknownServiceData {
readonly serviceType: "websites";
readonly data: Websites[];
}

type ServiceData = InvoicesData | WebsitesData;

И всё, чисто, понятно, типизированно.
Аноним 14/11/23 Втр 22:05:38 #119 №2922219 
>>2922168
> нагородил хуйни
> не справился с управлением костылесепеда
AS ЕСМЬ МАКАКА, ЦАРЬ И БОГ ТАЙПСКРИПТА
Аноним 14/11/23 Втр 22:54:15 #120 №2922275 
>>2922219
Я не автор скриншота. Ты так и не ответил про type assertion. Может это ты как раз макака?
Аноним 14/11/23 Втр 22:58:34 #121 №2922277 
>>2922275
ты точно тайпскрипт изучал?
Аноним 14/11/23 Втр 23:00:41 #122 №2922281 
>>2922277
А ты?
Аноним 14/11/23 Втр 23:01:59 #123 №2922282 
>>2922281
Что такое x as Type?
Аноним 14/11/23 Втр 23:05:07 #124 №2922284 
>>2922104
Там ещё про useCallback. Многие ни то, ни другое не применяют там, где это было бы прибавку в перформансе. Так что когда выпустят React Forget, такие люди получает неплохую прибавку в перформансе без каких-либо заёбов.
Аноним 14/11/23 Втр 23:18:14 #125 №2922291 
>>2922282
Type assertion.
Аноним 14/11/23 Втр 23:30:34 #126 №2922307 
>>2922291
Для чего и когда это гуд, а когда не гуд?
1) let x = "test"; let y = x as unknown as number;
2) let x = JSON.parse('{"a": 1}') as {a: number;}
3) let x = {a: 1} as {a: number;}
Аноним 14/11/23 Втр 23:33:17 #127 №2922309 
>>2922275
Ты же понимаешь, что as кроме полутора случаев, один из которых кривая стандартная типизация стандартных функций прототипов где не инферится тип - не нужен нахуй и является дичайшим нахуй костылём?

С того что он скинул - as там нахуй не нужен. Но он изобретает велосипеды, обмотал изолентой и ебанул клей момента, потому что собрал велосипед - а запчасти то остались!
Аноним 15/11/23 Срд 01:18:22 #128 №2922355 
>>2906003 →
>И сидеть по году без работу, попутно будучи выебанным вопросами про [] === ![] даже с годом-двумя работы?
Блять, двачую, на одном собесе начали спрашивать хуету вроде typeof NaN или undefined == null или 0.1 + 0.2 !== 0.3 такое чувство что я был на презентации топ-10 ебанутых трюков в JS

БАЗА ТРЕДА
Аноним 15/11/23 Срд 01:29:29 #129 №2922360 
image.png
Кто знает, есть смысл ебаться с nginx для аппок на нексте?
Аноним 15/11/23 Срд 01:35:23 #130 №2922365 
>>2922360
рибята кто знает если смисял БЯБЯБЯБЯ БИБИБИ БУБУБУ
Аноним 15/11/23 Срд 06:48:12 #131 №2922442 
>>2922360
С чем ты там ебаться собрался? Нжинкс всё за тебя делает, ты просто нужный коныиг пишешь и всё. Это как спросить "стоитли ебаться с микроволновкой ддя разогрева еды???", ну если ты дегрод и для тебя это очень сложно, то конечно стоит
Аноним 15/11/23 Срд 11:59:42 #132 №2922666 
че если не фронтенд? какие области в айти имеют меньше конкуренции для начинающего и хорошие перспективы? долгое время изучал всякие технологии фронта по реакту, когда начинал вообще изучать все это думал на скиле вывезу и смогу выделиться среди массы, но сейчас на все это уже смотрю не так оптимистично: действительно большое кол-во откликов на вакансиях, люди крутят опыт => рекрутерам сложнее делать отбор, вакансий мало для нубов. у меня в резюме стоит год опыта(фейк) не приглашают)))))
Аноним 15/11/23 Срд 12:06:05 #133 №2922687 
>>2922666
1С, php, C++ на завод поддерживать легаси и легаси виндовз формы.
Аноним 15/11/23 Срд 12:06:41 #134 №2922689 
>>2922687
Да, забыл про нюанс с заводом: нужна вышка.
Аноним 15/11/23 Срд 12:32:54 #135 №2922724 
>>2922442
Ну так для готовки не только микроволновку (нжинкс) придумали. Нахуя вообще нжинкс юзать если некст сам себя хостит на ноде?
Аноним 15/11/23 Срд 12:42:28 #136 №2922742 
>>2922724
Чтобы сайт был доступен не по айпи адресу с портом, а по домену.
Аноним 15/11/23 Срд 12:45:53 #137 №2922746 
>>2922724
1) задудосят. нжинкс проще и бесплатней масштабировать
2) статику раздавать как следствие п 1)
3) взломают, шеллкодов в жопу напихают. некст слишком сложный и не тестированый, чтобы прямо в интернет торчать и ты туда еще говна из npm наваливаешь
4) нжинкс как реверспрокси. у тебя может быть 100500 приложений/микросервисов на одном домене
Аноним 15/11/23 Срд 12:46:02 #138 №2922748 
>>2922666
Мобильная разработка, бекенд на го и джаве
Аноним 15/11/23 Срд 12:46:23 #139 №2922749 
>>2922360
Сойджак брысь с двача
Аноним 15/11/23 Срд 12:46:34 #140 №2922750 
>>2922742
Это днс провайдер решает а не нжинкс
Аноним 15/11/23 Срд 12:47:29 #141 №2922752 
>>2922748
>Мобильная разработка, бекенд на го и джаве
>666
Согласин
Аноним 15/11/23 Срд 12:49:46 #142 №2922754 
>>2922750
Ок, можешь домен проксировать в клаудфларе, но проксировать порты лучше и проще энджинксом, на клаудфларе это либо костыльно, либо за деньги.
Аноним 15/11/23 Срд 12:50:03 #143 №2922755 
>>2922746
А одного AWS не хватит чтобы решить все проблемы? (кроме цены)
Аноним 15/11/23 Срд 12:50:37 #144 №2922757 
>>2922749
Кланяйся
Аноним 15/11/23 Срд 12:52:29 #145 №2922758 
>>2922755
AWS это свою жопу отдать на хранение и обслуживание большому дяде. Дядя может в любой момент развернуться и уйти с твоей жопой.
Аноним 15/11/23 Срд 12:55:03 #146 №2922761 
>>2922754
Речь наверно шла об одном приложении на 80 или 443 порту. Если у тебя 100500 сервисов в интернет смотрят то естественно нужен реверспрокси
Судьба Frontend после 2025 и node js Аноним 15/11/23 Срд 13:06:37 #147 №2922778 
18 лвл, учил фронт 2 года назад, даже на реактике писал всякие проекты, даже делал свой fullstack-проект на react + node JS (именно потому что надо было, а не просто так). Потом по какой-то причине забил хуй, хотя по уровню знаний точно был на 50% джун (нет, я себя не переоцениваю). Учиться ещё 3 года на тупой бесполезной специальности. Вот сейчас решил продолжить вкат
суть: что будет с фронтом после 2025 года? Заменят ли нейросеть? Будет ли избыток даже тех же миддлов на рынке фронта?
А фуллстак? Будет ли актуален стек react + node JS?
Пишу про ноду, потому что считаю, что чисто на одном фронте уж точно не вывезешь в дальнейшем.
Так что доп. вопрос: а что по node js? Или в бэк стоит выбрать что-то другое, петухон там и тд?
Аноним 15/11/23 Срд 13:12:57 #148 №2922791 
>>2922778
Ищи кабана, лучший стек и все прочее, но не забывай пилить свой пет, который может стать твоим личным бизом в будущем. Нода для последнего очень даже хороша, потому что не требует много времени и экспертизы на запил фич + говнокод на жаваскрипте от чатгпт проще внедрить в проект, чем говнокод на плюсах и т.п "взрослых" языках.
Аноним 15/11/23 Срд 13:15:49 #149 №2922798 
>>2922791
Так все же, что меня ждёт в 2025 как фронтовика джуно-миддла, дай Б-г, фулл стек?
Аноним 15/11/23 Срд 13:16:31 #150 №2922799 
>>2922778
Фуллстек всегда был хуже, это чисто для извращенцев, которым хочется за те же деньги продавать большее количество знаний.
Мидлов и так избыток, слишком много лоускиллов среди них. Хотя за низкий прайс и они устраиваются.
С нодой всё нормально кроме количества вакансий в постсоветском пространстве. Меня это не смущает, потому что я уже больше пяти лет работаю как раз бекендером на ноде, но для вкатывальщика будет профитнее тот же го. Нода на западе более популярна, для стартапов отлично подходит, а стартапы это почти всегда Америка.
Аноним 15/11/23 Срд 13:17:42 #151 №2922801 
>>2922799
Кароче, нахуй этот фронт. Как я понял, есть более актуальные сферы, то же го
Аноним 15/11/23 Срд 13:18:27 #152 №2922803 
>>2922798
фулкек ждет всех крудошлепов. нодерам в этом смысле попроще, потому что уних один один движок от гуглхрома на беке и фронте.
Аноним 15/11/23 Срд 13:19:28 #153 №2922807 
>>2922798
Будет тяжело устроится, рекомендую дрочить базу, то есть алгоритмы и литкод, после чего на последнем курсе универа устраиваться стажёром в КОТВАСЯ. А там уже до 300кк/нс продвинешься за несколько лет не меняя место работы при желании. В тинькове, например, в последнем наборе было 12к кандидатов, из них что-то в районе 150 взяли на стажировку.
Аноним 15/11/23 Срд 13:21:46 #154 №2922812 
>>2922807
Рекомендация скажем так себе - пролезть через игольное ушко. Это не для каждого
Аноним 15/11/23 Срд 13:25:18 #155 №2922818 
>>2922812
На стажёра берут, если нормально алгоритмы знать. Альтернатива это пиздеть в резюме и надеятся что какая-нибудь тир 3 галера тебя не спалит и возьмёт за низкий прайс красить кнопки. Лучше уж стажёром в бигтех, там и зарплата будет не сильно меньше, и опыт лучше, и строчка в резюме.
Аноним 15/11/23 Срд 14:50:29 #156 №2922898 
16987151943220.jpg
Здарова формошлепы.
Мне через 3 года 40 лет, бросаю бухать и думаю чем бы заняться, есть ли смысл тыкаться в жабускрипт вашу или нахуй оно уже не надо, тем более в моем нежном возрасте, и лучше петухона ковырять как средство от деменции?
Раньше сто раз пытался вкатываться, еще в универе ковырял хтмл, но дальше css не ушел.
Не особо умный, вообще не усидчивый, но к сраке лет понял что лучше понемногу но систематически, чем обосраться с наскока.
Мож чего посоветуете дедугану.
Аноним 15/11/23 Срд 14:52:41 #157 №2922901 
>>2922898
Советую тебе оформить пенсию по шизе. Особенно если ты в мск и у тебя хата есть.
Аноним 15/11/23 Срд 14:52:42 #158 №2922902 
>>2922898
если не нравиться сидеть за компом лучше даже не думай иди постой на заводе
Аноним 15/11/23 Срд 14:58:49 #159 №2922913 
>>2922898
Попробуй тестировку (QA)
Hr на возраст смотрят, но работу можно в любом возрасте.
При всем уважении к возрасту, читай нью фаг тред и изучай направления в программировании прежде чем, куда-то тыкаться.
Аноним 15/11/23 Срд 14:59:01 #160 №2922914 
>>2922901
Совет хороший, жаль ни хаты в дс ни шизы.
>>2922902
За компом я всю жизнь, и работаю и дома сижу, я имел в виду усидчивость в плане обучения и вката. Но я не столько о вкате а думаю просто чемто заняться полезным для мозга, но желательно конечно чтобы оно хоть как-то перспективно было, мало ли зайдет, сьебу за бугор скажу что я идентифицирую себя зумером и мне 15, пусть попробуют не взять на работу.
Аноним 15/11/23 Срд 15:06:06 #161 №2922936 
>>2922913
> При всем уважении к возрасту
Возраст сам по себе никакого уважения не заслуживает, это я как дед официально заявляю.
Qa не интересно, тут хоть какоето творчество, результат.
По поводу направлений я примерно в курсе, и очень сомневаюсь что смогу в чтото серьезное, где матан и всякие страшные вещи. Честно хуй знает за столько лет так и не понял чем хочу заниматься, по фронту вроде как просто считается относительно осваиваемое, вот в факе да и от других слышал что можно за год освоить уровень ждуна, в моем случае пусть два, но это уже чтото, а учить какието джавы или сисярпы непонятно зачем и для чего, хуй знает. Тут в крайнем случае хоть за еду можно будет поработать, если вдруг без работы остаться. Хотя перегрев конечно ебейший.
С другой стороны раз за столько лет даже цсс крепко не освоил, то щас то чего выебываться. Но как будто бы снова появилось желание, хуй знает.
sage[mailto:sage] Аноним 15/11/23 Срд 15:22:39 #162 №2922970 
>>2922898
Я в 30 вкатился, но ишачил для этого 2 года непрерывно. А щас пашу ещё больше, после работы на второй работе (самообучении)
С полного нуля на фулстака. Питон + JS.
Но Питон плоховатый вариант, потому что ну банально зайди в Пайтон тред на этой доске. Какие-то дебилы пишут тупые вопросы. И таких вкатышей миллион. А работы на Питоне мало и куча работы это всякое дерьмо где математика нужна.
Но у Питона есть одно очень важное преимущество. С него можно начать, будучи дебилом с 9 классами образования. Я таким был.
Я даже классы не понимал поначалу, что такое. Тупо не мог понять и всё ООП это. Какие-то инфоцыгане писали про эти чёртовы class Animal; экземпляр cat, dog класса Animal. Нихуя непонятно! И я не мог найти реальных примеров применения классов. Как меня это бесило.
Что бы со мной было, если бы я вкатывался в более сложный язык? Не знаю.
А вот благодаря Питону, я смог кое-чему научится и потом уже вошёл в ритм.
Аноним 15/11/23 Срд 15:29:05 #163 №2922982 
>>2922970
А что сложного в классе? Это типа как множество же.
Бля ну ты красава анончик в любом случае. То что успехов добиваются талантливые, это пиздеж - успеха добиваются упорные. Самодисциплина, систематичность, упорство.
Аноним 15/11/23 Срд 15:36:39 #164 №2922993 
Нас в универе учили паскалю, и в школе немного.
Там была просто тупо математика, с минимумом алгоритмов.
Но поскольку у меня комп только в середине 1 курса появился, то я был страшно далек от всего этого. Я к появлению компа уже неплохо бухал и не только, сублимировал так сказать, потом в игры залипал разумеется. Да и вообще по ходу аутистом был непуганым, спасибо мамке за гиперопеку. Понимание чегото близкого к реальности началось годам к 25, но все силы были брошены на вылезаторство, сброс листвы и поиски тяночки, которая таки была найдена и так были проебаны еще 5 лет жизни, в начале 30х только освободился от этого наваждения, и уже вроде как пуксреньк, а время летит стремительно и вот уже 37.
Программируйте пацаны изо всех сил, не будьте дебсом как я.
Аноним 15/11/23 Срд 15:39:10 #165 №2922998 
>>2922982
>А что сложного в классе?
Это как спросить, а что сложного в этой вашей алгебре логики, теории множеств, ТФКП и прочем говне, в котором знакопеременный ряд даёт сумму в -1/12. А тут тебе говорят: лол, ты чё, абстракциями мыслить не можешь?
Или типичный выпускник микромакромехмата, который настолько привыкает к своим абстракциям и монадам, что не может посчитать в магазине сколько ему должны сдачи дать.

Алсо соглашусь с >>2922970, примеры с котопсами - уебанские.
Алсо примеры с фигурами, от которых наследуют квадратики и круги - тоже.
Хоть я и вкатывался с языка со строгой статической типизацией, пропитанным ООП головного мозга.

мимо
Аноним 15/11/23 Срд 15:42:43 #166 №2923001 
>>2922998
То есть класс это не множество?
Аноним 15/11/23 Срд 15:50:09 #167 №2923012 
https://govnokod.ru/javascript
Аноним 15/11/23 Срд 15:50:53 #168 №2923014 
>>2923001
Давай напишу иначе: когда человек с этим никогда не сталкивался, нужно сделать ментальную гимнастику, чтобы перестроить своё мышление и начать оперировать теми или иными сущностями.
Аноним 15/11/23 Срд 15:53:24 #169 №2923016 
МВП протек.
Аноним 15/11/23 Срд 15:56:54 #170 №2923022 
>>2923014
С этим не спорю.
У меня есть определенный бэкграунд и даже чтото читал про программирование, поэтому конечно это не то же самое что мне бы это сказали после 9 класса.
Но все же мне не кажется концепция класса такой же сложной как то что ты перечислил, просто потому что это всего лишь одна концепция.
Щас чекнул еще про наследование, инкапсуляцию и полиморфизм, вроде тоже понятно. А вот если надо придумать как чтото посчитать, типа алгоритм, у меня ступор нахуй.
Надо было на фелософа идти, уже бы спился давно и не мучился, лол.
Аноним 15/11/23 Срд 16:40:06 #171 №2923117 
>>2923022
С классами всегда проблема у тех кто только начинает вкатываться в программирование. Тебе дают синтетические примеры на фигурах, собачках и кошечках. А ты должен из этого понять как адекватно выстраивать наследование или компоузить от разных интерфейсов. Наверх ещё какие-то абстрактные классы, абстрактные методы, виртуальное перегружаемое говно.

Также как в JS вкатунов постоянно ломает с понятия иммутабельности. Даже где-то в канторе ссылки/GC разъясняют на магических коробочках, которые друг на друга ссылаются.

Аналогично ломает, когда помимо референсов ещё и указатели на память появляются, а до этого человек не задавался вопросами как оно там работает и хранится. А что можно было указатель указателей сделать?
Аноним 15/11/23 Срд 21:02:02 #172 №2923485 
>>2922982
>А что сложного в классе? Это типа как множество же.
Не множество, а АТД. Множество это вообще другой тип данных.

>>2923001
>То есть класс это не множество?
Нет. Это АТД.
Аноним 15/11/23 Срд 21:10:53 #173 №2923498 
>>2922970
>Я даже классы не понимал поначалу, что такое. Тупо не мог понять и всё ООП это.
Правда в том, что никто на самом деле его не понимает. Кто говорит, что понимает, только думает или делает вид, что понимает. Множество известных в Computer Science специалистов об этом писали. Просто большиство людей, даже в сфере программирования, необразованные и глупые, поэтому ООП стало популярным.
https://habr.com/ru/companies/vk/articles/307168/
https://habr.com/ru/companies/ruvds/articles/428582/
Аноним 15/11/23 Срд 21:23:38 #174 №2923519 
>>2922970
Объектно-ориентированное программирование — чрезвычайно плохая идея, которая могла возникнуть только в Калифорнии.
— Эдсгер Вибе Дейкстра

К слову, Калифорния родина содомии и прочего разврата. В Калифорнии первой в мире открытый гей занял государственный пост и пошло движение за легализацию извращений.
Аноним 15/11/23 Срд 22:28:43 #175 №2923585 
>>2922284
> Так что когда выпустят React Forget, такие люди получает неплохую прибавку в перформансе без каких-либо заёбов.

Ключевое слово - "когда". Когда, блядь? Эту хуйню уже года 2 обещают по моему, чем разрабы реакта вообще заняты?
Аноним 16/11/23 Чтв 01:54:28 #176 №2923676 
>>2923585
По ней почти больше года не было новостей, но весны этого года уже несколько раз почтили обновления уже скоро релиз должен быть
Аноним 16/11/23 Чтв 03:28:34 #177 №2923692 
Какой у реакта аналог scoped slots из Vue? Гугл говорит, что render props, а в доке ректа говорят, что они устарели, используйте пользовательские хуки. А доке пользовательских хуков говорят, что внутри них используются обычные хуки. А мне не нужны обычные хуки в логике, которую я делал через scoped slots.
Аноним 16/11/23 Чтв 10:25:26 #178 №2923793 
>>2923485
> АТД.
> Формально АТД может быть определен как множество объектов, определяемое списком компонентов (операций, применимых к этим объектам, и их свойств)
Ну и зачем ты пытаешься наебать дедушку? Не стыдно?
Аноним 16/11/23 Чтв 12:11:33 #179 №2923903 
>>2923692
А какая там логика?
Аноним 16/11/23 Чтв 13:17:15 #180 №2923952 
>>2923903
Дочерний компонент прокидывает переменные в парент. .
Аноним 16/11/23 Чтв 13:45:31 #181 №2924013 
>>2923952
Передай в дочерний компонент метод и вызови его с данными которые надо передать
Аноним 16/11/23 Чтв 13:56:54 #182 №2924024 
>>2924013
А как его вызывать. Допустим я передаю в дочерний элемент строку, дочерний должен её развернуть, а потом в паренте в слот запихнуть перевёрнутую строку
Аноним 16/11/23 Чтв 13:58:33 #183 №2924026 
>>2924024
Хотя логика дебильная конечно принцип KISS не соблюден и мб это нахуй не надо.
Аноним 16/11/23 Чтв 14:14:42 #184 №2924061 
>>2924024
Так ее можно в паренте перевернуть, почитал про слот и нихуя не понял, ты передаешь данные из чаелда в парент, чтобы обратно их в этот же чаелд передать?
Аноним 16/11/23 Чтв 14:25:46 #185 №2924077 
>>2924061
> Так ее можно в паренте перевернуть, почитал про слот и нихуя не понял, ты передаешь данные из чаелда в парент, чтобы обратно их в этот же чаелд передать?
Да. Тоже считаю если есть какая-то логика которую тебе надо реализовать посередине парента и чайлда, её надо реализовать просто сбоку а не устраивать вот эти передачки хуй пойми откуда куда.
Аноним 16/11/23 Чтв 14:27:07 #186 №2924080 
>>2924077
Даже в логике самого вуе это нахуй не надо. Там передаешь вниз пропы и вверх эвенты.
Аноним 16/11/23 Чтв 14:49:57 #187 №2924112 
>>2924080
Надо. Классический пример - компонент кастомизируемой таблицы
<table-comp :rows="rows">

<table-head name="id">ID</table-head>
<table-head name="name">Name</table-head>

<table-column #id={{row}}> <span>{{ row.id}}</span> <table-column>
<table-column #name={{row}}> <span>{{ row.name}}</span> <table-column>

</table-comp>

мимо
Аноним 16/11/23 Чтв 14:52:56 #188 №2924115 
>>2924112
<table-column #id="{row}"> <span>{{ row.id}}</span> </table-column>
<table-column #name="{row}"> <span>{{ row.name}}</span> </table-column>

должно быть конечно же
Аноним 16/11/23 Чтв 15:00:48 #189 №2924132 
>>2923692
>у реакта аналог scoped slots из Vue
React.cloneElement
Аноним 16/11/23 Чтв 15:04:44 #190 №2924137 
>>2924115
<table-comp :rows="rows">

<template #col-head-id>ID</template >
<template #col-head-name>Name</template >

<template #col-id="{row}"> <span>{{ row.id}}</span> </template >
<template #col-name="{row}"> <span>{{ row.name}}</span> </template >

</table-comp>


Извиняюсь . Не смог по памяти написать. Забыл синтакис вуя уже
Аноним 16/11/23 Чтв 15:21:15 #191 №2924150 
>>2924112
В реакте это передаешь в таблицу функцию которая рисует ряд, в функцию прилетает id и всё остальное.
Аноним 16/11/23 Чтв 15:28:11 #192 №2924159 
>>2924150
Да помню был вкатуном в мелкой галере лет 7 назад, наделал таблиц в админке на рякте табличных елементах. О гридах еще не знал. Все летало со скоростью катка по свежему асфальту...
Аноним 16/11/23 Чтв 17:11:35 #193 №2924311 
>>2924132
Депрекатид
Аноним 16/11/23 Чтв 17:30:09 #194 №2924322 
>>2923793
Тут имеется ввиду, что абстрактный АТД это множество объектов, но мы говорим о конкретном АТД, а именно об объекте наследованном от класса. Это уже не множество, а один конкретный АТД. И под множеством подразумевается не математическое понятие множества.
Аноним 16/11/23 Чтв 20:43:32 #195 №2924610 
>>2924311
Ты скозал? Покажи пруф.
Аноним 16/11/23 Чтв 21:23:54 #196 №2924660 
>>2924610
https://react.dev/reference/react/cloneElement
> Legacy React APIs
>These APIs are exported from the react package, but they are not recommended for use in newly written code. See the linked individual API pages for the suggested alternatives.
Аноним 16/11/23 Чтв 21:25:45 #197 №2924664 
image.png
Сап двощ. Есть два поля в фаербейзе startDate, endDate
нужно сделать квери чтобы отфильтровать по интервалу между ними, но в фаербейзе нельзя делать такое

https://firebase.google.com/docs/firestore/query-data/queries#compound_and_queries

Как такую кверю выполнить? Единственный вариант который вижу это сделать 2 запроса и объединить через Set(хуета)
Аноним 17/11/23 Птн 04:31:20 #198 №2924923 
Стикер
>>2924159
Поясните, чем плоха таблица на та табличных хэлементах? И чем имитация на гридах лучше?
Аноним 17/11/23 Птн 09:27:02 #199 №2924991 
>>2924923
Хотя бы тем что таблицы это говно мамонта и плохо стилилизуется через css. Но в css завезли свойства для таблиц и можно любой див сделать с табличным поведением. Чем одно время успешно пользовались для создания адаптивных таблиц, до появления гридов.
Аноним 17/11/23 Птн 09:29:17 #200 №2924995 
>>2924991
Даун
Аноним 17/11/23 Птн 09:31:45 #201 №2925000 
>>2924995
Приятно познакомиться, Даун. Меня зовут Умница.
Аноним 17/11/23 Птн 09:35:11 #202 №2925003 
>>2924991
И почему на гридах "имитация"?
Аноним 17/11/23 Птн 09:44:35 #203 №2925010 
>>2924923
Таблицу надо делать таблицей, ты общается с дауном вкатуном.
Аноним 17/11/23 Птн 09:53:38 #204 №2925018 
>>2925010
Кому надо? Что за шиза? Для SЕО? Так таблицы чаще делают во всяких админках и CRM-ках а не на сайтах. И часто тербование чтобы было респонзив, а не горизонтальные прокрутки.
Стедай такую таблицу на табличных элементах https://codepen.io/vasansr/full/PZOJXr
Аноним 17/11/23 Птн 10:10:13 #205 №2925029 
>>2925018
Таблица сделанная таблицей это халяль. Семантическая верстка слышал? Но ты просто новый ньюфаг и у тебя тряска от таблиц, можешь не высирать мнение полученное с помощью тряски, оно инвалид.
Аноним 17/11/23 Птн 10:14:26 #206 №2925033 
>>2925029
Чел, я твоих семантичных таблиц за семь лет понаделал столько... Все принципы хороши, пока они не противоречат здравому смыслу.
Аноним 17/11/23 Птн 10:24:22 #207 №2925043 
>>2925033
>здравый смысл
Так это ты шиз, который хочет все таблицы гридами делать.
Аноним 17/11/23 Птн 10:33:13 #208 №2925061 
>>2925043
>все таблицы гридами делать
Откуда ты это вывел? Я только сказал что таблицы - это говно мамонта и у них quirck проведение. Может у тебя кейс где семантика важнее, или особенности рендеринга таблиц нужны, тогда использовать таблицы. Но бля почему если я делаю компонент для реюза в CRM, которая и на мобилках будет работать, наху мне твои таблицы?

ЗЫ. Упорутся одной идеей и несут ее в ущерб бизнесу. Вот из-за такой ригидной шизы у некоторых технарей кабаны предпочитают нанимать нормисов с гуманитарным мышлением....
Аноним 17/11/23 Птн 10:34:39 #209 №2925063 
>>2925061
>quirck проведение
quirck поведение
Аноним 17/11/23 Птн 10:36:00 #210 №2925068 
>>2925061
>ряя у меня тряска от таблиц они quirk давайте делать все гридами
Да не трясись ты.
Аноним 17/11/23 Птн 10:37:54 #211 №2925073 
>>2925068
Нет ты
Аноним 17/11/23 Птн 10:39:57 #212 №2925078 
>>2925073
Сходи сайт сверстай таблицами без дивов в дримвьювере. Преисполнишься.
Аноним 17/11/23 Птн 11:23:53 #213 №2925127 
image.png
Вот я сеньер но не научился до сих пор программировать на новых проектах. У всех так?

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


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

Я как муравей в чужом муравейнике.
Аноним 17/11/23 Птн 12:13:22 #214 №2925210 
>>2925127
Ну спроси додика который на этом же проекте дольше тебя че да как
Аноним 17/11/23 Птн 13:06:04 #215 №2925317 
>>2925210
Так я то спрошу, но у кабанчика складывается впечатление что я хуже джуна.

Уже попадал в такую ситуацию и сказал прямо что в проекте говно код, в итоге получил осуждение со стороны коллег, но уважение со стороны кабана.
Аноним 17/11/23 Птн 13:30:01 #216 №2925361 
>>2925317
Стукач ссученный! Еще и к начальству подлизываться, мужики не поймут. У нас на галере за такое мигом бы в жопу выебли!
Аноним 17/11/23 Птн 15:27:05 #217 №2925551 
>>2925361
Вот ты пришел в кафе, а тебе вместо чая налили мочу по ошибке.
Либо ты пьешь мочу и спасаешь повара от критики, либо стучишь и просишь переделать, поднимаешь всю кухню уши ...
Аноним 17/11/23 Птн 15:28:14 #218 №2925554 
@
ЧТО ТАКОЕ АБСТРАКТНЫЙ КЛАСС
@
ЭТО И ЭТО, А У ВАС ОНИ ИСПОЛЬЗУЮТСЯ?
@
НЕТ) ПРОСТО ПРОВЕРЯЮ ЗНАНИЯ, МЫ НЕ ИСПОЛЬЗУЕМ
Аноним 17/11/23 Птн 15:33:10 #219 №2925563 
>>2925554
Бред.
Аноним 17/11/23 Птн 15:36:01 #220 №2925566 
>>2925551
>по ошибке
А потом в рассерженных чувствах выбегаешь на улицу и видишь вывеску над дверью "Кафе для мочехлебов"
Аноним 17/11/23 Птн 15:37:54 #221 №2925568 
>>2925563
что именно
Аноним 17/11/23 Птн 15:38:46 #222 №2925570 
>>2925554
@
ЧТО ТАКОЕ КОРОНАРНОЕ ШУНТИРОВАНИЕ
@
ЭТО И ЭТО, А У ВАС ОНО ИСПОЛЬЗУЮТСЯ?
@
НЕТ ПРОСТО ПРОВЕРЯЮ ЗНАНИЯ, МЫ НЕ ИСПОЛЬЗУЕМ. У НАС БОЛЕЕ СОВРЕМЕННЫЕ ТЕХНОЛОГИИ
Аноним 17/11/23 Птн 15:40:06 #223 №2925572 
>>2925568
Это важное знание, его проверяют потому что программист обязан это знать и использовать где надо.
Аноним 17/11/23 Птн 15:46:49 #224 №2925588 
>>2925572
Нигде не надо использовать абстрактные классы.
Аноним 17/11/23 Птн 15:54:37 #225 №2925606 
>>2925563
Конечно. Они просто так ООП с классиками на реактовакансию спрашивают.
Там окажутся либо обособленные нитакусики с высокой культурой, либо у них там легаси, которому дай бог 5 лет, а не все 8. Где не слышали про тайпскрипт и функциональные компоненты.
Либо всё-таки это просто вопросы-фильтр.
Выбери свой вариант.
Аноним 17/11/23 Птн 16:03:20 #226 №2925627 
>>2925588
Мы вам перезвоним.
Аноним 17/11/23 Птн 16:04:08 #227 №2925628 
>>2925606
>А как насчет кандидату просто уметь программировать?
>Да не, бред какой-то.
Аноним 17/11/23 Птн 16:04:20 #228 №2925629 
>>2925588
Господи, какие же вкатыши тупые
Аноним 17/11/23 Птн 16:06:21 #229 №2925634 
>>2925606
Реактопараша это надстройка над ЖС. Тебя полностью вправе гонять просто по знанию ЖС. А ТС это еще больше ООП чем ЖС и там знать что такое абстрактный класс еще важнее.
Аноним 17/11/23 Птн 16:10:20 #230 №2925646 
>>2925634
Я тебя нахуй в макакосжигатель отправлю за неуместную лапшу из наследования без чувства меры, ПОНИЛ??!!

>>2925628
Как насчёт схлопнуть своё ебало со своими пуками? Да нет, это какой-то
>Бред.
Аноним 17/11/23 Птн 16:15:01 #231 №2925659 
>>2925627
>>2925629

Покажи где нужно использовать кроме Ангуляра.
Аноним 17/11/23 Птн 16:15:15 #232 №2925660 
Изображение WhatsApp 2023-11-17 в 20.13.205c9e71fb.jpg
Вкатун.
Аноним 17/11/23 Птн 16:39:15 #233 №2925704 
>>2925629
Вкатыш спок
Аноним 17/11/23 Птн 16:43:25 #234 №2925709 
>>2925606
Реактомакаки совсем погрязли в своём манямирке. Как будто не бывает вакансий с ангуляром.
Аноним 17/11/23 Птн 16:43:48 #235 №2925710 
>>2925659
Nest
Аноним 17/11/23 Птн 16:44:05 #236 №2925711 
>>2925659
Mobx
Аноним 17/11/23 Птн 16:46:50 #237 №2925715 
>>2925659
Не нужно, а можно. Если ты хочешь оставить тип после компиляции, но не хочешь позволять, чтобы были инстансы этого "интерфейса", чтобы явно потребовать реализации некоторых методов. Явное лучше неявного. Если бы это был просто класс, то небоходимость реализации методов была бы неявной. Но можно заменить это парой класс и интерфейс с нужными методами. или класс котрый исключение бросает в методах. Только зачем такие костыли, когда тайпскрипт позволяет создать абстрактный класс c методами без имплементации.
Аноним 17/11/23 Птн 16:50:17 #238 №2925719 
>>2925709
Пчел, я шёл собеситься на реактомакаку. Лайвкодинг с РиАкТоВыМ приложением. Интервьювера интересовало только как побольше классов напихать, синглтоны, IoC, стратегии, билдеры, 3 столпа ООП (4, тащем-то) etc.
Там ни слова не было про ангуляр и nest.
А теперь объясни: нахуя?
Отвечать на их перезвон я не стал.
Аноним 17/11/23 Птн 16:51:30 #239 №2925721 
>>2925719
А почиму ви здесь спгашиваете?
Аноним 17/11/23 Птн 16:52:13 #240 №2925722 
>>2925721
А таки зачем ви ето спгашивали?
Аноним 17/11/23 Птн 16:53:32 #241 №2925725 
>>2925719
>А теперь объясни: нахуя?
Хотели программиста нанять.
Аноним 17/11/23 Птн 16:55:19 #242 №2925726 
>>2925725
Надо было заинтересовать. А так неста у них нет, доднета с асп у них нет, спринга у них нет. Есть путонисты сатанисты. Ну и нахуя?
Аноним 17/11/23 Птн 16:56:06 #243 №2925727 
>>2925726
А прошло хуйло необразованное.
Аноним 17/11/23 Птн 16:58:19 #244 №2925729 
>>2925727
Ну вот пусть там и сидит. Сейчас бы менять галеру на галеру с несвежим легаси за 15% к миске риса.
Аноним 17/11/23 Птн 18:01:52 #245 №2925823 
>>2920952
бамп
Аноним 17/11/23 Птн 18:27:09 #246 №2925848 
>>2925711
>Mobx
нет, там это не нужно, не пизди.
Аноним 17/11/23 Птн 18:29:20 #247 №2925850 
Повторяю последний раз, абстрактные классы не нужны нигде кроме геймдева.


Давайте мне кейс где во фронте может потребоваться 3 уровня наследования? 1 уровень редкость...
Аноним 17/11/23 Птн 18:48:08 #248 №2925889 
>>2925850
Я только вчера смотрел JS код реакт приложения, от которого веело бэкендом ООП головного мозга.
Чел просто на ровном месте создал фабрику, а потом переиспользовал фабрику во второй фабрике.

Нужно только ООП обезьяну найти - а дальше макака всё сделает сама.

Не совсем классическое реакт приложение для саетов, больше как пример встройки кастомного интерфейса в webview другого софта, но уже этого достаточно.
Аноним 17/11/23 Птн 18:55:33 #249 №2925896 
Поясните шаряшие реакт мудрецы, как это сделать? Я не совсем поехал? Есть функция onChange, её нужно дебаунисить, но если пришла новая функция старую надо отменить. И нужна стабильную ссылка на функцию чтобы реакт не ререндерил просто так. Два варианта:
1) useRef и useEffect. В эффекте кенселим старую функцию, присваиваем рефу новую. Но при этом получается что в компоненты которые уже отрендерены ушла старая ссылка.
2) useRef и useMemo. Прямо в мемо кенселим старую функцию, присваиваем рефу новую и его же возвращаем. Теперь в компонентах свежая функция.

Но оба варианты выглядят как говно. Как сделать более ИДИМАТИЧНО? Сколько вожусь с реактом, до сих пор на место не стала семантика этих примитивов. В мемо с какого то хуя нельзя получить прошлое значение (которое и так блин кешируется реактом), а эффект работает только после ререндера. И если нужно подредачить стейт на основе уже НОВЫХ пропсов, то всё равно это выносят в эффект, где обновляют стейт, в итоге получаем лишний рендер просто с нихуя. Почему реакт такое говно?
Аноним 17/11/23 Птн 19:04:46 #250 №2925901 
>>2925850
В ts абстрактные классы можно использовать для DI, если тебе нужен тип зависимости в рантайме знать
Аноним 17/11/23 Птн 19:07:11 #251 №2925903 
>>2925901
Хоть и звучит это говнокодно...
Аноним 17/11/23 Птн 19:16:10 #252 №2925912 
>>2925127
может, ты не синьер?
Аноним 17/11/23 Птн 20:13:47 #253 №2925984 
>>2925896
https://github.com/streamich/react-use/blob/master/src/useDebounce.ts
Вот пример реализации.
Аноним 17/11/23 Птн 20:16:44 #254 №2925991 
>>2925850
Собственная либа набодобие jquery
Аноним 17/11/23 Птн 21:01:52 #255 №2926021 
>>2925127
У меня так же, половина непонятный говнокод, кабан ставит задачи хуй пойми как, на кофейной гуще надо гадать че он хочет. А остальные сидят на митах с таким еблом будто понимают че происходит. Я потом спросил у одного че за фигня, он говорит что все тупят и не понимают, но делают ебало что все на мази.
Аноним 17/11/23 Птн 23:58:52 #256 №2926227 
>>2926021
А тесты есть? Если хотя бы не думать о том как тестировать код который пишешь, то получается шляпа.
Аноним 18/11/23 Суб 00:27:29 #257 №2926267 
>>2926227
Какие тесты. Там разработка уровня "Надо сделать к вечеру я обещал". Лишь бы как-то работало. Там и требований к оформлению кода нет, как и минимальный рефакторинг. Не то что тесты.
Аноним 18/11/23 Суб 01:08:03 #258 №2926307 
>>2926267
Ну и нахуй ты там работаешь?
Аноним 18/11/23 Суб 04:01:22 #259 №2926366 
>>2925127
Ну бывают проекты таких размеров где один человек вообще не способен разобраться, там делят на зоны ответственности и каждый копошится в своей периодтчиески её расширяя.
Если это не твой случай, то не ссы, втянешься.
Аноним 18/11/23 Суб 09:55:52 #260 №2926468 
>>2926267
Это называется "сделали, отдали и забыли". Тоже был в таких проектах, так себе опыт. Хороший продукт так сделать не получится.
Аноним 18/11/23 Суб 10:54:50 #261 №2926483 
>>2925912
Меня больше бесят персонажи которые 20 лет опыта имеют, на их горбе проехало 5 галер, но они считают себя мидлами потому что эйчарка им про софтскилы сказала.
Аноним 18/11/23 Суб 13:01:16 #262 №2926603 
>>2926483
Да, демпингующие попущенцы это самый рак отрасли
Аноним 18/11/23 Суб 13:34:10 #263 №2926631 
image.png
image.png
Аноны, а вот эту вот всю хуйню из девтулз консоли можно подхватывать и в верстку ебануть? Консоль логи, ошибки нетворка, ошибки кода. Все-все.
Гопота, кст, говорит, что нет - низя.

Sorry, I cannot fulfill this request as it involves dynamically capturing and displaying console messages in real-time, which is beyond the capabilities of this platform.
Аноним 18/11/23 Суб 14:28:09 #264 №2926704 
tailwind.mp4
>tailwind
Аноним 18/11/23 Суб 15:11:34 #265 №2926789 
>>2926704
Всё правильно, катимся по законам Натана Мирвольда. Больше говнокода для утилизации ресурсов.
Аноним 18/11/23 Суб 15:36:18 #266 №2926816 
>>2926704
Че там происходит в этом шакальном мыльце?
Аноним 18/11/23 Суб 16:01:56 #267 №2926860 
>>2926307
Больше негде. Программисты нигде не нужны.
Аноним 18/11/23 Суб 19:33:56 #268 №2927148 
FSD кто-то использует? Выглядит как очередная хуйня для поднятия сложности и чсв
Аноним 18/11/23 Суб 19:56:52 #269 №2927215 
Юзеры свелте в проде хоть в каком-то виде ИТТ присутствуют? Неужели максимум ИТТ это рякт, вью, ангуляр и жквери?
Аноним 18/11/23 Суб 20:57:52 #270 №2927254 
>>2927215
У меня компонента на свелте в проде. Думаю с полтреда хоть раз да взаимодействовало с ней.
Аноним 18/11/23 Суб 21:09:17 #271 №2927276 
В свелтеките есть килерфича, для того чтобы убедить кабана использовать свелт. Можно для каждой страницы отдельно решить будет ли она на сервере чисто статически рендерится или на клиенте или будет гибридной.
Аноним 18/11/23 Суб 21:28:35 #272 №2927305 
>>2927254
Thank you kindly for reporting in, sir.
Аноним 18/11/23 Суб 21:46:28 #273 №2927328 
Мнение по поводу Flet, кто-нибудб его юзал?
Аноним 18/11/23 Суб 22:19:16 #274 №2927345 
>>2927276
И где тут киллерфича? Эта фича в рякте со времен как только сср появился есть.
Аноним 18/11/23 Суб 22:19:45 #275 №2927346 
>>2927328
>Python
У петушатников свой загон.
Аноним 18/11/23 Суб 22:20:37 #276 №2927347 
>>2926631
window.console.log = (...args) => document.body.append(JSON.stringify(args))
Аноним 18/11/23 Суб 22:21:57 #277 №2927348 
>>2927148
Я был на собесе в одну контору галера, которая его юзает. При этом они требовали его обязательное знание, с чем я успешно проебался. В итоге пошел в другую контору.
Аноним 18/11/23 Суб 23:31:57 #278 №2927390 
image.png
>>2927348
>FSD
Вы про нее говорите? Видос смотрел про нее, выглядит лучше чем дефолтное ничего, но хуже чем чистая архитектура от дяди боба, имхо
Аноним 19/11/23 Вск 00:03:10 #279 №2927425 
>>2927276
Кабан из твоего предложения ни слова ни поймёт.
Аноним 19/11/23 Вск 00:42:01 #280 №2927480 
Умоляю объясните какую задачу решает этот ваш React?
Давненько задаюсь вопросом. Только не надо туманной ебалы про реактивность.
Вот например JQuery мне вполне понятно какую проблему решало - совместимости зоопарка разных браузеров. Сейчас она немного рассосалась из-за монополизма хрома, а проблема обратной совместимости решена тем что на нее тупо положили хуй.
Аноним 19/11/23 Вск 00:51:10 #281 №2927490 
>>2927480
Удобная шаблонизация, клиентский роутинг, серверный рендеринг
Аноним 19/11/23 Вск 01:03:42 #282 №2927495 
>>2927490
>Удобная шаблонизация
Что ты вкладываешь в это? Удобнее чем тысячи шаблонизаторов до реакта?
Напиши реальную проблему которую тебе помог решить React.
Аноним 19/11/23 Вск 01:11:00 #283 №2927501 
>>2927495
>Что ты вкладываешь в это?
JSX
>Удобнее чем тысячи шаблонизаторов до реакта?
Именно
>Напиши реальную проблему которую тебе помог решить React
До него были Meteor, Ember, Backbone/Marionette, Angular 1, они выполняли похожие задачи, только работать с ними было очень неудобно и очень медленно по сравнению с реактом. Но в 2023 году у реакта куча альтернатив со схожей или даже лучшей продуктивностью и удобством разработки. Для меня главное чтобы был JSX, пока лучше него не придумали. Шаблоны ангуляра более всратые, у вью тоже. Надеюсь на взлёт Solid, он в принципе лучше реакта во всём, и перформанс превосходный, разве что маленькое комьюнити и количество библиотек. Ну или может авторы реакта оптимизируют перформанс, завезут сигналы, так было бы идеально.
Аноним 19/11/23 Вск 01:14:49 #284 №2927505 
>>2927501
Так в чем удобство то шаблонов?

Еще раз вот смотри -
Мне нужно чтобы сайт работал в разных браузерах и не писать тыщу ифов (и 2000е на дворе) - я беру jQuery
Мне нужно XXX - я беру React.
Что можно подставить вместо XXX?
Аноним 19/11/23 Вск 01:23:32 #285 №2927509 
>>2927480
>проблема обратной совместимости
Там это, недавно пробегал хуй, у которого флекс врапы в фаирфокси, 9 лет как висящие в фулл супорте, работали через жопу, не так как в хроме.
Про какую ты блядь обратную совместимость? Обатная совместимость нужна только сафари ретроградам, которые из-за старого железа обновить браузер не могут. Потому что ОС не даёт. Лол.

>>2927505
Жирич плез.
Аноним 19/11/23 Вск 01:24:54 #286 №2927510 
>>2927505
>Мне нужно чтобы сайт работал в разных браузерах и не писать тыщу ифов (и 2000е на дворе) - я беру jQuery
Какой jquery нахуй, ты ебанутый? Для поддержки старых браузеров есть куча нормальных инструментов, причем в реакт и прочие модные фреймворки они встроенные.
Аноним 19/11/23 Вск 01:43:51 #287 №2927515 
>>2927509
>>2927510
Почему я должен каждый день обновлять бравзер чтобы у меня что то отваливалось и лезли очередные ненужные перделки от того что дибилятам скучно и руки чешутся поиграть с очередным говнофреймворком?
Аноним 19/11/23 Вск 01:49:15 #288 №2927517 
>>2927515
Потому что иначе твою жопу через webp вскроют, хочешь ты того или нет. А браузер обновится сам. Иди нахуй.
Аноним 19/11/23 Вск 01:52:02 #289 №2927519 
>>2927517
Лол, какой дерзкий любитель анального зонда, готов глотку перегрызть за сапог барина в жопе.
Аноним 19/11/23 Вск 02:01:20 #290 №2927524 
>>2927519
Хуй тебе, а не ещё кормёжка. Иди нахуй.
Аноним 19/11/23 Вск 02:09:42 #291 №2927527 
Можно ли как-то динамически добавить свойства в объект, чтобы ИДЕ их видела потом?

Необязательно так, но что-то вроде
obj = {}
['raz', 'dva'].foEach(el => obj[el] = 'test')

obj.raz // ИДЕ видит, что свойство есть в объекте

Или только TS/JSDoc?
Аноним 19/11/23 Вск 02:13:50 #292 №2927529 
>>2927527
>ИДЕ видит, что свойство есть в объекте
точнее не видит... хотелось бы, чтобы видела.
Аноним 19/11/23 Вск 02:21:58 #293 №2927534 
>>2927527
Что значит не видит? Где const? Где точказапятая?

>foEach
Где r?
Аноним 19/11/23 Вск 02:26:22 #294 №2927536 
>>2927534
>Где точказапятая?
Кстати интересно в треде много уебищ уверенных что в js нужно ставить;?
Аноним 19/11/23 Вск 07:14:46 #295 №2927578 
Переношу бэк браузерной игры с NodeJS на фронтенд. Воткнулся в проблему, чем заменить модуль "colors" (или "chalk") на клиенте? Похоже, что эти либы раскраски консольных сообщений на браузер не рассчитаны вообще? Можно как-то импортировать и юзать chalk в на клиенте?
Аноним 19/11/23 Вск 07:18:37 #296 №2927579 
345345.jpg
Есть ебучий redux с тулкитом.

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

В слайсе чекбоксов состояние - массив выбранных чекбоксов. Там есть редьюсер, который добавляет определенный чекбокс и второй редьюсер, который сбрасывает все чекбоксы (тупо инитиалстате возвращает).

В слайсе поискового импута состояние - строка. Тамошний редьсер устанавливает эту строку.

Вопрос в том, что мне\е нужно сделать так, что если устанавливается какой-то чекбокс, то инпут сбрасывается (вызывается его редьюсер с пустой строкой) и наоборот - если устанавливается текст из инпута, то все фильтры сбрасываются (вызывается его редьсер по сбрасыванию фильтров).

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

Да и вообще вот эти взаимные импорты из одного слайса в другой не нравятся. Как это сделать правильно?
Аноним 19/11/23 Вск 07:57:23 #297 №2927588 
>>2927480
Реакт это всратая попытка перейти от императивного подхода к декларативному. Ангуляр и вуе нормальная декларативность например. Нокаут первая такая либа. Зачем это надо? Чтобы не выполнять одинаковую работу по перекладыванию жисона в хтмл.
Вообще в институтах преподавать бы историю развия фреймворков как отдельный предмет, а мне дебичи в /б/ все ещё доказывают что матан нужен ололо. Ещё можно это спрашивать как вопрос на собесе.
Но если так делать, то все будут знать причины почему реакт такое всратое говно и использовать его не надо. И у нас была бы совсем другая индустрия.
Аноним 19/11/23 Вск 07:59:42 #298 №2927590 
>>2927578
p.s. Решено. Chalk умеет и в браузер.
Аноним 19/11/23 Вск 08:07:28 #299 №2927592 
>>2927588
> знать причины почему реакт такое всратое говно
Был такой фреймворк backbone. И адский сотона добавил туда функцию render. И она считалась мной например тупо антипаттерном, потому что она медленно работала все что render сгенерит вставляется в хтмл с помощью медленной вставки innerHTML = render(), потому что надо было писать хтмл внутри джаваскрипта(привет ебучий жсх).
Дебичи из Фейсбука напротив делали все через render. И чтобы это говно так не лагало сделали виртуальный дом.
Аноним 19/11/23 Вск 08:11:21 #300 №2927594 
Смарите, когда я указываю в package.json зависимость (например, "underscore"), я могу потом из любого файла импортировать его так:
import _ from "underscore"
т.е. не указывать никакой путь, только название.
Так вот можно ли сделать так же с каким-то модулем не из package.json?
Например, я хочу, чтобы мой модуль из "./lib/utils/somemodule.js" можно было импортировать так:
import myModule from "somemodule"
Этого можно добиться, не заливая модуль в npm?
А можно ли этого добиться на клиенте?
Аноним 19/11/23 Вск 08:23:53 #301 №2927603 
>>2927594
Можно, разрешаю.
Аноним 19/11/23 Вск 08:26:02 #302 №2927606 
>>2927603
Объясняй, как.
Аноним 19/11/23 Вск 08:28:37 #303 №2927607 
>>2927579
На инпут устанавливаешь стейт чекбоксов в "ни один не отмечен", на выделение чекбокса устанавливаешь стейт инпута в "ничего не введено".
Где тут взаимные импорты между редюсерами? Это обычные диспатчи из компонентов.
Аноним 19/11/23 Вск 08:41:40 #304 №2927619 
>>2927606
Задача элементарная и гуглится. Прокачивай навыки поиска информации в интернете.
Аноним 19/11/23 Вск 08:49:44 #305 №2927628 
>>2927619
Я бы не спрашивал, если бы смог нагуглить. И кажется мне, что задача не решается никак, особенно на клиенте.
Аноним 19/11/23 Вск 08:56:38 #306 №2927636 
>>2927607
Ну это самое очевидное, но проблема в том, что это противоречит вот этой хуите:
>>2927148
>>2927390
Аноним 19/11/23 Вск 10:00:53 #307 №2927661 
image.png
>>2927636
Мне кажется архитектура нужна для другого, и FSD этого не дает. Грубо говоря в приложении есть 2 компонента - предметная область (ядро) и представление данных (у нас это react). Всё что происходит в react по большому счету не важно, в хорошей архитектуре должна быть возможность заменить react на vue, svelte, angular без переписывания большей части кода, или даже перенести код на noodejs и дергать API вместо кнопок. А FSD это новое распихивание по папочкам, ну ок, можно применить.

Вот этот мужичек мне нравится как объясняет:
https://www.youtube.com/watch?v=Z0Ocd8RmiWk&ab_channel=DevMastery
Аноним 19/11/23 Вск 10:57:15 #308 №2927713 
>>2927636
>срякт
>архитектура

Выбери что то одно. Говорить про архитектуру когда у тебя один глобальный объект с состоянием, который мутирует любая точка приложения... ну это как думать о том какие трусы себе надеть, зная что через минуту они будут в поносе из-за недержания.
Если не нравится явный диспатч из компонента, то делай это неявно серез редукс-саги.
Аноним 19/11/23 Вск 11:30:03 #309 №2927747 
>>2927661
Как же меня все это заебало, анон. Я тоже был адептом чистой аритектуры и всего прочего. Но это какая-то шиза, не соответствующая реальности. В реальности лучшая стратегия, накостылить решения, срубить бабки, пока есть спрос и дальше чилить. Чужой проект превратится в говно независимо от твоего желания, а если это твой проект, то ты потеряв время и силы на архитектурную чистоту не достигнешь комерческого результата.
Аноним 19/11/23 Вск 11:34:09 #310 №2927749 
>>2927747
Лучший критерий это удобство добавления фич, а не создавать чистые архитектуры в ваккуме, ради переписывания с реакта на ангуляр и обратно каждый день.
Аноним 19/11/23 Вск 11:43:31 #311 №2927762 
>>2927749
минимум изоляции от фремворка нужен конечно, потому что фреймворк обновляется, но если вдруг в новом реате скажут что хуки деприкейтед, то тебе такое количество микролапши придется переколбашивать, что выделение из хуков бизнеслогики это просто детский сад.
Аноним 19/11/23 Вск 11:47:45 #312 №2927768 
>>2927749
>>2927747
Всё так гайс, это что-то вроде ментального онанизма, иногда хочется переписать старый проект и посмотреть что получится.
>Лучший критерий это удобство добавления фич
Да, ну я бы еще добавил тестируемость, вручную тестировать надоедает.
Аноним 19/11/23 Вск 12:20:58 #313 №2927835 
Пыня по сравнению с редуксом - просто раздолье. Делай что хочешь, делай как и где хочешь.
Аноним 19/11/23 Вск 12:21:20 #314 №2927837 
>>2927148
>FSD кто-то использует?
херня, не советую.
Джуны внедряют, чтобы почувствовать в себе "ЧСВ-архитектора"

Люди во главе сами не понимают чего хотят
Люди во главе сами не понимают как должна работать методология

https://github.com/feature-sliced/documentation/discussions?discussions_q=sort%3Atop


Почитайте, люди путаются в 5 сущностях и генерируют 100+ сообщений на тему.
Аноним 19/11/23 Вск 12:23:27 #315 №2927845 
>>2927837
Тогда что простое для реакт-ридух есть? Чтобы самому наугад это всё не строить?
Аноним 19/11/23 Вск 12:56:03 #316 №2927924 
>>2927845
У тебя приложение на 50-90 страниц и 1000 компонентов?
Если нет то не парься и просто делай pages components api hooks

И пойми одно, для каждого проекта свои тонкости.
У вас никогда не получится ужать все проекты под один FSD, всегда будут индивидуальные особенности.


Аноним 19/11/23 Вск 13:02:47 #317 №2927950 
>>2927661
Ух как губежки вытянул, сразу видно по хуйцу истосковался

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

Если уложить видос в два слова - primitive obsession. На самом деле счетчик не число, а объект с максимальным/минимальным значением и всякими там сообщениями.

Ну в целом то архитектутная мысль правильная что любая сложная логика должна быть отвяазана от всего на свете и быть как бы центром системы. Проблема только в том что этой самой логики у рядового анона с гулькин хуй. А 99% кода составляют связки говнофреймворков с говнофреймворками. И сложности уровня "как сделать чтобы у меня текст пропадал в импуте когда я щелкаю по чекбоксам и наоборот" охуеть просто.
Аноним 19/11/23 Вск 13:13:42 #318 №2927970 
>>2927592
Почему медленно, ты всю страницу целиком что ли перерисовывал? Не пробовал менять только то что нужно?
Аноним 19/11/23 Вск 14:01:42 #319 №2928056 
>>2927970
>Не пробовал менять только то что нужно?
Именно так адекваты и делали, а говнокодеры юзали render.
Аноним 19/11/23 Вск 15:09:41 #320 №2928171 
>>2927515
Дебич, реакт вышел больше 10 лет назад
Аноним 19/11/23 Вск 15:15:18 #321 №2928183 
>>2927579
Тебе не нужно редьюсеры нигде трогать кроме как в экшенах, в компоненте чекбокса просто выживаешь экшен, который сбрасывает стейт инпута, и в компоненте кнопки поиска вызываешь экшен сброса чекбоксов
Аноним 19/11/23 Вск 15:17:13 #322 №2928190 
>>2928171
1) Предлагаешь все железо старше 10 лет на свалку нести?
2) Сколько раз за 10 лет переписывал компоненты на новый нескучный синтаксис?
Аноним 19/11/23 Вск 15:18:14 #323 №2928191 
>>2928056
Так а ты нахуя так делал, помрачился и был в неадеквате?
Аноним 19/11/23 Вск 15:20:18 #324 №2928195 
>>2928191
Я так не делал. Я тебе объясняю что весь реакт это эволюция говнокодерского антипаттерна, функции render из бэкбона.
Аноним 19/11/23 Вск 15:24:29 #325 №2928202 
>>2928190
>1) Предлагаешь все железо старше 10 лет на свалку нести?
Зачем? На компе с каким-нибудь кор 2 дуо нормально запускается последний хром. Не надо просто по 1000 вкладок открывать.
>2) Сколько раз за 10 лет переписывал компоненты на новый нескучный синтаксис?
1.
Аноним 19/11/23 Вск 15:25:18 #326 №2928204 
>>2928195
Реакт как раз меняет именно то, что нужно поменять.
Аноним 19/11/23 Вск 15:27:07 #327 №2928210 
>>2928204
Это делает виртуальный дом. Макака на разработчике пишет только функцию рендер.
Аноним 19/11/23 Вск 15:30:05 #328 №2928219 
>>2928210
И в чём проблема? Алсо, лет 5 назад уже перестали писать функцию render, просто возвращают JSX из функции компонента.
Аноним 19/11/23 Вск 15:33:14 #329 №2928231 
>>2928219
Я не говорю про функцию рендер из реакта, я говорю про функцию рендер из бекбона. У нас урок истории, иди почитай что это в доку бекбона. Это рак потому что 1. медленно работает. 2. Надо писать хтмл в джаваскрипте.
Первую проблему они решили а вторую нет.
Аноним 19/11/23 Вск 15:35:56 #330 №2928241 
>>2928231
>Надо писать хтмл в джаваскрипте
Не надо, пишешь JSX, это другое.
>Первую проблему они решили а вторую нет.
В чём проблема?
Аноним 19/11/23 Вск 15:37:58 #331 №2928250 
>>2928231
>У нас урок истории
Помню было время ковырялся в этом говне. Нокаут еще был. Но как тогда так и сейчас не могу понять - нахуя это все нужно.
Аноним 19/11/23 Вск 15:39:33 #332 №2928256 
>>2928250
>The default implementation of render is a no-op.
Что то тут не сходится с твоими охуительными историями.
Аноним 19/11/23 Вск 15:40:18 #333 №2928261 
>>2928231
>>2928256
Аноним 19/11/23 Вск 15:43:40 #334 №2928267 
>>2928241
> JSX, это другое.
Это всего-лишь твоё говноедское мнение.
>>2928250
> - нахуя это все нужно.
Ну бекбон какую-то "архитектуру" предоставлял. На самом деле нет. MVC модно было тогда. Но это базворд ничего не значащий как делать на этих трёх буквах апп никто не знал и единого мнения нет.
Аноним 19/11/23 Вск 15:46:51 #335 №2928275 
>>2928256
Если она ничего не рисует, то вьюха просто к дому подсасывается. А если рисует, то рисует.
Аноним 19/11/23 Вск 15:51:20 #336 №2928286 
>>2928275
Суть в том что в этом методе программист сам решает что менять, а что не менять и как именно. Так что никакой эволюции.
Аноним 19/11/23 Вск 15:55:10 #337 №2928294 
>>2928267
>Ну бекбон какую-то "архитектуру" предоставлял
- Хочу вэб приложуху написать, да что то никак
- А в чем проблема?
- Да вот бы мне кто предоставил хоть какую-нибудь архитектуру
Аноним 19/11/23 Вск 15:56:37 #338 №2928298 
image.png
>>2928286
https://stackoverflow.com/questions/17438832/how-to-render-backbone-js-view-properly
Вот типичный бекбоновский код, папа вашего жсх. Узнали? Согласны?
Аноним 19/11/23 Вск 16:05:14 #339 №2928330 
>>2928294
Ну вот была jQuery чтобы удобно с домом, работать underscore чтобы удобно работать с данными, и бекбон который как-то через жопу их слепливает.
Из jQuery в ЖС искаропки переехал querySelectorAll, промисы. Из undescore все методы пердолинга массивов.
Аноним 19/11/23 Вск 16:06:28 #340 №2928335 
>>2928298
Ты меня с кем то перепутал, я то все пытаюсь понять нахуя реакт вообще нужон. Похоже разве что в идейном плане - додики не способные написать хоть немного адекватный код объясняют друг другу как творить невероятную хуиту.
Аноним 19/11/23 Вск 16:08:21 #341 №2928338 
>>2928330
А из бекбона нихуя не переехало потому что это бесполезная хуита нужная только чтобы стрелять себе по яйцам?
Аноним 19/11/23 Вск 16:10:37 #342 №2928344 
>>2928335
>программист сам решает что менять,
Я тебя носом ткнул в мету как программист решает менять. Вот так он решает менять как на картинке написано.
Render рисует ВСЮ вьюху по определению. Если ты хочешь по клику каунтер инкрементировать, то можно или сделать что-то такое $(".counter").text(this.model.get("counter")) или вызвать this.render()
Аноним 19/11/23 Вск 16:11:24 #343 №2928348 
>>2928338
Из бекбона переехала в реакт функция рендер.
> бесполезная хуита нужная только чтобы стрелять себе по яйцам?
Так точно.
Аноним 19/11/23 Вск 16:13:48 #344 №2928356 
>>2928344
>Render рисует ВСЮ вьюху по определению.
Деб, ты умственно неполноценный? Я тебе цитату из доков кинул где написано что "по определению" render не делает нихуя.
Аноним 19/11/23 Вск 16:14:16 #345 №2928358 
>>2928267
>Это всего-лишь твоё говноедское мнение
Как и у хейтеров JSX их неприязнь тоже всего лишь их говноедское мнение.
Аноним 19/11/23 Вск 16:15:13 #346 №2928360 
>>2928298
Это и близко не папа JSX, ничего общего с ним
Аноним 19/11/23 Вск 16:18:05 #347 №2928366 
>>2928360
Это именно он. Я роды принимал.
Аноним 19/11/23 Вск 16:26:03 #348 №2928376 
>>2928356
>"по определению" render не делает нихуя.
Не по определению а по умолчанию. И в этом случае бекбон вьюха просто подсасывается к элементу на странице, типа гидрейтит его. А функция рендер еще и нарисовать может. А если ты маньяк, то еще и перерисовываешь всю вьюху функцией рендер на каждое изменение данных.
И всё это мета, совершенно обычное дело которым болеет каждый второй сайт.
Аноним 19/11/23 Вск 16:30:18 #349 №2928386 
>>2927588
>Реакт это всратая попытка перейти от императивного подхода к декларативному.
Если копнуть нормально то окажется что различия между этими подходами высосаны из одного места, штудентик. Как и большинство терминологии в cs.

> можно это спрашивать как вопрос на собесе
Так это со 100 вероятностью спрашивают же.
>Зачем мы выбрали реакт?
А приходится краснеть и мямлить что то там про реактивность. Я же не скажу в глаза - вы че ебанутые? Вы же выбирали его за каким то хуем, это я должен у вас спрашивать зачем.
Аноним 19/11/23 Вск 16:32:11 #350 №2928393 
>>2928376
>И всё это мета
Бля, я не понимаю на зумерском. Переведи на нормальный, если можно?
Аноним 19/11/23 Вск 16:36:06 #351 №2928399 
>>2928393
Покинь профессию.
Аноним 19/11/23 Вск 16:41:51 #352 №2928411 
>>2928376
Так я правильно понимаю или нет -
в функции render можно изменить только то что тебе нужно
вместо того того чтобы переписывать весь innerhtml.
И внезапно причина которая не позволяет этого сделать ровно одна единственная - так в примере написано, а мозгов у разрабов не хватает чтобы делать как то по другому (и ты один из них).
Аноним 19/11/23 Вск 16:47:28 #353 №2928419 
>>2928411
Функция render запускается 1 раз в конструкторе вьюхи и вручную когда хочешь.
>в функции render можно изменить только то что тебе нужно
Нельзя, для этого был написан виртуал дом. Если бы можно было, то виртаул дом не был бы написан.
Аноним 19/11/23 Вск 17:24:41 #354 №2928475 
>>2928183
Это ломает «охуенную» FSD-архитектуру.
Аноним 19/11/23 Вск 17:48:11 #355 №2928503 
>>2928475
Забей на эту хуиту
Аноним 19/11/23 Вск 19:15:19 #356 №2928635 
>>2928475
>FSD-архитектуру.
Хуйня, не для продакшена.

Аноним 19/11/23 Вск 22:03:50 #357 №2928952 
>>2928503
>>2928635
Посоветуйте тогда как организовать рякт-ридух приложуху. Надоело уже туда-сюда компоненты по папочкам гонять.
Аноним 19/11/23 Вск 22:23:52 #358 №2928990 
>>2928952
задавай себе вопрос, почему в европе\сша ничего не придумывают?
чел, бери и разбивай как сам считаешь нужно

page, components, api, service , shared
этого достаточно и никто никогда не запутается.
Аноним 19/11/23 Вск 22:25:49 #359 №2928993 
Как блядь сделать подгрузку новых данных по скроллу и с виртуализацией при этом используя ртк квери в реакте?
Аноним 19/11/23 Вск 23:07:34 #360 №2929064 
>>2928993
Для реализации подгрузки новых данных по скроллу с виртуализацией в React и использованием React Query, вы можете воспользоваться следующим подходом:

1. Установите необходимые библиотеки:

```bash
npm install react-query
```

2. Создайте компонент, который будет отображать список данных. Например:

```jsx
// ListComponent.js
import React from 'react';
import { useInfiniteQuery } from 'react-query';

const fetchData = async (key, page = 0) => {
// Здесь нужно реализовать логику загрузки данных с сервера.
// Например, использовать fetch или axios.
const response = await fetch(`/api/data?page=${page}`);
return response.json();
};

const ListComponent = () => {
const { data, fetchNextPage, hasNextPage, isFetchingNextPage } = useInfiniteQuery(
'data',
fetchData,
{
getNextPageParam: (lastPage, allPages) => {
// Возвращает следующую страницу данных.
// Зависит от структуры данных, которую возвращает ваш сервер.
return lastPage.nextPage;
},
}
);

return (
<div>
{data.pages.map((page, pageIndex) => (
<React.Fragment key={pageIndex}>
{page.map((item) => (
<div key={item.id}>{/ Отображение данных /}</div>
))}
</React.Fragment>
))}

{hasNextPage && (
<button onClick={() => fetchNextPage()} disabled={isFetchingNextPage}>
{isFetchingNextPage ? 'Загрузка...' : 'Загрузить еще'}
</button>
)}
</div>
);
};

export default ListComponent;
```

3. Используйте компонент `ListComponent` в вашем приложении:

```jsx
// App.js
import React from 'react';
import { QueryClient, QueryClientProvider } from 'react-query';
import ListComponent from './ListComponent';

const queryClient = new QueryClient();

const App = () => {
return (
<QueryClientProvider client={queryClient}>
<div>
<h1>Подгрузка данных по скроллу с виртуализацией</h1>
<ListComponent />
</div>
</QueryClientProvider>
);
};

export default App;
```

В этом примере используется библиотека `react-query` для управления состоянием запросов к серверу. Компонент `ListComponent` использует хук `useInfiniteQuery` для обработки запросов по скроллу и виртуализации данных. Обратите внимание, что логика `fetchData` и структура данных могут отличаться в зависимости от вашего сервера.
Аноним 19/11/23 Вск 23:15:04 #361 №2929074 
>>2929064
Даун ты? Нахуй ты мне свое говно из чатгпт дашь с реакт квери, а не ртк?
Аноним 19/11/23 Вск 23:21:28 #362 №2929078 
>>2929074
жри, что дают
мимо
Аноним 19/11/23 Вск 23:22:14 #363 №2929079 
>>2929074
Прошу прощения за путаницу. Если вы хотите использовать Redux Toolkit (RTK) для управления состоянием в вашем приложении React вместо React Query, вот как вы можете реализовать подгрузку данных по скроллу с виртуализацией с использованием RTK Query.

1. Установите необходимые библиотеки:

```bash
npm install @reduxjs/toolkit react-redux
```

2. Создайте ваш слайс с использованием `createSlice` и `createAsyncThunk`:

```jsx
// dataSlice.js
import { createSlice, createAsyncThunk } from '@reduxjs/toolkit';

export const fetchData = createAsyncThunk('data/fetchData', async (page) => {
// Реализуйте здесь логику загрузки данных с сервера
const response = await fetch(`/api/data?page=${page}`);
return response.json();
});

const dataSlice = createSlice({
name: 'data',
initialState: {
data: [],
status: 'idle',
error: null,
page: 0,
},
reducers: {},
extraReducers: (builder) => {
builder
.addCase(fetchData.pending, (state) => {
state.status = 'loading';
})
.addCase(fetchData.fulfilled, (state, action) => {
state.status = 'succeeded';
state.data = state.data.concat(action.payload);
state.page += 1;
})
.addCase(fetchData.rejected, (state, action) => {
state.status = 'failed';
state.error = action.error.message;
});
},
});

export default dataSlice.reducer;
```

3. Создайте компонент, который будет отображать список данных:

```jsx
// ListComponent.js
import React, { useEffect } from 'react';
import { useDispatch, useSelector } from 'react-redux';
import { fetchData } from './dataSlice';

const ListComponent = () => {
const dispatch = useDispatch();
const { data, status, error, page } = useSelector((state) => state.data);

useEffect(() => {
if (status === 'idle') {
dispatch(fetchData(page));
}
}, [status, dispatch, page]);

const handleScroll = () => {
// Реализуйте логику определения, что пользователь прокрутил вниз и вызовите fetchNextPage
// Например, используя window.scrollY, window.innerHeight и document.documentElement.scrollHeight
};

useEffect(() => {
window.addEventListener('scroll', handleScroll);
return () => {
window.removeEventListener('scroll', handleScroll);
};
}, []);

return (
<div>
{data.map((item) => (
<div key={item.id}>{/ Отображение данных /}</div>
))}
{status === 'loading' && <p>Загрузка...</p>}
{status === 'failed' && <p>{error}</p>}
</div>
);
};

export default ListComponent;
```

4. Используйте компонент `ListComponent` в вашем приложении:

```jsx
// App.js
import React from 'react';
import { configureStore } from '@reduxjs/toolkit';
import { Provider } from 'react-redux';
import dataReducer from './dataSlice';
import ListComponent from './ListComponent';

const store = configureStore({
reducer: {
data: dataReducer,
},
});

const App = () => {
return (
<Provider store={store}>
<div>
<h1>Подгрузка данных по скроллу с виртуализацией</h1>
<ListComponent />
</div>
</Provider>
);
};

export default App;
```

Этот пример использует Redux Toolkit и `createAsyncThunk` для управления состоянием запросов к серверу. Логика загрузки данных и обработка скролла реализуются в соответствующих частях кода.
Аноним 19/11/23 Вск 23:26:20 #364 №2929087 
>>2929079
пиздец, с редаксом почти в 2 раза длиннее ответ
Аноним 19/11/23 Вск 23:31:48 #365 №2929098 
>>2929079
Клоун, я бы тут не спрашивал ответа, если бы уже не сделал всё тоже самое что и ты сейчас делаешь, иди на хуй. Джаваскрипт параша, хр тьфу.
Аноним 19/11/23 Вск 23:44:54 #366 №2929105 
>>2929098
>Джаваскрипт параша, хр тьфу.
А что не параша?
Аноним 20/11/23 Пнд 01:19:03 #367 №2929159 
>>2920898
Как уже сказал анон, самый адекватный способ - виртуализировать, если таблица просто рендерит контент, то довольно быстро прикрутить можно.
Аноним 20/11/23 Пнд 01:24:55 #368 №2929160 
>>2920944
Напишешь на чистом js это "правильно"? Спорим ты просто хуевый инженер, который хочет, чтобы за него все решили и сделали другие, а твоя задача фрустрировать и кадаться говном.
Аноним 20/11/23 Пнд 01:36:02 #369 №2929164 
>>2921231
Из того, что можно будет положить в гитхаб и получать респект - таблица в тыщей записей, для каждого роу может быть вложенность других роу, их можно перетаскивать друг в друга. Если влоб это сделать, работать будет хуево, нужна виртуализация. Просто если делать клон чего-то большого, то хуй кто смотреть будет толком, ну и просто херова туча времени на верстку. А такая таблица это минимум кода и много интересных технических моментов, я так понимаю ты только вкатываешься, поэтому будет полезным в качестве демонстрации скилов.
Аноним 20/11/23 Пнд 03:03:03 #370 №2929175 
>>2929164
>нужна виртуализация
анус себе виртуализируй
Аноним 20/11/23 Пнд 05:50:08 #371 №2929184 
>>2929160
зачем мне че-то писать? зачем на чистом? шиз, блять, возьми нормальный инструмент и таких проблем не будет.
еще, блять, попроси меня на паскале эту хуйню сделать, чтобы твои ряктопарашовские чувства были отомщены.
Аноним 20/11/23 Пнд 07:05:54 #372 №2929190 
>>2929160
Конечно. Даже в этом треде на что правильное решение на реакте.
Есть 2 вида правильных решений. Полностью кастомайзбл - делай чё хочешь. Или компоненты на любой случай жизни, для списка, для таблиц, для неба, для Аллаха.
А вот это говнина когда вот тебе только дивы, хочешь таблицу - ебись.
Аноним 20/11/23 Пнд 10:04:18 #373 №2929225 
>>2929184
А чё, норм. Видел чела твиче, который хуярит на паскале для души/фрелонс заказ.
Аноним 20/11/23 Пнд 11:49:44 #374 №2929314 
Почему в Реакте ререндер происходит только, когда переменная в state получает новую ссылку?
Не проще ли было бы отслеживать изменения и тогда ререндерить?
Например, у меня есть массив, я меняю в нем один элемент, Реакт не вызывает ререндер, т.к у него переменная массива указывает на тот же самый массив (который я изменил).
Чтобы пошел ререндер, нужно копировать массив и уже в нем менять, что тебе надо. Тогда ссылка поменяется и Реакт вызовет ререндер.
Но это же неэффективно.

только сел учить Реакт
Аноним 20/11/23 Пнд 12:34:21 #375 №2929369 
>>2929314
Потому что в твоём массиве может быть 1000 элементов, состояние не обязательно может измениться после вызова диспатча.
Из массива убирают фильтром 3, 50, 777 элементы. Отследи эти изменения? Надо пройтись теперь на изменение состояния по всему массиву и сравнить элементы. А что делать с ключами начиная с 3-го индекса, там же элемент убрали и нумерация поменялась? Считать что изменилось всё начиная с 3-го элемента? Ведь соответствие индекс-значение нарушено.

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

А вложенный мемоизированный компонент вместо проверки ссылки твоего массива также должен будет проверить все элементы на изменения массива. А он ещё может и не последним в цепочке наследования оказаться.
Аноним 20/11/23 Пнд 15:25:52 #376 №2929626 
Вы в курсе что вас заменят на питонистов. Посмотрите как питон продвигают в веб. Он выглядит более лаконично у него больше либ и самое главное там нормальная асинхронность а не говёный евент луп. Так что время учить питон.
Аноним 20/11/23 Пнд 15:28:13 #377 №2929631 
>>2929626
Конечно вкурсе, ведь питон нативный язык для браузеров
Аноним 20/11/23 Пнд 15:29:16 #378 №2929633 
>>2929626
Добавь программно элемент в HTML DOM используя только питон. На задачу 1 минута.
Аноним 20/11/23 Пнд 16:02:27 #379 №2929676 
>>2929633
from bs4 import BeautifulSoup

# Create a sample HTML document
html = """
<html>
<body>
<h1>Hello, World!</h1>
<div id="content"></div>
</body>
</html>
"""

# Parse the HTML document using BeautifulSoup
soup = BeautifulSoup(html, 'html.parser')

# Create a new HTML element
new_element = soup.new_tag('p')
new_element.string = 'This is a new paragraph'

# Append the new element to an existing element in the DOM
content_div = soup.find(id='content')
content_div.append(new_element)

# Print the modified HTML document
print(soup.prettify())
Аноним 20/11/23 Пнд 16:13:56 #380 №2929696 
>>2929626
>питон
>там нормальная асинхронность а не говёный евент луп
Кекнул в шепот. Ладно бы ты про говно спизданул, но в питоне такой же эвент залуп, который ещё и заблочить легко, если где-то синхронную функцию вызываешь внутри него, а не в отдельном треде.
мимо недосинька на петухоне
Аноним 20/11/23 Пнд 16:16:16 #381 №2929702 
>>2929676
Теперь добавь на клиенте.
Аноним 20/11/23 Пнд 16:33:18 #382 №2929752 
>>2929175
Не гавкай псина подзаборная, тебе нечего сказать.
Аноним 20/11/23 Пнд 16:46:06 #383 №2929782 
Вы заебали не обсуждать бэк. Обсуждайте бэк, ок?
Аноним 20/11/23 Пнд 16:53:32 #384 №2929791 
>>2929782
Да а че там обсуждать?
Бекендеры - дегенераты, которые в двух строчках 10 ошибок делают.
Смеяться над бекендером - это как смеяться над дауном. Он не выбирал таким родиться.
Аноним 20/11/23 Пнд 16:54:00 #385 №2929794 
>>2929782
Сам бэк на жабаскрипте не подсунешь и не будет никакого бэка.
Аноним 20/11/23 Пнд 16:59:47 #386 №2929809 
Ебаный react-native, сука какое дерьмо, 3 день я ебусь с этой хуетой java.lang.UnsatisfiedLinkError: couldn’t find DSO to load: libhermes.so и ноль нахуй, нихуя блеатЬ, хермес-хуемес отключен-включен-хуечен, это просто полный пиздец. Как это КОНТРИТЬ ТО ЕБАНЫЙ РОТ? В эмуляторе ведра всё заебись, а на устройстве апшка шлет нахуй с этой ошибкой, я ебал рот
Аноним 20/11/23 Пнд 17:21:52 #387 №2929846 
>>2929809
> Как это КОНТРИТЬ
Angular Ionic
Аноним 20/11/23 Пнд 17:37:49 #388 №2929876 
>>2929809
Первая ссылка на stackoverlow - https://stackoverflow.com/questions/57036317/react-native-java-lang-unsatisfiedlinkerror-couldnt-find-dso-to-load-libherm
Или там не то?
мимо писал под ведроид на флатере, брат жив
Аноним 20/11/23 Пнд 18:05:13 #389 №2929922 
>>2929626
Питон на фронте? Норм шутка. Даже на бекенде он хуже js/ts.
Аноним 20/11/23 Пнд 18:27:56 #390 №2929969 
>>2929752
Для ебанько тыща элементов это охуеть как много. Хотя для дауничей которым нужно тысячу библиотек подключить чтобы сложить два плюс два - вполне возможно так и есть.
Аноним 20/11/23 Пнд 18:55:21 #391 №2930006 
image.png
Примерно можете почувствовать, что тут происходит?
Аноним 20/11/23 Пнд 19:07:19 #392 №2930032 
>>2930006
Показывают что первое a приоритетнее второго
Аноним 20/11/23 Пнд 19:19:25 #393 №2930066 
>>2930006
Да, дефолтные параметры, замыкания, области видимости.
btw мы вам перезвоним.
Аноним 20/11/23 Пнд 19:25:06 #394 №2930075 
>>2930032
>>2930066
Оба пукнули, но конкретный ответ, почему так происходит, не дали.
Аноним 20/11/23 Пнд 19:28:58 #395 №2930083 
image.png
>>2930075
Потому что иди нахуй.
Аноним 20/11/23 Пнд 19:46:37 #396 №2930107 
>>2930075
Прост)
Не пиши не понятное и будет понятно.
Аноним 20/11/23 Пнд 20:47:42 #397 №2930197 
>>2930006
Похоже на баг, ололо.

Ты дохуя эксперт в языке похоже, может тогда знаешь тогда какой еблан придумал "this" называть "контекстом"?
Аноним 20/11/23 Пнд 20:52:50 #398 №2930203 
cagel.gif
>>2930197
Всмысле, он правильно прочитал твои мысли? Это не майндфак задачка, ты правда такую говнину написал чтобы скоуп брался хуй знает откуда?
Аноним 20/11/23 Пнд 21:23:15 #399 №2930272 
Ни одна ебаная мразь не придумала высрать клиент для пскл без зависиостей, теперь от меня требуется родить обосранный пакет buffer, который и так уже есть в модулях. Сука ну почему жсеры такие тупые
Аноним 20/11/23 Пнд 21:30:13 #400 №2930289 
>>2930272
Ты пытаешься скомпилить pg под браузер?!!!11111
Аноним 20/11/23 Пнд 21:35:10 #401 №2930299 
>>2930289
>скомпилить
сбандлить

фикс
Аноним 20/11/23 Пнд 21:45:52 #402 №2930309 
>>2930299
схуяндлить, я даже не понимаю, что это значит. Если можно сделать хттп фетч, что мешает мне отправить всю хуйню в бд?
Аноним 20/11/23 Пнд 21:46:57 #403 №2930310 
>>2930309
> Сука ну почему жсеры такие тупые
Аноним 20/11/23 Пнд 21:49:09 #404 №2930317 
Огласите стек по react который нужно знать 100% senioru
Аноним 20/11/23 Пнд 23:48:26 #405 №2930412 
>>2929969
Иди нахуй джун ебаный
Аноним 20/11/23 Пнд 23:59:46 #406 №2930416 
>>2929676
>>2929626
Петухондрий, где петухоновый код для добавления элемента в HTMLDOM на клиенте?
Аноним 21/11/23 Втр 00:28:51 #407 №2930422 
>>2930412
>>2930317
Аноним 21/11/23 Втр 00:32:34 #408 №2930423 
>>2930006
В данном случае, когда вы вызываете функцию `f(1)`, значение `a` передается как аргумент функции. Внутри функции есть объявление переменной `a` с ключевым словом `var`. В JavaScript переменные, объявленные с использованием `var`, поднимаются (hoisted) в начало своей области видимости, но инициализируются значением `undefined`.

Таким образом, код функции фактически будет интерпретирован примерно следующим образом:

```javascript
function f(a, b) {
var a; // Поднятие переменной 'a'
b = () => console.log(a); // Инициализация b с функцией, которая ссылается на 'a'
a = 'AAAAAAAA'; // Переопределение 'a'
b(); // Вызов функции b
}

f(1);
```

Когда функция `b` выполняется внутри функции `f`, она ссылается на переменную `a`, которая в этот момент равна 1 (значение, переданное при вызове функции `f`). Поэтому при вызове `b()` выводится значение 1. Переопределение переменной `a` на строку 'AAAAAAAA' не влияет на замыкание, созданное функцией `b`.
Аноним 21/11/23 Втр 01:15:46 #409 №2930430 
hqdefault.jpg
>>2929369
Аноним 21/11/23 Втр 01:23:58 #410 №2930434 
image.png
>>2930423
Соси хуй, бот. И будешь сосать на таких дебильных вопросах дальше.
Аноним 21/11/23 Втр 02:48:27 #411 №2930438 
>>2930412
Проецирующий джунишка, палишься на том что как всем джунятам-даунятам тебе лишь бы блестящих говноперделок засунуть побольше, даже там где они нахуй не нужны.
Аноним 21/11/23 Втр 02:50:51 #412 №2930439 
>>2930203
Шиз?

Короче оказывается у параметров свой отдельный скоуп. Есть про это ремарка в статье MDN про дефолтные параметры.

Мой вопрос >>2930197 про this остается в силе.
Аноним 21/11/23 Втр 06:26:19 #413 №2930462 
>>2930272
Что ты пытаешься сделать?
Аноним 21/11/23 Втр 06:52:32 #414 №2930463 
>>2929631
>Ведь тайпскрипт нативный для браузеров
Аноним 21/11/23 Втр 06:56:20 #415 №2930464 
>>2930434
Что такое поднятие переменной "а"?
Аноним 21/11/23 Втр 07:06:59 #416 №2930465 
>>2930438
Отрендерить 1000 элементов без виртуализации обычно плохая затея. Джун будет писать виртуализацию руками, сеньор возьмёт либу весом в несколько КБ без каких-либо блестящих свистоперделок, потому что либа для виртуализации просто выполняет всего одну функцию, виртуализацию списков.
Аноним 21/11/23 Втр 08:27:05 #417 №2930478 
>>2929633
div = document.createElement("div")
document.body.appendChild(div)
Высокая культура разработки искаропки.
Аноним 21/11/23 Втр 08:47:33 #418 №2930482 
16982475629542.png
>>2930317
хз, завалялась картинка по бэку только
Аноним 21/11/23 Втр 09:05:35 #419 №2930488 
>>2930482
Ну у тебя на скрине база для джуна.
Все это проходят на 1-3 курсе вуза.
Это теория и ее точно недостаточно для seniora
Аноним 21/11/23 Втр 09:10:09 #420 №2930490 
>>2930482
>Не знает чё такое грейд
>Серит базвордами
Аноним 21/11/23 Втр 09:13:28 #421 №2930491 
>>2929876
НИХУЯ из этого не помогло, я блядь уже с ума схожу нахуй, что за хуйня НАХУЙ БЛЕАТЬ. Все зависимости подрублены нахуй, хермес отключал,включал, предрелиз сделал на экспо и там менял всю эту хуйню. НИ-ХУ-Я БЛЕАТЬ, это какой-то пиздец
Аноним 21/11/23 Втр 09:42:20 #422 №2930512 
>>2919967
Я эту вакансию месяца 2 уже наблюдаю, что-то мне, кажется, что цель этой хуиты точно не нанять.
Аноним 21/11/23 Втр 09:55:42 #423 №2930522 
>>2930478
Да никому ваш суп не нужен, чтобы раздавать готовый бандл. Вы там ебонулись? Нахуй ещё ваш сервер. НА КЛИЕНТЕ делай на питоне.
Аноним 21/11/23 Втр 10:00:08 #424 №2930526 
>>2929314
Бамп
Аноним 21/11/23 Втр 10:14:46 #425 №2930534 
>>2930522
Я на клиенте сделал.
Аноним 21/11/23 Втр 10:38:32 #426 №2930543 
>>2930534
На питоне сделай.
Аноним 21/11/23 Втр 10:52:59 #427 №2930546 
>>2930543
Это питон.
Аноним 21/11/23 Втр 10:55:31 #428 №2930550 
>>2930526
потому что ре-рендер дорогая операция и ты его лишний раз не задрачевал
Аноним 21/11/23 Втр 11:04:03 #429 №2930558 
>>2930546
Давай свой питоновый код. Сейчас проверим в браузере, на клиенте.
Аноним 21/11/23 Втр 11:05:59 #430 №2930561 
>>2930550
А сранье ссылками на новые объекты, которые мы создаем, чтобы в стейт записать, дешевая операция?
Аноним 21/11/23 Втр 11:10:35 #431 №2930569 
>>2930558
Я дал. >>2930478 видишь var нет, точек с запятой нет.
Аноним 21/11/23 Втр 11:17:06 #432 №2930587 
>>2930561
Мне кажется ты не в реакте новый, а в целом в твоей голове нет такой картинки, что глубое сравнение это дорогая операция. Да ещё на каждый элемент массива. Сравни за дешёво изменения в объекте, у которого может быть произвольная вложенность, например 10?
И да, копировать объект дешевле чем вставить в HTML DOM. Попутно ещё решив, нужно это обновление или нет. Знаешь ли, пересчитать лейаут страницы и перекрасить его - не дешёво, даже с учётом всех магических браузерных оптимизаций.

>>2930569
Дал тебе на клыка, псевдо элитист. Чтоб тебя лексер ночью покусал.
Аноним 21/11/23 Втр 11:19:36 #433 №2930589 
>>2930587
Чем докажешь что это не питон?
Аноним 21/11/23 Втр 11:27:06 #434 №2930605 
>>2930587
А ты прав, если у нас есть объект с большой вложенностью, то придется спускаться вниз каждый раз, чтобы проверить, не изменился ли он.
А вот ссылка всегда одинакова по размеру, независимо от размера объекта.

Вот теперь кажется понял. Если поставить себя на место реакта, то все встает на свои места.
Аноним 21/11/23 Втр 11:29:04 #435 №2930611 
315749041.jpg
Понадобилось написать бэкенд на (node)js, чем раньше не занимался, пытаюсь выбрать фреймворк.
Что есть похожее на FastAPI питона?
Т.е. современный, непереусложнённый, с автоматической генерацией OpenAPI 3 доков, норм работающий с typescript.

Пока нашел LoopBack 4, норм? openapi вроде есть
Аноним 21/11/23 Втр 11:33:32 #436 №2930620 
>>2930589
Тем, что это джаваскрипт.
А если это питон, который выглядит как джаваскрипт, то просто пересаживаем питоновых макак на JS и экономим тысячи долларов на переобучении, дообучении, и имплементации поддержки петона в браузере.
А дальше высококультурные шизы пусть через преттиер себе отрезают скобочки, до которых могут дотянуться, и точки с запятой.
Аноним 21/11/23 Втр 11:34:20 #437 №2930621 
>>2930605
Ты просто тупой как пробка, как можно было не догадаться, увидев, первый раз стейт, что там внутри выполняется что-то вроде: emitOnStateChange() только тогда, когда ты сеттишь что-то новое в стейт, через хуки или в классовых компонентах и именно это тригерит ререндер, это называется dataBinding, это база, это знать надо. И именно поэтому тебе нужна set функция или поле в классе, потому что иначе некуда вставить этот самый emitOnStateChange().
Аноним 21/11/23 Втр 11:43:56 #438 №2930628 
>>2930621
Шутка на тебе. Я спрашивал, почему ререндер происходит при изменении ссылки внутри стейта, а не при изменении переменной по "старой" ссылке.
Аноним 21/11/23 Втр 12:02:57 #439 №2930666 
>>2930620
В джаваскрипте надо var писать.
Аноним 21/11/23 Втр 12:05:56 #440 №2930674 
>>2930628
Ну вот потому я тебя и назвал, тупым как пробка. Ведь очень не сложно догадаться, что если ты меняешь что-то внутри массива, то тебе некому триггерить emitOnStateChange(), поэтому перерендера и не происходит.
Аноним 21/11/23 Втр 12:09:29 #441 №2930679 
>>2930465
Сколько элементов на странице которую ты смотришь прямо сейчас, еблан?
Аноним 21/11/23 Втр 12:11:11 #442 №2930681 
>>2930674
Вопрос был, почему создатели Рякта так решили сделать.
А, ладно, я получил ответ на свой вопрос, пойду дальше читать.
Алсо, чтобы два раза не вставать, посоветуйте годные туторы по рякту в духе, по примеру этого:
https://react.dev/learn
Аноним 21/11/23 Втр 12:13:23 #443 №2930687 
image.png
>>2930666
Меня твой троллинг уже доебал просто.
Аноним 21/11/23 Втр 12:15:31 #444 №2930690 
>>2930687
Ты просто ни джаваскрипта ни питона не знаешь.
Аноним 21/11/23 Втр 12:15:40 #445 №2930691 
>>2930628
Реакт не стартуер ререндер, если твой литерал/ссылка на объект не поменялась, но ты "попытался".
Дойдёшь до секции с оптимизацией ререндеров - навалят ещё инфы.
Аноним 21/11/23 Втр 12:22:35 #446 №2930698 
image.png
>>2930690
Аноним 21/11/23 Втр 12:28:28 #447 №2930711 
>>2930698
что за редактор на пике?
Аноним 21/11/23 Втр 12:30:27 #448 №2930722 
>>2930711
https://codepen.io/
Аноним 21/11/23 Втр 12:52:06 #449 №2930756 
Я в дурку нахуй попаду с этим реактом на мобилки, ЭТО ПИЗДЕЦ Я УЖЕ НЕ МОГУ БЛЕАТЬ
Аноним 21/11/23 Втр 13:16:45 #450 №2930824 
>>2930756
Я тебя понимаю.
Аноним 21/11/23 Втр 15:10:11 #451 №2931055 
>>2920883
>Есть вообще хоть что-то, в чем Реакт был бы лучше чем Вуе в 2023-м?
Не перестаю проигрывать с эмаунта копиума, необходимого Реакто-петухам для совладания с тем фактом, что им приходится 24/7 ебаться с мемоизацией, чтобы предотвратить избыточные ререндеры, в то время как в Вуе такой проблемы просто не существует.

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

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

Ах да, как-то раз принес это на реддит, так у реактопетухов началась аццкая массовая тряска с воплями "ЗАТО У НАС ПОВЕРХНОСТЬ АПИ МЕНЬШЕ!!!111ЁЁЁ". Дауны, что с них взять.
Аноним 21/11/23 Втр 15:10:38 #452 №2931056 
>>2930679
Ахаха, ну натуральный джун же! Мы вам перезвоним.
Аноним 21/11/23 Втр 15:19:01 #453 №2931068 
>>2930066
Лексическая область видимости, прикинь. Для функции она создается в момент определения, а не вызова. "b", инициализируясь в области видимости аргументов, именно в ней будет разрешать внешние для себя переменные. Поскольку в момент передачи там была "1" именно она и становится "a" для "b". Соответственно, если вызвать "f()" без параметров, получишь undefined.
Аноним 21/11/23 Втр 15:33:38 #454 №2931101 
>>2931055
Начнем обоссывание.

1. Мемоизация в реакте изевая и необходимость в ней возникает крайне редко, если ты ебешься 24/7 с чем-то таким, то лучше уебывай из профессии, ну или на вью переходи хз.

2. Нахуя данные передавать снизу вверх, данные есть смысл передавать сверху вниз. А снизу вверх - файрить эвенты. Ну или поясни, что имелось в виду.

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

4. Да, на реддите сидят дауны, не удивлен, что ты там сидишь.
Аноним 21/11/23 Втр 15:37:00 #455 №2931107 
>>2930611
Не знаю, похож ли на фастапи, но в несте есть автогенерация опенапи и тс по умолчанию
Аноним 21/11/23 Втр 15:38:06 #456 №2931112 
>>2931068
> Лексическая область видимости,
Чё это?
Аноним 21/11/23 Втр 15:41:53 #457 №2931119 
>>2931055
Тебя уже попустил другой анон по всем пунктам, но я ещё добавлю по первому. Скорее всего в следующей версии выйдет новый компилятор, который будет делать автоматическую мемоизацию.
Аноним 21/11/23 Втр 16:01:01 #458 №2931160 
>>2931068
Ты мне это нахуя пишешь, безчувстенный? У меня нет вопросов касательно того, как работает тот код.
Аноним 21/11/23 Втр 17:27:52 #459 №2931321 
За ограниченный промежуток времени что лучше выучить для бэка - тайпскрипт или нест жс? Примерно можете почувтсвовать?
Аноним 21/11/23 Втр 17:28:10 #460 №2931322 
>>2931112
Еще бывает динамическая. Была раньше в некоторых лиспах, но больше нигде не используется. Это плюс-минус как ведет себя this (которое по неведомому недоразумению называют "контекстом" в рашкованском сегменте интернета) в js. А теперь представь что так себя ведут все переменные и как с этого будут жопы гореть - поэтому от этого давно отказались.
Его объяснение кстати хуита само собой. Вот правильное объяснение >>2930439
Аноним 21/11/23 Втр 17:35:28 #461 №2931333 
>>2931321
>тайпскрипт или нест жс?
Лол
Аноним 21/11/23 Втр 17:58:32 #462 №2931362 
Жесть, только что написал на литкоде ивент имитер без каких либо подсказок. Потратил 2.5 часа. Теперь я мидл получается? Ебать как же я крут бля...
Аноним 21/11/23 Втр 18:00:44 #463 №2931366 
>>2931362
Ссылку на задачу плз
Аноним 21/11/23 Втр 18:03:20 #464 №2931373 
>>2931366
https://leetcode.com/problems/event-emitter/
Аноним 21/11/23 Втр 18:26:47 #465 №2931404 
>>2931373
Ух бля, тесты за анона написали, получается.
Аноним 21/11/23 Втр 18:49:20 #466 №2931424 
>>2931362
Ну это медиум задача, значит миддл.
Аноним 21/11/23 Втр 20:40:10 #467 №2931595 
>>2931373
Вроде это пишется где то примерно за минуту. Но главное не забывай
pub/sub - это не архитектура - это ее отсутствие.
Аноним 21/11/23 Втр 20:45:03 #468 №2931604 
>>2930611
uWebsocket.js
Аноним 21/11/23 Втр 20:50:44 #469 №2931609 
>>2931595
>pub/sub - это не архитектура - это ее отсутствие
Чел, сейчас все приложения на микросервисах так устроены, только pub/sub с маршрутизацией и гарантией доставки.
Аноним 21/11/23 Втр 20:52:34 #470 №2931611 
>>2931609
Какие это?
Аноним 21/11/23 Втр 20:55:46 #471 №2931616 
>>2931611
На бекенде,таким образом DDD подход в микросервисном исполнении реализуется.
Аноним 21/11/23 Втр 21:01:57 #472 №2931622 
>>2931616
Т.к у тебя три альтернативы фактически при использовании микросервисов
1) Общаяя бд, в миросервисном исполнении проблемное решение
2) Распределенные транзакции, костыль
3) Ивент драйвен архитектура
Аноним 21/11/23 Втр 21:11:40 #473 №2931634 
>>2931616
>DDD
баззворд с нулевым наполнением
>>2931622
>3) Ивент драйвен архитектура
На заборе тоже написано. Идея всем дружно срать в один чан - не архитектура. Но пока работает - жить можно конечно.
Аноним 21/11/23 Втр 21:12:55 #474 №2931639 
>>2931622
>драйвен
мгимо-финишт?
Аноним 21/11/23 Втр 21:19:39 #475 №2931650 
>>2931634
>Идея всем дружно срать в один чан - не архитектура
В какой один чан? Меседж брокер (рабит, кафка) только распределением и доставкой ивентов занимается, в нем нет бизнес логики. Идея в том что

1) каждый микросервис обрабатыает свой поток событий и отдает в брокер другой поток событий
2) что не нужно заботится о согласовании данных между бд разных микросервисов
3) асинхронность обрбработки событий
Аноним 21/11/23 Втр 21:20:27 #476 №2931653 
>>2931639
похуй
Аноним 21/11/23 Втр 21:34:10 #477 №2931696 
Я меняю элемент в списке в реакте. Надо перерисовать список после изменения элемента. Какие бескостыльные способы есть перерисовки? Не хочется делать setList([...list]) или именно так это и надо делать?
Аноним 21/11/23 Втр 21:43:18 #478 №2931724 
>>2931650
>1) каждый микросервис обрабатыает свой поток событий и отдает в брокер другой поток событий
Это и есть
>всем дружно срать в один чан
>2) что не нужно заботится о согласовании данных между бд разных микросервисов
Перевод: никто не знает как устроена система и даже в принципе разобраться в ней невозможно.
Аноним 21/11/23 Втр 21:50:54 #479 №2931736 
>>2931696
> setList([...list])
Хотя это даже не работает ведь лист я получил через useSWR и у него никакого setState нету уже.
Тогда я накостылил вот такой проп диву data-redraw={redraw} и в redraw просто случайное число отправляю. Смекал-очка.
Аноним 21/11/23 Втр 21:52:44 #480 №2931742 
>>2931724
А куда денешься, лол. Это будущее с горизонтальным масштабированием, с инфраструктурой как код, с чат гпт, и все это будет в облаке у провайдера бизнес решений. А программисты превратятся в интеграторов и консультантов.
Аноним 21/11/23 Втр 22:51:34 #481 №2931866 
>>2931736
>>2931696
Пиздец ты конечно, хлопчик. Ну попроси бэкендера новый список присылать на изменение. Пусть он тебе переебёт.
Аноним 21/11/23 Втр 23:52:20 #482 №2931991 
>>2931724
Там не один чан, там много разных топиков
Аноним 21/11/23 Втр 23:58:22 #483 №2931993 
>>2931736
>useSWR и у него никакого setState нету
Доку открывать пробовал? https://swr.vercel.app/docs/mutation#bound-mutate
Аноним 22/11/23 Срд 00:05:13 #484 №2932000 
>>2931634
>>DDD
>баззворд с нулевым наполнением
Макака.
Аноним 22/11/23 Срд 00:07:53 #485 №2932005 
>>2932000
>Предметно-ориентированное проектирование (реже проблемно-ориентированное, англ. domain-driven design, DDD) — набор принципов и схем, направленных на создание оптимальных систем объектов. Сводится к созданию программных абстракций, которые называются моделями предметных областей. В эти модели входит бизнес-логика, устанавливающая связь между реальными условиями области применения продукта и кодом.
Чистейший поток базза.
Аноним 22/11/23 Срд 00:18:37 #486 №2932008 
>>2931616
Наличие шины данных/брокера сообщений не является обязательным атрибутом для реализации ддд в микросервисах. И микросервисы можно реализовать и без ддд и без кафок-хуяфок, и каждый микросервис может иметь свой субдомен, а всех их объединять кордомен, который может быть чем угодно, хоть отдельном сервисом, типа воркфлоу, хоть просто набором зашаренных классов/адаптеров, обёрнутых в отдельный пакет или библу.
Аноним 22/11/23 Срд 02:20:33 #487 №2932048 
>>2931595
>Вроде это пишется где то примерно за минуту.
Если зайти в решения и скопировать первое попавшееся, да. А 2 часа для малютки, который в первый раз с такой задачей столкнулся в самый раз.
Аноним 22/11/23 Срд 03:30:55 #488 №2932060 
>>2932048
Когда в универе учился, нужно было перед преподом на листочек написать евент эмиттер если конечно попадётся тот билет. Как раз надо было уложиться за минуту две
Аноним 22/11/23 Срд 07:10:23 #489 №2932096 
>>2932060
Какой это универ? Буду всем советовать.
Аноним 22/11/23 Срд 08:22:30 #490 №2932106 
>>2931321
SQL
Аноним 22/11/23 Срд 09:06:43 #491 №2932135 
>>2932106
Этот кал я уже выучил
Аноним 22/11/23 Срд 09:34:31 #492 №2932150 
>>2930756
Братишка, тэйк ит изи, нервы дороже всей этой фигни. Ну и тут нужен мобильщик, местные видимо только web пишут.
Аноним 22/11/23 Срд 11:03:44 #493 №2932249 
>>2931639
Что не так?
Аноним 22/11/23 Срд 11:07:08 #494 №2932255 
>>2932249
Это тот случай, когда для русскоговорящего читается так как видится: дрывень.

мимо
Аноним 22/11/23 Срд 11:13:59 #495 №2932269 
>>2932255
Понял.
Аноним 22/11/23 Срд 11:30:54 #496 №2932281 
>>2931993
А если не swr то как принудительно перерисовку в реакте делать?
Аноним 22/11/23 Срд 11:33:13 #497 №2932285 
>>2931993
>mutate({ ...data, name: newName })
...data а вот это хорошо потому что мутировать это плохо понятненько? А если там миллион элементов в массиве, мне тоже всегда надо его копировать? А мутировать плохо потому что долбоеб который придумал реакт так скозал и всё.
Аноним 22/11/23 Срд 11:43:00 #498 №2932289 
>>2931866
Вообще-то такой костыль прям в доке написан. Только с другим именем.
https://react.dev/reference/react/useState#resetting-state-with-a-key
Аноним 22/11/23 Срд 12:26:56 #499 №2932314 
>>2932289
Ты излил какое-то говно. Потом откуда-то вылез SWR. Никто не знает размер твоего списка. Если у тебя там 10 элементов. Ты литералли экономишь на спичках усложняя и спагетизируя логику компонента. Мы тут угадать должны, что ты там с данными делаешь? Отсылаешь ли запросы?
Да в конце концов, у тебя девтулзы есть, можно посмотреть перформанс. Ты вообще в курсе про такой функционал? Он прямо в твоём браузере.

> пример
Бля чел, это какой-то пиздец разбросанный на несколько уровней. Родительский компонент делает ТРИКИ-ТРИКИ, чтобы сбросить стейт вложенной управляемой формы...
Это говнокод чистой воды. Я, конечно, могу представить, когда это могло бы быть полезно, относительно, но это только если ты изобретаешь ещё больше велосипедов.
Когда тебе может понадобиться явный ключ на компонентах - это например, если у тебя условный рендеринг компонентов, которые fiber не может различить ввиду того, что они рендерятся в один и тот же элемент. Вот тогда нужно ключом намекнуть, что неплохо было компонент полностью перерисовать.

Короче, смотри, вот есть ОП-пост:
>Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если/когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.

Ты пока что сюда пришёл как в бложик. Сам придумал проблему, сам решил, сам самоудовлетворился.
Аноним 22/11/23 Срд 13:16:50 #500 №2932362 
>>2932314
Меня бесит useState([...list]) так и надо делать потому что так Аллах велит или можно так не делать?
Типа ты не видишь в ...цикл на N элементов? И считаешь что в любом случае всегда надо бездумно это писать?
И это конечно же проблема конкретного моего случая, а не то что надо обсуждать в "бложике".
Аноним 22/11/23 Срд 13:28:47 #501 №2932370 
>>2932362
> пиши с примерами
> АРРРРРЯЯЯЯЯ НЕТ ВЫ ВРЁТИ, НЕ МОЖЕТ БЫТЬ, ЧТО Я ТАКОЙ ИСКЛЮЧИТЕЛЬНЫЙ
Ничего, порридж, дойдёшь до редакса, до иммера, всё будет.
Аноним 22/11/23 Срд 13:30:05 #502 №2932372 
>>2932370
>АРЯЯЯЯ ПРИМЕРЫ ИЗ ДОКИ ЭТО НЕ ПРИМЕРЫ
Аноним 22/11/23 Срд 13:31:16 #503 №2932374 
>>2932372
> АРРРЯЯЯЯЯ ДВА РАЗА ПОПРОСИЛИ ПИСАТЬ С ПРИМЕРАМИ
> НЕТ Я СЛЕПОЙ
Аноним 22/11/23 Срд 13:44:55 #504 №2932392 
>>2932285
>А если там миллион элементов в массиве
И что? Если у тебя такие вопросы возникают - иди смотри как работают JS движки, что бы лишних вопросов не было.
Аноним 22/11/23 Срд 13:45:25 #505 №2932394 
>>2932281
>как принудительно перерисовку в реакте делать?
Ты не должен её делать никогда.
Аноним OP 22/11/23 Срд 13:46:28 #506 №2932397 
ПОКАТИЛИСЬ
>>2932395 (OP)
>>2932395 (OP)
>>2932395 (OP)
Аноним OP 22/11/23 Срд 13:46:35 #507 №2932398 
ПОКАТИЛИСЬ
>>2932395 (OP)
>>2932395 (OP)
>>2932395 (OP)
Аноним OP 22/11/23 Срд 13:46:46 #508 №2932399 
ПОКАТИЛИСЬ
>>2932395 (OP)
>>2932395 (OP)
>>2932395 (OP)
Аноним 22/11/23 Срд 14:06:11 #509 №2932413 
>>2932392
>как работают JS движки,
Как?
Аноним 22/11/23 Срд 14:07:03 #510 №2932414 
>>2932413
А вот так, что ты в 99.999% случаев копируешь 64битные числа, что происходит за микросекунды и не оказывает влияния на перформанс.
Аноним 22/11/23 Срд 14:12:39 #511 №2932424 
>>2932414
Какая разница сколько бит в числах?
Аноним 22/11/23 Срд 14:16:43 #512 №2932429 
>>2932424
Какой же ты уебон. Как ты умудряешься со всех тейков уцепиться не за ссуть™ - просто фантастика.
Копируется РЕФЕРЕНС на объект, читай: ссылка на объект в памяти. Кишочки твоего объекта в массиве не копируются.

Научись сначала делать как все, потом вставляй свои костыли. Или выбери что-то помимо реакта уже сейчас.
Аноним 22/11/23 Срд 14:22:34 #513 №2932440 
>>2932429
Это ты вместо того чтобы сказать суть посылаешь почитать хуй знает че и серишь базвордами про биты. Какая мне нахуй разница какие там биты, чмо тупорылое.
...list - 1 цикл перебора массива. 1 цикл больше чем 0 циклов. 1 цикл менее требователен к ресурсам чем 0 циклов.
Аноним 22/11/23 Срд 14:31:41 #514 №2932452 
>>2932440
До мемоизации дочитал? Дочитай.
Аноним 22/11/23 Срд 14:41:53 #515 №2932473 
>>2932452
Это не относится к теме. 1 всё еще больше чем 0.
Аноним 22/11/23 Срд 14:51:33 #516 №2932480 
>>2932473
Дочитай. Чтобы ты потом не удивлялся почему твой костыль не работает. А тимлид ебёт шваброй в жопу.
Аноним 22/11/23 Срд 15:08:19 #517 №2932500 
>>2932480
Всё работает, пример из доки, шваброй ебу я тимлида.
Аноним 22/11/23 Срд 15:12:25 #518 №2932509 
>>2932500
GL HF
Аноним 26/11/23 Вск 15:49:58 #519 №2937996 
image.png
Оцените
Аноним 26/11/23 Вск 17:02:02 #520 №2938080 
https://flexboxfroggy.com/#ru игра по флексам.
Аноним 27/11/23 Пнд 00:43:49 #521 №2938654 
29b2c22d-52b7-407d-bfcd-6a9db57c61c11.mp4
77f04b06-5d6b-4f6f-9ec2-1107ec17182b1.mp4
4a684c1c-7114-4bc2-8369-5ec3cfb4bc061.mp4
3ad18008-7a4b-4342-9298-810b797e074c1.mp4
4039f537-e16f-428c-ad0d-50a6904a06021.mp4
Аноним 03/12/23 Вск 14:58:52 #522 №2948059 
>>2937996
клеймо жулика, с таким сразу нохаир
Аноним 06/12/23 Срд 18:01:56 #523 №2952806 
>>2920228
нет.

ЛЮДЕЙ С ДОСТУПОМ К РУПОРУ - НЕ БЕРУТ НА РАБОТУ В 2023

блогеры, люди с твитера - все они подпадают под нохаир
comments powered by Disqus

Отзывы и предложения