Этого треда уже нет.
Это копия, сохраненная 14 февраля в 19:16.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
16991996156040.png73 Кб, 1050x1050
JS Thread #297 /js/ # OP 2919926 В конец треда | Веб
Предыдущий тред: >>2907838 (OP)

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

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

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

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

Некоторые тупо фармят отклики для свои baza данных.
4 2919984
эщкерешку будешь?
5 2920111
>>19967
Слабовато для базы. Были скриншоты с 2к+ откликов, а тут жалкие 800.
Screenshot20231113150723.png81 Кб, 558x532
6 2920150
Что тут не так, подскажите плиз? 🤔 Как сделать так, чтобы он приводил к нужному типу. Если service === 'invoices' тогда тип должен быть IInvoiceAPIResponse, если websites, то наоборот. Сейчас он видит его как ResponseType<T>, условие T здесь почему-то не работает.
Screenshot2023-11-13-14-16-36-67.jpg410 Кб, 1080x2400
7 2920154
>>20111
Так то были заснайпленные скриншоты в пик популярности айти, а тут рандомный оффер открыл
8 2920157
>>20154
Бля проигрывал с этой гречи когда смотрел пару месяцев назад. Они там миддла искали.
9 2920170
>>20150
Очередная секция развлекательного журнала под названием разгадайте шараду, а половина шарады проёбана, поэтому придумайте шараду сами!
10 2920195
>>20150
T extends 'invoices'
Че это?
kek.png151 Кб, 877x725
11 2920228
Я правильно понимаю, что его книги после этого теряют смысл?
12 2920241
>>20228
Не смог написать эвент эмиттер.
13 2920247
>>20228
Это шаблонный фидбек, когда тебе не хотят говорить в глаза, чем ты не подошёл. Ведь так ты подкачаешься, и может быть придёшь ещё раз через полгода-год, не добавляя контору в чёрный список, особенно если отвечать будет та же клуша.
14 2920250
>>20241
Очевидно что много бабла хотел. Это ВСЕГДА основная причина отказа при найме с улицы
15 2920253
>>20250
Или наниматели не видели в нем трудовую пчелку, нах им философы жаваскрипта.
16 2920255
>>20247
>>20228
Алсо да, посмотрел статью. Я как-то тоже обосрался на собесе из-за онлайн редактора. Потому что крутится этот вебнёвый VS Code, в котором даже на линухе/виндузе часть хоткеев по дефолту отличается. Это не говоря, про то что часть хоткеев может быть кастомизированы, у чела могут стоять вим-хоткеи, он вообще может пользоваться продуктами жид-брейнза.
Особенно когда за всем этим зоонаблюдает какой-то пидор. Просто пару раз делаешь не то, воротишь взад, начинаешь делать так как не привычно. + Проёбанное время, +невры.

ПОэтому когда предлагают покодить говнозадачки на условном голом yandex-cheta.notepad - вот это оптимально. Ты сразу ожидаешь, что там нихуя не работает и ты в блокноте.
17 2920259
>>20150
data это что у тебя?
18 2920268
>>20195
Если передаётся в аргумент "service" строка "invoices", тогда axios ответ должен типизировать ответ API как IInvoiceAPIResponse. Если же строка "websites", тогда axios должен типизировать ответ как IWebsiteAPIResponse. Когда функцию вызываешь, всё нормально работает. Но внутри функции когда делаешь flatMap() не хочет приводиться тип.

>>20259
Дата - это просто ответ от axios'а. Там внутри только state ("ok" или "error"), result с массивом, paging с ключом пагинации.
19 2920279
>>20259
Подумой ещё раз >>20170
20 2920309
Ну че, вкатунцы и сторожили.
Покажем этим нормисам и быдлу кто тут бог жопыскрипта?
21 2920311
Ананасы, кто связывался с AWS поясните за него. Я вот его ковыряю второй день (serverless framework v3) и это самый хуёвый DX в моей жизни. Пытаюсь сделать авторизацию с DynamoDB (с jwt). Всё это кажется максимально неудобной залупой.
Особенно жопа горит от yaml файла конфига, сука, я вообще не ебу какие ключи за что отвечают. Что я должен там описывать, а что не должен, какие ключи на что влияют и т.п. Почему нельзя было сделать json со схемой и описанием ключей.
Вот KeySchema и AttributeDefinitions, например. Я должен прописывать для каждого столбца в моей ДБ или только для айдишника с partition key? Если для каждого столбца, то там не пропускает любой формат, кроме S|N|B, а у меня может быть и M и L. Кароче, кто работал, поясните, это я конченый далбоёб, или там действительно, не всё так радужно, как в рекламе.
23 2920313
>>20268
Почему у тебя тип расширяет константу строку. Это какая-то хтоническая ебанина, не?
24 2920353
>>20311
А нафига тебе серверлесс? Ну то есть я не пойму, что тебе даёт использование фреймворка "serverless"? У него кроме няшной админки больше ничего нет. Ты можешь взять обычный CDK и просто задеплоить без всяких головняков https://github.com/buithaibinh/blog-tutorials/tree/47320534264ead56fac26a80b740a1c56dbddad3/cdk-api-gateway-dynamodb Только добавишь там cognito и авторизацию. Типа такого:

authorizationType: AuthorizationType.COGNITO,
authorizer: {
authorizerId: authorizer.ref
}
25 2920384
>>20353
Та в задании одно из требований

>Serverless Framework or SST with CloudFormation as an IaC provider


Алсо, я взял фреймворк в надежде, что там из коробки будет всё, что нужно, но потом понял, что это хуйня собачья и надо поверх накатиывать плагины и прочее.
image.png18 Кб, 546x340
26 2920405
>>20268
Насколько я понял тебе надо перегрузку функции, она вот так работает.
27 2920429
>>20384
Шо то хуйня шо эта хуйня. Если бы у меня был выбор между serverless и sst, я бы наверно выбрал sst. Он лично на мой вкус поприятнее. Это типа набора сниппетов cdk, чуть облегчает писанину, но остаётся тем же cdk по сути. А serverless это по сути тот же ебучий cloudformation с его ебучими ямлами. Пусть это вкусовщина, но эти ямлы и этот cloudformation настоебал. CDK в миллиард раз удобнее и лучше.
12.jpg28 Кб, 612x612
28 2920454
Вопрос для сеньеров помидоров. Кто-нибудь пользовался библиотекой react-virtualized для создания виртуальных списков/таблиц. Есть такой трабл, который хорошо видно прям на примере из доки для MultiGrid https://bvaughn.github.io/react-virtualized/#/components/MultiGrid
Строки, зафиксированные через fixedRowCount скроллятся влево-вправо не синхронно остальной таблице. Особенно хорошо видно, если зафиксировать несколько строк. Кто-нибудь сталкивался с такой проблемой, как ее можно решить? Какие есть еще либы для виртуализации, в которых нет таких траблов?
29 2920490
>>20454
Я как раз в прошлом треде бугуртил на react-window. Но твоя либа выглядит менее колхозно, мне кажется мне моё говно надо будет переделывать на react-virtualized.
У меня хорошо скролится всё кроме фаерфокса опять, в нем у таблицы есть какой-то лишний пустой хвост. Закапывайте фаерфокс как в своё время ИЕ.
30 2920491
>>20429
Я просто в ахуе. Создаю запись в бд (через PutCommand), а она не хавает ReturnValues: "ALL_NEW", только ALL_OLD или NONE (хотя тайпскрипт говорит что хавает всё), то есть, создав нового юзера, я не могу этим же API сразу же отдать данные об этом юзере из БД. Можно вернуть новую запись через UpdateCommand, которая, если нет записи с таким партишн ки, создаст его, но она выдаёт мне ошибку The provided key element does not match the schema.
(У меня id - partition key и email GSI). Я просто в ахуе от этого. Всё через жопу, просто всё.
31 2920495
Как роутились те ранние ажахи, что с query string после #, типа http://huita.com/#view/1
Попался такой движок древний, лень в этом копролите копаться.
32 2920504
>>20384
1. В aws не нужно создавать пользователя в БД, для этого есть cognito. У тебя потом не подцепится api gateway авторизация, если ты будешь велосипеды строить.
2. Получать надо через getItem, а не через updateCommand.
3. Можно получить пользователя, смотри "putItem callback". Надо было в коллбеке читать созданную запись.
4. Также можно вместо putItem делать updateItem, тогда вернётся.
5. Проще было любой orm взять типа того же electrodb и не мучаться.
33 2920507
>>20491
Ответ тут >>20504
34 2920545
>>20504
Я задание делаю, и могу использовать только то, что они разрешили. Там авторизацию надо реализовать через кастомный ауторайзер-лямбду.

>Получать надо через getItem, а не через updateCommand.


Я имел ввиду, что функция создания PutItem не возвращает созданной записи, и что бы не юзать getItem после putItem, я заюзал update.

>Также можно вместо putItem делать updateItem


Так и делал.

Как создать через updateItem (или putItgem, похуй) элемент, в котором id - partial key, а email - GSI? Что бы email был уникальным?
ConditionExpression: 'attribute_not_exists(email)', пропускает одинаковіе мейлы.
Я уже ничего не понимаю.
35 2920647
>>20545
Чёт ты неточно говоришь. Мне щас лень в реале проверять, но неужели 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 проверять.
36 2920696
>>20490
Пиздос, там зачем-то написано что есть поддержа таблиц, но все таблицы всё равно рисуются дивами. Какие же колхозаны, реактодебилы.
image.png37 Кб, 645x496
37 2920787
>>20241

>эвент эмиттер


Ты 15 раз написал про него и мне уже кажется что кроме эвент-эмиттера и пропс-дриллинга в реакте вообще ничего не нужно. Т.е. грейд такой: эвент эмиттер->useContext->mobx,zustand->redux.

Поясню, в типичном приложении redux выполняет роль the-source-of-truth. Есть user и есть список друзей, когда компонент хочет отрисовать список он берет его через селектор, когда другой компонент хочет поменять это список, он вызывает dispatch. Т.е. redux становится центром всего приложения. Но зачем?
1) Тестировать не удобно (редьюсеры легко, но это не то)
2) По умолчанию не хранит не сериализумые объекты, т.к. на них не работает JSON.stringify (Map,Set, итд)
3) Подменяет старый стэйт на новый, вызывая сравнение и ререндер, что подается как плюс, хотя надежнее контролировать каждое изменение вручную
Мне кажется пришло время эвент эмиттеру явить себя миру
38 2920797
>>20787

> Мне кажется пришло время эвент эмиттеру явить себя миру


Собираешься на ангуляр с рыксжс?
39 2920836
>>20787
Пиздос чел.
Что наследуется от эвент эмиттера в жабаскрипте:
1. Все хтмл элементы.
2. socket.io
3. HTTP на ноде
4. jQuery
5. небо и аллах
Этот ваш реакт сдохнет, ангуляр сдохнет, будет второе пришествие и апокалипсис, а эвент эмиттер никуда не денется.
Ну какой тут явит миру. ЖС это эвент драйвен язык.
40 2920843
>>20836
Стримы на ноде забыл. Все backbone классы, но это не актуально уже. Наверняка еще все вуе компоненты и ангулярные, но я не знаю и не помню.
16888351885591.jpg386 Кб, 768x1152
41 2920883
Есть вообще хоть что-то, в чем Реакт был бы лучше чем Вуе в 2023-м?
42 2920886
>>20883
Во всём кроме перформанса. Только скоро завезут React Forget и тогда он ещё и по перформансу будет попускать никому не нужную китайскую подделку.
43 2920898
Есть таблица, в ней может быть много строк, 1000 и больше. При клике на строку таблицы показывается модалка. Вопрос - как правильно вешать обработчик этого клика? Вуе и реакт предлагают вешать на каждую строку при их рендере. Но это же 1000 обработчиков будет. Это нормально?

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

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

Что делать?
44 2920908
>>20898
реакт по идее сам такое должен оптимизировать, не ?
45 2920909
>>20898
Виртуализацию списка делать
46 2920928
>>20883
Так то были заснайпленные скриншоты в пик популярности айти, а тут рандомный оффер открыл отличный показатель того, как обесценилось искусство в наше время.
47 2920933
>>19967
Какой ещё нахер рынок США в Томске?
48 2920934
>>20454
Пользовался. Ещё сам несколько раз писал и рефакторил разные реализации виртуальных списков.
Так вот, все либы это набор костылей и граблей, а виртуальный списки – это действительно одна из самых сложнейших задач, а не всякие поиски путей.
49 2920944
https://codesandbox.io/s/react-window-with-table-elements-d861o?file=/src/index.tsx
Вот типовая задача отрендерить большой список. Через пять минут встает задача отрендерить большую таблицу и мы получаем это.
Почему так? Почему веб в таком говне? Потому что реактомакаки умственно отсталые долбоебы. Не смогли всей индустрией написать нормальный список за 10 лет.
50 2920952
>>19926 (OP)
КАК СДЕЛАТЬ ЦЕПОЧКУ ПРОКСИ?

Допустим

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

// output: 127.0.0.1:1337 - и его дальше уже юзать можно для соединений и все запросы будут идти вот так Node.js -> proxy1 -> proxy2 -> Веб сайты и тд
51 2920967
>>20150
Что тебя удивляет? data непонятно откуда берется, то что у тебя service определенного типа никак не говорит о том, что данные такого же типа.
52 2920971
>>20228
То что чел конспект хороший написал никак не делает из него разраба.
Этот даун за час не смог сделать 2 типовые задачи.
53 2920974
>>20454
Всё хуйня кроме @tanstack/react-virtual, у него нет лишнего обвеса, который только мешает, при этом есть всё чтобы сделать виртуальный список с нужным тебе UI-ем
54 2920983
>>20974
Выглядит збс, спасибо.
55 2920999
>>20797
Можно, хотя дело не в фреймворке.
>>20836
ого, спс
56 2921231
Что делать для практики на фронте, кроме туду, калькуляторов и задрачивания алгоритмов?
Не знаю что на том же жс делать - фантазии нет. Покрасить что-нибудь при нажатии на кнопку? Это же меньше одного процента от всех возможностей жс. Как применять все, большинство или хотя бы половину возможностей языка?
Может есть список реальных проектов, а не "туду, калькуляторы и задрачивание алгоритмов"?
57 2921277
>>21231
Дебик?

> задрачивания алгоритмов


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

> какие проекты делать?


Клон чего-то крупного. Спотифая, яндекс.музыки, вконтакте, двача, лайвлиба, аллаха.
А апишку можно взять либо у сервиса, клон которого делаешь, либо набросать моковую
58 2921408
>>21231
тетрис сделай, будет интересно
59 2921413
>>21231
Сделай админку.

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

https://www.akveo.com/ngx-admin/pages/dashboard?theme=dark
Как вариант повтори все что тут есть. Всю админку.
60 2921435
Решил наконец перевести клиентскую часть пет-проекта на ES6 модули. Вопрос - как там правильно импортировать socket.io? Вижу пояснения только для сервера, а на клиенте как сраный "io" получить из импорта?
61 2921439
>>21413

>показывает работы на 10 лет в человекочасах


>повтори всё

62 2921443
>>21439
А ты думал показать себя какой-то примитивной хуйней? Так ты не выделишься среди миллионов вкатунидзе.

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

мимо ларавель + вуе-нухт фулхем
63 2921447
>>21443
Не отвечай мне я тупею от твоих постов.
64 2921451
>>21439
Как тупой вкатун может отупеть еще больше? Тебе дают советы и тебе ответило 3 разных человека, дебич, а ты еще выебуешься
65 2921454
>>21451
Я не вкатун. Просто твой совет тупой и ты тупой.
66 2921456
>>21439
РЯЯЯЯЯЯЯ, Я ХОЧУ ПОПРАКТИКОВАТЬСЯ, НО СОВСЕМ НЕМНОГО И ВКАТИТЬСЯ НА 300КК В СЕКУНДУ
67 2921459
>>21454
В чем тупость? Тупость это спрашивать, чем заняться и пытаться выставить себя не вкатуном. Хотя вопрос абсолютно тупой и вкатунский
68 2921462
>>21456
Там будут сеньоры помидоры это делать большой командой несколько лет. Ты или семенишь или от этого совета IQ доски рухнуло на 20 пунктов.
69 2921467
>>21459
Какой же ты тупой, господи. Я не спрашивал совет практиковаться и не вкатун. Я просто мимо проходил и поссал тебе в рот. Съеби уже.
70 2921475
>>21456
Тоже проиграл с этого.

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

>Аря, че так многа, 10 лет пилить!



>>21439
Какие нахуй 10 лет?
Полгода - максимум. Это если еще хуи пинать. И если все пиксель в пиксель.
При этом ты и таблицу сделаешь, и дерево сделаешь, и попап сделаешь, и остальные 100500 штук.
Да и не обязательно все делать, но уже и все так ясно.
71 2921483
>>21475
И кто еще тут вкатун лол. Так проебываться по срокам...
72 2921514
>>21483
Я литерали за полгода +- подобную админку сделал.

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

Ну, собственно, тут и видно какой ты не вкатун, раз по срокам так пробываешься.
73 2921525
>>21514
А работаешь ты пиздаболом на дваче.
74 2921531
>>21525
Иди, крч, красивую тудушку сделай, попрактикуйся.
75 2921538
Если я пишу в одном файле:
export let DEBUG = 1
а потом где-то меняю его значение, то в прочих файлах импортированное значение не обновится?
76 2921539
>>21514
Или ты типа считаешься что если ты написал
<Grafik/>
<Todoshka/>
<Slider/>
Это ты считаешь за разработку админки? Если это всё из готового собрать то за полгода можно. А в чем тогда практика для вкатуна? Если с нуля делать, на голом реакте например то десять лет запросто.
77 2921560
>>21539
Таблицу можно за день сделать.

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

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

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

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

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

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

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

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

Где сложность? Сложно 150 страниц нашлепать и не засрать проект.
78 2921565
>>21560
Двачую адеквата. Ленивые дауны-вкатуны совсем нихуя делать не хотят для сотыг
image.png110 Кб, 1660x635
79 2921572
>>21560
А вот эта вся хуйня невидимая. Я это увидел и у меня сразу же ассоциации с табами которые можно версткой только делать...
80 2921578
>>20647
Ща буду пробовать. Алсо я не создавал sort key в моём email-index GSI. Может это поможет.

Нихуя не помогло. Ебал я в рот этот авс и его динамодб ёбаную, неудобное, говно. Я кончил. Работать с этой хуйнёй не хочу, просто не хочу.
81 2921584
>>21572
Ну ок, чуть сложнее тудушки, там математика не нужна.
За неделю-две разберется.
image.png25 Кб, 531x559
82 2921585
>>21584
Я вот такое 2 недели делал. И то получится говно где баг на баге.
83 2921587
>>21584
Собственно, на мой взгляд самое сложное - редактор.
Куча нюансов. Да и хуй знает что пользователь тыкнет и в какой последовательности. А все это должно быть заранее обдуманно.
84 2921594
>>21435
Разобрался сам. Точнее, проорал над тем, как оно сделано. Короче, нормального экспорта клиентского скрипта там нет, весь "экспорт" просто присваивается объекту window. Зачем огород с модулями, спрашивается. Хотя наверное по-другому универсальную либу и не сделать, из-за статической природы экспортов в ES6.
image.png291 Кб, 508x622
85 2921620
>>21585
ну, понятно что мои "день-два" - это не время вкатуна, да и полурабочее говно будет.

я когда вкатывался и либу то иной раз не мог применить. тот же пример с календарем. пришлось в итоге либу пердолить чтобы сделать хотелку, чтобы под циферками были "тудушки".
до сиг пор висит на бегете полурабочая.
86 2921642
>>21435
>>21594

>Короче, нормального экспорта клиентского скрипта там нет, весь "экспорт" просто присваивается объекту window.


Чел, ты ничего не перепутал?
https://socket.io/docs/v4/client-initialization/
import { io } from "socket.io-client";
87 2921651
>>21587

>самое сложное - редактор.


draftjs берёшь и всё

>>21572
d3 берёшь и всё
88 2921666
>>21651

>берёшь и всё


Без либ же.
89 2921688
>>21413
И ни одной тени...
90 2921699
>>21620

>это не время вкатуна


2 недели на дейтпикер с нуля это не для вкатуна срок.
91 2921713
>>21666
В той вашей хуйне апач ечарт ваще-то
92 2921721
>>21584

>чуть сложнее тудушки


Канвас это вообще перпендикулярно остальному джаваскрипту. Можно считать что это отдельный инженер. Всё равно что "а ну ты бекендер, МЛ это же бекенд, захуяч мне чатгтп. "
93 2921729
>>21721
Джуны всегда оценивают задачу на два дня, а ебутся потом месяц. Сеньки оценивают на две недели, а ебутся три. Лиды оценивают на месяц, а делает задачу джун.
94 2921743
Как будет верстать по английский?
95 2921754
>>21743
Pooping
96 2921762
>>21743
Verstation.
97 2921766
>>21688
Тени пару лет делать надо будет.
98 2921784
>>21699
Чому нет? Самое сложное в нем отрисовать дни по месяцам + покрасить дни из другого месяца.
Тыкнуть на день и получить валюес не так уж и сложно.
А, ну хотя выбор двух дат и покраска промежутка - да, тут сложно.
99 2921812
привет.
сколько просить мидлу+ фронту в дс?
200к?
100 2921819
>>21754
>>21762
Б2 господа подъехали.
16970999937970.mp4278 Кб, mp4,
640x404, 0:06
101 2921822
>>21754

>Когда сделали верстку на говновилде.

102 2921826
>>21812
Паша, ты?
103 2921864
>>21812
250-300, если в тир 1 компанию. В остальных 200-250.
104 2921904
>>21812
120к, лучше 80к чтоб точно взяли
105 2921959
>>21578
Лул эка ты слабак. У тебя было относительно простое задание. Хардкор там начинается с апи gateway, со step functions и со glue. Ты сам запутался в трёх соснах, не знаю что тебя так озадачило.
Screenshot20231114191836.png46 Кб, 630x287
106 2921973
>>20967
>>20405
Я знаю про перегрузку функций, сейчас привёл тип с помощью as, но это немного топорно. Думал, возможно есть более красивый вариант. Ну да ладно, на нет и суда нет. Так тоже сойдёт.

>>20313
Не, там всё норм, как и должно быть.
107 2921979
>>21973

>Не, там всё норм, как и должно быть.


Нихуя это не норм. Я нигде вчера в интернете не нашел такой хуйни чтобы унаследоваться от литерал константы.
108 2921984
>>21979
А чё такова?
109 2921989
>>21984
Наследоваться надо от класса или интерфейса.
110 2922010
111 2922022
>>22010
Это надо делать перегрузом >>20405
У тебя говнокодище.
112 2922028
Анон, зачем ты продолжаешь вкат?
Разве не очевидно что джуну работу просто не найти?
Сложно, непонятно, так еще и безперспективно.
113 2922043
>>21973
Пчел, какое ты нахуй хочешь решение по своему огрызку со склеенным скриншотом? Не знаю, в типах проеблася, констреинты не расставил.

> as


Выкинул типизацию нахуй, поделил на ноль, гуд эффин джоб.
114 2922056
>>22028
Я - рантье, и кодомакакинг для меня просто хобби, в котором мне (пока) интересно разбираться.
115 2922061
>>21959
В api gateway я создал несколько роутов, и сделал кастомный авторайзер без каких-либо проблем. Проблемы с бд меня просто убили нахуй. Я с монго работал, там всё было +- норм с ньюансами, с постгрессом тоже, затупов серьёзных не было. Тут же сука, куче ошибок, апиха sdk- говнище ёбаное, классы с одинаковыми названиями есть и в @aws-sdk/client-dynamodb и в @aws-sdk/lib-dynamodb. Если что-то не то импортонул, будет ошибка, которая тебе нихуя не скажет, что не так. Дока 3 версии сдк из говна. на стаковерфлоу темы по 5-6 летней давности. Кароче, я не доволен инструментом очень сильно. Бывает такое, что используешь что-то и пригорает жопа, но в этот раз пригорело сильнее всего.
116 2922104
>>20886

>Только скоро завезут React Forget


Он не ускорит работу реакта. Его задача - упростить работу макакам, чтобы те руками юзмемы не писали.
117 2922168
>>22043

>> as


>Выкинул типизацию нахуй, поделил на ноль, гуд эффин джоб.


С каких пор type assertion делит типизацию на ноль?
118 2922215
>>21973
Сделай нормальный тип, либо на жс пиши, зачем тебе тс?
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;

И всё, чисто, понятно, типизированно.
119 2922219
>>22168

> нагородил хуйни


> не справился с управлением костылесепеда


AS ЕСМЬ МАКАКА, ЦАРЬ И БОГ ТАЙПСКРИПТА
120 2922275
>>22219
Я не автор скриншота. Ты так и не ответил про type assertion. Может это ты как раз макака?
121 2922277
>>22275
ты точно тайпскрипт изучал?
122 2922281
>>22277
А ты?
123 2922282
>>22281
Что такое x as Type?
124 2922284
>>22104
Там ещё про useCallback. Многие ни то, ни другое не применяют там, где это было бы прибавку в перформансе. Так что когда выпустят React Forget, такие люди получает неплохую прибавку в перформансе без каких-либо заёбов.
125 2922291
>>22282
Type assertion.
126 2922307
>>22291
Для чего и когда это гуд, а когда не гуд?
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;}
127 2922309
>>22275
Ты же понимаешь, что as кроме полутора случаев, один из которых кривая стандартная типизация стандартных функций прототипов где не инферится тип - не нужен нахуй и является дичайшим нахуй костылём?

С того что он скинул - as там нахуй не нужен. Но он изобретает велосипеды, обмотал изолентой и ебанул клей момента, потому что собрал велосипед - а запчасти то остались!
128 2922355
>>2906003 →

>И сидеть по году без работу, попутно будучи выебанным вопросами про [] === ![] даже с годом-двумя работы?


Блять, двачую, на одном собесе начали спрашивать хуету вроде typeof NaN или undefined == null или 0.1 + 0.2 !== 0.3 такое чувство что я был на презентации топ-10 ебанутых трюков в JS

БАЗА ТРЕДА
image.png95 Кб, 200x252
129 2922360
Кто знает, есть смысл ебаться с nginx для аппок на нексте?
130 2922365
>>22360
рибята кто знает если смисял БЯБЯБЯБЯ БИБИБИ БУБУБУ
131 2922442
>>22360
С чем ты там ебаться собрался? Нжинкс всё за тебя делает, ты просто нужный коныиг пишешь и всё. Это как спросить "стоитли ебаться с микроволновкой ддя разогрева еды???", ну если ты дегрод и для тебя это очень сложно, то конечно стоит
132 2922666
че если не фронтенд? какие области в айти имеют меньше конкуренции для начинающего и хорошие перспективы? долгое время изучал всякие технологии фронта по реакту, когда начинал вообще изучать все это думал на скиле вывезу и смогу выделиться среди массы, но сейчас на все это уже смотрю не так оптимистично: действительно большое кол-во откликов на вакансиях, люди крутят опыт => рекрутерам сложнее делать отбор, вакансий мало для нубов. у меня в резюме стоит год опыта(фейк) не приглашают)))))
133 2922687
>>22666
1С, php, C++ на завод поддерживать легаси и легаси виндовз формы.
134 2922689
>>22687
Да, забыл про нюанс с заводом: нужна вышка.
135 2922724
>>22442
Ну так для готовки не только микроволновку (нжинкс) придумали. Нахуя вообще нжинкс юзать если некст сам себя хостит на ноде?
136 2922742
>>22724
Чтобы сайт был доступен не по айпи адресу с портом, а по домену.
137 2922746
>>22724
1) задудосят. нжинкс проще и бесплатней масштабировать
2) статику раздавать как следствие п 1)
3) взломают, шеллкодов в жопу напихают. некст слишком сложный и не тестированый, чтобы прямо в интернет торчать и ты туда еще говна из npm наваливаешь
4) нжинкс как реверспрокси. у тебя может быть 100500 приложений/микросервисов на одном домене
138 2922748
>>22666
Мобильная разработка, бекенд на го и джаве
139 2922749
>>22360
Сойджак брысь с двача
140 2922750
>>22742
Это днс провайдер решает а не нжинкс
141 2922752
>>22748

>Мобильная разработка, бекенд на го и джаве


>666


Согласин
142 2922754
>>22750
Ок, можешь домен проксировать в клаудфларе, но проксировать порты лучше и проще энджинксом, на клаудфларе это либо костыльно, либо за деньги.
143 2922755
>>22746
А одного AWS не хватит чтобы решить все проблемы? (кроме цены)
144 2922757
>>22749
Кланяйся
145 2922758
>>22755
AWS это свою жопу отдать на хранение и обслуживание большому дяде. Дядя может в любой момент развернуться и уйти с твоей жопой.
146 2922761
>>22754
Речь наверно шла об одном приложении на 80 или 443 порту. Если у тебя 100500 сервисов в интернет смотрят то естественно нужен реверспрокси
Судьба Frontend после 2025 и node js 147 2922778
18 лвл, учил фронт 2 года назад, даже на реактике писал всякие проекты, даже делал свой fullstack-проект на react + node JS (именно потому что надо было, а не просто так). Потом по какой-то причине забил хуй, хотя по уровню знаний точно был на 50% джун (нет, я себя не переоцениваю). Учиться ещё 3 года на тупой бесполезной специальности. Вот сейчас решил продолжить вкат
суть: что будет с фронтом после 2025 года? Заменят ли нейросеть? Будет ли избыток даже тех же миддлов на рынке фронта?
А фуллстак? Будет ли актуален стек react + node JS?
Пишу про ноду, потому что считаю, что чисто на одном фронте уж точно не вывезешь в дальнейшем.
Так что доп. вопрос: а что по node js? Или в бэк стоит выбрать что-то другое, петухон там и тд?
148 2922791
>>22778
Ищи кабана, лучший стек и все прочее, но не забывай пилить свой пет, который может стать твоим личным бизом в будущем. Нода для последнего очень даже хороша, потому что не требует много времени и экспертизы на запил фич + говнокод на жаваскрипте от чатгпт проще внедрить в проект, чем говнокод на плюсах и т.п "взрослых" языках.
149 2922798
>>22791
Так все же, что меня ждёт в 2025 как фронтовика джуно-миддла, дай Б-г, фулл стек?
150 2922799
>>22778
Фуллстек всегда был хуже, это чисто для извращенцев, которым хочется за те же деньги продавать большее количество знаний.
Мидлов и так избыток, слишком много лоускиллов среди них. Хотя за низкий прайс и они устраиваются.
С нодой всё нормально кроме количества вакансий в постсоветском пространстве. Меня это не смущает, потому что я уже больше пяти лет работаю как раз бекендером на ноде, но для вкатывальщика будет профитнее тот же го. Нода на западе более популярна, для стартапов отлично подходит, а стартапы это почти всегда Америка.
151 2922801
>>22799
Кароче, нахуй этот фронт. Как я понял, есть более актуальные сферы, то же го
152 2922803
>>22798
фулкек ждет всех крудошлепов. нодерам в этом смысле попроще, потому что уних один один движок от гуглхрома на беке и фронте.
153 2922807
>>22798
Будет тяжело устроится, рекомендую дрочить базу, то есть алгоритмы и литкод, после чего на последнем курсе универа устраиваться стажёром в КОТВАСЯ. А там уже до 300кк/нс продвинешься за несколько лет не меняя место работы при желании. В тинькове, например, в последнем наборе было 12к кандидатов, из них что-то в районе 150 взяли на стажировку.
154 2922812
>>22807
Рекомендация скажем так себе - пролезть через игольное ушко. Это не для каждого
155 2922818
>>22812
На стажёра берут, если нормально алгоритмы знать. Альтернатива это пиздеть в резюме и надеятся что какая-нибудь тир 3 галера тебя не спалит и возьмёт за низкий прайс красить кнопки. Лучше уж стажёром в бигтех, там и зарплата будет не сильно меньше, и опыт лучше, и строчка в резюме.
16987151943220.jpg234 Кб, 1048x1200
156 2922898
Здарова формошлепы.
Мне через 3 года 40 лет, бросаю бухать и думаю чем бы заняться, есть ли смысл тыкаться в жабускрипт вашу или нахуй оно уже не надо, тем более в моем нежном возрасте, и лучше петухона ковырять как средство от деменции?
Раньше сто раз пытался вкатываться, еще в универе ковырял хтмл, но дальше css не ушел.
Не особо умный, вообще не усидчивый, но к сраке лет понял что лучше понемногу но систематически, чем обосраться с наскока.
Мож чего посоветуете дедугану.
157 2922901
>>22898
Советую тебе оформить пенсию по шизе. Особенно если ты в мск и у тебя хата есть.
158 2922902
>>22898
если не нравиться сидеть за компом лучше даже не думай иди постой на заводе
159 2922913
>>22898
Попробуй тестировку (QA)
Hr на возраст смотрят, но работу можно в любом возрасте.
При всем уважении к возрасту, читай нью фаг тред и изучай направления в программировании прежде чем, куда-то тыкаться.
160 2922914
>>22901
Совет хороший, жаль ни хаты в дс ни шизы.
>>22902
За компом я всю жизнь, и работаю и дома сижу, я имел в виду усидчивость в плане обучения и вката. Но я не столько о вкате а думаю просто чемто заняться полезным для мозга, но желательно конечно чтобы оно хоть как-то перспективно было, мало ли зайдет, сьебу за бугор скажу что я идентифицирую себя зумером и мне 15, пусть попробуют не взять на работу.
161 2922936
>>22913

> При всем уважении к возрасту


Возраст сам по себе никакого уважения не заслуживает, это я как дед официально заявляю.
Qa не интересно, тут хоть какоето творчество, результат.
По поводу направлений я примерно в курсе, и очень сомневаюсь что смогу в чтото серьезное, где матан и всякие страшные вещи. Честно хуй знает за столько лет так и не понял чем хочу заниматься, по фронту вроде как просто считается относительно осваиваемое, вот в факе да и от других слышал что можно за год освоить уровень ждуна, в моем случае пусть два, но это уже чтото, а учить какието джавы или сисярпы непонятно зачем и для чего, хуй знает. Тут в крайнем случае хоть за еду можно будет поработать, если вдруг без работы остаться. Хотя перегрев конечно ебейший.
С другой стороны раз за столько лет даже цсс крепко не освоил, то щас то чего выебываться. Но как будто бы снова появилось желание, хуй знает.
sage 162 2922970
>>22898
Я в 30 вкатился, но ишачил для этого 2 года непрерывно. А щас пашу ещё больше, после работы на второй работе (самообучении)
С полного нуля на фулстака. Питон + JS.
Но Питон плоховатый вариант, потому что ну банально зайди в Пайтон тред на этой доске. Какие-то дебилы пишут тупые вопросы. И таких вкатышей миллион. А работы на Питоне мало и куча работы это всякое дерьмо где математика нужна.
Но у Питона есть одно очень важное преимущество. С него можно начать, будучи дебилом с 9 классами образования. Я таким был.
Я даже классы не понимал поначалу, что такое. Тупо не мог понять и всё ООП это. Какие-то инфоцыгане писали про эти чёртовы class Animal; экземпляр cat, dog класса Animal. Нихуя непонятно! И я не мог найти реальных примеров применения классов. Как меня это бесило.
Что бы со мной было, если бы я вкатывался в более сложный язык? Не знаю.
А вот благодаря Питону, я смог кое-чему научится и потом уже вошёл в ритм.
163 2922982
>>22970
А что сложного в классе? Это типа как множество же.
Бля ну ты красава анончик в любом случае. То что успехов добиваются талантливые, это пиздеж - успеха добиваются упорные. Самодисциплина, систематичность, упорство.
164 2922993
Нас в универе учили паскалю, и в школе немного.
Там была просто тупо математика, с минимумом алгоритмов.
Но поскольку у меня комп только в середине 1 курса появился, то я был страшно далек от всего этого. Я к появлению компа уже неплохо бухал и не только, сублимировал так сказать, потом в игры залипал разумеется. Да и вообще по ходу аутистом был непуганым, спасибо мамке за гиперопеку. Понимание чегото близкого к реальности началось годам к 25, но все силы были брошены на вылезаторство, сброс листвы и поиски тяночки, которая таки была найдена и так были проебаны еще 5 лет жизни, в начале 30х только освободился от этого наваждения, и уже вроде как пуксреньк, а время летит стремительно и вот уже 37.
Программируйте пацаны изо всех сил, не будьте дебсом как я.
165 2922998
>>22982

>А что сложного в классе?


Это как спросить, а что сложного в этой вашей алгебре логики, теории множеств, ТФКП и прочем говне, в котором знакопеременный ряд даёт сумму в -1/12. А тут тебе говорят: лол, ты чё, абстракциями мыслить не можешь?
Или типичный выпускник микромакромехмата, который настолько привыкает к своим абстракциям и монадам, что не может посчитать в магазине сколько ему должны сдачи дать.

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

мимо
166 2923001
>>22998
То есть класс это не множество?
167 2923012
168 2923014
>>23001
Давай напишу иначе: когда человек с этим никогда не сталкивался, нужно сделать ментальную гимнастику, чтобы перестроить своё мышление и начать оперировать теми или иными сущностями.
169 2923016
МВП протек.
170 2923022
>>23014
С этим не спорю.
У меня есть определенный бэкграунд и даже чтото читал про программирование, поэтому конечно это не то же самое что мне бы это сказали после 9 класса.
Но все же мне не кажется концепция класса такой же сложной как то что ты перечислил, просто потому что это всего лишь одна концепция.
Щас чекнул еще про наследование, инкапсуляцию и полиморфизм, вроде тоже понятно. А вот если надо придумать как чтото посчитать, типа алгоритм, у меня ступор нахуй.
Надо было на фелософа идти, уже бы спился давно и не мучился, лол.
171 2923117
>>23022
С классами всегда проблема у тех кто только начинает вкатываться в программирование. Тебе дают синтетические примеры на фигурах, собачках и кошечках. А ты должен из этого понять как адекватно выстраивать наследование или компоузить от разных интерфейсов. Наверх ещё какие-то абстрактные классы, абстрактные методы, виртуальное перегружаемое говно.

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

Аналогично ломает, когда помимо референсов ещё и указатели на память появляются, а до этого человек не задавался вопросами как оно там работает и хранится. А что можно было указатель указателей сделать?
172 2923485
>>22982

>А что сложного в классе? Это типа как множество же.


Не множество, а АТД. Множество это вообще другой тип данных.

>>23001

>То есть класс это не множество?


Нет. Это АТД.
173 2923498
>>22970

>Я даже классы не понимал поначалу, что такое. Тупо не мог понять и всё ООП это.


Правда в том, что никто на самом деле его не понимает. Кто говорит, что понимает, только думает или делает вид, что понимает. Множество известных в Computer Science специалистов об этом писали. Просто большиство людей, даже в сфере программирования, необразованные и глупые, поэтому ООП стало популярным.
https://habr.com/ru/companies/vk/articles/307168/
https://habr.com/ru/companies/ruvds/articles/428582/
174 2923519
>>22970
Объектно-ориентированное программирование — чрезвычайно плохая идея, которая могла возникнуть только в Калифорнии.
— Эдсгер Вибе Дейкстра

К слову, Калифорния родина содомии и прочего разврата. В Калифорнии первой в мире открытый гей занял государственный пост и пошло движение за легализацию извращений.
175 2923585
>>22284

> Так что когда выпустят React Forget, такие люди получает неплохую прибавку в перформансе без каких-либо заёбов.



Ключевое слово - "когда". Когда, блядь? Эту хуйню уже года 2 обещают по моему, чем разрабы реакта вообще заняты?
176 2923676
>>23585
По ней почти больше года не было новостей, но весны этого года уже несколько раз почтили обновления уже скоро релиз должен быть
177 2923692
Какой у реакта аналог scoped slots из Vue? Гугл говорит, что render props, а в доке ректа говорят, что они устарели, используйте пользовательские хуки. А доке пользовательских хуков говорят, что внутри них используются обычные хуки. А мне не нужны обычные хуки в логике, которую я делал через scoped slots.
178 2923793
>>23485

> АТД.


> Формально АТД может быть определен как множество объектов, определяемое списком компонентов (операций, применимых к этим объектам, и их свойств)


Ну и зачем ты пытаешься наебать дедушку? Не стыдно?
179 2923903
>>23692
А какая там логика?
180 2923952
>>23903
Дочерний компонент прокидывает переменные в парент. .
181 2924013
>>23952
Передай в дочерний компонент метод и вызови его с данными которые надо передать
182 2924024
>>24013
А как его вызывать. Допустим я передаю в дочерний элемент строку, дочерний должен её развернуть, а потом в паренте в слот запихнуть перевёрнутую строку
183 2924026
>>24024
Хотя логика дебильная конечно принцип KISS не соблюден и мб это нахуй не надо.
184 2924061
>>24024
Так ее можно в паренте перевернуть, почитал про слот и нихуя не понял, ты передаешь данные из чаелда в парент, чтобы обратно их в этот же чаелд передать?
185 2924077
>>24061

> Так ее можно в паренте перевернуть, почитал про слот и нихуя не понял, ты передаешь данные из чаелда в парент, чтобы обратно их в этот же чаелд передать?


Да. Тоже считаю если есть какая-то логика которую тебе надо реализовать посередине парента и чайлда, её надо реализовать просто сбоку а не устраивать вот эти передачки хуй пойми откуда куда.
186 2924080
>>24077
Даже в логике самого вуе это нахуй не надо. Там передаешь вниз пропы и вверх эвенты.
187 2924112
>>24080
Надо. Классический пример - компонент кастомизируемой таблицы
<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>

мимо
188 2924115
>>24112
<table-column #id="{row}"> <span>{{ row.id}}</span> </table-column>
<table-column #name="{row}"> <span>{{ row.name}}</span> </table-column>

должно быть конечно же
189 2924132
>>23692

>у реакта аналог scoped slots из Vue


React.cloneElement
190 2924137
>>24115
<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>

Извиняюсь . Не смог по памяти написать. Забыл синтакис вуя уже
191 2924150
>>24112
В реакте это передаешь в таблицу функцию которая рисует ряд, в функцию прилетает id и всё остальное.
192 2924159
>>24150
Да помню был вкатуном в мелкой галере лет 7 назад, наделал таблиц в админке на рякте табличных елементах. О гридах еще не знал. Все летало со скоростью катка по свежему асфальту...
193 2924311
>>24132
Депрекатид
194 2924322
>>23793
Тут имеется ввиду, что абстрактный АТД это множество объектов, но мы говорим о конкретном АТД, а именно об объекте наследованном от класса. Это уже не множество, а один конкретный АТД. И под множеством подразумевается не математическое понятие множества.
195 2924610
>>24311
Ты скозал? Покажи пруф.
196 2924660
>>24610
https://react.dev/reference/react/cloneElement

> Legacy React APIs


>These APIs are exported from the react package, but they are not recommended for use in newly written code. See the linked individual API pages for the suggested alternatives.

image.png95 Кб, 216x300
197 2924664
Сап двощ. Есть два поля в фаербейзе startDate, endDate
нужно сделать квери чтобы отфильтровать по интервалу между ними, но в фаербейзе нельзя делать такое

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

Как такую кверю выполнить? Единственный вариант который вижу это сделать 2 запроса и объединить через Set(хуета)
Стикер255 Кб, 512x411
198 2924923
>>24159
Поясните, чем плоха таблица на та табличных хэлементах? И чем имитация на гридах лучше?
199 2924991
>>24923
Хотя бы тем что таблицы это говно мамонта и плохо стилилизуется через css. Но в css завезли свойства для таблиц и можно любой див сделать с табличным поведением. Чем одно время успешно пользовались для создания адаптивных таблиц, до появления гридов.
200 2924995
>>24991
Даун
201 2925000
>>24995
Приятно познакомиться, Даун. Меня зовут Умница.
202 2925003
>>24991
И почему на гридах "имитация"?
203 2925010
>>24923
Таблицу надо делать таблицей, ты общается с дауном вкатуном.
204 2925018
>>25010
Кому надо? Что за шиза? Для SЕО? Так таблицы чаще делают во всяких админках и CRM-ках а не на сайтах. И часто тербование чтобы было респонзив, а не горизонтальные прокрутки.
Стедай такую таблицу на табличных элементах https://codepen.io/vasansr/full/PZOJXr
205 2925029
>>25018
Таблица сделанная таблицей это халяль. Семантическая верстка слышал? Но ты просто новый ньюфаг и у тебя тряска от таблиц, можешь не высирать мнение полученное с помощью тряски, оно инвалид.
206 2925033
>>25029
Чел, я твоих семантичных таблиц за семь лет понаделал столько... Все принципы хороши, пока они не противоречат здравому смыслу.
207 2925043
>>25033

>здравый смысл


Так это ты шиз, который хочет все таблицы гридами делать.
208 2925061
>>25043

>все таблицы гридами делать


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

ЗЫ. Упорутся одной идеей и несут ее в ущерб бизнесу. Вот из-за такой ригидной шизы у некоторых технарей кабаны предпочитают нанимать нормисов с гуманитарным мышлением....
209 2925063
>>25061

>quirck проведение


quirck поведение
210 2925068
>>25061

>ряя у меня тряска от таблиц они quirk давайте делать все гридами


Да не трясись ты.
211 2925073
>>25068
Нет ты
212 2925078
>>25073
Сходи сайт сверстай таблицами без дивов в дримвьювере. Преисполнишься.
image.png2,7 Мб, 1280x746
213 2925127
Вот я сеньер но не научился до сих пор программировать на новых проектах. У всех так?

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

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

Я как муравей в чужом муравейнике.
214 2925210
>>25127
Ну спроси додика который на этом же проекте дольше тебя че да как
215 2925317
>>25210
Так я то спрошу, но у кабанчика складывается впечатление что я хуже джуна.

Уже попадал в такую ситуацию и сказал прямо что в проекте говно код, в итоге получил осуждение со стороны коллег, но уважение со стороны кабана.
216 2925361
>>25317
Стукач ссученный! Еще и к начальству подлизываться, мужики не поймут. У нас на галере за такое мигом бы в жопу выебли!
217 2925551
>>25361
Вот ты пришел в кафе, а тебе вместо чая налили мочу по ошибке.
Либо ты пьешь мочу и спасаешь повара от критики, либо стучишь и просишь переделать, поднимаешь всю кухню уши ...
218 2925554
@
ЧТО ТАКОЕ АБСТРАКТНЫЙ КЛАСС
@
ЭТО И ЭТО, А У ВАС ОНИ ИСПОЛЬЗУЮТСЯ?
@
НЕТ) ПРОСТО ПРОВЕРЯЮ ЗНАНИЯ, МЫ НЕ ИСПОЛЬЗУЕМ
219 2925563
>>25554
Бред.
220 2925566
>>25551

>по ошибке


А потом в рассерженных чувствах выбегаешь на улицу и видишь вывеску над дверью "Кафе для мочехлебов"
221 2925568
>>25563
что именно
222 2925570
>>25554
@
ЧТО ТАКОЕ КОРОНАРНОЕ ШУНТИРОВАНИЕ
@
ЭТО И ЭТО, А У ВАС ОНО ИСПОЛЬЗУЮТСЯ?
@
НЕТ ПРОСТО ПРОВЕРЯЮ ЗНАНИЯ, МЫ НЕ ИСПОЛЬЗУЕМ. У НАС БОЛЕЕ СОВРЕМЕННЫЕ ТЕХНОЛОГИИ
223 2925572
>>25568
Это важное знание, его проверяют потому что программист обязан это знать и использовать где надо.
224 2925588
>>25572
Нигде не надо использовать абстрактные классы.
225 2925606
>>25563
Конечно. Они просто так ООП с классиками на реактовакансию спрашивают.
Там окажутся либо обособленные нитакусики с высокой культурой, либо у них там легаси, которому дай бог 5 лет, а не все 8. Где не слышали про тайпскрипт и функциональные компоненты.
Либо всё-таки это просто вопросы-фильтр.
Выбери свой вариант.
226 2925627
>>25588
Мы вам перезвоним.
227 2925628
>>25606

>А как насчет кандидату просто уметь программировать?


>Да не, бред какой-то.

228 2925629
>>25588
Господи, какие же вкатыши тупые
229 2925634
>>25606
Реактопараша это надстройка над ЖС. Тебя полностью вправе гонять просто по знанию ЖС. А ТС это еще больше ООП чем ЖС и там знать что такое абстрактный класс еще важнее.
230 2925646
>>25634
Я тебя нахуй в макакосжигатель отправлю за неуместную лапшу из наследования без чувства меры, ПОНИЛ??!!

>>25628
Как насчёт схлопнуть своё ебало со своими пуками? Да нет, это какой-то

>Бред.

231 2925659
>>25627
>>25629

Покажи где нужно использовать кроме Ангуляра.
Изображение WhatsApp 2023-11-17 в 20.13.205c9e71fb.jpg92 Кб, 1280x720
232 2925660
Вкатун.
233 2925704
>>25629
Вкатыш спок
234 2925709
>>25606
Реактомакаки совсем погрязли в своём манямирке. Как будто не бывает вакансий с ангуляром.
235 2925710
236 2925711
237 2925715
>>25659
Не нужно, а можно. Если ты хочешь оставить тип после компиляции, но не хочешь позволять, чтобы были инстансы этого "интерфейса", чтобы явно потребовать реализации некоторых методов. Явное лучше неявного. Если бы это был просто класс, то небоходимость реализации методов была бы неявной. Но можно заменить это парой класс и интерфейс с нужными методами. или класс котрый исключение бросает в методах. Только зачем такие костыли, когда тайпскрипт позволяет создать абстрактный класс c методами без имплементации.
238 2925719
>>25709
Пчел, я шёл собеситься на реактомакаку. Лайвкодинг с РиАкТоВыМ приложением. Интервьювера интересовало только как побольше классов напихать, синглтоны, IoC, стратегии, билдеры, 3 столпа ООП (4, тащем-то) etc.
Там ни слова не было про ангуляр и nest.
А теперь объясни: нахуя?
Отвечать на их перезвон я не стал.
239 2925721
>>25719
А почиму ви здесь спгашиваете?
240 2925722
>>25721
А таки зачем ви ето спгашивали?
241 2925725
>>25719

>А теперь объясни: нахуя?


Хотели программиста нанять.
242 2925726
>>25725
Надо было заинтересовать. А так неста у них нет, доднета с асп у них нет, спринга у них нет. Есть путонисты сатанисты. Ну и нахуя?
243 2925727
>>25726
А прошло хуйло необразованное.
244 2925729
>>25727
Ну вот пусть там и сидит. Сейчас бы менять галеру на галеру с несвежим легаси за 15% к миске риса.
245 2925823
>>20952
бамп
246 2925848
>>25711

>Mobx


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

Давайте мне кейс где во фронте может потребоваться 3 уровня наследования? 1 уровень редкость...
248 2925889
>>25850
Я только вчера смотрел JS код реакт приложения, от которого веело бэкендом ООП головного мозга.
Чел просто на ровном месте создал фабрику, а потом переиспользовал фабрику во второй фабрике.

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

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

Но оба варианты выглядят как говно. Как сделать более ИДИМАТИЧНО? Сколько вожусь с реактом, до сих пор на место не стала семантика этих примитивов. В мемо с какого то хуя нельзя получить прошлое значение (которое и так блин кешируется реактом), а эффект работает только после ререндера. И если нужно подредачить стейт на основе уже НОВЫХ пропсов, то всё равно это выносят в эффект, где обновляют стейт, в итоге получаем лишний рендер просто с нихуя. Почему реакт такое говно?
250 2925901
>>25850
В ts абстрактные классы можно использовать для DI, если тебе нужен тип зависимости в рантайме знать
251 2925903
>>25901
Хоть и звучит это говнокодно...
252 2925912
>>25127
может, ты не синьер?
253 2925984
254 2925991
>>25850
Собственная либа набодобие jquery
255 2926021
>>25127
У меня так же, половина непонятный говнокод, кабан ставит задачи хуй пойми как, на кофейной гуще надо гадать че он хочет. А остальные сидят на митах с таким еблом будто понимают че происходит. Я потом спросил у одного че за фигня, он говорит что все тупят и не понимают, но делают ебало что все на мази.
256 2926227
>>26021
А тесты есть? Если хотя бы не думать о том как тестировать код который пишешь, то получается шляпа.
257 2926267
>>26227
Какие тесты. Там разработка уровня "Надо сделать к вечеру я обещал". Лишь бы как-то работало. Там и требований к оформлению кода нет, как и минимальный рефакторинг. Не то что тесты.
258 2926307
>>26267
Ну и нахуй ты там работаешь?
259 2926366
>>25127
Ну бывают проекты таких размеров где один человек вообще не способен разобраться, там делят на зоны ответственности и каждый копошится в своей периодтчиески её расширяя.
Если это не твой случай, то не ссы, втянешься.
260 2926468
>>26267
Это называется "сделали, отдали и забыли". Тоже был в таких проектах, так себе опыт. Хороший продукт так сделать не получится.
261 2926483
>>25912
Меня больше бесят персонажи которые 20 лет опыта имеют, на их горбе проехало 5 галер, но они считают себя мидлами потому что эйчарка им про софтскилы сказала.
262 2926603
>>26483
Да, демпингующие попущенцы это самый рак отрасли
263 2926631
Аноны, а вот эту вот всю хуйню из девтулз консоли можно подхватывать и в верстку ебануть? Консоль логи, ошибки нетворка, ошибки кода. Все-все.
Гопота, кст, говорит, что нет - низя.

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.
tailwind.mp48,6 Мб, mp4,
1280x720, 0:42
264 2926704

>tailwind

265 2926789
>>26704
Всё правильно, катимся по законам Натана Мирвольда. Больше говнокода для утилизации ресурсов.
266 2926816
>>26704
Че там происходит в этом шакальном мыльце?
267 2926860
>>26307
Больше негде. Программисты нигде не нужны.
268 2927148
FSD кто-то использует? Выглядит как очередная хуйня для поднятия сложности и чсв
269 2927215
Юзеры свелте в проде хоть в каком-то виде ИТТ присутствуют? Неужели максимум ИТТ это рякт, вью, ангуляр и жквери?
270 2927254
>>27215
У меня компонента на свелте в проде. Думаю с полтреда хоть раз да взаимодействовало с ней.
271 2927276
В свелтеките есть килерфича, для того чтобы убедить кабана использовать свелт. Можно для каждой страницы отдельно решить будет ли она на сервере чисто статически рендерится или на клиенте или будет гибридной.
272 2927305
>>27254
Thank you kindly for reporting in, sir.
273 2927328
Мнение по поводу Flet, кто-нибудб его юзал?
274 2927345
>>27276
И где тут киллерфича? Эта фича в рякте со времен как только сср появился есть.
275 2927346
>>27328

>Python


У петушатников свой загон.
276 2927347
>>26631
window.console.log = (...args) => document.body.append(JSON.stringify(args))
277 2927348
>>27148
Я был на собесе в одну контору галера, которая его юзает. При этом они требовали его обязательное знание, с чем я успешно проебался. В итоге пошел в другую контору.
image.png180 Кб, 1090x898
278 2927390
>>27348

>FSD


Вы про нее говорите? Видос смотрел про нее, выглядит лучше чем дефолтное ничего, но хуже чем чистая архитектура от дяди боба, имхо
279 2927425
>>27276
Кабан из твоего предложения ни слова ни поймёт.
280 2927480
Умоляю объясните какую задачу решает этот ваш React?
Давненько задаюсь вопросом. Только не надо туманной ебалы про реактивность.
Вот например JQuery мне вполне понятно какую проблему решало - совместимости зоопарка разных браузеров. Сейчас она немного рассосалась из-за монополизма хрома, а проблема обратной совместимости решена тем что на нее тупо положили хуй.
281 2927490
>>27480
Удобная шаблонизация, клиентский роутинг, серверный рендеринг
282 2927495
>>27490

>Удобная шаблонизация


Что ты вкладываешь в это? Удобнее чем тысячи шаблонизаторов до реакта?
Напиши реальную проблему которую тебе помог решить React.
283 2927501
>>27495

>Что ты вкладываешь в это?


JSX

>Удобнее чем тысячи шаблонизаторов до реакта?


Именно

>Напиши реальную проблему которую тебе помог решить React


До него были Meteor, Ember, Backbone/Marionette, Angular 1, они выполняли похожие задачи, только работать с ними было очень неудобно и очень медленно по сравнению с реактом. Но в 2023 году у реакта куча альтернатив со схожей или даже лучшей продуктивностью и удобством разработки. Для меня главное чтобы был JSX, пока лучше него не придумали. Шаблоны ангуляра более всратые, у вью тоже. Надеюсь на взлёт Solid, он в принципе лучше реакта во всём, и перформанс превосходный, разве что маленькое комьюнити и количество библиотек. Ну или может авторы реакта оптимизируют перформанс, завезут сигналы, так было бы идеально.
284 2927505
>>27501
Так в чем удобство то шаблонов?

Еще раз вот смотри -
Мне нужно чтобы сайт работал в разных браузерах и не писать тыщу ифов (и 2000е на дворе) - я беру jQuery
Мне нужно XXX - я беру React.
Что можно подставить вместо XXX?
285 2927509
>>27480

>проблема обратной совместимости


Там это, недавно пробегал хуй, у которого флекс врапы в фаирфокси, 9 лет как висящие в фулл супорте, работали через жопу, не так как в хроме.
Про какую ты блядь обратную совместимость? Обатная совместимость нужна только сафари ретроградам, которые из-за старого железа обновить браузер не могут. Потому что ОС не даёт. Лол.

>>27505
Жирич плез.
286 2927510
>>27505

>Мне нужно чтобы сайт работал в разных браузерах и не писать тыщу ифов (и 2000е на дворе) - я беру jQuery


Какой jquery нахуй, ты ебанутый? Для поддержки старых браузеров есть куча нормальных инструментов, причем в реакт и прочие модные фреймворки они встроенные.
287 2927515
>>27509
>>27510
Почему я должен каждый день обновлять бравзер чтобы у меня что то отваливалось и лезли очередные ненужные перделки от того что дибилятам скучно и руки чешутся поиграть с очередным говнофреймворком?
288 2927517
>>27515
Потому что иначе твою жопу через webp вскроют, хочешь ты того или нет. А браузер обновится сам. Иди нахуй.
289 2927519
>>27517
Лол, какой дерзкий любитель анального зонда, готов глотку перегрызть за сапог барина в жопе.
290 2927524
>>27519
Хуй тебе, а не ещё кормёжка. Иди нахуй.
291 2927527
Можно ли как-то динамически добавить свойства в объект, чтобы ИДЕ их видела потом?

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

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

Или только TS/JSDoc?
292 2927529
>>27527

>ИДЕ видит, что свойство есть в объекте


точнее не видит... хотелось бы, чтобы видела.
293 2927534
>>27527
Что значит не видит? Где const? Где точказапятая?

>foEach


Где r?
294 2927536
>>27534

>Где точказапятая?


Кстати интересно в треде много уебищ уверенных что в js нужно ставить;?
295 2927578
Переношу бэк браузерной игры с NodeJS на фронтенд. Воткнулся в проблему, чем заменить модуль "colors" (или "chalk") на клиенте? Похоже, что эти либы раскраски консольных сообщений на браузер не рассчитаны вообще? Можно как-то импортировать и юзать chalk в на клиенте?
345345.jpg30 Кб, 754x271
296 2927579
Есть ебучий redux с тулкитом.

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

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

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

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

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

Да и вообще вот эти взаимные импорты из одного слайса в другой не нравятся. Как это сделать правильно?
297 2927588
>>27480
Реакт это всратая попытка перейти от императивного подхода к декларативному. Ангуляр и вуе нормальная декларативность например. Нокаут первая такая либа. Зачем это надо? Чтобы не выполнять одинаковую работу по перекладыванию жисона в хтмл.
Вообще в институтах преподавать бы историю развия фреймворков как отдельный предмет, а мне дебичи в /б/ все ещё доказывают что матан нужен ололо. Ещё можно это спрашивать как вопрос на собесе.
Но если так делать, то все будут знать причины почему реакт такое всратое говно и использовать его не надо. И у нас была бы совсем другая индустрия.
298 2927590
>>27578
p.s. Решено. Chalk умеет и в браузер.
299 2927592
>>27588

> знать причины почему реакт такое всратое говно


Был такой фреймворк backbone. И адский сотона добавил туда функцию render. И она считалась мной например тупо антипаттерном, потому что она медленно работала все что render сгенерит вставляется в хтмл с помощью медленной вставки innerHTML = render(), потому что надо было писать хтмл внутри джаваскрипта(привет ебучий жсх).
Дебичи из Фейсбука напротив делали все через render. И чтобы это говно так не лагало сделали виртуальный дом.
300 2927594
Смарите, когда я указываю в package.json зависимость (например, "underscore"), я могу потом из любого файла импортировать его так:
import _ from "underscore"
т.е. не указывать никакой путь, только название.
Так вот можно ли сделать так же с каким-то модулем не из package.json?
Например, я хочу, чтобы мой модуль из "./lib/utils/somemodule.js" можно было импортировать так:
import myModule from "somemodule"
Этого можно добиться, не заливая модуль в npm?
А можно ли этого добиться на клиенте?
301 2927603
>>27594
Можно, разрешаю.
302 2927606
>>27603
Объясняй, как.
303 2927607
>>27579
На инпут устанавливаешь стейт чекбоксов в "ни один не отмечен", на выделение чекбокса устанавливаешь стейт инпута в "ничего не введено".
Где тут взаимные импорты между редюсерами? Это обычные диспатчи из компонентов.
304 2927619
>>27606
Задача элементарная и гуглится. Прокачивай навыки поиска информации в интернете.
305 2927628
>>27619
Я бы не спрашивал, если бы смог нагуглить. И кажется мне, что задача не решается никак, особенно на клиенте.
306 2927636
>>27607
Ну это самое очевидное, но проблема в том, что это противоречит вот этой хуите:
>>27148
>>27390
image.png19 Кб, 787x398
307 2927661
>>27636
Мне кажется архитектура нужна для другого, и FSD этого не дает. Грубо говоря в приложении есть 2 компонента - предметная область (ядро) и представление данных (у нас это react). Всё что происходит в react по большому счету не важно, в хорошей архитектуре должна быть возможность заменить react на vue, svelte, angular без переписывания большей части кода, или даже перенести код на noodejs и дергать API вместо кнопок. А FSD это новое распихивание по папочкам, ну ок, можно применить.

Вот этот мужичек мне нравится как объясняет:
https://www.youtube.com/watch?v=Z0Ocd8RmiWk&ab_channel=DevMastery
308 2927713
>>27636

>срякт


>архитектура



Выбери что то одно. Говорить про архитектуру когда у тебя один глобальный объект с состоянием, который мутирует любая точка приложения... ну это как думать о том какие трусы себе надеть, зная что через минуту они будут в поносе из-за недержания.
Если не нравится явный диспатч из компонента, то делай это неявно серез редукс-саги.
309 2927747
>>27661
Как же меня все это заебало, анон. Я тоже был адептом чистой аритектуры и всего прочего. Но это какая-то шиза, не соответствующая реальности. В реальности лучшая стратегия, накостылить решения, срубить бабки, пока есть спрос и дальше чилить. Чужой проект превратится в говно независимо от твоего желания, а если это твой проект, то ты потеряв время и силы на архитектурную чистоту не достигнешь комерческого результата.
310 2927749
>>27747
Лучший критерий это удобство добавления фич, а не создавать чистые архитектуры в ваккуме, ради переписывания с реакта на ангуляр и обратно каждый день.
311 2927762
>>27749
минимум изоляции от фремворка нужен конечно, потому что фреймворк обновляется, но если вдруг в новом реате скажут что хуки деприкейтед, то тебе такое количество микролапши придется переколбашивать, что выделение из хуков бизнеслогики это просто детский сад.
312 2927768
>>27749
>>27747
Всё так гайс, это что-то вроде ментального онанизма, иногда хочется переписать старый проект и посмотреть что получится.

>Лучший критерий это удобство добавления фич


Да, ну я бы еще добавил тестируемость, вручную тестировать надоедает.
313 2927835
Пыня по сравнению с редуксом - просто раздолье. Делай что хочешь, делай как и где хочешь.
314 2927837
>>27148

>FSD кто-то использует?


херня, не советую.
Джуны внедряют, чтобы почувствовать в себе "ЧСВ-архитектора"

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

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

Почитайте, люди путаются в 5 сущностях и генерируют 100+ сообщений на тему.
315 2927845
>>27837
Тогда что простое для реакт-ридух есть? Чтобы самому наугад это всё не строить?
316 2927924
>>27845
У тебя приложение на 50-90 страниц и 1000 компонентов?
Если нет то не парься и просто делай pages components api hooks

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

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


>но показывает все равно кнопкосчетчик


типикал архитут

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

Ну в целом то архитектутная мысль правильная что любая сложная логика должна быть отвяазана от всего на свете и быть как бы центром системы. Проблема только в том что этой самой логики у рядового анона с гулькин хуй. А 99% кода составляют связки говнофреймворков с говнофреймворками. И сложности уровня "как сделать чтобы у меня текст пропадал в импуте когда я щелкаю по чекбоксам и наоборот" охуеть просто.
318 2927970
>>27592
Почему медленно, ты всю страницу целиком что ли перерисовывал? Не пробовал менять только то что нужно?
319 2928056
>>27970

>Не пробовал менять только то что нужно?


Именно так адекваты и делали, а говнокодеры юзали render.
320 2928171
>>27515
Дебич, реакт вышел больше 10 лет назад
321 2928183
>>27579
Тебе не нужно редьюсеры нигде трогать кроме как в экшенах, в компоненте чекбокса просто выживаешь экшен, который сбрасывает стейт инпута, и в компоненте кнопки поиска вызываешь экшен сброса чекбоксов
322 2928190
>>28171
1) Предлагаешь все железо старше 10 лет на свалку нести?
2) Сколько раз за 10 лет переписывал компоненты на новый нескучный синтаксис?
323 2928191
>>28056
Так а ты нахуя так делал, помрачился и был в неадеквате?
324 2928195
>>28191
Я так не делал. Я тебе объясняю что весь реакт это эволюция говнокодерского антипаттерна, функции render из бэкбона.
325 2928202
>>28190

>1) Предлагаешь все железо старше 10 лет на свалку нести?


Зачем? На компе с каким-нибудь кор 2 дуо нормально запускается последний хром. Не надо просто по 1000 вкладок открывать.

>2) Сколько раз за 10 лет переписывал компоненты на новый нескучный синтаксис?


1.
326 2928204
>>28195
Реакт как раз меняет именно то, что нужно поменять.
327 2928210
>>28204
Это делает виртуальный дом. Макака на разработчике пишет только функцию рендер.
328 2928219
>>28210
И в чём проблема? Алсо, лет 5 назад уже перестали писать функцию render, просто возвращают JSX из функции компонента.
329 2928231
>>28219
Я не говорю про функцию рендер из реакта, я говорю про функцию рендер из бекбона. У нас урок истории, иди почитай что это в доку бекбона. Это рак потому что 1. медленно работает. 2. Надо писать хтмл в джаваскрипте.
Первую проблему они решили а вторую нет.
330 2928241
>>28231

>Надо писать хтмл в джаваскрипте


Не надо, пишешь JSX, это другое.

>Первую проблему они решили а вторую нет.


В чём проблема?
331 2928250
>>28231

>У нас урок истории


Помню было время ковырялся в этом говне. Нокаут еще был. Но как тогда так и сейчас не могу понять - нахуя это все нужно.
332 2928256
>>28250

>The default implementation of render is a no-op.


Что то тут не сходится с твоими охуительными историями.
333 2928261
334 2928267
>>28241

> JSX, это другое.


Это всего-лишь твоё говноедское мнение.
>>28250

> - нахуя это все нужно.


Ну бекбон какую-то "архитектуру" предоставлял. На самом деле нет. MVC модно было тогда. Но это базворд ничего не значащий как делать на этих трёх буквах апп никто не знал и единого мнения нет.
335 2928275
>>28256
Если она ничего не рисует, то вьюха просто к дому подсасывается. А если рисует, то рисует.
336 2928286
>>28275
Суть в том что в этом методе программист сам решает что менять, а что не менять и как именно. Так что никакой эволюции.
337 2928294
>>28267

>Ну бекбон какую-то "архитектуру" предоставлял


- Хочу вэб приложуху написать, да что то никак
- А в чем проблема?
- Да вот бы мне кто предоставил хоть какую-нибудь архитектуру
image.png23 Кб, 838x275
338 2928298
>>28286
https://stackoverflow.com/questions/17438832/how-to-render-backbone-js-view-properly
Вот типичный бекбоновский код, папа вашего жсх. Узнали? Согласны?
339 2928330
>>28294
Ну вот была jQuery чтобы удобно с домом, работать underscore чтобы удобно работать с данными, и бекбон который как-то через жопу их слепливает.
Из jQuery в ЖС искаропки переехал querySelectorAll, промисы. Из undescore все методы пердолинга массивов.
340 2928335
>>28298
Ты меня с кем то перепутал, я то все пытаюсь понять нахуя реакт вообще нужон. Похоже разве что в идейном плане - додики не способные написать хоть немного адекватный код объясняют друг другу как творить невероятную хуиту.
341 2928338
>>28330
А из бекбона нихуя не переехало потому что это бесполезная хуита нужная только чтобы стрелять себе по яйцам?
342 2928344
>>28335

>программист сам решает что менять,


Я тебя носом ткнул в мету как программист решает менять. Вот так он решает менять как на картинке написано.
Render рисует ВСЮ вьюху по определению. Если ты хочешь по клику каунтер инкрементировать, то можно или сделать что-то такое $(".counter").text(this.model.get("counter")) или вызвать this.render()
343 2928348
>>28338
Из бекбона переехала в реакт функция рендер.

> бесполезная хуита нужная только чтобы стрелять себе по яйцам?


Так точно.
344 2928356
>>28344

>Render рисует ВСЮ вьюху по определению.


Деб, ты умственно неполноценный? Я тебе цитату из доков кинул где написано что "по определению" render не делает нихуя.
345 2928358
>>28267

>Это всего-лишь твоё говноедское мнение


Как и у хейтеров JSX их неприязнь тоже всего лишь их говноедское мнение.
346 2928360
>>28298
Это и близко не папа JSX, ничего общего с ним
347 2928366
>>28360
Это именно он. Я роды принимал.
348 2928376
>>28356

>"по определению" render не делает нихуя.


Не по определению а по умолчанию. И в этом случае бекбон вьюха просто подсасывается к элементу на странице, типа гидрейтит его. А функция рендер еще и нарисовать может. А если ты маньяк, то еще и перерисовываешь всю вьюху функцией рендер на каждое изменение данных.
И всё это мета, совершенно обычное дело которым болеет каждый второй сайт.
349 2928386
>>27588

>Реакт это всратая попытка перейти от императивного подхода к декларативному.


Если копнуть нормально то окажется что различия между этими подходами высосаны из одного места, штудентик. Как и большинство терминологии в cs.

> можно это спрашивать как вопрос на собесе


Так это со 100 вероятностью спрашивают же.

>Зачем мы выбрали реакт?


А приходится краснеть и мямлить что то там про реактивность. Я же не скажу в глаза - вы че ебанутые? Вы же выбирали его за каким то хуем, это я должен у вас спрашивать зачем.
350 2928393
>>28376

>И всё это мета


Бля, я не понимаю на зумерском. Переведи на нормальный, если можно?
351 2928399
>>28393
Покинь профессию.
352 2928411
>>28376
Так я правильно понимаю или нет -
в функции render можно изменить только то что тебе нужно
вместо того того чтобы переписывать весь innerhtml.
И внезапно причина которая не позволяет этого сделать ровно одна единственная - так в примере написано, а мозгов у разрабов не хватает чтобы делать как то по другому (и ты один из них).
353 2928419
>>28411
Функция render запускается 1 раз в конструкторе вьюхи и вручную когда хочешь.

>в функции render можно изменить только то что тебе нужно


Нельзя, для этого был написан виртуал дом. Если бы можно было, то виртаул дом не был бы написан.
354 2928475
>>28183
Это ломает «охуенную» FSD-архитектуру.
355 2928503
>>28475
Забей на эту хуиту
356 2928635
>>28475

>FSD-архитектуру.


Хуйня, не для продакшена.
357 2928952
>>28503
>>28635
Посоветуйте тогда как организовать рякт-ридух приложуху. Надоело уже туда-сюда компоненты по папочкам гонять.
358 2928990
>>28952
задавай себе вопрос, почему в европе\сша ничего не придумывают?
чел, бери и разбивай как сам считаешь нужно

page, components, api, service , shared
этого достаточно и никто никогда не запутается.
359 2928993
Как блядь сделать подгрузку новых данных по скроллу и с виртуализацией при этом используя ртк квери в реакте?
360 2929064
>>28993
Для реализации подгрузки новых данных по скроллу с виртуализацией в 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` и структура данных могут отличаться в зависимости от вашего сервера.
360 2929064
>>28993
Для реализации подгрузки новых данных по скроллу с виртуализацией в 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` и структура данных могут отличаться в зависимости от вашего сервера.
361 2929074
>>29064
Даун ты? Нахуй ты мне свое говно из чатгпт дашь с реакт квери, а не ртк?
362 2929078
>>29074
жри, что дают
мимо
363 2929079
>>29074
Прошу прощения за путаницу. Если вы хотите использовать 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` для управления состоянием запросов к серверу. Логика загрузки данных и обработка скролла реализуются в соответствующих частях кода.
363 2929079
>>29074
Прошу прощения за путаницу. Если вы хотите использовать 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` для управления состоянием запросов к серверу. Логика загрузки данных и обработка скролла реализуются в соответствующих частях кода.
364 2929087
>>29079
пиздец, с редаксом почти в 2 раза длиннее ответ
365 2929098
>>29079
Клоун, я бы тут не спрашивал ответа, если бы уже не сделал всё тоже самое что и ты сейчас делаешь, иди на хуй. Джаваскрипт параша, хр тьфу.
366 2929105
>>29098

>Джаваскрипт параша, хр тьфу.


А что не параша?
367 2929159
>>20898
Как уже сказал анон, самый адекватный способ - виртуализировать, если таблица просто рендерит контент, то довольно быстро прикрутить можно.
368 2929160
>>20944
Напишешь на чистом js это "правильно"? Спорим ты просто хуевый инженер, который хочет, чтобы за него все решили и сделали другие, а твоя задача фрустрировать и кадаться говном.
369 2929164
>>21231
Из того, что можно будет положить в гитхаб и получать респект - таблица в тыщей записей, для каждого роу может быть вложенность других роу, их можно перетаскивать друг в друга. Если влоб это сделать, работать будет хуево, нужна виртуализация. Просто если делать клон чего-то большого, то хуй кто смотреть будет толком, ну и просто херова туча времени на верстку. А такая таблица это минимум кода и много интересных технических моментов, я так понимаю ты только вкатываешься, поэтому будет полезным в качестве демонстрации скилов.
370 2929175
>>29164

>нужна виртуализация


анус себе виртуализируй
371 2929184
>>29160
зачем мне че-то писать? зачем на чистом? шиз, блять, возьми нормальный инструмент и таких проблем не будет.
еще, блять, попроси меня на паскале эту хуйню сделать, чтобы твои ряктопарашовские чувства были отомщены.
372 2929190
>>29160
Конечно. Даже в этом треде на что правильное решение на реакте.
Есть 2 вида правильных решений. Полностью кастомайзбл - делай чё хочешь. Или компоненты на любой случай жизни, для списка, для таблиц, для неба, для Аллаха.
А вот это говнина когда вот тебе только дивы, хочешь таблицу - ебись.
373 2929225
>>29184
А чё, норм. Видел чела твиче, который хуярит на паскале для души/фрелонс заказ.
374 2929314
Почему в Реакте ререндер происходит только, когда переменная в state получает новую ссылку?
Не проще ли было бы отслеживать изменения и тогда ререндерить?
Например, у меня есть массив, я меняю в нем один элемент, Реакт не вызывает ререндер, т.к у него переменная массива указывает на тот же самый массив (который я изменил).
Чтобы пошел ререндер, нужно копировать массив и уже в нем менять, что тебе надо. Тогда ссылка поменяется и Реакт вызовет ререндер.
Но это же неэффективно.

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

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

А вложенный мемоизированный компонент вместо проверки ссылки твоего массива также должен будет проверить все элементы на изменения массива. А он ещё может и не последним в цепочке наследования оказаться.
376 2929626
Вы в курсе что вас заменят на питонистов. Посмотрите как питон продвигают в веб. Он выглядит более лаконично у него больше либ и самое главное там нормальная асинхронность а не говёный евент луп. Так что время учить питон.
377 2929631
>>29626
Конечно вкурсе, ведь питон нативный язык для браузеров
378 2929633
>>29626
Добавь программно элемент в HTML DOM используя только питон. На задачу 1 минута.
379 2929676
>>29633
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())
380 2929696
>>29626

>питон


>там нормальная асинхронность а не говёный евент луп


Кекнул в шепот. Ладно бы ты про говно спизданул, но в питоне такой же эвент залуп, который ещё и заблочить легко, если где-то синхронную функцию вызываешь внутри него, а не в отдельном треде.
мимо недосинька на петухоне
381 2929702
>>29676
Теперь добавь на клиенте.
382 2929752
>>29175
Не гавкай псина подзаборная, тебе нечего сказать.
383 2929782
Вы заебали не обсуждать бэк. Обсуждайте бэк, ок?
384 2929791
>>29782
Да а че там обсуждать?
Бекендеры - дегенераты, которые в двух строчках 10 ошибок делают.
Смеяться над бекендером - это как смеяться над дауном. Он не выбирал таким родиться.
385 2929794
>>29782
Сам бэк на жабаскрипте не подсунешь и не будет никакого бэка.
386 2929809
Ебаный react-native, сука какое дерьмо, 3 день я ебусь с этой хуетой java.lang.UnsatisfiedLinkError: couldn’t find DSO to load: libhermes.so и ноль нахуй, нихуя блеатЬ, хермес-хуемес отключен-включен-хуечен, это просто полный пиздец. Как это КОНТРИТЬ ТО ЕБАНЫЙ РОТ? В эмуляторе ведра всё заебись, а на устройстве апшка шлет нахуй с этой ошибкой, я ебал рот
387 2929846
>>29809

> Как это КОНТРИТЬ


Angular Ionic
388 2929876
>>29809
Первая ссылка на stackoverlow - https://stackoverflow.com/questions/57036317/react-native-java-lang-unsatisfiedlinkerror-couldnt-find-dso-to-load-libherm
Или там не то?
мимо писал под ведроид на флатере, брат жив
389 2929922
>>29626
Питон на фронте? Норм шутка. Даже на бекенде он хуже js/ts.
390 2929969
>>29752
Для ебанько тыща элементов это охуеть как много. Хотя для дауничей которым нужно тысячу библиотек подключить чтобы сложить два плюс два - вполне возможно так и есть.
image.png10 Кб, 649x163
391 2930006
Примерно можете почувствовать, что тут происходит?
392 2930032
>>30006
Показывают что первое a приоритетнее второго
393 2930066
>>30006
Да, дефолтные параметры, замыкания, области видимости.
btw мы вам перезвоним.
394 2930075
>>30032
>>30066
Оба пукнули, но конкретный ответ, почему так происходит, не дали.
image.png5 Кб, 312x147
395 2930083
>>30075
Потому что иди нахуй.
396 2930107
>>30075
Прост)
Не пиши не понятное и будет понятно.
397 2930197
>>30006
Похоже на баг, ололо.

Ты дохуя эксперт в языке похоже, может тогда знаешь тогда какой еблан придумал "this" называть "контекстом"?
cagel.gif4,3 Мб, 640x320
398 2930203
>>30197
Всмысле, он правильно прочитал твои мысли? Это не майндфак задачка, ты правда такую говнину написал чтобы скоуп брался хуй знает откуда?
399 2930272
Ни одна ебаная мразь не придумала высрать клиент для пскл без зависиостей, теперь от меня требуется родить обосранный пакет buffer, который и так уже есть в модулях. Сука ну почему жсеры такие тупые
400 2930289
>>30272
Ты пытаешься скомпилить pg под браузер?!!!11111
401 2930299
>>30289

>скомпилить


сбандлить

фикс
402 2930309
>>30299
схуяндлить, я даже не понимаю, что это значит. Если можно сделать хттп фетч, что мешает мне отправить всю хуйню в бд?
403 2930310
>>30309

> Сука ну почему жсеры такие тупые

404 2930317
Огласите стек по react который нужно знать 100% senioru
405 2930412
>>29969
Иди нахуй джун ебаный
406 2930416
>>29676
>>29626
Петухондрий, где петухоновый код для добавления элемента в HTMLDOM на клиенте?
407 2930422
408 2930423
>>30006
В данном случае, когда вы вызываете функцию `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`.
hqdefault.jpg17 Кб, 480x360
409 2930430
image.png10 Кб, 595x152
410 2930434
>>30423
Соси хуй, бот. И будешь сосать на таких дебильных вопросах дальше.
411 2930438
>>30412
Проецирующий джунишка, палишься на том что как всем джунятам-даунятам тебе лишь бы блестящих говноперделок засунуть побольше, даже там где они нахуй не нужны.
412 2930439
>>30203
Шиз?

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

Мой вопрос >>30197 про this остается в силе.
413 2930462
>>30272
Что ты пытаешься сделать?
414 2930463
>>29631

>Ведь тайпскрипт нативный для браузеров

415 2930464
>>30434
Что такое поднятие переменной "а"?
416 2930465
>>30438
Отрендерить 1000 элементов без виртуализации обычно плохая затея. Джун будет писать виртуализацию руками, сеньор возьмёт либу весом в несколько КБ без каких-либо блестящих свистоперделок, потому что либа для виртуализации просто выполняет всего одну функцию, виртуализацию списков.
417 2930478
>>29633
div = document.createElement("div")
document.body.appendChild(div)
Высокая культура разработки искаропки.
16982475629542.png96 Кб, 742x846
418 2930482
>>30317
хз, завалялась картинка по бэку только
419 2930488
>>30482
Ну у тебя на скрине база для джуна.
Все это проходят на 1-3 курсе вуза.
Это теория и ее точно недостаточно для seniora
420 2930490
>>30482

>Не знает чё такое грейд


>Серит базвордами

421 2930491
>>29876
НИХУЯ из этого не помогло, я блядь уже с ума схожу нахуй, что за хуйня НАХУЙ БЛЕАТЬ. Все зависимости подрублены нахуй, хермес отключал,включал, предрелиз сделал на экспо и там менял всю эту хуйню. НИ-ХУ-Я БЛЕАТЬ, это какой-то пиздец
422 2930512
>>19967
Я эту вакансию месяца 2 уже наблюдаю, что-то мне, кажется, что цель этой хуиты точно не нанять.
423 2930522
>>30478
Да никому ваш суп не нужен, чтобы раздавать готовый бандл. Вы там ебонулись? Нахуй ещё ваш сервер. НА КЛИЕНТЕ делай на питоне.
424 2930526
>>29314
Бамп
425 2930534
>>30522
Я на клиенте сделал.
426 2930543
>>30534
На питоне сделай.
427 2930546
>>30543
Это питон.
428 2930550
>>30526
потому что ре-рендер дорогая операция и ты его лишний раз не задрачевал
429 2930558
>>30546
Давай свой питоновый код. Сейчас проверим в браузере, на клиенте.
430 2930561
>>30550
А сранье ссылками на новые объекты, которые мы создаем, чтобы в стейт записать, дешевая операция?
431 2930569
>>30558
Я дал. >>30478 видишь var нет, точек с запятой нет.
432 2930587
>>30561
Мне кажется ты не в реакте новый, а в целом в твоей голове нет такой картинки, что глубое сравнение это дорогая операция. Да ещё на каждый элемент массива. Сравни за дешёво изменения в объекте, у которого может быть произвольная вложенность, например 10?
И да, копировать объект дешевле чем вставить в HTML DOM. Попутно ещё решив, нужно это обновление или нет. Знаешь ли, пересчитать лейаут страницы и перекрасить его - не дешёво, даже с учётом всех магических браузерных оптимизаций.

>>30569
Дал тебе на клыка, псевдо элитист. Чтоб тебя лексер ночью покусал.
433 2930589
>>30587
Чем докажешь что это не питон?
434 2930605
>>30587
А ты прав, если у нас есть объект с большой вложенностью, то придется спускаться вниз каждый раз, чтобы проверить, не изменился ли он.
А вот ссылка всегда одинакова по размеру, независимо от размера объекта.

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

Пока нашел LoopBack 4, норм? openapi вроде есть
436 2930620
>>30589
Тем, что это джаваскрипт.
А если это питон, который выглядит как джаваскрипт, то просто пересаживаем питоновых макак на JS и экономим тысячи долларов на переобучении, дообучении, и имплементации поддержки петона в браузере.
А дальше высококультурные шизы пусть через преттиер себе отрезают скобочки, до которых могут дотянуться, и точки с запятой.
437 2930621
>>30605
Ты просто тупой как пробка, как можно было не догадаться, увидев, первый раз стейт, что там внутри выполняется что-то вроде: emitOnStateChange() только тогда, когда ты сеттишь что-то новое в стейт, через хуки или в классовых компонентах и именно это тригерит ререндер, это называется dataBinding, это база, это знать надо. И именно поэтому тебе нужна set функция или поле в классе, потому что иначе некуда вставить этот самый emitOnStateChange().
438 2930628
>>30621
Шутка на тебе. Я спрашивал, почему ререндер происходит при изменении ссылки внутри стейта, а не при изменении переменной по "старой" ссылке.
439 2930666
>>30620
В джаваскрипте надо var писать.
440 2930674
>>30628
Ну вот потому я тебя и назвал, тупым как пробка. Ведь очень не сложно догадаться, что если ты меняешь что-то внутри массива, то тебе некому триггерить emitOnStateChange(), поэтому перерендера и не происходит.
441 2930679
>>30465
Сколько элементов на странице которую ты смотришь прямо сейчас, еблан?
442 2930681
>>30674
Вопрос был, почему создатели Рякта так решили сделать.
А, ладно, я получил ответ на свой вопрос, пойду дальше читать.
Алсо, чтобы два раза не вставать, посоветуйте годные туторы по рякту в духе, по примеру этого:
https://react.dev/learn
image.png33 Кб, 1328x652
443 2930687
>>30666
Меня твой троллинг уже доебал просто.
444 2930690
>>30687
Ты просто ни джаваскрипта ни питона не знаешь.
445 2930691
>>30628
Реакт не стартуер ререндер, если твой литерал/ссылка на объект не поменялась, но ты "попытался".
Дойдёшь до секции с оптимизацией ререндеров - навалят ещё инфы.
image.png69 Кб, 1327x777
446 2930698
447 2930711
>>30698
что за редактор на пике?
448 2930722
449 2930756
Я в дурку нахуй попаду с этим реактом на мобилки, ЭТО ПИЗДЕЦ Я УЖЕ НЕ МОГУ БЛЕАТЬ
450 2930824
>>30756
Я тебя понимаю.
451 2931055
>>20883

>Есть вообще хоть что-то, в чем Реакт был бы лучше чем Вуе в 2023-м?


Не перестаю проигрывать с эмаунта копиума, необходимого Реакто-петухам для совладания с тем фактом, что им приходится 24/7 ебаться с мемоизацией, чтобы предотвратить избыточные ререндеры, в то время как в Вуе такой проблемы просто не существует.

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

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

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

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

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

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

4. Да, на реддите сидят дауны, не удивлен, что ты там сидишь.
455 2931107
>>30611
Не знаю, похож ли на фастапи, но в несте есть автогенерация опенапи и тс по умолчанию
456 2931112
>>31068

> Лексическая область видимости,


Чё это?
457 2931119
>>31055
Тебя уже попустил другой анон по всем пунктам, но я ещё добавлю по первому. Скорее всего в следующей версии выйдет новый компилятор, который будет делать автоматическую мемоизацию.
458 2931160
>>31068
Ты мне это нахуя пишешь, безчувстенный? У меня нет вопросов касательно того, как работает тот код.
459 2931321
За ограниченный промежуток времени что лучше выучить для бэка - тайпскрипт или нест жс? Примерно можете почувтсвовать?
460 2931322
>>31112
Еще бывает динамическая. Была раньше в некоторых лиспах, но больше нигде не используется. Это плюс-минус как ведет себя this (которое по неведомому недоразумению называют "контекстом" в рашкованском сегменте интернета) в js. А теперь представь что так себя ведут все переменные и как с этого будут жопы гореть - поэтому от этого давно отказались.
Его объяснение кстати хуита само собой. Вот правильное объяснение >>30439
461 2931333
>>31321

>тайпскрипт или нест жс?


Лол
462 2931362
Жесть, только что написал на литкоде ивент имитер без каких либо подсказок. Потратил 2.5 часа. Теперь я мидл получается? Ебать как же я крут бля...
463 2931366
>>31362
Ссылку на задачу плз
465 2931404
>>31373
Ух бля, тесты за анона написали, получается.
466 2931424
>>31362
Ну это медиум задача, значит миддл.
467 2931595
>>31373
Вроде это пишется где то примерно за минуту. Но главное не забывай
pub/sub - это не архитектура - это ее отсутствие.
468 2931604
>>30611
uWebsocket.js
469 2931609
>>31595

>pub/sub - это не архитектура - это ее отсутствие


Чел, сейчас все приложения на микросервисах так устроены, только pub/sub с маршрутизацией и гарантией доставки.
470 2931611
>>31609
Какие это?
471 2931616
>>31611
На бекенде,таким образом DDD подход в микросервисном исполнении реализуется.
472 2931622
>>31616
Т.к у тебя три альтернативы фактически при использовании микросервисов
1) Общаяя бд, в миросервисном исполнении проблемное решение
2) Распределенные транзакции, костыль
3) Ивент драйвен архитектура
473 2931634
>>31616

>DDD


баззворд с нулевым наполнением
>>31622

>3) Ивент драйвен архитектура


На заборе тоже написано. Идея всем дружно срать в один чан - не архитектура. Но пока работает - жить можно конечно.
474 2931639
>>31622

>драйвен


мгимо-финишт?
475 2931650
>>31634

>Идея всем дружно срать в один чан - не архитектура


В какой один чан? Меседж брокер (рабит, кафка) только распределением и доставкой ивентов занимается, в нем нет бизнес логики. Идея в том что

1) каждый микросервис обрабатыает свой поток событий и отдает в брокер другой поток событий
2) что не нужно заботится о согласовании данных между бд разных микросервисов
3) асинхронность обрбработки событий
476 2931653
>>31639
похуй
477 2931696
Я меняю элемент в списке в реакте. Надо перерисовать список после изменения элемента. Какие бескостыльные способы есть перерисовки? Не хочется делать setList([...list]) или именно так это и надо делать?
478 2931724
>>31650

>1) каждый микросервис обрабатыает свой поток событий и отдает в брокер другой поток событий


Это и есть

>всем дружно срать в один чан


>2) что не нужно заботится о согласовании данных между бд разных микросервисов


Перевод: никто не знает как устроена система и даже в принципе разобраться в ней невозможно.
479 2931736
>>31696

> setList([...list])


Хотя это даже не работает ведь лист я получил через useSWR и у него никакого setState нету уже.
Тогда я накостылил вот такой проп диву data-redraw={redraw} и в redraw просто случайное число отправляю. Смекал-очка.
480 2931742
>>31724
А куда денешься, лол. Это будущее с горизонтальным масштабированием, с инфраструктурой как код, с чат гпт, и все это будет в облаке у провайдера бизнес решений. А программисты превратятся в интеграторов и консультантов.
481 2931866
>>31736
>>31696
Пиздец ты конечно, хлопчик. Ну попроси бэкендера новый список присылать на изменение. Пусть он тебе переебёт.
482 2931991
>>31724
Там не один чан, там много разных топиков
483 2931993
>>31736

>useSWR и у него никакого setState нету


Доку открывать пробовал? https://swr.vercel.app/docs/mutation#bound-mutate
484 2932000
>>31634

>>DDD


>баззворд с нулевым наполнением


Макака.
485 2932005
>>32000

>Предметно-ориентированное проектирование (реже проблемно-ориентированное, англ. domain-driven design, DDD) — набор принципов и схем, направленных на создание оптимальных систем объектов. Сводится к созданию программных абстракций, которые называются моделями предметных областей. В эти модели входит бизнес-логика, устанавливающая связь между реальными условиями области применения продукта и кодом.


Чистейший поток базза.
486 2932008
>>31616
Наличие шины данных/брокера сообщений не является обязательным атрибутом для реализации ддд в микросервисах. И микросервисы можно реализовать и без ддд и без кафок-хуяфок, и каждый микросервис может иметь свой субдомен, а всех их объединять кордомен, который может быть чем угодно, хоть отдельном сервисом, типа воркфлоу, хоть просто набором зашаренных классов/адаптеров, обёрнутых в отдельный пакет или библу.
487 2932048
>>31595

>Вроде это пишется где то примерно за минуту.


Если зайти в решения и скопировать первое попавшееся, да. А 2 часа для малютки, который в первый раз с такой задачей столкнулся в самый раз.
488 2932060
>>32048
Когда в универе учился, нужно было перед преподом на листочек написать евент эмиттер если конечно попадётся тот билет. Как раз надо было уложиться за минуту две
489 2932096
>>32060
Какой это универ? Буду всем советовать.
490 2932106
491 2932135
>>32106
Этот кал я уже выучил
492 2932150
>>30756
Братишка, тэйк ит изи, нервы дороже всей этой фигни. Ну и тут нужен мобильщик, местные видимо только web пишут.
493 2932249
>>31639
Что не так?
494 2932255
>>32249
Это тот случай, когда для русскоговорящего читается так как видится: дрывень.

мимо
495 2932269
>>32255
Понял.
496 2932281
>>31993
А если не swr то как принудительно перерисовку в реакте делать?
497 2932285
>>31993

>mutate({ ...data, name: newName })


...data а вот это хорошо потому что мутировать это плохо понятненько? А если там миллион элементов в массиве, мне тоже всегда надо его копировать? А мутировать плохо потому что долбоеб который придумал реакт так скозал и всё.
498 2932289
>>31866
Вообще-то такой костыль прям в доке написан. Только с другим именем.
https://react.dev/reference/react/useState#resetting-state-with-a-key
499 2932314
>>32289
Ты излил какое-то говно. Потом откуда-то вылез SWR. Никто не знает размер твоего списка. Если у тебя там 10 элементов. Ты литералли экономишь на спичках усложняя и спагетизируя логику компонента. Мы тут угадать должны, что ты там с данными делаешь? Отсылаешь ли запросы?
Да в конце концов, у тебя девтулзы есть, можно посмотреть перформанс. Ты вообще в курсе про такой функционал? Он прямо в твоём браузере.

> пример


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

Короче, смотри, вот есть ОП-пост:

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



Ты пока что сюда пришёл как в бложик. Сам придумал проблему, сам решил, сам самоудовлетворился.
500 2932362
>>32314
Меня бесит useState([...list]) так и надо делать потому что так Аллах велит или можно так не делать?
Типа ты не видишь в ...цикл на N элементов? И считаешь что в любом случае всегда надо бездумно это писать?
И это конечно же проблема конкретного моего случая, а не то что надо обсуждать в "бложике".
501 2932370
>>32362

> пиши с примерами


> АРРРРРЯЯЯЯЯ НЕТ ВЫ ВРЁТИ, НЕ МОЖЕТ БЫТЬ, ЧТО Я ТАКОЙ ИСКЛЮЧИТЕЛЬНЫЙ


Ничего, порридж, дойдёшь до редакса, до иммера, всё будет.
502 2932372
>>32370

>АРЯЯЯЯ ПРИМЕРЫ ИЗ ДОКИ ЭТО НЕ ПРИМЕРЫ

503 2932374
>>32372

> АРРРЯЯЯЯЯ ДВА РАЗА ПОПРОСИЛИ ПИСАТЬ С ПРИМЕРАМИ


> НЕТ Я СЛЕПОЙ

504 2932392
>>32285

>А если там миллион элементов в массиве


И что? Если у тебя такие вопросы возникают - иди смотри как работают JS движки, что бы лишних вопросов не было.
505 2932394
>>32281

>как принудительно перерисовку в реакте делать?


Ты не должен её делать никогда.
# OP 506 2932397
# OP 507 2932398
# OP 508 2932399
509 2932413
>>32392

>как работают JS движки,


Как?
510 2932414
>>32413
А вот так, что ты в 99.999% случаев копируешь 64битные числа, что происходит за микросекунды и не оказывает влияния на перформанс.
511 2932424
>>32414
Какая разница сколько бит в числах?
512 2932429
>>32424
Какой же ты уебон. Как ты умудряешься со всех тейков уцепиться не за ссуть™ - просто фантастика.
Копируется РЕФЕРЕНС на объект, читай: ссылка на объект в памяти. Кишочки твоего объекта в массиве не копируются.

Научись сначала делать как все, потом вставляй свои костыли. Или выбери что-то помимо реакта уже сейчас.
513 2932440
>>32429
Это ты вместо того чтобы сказать суть посылаешь почитать хуй знает че и серишь базвордами про биты. Какая мне нахуй разница какие там биты, чмо тупорылое.
...list - 1 цикл перебора массива. 1 цикл больше чем 0 циклов. 1 цикл менее требователен к ресурсам чем 0 циклов.
514 2932452
>>32440
До мемоизации дочитал? Дочитай.
515 2932473
>>32452
Это не относится к теме. 1 всё еще больше чем 0.
516 2932480
>>32473
Дочитай. Чтобы ты потом не удивлялся почему твой костыль не работает. А тимлид ебёт шваброй в жопу.
517 2932500
>>32480
Всё работает, пример из доки, шваброй ебу я тимлида.
518 2932509
>>32500
GL HF
image.png2,2 Мб, 1280x960
519 2937996
Оцените
520 2938080
https://flexboxfroggy.com/#ru игра по флексам.
522 2948059
>>37996
клеймо жулика, с таким сразу нохаир
523 2952806
>>20228
нет.

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

блогеры, люди с твитера - все они подпадают под нохаир
Тред утонул или удален.
Это копия, сохраненная 14 февраля в 19:16.

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

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