Главная Юзердоски Каталог Трекер NSFW Настройки

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

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 523 53 107
JS Thread #297 /js/ Аноним # OP 13/11/23 Пнд 10:37:07 2919926 1
16991996156040.png 73Кб, 1050x1050
1050x1050
Предыдущий тред: >>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 2919967 2
Screenshot2023-[...].jpg 410Кб, 1080x2400
1080x2400
База треда
Аноним 13/11/23 Пнд 11:14:52 2919976 3
>>2919967
Надо смотреть именно когда выложили.
Хотя, я и пару месяцев назад видел как новая вакансия набирает 500-600 за половину рабочего дня.

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

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

>>2920259
Дата - это просто ответ от axios'а. Там внутри только state ("ok" или "error"), result с массивом, paging с ключом пагинации.
Аноним 13/11/23 Пнд 15:50:25 2920279 19
Аноним 13/11/23 Пнд 16:06:37 2920309 20
image.png 41Кб, 1216x846
1216x846
image.png 271Кб, 1467x829
1467x829
image.png 33Кб, 1333x398
1333x398
Ну че, вкатунцы и сторожили.
Покажем этим нормисам и быдлу кто тут бог жопыскрипта?
Аноним 13/11/23 Пнд 16:07:02 2920311 21
Ананасы, кто связывался с AWS поясните за него. Я вот его ковыряю второй день (serverless framework v3) и это самый хуёвый DX в моей жизни. Пытаюсь сделать авторизацию с DynamoDB (с jwt). Всё это кажется максимально неудобной залупой.
Особенно жопа горит от yaml файла конфига, сука, я вообще не ебу какие ключи за что отвечают. Что я должен там описывать, а что не должен, какие ключи на что влияют и т.п. Почему нельзя было сделать json со схемой и описанием ключей.
Вот KeySchema и AttributeDefinitions, например. Я должен прописывать для каждого столбца в моей ДБ или только для айдишника с partition key? Если для каждого столбца, то там не пропускает любой формат, кроме S|N|B, а у меня может быть и M и L. Кароче, кто работал, поясните, это я конченый далбоёб, или там действительно, не всё так радужно, как в рекламе.
Аноним 13/11/23 Пнд 16:07:02 2920312 22
Аноним 13/11/23 Пнд 16:07:40 2920313 23
>>2920268
Почему у тебя тип расширяет константу строку. Это какая-то хтоническая ебанина, не?
Аноним 13/11/23 Пнд 16:33:46 2920353 24
>>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 2920384 25
>>2920353
Та в задании одно из требований
>Serverless Framework or SST with CloudFormation as an IaC provider
Алсо, я взял фреймворк в надежде, что там из коробки будет всё, что нужно, но потом понял, что это хуйня собачья и надо поверх накатиывать плагины и прочее.
Аноним 13/11/23 Пнд 16:56:16 2920405 26
image.png 18Кб, 546x340
546x340
>>2920268
Насколько я понял тебе надо перегрузку функции, она вот так работает.
Аноним 13/11/23 Пнд 17:22:49 2920429 27
>>2920384
Шо то хуйня шо эта хуйня. Если бы у меня был выбор между serverless и sst, я бы наверно выбрал sst. Он лично на мой вкус поприятнее. Это типа набора сниппетов cdk, чуть облегчает писанину, но остаётся тем же cdk по сути. А serverless это по сути тот же ебучий cloudformation с его ебучими ямлами. Пусть это вкусовщина, но эти ямлы и этот cloudformation настоебал. CDK в миллиард раз удобнее и лучше.
Аноним 13/11/23 Пнд 18:13:02 2920454 28
12.jpg 28Кб, 612x612
612x612
Вопрос для сеньеров помидоров. Кто-нибудь пользовался библиотекой react-virtualized для создания виртуальных списков/таблиц. Есть такой трабл, который хорошо видно прям на примере из доки для MultiGrid https://bvaughn.github.io/react-virtualized/#/components/MultiGrid
Строки, зафиксированные через fixedRowCount скроллятся влево-вправо не синхронно остальной таблице. Особенно хорошо видно, если зафиксировать несколько строк. Кто-нибудь сталкивался с такой проблемой, как ее можно решить? Какие есть еще либы для виртуализации, в которых нет таких траблов?
Аноним 13/11/23 Пнд 18:52:13 2920490 29
>>2920454
Я как раз в прошлом треде бугуртил на react-window. Но твоя либа выглядит менее колхозно, мне кажется мне моё говно надо будет переделывать на react-virtualized.
У меня хорошо скролится всё кроме фаерфокса опять, в нем у таблицы есть какой-то лишний пустой хвост. Закапывайте фаерфокс как в своё время ИЕ.
Аноним 13/11/23 Пнд 18:54:55 2920491 30
>>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 2920495 31
Как роутились те ранние ажахи, что с query string после #, типа http://huita.com/#view/1
Попался такой движок древний, лень в этом копролите копаться.
Аноним 13/11/23 Пнд 19:08:41 2920504 32
>>2920384
1. В aws не нужно создавать пользователя в БД, для этого есть cognito. У тебя потом не подцепится api gateway авторизация, если ты будешь велосипеды строить.
2. Получать надо через getItem, а не через updateCommand.
3. Можно получить пользователя, смотри "putItem callback". Надо было в коллбеке читать созданную запись.
4. Также можно вместо putItem делать updateItem, тогда вернётся.
5. Проще было любой orm взять типа того же electrodb и не мучаться.
Аноним 13/11/23 Пнд 19:09:56 2920507 33
Аноним 13/11/23 Пнд 19:43:26 2920545 34
>>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 2920647 35
>>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 2920696 36
>>2920490
Пиздос, там зачем-то написано что есть поддержа таблиц, но все таблицы всё равно рисуются дивами. Какие же колхозаны, реактодебилы.
Аноним 13/11/23 Пнд 22:23:58 2920787 37
image.png 37Кб, 645x496
645x496
>>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 2920797 38
>>2920787
> Мне кажется пришло время эвент эмиттеру явить себя миру
Собираешься на ангуляр с рыксжс?
Аноним 13/11/23 Пнд 23:05:28 2920836 39
>>2920787
Пиздос чел.
Что наследуется от эвент эмиттера в жабаскрипте:
1. Все хтмл элементы.
2. socket.io
3. HTTP на ноде
4. jQuery
5. небо и аллах
Этот ваш реакт сдохнет, ангуляр сдохнет, будет второе пришествие и апокалипсис, а эвент эмиттер никуда не денется.
Ну какой тут явит миру. ЖС это эвент драйвен язык.
Аноним 13/11/23 Пнд 23:08:40 2920843 40
>>2920836
Стримы на ноде забыл. Все backbone классы, но это не актуально уже. Наверняка еще все вуе компоненты и ангулярные, но я не знаю и не помню.
Аноним 14/11/23 Втр 00:10:12 2920883 41
16888351885591.jpg 386Кб, 768x1152
768x1152
Есть вообще хоть что-то, в чем Реакт был бы лучше чем Вуе в 2023-м?
Аноним 14/11/23 Втр 00:13:59 2920886 42
>>2920883
Во всём кроме перформанса. Только скоро завезут React Forget и тогда он ещё и по перформансу будет попускать никому не нужную китайскую подделку.
Аноним 14/11/23 Втр 00:23:55 2920898 43
Есть таблица, в ней может быть много строк, 1000 и больше. При клике на строку таблицы показывается модалка. Вопрос - как правильно вешать обработчик этого клика? Вуе и реакт предлагают вешать на каждую строку при их рендере. Но это же 1000 обработчиков будет. Это нормально?

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

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

Что делать?
Аноним 14/11/23 Втр 00:37:20 2920908 44
>>2920898
реакт по идее сам такое должен оптимизировать, не ?
Аноним 14/11/23 Втр 00:37:50 2920909 45
>>2920898
Виртуализацию списка делать
Аноним 14/11/23 Втр 02:47:12 2920928 46
>>2920883
Так то были заснайпленные скриншоты в пик популярности айти, а тут рандомный оффер открыл отличный показатель того, как обесценилось искусство в наше время.
Аноним 14/11/23 Втр 04:10:43 2920933 47
>>2919967
Какой ещё нахер рынок США в Томске?
Аноним 14/11/23 Втр 04:13:44 2920934 48
>>2920454
Пользовался. Ещё сам несколько раз писал и рефакторил разные реализации виртуальных списков.
Так вот, все либы это набор костылей и граблей, а виртуальный списки – это действительно одна из самых сложнейших задач, а не всякие поиски путей.
Аноним 14/11/23 Втр 06:09:16 2920944 49
https://codesandbox.io/s/react-window-with-table-elements-d861o?file=/src/index.tsx
Вот типовая задача отрендерить большой список. Через пять минут встает задача отрендерить большую таблицу и мы получаем это.
Почему так? Почему веб в таком говне? Потому что реактомакаки умственно отсталые долбоебы. Не смогли всей индустрией написать нормальный список за 10 лет.
Аноним 14/11/23 Втр 06:38:17 2920952 50
>>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 2920967 51
>>2920150
Что тебя удивляет? data непонятно откуда берется, то что у тебя service определенного типа никак не говорит о том, что данные такого же типа.
Аноним 14/11/23 Втр 07:04:11 2920971 52
>>2920228
То что чел конспект хороший написал никак не делает из него разраба.
Этот даун за час не смог сделать 2 типовые задачи.
Аноним 14/11/23 Втр 07:08:35 2920974 53
>>2920454
Всё хуйня кроме @tanstack/react-virtual, у него нет лишнего обвеса, который только мешает, при этом есть всё чтобы сделать виртуальный список с нужным тебе UI-ем
Аноним 14/11/23 Втр 07:33:02 2920983 54
>>2920974
Выглядит збс, спасибо.
Аноним 14/11/23 Втр 09:13:37 2920999 55
>>2920797
Можно, хотя дело не в фреймворке.
>>2920836
ого, спс
Аноним 14/11/23 Втр 12:30:41 2921231 56
Что делать для практики на фронте, кроме туду, калькуляторов и задрачивания алгоритмов?
Не знаю что на том же жс делать - фантазии нет. Покрасить что-нибудь при нажатии на кнопку? Это же меньше одного процента от всех возможностей жс. Как применять все, большинство или хотя бы половину возможностей языка?
Может есть список реальных проектов, а не "туду, калькуляторы и задрачивание алгоритмов"?
Аноним 14/11/23 Втр 12:57:14 2921277 57
>>2921231
Дебик?

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

> какие проекты делать?
Клон чего-то крупного. Спотифая, яндекс.музыки, вконтакте, двача, лайвлиба, аллаха.
А апишку можно взять либо у сервиса, клон которого делаешь, либо набросать моковую
Аноним 14/11/23 Втр 13:48:01 2921408 58
>>2921231
тетрис сделай, будет интересно
Аноним 14/11/23 Втр 13:50:42 2921413 59
Аноним 14/11/23 Втр 14:00:53 2921435 60
Решил наконец перевести клиентскую часть пет-проекта на ES6 модули. Вопрос - как там правильно импортировать socket.io? Вижу пояснения только для сервера, а на клиенте как сраный "io" получить из импорта?
Аноним 14/11/23 Втр 14:02:59 2921439 61
>>2921413
>показывает работы на 10 лет в человекочасах
>повтори всё
Аноним 14/11/23 Втр 14:04:54 2921443 62
>>2921439
А ты думал показать себя какой-то примитивной хуйней? Так ты не выделишься среди миллионов вкатунидзе.

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

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

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

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

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

Ну, собственно, тут и видно какой ты не вкатун, раз по срокам так пробываешься.
Аноним 14/11/23 Втр 14:44:06 2921525 73
>>2921514
А работаешь ты пиздаболом на дваче.
Аноним 14/11/23 Втр 14:45:39 2921531 74
>>2921525
Иди, крч, красивую тудушку сделай, попрактикуйся.
Аноним 14/11/23 Втр 14:48:02 2921538 75
Если я пишу в одном файле:
export let DEBUG = 1
а потом где-то меняю его значение, то в прочих файлах импортированное значение не обновится?
Аноним 14/11/23 Втр 14:48:13 2921539 76
>>2921514
Или ты типа считаешься что если ты написал
<Grafik/>
<Todoshka/>
<Slider/>
Это ты считаешь за разработку админки? Если это всё из готового собрать то за полгода можно. А в чем тогда практика для вкатуна? Если с нуля делать, на голом реакте например то десять лет запросто.
Аноним 14/11/23 Втр 14:58:04 2921560 77
image.png 46Кб, 1374x801
1374x801
image.png 43Кб, 1389x521
1389x521
image.png 13Кб, 1415x665
1415x665
image.png 91Кб, 1637x925
1637x925
image.png 152Кб, 1402x762
1402x762
image.png 96Кб, 540x681
540x681
>>2921539
Таблицу можно за день сделать.

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

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

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

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

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

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

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

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

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

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

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

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

>>2920313
Не, там всё норм, как и должно быть.
Аноним 14/11/23 Втр 18:23:03 2921979 107
>>2921973
>Не, там всё норм, как и должно быть.
Нихуя это не норм. Я нигде вчера в интернете не нашел такой хуйни чтобы унаследоваться от литерал константы.
Аноним 14/11/23 Втр 18:24:16 2921984 108
Аноним 14/11/23 Втр 18:26:40 2921989 109
>>2921984
Наследоваться надо от класса или интерфейса.
Аноним 14/11/23 Втр 18:39:35 2922010 110
>>2921989
Ой да ну почему это. Вот можешь навести мышью на testResponse и он будет разный тип возвращать в зависимости от того какая строка поступила в функцию https://www.typescriptlang.org/play?#code/C4TwDgpgBAtiAq5oF4oHIwHtMEcCuEaUAPugM4BOEAdvoQFCiRQAK2dUqA3lrgQFxQywCgEtqAcwC+jJFADKVWgU5QulGnUHCxkmbOYAxPNQDGwUZmoAlCGSzUyEADzwAfKvhQIAD2A0AEzJ0Xjo0eigoAH5WdgIIqEEvX39qIPIlMITImMVNeMjIwWoIADcICnp6ADMTc0tqKH9hW3srJ1dvP0DguERINwAKMkwYCH6IJIAaIVGIW2A8CmpBAENqEABKQWMzCytWhw73NQSqReXZsYWl6np9ZuBD9ohBgCJQgjeZnjjJqDejzeUk2jDsTzsR1ebw0ygg3zUsK0AKBIKAA
Аноним 14/11/23 Втр 18:46:44 2922022 111
>>2922010
Это надо делать перегрузом >>2920405
У тебя говнокодище.
Аноним 14/11/23 Втр 18:53:17 2922028 112
Анон, зачем ты продолжаешь вкат?
Разве не очевидно что джуну работу просто не найти?
Сложно, непонятно, так еще и безперспективно.
Аноним 14/11/23 Втр 19:03:56 2922043 113
>>2921973
Пчел, какое ты нахуй хочешь решение по своему огрызку со склеенным скриншотом? Не знаю, в типах проеблася, констреинты не расставил.
> as
Выкинул типизацию нахуй, поделил на ноль, гуд эффин джоб.
Аноним 14/11/23 Втр 19:19:44 2922056 114
>>2922028
Я - рантье, и кодомакакинг для меня просто хобби, в котором мне (пока) интересно разбираться.
Аноним 14/11/23 Втр 19:27:12 2922061 115
>>2921959
В api gateway я создал несколько роутов, и сделал кастомный авторайзер без каких-либо проблем. Проблемы с бд меня просто убили нахуй. Я с монго работал, там всё было +- норм с ньюансами, с постгрессом тоже, затупов серьёзных не было. Тут же сука, куче ошибок, апиха sdk- говнище ёбаное, классы с одинаковыми названиями есть и в @aws-sdk/client-dynamodb и в @aws-sdk/lib-dynamodb. Если что-то не то импортонул, будет ошибка, которая тебе нихуя не скажет, что не так. Дока 3 версии сдк из говна. на стаковерфлоу темы по 5-6 летней давности. Кароче, я не доволен инструментом очень сильно. Бывает такое, что используешь что-то и пригорает жопа, но в этот раз пригорело сильнее всего.
Аноним 14/11/23 Втр 20:31:35 2922104 116
>>2920886
>Только скоро завезут React Forget
Он не ускорит работу реакта. Его задача - упростить работу макакам, чтобы те руками юзмемы не писали.
Аноним 14/11/23 Втр 21:36:03 2922168 117
>>2922043
>> as
>Выкинул типизацию нахуй, поделил на ноль, гуд эффин джоб.
С каких пор type assertion делит типизацию на ноль?
Аноним 14/11/23 Втр 22:03:31 2922215 118
>>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 2922219 119
>>2922168
> нагородил хуйни
> не справился с управлением костылесепеда
AS ЕСМЬ МАКАКА, ЦАРЬ И БОГ ТАЙПСКРИПТА
Аноним 14/11/23 Втр 22:54:15 2922275 120
>>2922219
Я не автор скриншота. Ты так и не ответил про type assertion. Может это ты как раз макака?
Аноним 14/11/23 Втр 22:58:34 2922277 121
>>2922275
ты точно тайпскрипт изучал?
Аноним 14/11/23 Втр 23:00:41 2922281 122
Аноним 14/11/23 Втр 23:01:59 2922282 123
Аноним 14/11/23 Втр 23:05:07 2922284 124
>>2922104
Там ещё про useCallback. Многие ни то, ни другое не применяют там, где это было бы прибавку в перформансе. Так что когда выпустят React Forget, такие люди получает неплохую прибавку в перформансе без каких-либо заёбов.
Аноним 14/11/23 Втр 23:18:14 2922291 125
Аноним 14/11/23 Втр 23:30:34 2922307 126
>>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 2922309 127
>>2922275
Ты же понимаешь, что as кроме полутора случаев, один из которых кривая стандартная типизация стандартных функций прототипов где не инферится тип - не нужен нахуй и является дичайшим нахуй костылём?

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

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

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

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

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

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

>>2923001
>То есть класс это не множество?
Нет. Это АТД.
Аноним 15/11/23 Срд 21:10:53 2923498 173
>>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 2923519 174
>>2922970
Объектно-ориентированное программирование — чрезвычайно плохая идея, которая могла возникнуть только в Калифорнии.
— Эдсгер Вибе Дейкстра

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

Ключевое слово - "когда". Когда, блядь? Эту хуйню уже года 2 обещают по моему, чем разрабы реакта вообще заняты?
Аноним 16/11/23 Чтв 01:54:28 2923676 176
>>2923585
По ней почти больше года не было новостей, но весны этого года уже несколько раз почтили обновления уже скоро релиз должен быть
Аноним 16/11/23 Чтв 03:28:34 2923692 177
Какой у реакта аналог scoped slots из Vue? Гугл говорит, что render props, а в доке ректа говорят, что они устарели, используйте пользовательские хуки. А доке пользовательских хуков говорят, что внутри них используются обычные хуки. А мне не нужны обычные хуки в логике, которую я делал через scoped slots.
Аноним 16/11/23 Чтв 10:25:26 2923793 178
>>2923485
> АТД.
> Формально АТД может быть определен как множество объектов, определяемое списком компонентов (операций, применимых к этим объектам, и их свойств)
Ну и зачем ты пытаешься наебать дедушку? Не стыдно?
Аноним 16/11/23 Чтв 12:11:33 2923903 179
>>2923692
А какая там логика?
Аноним 16/11/23 Чтв 13:17:15 2923952 180
>>2923903
Дочерний компонент прокидывает переменные в парент. .
Аноним 16/11/23 Чтв 13:45:31 2924013 181
>>2923952
Передай в дочерний компонент метод и вызови его с данными которые надо передать
Аноним 16/11/23 Чтв 13:56:54 2924024 182
>>2924013
А как его вызывать. Допустим я передаю в дочерний элемент строку, дочерний должен её развернуть, а потом в паренте в слот запихнуть перевёрнутую строку
Аноним 16/11/23 Чтв 13:58:33 2924026 183
>>2924024
Хотя логика дебильная конечно принцип KISS не соблюден и мб это нахуй не надо.
Аноним 16/11/23 Чтв 14:14:42 2924061 184
>>2924024
Так ее можно в паренте перевернуть, почитал про слот и нихуя не понял, ты передаешь данные из чаелда в парент, чтобы обратно их в этот же чаелд передать?
Аноним 16/11/23 Чтв 14:25:46 2924077 185
>>2924061
> Так ее можно в паренте перевернуть, почитал про слот и нихуя не понял, ты передаешь данные из чаелда в парент, чтобы обратно их в этот же чаелд передать?
Да. Тоже считаю если есть какая-то логика которую тебе надо реализовать посередине парента и чайлда, её надо реализовать просто сбоку а не устраивать вот эти передачки хуй пойми откуда куда.
Аноним 16/11/23 Чтв 14:27:07 2924080 186
>>2924077
Даже в логике самого вуе это нахуй не надо. Там передаешь вниз пропы и вверх эвенты.
Аноним 16/11/23 Чтв 14:49:57 2924112 187
>>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 2924115 188
>>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 2924132 189
>>2923692
>у реакта аналог scoped slots из Vue
React.cloneElement
Аноним 16/11/23 Чтв 15:04:44 2924137 190
>>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 2924150 191
>>2924112
В реакте это передаешь в таблицу функцию которая рисует ряд, в функцию прилетает id и всё остальное.
Аноним 16/11/23 Чтв 15:28:11 2924159 192
>>2924150
Да помню был вкатуном в мелкой галере лет 7 назад, наделал таблиц в админке на рякте табличных елементах. О гридах еще не знал. Все летало со скоростью катка по свежему асфальту...
Аноним 16/11/23 Чтв 17:11:35 2924311 193
Аноним 16/11/23 Чтв 17:30:09 2924322 194
>>2923793
Тут имеется ввиду, что абстрактный АТД это множество объектов, но мы говорим о конкретном АТД, а именно об объекте наследованном от класса. Это уже не множество, а один конкретный АТД. И под множеством подразумевается не математическое понятие множества.
Аноним 16/11/23 Чтв 20:43:32 2924610 195
>>2924311
Ты скозал? Покажи пруф.
Аноним 16/11/23 Чтв 21:23:54 2924660 196
Аноним 16/11/23 Чтв 21:25:45 2924664 197
image.png 95Кб, 216x300
216x300
Сап двощ. Есть два поля в фаербейзе startDate, endDate
нужно сделать квери чтобы отфильтровать по интервалу между ними, но в фаербейзе нельзя делать такое

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

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

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

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


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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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


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

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

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

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

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

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

page, components, api, service , shared
этого достаточно и никто никогда не запутается.
Аноним 19/11/23 Вск 22:25:49 2928993 359
Как блядь сделать подгрузку новых данных по скроллу и с виртуализацией при этом используя ртк квери в реакте?
Аноним 19/11/23 Вск 23:07:34 2929064 360
>>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 2929074 361
>>2929064
Даун ты? Нахуй ты мне свое говно из чатгпт дашь с реакт квери, а не ртк?
Аноним 19/11/23 Вск 23:21:28 2929078 362
Аноним 19/11/23 Вск 23:22:14 2929079 363
>>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 2929087 364
>>2929079
пиздец, с редаксом почти в 2 раза длиннее ответ
Аноним 19/11/23 Вск 23:31:48 2929098 365
>>2929079
Клоун, я бы тут не спрашивал ответа, если бы уже не сделал всё тоже самое что и ты сейчас делаешь, иди на хуй. Джаваскрипт параша, хр тьфу.
Аноним 19/11/23 Вск 23:44:54 2929105 366
>>2929098
>Джаваскрипт параша, хр тьфу.
А что не параша?
Аноним 20/11/23 Пнд 01:19:03 2929159 367
>>2920898
Как уже сказал анон, самый адекватный способ - виртуализировать, если таблица просто рендерит контент, то довольно быстро прикрутить можно.
Аноним 20/11/23 Пнд 01:24:55 2929160 368
>>2920944
Напишешь на чистом js это "правильно"? Спорим ты просто хуевый инженер, который хочет, чтобы за него все решили и сделали другие, а твоя задача фрустрировать и кадаться говном.
Аноним 20/11/23 Пнд 01:36:02 2929164 369
>>2921231
Из того, что можно будет положить в гитхаб и получать респект - таблица в тыщей записей, для каждого роу может быть вложенность других роу, их можно перетаскивать друг в друга. Если влоб это сделать, работать будет хуево, нужна виртуализация. Просто если делать клон чего-то большого, то хуй кто смотреть будет толком, ну и просто херова туча времени на верстку. А такая таблица это минимум кода и много интересных технических моментов, я так понимаю ты только вкатываешься, поэтому будет полезным в качестве демонстрации скилов.
Аноним 20/11/23 Пнд 03:03:03 2929175 370
>>2929164
>нужна виртуализация
анус себе виртуализируй
Аноним 20/11/23 Пнд 05:50:08 2929184 371
>>2929160
зачем мне че-то писать? зачем на чистом? шиз, блять, возьми нормальный инструмент и таких проблем не будет.
еще, блять, попроси меня на паскале эту хуйню сделать, чтобы твои ряктопарашовские чувства были отомщены.
Аноним 20/11/23 Пнд 07:05:54 2929190 372
>>2929160
Конечно. Даже в этом треде на что правильное решение на реакте.
Есть 2 вида правильных решений. Полностью кастомайзбл - делай чё хочешь. Или компоненты на любой случай жизни, для списка, для таблиц, для неба, для Аллаха.
А вот это говнина когда вот тебе только дивы, хочешь таблицу - ебись.
Аноним 20/11/23 Пнд 10:04:18 2929225 373
>>2929184
А чё, норм. Видел чела твиче, который хуярит на паскале для души/фрелонс заказ.
Аноним 20/11/23 Пнд 11:49:44 2929314 374
Почему в Реакте ререндер происходит только, когда переменная в state получает новую ссылку?
Не проще ли было бы отслеживать изменения и тогда ререндерить?
Например, у меня есть массив, я меняю в нем один элемент, Реакт не вызывает ререндер, т.к у него переменная массива указывает на тот же самый массив (который я изменил).
Чтобы пошел ререндер, нужно копировать массив и уже в нем менять, что тебе надо. Тогда ссылка поменяется и Реакт вызовет ререндер.
Но это же неэффективно.

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

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

А вложенный мемоизированный компонент вместо проверки ссылки твоего массива также должен будет проверить все элементы на изменения массива. А он ещё может и не последним в цепочке наследования оказаться.
Аноним 20/11/23 Пнд 15:25:52 2929626 376
Вы в курсе что вас заменят на питонистов. Посмотрите как питон продвигают в веб. Он выглядит более лаконично у него больше либ и самое главное там нормальная асинхронность а не говёный евент луп. Так что время учить питон.
Аноним 20/11/23 Пнд 15:28:13 2929631 377
>>2929626
Конечно вкурсе, ведь питон нативный язык для браузеров
Аноним 20/11/23 Пнд 15:29:16 2929633 378
>>2929626
Добавь программно элемент в HTML DOM используя только питон. На задачу 1 минута.
Аноним 20/11/23 Пнд 16:02:27 2929676 379
>>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 2929696 380
>>2929626
>питон
>там нормальная асинхронность а не говёный евент луп
Кекнул в шепот. Ладно бы ты про говно спизданул, но в питоне такой же эвент залуп, который ещё и заблочить легко, если где-то синхронную функцию вызываешь внутри него, а не в отдельном треде.
мимо недосинька на петухоне
Аноним 20/11/23 Пнд 16:16:16 2929702 381
>>2929676
Теперь добавь на клиенте.
Аноним 20/11/23 Пнд 16:33:18 2929752 382
>>2929175
Не гавкай псина подзаборная, тебе нечего сказать.
Аноним 20/11/23 Пнд 16:46:06 2929782 383
Вы заебали не обсуждать бэк. Обсуждайте бэк, ок?
Аноним 20/11/23 Пнд 16:53:32 2929791 384
>>2929782
Да а че там обсуждать?
Бекендеры - дегенераты, которые в двух строчках 10 ошибок делают.
Смеяться над бекендером - это как смеяться над дауном. Он не выбирал таким родиться.
Аноним 20/11/23 Пнд 16:54:00 2929794 385
>>2929782
Сам бэк на жабаскрипте не подсунешь и не будет никакого бэка.
Аноним 20/11/23 Пнд 16:59:47 2929809 386
Ебаный react-native, сука какое дерьмо, 3 день я ебусь с этой хуетой java.lang.UnsatisfiedLinkError: couldn’t find DSO to load: libhermes.so и ноль нахуй, нихуя блеатЬ, хермес-хуемес отключен-включен-хуечен, это просто полный пиздец. Как это КОНТРИТЬ ТО ЕБАНЫЙ РОТ? В эмуляторе ведра всё заебись, а на устройстве апшка шлет нахуй с этой ошибкой, я ебал рот
Аноним 20/11/23 Пнд 17:21:52 2929846 387
>>2929809
> Как это КОНТРИТЬ
Angular Ionic
Аноним 20/11/23 Пнд 17:37:49 2929876 388
Аноним 20/11/23 Пнд 18:05:13 2929922 389
>>2929626
Питон на фронте? Норм шутка. Даже на бекенде он хуже js/ts.
Аноним 20/11/23 Пнд 18:27:56 2929969 390
>>2929752
Для ебанько тыща элементов это охуеть как много. Хотя для дауничей которым нужно тысячу библиотек подключить чтобы сложить два плюс два - вполне возможно так и есть.
Аноним 20/11/23 Пнд 18:55:21 2930006 391
image.png 10Кб, 649x163
649x163
Примерно можете почувствовать, что тут происходит?
Аноним 20/11/23 Пнд 19:07:19 2930032 392
>>2930006
Показывают что первое a приоритетнее второго
Аноним 20/11/23 Пнд 19:19:25 2930066 393
>>2930006
Да, дефолтные параметры, замыкания, области видимости.
btw мы вам перезвоним.
Аноним 20/11/23 Пнд 19:25:06 2930075 394
>>2930032
>>2930066
Оба пукнули, но конкретный ответ, почему так происходит, не дали.
Аноним 20/11/23 Пнд 19:28:58 2930083 395
image.png 5Кб, 312x147
312x147
>>2930075
Потому что иди нахуй.
Аноним 20/11/23 Пнд 19:46:37 2930107 396
>>2930075
Прост)
Не пиши не понятное и будет понятно.
Аноним 20/11/23 Пнд 20:47:42 2930197 397
>>2930006
Похоже на баг, ололо.

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

фикс
Аноним 20/11/23 Пнд 21:45:52 2930309 402
>>2930299
схуяндлить, я даже не понимаю, что это значит. Если можно сделать хттп фетч, что мешает мне отправить всю хуйню в бд?
Аноним 20/11/23 Пнд 21:46:57 2930310 403
>>2930309
> Сука ну почему жсеры такие тупые
Аноним 20/11/23 Пнд 21:49:09 2930317 404
Огласите стек по react который нужно знать 100% senioru
Аноним 20/11/23 Пнд 23:48:26 2930412 405
>>2929969
Иди нахуй джун ебаный
Аноним 20/11/23 Пнд 23:59:46 2930416 406
>>2929676
>>2929626
Петухондрий, где петухоновый код для добавления элемента в HTMLDOM на клиенте?
Аноним 21/11/23 Втр 00:28:51 2930422 407
Аноним 21/11/23 Втр 00:32:34 2930423 408
>>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 2930430 409
hqdefault.jpg 17Кб, 480x360
480x360
Аноним 21/11/23 Втр 01:23:58 2930434 410
image.png 10Кб, 595x152
595x152
>>2930423
Соси хуй, бот. И будешь сосать на таких дебильных вопросах дальше.
Аноним 21/11/23 Втр 02:48:27 2930438 411
>>2930412
Проецирующий джунишка, палишься на том что как всем джунятам-даунятам тебе лишь бы блестящих говноперделок засунуть побольше, даже там где они нахуй не нужны.
Аноним 21/11/23 Втр 02:50:51 2930439 412
>>2930203
Шиз?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Научись сначала делать как все, потом вставляй свои костыли. Или выбери что-то помимо реакта уже сейчас.
Аноним 22/11/23 Срд 14:22:34 2932440 513
>>2932429
Это ты вместо того чтобы сказать суть посылаешь почитать хуй знает че и серишь базвордами про биты. Какая мне нахуй разница какие там биты, чмо тупорылое.
...list - 1 цикл перебора массива. 1 цикл больше чем 0 циклов. 1 цикл менее требователен к ресурсам чем 0 циклов.
Аноним 22/11/23 Срд 14:31:41 2932452 514
>>2932440
До мемоизации дочитал? Дочитай.
Аноним 22/11/23 Срд 14:41:53 2932473 515
>>2932452
Это не относится к теме. 1 всё еще больше чем 0.
Аноним 22/11/23 Срд 14:51:33 2932480 516
>>2932473
Дочитай. Чтобы ты потом не удивлялся почему твой костыль не работает. А тимлид ебёт шваброй в жопу.
Аноним 22/11/23 Срд 15:08:19 2932500 517
>>2932480
Всё работает, пример из доки, шваброй ебу я тимлида.
Аноним 22/11/23 Срд 15:12:25 2932509 518
Аноним 26/11/23 Вск 15:49:58 2937996 519
image.png 2286Кб, 1280x960
1280x960
Оцените
Аноним 26/11/23 Вск 17:02:02 2938080 520
Аноним 27/11/23 Пнд 00:43:49 2938654 521
29b2c22d-52b7-4[...].mp4 2603Кб, 600x900, 00:01:20
600x900
77f04b06-5d6b-4[...].mp4 2363Кб, 600x900, 00:01:20
600x900
4a684c1c-7114-4[...].mp4 2548Кб, 600x900, 00:01:20
600x900
3ad18008-7a4b-4[...].mp4 2636Кб, 600x900, 00:01:20
600x900
4039f537-e16f-4[...].mp4 2370Кб, 600x900, 00:01:20
600x900
Аноним 03/12/23 Вск 14:58:52 2948059 522
>>2937996
клеймо жулика, с таким сразу нохаир
Аноним 06/12/23 Срд 18:01:56 2952806 523
>>2920228
нет.

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

блогеры, люди с твитера - все они подпадают под нохаир
Ответить в тред Ответить в тред

Check this out!

Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов