image.png100 Кб, 1050x1050
JS Thread #316 /js/ # OP 3276884 В конец треда | Веб
Предыдущий тред: >>3260395 (OP)

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

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

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

Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
2 3276892
первыйнах
3 3276898
>>76884 (OP)

>2


>первый

4 3276901
>>3276875 →
Причина тряски? Mocha звучит как мока, это отсылка к мок-тестированию.
5 3276902
Почему жс так слоупочно развивается?
17261550119760.mp4689 Кб, mp4,
768x576, 0:10
6 3276907
максимум js-блядей на видриле
7 3276909
>>76901

>Mocha


Как корабль назовешь - так он и поплывет. Что мы и видим на примере Мочи.
8 3276926
>>76909
А что мы видим на примере моки? В жс мире все по долгу не живет, но не все называется мока.
9 3276931
>>76907
Недавно в nodejs jobs в телеге видел рекламу грузчиков 3.5 тыр в день.
10 3276932
>>76926

>В жс мире все по долгу не живет


Ряхт уже третий десяток наматывает.
11 3276933
>>76932

>третий


Второй
быстрофикс
12 3276941
>>76932
Да там под ваш рякт весь фронтендовый фарш каждый день меняется. Я как-то пробывал проекты пилить на rxjs c reduх-obsrvable а потом плюнул. В каждом проекте свое уни кальное говно.
13 3276944
и снова я вопрошаю тред: КАК ОБЪЯВИТЬ ПЕРЕМЕННУЮ В ЖС
14 3276948
>>76941

>весь фронтендовый фарш каждый день меняется


Не меняется. Как писали серьезные проекты на редухи и мобихе, так и пишут. Разве что react-query присоединился.
15 3276949
>>76944
Тащем-то секрета никакого тут нет - берешь и объявляешь.
16 3276951
Нужен ли exspress для spa?
17 3276953
>>76951
После СПА процедур не нужно пить эспрессо.
18 3276954
>>76949
КАК
19 3276956
>>76954
Прочитай у Кантора
@
Спроси у ГПТ
@
Погугли
20 3276965
>>76902
А что развивается не слоупочно?
21 3276966
>>76909
Безграмотный имбецил, это Мока.
22 3276969
>>76966
Моча.
23 3276970
>>76965
Питон
24 3276973
>>76970
Чем он быстрее, чего туда нового добавили в последнее время?
25 3276979
>>76965
C++
Сами создатели уже не понимают что наворотили
26 3276980
>>76979
Зачем он нужен, если есть языки будущего, такие как Go, Nim, Zig, Rust?
27 3276985
>>76965

>А что развивается не слоупочно?


C#. Не успел посмотреть что изменилось в новой версии, а уже следующую выпустили. Ничего хорошего в этом нет.
28 3276986
>>76985
В последние годы очень активно развивается
29 3276988
>>76951

>Нужен ли exspress для spa?


Нет. SPA можно писать 2-мя способами. Бекенд и фронтенд отдельно, бекенд отдает только данные. Для этого можно юзать стандартную библиотеку Ноды. Используя подход html over websockets (Hotwire, Blazor, Liveview, etc), для этого Экспресс не подходит.
30 3276994
Так декораторы и кортежи приняли или нет?
31 3276998
>>76986
Стал уже вторым C++. Спецификация 700 страниц. В спеке C++ описание самого языка занимает 457.
32 3277000
>>76985
C# умирает, причем довольно быстро, даже сам бъерн это подтверждает
33 3277001
>>77000

>C# умирает


В чем это выражается?
34 3277002
>>77001
выпал трипл = я прав и не ебет
35 3277004
>>77002

>кукареку

36 3277010
>>76994
Похуй, в несте и так декораторы давно работают
37 3277012
>>77001
В том, что новый софт никто на этой хуйне не пишет с 2008 года, даже сам микрософт давно все пишет на жс.
38 3277013
>>76988
Ставить сокет.ио?
39 3277015
>>77013
Ставь некст или ремикс и не слушай этого наркомана
40 3277017
>>76988

>стандартную библиотеку Ноды


И написать самому все миддлвари экспресса, ок

> html over websockets


Какую только хуйню не придумают диды, ненавидящие жс, лишь бы не рендерить жс на сервере
41 3277021
>>77013

>Socket.IO is NOT a WebSocket implementation.


Чет я не врубаюсь
42 3277023
>>77012

>новый софт


Ты не в теме. .NET пожалуй самая продвинутая платформа на сегодня. В ней есть все плюсы других платформ, без их минусов. Какие есть фичи, которых нет в .NET?

>>77013

>Ставить сокет.ио?


Зачем? Ни в коем случае.

>>77017

>И написать самому все миддлвари экспресса, ок


Что в этом плохого? По другому не поймешь как устроено все на низком уровне.

>лишь бы не рендерить жс на сервере


В смысле рендерить на сервере?

>придумают диды


Это ты глупый дед если юзаешь оверхедный http вместо легковесных полнодукплексных протоколов.
43 3277039
>>77023

>продвинутая платформа


Только никто ничего не пишет, поэтому она и мертвая

> что плохого делать 10х работу


Ничего, ее никто не оплатит, задачу надо было сделать вчера

> что такое SSR


Мы вам перезвоним
44 3277042
>>77023

> .NET самая продвинутая платформа


>оверхедный http вместо легковесных полнодукплексных протоколов


Этот дурачок просто питается баззвордами
45 3277048
>>76966
Эй, жабаскриптер, у меня mocha есть, тебе в chai ещё подлить?
46 3277072
>>77039

>Только никто ничего не пишет


>2 892 вакансии «.net»


Закусывать надо.

>ее никто не оплатит


Если ты без фреймворка ничего не можешь, то твоя ценность не выше мaкаки.

>SSR


Blazor умеет.

>>77042
Как и ожидалось противопоставить тебе нечего.
47 3277076
>>77072
Blazor очень медленный, перформнас хуже некудa

>>77023

>В смысле рендерить на сервере?


Vite-ssr, Next, Remix, Nuxt, Analog
48 3277081
>>77076

>Blazor очень медленный, перформнас хуже некудa


Чепуха. На днях тестил с помощью wrk.

>Vite-ssr, Next, Remix, Nuxt, Analog


И?
49 3277082
>>77081

>Чепуха. На днях тестил с помощью wrk.


Это ты тот шиз, который троллил с прошлом треде тем, что чистый пхп охуенно быстрый?
https://krausest.github.io/js-framework-benchmark/current.html

>И?


Перечислил тебе инструменты, с помощью которых можно рендерить на сервере. Забочусь о твоём образовании. Но странно, что ты их не знал.
50 3277084
>>77081
>>77082
Blazor первый с конца, лол.
51 3277088
>>77023

>легковесных полнодукплексных протоколов.


Все эти легковесные протоколы заебешься настраивать. HTTP проверен временем и работает из коробки.
52 3277089

>Blazor


Поделие мелкософта для попила денег на энтерпрайзе. Удивляюсь, как команду еще не выкинули на мороз, потому что блазор мертв в зародыше.
53 3277090
>>77072

>2 892 вакансии «.net»


Ковыряться в легаси-говне, все верно.
У тебя русский язык - не родной? Речь шла о новых проектах.

> без фреймворка ничего не можешь,


Могу, это будет стоить в 10 раз больше, так как требует в 10 раз больше времени. Смекаешь, вкатун?

> Blazor умеет


Умеет рендерить жс без жс? Мы вам перезвоним
54 3277091
>>77090

>Речь шла о новых проектах


ну там на хуюнити что-то вроде еще пишут...
55 3277092
>>77088
Все эти "легковесные протоколы" придуманы для классов в Твиттере. Но находятся дурачки, которые переводят твиты их разработчиков на Хабр, а оттуда этого говно с серьезным ебалом долбоебы тянут в реальные проекты.
56 3277094
>>77091
Юнити не имеет никакого отношения к экосистеме .NET и ни один из баззвордов, которыми ты тут щеголял, там не используется. Они используют подмножество C# (тот что есть в Моно) как скриптовый язык своего C++-движка.
57 3277095
>>77082
Даже если верить этим цифрам, ничего страшного в них нет. Во-первых, сами тесты абсурдные, во-вторых, во всех тестах кроме создания 10к строк, скорость выполнения меньше 150 миллисекунд, это низкая задержка. Я не предлагал писать на блэйзоре игры или что-то подобное. Для обычного веба его производительности достаточно. Сам .NET страницы отдает быстрее чем Node.js и его capacity намного выше, сотни тысяч - миллионы rps.
58 3277097
>>77090

>Ковыряться в легаси-говне


>491 вакансия «asp.net core»


Не надоело в говно окунаться?

>Могу


Верим.
redkliff-plyuetsya-vodoy-9.jpg48 Кб, 750x591
59 3277098
60 3277102
>>77097

>asp.net core


Это мертворожденная хуйня Микрософта по запуску дотнета на линуксе, провалилась, никто дотнет на линуксе в реальной жизни запускать не стал

> говно кунаться


Забавно, как дотнетодебил проецирует
61 3277104
>>77097
А ну и забыл, если видишь в вакансии asp.net core, значит там старший прокрасчик кнопок решил идти в "ногу со временем" и заставляет команду переписывать свое легаси с дотнета на дотнет, тоже охуительно интересная работа
62 3277105
>>77102
Невменяемая жабаскрипт-макака.
63 3277106
>>77105
Причина тряски, вкатунчик, наебанный микрософтом на "передовую платформу"?
Печет от того, что потратил время на изучение ненужного говна?
64 3277109
>>77092
Двачую. Protobuf тому пример. Якобы более легковесный и содержит в себе типы и спеки, но по факту кал ебаный и лучше просто использовать HTTP + OpenApi
65 3277112
>>77106
Так и будешь срать изо рта или приведешь факты? В .NET есть всё, экосистема без минусов, ну кроме C#, зато есть F#.
66 3277113
>>77109
протобуф еще можно понять и простить, его проектировали в дремучие времена, когда современный подход к апи еще не устоялся, но с тех, кто именно сейчас пытается сделать убийцу хттп можно только угорать.
67 3277114
>>77112
Ступай в свой загон, нам неинтересно обсуждать твое любимое говнецо.
68 3277115
>>77109

>HTTP


Этому легаси 25 лет. Он не подходит под современный веб.
69 3277116
>>77112

>.NET есть всё


А тулинг для создания UI там есть более-менее нормальный? Который не блазор и не платные замены qt.
70 3277117
>>77115
Аргументируй.
71 3277118
>>77114

>нам


Обосрался и делаешь вид, что вас много кретинов? Смешно.
72 3277119
>>77118
Агрошкольнику больно и треск жопы не прекращается. В жс-треде обидели любимый дотнет, какое горе.
73 3277120
>>77119

>я не один обосрался, пасматрите

74 3277121
>>77120
Ты один обосрался, дурачок
75 3277136
>>77095

>Даже если верить этим цифрам, ничего страшного в них нет.


Я больше верю им, чем твоему "я вчера затестил через wrk". Этот фронтендовый бенчмарк существует давно, он популярен уважаем сообществом, в нём объективные цифры.

>Во-первых, сами тесты абсурдные, во-вторых, во всех тестах кроме создания 10к строк, скорость выполнения меньше 150 миллисекунд, это низкая задержка.


Ваши тесты неправильные, ррряяя? Приведи тогда не абсурдный бенчмарк.

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


Ты реально не троллишь? 150 миллисекунд задержа в интерфейсе веб-приложения делает UX очень неприятным. Может у тебя глазомер как в 95-летнего, работает в тысячу раз медленнее здорового человека? Тебя не смущает memory allocation в 40+ раз больше нормальных фронтенд фреймворков? А потом люди жалуются, что фронтендеры пишут перегруженное тормозящее говно. Пусть тогда радуются, что не шарпомухи пишут фронтенд. Ну и самое главное, uncompressed size у blazor-wasm-aot 11 мегабайт,
uncompressed size 2.8 МБ. У blazor-wasm 3.7 и 1.2. Кто этим говнищем будет пользоваться?

>Сам .NET страницы отдает быстрее чем Node.js и его capacity намного выше, сотни тысяч - миллионы rps.


Для обычного веба достаточно не то что ноды, даже руби/пхп/питон достаточно быстро отдаёт страницы. Нахера мне брать дотнет, если намного проще сделать на вышеперечисленных языках и тем более на ноде?
76 3277137
>>77136

>Для обычного веба достаточно не то что ноды, даже руби/пхп/питон достаточно быстро отдаёт страницы. Нахера мне брать дотнет, если намного проще сделать на вышеперечисленных языках и тем более на ноде


Да этот жук навозник никогда на нормальном проекте не работал. На больших продуктах всегда отдают фронтовые сервисы на откуп фронтендерам, что бы они крутили себе свои ручки/стриминг/корсы и прочее фронтоговно, которое перекладывателям джонсонов не интересно. Т.е. 99% это будет нода, 1% php.
77 3277140
>>77095

>Сам .NET страницы отдает быстрее чем Node.js и его capacity намного выше, сотни тысяч - миллионы rps.


Чел я в кебернетесе циферку поменяю и получу тот же самый результат, при это жсдебилы меньше денег требуют, еще и работу будут выполнять быстрее, за счет огромной экосистемы. Я даже молчу про размер бинарника блазора (последний раз чекал - почти 1мегаБАЙТ, что даже для LTE овердохуя. А ведь это чисто фундамент, тебе еще компоненты надо будет грузить.
78 3277141
>>77095

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


Обычный веб это странички магазинов и блогосайты/лендинги, собранные на битриксе(или других CRM) и готовых шаблонах. Т.е, блазор даже тут обосрался. Мертв в зародыше.
79 3277149
Ну чё, добьются ли в этот раз от Oracle отказа прав на торговую марку "JavaScript" (c) (tm)? А то надоело его везде ECMAScript называть.
Думаю, нет.
80 3277231
>>77140
жсдебилы, шарпобляди... любители какого языка не хуесосы?
81 3277237
>>77082
Не все. Если еще старый добрый handlebars

мимо
82 3277265
>>77231

>любители какого языка не хуесосы


Перла.
83 3277273
>>77149
всем похуй на эту торговую марку.
изображение.png125 Кб, 1496x943
84 3277287
Эй блазорошиз, смотрю сейчас код этого поделия и не вижу типизации (в строготипизированном языке). Подскажи где она?
85 3277310
>>77287
Типошиз с дотнетошизом схлестнулись в схватке мочи и говна
86 3277327
Есть только две причины учить C# в 2024 году:
1) Ты собираешься разрабатывать игры на Unity/Godot
2) Ты собираешься в ближайшие годы валить в США и искать работу там.

Никаких других причин учить это больше нет. В РФ в ближайшие годы от копроративной экосистемы микрософта откажутся, дуднет отправится на помойку. Вы можете сколько угодно дрочить на свой язык и платформу, но нужно смотреть правде в глаза. А правда в том, что в корпоративном секторе почти везде жаба, от продуктов мелкомягких в РФ откажутся окончательно, кроме игр нигде у C# нет своей вотчины, где он мог бы уверенно занимать свое место (как это есть например у JS в браузере, свифте в ios да и той же жабы в ентерпрайзе) не боясь что его оттуда подвинут. Ты потратишь время на изучение "универсального и лучшего языка" C# и всей телеги что идет в комплекте чтобы обнаружить, что все ниши давно заняты другими технологиями и сишорп там не ждут. Ни в десктопах, ни в вебе, ни в блохчейне, ни в эмбедде, нигде.
87 3277333
>>77327
О, еще и пердолика занесло сюда. Поменял в пасте 2004 на 2024 и дрочит против клятого микрософта.
Жс-тред, место встречи шизов всех мастей.
88 3277339
>>77333
Жс давно часть "копроративной экосистемы микрософта", а тайпскрипт это язык с вендорлоком от майкрософта. В отличие от жс у него нет стандарта, только референсная реализация от майков.
89 3277340
>>77339
мимо капитан очевидность
90 3277343
>>77339
Ах да нода тоже майкрософт. Майки подсуетились весь жс скупить..
91 3277360
>>77343
Только npm они купили.
92 3277364
>>77339
Можно на ванильный жс забить болт.
93 3277371
>>77364
почему?
94 3277372
>>77371
Есть Тс с наворотами
95 3277375
>>77372
Это не "навороты", это костыли для инвалидов
96 3277376
>>77375
А инвалид это ванильный жс
97 3277378
>>77376
Инвалид - это шизик, не могущий в жс
98 3277379
>>77378
Зачем городить тонны кода на чистом,если есть готовая фича на ТС?Это улучшает процесс программирования
99 3277385
>>77379
Но ТС это и есть тонны ненужных деклараций типов, которые не имеют никакого отношения к коду и нужны только для того, чтоб подсвечивать красненьким места, где инвалид складывает лошадь с сеном
100 3277387
>>77385
А что только для типов нужен ТС?
101 3277393
>>77387
он в принципе нахуй не нужен
102 3277413
https://www.npmjs.com/package/ws
В чем разница между External HTTP/S server и Simple server?
103 3277432
>>77393
>>77385
>>77375
Почему неосилятора TS так корёжит в этом треде? Причина баттхёрта не ясна. Я вот тоже хаскель не осилил, но я же не бегаю по тредам с горящей жопой по этому поводу.
104 3277582
>>77339

>Жс давно часть "копроративной экосистемы микрософта", а тайпскрипт это язык с вендорлоком от майкрософта.


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

>только референсная реализация от майков


Тупее высера не слышал. Дохуя реализаций тупоскрипта, тот же babel и esbuild имеют свои собственные реализации тайпскрипта.
105 3277587
>>77413
В том, что ты помимо ws сможешь слушать еще и обычные http запросы
106 3277598
>>77582

>esbuild


Этот пока научился только вырезать TS из файлов, оставляя JS.
Проверки типов там нет и в итоге надо одновременно иметь и tsc и esbuild. Мда и кстати эмит декоратор метадата там тоже нет, то есть сосамба с либами типа тупоорм, активно использующих эти тсявые костыли. Такие дела
107 3277601
Разобрался с функциональностью vue. Теперь вопрос, а как писать хорошо на vue? Посоветуйте что-нибудь почитать.
108 3277607
>>77598
Да, babel тоже не умеет, вроде как. Но тем не менее - сборка без тайпчека вполне себе реализация тайпскрипта.
109 3277608
>>77601
Надо не читать, а писать код. Быстро поймешь что плохо, а что нет.
110 3277615
>>77587
Так он умеет отдавать простые веб страницы?
111 3277637
>>77587
ws умеет отдавать только вебсокеты. Веб страницы отдает сервер, который ты внутри прокидываешь.
112 3277645
>>77582
Смысл референсная реализация понимаешь? Пример есть питон. У питона нет четкого стандарта, как в ECMAScript, например. Есть реализация cpython и дока по нему. Это называетс референсная релизация. Другие питоны Iron Python, Cython, Jython, зависят от питона, от его библиотек, они вынуждены хотя бы частично поддерживать его экосистему они самостоятельно не добавляют новый синтаксис или фичи языка, иначе их основной смысл потеряется: запускать питоний код. Но Питон польностью контролируется сообществом. Есть PEP который консенсусно планирует фичи языка.

У тайпскрипта есть референсная реализация компилятора. Но нет стандарта. Если бы комитет по стандарту языка принял бы решение, что тайпскрипт должен выводить обобщенные типы метода из ограничениий при использовании этого метода в выражении, то любая реализация, которая реализовала это, стала более продвинутой, потому что ближе к стандарту. Но стандарта нет. Комитета нет. Консенуса по языку нет. Остальные "реализации" существуют только для поддержки каких-то корнер кейсов. Есть только референсная реализация от майков. Кучка оплачиваемых разработчиков не захотела пилить эту фичу и как результат ее нигде нет.
113 3277649
>>77645
Хотя справедливости ради, разработчики тайпскрипта изначально говорили, что не планируют язык развивать независимо от жс. То есть тайпскрипт создан чтобы следовать стандарту жс. Они как бы временную продвинутую версию жс делают.
114 3277650
>>77645
обобщенные параметры метода*
115 3277652
>>77413
Охереный гайд,кинули примеры кода,а че,где,зачем,а похрен
116 3277654
>>77652
Юзай Socket.IO и не выделывайся.
17261120272990.mp42,8 Мб, mp4,
484x854, 0:19
117 3277669
Доброго дня, Js-овые небожители. Спешу поинтересоваться какой же на сей момент стек как для фронтендо-господина, так и для node-backend боярина?
118 3277670
>>77669
случайно прикрепилось, извините
119 3277691
>>77669
Next, Nest
120 3277693
>>77691
Мерзость
121 3277697
>>77669
Фронт: React + Vite если без SSR, Next либо Remix либо Astro если с SSR, Tailwind + shadcn либо Mantine для стилей, Zustand либо Mobx для глобал стейта (он не всегда нужен!), TanStack Query для сетевых запросов.

Бек: Nest либо Fastify, TypeORM либо Prisma для запросов в БД (drizzle либо kysely если хочется нового), Socket.io для вебсокетов, остальное примерно как в других языках (Реббит/Кафка/NATS, Редис, Кликхаус, Прометеус/ELK...).
122 3277700
>>77693
Почему?
123 3277703
>>77700
Лучше тогда ларавель поставить
124 3277704
>>77697

>Tailwind + shadcn


Почему местные додики так любят соевое говно из сриттера?

>он не всегда нужен


Всегда он нужен, не пизди. Разве что если ты тудулист хуяришь, тогда да - не нужен.
125 3277708
>>77669
Javascript, Node.js, ванильные без хреньворков и свистоперделок.
126 3277718
>>77708
Скажешь это на собесе, скорее подумают что ты очередной Кулибин, а не эксперт по жс и не перезвонят. Если бы ты свой фреймворк пиарил, то было бы больше похоже на экспертизу. Человек ничего не понимающий в коллективной разработке в лучшем случае какой-то полуэксперт недоучка.
127 3277721
>>77703
Не лучше.
128 3277723
>>77704

>Почему местные додики так любят соевое говно из сриттера?


Не знаю, спроси у них, но это актуальный выбор для стилизации, позволяет быстро и удобно писать стили. Лично у меня печёт с бойлерплейта в классах тейлвинда, поэтому что я пишу UI компоненты либо сам, либо использую Mantine, иногда headless, иногда с полными стилями.

>Всегда он нужен, не пизди. Разве что если ты тудулист хуяришь, тогда да - не нужен.


Нет, не всегда нужен, даже на огромном приложении бывает достаточно локал стейта + Tanstack Query. Точнее не то чтобы достаточно, это предпочтительно, потому что глобал стейт часто не только бесполезен, а ещё и вреден.
129 3277725
>>77721
Это здравое решение
130 3277728
>>77725
Выбрать ларавель вместо неста? Нет, это тупое решение.
131 3277729
>>77728
Чего бы это?
132 3277731
>>77729
пыходебил рвется, срочно все сюда
133 3277734
>>77729
Тебе тот же вопрос

>>77693

>Мерзость


Чего бы это?
134 3277737
>>77734
Как минимум из за архитектуры на основе экспресса
135 3277738
>>77737
Подробнее можно? Из тебя словно клешнями по крупицам нужно вытягивать информацию? Экспресс по твоему мнению слишком медленный, или в чём с ним проблема? И его можно сменить на фастифай
136 3277741
>>77723

>писать стили


Ты не пишешь стили, а используешь уже готовые решения. Пусть лучше сам сначала научится в флексы с гридами, а потом уже юзает готовое. Будет намного легче.

> даже на огромном приложении бывает достаточно локал стейта + Tanstack Query.


Тебе квери будет достаточно только если у тебя витрина, без логики на фронте. Чисто взял джсон => зарендерил => опционально оптимистичное обновление => запостил обратно. Олсо, роутер это тоже вполне себе стор.
137 3277743
>>77697
Простого реакта с гитом уже мало? Капец блин, кабаны уже совсем ахуели
138 3277764
>>77741

> Олсо, роутер это тоже вполне себе стор.


У тебя абсолютно скорапчены мозги реактом. Хто называется глобальная переменная. И адресная строка лежит в джаваскрипте в глобальной переменной.
139 3277766
>>77718
Да-да, вот раньше то без фреймворков ничего не делали, все сайты начали появлятся с изобретением среакта! У тебя в мозгу насрано, чел, не пиши здесь ничего, ты слишком туп. Если человек ищет работу, то он не спрашивает про стэк, он берет его из вакансий. Если человек спросил, значит он хочет сделать что-то сам, и лучше чем ванильных вариантов нет, даже если тебе что-то и понадобится (что маловероятно, сейчас ваниль покрывает все потребонсти), то ты выберешь не трендовое дерьмо, которое в тренде только из-за легасиговна, а что-то простое уровня jquery
и вкачусь.png528 Кб, 770x513
140 3277768
>>77766

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


Ага.
141 3277774
>>77768

>пик


Разве это не так работает?
142 3277779
>>77774
Может быть. По-моему надо еще уметь программировать.
143 3277783
>>77779
Знание стека уже подразумевает умение программировать.
144 3277788
>>77783
Почему тогда все называют глобальную переменную стором? Потому что учили стак а не программирование.
145 3277789
>>77788
Шизик, успокойся. Роутер это не глобальная переменная, иначе бы все подвязывались на history/navigation, вместо затягивания либы с роутером. Точно также все тянут мобикс, вместо использования чистого объекта.
146 3277791
>>77789
Пошел нахуй, долбоеб.
147 3277794
>>77766
Я начинал с жиквери. Тебя сейчас никто без фреймворков не пустит в компанию. Как ты без фреймворка предявишь умение писать код который все понимают. Тебе с намерением писать велосипеды на ванили устравиваться только к мелкому ИП у которого еще нет проекта.
148 3277797
>>77794

>код который все понимают


>тем временем среакт - useState, useSelector, dispatch(zalupa), useEffect(magic)


>код который все понимают



Чел, у тебя в голове насрано, пиздуй со своими проповедями на курсы которые тебя породили.
149 3277799
>>77797
1) Я реакт не использую так что мимо
2) Фреймворки содержат базу для создания поддерживаемого кода, какие-то паттерны. Сама посебе платформа, например нодежс, не содержит средств для создания поддерживемого кода. В ноде нету IoC контейнера например.
150 3277800
>>77799

>В ноде нету IoC контейнера например.


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

Middle+ JavaScript Developer
151 3277805
>>77800
Если это все по нормальному сделать, то у тебя все равно получится как минимум сервис локатор или что-то подобное. И ты все равно будешь решать задачу как написать тесты для этого. И создашь подобие фреймворка. Потому что когда ты делегируешь задачу другому, ты хочешь, чтобы он сделал это согласуясь с абстрактными правилами. Потому что ты хочешь чтобы его код не ломал твой, что уже написан или ты собираешься его писать паралельно с чело которому делегировал часть работы.
152 3277806
>>77799

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

>IoC


Типичный хренворкер, тащит мегабайты зависимостей, потому что ума не хватает написать класc вида

IoC {
get(name: TName): Instance<TName>;
register(name: TName): void;
}
153 3277809
>>77806
Магия понятна тем кто в фреймворке разобрался. Если проект самописный и большой, то значит в нем есть свой фреймворк и своя магия и тебе придется тратить время чтобы разобраться.

>IoC {


>get(name: TName): Instance<TName>;


>register(name: TName): void;


>}



Это сервис локатор. У него проблемы с тестированием. Опытный сенька не захочет у вас работать.
154 3277816
>>77809

>тестировать калькулятор



Ясно. То что притягиванием зависимости ты будешь тестировать чужой код, только не на этапе написания, а прям в проде, это нашему хренворкеру невдомек, он ведь только еще на бумажке все знает, в прод еще ничего не выкатывал.
155 3277817
>>77816
Зависимости зависимостям рознь. Я про нужность is-number ничего не утверждал. Я только сказал что
1) На собесах спрашивают хреньворки чтобы убедится что ты шаришь в некоторых понятиях совместной разработки
2) Нормальный фреймворк облегчает вкат в проект.
3) Трудоустройство на Nestjs более привлекательнее, чем на самомис на голой ноде. На самописе вместо того чтобы сесть и решать задачи, я должен буду бегать за местным "гуру", котрый не изучал фреймворки и поэтому в каждом отдельном случае написал, то что первое пришло ему в голову.
156 3277822
>>77741

>Тебе квери будет достаточно только если у тебя витрина, без логики на фронте. Чисто взял джсон => зарендерил => опционально оптимистичное обновление => запостил обратно. Олсо, роутер это тоже вполне себе стор.


Если не витрина, а большое приложение с логикой на фронте, то зачем обязательно нужен глобал стор? Что мешает хранить состояние фич внутри друг друга, локально?
157 3277823
>>77797

>тем временем среакт - useState, useSelector, dispatch(zalupa), useEffect(magic)


Если тебе всё это не понятно, то ты реально туповатый. useEffect вообще не имеет магии, useSelector и dispatch это вообще не реакт.

>>77806

>Типичный хренворкер, тащит мегабайты зависимостей, потому что ума не хватает написать класc вида


Речь про IoC зашла в контексте ноды, а там абсолютно похуй на мегабайты, код парсится всего один раз, в момент запуска бекенда.
158 3277826
>>77822

>Что мешает хранить состояние фич внутри друг друга, локально?


Если у тебя набор витрин, никак не связанных друг с другом - ничего.
159 3277828
>>77826
Они могут быть связанными друг с другом и при этом иметь только локальный стейт
160 3277829
>>77828

>связанными друг с другом


Связываться тоже через локальный стейт будут?
161 3277830
>>77829
Одна фича/модуль может читать стейт другой фичи, для этого не обязательно тащить какой-нибудь редакс в проект
162 3277832
>>77830

>может читать стейт другой фичи


Так через что она его прочитает? Через воздух? Тебе как минимум понадобится IOC, как максимум - прямой зацеп друг на друга.
163 3277834
>>77826
Что у тебя там за витрины такие, которым нужен глобал стор? Пример есть какой-то конкретный?
164 3277870
>>77823

>то ты реально туповатый



Но костыли в виде глобальных сторов почему то нужнв реактодаунам, а не мне. И да, открою хороший код тот, который понимает даже тупица, а не тот что способен разобрать только носитель тайных знаний, да и то с ошибками. "An idiot admires complexity, a genius admires simplicity"
165 3277908
>>77870

>"An idiot admires complexity, a genius admires simplicity"


"A java coder admires $300k/sec, a react/vue macaco admires ₽50k/month
166 3277914
>>77908

>macaco


Очередная либа для смузихлебов?
167 3277947
>>77669
На фронтенде как была золотая тройка из react, redux, material ui так и осталась, даже на новых проектах. Все аналоги в плане стейт менеджмента и стилизации так или иначе косят под вышеперечисленное. На бэке в последнее время больше актуален nestjs, typeorm поощущениям уходит в прошлое и хз что там сейчас с поддержкой, prisma набирает актуальность.
168 3277960
>>76931
На линкедине в рекомендованных тегах видел "портовый грузчик". Корявый машинный перевод, угадай что в оригинале.
169 3278010
>>77960
Докер конечно
170 3278011
>>77947
Начальник в твиттере про такую тройку прочитал?
171 3278013
>>77947
Как была золотая связка Ангуляр+rxjs, так она и осталась, остальное бананы для послекурсовых макак и любителей ебаться с легаси, а также занюхнуть коксика с яиц наркомана даньки абрамова
172 3278018
>>78013
Занюхнуть протухшего говнеца от Гугла оно конечно интереснее яиц даньки
173 3278021
Нихуя у вас тут альтернативы.. А сисек жирноки нет для нормисов?
174 3278060
>>78018

>проверенное временем решение от лучших программистов?


>нет, лучше покушать высер наркомана, потому что в твиттере написали, что это круто

175 3278067
>>77870
В реакте в последние годы не особо используют глобал сторы, так что оставь свои маняфантази при себе. А когда используют, то это не костыль. Jotai, например, вполне элегантный глобал стор.

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


Ты считаешь, что для понимания useState или useEffect нужны тайные знания? Ты действительно не очень умный. Любая реактомака легко понимает всё это.
176 3278076
>>77834
Да вообще без проблем. Дефолтный магазин с корзиной. Как корзину будешь хранить?
177 3278079
>>78076
Корзина хранится на бекенде в базе данных, а для работы с сетью у нас есть чудесный Tanstack Query. Хранить корзину на бекенде это бестпрактис, например Озон так делает и это охуенно. Нужен другой пример, в котором видна необходимость глобального хранилища.
178 3278080
>>78013
На ангуляре пишут 5% проектов, на вью ещё 5, остальное реакт
>>78060

>>проверенное временем решение от лучших программистов?


Реакт проверен временем, поэтому его используют на абсолютном большинстве проектов

>>нет, лучше покушать высер наркомана, потому что в твиттере написали, что это круто


В твиттере пишут что круто это солид, астро, свелт, trpc, ещё какая-нибудь залупа, но в итоге в рабочих проектах почти выбирают проверенный временем и ставший золотым стандартом реакт
179 3278082
>>78067

>useState или useEffect нужны тайные знания



https://stackblitz.com/edit/react-hooks-counter-example-13don5?file=index.js
Два эквивалентных по функционалу примера. Рассказывай, почему пик 1 не магический и на нем все прозрачно и понятно человеку знающему JS, а пик 2 наполнен магией и вообще непонятно как работает. Почему пик 1 требует импортов и понимание какого-то доп. синтаксиса под названием JSX, а пик два ничего кроме знаний JS не требует, но при этом пик 1 это "легко понимаю", а пик 2 "да это же неудобно!! никто не поймет!!!". Оправдывайся.

>Любая реактомака легко понимает



Именно поэтому для всего этого делают специальные гайды о том как не выстрелить себе в ногу. Верим, чел, верим!
180 3278091
>>78082
На пике 1 всё легко и понятно любой реактомакаке, которая прошла месяц курсов в киллбоксе, нет, которая прошла даже 1 день курсов про реакт. Про магию и непонятность кода с пика 2 я и не говорил. У тебя какие-то ебанутые крайности. Код с 2 пика простой, для него достаточно знать основы работы с DOM. Но удобнее сделать как на 1 пике. В принципе для любой фронтомакаки быстрее и проще будет достигнуть понимания JSX и реактохука useState, чем работы с DOM стандартным средствами. Хз про какие ты специальные гайды, обычно достаточно еслинт плагина для реакта, который есть в любом проекте.
181 3278103
>>78091

>для первого нужны курсы, второй очень простой


>но удобнее сделать как на певром



Логика уровень: реактомакака. Вопросов больше не имею.
182 3278105
Слишком жирно. Вторым пиком будет очень заебно сделать спа сложнее кнопки со счетчиком. Все таки реактом генерят не два элемента, а тысячи. Либо ты рубист с бекенд шаблонами, тогда брысь отседа.
183 3278106
>>78105
мимо
184 3278127
Что за дефолтный JS-форматтер стоит в VS Code? Eslint-овские инструкции ему нипочём.
185 3278128
>>78105
Да, крупных приложений которые без реакта живут ведь никогда не существовало! Фейсбук все время существовал, но потом столкнулся с НЕРЕШАЕМОЙ проблемой вид АДИН КАУНТЕР НАДА НА ДВУХ КАМПАНЕНТАХ ОТОБРАЗИТЬ, ПРИ ЭТОМ МЕНЯТЬСЯ ОН МОЖЕТ ИЗ РАЗНЫХ МЕСТ!!! и тогда им на помощь пришел наркоман супермен дэнчик и его реакт. Верим.
186 3278140
>>78128
Существовали другие фреймворки блакбон, кнокаут. Но в большинстве случаев страницы верстали на серверных шаблонах. Я сам пилил динамические станицы с твигом и жквери для админок и срмок, и динамические формы делал на симфони форм.
187 3278144
>>78082
Можно кстати развить мысль.
Задача: вам нужно добавить еще одну кнопку, которая будет отображать этот же каунтер и иметь возможность увеличивать его, но находится совершенно в другом месте страницы.
Что нужно реактодаунам для выполнения такой задачи? Правильно, им нужна еще одна зависимость, которая добавит им магический store, на поверку оказывающимся обычным глобальным god-object'ом который хранит всевозможные стейты, в том числе и стейт каунтера.
188 3278153
>>78144
Куда-то ты не в ту степь ушел.
1) Цимес реакта не в сторах, а во флуксе.
2) Стейты там хранятся емнип в замыканиях а не глобально. Поэтому тебе собственно надо setState делать а не напрямую обновлять переменную

не реактор
189 3278155
>>78153

>не реактор



А зачем ротешник открываешь? За порцией мочи пришел? Ок... расстегивает ширинку
190 3278158
>>78155
Объясняю что ты пургу несешь, додик с батхертом.
191 3278162
>>78158

>не реактор


>пукает что-то невнятное


>несут пургу все кроме него



Даже не смешно уже, срыгось оформи.
192 3278175
>>78103
Большое приложение будет тяжело поддерживать на голом js, вот в чём логика. Реакт/ангуляр/вью придумали не просто так.
image.png87 Кб, 609x222
193 3278176
Пару лет не пользовался вскодом.
Помню, что список открытых файлов (в левой панели) можно было сделать иерархическим. Не могу найти как. Помогите найти.
194 3278179
>>78144
useContext это так сложно...
195 3278280
>>78060
Высер наркомана - это redux. Реакт никакого отношения к нему не имеет.
196 3278352
так я не понял фреймворки и тайпскрипты нинужны?
а как срать?писать большие приложения???
197 3278358
>>78352
Берешь и пишешь. Кабану некуда спешить, может и подождать годика три..
198 3278361
>>78358
я и есть кабан брат
199 3278366
>>78361
Тогда жди когда напишут на ванильном жс/нодежс
200 3278372
>>78366
ну чувак же не просто так пишет мне было бы интереснее узнать его точку зрения подробнее
изображение.png13 Кб, 316x301
201 3278397
>>78176
Вот так?
202 3278407
>>78397
Не понял из твоей пикчи, как "так" - на ней просто дерево проекта.
А я говорю про то что вверху есть блок Open Editors (Explorer > ... > Open Editors). Если его включить, то в нем отображется список открытых файлов. И этот список можно было сделать не плоским, а древовидным. То есть если открыты a.txt, b.txt и c.txt, то:
- Folder A
---- a.txt
- Folder B
---- b.txt
- Folder C
---- c.txt
203 3278412
Какая либа есть,чтобы смотреть на то что происходит с сетью на ноде?
204 3278423
>>78176
>>78407
Вообще, чет я чем больше смотрю, тем больше не нахожу фичей, которые раньше были.

Вот это например - https://www.youtube.com/watch?v=ZJqAyoMivhU
Опять же, в Эксплорере можно было отфильтровать дерево. Не работает же это сейчас, получается?
205 3278426
>>78423
Да, есть Ctrl+Alt+F, но он не фильтрует, он только подсвечивает и то только то, что находится в области видимости (т.е. в раскрытых директориях), он не подсветит вхождения, если папка не раскрыта.
206 3278497
>>78412
node --inspect server.js
и сри консоль логами/дебаггерами.
Если нужна именно сеть - wireshark
207 3278573
Я правильно понимаю что если устроюсь на правах самозанятого то у меня не будет никакого пруфа моего стажа?
Это единственный способ работать без военника/приписного
208 3278672
>>78573

>без военника/приписного


Чмо должно страдать
209 3278676
>>78672
В трусиках стоял уже?
210 3278726
За что все так ненавидят Js и фронтендеров?
Или это как разговор с пастой - древнерусская традиция крыть хуями тех, кто пишет не на твоем любимом языке/не в любимой области?
211 3278729
>>78726
Потому что быть фронтом это тоже самое, что освоить математику за первый класс, а потом причислять себя к профессорам математики и пытаться вычказываться на соответствующие темы.
212 3278730
>>78726
Потому что сейчас 90% макак вебразработчики и типа все знают жс и фронтенд. Как они могут относится к челам, которые осилили только один язык и только половину профессиональных навыков?
213 3278733
>>78729
к фуллстекам уже нормально относятся или все равно хуями кроют?
Кем нужно быть, чтобы получить уважение в сообществе?
214 3278734
>>78733
Либо глыбой либо инфоцыганом
215 3278737
>>78726
Блядей корёжит от зависти. У обыкновенной фронтомаки получка такая же, как у чела, который пыжился в универе, учил базу, решал литкод, вот чел и завидует.
216 3278742
>>78726

>ненавидят Js


Потому что это сложный язык + большинство макак не умеют в спецификацию

>фронтендеров


Потому что думают, что они лутают те же деньги что и остальные просто за покрас кнопок. Обычно представление о фронтенде дальше покраса кнопок там не идет.
217 3278786
>>78742

>Потому что это сложный язык


Проорал. И в чем же он так сложен?

>Обычно представление о фронтенде дальше покраса кнопок там не идет



Даааа, ее же еще создать надо, целых 2 строки, ахуеть можно. Мамины блять программисты
218 3278794
>>78786

>И в чем же он так сложен?


Тем что большинству макак не хватат ума даже банально понять чему равен this в той или иной строке кода или как в нем идет неявное приведение типов. У залетных дурачков это называется "не очевидно работающий язык программирования"

>Даааа, ее же еще создать надо, целых 2 строки, ахуеть можно.


Как минимум во фронтенде мультипарадигмальный подход, много что основано на метапрограммировании и создании автоматической генерации кода (не только верстки). Одно это уже на голову выше однотипного ООП крудошлепинга, за пределами которого бэкомакаки зачастую даже не знают как мир устроен.
219 3278920
>>78786

>И в чем же он так сложен?


Многие тайп-мартышки банально не способны осилить приведение типов в js
220 3278962
>>78794

>не очевидно работающий язык программирования"


руби
221 3279068
>>78962
умер
222 3279069
>>79068
разве? Тред более менее живой, даже вакансии есть
223 3279221
Как сейчас дела обстоят вакансиями?
Запрос опыт 3+ позиция мидл vue
224 3279224
>>79069
это же мем
225 3279362
>>79221
Мёртвый фреймворк, 90% работы на реакте, остальное ангуляр, и полтора землекомпа используют вью.
226 3279440
>>79221
Vue хорош тем что можно стать vue+laravel фуллкеком, а потом вкатиться в php программисты. Там уже вакухи подирнее будут + работы больше
227 3279441
>>79440

>vue+laravel


И объедаться сладким легаси?
228 3279610
>>79440

>php


>вакухи подирнее будут


Пыхеры на дне вилки сейчас и дальше ситуации только хуже будет.
229 3279663
>>79221

>опыт 3+


>позиция мидл


Ты не очень умный? Крути до 6 лет и вкатывайся на синьку изи. Вопросы начиная с миддла все равно одинаковые и требования тоже.
230 3279689
>>79663
я понимаю говорить про 6 лет сеньер 20 лет назад когда индустрия была молодая и чел с таким опытом был в редкость но сейчас...
чем кстати отличается мидл от сеньера? если коротко
231 3279700
>>79689

>чем кстати отличается мидл от сеньера


Синьер напиздел про свой опыт.

>но сейчас


Что сейчас? Сейчас собственно нихуя не изменилось.
232 3279743
Нужно распаковать zlib на клиенте, чём пользоваться? В интернете нашёл только свежачок 10-летней давности и модуль для ноды.
233 3279749
>>79743
ладно, нашёл чето
234 3279768
>>79743

>В интернете нашёл только


Дальше первой ссылке в гугле смотреть пробовал? https://github.com/nodeca/pako - буквально второй результат выдачи
235 3280001
>>79224
Руби Шредингера
236 3280133
>>80001
у рубистов съели маму
237 3280284
что за адский ублюдок это писал...
238 3280297
>>80284
Этот тот дебик, который выше спорил о том, что фреймворки не нужны и лучше писать веб-приложения на чистом жс
239 3280470
>>80284
Ну формально это вариант оптимизации. Так пишут не дурачки, а люди, которым нужно прямо крохи скорости и отовсюду выцепить.
15533767175410.jpg34 Кб, 497x497
240 3280471
>>79221
Лол, я на такую вкатился с 0 опыта, напиздев с три короба. Планирую через год работы гапнуться на х2 до 300к+, накрутив еще больше.
241 3280489
>>80470
Теперь ты расскажешь где ты увидел оптимизацию..
242 3280562
>>78737
Пиздеж, фронты получают меньше в среднем.
243 3280565
>>80284
Индус за строчки кода зп получал.
244 3280579
Js-боярам привет. Какие сейчас лучшие книги по Node js backend?
245 3280589
>>80284
не вижу никаких проблем
все читается легко, все понятно, исправить легко, добавить новое легко
в чем проблема??? ну магические цифры можно было бы в константы загнать ну так это ан 5 минут делов
изображение.png52 Кб, 1019x501
246 3280591
Че за нах? Это новая вкладка, открытая 5 секунд назад лиса
247 3280603
Анонимусы, кто какие алгоритмы использует в работе и сколько сможете написать по памяти? Готовлюсь к собесу, поэтому хочу выучить самые часто встречаемые алгосы.
248 3280613
>>80603
Обычно на работе красят кнопки и никакие алгоритмы не используют
249 3280615
>>80591
И что тебя удивляет?
250 3280642
>>80562
Пиздёж, получают примерно так же.
251 3280645
>>80579
Node.js Design Patterns (Third Edition)
252 3280648
>>80615
Хуле там редуксы забыли
253 3280649
>>80562
Больше фронтов получают гоферы и джависты в бигтехах. Остальные получают плюс минус одинаково
254 3280722
>>80649
В любой галере где я греб фронт получал меньше сервераста.
255 3280724
>>80642
Меньше и примерно одинаково это одно и то же.
256 3280822
>>80648
Прописали себя в глобальное пространство, возможно это какой-то экстеншн для отладки.
257 3280827
>>80722

>галере


Ключевое слово
258 3281146
>>80827
Ты не знал что такое галера и пошел гуглить? Любая айтишная контора это галера.
image.png101 Кб, 1304x658
259 3281198
Дмитрий отправляется на завод.

Полгода поиска, полтора обучения. Нахуя я на это подписался...
260 3281237
>>81146
под галерами обычно понимают аутсорсинг и аутстафинг

мимо мелкобукв
261 3281264
>>81198
страшна судьба вкатунов
262 3281304
позорно ли что я стал миддлом (фронт) только к 20 лет проработав с 18 на озон и сбермаркет(купер)? коллега с бауманки уже сеньор
263 3281308
>>81304
и озон и купер бывшие места работы - сейчас батрачу на вк
264 3281319
>>81304
https://youtu.be/HMJ8SRVGLqk?t=2003
мне вот это показали и еще хуже загнали - там сойбой рассказывает про своего приятеля который дорос до сеньор фронтендера за 11 мес
265 3281339
>>80724
Сеньор бекенд макака - 300-350к, сеньор фронтенд макака - 300-350к. Что там у мидлов и джунов не интересно, может там фронтомакаки и меньше среднего получают.
266 3281342
>>81304
Да, это полный провал, я хз как ты мог настолько опозориться. В 20 лет ты уже должен был с ветерком влететь в высший менеджмент на софтах.
267 3281368
>>81342
БЛЯЯЯЯЯДЬЬЬЬ
image.png555 Кб, 750x1000
268 3281445
269 3281447
Ксс не проще баз данных. В остальном на сервере такой же код как на фронте. На всякие сложные продвинутые штуки на беке которые вы возьметесь перечислять найдутся такие же сложные штуки на фронте.
270 3281456
>>81237
Ты че пес хочешь сказать чтоле что я не гребец? Вот именно поэтому твоё определение это кал.
271 3281465
>>81445
Не понимаю зачем ты заливаешься копиумом?
272 3281479
>>81456
Твоё опрелеление это тупая отсебятина. Всегда галерами называли аутсорс и аутстафф.
273 3281491
>>81479
Называть себя гребцом а своего тимлида погонщиком это весело поэтому так будут делать все. А свою анальную духоту засунь себе в жопу, душнила анальник.
274 3281543
>>81447
За ошибку на фронте у тебя отберут погремушку. За ошибку на бэке меня выебут и высушат. Я ответственный инженер. Ты сладенький пупсик рисователь компонентов
275 3281544
>>81543

>За ошибку на бэке меня выебут и высушат.


Например?
276 3281546
>>81544
Ну подумай сам
277 3281547
>>81543
Ну например ты сломал самое важное биллинг в системе и он там какое-то время не работал. И че они тебе сделают?
278 3281549
>>81546
Подумал.
279 3281550
>>81549
Не пошла тема?
280 3281551
281 3281552
>>81551
Ну че сделают, я не знаю, поругают, заставят оправдываться перед заказчиком, уволят, поставят на бабки, посадят, что ещё можно придумать? Вывезут в лес
282 3281553
>>81552
Я могу нафантазировать что всё тоже самое со мной сделают за неправильный цвет кнопки.
283 3281554
>>81553
Да не. Ну цвет кнопки это цвет кнопки. А там данные. Бизнес это его данные и как он ими вертит. А их представление это ну так
284 3281556
>>81554

>представление в браузере


Уточнил для наглядности
285 3281558
>>81554
Не срыгивай с темы. Нет у тебя никакой отвественности и никто тебе ничего за твои ошибки не сделает.
286 3281559
>>81558
Ну и хорошо. На самом деле веб-разработка это полная хуйня. Кто-то ведь делает системы для АЭС и самолётов. Пиздец наверное
287 3281563
>>81559
ноукод на Simatic WinCC - не сложнее крудов
288 3281584
>>81559
>>81554
>>81552
Фронтендер поломал говнокодом форму, через которую клиенты оформляют авто в кредит или ипотеку -> компания упускает ощутимую прибыль -> фронтовика жёстко ебут
289 3281586
>>81543

> За ошибку на бэке меня выебут и высушат.


Ну ебать ты лох получается. Зепка то у джонсоно-перекладчиков и формошлепов одна и таже, а ответственности больше у первых.
290 3281588
>>81559

>Кто-то ведь делает системы для АЭС и самолётов. Пиздец наверное


Да там говнокода еще больше, потому что зарплаты меньше.
291 3281589
>>81584

>меня выебут и высушат.


Для тебя штраф 60к рубчиков за слив полной базы данных с ПД клиентов и исходников это "выебут и высушат"?
292 3281592
Сап, аноны. Вопрос по семантике HTML. Есть две картинки, которые по сути своей отличается. Причём вторая картинка с w3school, но при этом же в самой статье header это не заголовок страницы, и footer это не подвал страницы. Header это шапка условного поста(заголовок), а footer подвал поста(автор, время и т.д.). Как вообще правильно пользоваться семантикой?Как правильно размечать страницу, и есть ли вообще в этом какой то смысл? В большинстве своём все первые сайты которые выдаёт гугл, это сайты где разметка строится на одних только div.
293 3281594
>>81592

>Как правильно размечать страницу, и есть ли вообще в этом какой то смысл?


Гугли html5 outline algorithm. В целом, ведутся на этот счёт дебаты. Преимущество семантических тегов в том, что читабельность кода лучше, гуглу проще будет парсить, лучше аццесибилити. Сеошники проводили тесты, вроде как семантические теги практически не влияют на позицию в гугле. Но в любом случае, лучше чтобы они были чем не были.
294 3281599
Что вы там можете сломать, бэкодебилы? За вас уже все что только можно придумали. Для БД есть миграции, для кода придумали ооп, содиды, паттерны, ddd, клин коды. Многое просто гуглится. В некоторых фреймворках даже есть автогенерация крудов, лишь бы макакич не включал голову. Для особо одаренных даже tdd расфорсили, чтоб даже при желании вы снбе в ногу выстрелить не могли. Обосраться можно разве что с архитектурой, но ей занимаются сеньеры+. А вы в массе своей макаки тупые, шлепаете одну и ту же хуиту по одним и тем же паттернам, по одним и тем же лекалам. Что вы там ломаете?
295 3281601
>>81599

>Что вы там ломаете?


Чел просто в очередной раз не смог пройти двухнедельное ревью реквеста с двумя строками кода в сервис сторонней команды, получил за это пиздюлей от тимлида и пришел самоутвердится.
296 3281604
По-моему опыту, фронт сложнее бэка, и отчасти потому, что вынужден плясать вокруг него. Ой, мы тут на бэке валидацию кривовато сделали, давайте вы на фронте будете ошибки вместо нас генерировать. Ой мы тут решили держать бэк простым и чистым, поэтому вот вам сырые данные от регистратора, вы уж сами по списку полей поймите, это форма от NameSilo, GoDaddy или NameCheap. Кстати, отдавайте-ка нам поля сразу в виде, пригодном для отправки напрямую регистратору.
И весь фронт вот такой переколбашенный костылями, которые бы не понадобились, если бы не проёбы на бэке.
297 3281606
>>81604
Ну твой аргумент на самом деле не аргумент. Я сейчас работаю в вместе, где бэкеры будут плясать вокруг фронтов, потому что фронтов банально в 3 раза больше (котлин+свифт+жс). Так что они роняя кал приносят нам, фронтобогам, свою криво слепленную спеку, что бы над ними ржали и заставляли переделывать.
17269553632472.mp42,2 Мб, mp4,
576x1024, 0:13
298 3281631
>>81198

>Дмитрий отправляется на завод


Всегда есть вариант значительно выгоднее
image.png94 Кб, 1489x784
299 3281948
Вебпак все еще база которую надо знать?
Ебусь уже второй день с настройкой и чтением sass / css modules / и прочих лоадерах с минимизациями.
Всякие vite и прочие новоизобретения посвященные бандлам, они ведь сдохнуть как и модный-вайбовый сноупак когда-то? А то меня гложать сомнения, ибо в гуглах вижу советы "переходи уже на another_hueta_name вместо вебпака".
300 3281951
Закончил на днях 2 курса от rs school по жсу + реакт. Аноны, подскажите, где теперь искать первую работу джуном? Хотелось бы что-то удаленное, территориально в Украине нахожусь
301 3281953
>>81948

>Вебпак все еще база которую надо знать?


старые проекты 99% юзают вебпак, так что придется знать, хотя бы на уровне отличия лоадера от плагина. Но глубоко вникать в него я бы не стал.
302 3281963
>>81951

>Закончил на днях 2 курса


>где теперь искать первую работу джуном?


Ну для начала еще полгода-год поучи рякт и жс, поделай свои проекты. Потом сможешь вкатится на стажку с ЗП МРОТ.
image.png146 Кб, 1390x557
303 3281973
>>81951
Ебать у тебя хард дификулти по жизни выпал. Но тем не менее я искренне желаю чтоб у тебя все получилось.

>>81953
Принято. Ну недельку я наверно попердолюсь, чтоб понимать как связочка из react - typescript - sass - css modules бандлится.
На оффсайте рекомендуют не мелочиться, и сразу ебошить SSR фрейморк нахуй, от чего я в осадок немножк выпал.
304 3281975
>>81973
Я в курсе про Next на нём и были задания после ознакомления с реактом
305 3281989
>>81975
Ну вот некст как раз под капотом юзает вебпук. Так что делай выводы.
306 3282054
>>81948
Да, остальные бандлеры юзают только в твиттере
307 3282058
можно в гитхабе создать папку с репозиториями по темам, языкам?
типа в одной папки будут: JS репозитории, в другой TS ну и т.д.
а то дохуя проектов, примеров, шаблонов накопилось, надо как-то отсортировать
308 3282096
>>82058
Так просто же делаешь репозиторий JavaScript и в него закидываешь проекте по js, не?
309 3282172
>>82058
Разбить на много проектов, сделать монорепозиторий, разбить на сабмодули
310 3282189
>>82058
Гит репозиторий это просто папка. Никто не запрещает делать вложенные
311 3282329
>>82096
>>82172
>>82189
понятно, спасибо
пусть ваши промисы всегда будут фулфил
312 3282344
Как же меня сука заебала ВЕРСТКА!
Ебаные дизайнеры нахуй - понакидывали ХУЙНЮ - да так, что все картинки не обрезаны нихуя (наводишь - а оно на пол экрана закрывает) - сууука и нихуя не получается.
ЕЩЕ НАКИДАЛА ГРАДИЕНТОВ БЛЯТЬ

А респонсив сука....я просто не могу нахуй
313 3282357
>>82344
Скажи спасибо что ишак сдох IE.
А то под него верстка была бы обязательной в требованиях, а у мелксофта был свой особый взгляд на html css, или изменение маленького описания DTD просто могло поменять работу правил.
Тогда кстати десигнер десигнил не в фигме, а в фотошопе, и надо было всю йобу графена впихнуть например в IE6.
314 3282362
>>81592

> Сап, аноны. Вопрос по семантике HTML. Есть две картинки, которые по сути своей отличается.


Обе пикчи кал. Семантическая разметка не зависит от визуального расположения элементов

> в самой статье header это не заголовок страницы, и footer это не подвал страницы. Header это шапка условного поста(заголовок), а footer подвал поста(автор, время и т.д.).


В целом такое допустимо. Надо смотреть на контекст

> Как вообще правильно пользоваться семантикой?Как правильно размечать страницу, и есть ли вообще в этом какой то смысл? В большинстве своём все первые сайты которые выдаёт гугл, это сайты где разметка строится на одних только div.


1. Видишь какой-то блок
2. Размышляешь над его смыслом на данной странице
3. Идешь на https://html.spec.whatwg.org/ и смотришь, какой тег под данный блок подходит лучше всего
В целом достаточно изучить подробно спеку, можно еще глянуть стримы Мурыча по семантике. Этого хватит, чтобы начать более-менее норм размечать документ
315 3282379
>>81948

>Всякие vite и прочие новоизобретения посвященные бандлам, они ведь сдохнуть как и модный-вайбовый сноупак когда-то?


Нет, vite это сейчас золотой стандарт для CSR приложения, и это уже 3-4 года так. Сноупак никогда и не был модным, в отличие от rollup или parcel.
316 3282386
>>81973
При разработке на нексте не обязательно юзать SSR

>>81989
Уже можно сменить его на турбо
317 3282410
>>82386
А зачем разрабатыать на нексте без сср?
318 3282421
>>82410
Потому что удобно. А какие альтернативы? Ну можно вит взять, или астро. Принципиальной разницы не видно.
319 3282468
>>82421
у некста есть оверхед
320 3282471
>>82468
Какой?
321 3282483
322 3282488
пришел из компилируемого языка, такой вопрос
есть проект на реакт, есть папка компоненты, там функции (все как обычно)
как я понимаю программа стартует с index.js и этот файл(код) подтягивает/вызывает другие функции и прочее.
почему если я (в каком нибудь далеком от корня проекта - файле.js напишу функцию и там же вызову ее , то она отработает?

Получается все файлы js собираются в один большой файл и он отрабатывает?
тогда в каком порядке они будут идти
323 3282515
>>82488
Потому что этот файл где-то импортирован.
Собираются не все файлы, а те, которые импортированы хоть раз.
324 3282516
>>82488

>в каком порядке


В порядке импорта, каждый файл импортируется один раз, повторный импорт ничего не делает
325 3282520
>>82488

>компилируемого языка


И забудь это бессмысленное словосочетание, к языку это отношения не имеет, и к описанным свойствам импорта файлов - тем более
326 3282530
>>82520

>к языку это отношения не имеет,


в компилируемых языках (С/С++) сборка осуществляется по другому
поэтому и возник такой вопрос
327 3282531
>>82530
Хуйню несешь. Что «по-другому»?
И еще раз - существуют интерпретаторы С. Так что ты опять повторяешь хуйню про компилируемость языка
328 3282558
есть какая-то разница между
canvas.width = "200"
и
canvas.setAttribute("width", "200")
?
329 3282568
>>82558
Ты можешь через точку обратиться к существующему полю, но если его нет, то получишь ошибку. Через setAttribute ты можешь задать новое. Если у твоего объекта такое поле есть, то варианта будут работать
330 3282569
>>82357
Не было у майкрософта никакого своего видения. ИЕ был просто очень старый и очень дефолтный. Он был везде потому что была очень популярна ос windows XP и он там по умолчанию.
331 3282570
>>82568
Оба, офк
332 3282572
>>82569
У микрософта было дохуя своего видения, от activeX и dhtml, до XMLHttpRequest, пока у позорного говна Netscape ничего не было. По сути современный веб переизобретает заново то, что в ИЕ было в 1996 году
333 3282573
>>82569
Ну и соответственно виста кал, до семёрки все сидели на ХР. Все это время от ХР до семёрки это время жизни осла.
334 3282578
>>82572
Флешовые мультики и интерфейсы тоже утерянные технологии древних.
335 3282579
>>82572
Чел для Netscape изобрели жс, а потом майкрософт попытался украсть платформу. Если бы майки победили то ты бы сейчас писал на VBS а не JS, или в лучшем случае на JScript (отгадай почему эта хуйня назвается JScript а не JavaScript)
336 3282585
>>82579
Мозила выиграла чисто технологически. Потому что майки изначально пошли по неправильному пути из-за бабла. Они ля захвата рынка сделали глубокую интеграцию JScript с виндой. А мозиловцы первые сделали сандбокс для скриптов
337 3282592
>>82585
А потом хром победил фирефокс. Но я помню старый гугл где была страничка для скачивания опенсорсного софта. Среди софта был браузер фирефокс. У гугла еще хрома не было. И гугл на старничке для скачивания писал, что компания Гугл не поощряет софт который что-то делает без ведома пользователей, поэтому предлагает firefox
338 3282619
>>82579
жс в нетскейпе нихуя не умел, пока в микрософте не придумали XMLHttpRequest, если бы не микрософт, ты бы сейчас улицы подметал, дурачок.
339 3282626
>>82619
Я бы делал сайты на симфони и жиквери без всяких ненужных аяксов
340 3282654
>>82569
Было свое. Даже тогда на хабре хабрахабр (как он еще тогда назывался) и других ресурсах, выходили статьи переводы материалов и статей мелкософта. Они именно что часто по своему воспринимали html css, там были вещи non-standard потому что у них в планах было пропихивать в индустрию и своего ишака и свои стандарты. Но это все сдулось.
341 3282668
>>82654
Школьник с выеденным гуглопропагандой мозгом, "стандарты" придумали ПОСЛЕ того, как придумали фичи в ИЕ.
342 3282674
>>82585
Зато потом Мозила выстрелила себе в ногу новым движком, убив массу полезных плагинов @
Скопировала дизайн хромонога вместо своего старого удобного @
Выгнали Брендана Эйха из-за гомогевв @
Вот теперь заебись

yoba face.jpeg
343 3282676
>>82668
Школьник твой батя, собака..
344 3282686
>>82668
У HTML были стандарты. Более того надо было следить за указанной версией в шапке, ибо это оказывало влияние на верстку.
Самый ранний кажись RFC 1866 https://datatracker.ietf.org/doc/html/rfc1866 1995 года Hypertext Markup Language - 2.0
345 3282734
>>82676
Причина тряски, гуглодаун?
346 3282746
>>82686
Еще раз: стандарты интернета - это не какие-то священные скрижали, присланные сверху, по которым стали создавать браузеры. Стандарты всегда принимаются после того, как уже существуют несколько конкурирующих решений и они совместно хотят прийти к консенсусу.
Очевидно, что микрософт имел больше возможностей и ресурсов и его браузер был гораздо более развитее, чем какой-то там нетскейп, разрабатываемый тремя калеками. И микрософт одной ногой мог поддерживать стандарт html 2.0, другой разрабатывать ActiveX, третьей - разрабатывать XmlHttpRequest, и так далее, все это не противоречило ничему.
А вот догоняющим чмонькам ничего не оставалось, кроме как плакать, что клятый микрософт угнетает меньшинства, "не соблюдая стандарты", что есть абсурд, так как эти стандарты самим микрософтом и разрабатывались, с минорными правками чмонек.
Ну а гугл довел это до полного абсурда: когда он возглавил гонку, то он начал клепать "стандарты" как пирожки, и обвинять остальных в том, что они недостаточно быстро все высранные гуглом "стандарты" реализуют и "тормозят веб".
347 3282751
>>82746
Ты прямо написал что стандарты были приняты после ишака, потому что так походу действительно был уверен. Я тебе скинул доку, а ты вместо того что пойти ознакомится с историей просто стену бугурта пишешь. Ты бы не называл итт анонов даунами, а сходил бы для начала к зеркалу.
348 3282754
>>82751
ИЕ был до 1995 года и html 2.0, гуглодаун
349 3282762
>>82754
Ну давай в вики посмотрим
- Internet Explorer Первый выпуск 24 августа 1995
- HTML 2.0 — опубликован IETF как RFC 1866 в статусе Proposed Standard 24 ноября 1995 года
Разница в 2 месяца почти. Ты хочешь сказать что самая первая версия ие имела фичи, на основании которых и придумали стандарты через пару месяцев?
Но как тогда быть с тем, то HTML это расширение SGML у которого стандарт 1986 г.
350 3282763
>>82754
https://en.wikipedia.org/wiki/Internet_Explorer

>Starting in 1995, it was first released as part of the add-on package Plus! for Windows 95 that year.

351 3282765
>>82674
Бля, помню этот охуенный дизайн. Окончательно пересел на хромога тогда. Пара знакомых так и ебались с перекраской лисы под старый дизайн какое-то время. Открыл браузер и сидел проверял "а не хром ли я запустил случайно?
352 3282768
>>82762

>имела фичи, на основании которых и придумали стандарты


Еще раз: фичи это первичное. "Стандарты" - попытка их описать после. Это касается не только HTML, но и любых других областей.

> HTML это расширение SGML


Это словоблудие стандартоманек. Изначально HTML - это просто от балды взятые теги в угловых скобках, потом уже под это начали подводить какую-то базу. Причем сначала пытались выдать html за sgml, типа похоже. Потом за xml. Потом от идеи считать его xml-ом - опять отказались. Чего только ни придумывали.
353 3282769
>>82763
А потом догоняющие чмоньки начали реветь и придумывать "стандарты" из головы, да
354 3282777
>>82769
https://en.wikipedia.org/wiki/HTML

>In 1980, physicist Tim Berners-Lee, a contractor at CERN, proposed and prototyped ENQUIRE, a system for CERN researchers to use and share documents.


>The first publicly available description of HTML was a document called "HTML Tags",[5] first mentioned on the Internet by Tim Berners-Lee in late 1991.


HTML придумали физики а не майкрософт
355 3282779
>>82768
В смысле от балды? Его же Тим Бернерс-Ли придумал для обмена документацией и отхода от сложности SGML, причем начал опять таки в 1986г.
356 3282781
>>82779

>отхода от сложности


То есть он не осилил никакой SGML и от балды взял несколько тегов в угловых скобках, типа "и так норм )))" О чем и разговор.
357 3282784
>>82777
"Физики" придумали неюзабельную хуиту, которая никогда бы за пределы их задроченных кабинетов бы не вышла, если бы не микрософт и другие коммерческие компании. Но ты можешь дрочить на ламповых занюханных чмошных физиков, конечно, и рассказывать, что вот тогда-то интернет был торт, а потом пришло быдло и все испортило.
358 3282787
>>82421

>удобно


Ты ебанулся? Самопальный конфиг для вебпака будет удобнее, чем разработка на некстовом.
359 3282791
>>82787
некст потому и взлетел, что для его использования не нужно дрочить самопальный конфиг
18679854475.jpg66 Кб, 750x1000
360 3282794
физики и ученые SOSNYLEI
@
маркетологи и инфоцыгане PROFIT
361 3283020
>>82483
Так уже сказали же что SSR в нём не обязательно использовать
362 3283026
>>82787
Чем самопальный удобнее? Тебе удобно ковыряться с настройкой вебпака чтобы потом иметь меньше фич, чем есть в дефолтном нексте? И добавлять плагины в конфиг некста очень легко, так что я хз до чего ты доебался.
363 3283072
Если у меня гугл отлично индексирует сайт, а яндекс еле выдает то, что нужно - это проблема со стороны seo или яндексу нужен особый подход?
364 3283165
>>83072
не знаю. вероятно проблема со стороны сео, но может быть и такое что яндексу нужен особый подход
365 3283334
>>76884 (OP)

Какие же вы бесполезные, фронтендеры.

Пока пердолишься в микросервисную архитектуру, меш сетей, nginx, helm, kong, пострес и обычный бэк: у вас проблема как кнопочку покрасить, тьфу блять.
366 3283364
>>83334
Все баззворды собрал, думаешь на собеседовании очаровать кого-то и тебе поверят?
367 3283372
>>83364

Не все, но откуда же такому дауну как ты знать про кубер, ингрес, грейлог, графану. Максимум, ты про сентри что-то слышал)))
368 3283395
>>83372
Точно, ладно. Мы вам перезвоним
369 3283413
>>83334
Ваше мнение очень важно для нас. Спасибо за ваш комментарий, пожалуйста оставайтесь на связи.
370 3283593
>>83334
>>83372
Ты же простая линейная девопс-мартышка, обслуга, слесарь бекенд-калопроводов, и ты этим пытаешься выделываться?
371 3283618
>>83334
>>83372

>кубер, ингрес, графану


Пойдёт

>грейлог


Говно, есть loki

>микросервисную архитектуру, меш сетей, nginx, helm, пострес


Норм

>kong


Пораша говна для даунов не сумевших в NGINX

>сентри


Хуета для обоссаных аутистов. Вместо того, чтобы просто отправить текст ошибки на сервер и там его обработать нормальными инструментами, а позже просматреть при помощи Loki и Grafana - ты ставишь какую-то убогую хуету, с каким-то уёбищными графиками

А теперь оправдывайся, почему ты не осилил программирование и пошёл макакить yaml конфиги? У вас в девопсинге даже инструментов нормальных не завезли. Вы литерали руками пишете в yaml/HCL/env конфиги, там, где нормальный программист с ебанул бы цикл, прошёлся бы по хешмапе, и вообще генерацию конфгурации на своём любимом языке вынес бы в отдельный модуль

Ты можешь начинающих React разработчиков пытаться ввести в заблуждение, но меня не наебёшь. Мимо СТО
372 3283640
>>83618

>А теперь оправдывайся, почему ты не осилил программирование и пошёл макакить yaml конфиги?



Щас тебе за щеку насую, СТО ты мамкин. Я бэкендер и с этой парашей работаю параллельно с бизнес задачами, девопс твой конфиг докера пердолить не будет, ci-cd в проекте не настроит, максимум шаблон даст, да даже логи для тупых фронтов не посмотрит.

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

Как же у реактомакак бомбануло со своей никчемности, я в ахуе просто.
373 3283715
>>83640

>не знаю как ребутнуть такой сервак


Ну у у мумумумумум командой reboot?
374 3283719
>>83334
Всю перечисленную тобой хуйню уже чат гпт прекрасно делает. В то время как даже в несложную верстку он до сих пор не способен.
375 3283725
>>83640

>зайти через ssh на сервак


Трогаешь себя там, когда это делаешь?
То есть делать ты ничего не умеешь, понятно
376 3283737
>>83715
ПУК-СРЕНЬК, в кубере есть liveness/readiness пробы и пода должна ребутаться автоматически после стопа. Про различие проб между собой, про то что их настраиваем, мы бэки, и только мы, можем это делать, я рассказывать тебе не буду)))

>>83725
Ты хоть знаешь какой командой и как генерируются ключи чтобы пустило по ssh на тачку?)))
377 3283739
>>83737
Ну ssh-keygen. Чё там знать-то блять но я бэк
378 3283755
Я не умею верстать. Я даже часть концепций css не знаю и не могу понять. Если я изучу bootstrap, то смогу верстать страницы? Если что, то верстальщиком работать не собираюсь, просто для фуллкек вакансий хочу обучиться.
Второй вопрос. Если bootstrap мне может помочь, то как к нему подступиться? Я сколько раз не гуглил, какие-то говно уроки только по нему. Думаю читать документацию, но поможет ли?
379 3283774
>>83755

>css не знаю и не могу понять


>не могу понять



Ну тебе противопоказано программирование, если ты даже буквальный текст понять не может.
380 3283775
>>83739
Красавчик, раз знаешь)

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

И сделать touch, куда ж без него.
381 3283778
>>83774
Ну, я, например, не понимаю что такое каскадность.
Хотя пытался разбираться в этом, когда еще был зеленым.
А ты уже крест ставишь.
382 3283779
>>83755

>css


>bootstrapon


>верстать страницы


Блять

Сейчас дажи девочки за 110к рабсов "верстают" компоненты на React, использую MUI. Какой, нахуй, CSS в 2к24? Свойства задавай в виде объекта через sx={{}} в компоненте. А если нет, в крайнем случае ебани sassi hui

Вёрстки как таковой не существует уже лет пять. Дегродов, которые HTML до сих пор выдают при помощи PHP а потом сверху мажут JS считать не будем - это не люди
383 3283783
>>83779
Не знаю что там у реакта, но у меня есть опыт написания примитивного компонента на вуе.
Там же все равно верстку нужно делать в секции <template>.
384 3283785
Зацените вкат в фронтенд разработку.
- Сначала просмотрю курс от МФТИ по компьютерным сетям + по алгосам от того же вуза.
- Потом кантор.
- дока по реакту.
Дальше пока не знаю
385 3283807
>>83779

>Какой, нахуй, CSS в 2к24?


Подавился смузи...
386 3283840
>>83785
Первый пункт не нужен. Второй - кал в качестве учебника.
image.png57 Кб, 768x714
387 3283848
А как учиться?
Что я из этого курса должен вынести?
Я ж пройду и всё забуду просто
388 3283858
>>83778
Т. е. ты не способен понять, почему при

x = 10;
x = 12;

у тебя в результате x == 12?
389 3283864
>>83848
Сделай потом что-то своё с изучаемыми технологиями, вспомнишь что не запомнил.
390 3283881
>>83848
Конспектируй каждую главу. После прочтения и конспекта пытайся пересказать своими словами. Уделяй практике как минимум час после прочтения каждой главы.
391 3283941
>>83618
Не понял почему ты до sentry доебался, там интеграция с prometheus и grafana есть
1727539104713.webp14 Кб, 270x380
392 3283964
>>83779

>MUI


>2024


Пиздец с кем я сижу в одном треде
393 3283994
>>83964
А что с мюи не так?
мимо собрался доучивать стек
394 3283998
>>83840

> Второй - кал в качестве учебника.


Ты че, бля, ты че... Я по нем программировать учился.
395 3284006
>>83994
Mantine есть, radix, shadcn в конце то концов
396 3284015
>>84006
А это таки модно на сегодня? Ну, чтобы учить наверняка, чтобы на работу точно приняли!
Я просто выпал из вката в ойти на несколько лет, без понятия, какие сейчас тренды.
Раньше мюи все советовали, но он мне не нравится потому что pay to use никому не нравится.
Снимок экрана от 2024-09-28 20-03-26.png132 Кб, 675x496
397 3284027
398 3284032
>>84027
Mantine на голову лучше всего перечисленного
399 3284139
Нест жс запущен в кубере. Сурсмапы в контенере на месте в папке dist с js файлами. Сами исходними приложения в контенер не сую
В launch.json для vscode написал
"localRoot": "${workspaceFolder}",
"remoteRoot": "/app"

Почему-то дебагер ищет сурсмапы локально, а не использует те, что в контейнере.
Соответственно работатет, если я локально создам сурсмапы с помощью nest build, а без локальных сурсмапов ругается что не может окрыть файл.

Это нормально? Чтобы локально не искало сурсмапы, надо обязательно исходники запихать в контейнер?
400 3284156
>>84139
Пусть девопс-макака копошится с кубером
401 3284171
>>84139
Сорс мапы указывают путь к файлу сорсов и не содержат самого исходного кода, в тсконфиге, например, для того чтобы включить сам сорс код нужно включать флаг inlineSources при компиляции.
402 3284178
>>83994
тяжело кастомизировать - вон radix ваще голый а над шедом у тебя сто процентный контроль
403 3284179
>>84178
и шед вроде на радиксе и тейлвинде запилен
404 3284196
>>84178
Mantine тоже позволяет в голом режиме использовать его
405 3284220
>>83941
Я не вижу причины его существования. Тебе чего от логов надо, читать их, делать выборку и поиск по ним, визуализацию, например, как часто те или иные события возникают и дальше их обрабатывать, например, кидать алерты. Какие лучшие инструменты для этого, Loki и его аналоги и Grafana / Power BI (если ты обезьяна). Является ли sentry лучшим в этих видах? Нет. Так зачем его брать? Может, он много полезной работы за тебя делает? Нет. Так как утилита, собирающая логи и выдающая логи пишутся за день - подними express() принимай текст с клиента, логируй в текстовый файл при помощу Winston или его аналогов, которые умеют в ротацию логов. Потом это всё Loki скорми. На клиенте глобальный хендлер ебани - это умеет любой язык, и кусочек кода напиши, который будет в очередь сохранять ошибки со стектрейсом и пытаться их отправить на сервер. Всё, то есть вместо того, чтобы сделать за день и получить свободу в выборе лучших инструментов, ты завязываешься на нелучшее говно, так ещё и за это деньги будешь платить, так как быстро в лимиты бесплатной версии упрёшься. А потом ещё захочешь странного, и твой срунти не предоставит этого, и будешь долбить поддержку, форумы или пердолиться с исходниками, плюясь

>интеграция с prometheus и grafana


Интеграция говна. Мне надо норм инструментами по логам ходить, а не просто видеть общее количество ошибок
406 3284223
>>84178
>>83994

>shadcn


Жертва бутстрапа, плез. Пикрил приложен. Я для кого, тупая ты макака, объяснял выше, что CSS сдох, и задавать стили в текстовом виде - это параша говна, которая умерла лет 5 назад. Сегодня стиль элемента - это объект на языке, который ты передаёшь в компонент, а не текст, который ты где-то там в *.css файлах описал. И с объектам я могу, пользуясь языком, делать что хочу, а с твоим текстовым классом могу получить только хуйца. Отвыкайте уже от CSS/HTML/JS и переходите на парадигму, на который пишут все норм челики, что в C++ QT, что в JAVA, что в Dart. Когда ты в коде создаёшь элемент и в коде же имеешь доступ ко всем его свойствам и методам, а не где-то там у теня есть HTML ты ссылку на него в JS пиздишь при помощи селекторов, и где-то там есть CSS свойства, которые ещё и перезатирают друг друга (каскадность, хули), и ты к ним уважительно по текстовому имени обращаешся

>Mantine


Норм но страшновато. Явно делал чел, который любит ДСП столы, барсетку и квадратные листочки с наклеечкой. Сравни пикрил 2 и 3. Нахуй в третьем две стрелки. Хули label ярче текста. Хули label такой большой. Да там всё плохо. Хули оно такое мелкое даже на мобиле, есть же стандартные советы по размеру элементов от Goolge и Apple, я же не девочка десяти лет, чтобы попадать в эти двадцать пикселей. При этом ни анимации, как в MUI, нихуя

>radix


Не сморел

>тяжело кастомизировать


ЗОЧЕМ?? ААА? Зачем ты кастомизируешь, то что и так норм. Стили поменять не проблема. Хочешь кастомно пиши свой компонент. А то возьмёте готовое, а потом ломаете

Не понимаю, что вас на всякое говно тенят, лишь бы не мейнстрим. Нет ничего плохого в мейнстриме, если он топ

С любовью ваш HTML-трейни-тимлид СТО
\
407 3284679
Пиздец этот ваш реакт шизофрения, а я думал JS ебанутый. Теперь он мне кажется относительно логичным. Почему люди не пишут на чистом JS?
408 3284680
>>84223

>CSS сдох


Охуительные истории
409 3284688
>>84223

> C++ QT, что в JAVA, что в Dart


>норм челики


>2k24

410 3284696
>>84679
дауны
411 3284724
>>84679
Потому что в твиттере нет наркоманов типа Даньки Абрамова, который бы залетел в Пейсбук и начал рекламировать чистый JS. Люди быдло, следуют не разуму, а в то место куда пастух поведет.
412 3284732
>>84223
У Fireship нет видео о MUI, значит MUI не существует, ты меня наебываешь.
413 3284747
Вы понимаете что никогда не найдете работу джуном на js?
И никогда не станете выше джуна потому что весь реальный опыт можно получить только на работе
Даже дяди с годами опыта не могут щас найти работу
На что надеяться в этом треде?
Крестик носите?
414 3284749
>>84747
И что ты предлагаешь?
415 3284752
>>83848
фуллстек-Js еще востребован?
416 3284754
>>84749
сидеть сложа руки
417 3284755
>>84749
Вкатываться в сложные языки без бешенной конкуренции, но точно уж не надеяться что ты будешь тем самым из 10к отликов
418 3284756
>>84755

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


Например?
419 3284757
>>84220

>. Так зачем его брать? Может, он много полезной работы за тебя делает? Нет. Так как утилита, собирающая логи и выдающая логи пишутся за день - подними express() принимай текст с клиента, логируй в текстовый файл при помощу Winston или его аналогов, которые умеют в ротацию логов. Потом это всё Loki скорми. На клиенте глобальный хендлер ебани - это умеет любой язык, и кусочек кода напиши, который будет в очередь сохранять ошибки со стектрейсом и пытаться их отправить на сервер.


Нахера мне эти велосипеды писать, если мне sentry предоставляет библиотеку для ловли ошибок на фронтенде
420 3284760
>>84755
Мне и JS с ряктом ебут голову, а ты про сложные языки.
421 3284764
>>84223

>CSS сдох, и задавать стили в текстовом виде - это параша говна, которая умерла лет 5 назад


В твоих тир 3 галерах на помойных проектах может и да. Я вот работаю в тир 1 компаниях последние 5 лет и мы всегда делали стили на scss модулях, а сейчас уже просто на css модулях, scss больше не нужен, чем меньше костылей, тем лучше, и это круто, когда нативное решение предоставляет всё необходимое.

>Сегодня стиль элемента - это объект на языке, который ты передаёшь в компонент, а не текст, который ты где-то там в *.css файлах описал. И с объектам я могу, пользуясь языком, делать что хочу, а с твоим текстовым классом могу получить только хуйца


Да мы поняли уже ты дитя CSS-in-JS хайпа.

>Не понимаю, что вас на всякое говно тенят, лишь бы не мейнстрим. Нет ничего плохого в мейнстриме, если он топ


Тебя как раз тянет на CSS-in-JS хайп-парашу, в то время как норм пацаны пишут на мейнстримной классике - css модулях.
422 3284765
>>84760
>>84679
Вы ебанутые? Чего сложного и шизофренического в реакте? Это простая либа для рендеринга отображения. Задумайтесь, может айти это не ваше, если вы даже такие простые вещи не можете осилить
423 3284767
>>84765
А что наше?
Пятерочка?
424 3284768
>>84764

>CSS-in-JS


Кто и нахуя это вообще придумал? Это так же неудобно звучит, как и пишется. Кто те долбоебы, что решили, что писать, а тем более читать вместо одного слова лишних пять очень удобно, так еще и в js-файле?
425 3284771
>>84768

> писать, а тем более читать вместо одного слова лишних пять


Ты о чём?
426 3284773
>>84765

>либа для рендеринга отображения


Выглядит сложнее самого JS. Но я только начал его трогать.
427 3284775
>>84764

>мы всегда делали стили на scss модулях, а сейчас уже просто на css модулях, scss больше не нужен



А что изменилось? Я вот SASS этот ваш пробую

мимо-вкатун
428 3284776
>>84773

>я только начал его трогать


Ну проорать тогда только можно с твоих визгов про сложность. Даже про css первое время все так визжали, мол нихуя непонятно
429 3284777
>>84776
Хз, CSS простой относительно.
430 3284779
>>84777
Это понятно. Я именно про знакомство с чем-либо новым. Первое время всегда нихуя не понятно
431 3284792
>>84775
В css добавили много фичей
432 3284839
Я правильно пынямаю чтобы на РАБотку взяли примерно на таком уровне нужно код писать?
>>84747
Ну охуеть теперь
>>84755
Знаю только что самое изичное это пехепе, натурально для имбецилов тупа а самый пиздец это кресты
мимо калтун
433 3284842
>>84839

>самое изичное


>самый пиздец


Бтв на высоком уровне все будет пиздецом. Поэтому разница в сложности это обычные взвизги
434 3284856
>>84839

> Я правильно пынямаю чтобы на РАБотку взяли примерно на таком уровне нужно код писать?


Вызов апи эндпоинта и вызов фетча с предустановленным env вынеси в отдельные функции
6272929292.jpg150 Кб, 1495x851
435 3284860
>>84856
Да эт не мое мля, я вообще не понимаю что там написано
436 3284865
>>84839
Самый обычный код. Правда React.FC давно уже не используют.
437 3284888
>>84865
Че с ним не так?
438 3284896
Соло вкатун, коммерческого опыта больше 1 года, в Украине удаленно - 700 долларов зп.

Это победа или хуйня?
439 3284918
>>84896
Как учился расскажи, плес.

Тоже хочу вкатиться, но пока только начинаю курить, и что-то оно очень тажко идет, походу я слишком даун.
440 3284924
>>84896
Нормально, главное чтобы проект не хуйней был
441 3284932
Сап. Посоветуйте несильно сложный пет проект на джуна.
Фронтенд очень нравится, но без понятия как нормально практиковать js
984617320.mp43,7 Мб, mp4,
1292x1032, 1:08
442 3284940
>>84932
Создавай свою борду, как я когда-то.
443 3284944
>>84932
мета поиск по интернет магазинам своей мухосрани
продай кабанчикам владельцам ломбардов чтобы их сотрудники могли в два клика пробить прайс барахла что им принесли
работает просто
строка для поиска куда ты пишешь свой запрос
запрос отправляется в разные инет магазины в их поиск, результат парсится и вываливается в таблицу где есть фильтрация пейджинг и сортировка
444 3284947
>>84944

>мета поиск по интернет магазинам своей мухосрани


В моем случае вообще не вариант. Из крупных магазинов есть только днс и билайн. У менее крупных сайта в принципе нет
445 3284950
>>84924
спасибо, но почитаю двачик и в среднем у джунов віше 64к рублей зп (700 дол) - хуй знает...

>>84896
Для начала - английский хотя бы Б2 (будет намного легче)
С появлением ЧатГПТ - достаточно легко учить

Начинал с freecodecamp - увидел HTML - думал я это не выучу, потом заметил что там каждый открытый тег = закрытый тег, и стало проще

и так потихоньку кушаешь слона, делаешь заметки, гуглишь все непонятные слова, и все получится)

у меня ушел 1 год ровно на с 0 до получения работы джуна первой
446 3284952
>>84947
пиздец ты тупой
447 3284964
>>84839

>React.FC


>Объявление функций через const


Мы вам перезвоним
448 3284965
>>84839

>не использовать swr/tanstack query


Мы вам обязательно перезвоним
449 3284979
>>84964

>React.FC


Значит олд писал, точно не вкатун.

>Объявление функций через const


Что не так?
450 3285007
Добрый день. Попробовал я этот ваш фронтенд - не понравилось. Хочу попробовать бек.
И стоит соответственно вопрос: насколько актуален бек на ноде? Лучше ли он чем тот же Го?
Какой на нода-бекенд стек и откуда соответственно брать информацию?
Всех заранее благодарю за ответы всей душой и нежно целую в лобик
451 3285027
>>84979

>Что не так?


function для функций намного читабельнее
452 3285030
>>85007
Бек на ноде актуален, но если тебе хочется максимальной актуальности, то пхп, питон, джава, сишарп, го более популярны на бекенде.

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

Стек это самая нода, фреймворк нест либо фастифай, либо велосипед над экспрессом, потому что экспресс это тупо роутер, а дальше как по стандарту — OpenAPI/Swagger, Postgresql, Redis, Rabbitmq/Kafka/NATS, кликхаус, Prometheus с графаной и локи, какой-нибудь minio под файлохранилку, nginx, docker swarm / кубер. Информацию очевидно брать из вакансий топовых контор, например.
453 3285034
>>85030

>Бек на ноде актуален


странно, на хх на ноду джуновских вакансий даже меньше чем на го
454 3285036
>>85034
Так я и говорю, что го популярнее.
455 3285037
>>85034
Ну и джуны не очень нужны.
456 3285131
Поясните про минификацию JS с помощью Vite, например. Как это работает? Он ведь не просто убирает пробелы с переносами строк, он ещё и переименовывает переменные, и сливает файлы в один? Не понимаю, как такое возможно. Надо как-то по-особому код писать, чтобы минификация удалась?
457 3285133
>>85030
Скажи пожалуйста, по каким материалам лучше учить ноду, а после и нест?
458 3285160
>>85131
разобрался!
459 3285342
>>84765
Асинхронность живет своей жизнью, если надо зафетчить что-то в компоненте, нужно либо пилить свой костыль на useEffect, либо использовать чужой, например tanstack query, либо вообще стейт менеджмент. Если раньше ты использовал синхронные функции в асинхронных и было понятно, как это в приницпе работает, реакт по эту ситуацию инвертирует и теперь тебе в синхронных компонентах нужно использовать асинхронность, что ломает мозг поначалу.
Правда вероятно это общая проблема клиент-сайд рендеринга, а не конкретно реакта.
>>85007
Прикол бэка на жс сейчас это монорепозитории, когда бэк и фронт в одной репе, бэк на Next или Remix, и можно использовать серверные компоненты и штуки типа tRPC и server actions. Го и Питон так не могут и не смогут никогда, там только no-js решения типа htmx, но оно совершенно по другому работает. Но это больше для хипстеров из твиттера и индивидуальных и малых манябизнесменов, чем для поиска реальной работы.
>>85034
Джуновские вакансии это Джокушка ловушкера, чтобы пришёл чел с синдромом самозванца, поднатарел, и начал работать как миддл, а Кабан ему продолжил бы платить как ждуну. Но даже Кабаны понимают что это залупа какая-то и проще нанимать миддлов-самозванцев, уверенно накручивающих опыт.
460 3285443
>>85342

>Прикол бэка на жс сейчас это монорепозитории, когда бэк и фронт в одной репе, бэк на Next или Remix, и можно использовать серверные компоненты и штуки типа tRPC и server actions. Го и Питон так не могут и не смогут никогда, там только no-js решения типа htmx, но оно совершенно по другому работает. Но это больше для хипстеров из твиттера и индивидуальных и малых манябизнесменов, чем для поиска реальной работы.


У меня на работе так, монорепа Next + Nest, но без смузявого trpc, у нас OpenAPI и просто пакет shared types. В реальной работе такого много, но на западе, по крайней мере в молодых и свежих проектах, например в крипте очень часто так делают.
461 3285453
>>85342

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


Ты про htmx?
462 3285479
>>83026

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


В дефолтном нексте ты в один прекрасный момент столкнешься с тем, что то, что делается элементарно на своем конфиге в пару строк на нексте вообще сделать невозможно. Даже через специальную опцию под конфиг вебпука в конфиге некста.
463 3285480
>>85131

>Надо как-то по-особому код писать, чтобы минификация удалась?


Да, но всем похуй. Получишь экономию на спичках при в разы большей когнитивной нагрузке при написании кода
464 3285481
>>85342
Просто юзаешь tanstack query и не знаешь бед.
465 3285483
>>85479
Ну так давай примеры.
466 3285485
>>85483
Как мне написать свой аналог dynamic-функции?
467 3285488
>>84764

>css модулях


>костылей


>нативное решение


Блять

Ты совсем отбитый. Ты не программировал нихуя. Ты не знаешь, как пишется софт, ты не видел QT, на котором, кстати работает твой браузер и операционка, на который ты запускаешь свой CCS, ты не видел крестов, ты не писал на Flash/JAVA. Ты нихуя не знаешь. Ты опущь отрыжки IT. Нахуй ты что-то пишешь, вместо того, чтобы получиться пару лет. Поясняю

>css модулях


CSS модули не нужны - у тебя вместо этого объекты. Ты вместо
.pidor {
font-size: 16px
background: #FF0000
}

Пишешь
export const pidor = { fontSize: '16px', background: "#FF0000" }

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

>костылей


>нативное решение предоставляет всё необходимое


Тупой даун рассуждает за костыли. А ты в курсе, что твой CSS - это костыль. Что вместо того, чтобы работать с объектами, ты пишешь текст. который пердолит парсер CSS и о чудо, также применяет эти свойства к объектам. Но ты тупой, ды даже никогда не интересовался, как работает та штучка, которая приносит тебе покушать

>Я вот работаю в тир 1 компаниях


Выебёваться тем, какой крутой папик тебя снял - признак опущенца. И я не работаю в галерах, а только за проценты

>CSS-in-JS


Даун, я тебе зачем сто раз объяснял про объекты - это раз. Два, какое нахуй CSS in JS, когда tsx. Ты в силу отсутсвия опыта не можешь поверить, что кто-то не просто читает туториалы и мыслит концепциями, а делает так, как удобно и эффективно, что потом становится мейнстримом. Я - мейнтсрим, ты слепок из прочитанных туториалов

А вообще я хочу развития wasm, чтобы бомжи, типо тебя, отправились на помойку, как это сделали PHP-господа. К сожалению, люди тупы. Фигма, которой полюзуется весь мир, в том числе твоя тир-1 галера, продемонстировала, что можно делать приложения без всего этого говна. Но дауны слабы интелектуально, то, что я говорю, до них дойдёт через несколько лет, когда, должно было уже лет 5 назад, а то, что делает условная фигма, для них просто аутстендинг и дойдёт только лет через 5 - 10
467 3285488
>>84764

>css модулях


>костылей


>нативное решение


Блять

Ты совсем отбитый. Ты не программировал нихуя. Ты не знаешь, как пишется софт, ты не видел QT, на котором, кстати работает твой браузер и операционка, на который ты запускаешь свой CCS, ты не видел крестов, ты не писал на Flash/JAVA. Ты нихуя не знаешь. Ты опущь отрыжки IT. Нахуй ты что-то пишешь, вместо того, чтобы получиться пару лет. Поясняю

>css модулях


CSS модули не нужны - у тебя вместо этого объекты. Ты вместо
.pidor {
font-size: 16px
background: #FF0000
}

Пишешь
export const pidor = { fontSize: '16px', background: "#FF0000" }

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

>костылей


>нативное решение предоставляет всё необходимое


Тупой даун рассуждает за костыли. А ты в курсе, что твой CSS - это костыль. Что вместо того, чтобы работать с объектами, ты пишешь текст. который пердолит парсер CSS и о чудо, также применяет эти свойства к объектам. Но ты тупой, ды даже никогда не интересовался, как работает та штучка, которая приносит тебе покушать

>Я вот работаю в тир 1 компаниях


Выебёваться тем, какой крутой папик тебя снял - признак опущенца. И я не работаю в галерах, а только за проценты

>CSS-in-JS


Даун, я тебе зачем сто раз объяснял про объекты - это раз. Два, какое нахуй CSS in JS, когда tsx. Ты в силу отсутсвия опыта не можешь поверить, что кто-то не просто читает туториалы и мыслит концепциями, а делает так, как удобно и эффективно, что потом становится мейнстримом. Я - мейнтсрим, ты слепок из прочитанных туториалов

А вообще я хочу развития wasm, чтобы бомжи, типо тебя, отправились на помойку, как это сделали PHP-господа. К сожалению, люди тупы. Фигма, которой полюзуется весь мир, в том числе твоя тир-1 галера, продемонстировала, что можно делать приложения без всего этого говна. Но дауны слабы интелектуально, то, что я говорю, до них дойдёт через несколько лет, когда, должно было уже лет 5 назад, а то, что делает условная фигма, для них просто аутстендинг и дойдёт только лет через 5 - 10
468 3285490
>>85485
Не понял что ты подразумеваешь под dynamic function.
469 3285495
>>85488

>Я - мейнтсрим


Мейнстрим батхерта..
470 3285502
>>85488
Зачем ты так порвался?

>Ты не знаешь, как пишется софт, ты не видел QT, на котором, кстати работает твой браузер и операционка, на который ты запускаешь свой CCS, ты не видел крестов, ты не писал на Flash/JAVA.


Видел QT, и писал десктопный/мобильный софт на разных инструментах. В вебе чистый css это лучшее решение, если ты не согласен, то ты не понимаешь как устроен браузер. Так что тебе требуется образование, вместо этого ты с напыщенным видом рвёшься на дваче.

>А ты в курсе, что твой CSS - это костыль. Что вместо того, чтобы работать с объектами, ты пишешь текст. который пердолит парсер CSS и о чудо, также применяет эти свойства к объектам


Я в курсе, а ещё в курсе, что при использовании CSS-in-JS костылей к парсингу CSS добавляется лишний шаг, который ещё и выполняется в JS. Просто я не макака, которая пишет третьесортные продукты, в которых команда забивает на производительность.

>Даун, я тебе зачем сто раз объяснял про объекты - это раз. Два, какое нахуй CSS in JS, когда tsx. Ты в силу отсутсвия опыта не можешь поверить, что кто-то не просто читает туториалы и мыслит концепциями, а делает так, как удобно и эффективно, что потом становится мейнстримом. Я - мейнтсрим, ты слепок из прочитанных туториалов


Ты просто придираешься к терминам из-за бессильной злобы. Под CSS-in-JS подразумеваются билиотеки типа styled-components и emotion, и всем очевидно, что написание стилей при использовании этих библиотек делается в том числе jsx/tsx файлах. А мейнстрим всё-таки css, а не твои костылики. Тебе реактомакаке не понять, ты вряд ли видел как пределами твоего мирка пишутся веб-приложения на взлослых фреймворках.

>А вообще я хочу развития wasm, чтобы бомжи, типо тебя, отправились на помойку, как это сделали PHP-господа. К сожалению, люди тупы. Фигма, которой полюзуется весь мир, в том числе твоя тир-1 галера, продемонстировала, что можно делать приложения без всего этого говна. Но дауны слабы интелектуально, то, что я говорю, до них дойдёт через несколько лет, когда, должно было уже лет 5 назад, а то, что делает условная фигма, для них просто аутстендинг и дойдёт только лет через 5 - 10


99% приложений не требутся того, что делается в фигме. Для 99% приложений и через 5-10 лет лучшим решением будет применение дефолтного ангуляра/вью/реакта с тайпскриптом без всякого wasm. Wasm уже развился, и не сегодня и не вчера. Вперёд, делай веб-приложения на blazor, лол.
470 3285502
>>85488
Зачем ты так порвался?

>Ты не знаешь, как пишется софт, ты не видел QT, на котором, кстати работает твой браузер и операционка, на который ты запускаешь свой CCS, ты не видел крестов, ты не писал на Flash/JAVA.


Видел QT, и писал десктопный/мобильный софт на разных инструментах. В вебе чистый css это лучшее решение, если ты не согласен, то ты не понимаешь как устроен браузер. Так что тебе требуется образование, вместо этого ты с напыщенным видом рвёшься на дваче.

>А ты в курсе, что твой CSS - это костыль. Что вместо того, чтобы работать с объектами, ты пишешь текст. который пердолит парсер CSS и о чудо, также применяет эти свойства к объектам


Я в курсе, а ещё в курсе, что при использовании CSS-in-JS костылей к парсингу CSS добавляется лишний шаг, который ещё и выполняется в JS. Просто я не макака, которая пишет третьесортные продукты, в которых команда забивает на производительность.

>Даун, я тебе зачем сто раз объяснял про объекты - это раз. Два, какое нахуй CSS in JS, когда tsx. Ты в силу отсутсвия опыта не можешь поверить, что кто-то не просто читает туториалы и мыслит концепциями, а делает так, как удобно и эффективно, что потом становится мейнстримом. Я - мейнтсрим, ты слепок из прочитанных туториалов


Ты просто придираешься к терминам из-за бессильной злобы. Под CSS-in-JS подразумеваются билиотеки типа styled-components и emotion, и всем очевидно, что написание стилей при использовании этих библиотек делается в том числе jsx/tsx файлах. А мейнстрим всё-таки css, а не твои костылики. Тебе реактомакаке не понять, ты вряд ли видел как пределами твоего мирка пишутся веб-приложения на взлослых фреймворках.

>А вообще я хочу развития wasm, чтобы бомжи, типо тебя, отправились на помойку, как это сделали PHP-господа. К сожалению, люди тупы. Фигма, которой полюзуется весь мир, в том числе твоя тир-1 галера, продемонстировала, что можно делать приложения без всего этого говна. Но дауны слабы интелектуально, то, что я говорю, до них дойдёт через несколько лет, когда, должно было уже лет 5 назад, а то, что делает условная фигма, для них просто аутстендинг и дойдёт только лет через 5 - 10


99% приложений не требутся того, что делается в фигме. Для 99% приложений и через 5-10 лет лучшим решением будет применение дефолтного ангуляра/вью/реакта с тайпскриптом без всякого wasm. Wasm уже развился, и не сегодня и не вчера. Вперёд, делай веб-приложения на blazor, лол.
images.jpg8 Кб, 300x168
471 3285527
>>85502

>делай веб-приложения на blazor, лол


Учитывая все "превосходство" blazor-а, делать веб на вишневом blazer-е будет эффективнее
472 3285556

>тред про js


>24/7 срач про css

473 3285577
>>85502

>к парсингу CSS добавляется лишний шаг


Нет, тупой даун. Ты не умеешь писать, код. Ты не видел QT, иначе бы ты мне тут не порол чушь. Это проверяется за час. Открываешь и читаешь, как парсится CSS
https://chromium.googlesource.com/chromium/blink/+/refs/heads/main/Source/core/css/parser

Потом открываешь и смотришь, как идёт работа с DOM
https://chromium.googlesource.com/chromium/blink/+/refs/heads/main/Source/core/dom

И ты увидишь, что если ты используешь CSS в файле или CSS in JS о которым ты тут талдычишь и пытаешься мне его приписать, хотя я никогда в жизни не использовал, а использовал объекты, то CSS парсится, то есть, его текст разибрается на токены, а потом добавляется, как атрибуты к нодам DOM. Если ты или твой фреймворк добавляет атрибут к ноде через JS, то никакого парсинга CSS не происходит

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

Для тех кто не шарит. Это CCS in JS
const className = `
color: red;
font-weight: bold;
`;

А это объект
const className = {
color: 'red'
padding: '20px'
}

>Ты просто придираешься к терминам из-за бессильной злобы.


У меня нет злобы. Я пытаюсь вас хоть чему-то научить. И мне не особо интересно, что там подразумевается. Это термин, придуманный чтобы опять двигать какую-то концепцию. Большинство разрабов мыслит концепциями. А этом треде проявление этого. Это всякие люди, которые приходят и спрашивают: "Посоны, а что учить?". Они учат, что им дают, БЭМ, вью, ангуляр, редакс, что им не скорми, они не шарят. А потом оказывается, что, ой, оно устарело, надо мобикс, реакт. Я же мыслю не так. Я иду изучаю инструмент, и выбираю лучшее. Через годы макакичи доходят своими мозгами до моих подходов, а потом мне рассказывают, что я там что-то скопировал, потому, что мой подход похож на то, что они родили. У меня опускаются руки.

>99% приложений не требутся того, что делается в фигме


100% требуется то, что делает фигма. Просто есть макаки, которые не умеют. Они рассказывают, что НИНУЖНА. Это как с REST, когда давно можно уже гонять данные через UDP, макаки обмазываются TCP HTTP, долбят фетч запросами вместо нормланого соединения, срут кодами ответа в HTTP заголовки, а потом мне ещё расскаывают, что сокеты - это ДОРАГА, ты НИПАНИМАИШЬ! То же самое про сборку - всё собирается из трёх языков HTML/JS/CSS, хотя в реальности всё это исполняет программа на одном языке и этот язык C++

>Wasm уже развился


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

>blazor


Так ты масдай макака. Я так и знал. Поэтому ты нихера не знаешь. "Мам, я ниасили C++ и линапс, там страшные темплейты и постоянно пули в ноги летят"
473 3285577
>>85502

>к парсингу CSS добавляется лишний шаг


Нет, тупой даун. Ты не умеешь писать, код. Ты не видел QT, иначе бы ты мне тут не порол чушь. Это проверяется за час. Открываешь и читаешь, как парсится CSS
https://chromium.googlesource.com/chromium/blink/+/refs/heads/main/Source/core/css/parser

Потом открываешь и смотришь, как идёт работа с DOM
https://chromium.googlesource.com/chromium/blink/+/refs/heads/main/Source/core/dom

И ты увидишь, что если ты используешь CSS в файле или CSS in JS о которым ты тут талдычишь и пытаешься мне его приписать, хотя я никогда в жизни не использовал, а использовал объекты, то CSS парсится, то есть, его текст разибрается на токены, а потом добавляется, как атрибуты к нодам DOM. Если ты или твой фреймворк добавляет атрибут к ноде через JS, то никакого парсинга CSS не происходит

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

Для тех кто не шарит. Это CCS in JS
const className = `
color: red;
font-weight: bold;
`;

А это объект
const className = {
color: 'red'
padding: '20px'
}

>Ты просто придираешься к терминам из-за бессильной злобы.


У меня нет злобы. Я пытаюсь вас хоть чему-то научить. И мне не особо интересно, что там подразумевается. Это термин, придуманный чтобы опять двигать какую-то концепцию. Большинство разрабов мыслит концепциями. А этом треде проявление этого. Это всякие люди, которые приходят и спрашивают: "Посоны, а что учить?". Они учат, что им дают, БЭМ, вью, ангуляр, редакс, что им не скорми, они не шарят. А потом оказывается, что, ой, оно устарело, надо мобикс, реакт. Я же мыслю не так. Я иду изучаю инструмент, и выбираю лучшее. Через годы макакичи доходят своими мозгами до моих подходов, а потом мне рассказывают, что я там что-то скопировал, потому, что мой подход похож на то, что они родили. У меня опускаются руки.

>99% приложений не требутся того, что делается в фигме


100% требуется то, что делает фигма. Просто есть макаки, которые не умеют. Они рассказывают, что НИНУЖНА. Это как с REST, когда давно можно уже гонять данные через UDP, макаки обмазываются TCP HTTP, долбят фетч запросами вместо нормланого соединения, срут кодами ответа в HTTP заголовки, а потом мне ещё расскаывают, что сокеты - это ДОРАГА, ты НИПАНИМАИШЬ! То же самое про сборку - всё собирается из трёх языков HTML/JS/CSS, хотя в реальности всё это исполняет программа на одном языке и этот язык C++

>Wasm уже развился


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

>blazor


Так ты масдай макака. Я так и знал. Поэтому ты нихера не знаешь. "Мам, я ниасили C++ и линапс, там страшные темплейты и постоянно пули в ноги летят"
474 3285581
>>85577

>У меня нет злобы. Я пытаюсь вас хоть чему-то научить


Сенсей, у вас жопа подорвалась
475 3285582
>>85577

>100% требуется то, что делает фигма


Ору с этого додика. Вот скажи, нахуя какому-нибудь озону рисковать интерфейс через канвас?
image.png330 Кб, 640x360
476 3285598
>>83785
1. Читаешь доки к HTML
2. Читаешь доки к CSS
3. Верстаешь несколько лендингов по быстрому
4. Читаешь доки к JS
5. Пилишь тудушки и все что понравится из гугла по запросу "100 проектов на чистом JS за месяц", лучше гугли на англюсике
6. Читаешь доки к рякту
7. Пилишь копию Spotify для портфолио
8. ??????
9. ПРОФИТ

Ну и там гит или еще какое говно по вечерам дрочишь, если новичок в айти. Местных петучей с их модными веяниями шлешь нахуй, это потом на первой работе наверстаешь один хуй года 3 пройдет с начала обучения ХА ХА
477 3285628
Почему chromium-based браузеры просто молча без всяких ошибок не запускают Worker из другого Worker? То есть let w = new Worker('file.js') возвращает объект, но браузер даже не обращается к file.js. И это все молча. В фаерфоксе нормально работает. Воркэраунд сделал - отправить сообщение в основной поток, чтобы Worker сделал он, так работает, но просто интересно, что это за хуйня?
478 3285638
>>84950

>freecodecamp


Залупа, которая ничего не объясняет, просто пишешь код пошагово и все (по крайней мере в курсе по JS). Я понимаю, что дев должен сам уметь гуглить, искать решения, читать доки, но freecodecamp везде хвалят как лучшую бесплатную школу для старта.
479 3285642
>>85638
ну залупа не залупа, когда чатгпт не было я был рад и этому. А так да, прошел только html+css курс, а курс джс уже скипнул и пошел своей дорогой изучать

А щас с ЧатГПТ считаю вообще нахуй не нужны все те сайты, это лучший персональный ментор
480 3285644
>>85628
Это связано с ограничениями безопасности и архитектурными особенностями браузеров на основе Chromium (например, Google Chrome и другие браузеры на базе Chromium). Основная проблема заключается в том, что Chromium, в отличие от Firefox, строго реализует ограничения и спецификации для Web Workers, чтобы уменьшить потенциальные риски безопасности и ошибки, связанные с многопоточностью в JavaScript.

### Почему так происходит:
1. Ограничение вложенных Worker'ов в Chromium:
В Chrome (и других Chromium-based браузерах) существует ограничение на создание Worker'ов внутри других Worker'ов (вложенных Worker'ов) из соображений производительности и безопасности. Это означает, что если вы пытаетесь создать Worker внутри другого Worker'а, этот вызов может быть проигнорирован, хотя сам объект Worker и создается. Это сделано для того, чтобы избежать потенциально высоких нагрузок на ресурсы при работе с многопоточностью.

2. Спецификация Web Workers:
По спецификации, создание вложенных Worker'ов возможно, однако браузеры не обязаны поддерживать это поведение одинаково. Firefox разрешает это и может корректно отрабатывать вложенные Worker'ы, тогда как в Chromium это ограничено по умолчанию.

3. Без сообщения об ошибке:
Chromium просто молча игнорирует этот запрос, создавая объект, но не загружая скрипт, поскольку это считается нарушением ожиданий или стандартов браузера в части многопоточности. Ошибки могут не генерироваться, потому что это не является критической ошибкой с точки зрения синтаксиса или выполнения кода — это поведение просто заблокировано.

4. Воркэраунд с основным потоком:
Вы правильно нашли обходное решение: создание нового Worker'а через основной поток. Это соответствует рекомендациям по разработке, так как основной поток может лучше управлять созданием и уничтожением Worker'ов.

### Почему так не работает в Firefox?
Firefox использует несколько иную реализацию стандартов Web Workers и допускает создание вложенных Worker'ов. Это является следствием различий в реализации движков браузеров и подходов к многопоточности.

### Итог:
Основная причина заключается в ограничениях безопасности и архитектуры браузеров на основе Chromium. Если вам нужна кросс-браузерная совместимость, workaround с основным потоком является лучшим решением.
480 3285644
>>85628
Это связано с ограничениями безопасности и архитектурными особенностями браузеров на основе Chromium (например, Google Chrome и другие браузеры на базе Chromium). Основная проблема заключается в том, что Chromium, в отличие от Firefox, строго реализует ограничения и спецификации для Web Workers, чтобы уменьшить потенциальные риски безопасности и ошибки, связанные с многопоточностью в JavaScript.

### Почему так происходит:
1. Ограничение вложенных Worker'ов в Chromium:
В Chrome (и других Chromium-based браузерах) существует ограничение на создание Worker'ов внутри других Worker'ов (вложенных Worker'ов) из соображений производительности и безопасности. Это означает, что если вы пытаетесь создать Worker внутри другого Worker'а, этот вызов может быть проигнорирован, хотя сам объект Worker и создается. Это сделано для того, чтобы избежать потенциально высоких нагрузок на ресурсы при работе с многопоточностью.

2. Спецификация Web Workers:
По спецификации, создание вложенных Worker'ов возможно, однако браузеры не обязаны поддерживать это поведение одинаково. Firefox разрешает это и может корректно отрабатывать вложенные Worker'ы, тогда как в Chromium это ограничено по умолчанию.

3. Без сообщения об ошибке:
Chromium просто молча игнорирует этот запрос, создавая объект, но не загружая скрипт, поскольку это считается нарушением ожиданий или стандартов браузера в части многопоточности. Ошибки могут не генерироваться, потому что это не является критической ошибкой с точки зрения синтаксиса или выполнения кода — это поведение просто заблокировано.

4. Воркэраунд с основным потоком:
Вы правильно нашли обходное решение: создание нового Worker'а через основной поток. Это соответствует рекомендациям по разработке, так как основной поток может лучше управлять созданием и уничтожением Worker'ов.

### Почему так не работает в Firefox?
Firefox использует несколько иную реализацию стандартов Web Workers и допускает создание вложенных Worker'ов. Это является следствием различий в реализации движков браузеров и подходов к многопоточности.

### Итог:
Основная причина заключается в ограничениях безопасности и архитектуры браузеров на основе Chromium. Если вам нужна кросс-браузерная совместимость, workaround с основным потоком является лучшим решением.
481 3285662
>>85642

>А щас с ЧатГПТ считаю вообще нахуй не нужны все те сайты, это лучший персональный ментор


Тут согласен, дудосю им сервера своими тупыми вопросами почему и как, а он все разжевывает с примерами.
482 3285682
>>85644
Ok, GPT, а как мне теперь между всеми этими Workers расшарить значение integer autoincremented? Я не говорю, что это обязательно переменная JS. Наверное, может быть SharedBuffer с одним единственным значением в нем, но тогда надо это все в Isolated пихать, а там уже со сторонними яваскриптами типа гугл аналитики всякой могут быть сложности. Что скажешь?
483 3285688
>>85644
Пиздец до чего техника дошла.
Ты прям вот так и вбил сообщение анона без изменений и гопота поняла?
А в ответе есть смысл я просто не шарю?
484 3285698
>>85688
Вообще-то я сразу подумал примерно все, что GPT и выдал. Это для сравнения с живой макакой. Просто интересно, почему срань гугловая считает приемлемым тоном хотя бы варнинг в консольке не чиркануть, что она зажопила Worker.
485 3285709
>>85682
Для того чтобы обеспечить расшаренное автоинкрементируемое значение между Web Workers, в том числе и в основной поток, SharedArrayBuffer — это действительно подходящее решение. Однако стоит учитывать некоторые особенности и ограничения при работе с ним, особенно в контексте безопасности (например, необходимости использования [Cross-Origin-Opener-Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Opener-Policy) и [Cross-Origin-Embedder-Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Embedder-Policy)).

### Решение с SharedArrayBuffer

SharedArrayBuffer позволяет нескольким потокам одновременно работать с одним и тем же участком памяти. Для инкрементации целого числа в таком буфере можно использовать Atomics, чтобы обеспечить безопасные операции без гонок данных.

#### Пример использования:

1. Создаем SharedArrayBuffer для хранения числа.
2. Используем Atomics для инкремента значения этого числа в разных потоках.

Вот пример, как это может быть реализовано:

```js
// Основной поток
const sharedBuffer = new SharedArrayBuffer(4); // 4 байта для хранения одного целого числа
const sharedArray = new Int32Array(sharedBuffer); // Массив на основе sharedBuffer

// Инициализация значения
sharedArray[0] = 0; // Начальное значение инкремента

// Создание воркеров
const worker1 = new Worker('worker.js');
const worker2 = new Worker('worker.js');

// Передача sharedBuffer воркерам
worker1.postMessage(sharedBuffer);
worker2.postMessage(sharedBuffer);

worker1.onmessage = (event) => {
console.log(`Worker1: ${event.data}`);
};

worker2.onmessage = (event) => {
console.log(`Worker2: ${event.data}`);
};
```

Теперь в файле `worker.js`:

```js
onmessage = function(event) {
const sharedArray = new Int32Array(event.data); // Получаем доступ к sharedArray

// Безопасная инкрементация с использованием Atomics
const newValue = Atomics.add(sharedArray, 0, 1); // Инкрементируем sharedArray[0]

// Возвращаем новое значение в основной поток
postMessage(`New value: ${newValue + 1}`); // Возвращаем значение после инкремента
};
```

### Ключевые моменты:
- SharedArrayBuffer позволяет разделять память между потоками, что дает возможность каждому Worker'у изменять и читать одно и то же значение.
- Atomics.add() гарантирует, что операция инкремента будет атомарной, предотвращая гонки данных, даже если несколько потоков одновременно попытаются изменить одно и то же значение.
- Буфер должен быть инициализирован в основном потоке и передан в Worker'ы через `postMessage`.

### Важные замечания:
1. Безопасность:
Для использования SharedArrayBuffer в современных браузерах, включая браузеры на базе Chromium, потребуется обеспечить строгие заголовки политики безопасности:
- Cross-Origin-Opener-Policy (COOP): `same-origin`
- Cross-Origin-Embedder-Policy (COEP): `require-corp`

Это ограничивает доступ к ресурсу сторонних скриптов, таких как Google Analytics или других внешних библиотек, что может привести к конфликтам. Чтобы обойти это, можно запускать сторонние скрипты через sandbox или конфигурировать заголовки соответствующим образом.

2. Atomics:
Без использования `Atomics` могут возникать гонки данных, когда несколько потоков одновременно пытаются изменить одно и то же значение, что приведет к некорректным результатам. Atomics гарантирует, что операции чтения и записи выполняются последовательно.

3. Изоляция:
Если SharedArrayBuffer вызывает сложности с внешними скриптами (например, Google Analytics), и вы не хотите менять политики безопасности, альтернативное решение может быть более сложным:
- Использовать основной поток как координатора для рассылки и обработки инкрементов между воркерами.
- Но это может повлиять на производительность, если воркеров много и требуется высокая частота взаимодействий.

### Варианты обхода проблем с изоляцией:
- Вариант 1: Если вам действительно нужно использовать сторонние скрипты и при этом работать с SharedArrayBuffer, можно запускать логику с воркерами на другом поддомене, настроенном с нужными политиками COOP/COEP.
- Вариант 2: Если SharedArrayBuffer мешает безопасности сторонних скриптов, можно передавать данные между воркерами через основной поток, хотя это потребует больше обмена сообщениями и может слегка снизить производительность.

### Альтернативное решение без SharedArrayBuffer:
Если изменение политики безопасности слишком сложное или нежелательное, можно использовать основной поток как медиатор для инкремента значений и передачи их между воркерами. Этот подход менее эффективен, но избежит проблем с изоляцией.

Если нужно уточнить детали или рассмотреть другие варианты, дай знать!
485 3285709
>>85682
Для того чтобы обеспечить расшаренное автоинкрементируемое значение между Web Workers, в том числе и в основной поток, SharedArrayBuffer — это действительно подходящее решение. Однако стоит учитывать некоторые особенности и ограничения при работе с ним, особенно в контексте безопасности (например, необходимости использования [Cross-Origin-Opener-Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Opener-Policy) и [Cross-Origin-Embedder-Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Embedder-Policy)).

### Решение с SharedArrayBuffer

SharedArrayBuffer позволяет нескольким потокам одновременно работать с одним и тем же участком памяти. Для инкрементации целого числа в таком буфере можно использовать Atomics, чтобы обеспечить безопасные операции без гонок данных.

#### Пример использования:

1. Создаем SharedArrayBuffer для хранения числа.
2. Используем Atomics для инкремента значения этого числа в разных потоках.

Вот пример, как это может быть реализовано:

```js
// Основной поток
const sharedBuffer = new SharedArrayBuffer(4); // 4 байта для хранения одного целого числа
const sharedArray = new Int32Array(sharedBuffer); // Массив на основе sharedBuffer

// Инициализация значения
sharedArray[0] = 0; // Начальное значение инкремента

// Создание воркеров
const worker1 = new Worker('worker.js');
const worker2 = new Worker('worker.js');

// Передача sharedBuffer воркерам
worker1.postMessage(sharedBuffer);
worker2.postMessage(sharedBuffer);

worker1.onmessage = (event) => {
console.log(`Worker1: ${event.data}`);
};

worker2.onmessage = (event) => {
console.log(`Worker2: ${event.data}`);
};
```

Теперь в файле `worker.js`:

```js
onmessage = function(event) {
const sharedArray = new Int32Array(event.data); // Получаем доступ к sharedArray

// Безопасная инкрементация с использованием Atomics
const newValue = Atomics.add(sharedArray, 0, 1); // Инкрементируем sharedArray[0]

// Возвращаем новое значение в основной поток
postMessage(`New value: ${newValue + 1}`); // Возвращаем значение после инкремента
};
```

### Ключевые моменты:
- SharedArrayBuffer позволяет разделять память между потоками, что дает возможность каждому Worker'у изменять и читать одно и то же значение.
- Atomics.add() гарантирует, что операция инкремента будет атомарной, предотвращая гонки данных, даже если несколько потоков одновременно попытаются изменить одно и то же значение.
- Буфер должен быть инициализирован в основном потоке и передан в Worker'ы через `postMessage`.

### Важные замечания:
1. Безопасность:
Для использования SharedArrayBuffer в современных браузерах, включая браузеры на базе Chromium, потребуется обеспечить строгие заголовки политики безопасности:
- Cross-Origin-Opener-Policy (COOP): `same-origin`
- Cross-Origin-Embedder-Policy (COEP): `require-corp`

Это ограничивает доступ к ресурсу сторонних скриптов, таких как Google Analytics или других внешних библиотек, что может привести к конфликтам. Чтобы обойти это, можно запускать сторонние скрипты через sandbox или конфигурировать заголовки соответствующим образом.

2. Atomics:
Без использования `Atomics` могут возникать гонки данных, когда несколько потоков одновременно пытаются изменить одно и то же значение, что приведет к некорректным результатам. Atomics гарантирует, что операции чтения и записи выполняются последовательно.

3. Изоляция:
Если SharedArrayBuffer вызывает сложности с внешними скриптами (например, Google Analytics), и вы не хотите менять политики безопасности, альтернативное решение может быть более сложным:
- Использовать основной поток как координатора для рассылки и обработки инкрементов между воркерами.
- Но это может повлиять на производительность, если воркеров много и требуется высокая частота взаимодействий.

### Варианты обхода проблем с изоляцией:
- Вариант 1: Если вам действительно нужно использовать сторонние скрипты и при этом работать с SharedArrayBuffer, можно запускать логику с воркерами на другом поддомене, настроенном с нужными политиками COOP/COEP.
- Вариант 2: Если SharedArrayBuffer мешает безопасности сторонних скриптов, можно передавать данные между воркерами через основной поток, хотя это потребует больше обмена сообщениями и может слегка снизить производительность.

### Альтернативное решение без SharedArrayBuffer:
Если изменение политики безопасности слишком сложное или нежелательное, можно использовать основной поток как медиатор для инкремента значений и передачи их между воркерами. Этот подход менее эффективен, но избежит проблем с изоляцией.

Если нужно уточнить детали или рассмотреть другие варианты, дай знать!
486 3285726
>>85709
Хуя GPT прокачалась. Прям сводит сразу все, что гуглить бы пришлось. Эт я вопросы задавал.
487 3285760
>>77327
учите скалу. язык будущего

P.S. мимо единошиз
488 3285771
>>85760
Есть уже хоть легковесный компилер на жс скалы в wasm? Ну иначе я не могу вообще придумать, зачем это в жс треде.
489 3285787
>>85760
Он умер при рождении, в банках поигрались и хватит
1727741368747.jpg85 Кб, 811x1000
490 3285799
>>85133
Пик. По несту ищи на торрентах сливы официальных курсов от разработчиков неста.
491 3285843
>>85799

>разработчиков неста.


твои протыки? литералли кто?
492 3285846
>>85488

> >css модулях


> CSS модули не нужны - у тебя вместо этого объекты. Ты вместо


> .pidor {


> font-size: 16px


> background: #FF0000


> }



> Пишешь


> export const pidor = { fontSize: '16px', background: "#FF0000" }



Съеби в свои кресты уебище и никогда сюда не залазь.
494 3286076
>>85799

>несту


Как же проигрываю с того, у неста так и не образовалось коммюнити, в отличии от экспресса. По нему литералли кроме офф курсов ничего нет.
495 3286082
>>86076
А как же твиттер разработчиков, охуел
496 3286094
fp-ts и вообще фп это база или кринж?
497 3286101
>>86094
Цель? Выебываться в твиттере покатит, в реальной жизни - нет
498 3286141
>>86076
А зачем он вообще нужен? Это же просто поделка под java spring, чтобы ооп-дебилам было удобно и привычно. Разрабы с IQ > 100 пользуются преимуществами мультипарадигмального языка, а не ограничиваются ооп подходами, а у джавашарпистов своих технологий хватает, зачем им еще и это.
499 3286145
>>86101
а ты пробовал?
500 3286151
>>86076

> По нему литералли кроме офф курсов ничего нет.


Наверное, потому что официальной доки хватает.
501 3286226
Релокация для фронта вообще возможна?
Особенно в асашай где сайты прямиком из 2000 - мне кажется там одни фулстаки с упором в бэк работают
502 3286247
>>86226
сайты нахуй не нужны, фронт мобильных приложений кури
503 3286268
>>86226
Если для тебя релокация проще, чем освоить что-то, то ты вообще можешь релоцироваться куда угодно. Поздравляю и завидую.
504 3286618
Можете объяснить для дебила в чём проблема TS + HLS в контексте монад?
505 3286619
>>86618
Или не HLS. Но что-то такое, не помню даже точно
506 3286631
>>85843
Литералли разработчики неста. Официальный сайт неста пробовал открывать?

>>86076
Образовалось. Есть и телеграм чаты, и дискорд, и так далее, курсы тоже есть не-официальные, ну и охуенная дока.

>>86141
Нужен чтобы на тайпскрипте было удобно и приятно писать проекты среднего-крупного уровня.
507 3286642
>>86141
Чтобы сразу отметать вакансии с жава-дебилами в команде.
508 3286701
>>86618
Чтобы объяснить проблему типов и высокоуровневой синтаксической абстракции (TS + HLS) в контексте монад, давайте разложим это на более простые элементы, начиная с понятий, которые могут быть вам знакомы.

### 1. Монады:
Монады — это концепция из функционального программирования, которая помогает управлять вычислениями, особенно когда речь идёт о последовательных действиях (например, работа с состоянием, обработка ошибок, асинхронные операции и т.д.). Монада предоставляет механизм для связывания последовательных операций так, чтобы результат одной операции можно было передавать в другую, обрабатывая их в чётко определённой последовательности.

Главное, что нужно знать:
- Монада — это контейнер: она может содержать какое-то значение.
- Bind (или `flatMap`) — это функция, которая берёт значение внутри монады, выполняет над ним операцию и возвращает новую монаду.
- Return (или `of`) — это функция, которая помещает значение внутрь монады.

Например, асинхронные вычисления в JavaScript (`Promise`) можно рассматривать как монаду, так как они позволяют описывать последовательные асинхронные действия.

Продолжаем!

### 2. TypeScript (TS):
TypeScript — это язык программирования, основанный на JavaScript, который добавляет статическую типизацию. Это значит, что мы можем указывать типы данных переменных, функций и структур, что помогает избежать ошибок на этапе компиляции и делает код более предсказуемым.

### 3. HLS (High-Level Syntax):
Здесь под HLS, вероятно, имеется в виду высокоуровневый синтаксис, который помогает писать код проще и выразительнее, предоставляя абстракции, скрывающие детали низкоуровневых вычислений. В случае с монадической обработкой это позволяет скрыть сложности управления состоянием или ошибками.

### 4. Где возникают проблемы TS + HLS в контексте монад?

Когда мы пытаемся применить концепцию монад в TypeScript с использованием высокоуровневого синтаксиса, могут возникнуть некоторые проблемы:

1. Сложности с типами:
TypeScript хорошо работает с типами, но монады часто имеют сложную иерархию типов. Например, у нас может быть "монада внутри монады" (например, `Promise<Option<T>>`), и здесь возникает сложность правильной типизации. Монады требуют тщательной работы с типами, чтобы описать их правильно, а в TS не всегда удобно работать с вложенными типами.

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

2. Работа с асинхронными операциями:
Асинхронные вычисления в TypeScript представляются через `Promise`, а это своего рода монада. Однако, если мы начинаем смешивать разные монады (например, `Promise`, `Option`, `Either`), могут возникнуть проблемы с их композицией.

Например, если у нас есть `Promise<Option<T>>`, нам нужно несколько раз "распаковать" значение: сначала дождаться результата `Promise`, а затем "распаковать" значение `Option`. Это может быть громоздким и трудно выразить в TS, особенно когда необходимо делать это много раз.

Проблема: трудности с композицией асинхронных монад (например, работа с `Promise` внутри другой монады).

3. Необходимость дополнительных абстракций:
В некоторых случаях для работы с монадической структурой в TS требуются специальные библиотеки или утилиты, чтобы было легче композировать и связывать операции. Например, такие библиотеки, как `fp-ts`, предоставляют специальные функции для работы с монадой `Either`, `Option`, `Task`, что добавляет абстракцию над стандартными механизмами TypeScript.

Проблема: без дополнительных утилит монадические операции становятся сложными и громоздкими.

### 5. Пример на TypeScript

Давайте рассмотрим пример с монадой `Option` (которая представляет собой "наличие или отсутствие значения") и `Promise`.

```typescript
// Пример с монадами Option и Promise

// Возвращает Option с данными
function getData(): Option<number> {
return some(10);
}

// Оборачиваем Option в Promise
function getAsyncData(): Promise<Option<number>> {
return Promise.resolve(getData());
}

// Используем монаду Option и Promise вместе
getAsyncData()
.then(option => option.fold(
() => console.log('Нет данных'),
(value) => console.log(`Значение: ${value}`)
));
```

Здесь, даже для простого примера, приходится использовать вложенные операции (`then` для `Promise`, `fold` для `Option`). Если добавить больше сложных операций, код быстро становится трудно читаемым и поддерживаемым.

### 6. Заключение:
Проблемы TS + HLS в контексте монад связаны с:
- Сложностью типизации и композиций монад;
- Трудностями в работе с асинхронными монадическими структурами;
- Необходимостью использования дополнительных библиотек для упрощения работы с монадами.

Монады — мощная концепция, но их реализация в TypeScript не всегда проста из-за сложных типов и асинхронных вычислений.
508 3286701
>>86618
Чтобы объяснить проблему типов и высокоуровневой синтаксической абстракции (TS + HLS) в контексте монад, давайте разложим это на более простые элементы, начиная с понятий, которые могут быть вам знакомы.

### 1. Монады:
Монады — это концепция из функционального программирования, которая помогает управлять вычислениями, особенно когда речь идёт о последовательных действиях (например, работа с состоянием, обработка ошибок, асинхронные операции и т.д.). Монада предоставляет механизм для связывания последовательных операций так, чтобы результат одной операции можно было передавать в другую, обрабатывая их в чётко определённой последовательности.

Главное, что нужно знать:
- Монада — это контейнер: она может содержать какое-то значение.
- Bind (или `flatMap`) — это функция, которая берёт значение внутри монады, выполняет над ним операцию и возвращает новую монаду.
- Return (или `of`) — это функция, которая помещает значение внутрь монады.

Например, асинхронные вычисления в JavaScript (`Promise`) можно рассматривать как монаду, так как они позволяют описывать последовательные асинхронные действия.

Продолжаем!

### 2. TypeScript (TS):
TypeScript — это язык программирования, основанный на JavaScript, который добавляет статическую типизацию. Это значит, что мы можем указывать типы данных переменных, функций и структур, что помогает избежать ошибок на этапе компиляции и делает код более предсказуемым.

### 3. HLS (High-Level Syntax):
Здесь под HLS, вероятно, имеется в виду высокоуровневый синтаксис, который помогает писать код проще и выразительнее, предоставляя абстракции, скрывающие детали низкоуровневых вычислений. В случае с монадической обработкой это позволяет скрыть сложности управления состоянием или ошибками.

### 4. Где возникают проблемы TS + HLS в контексте монад?

Когда мы пытаемся применить концепцию монад в TypeScript с использованием высокоуровневого синтаксиса, могут возникнуть некоторые проблемы:

1. Сложности с типами:
TypeScript хорошо работает с типами, но монады часто имеют сложную иерархию типов. Например, у нас может быть "монада внутри монады" (например, `Promise<Option<T>>`), и здесь возникает сложность правильной типизации. Монады требуют тщательной работы с типами, чтобы описать их правильно, а в TS не всегда удобно работать с вложенными типами.

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

2. Работа с асинхронными операциями:
Асинхронные вычисления в TypeScript представляются через `Promise`, а это своего рода монада. Однако, если мы начинаем смешивать разные монады (например, `Promise`, `Option`, `Either`), могут возникнуть проблемы с их композицией.

Например, если у нас есть `Promise<Option<T>>`, нам нужно несколько раз "распаковать" значение: сначала дождаться результата `Promise`, а затем "распаковать" значение `Option`. Это может быть громоздким и трудно выразить в TS, особенно когда необходимо делать это много раз.

Проблема: трудности с композицией асинхронных монад (например, работа с `Promise` внутри другой монады).

3. Необходимость дополнительных абстракций:
В некоторых случаях для работы с монадической структурой в TS требуются специальные библиотеки или утилиты, чтобы было легче композировать и связывать операции. Например, такие библиотеки, как `fp-ts`, предоставляют специальные функции для работы с монадой `Either`, `Option`, `Task`, что добавляет абстракцию над стандартными механизмами TypeScript.

Проблема: без дополнительных утилит монадические операции становятся сложными и громоздкими.

### 5. Пример на TypeScript

Давайте рассмотрим пример с монадой `Option` (которая представляет собой "наличие или отсутствие значения") и `Promise`.

```typescript
// Пример с монадами Option и Promise

// Возвращает Option с данными
function getData(): Option<number> {
return some(10);
}

// Оборачиваем Option в Promise
function getAsyncData(): Promise<Option<number>> {
return Promise.resolve(getData());
}

// Используем монаду Option и Promise вместе
getAsyncData()
.then(option => option.fold(
() => console.log('Нет данных'),
(value) => console.log(`Значение: ${value}`)
));
```

Здесь, даже для простого примера, приходится использовать вложенные операции (`then` для `Promise`, `fold` для `Option`). Если добавить больше сложных операций, код быстро становится трудно читаемым и поддерживаемым.

### 6. Заключение:
Проблемы TS + HLS в контексте монад связаны с:
- Сложностью типизации и композиций монад;
- Трудностями в работе с асинхронными монадическими структурами;
- Необходимостью использования дополнительных библиотек для упрощения работы с монадами.

Монады — мощная концепция, но их реализация в TypeScript не всегда проста из-за сложных типов и асинхронных вычислений.
image.png52 Кб, 1001x647
509 3286812
Эх, помню 2 года назад, целый день голову ломал над этим кодом, тупо понять не мог, что тут происходит.
Кое-как сделал, заткнул дырку, и забил.

Щас наткнулся на этот же код, смог понять за 10 секунд, что тут и как. А тогда сидел, вообще нихера не понимал, что тут творится...
Какие-то кложуры, колбэки, апплаи... Щас смешно немного.
510 3286877
>>86631
Нахуй мне открывать сайт твоих протыков?
511 3286878
>>86877

>твоих протыков


Я не знаю что это значит. Речь про официальный сайт неста. Ты так пытаешься троллить, это должно быть смешно?
512 3286913
>>86878
Ты так часто повторяешь «официальный сайт неста», наверное, думаешь это охуительно значимое явление? В твиттере написали?
513 3286981
>>86076
NESTJS - это фреймворк для тех, кто до сих пор не переучился с JAVA или .NET. Посмотрите биографию создателя - это типичная .NET макака которая вместо того, чтобы учить JS стала переделывать JS под то, что привыкла видеть

Поэтому у нас вместо двух коротких записей, одной в файле cats.ts
findAll() { return 'This action returns all cats' }

И второй в условном router.ts
cats: [ findAll ]

или альтернативно в schema.ts для gql
catsFildAll: findAll()

Мы пишем этого монстра
@Controller('cats')
export class CatsController {
@Get()
findAll(): string {
return 'This action returns all cats';
}
}

Второе, давно уже перекатываются все на сокеты. Эти GET/POST/PUT и прочее говно - давно уже должно сдохнуть. Нахуй вообще HTTP и его заголовки. Всё, что тебе нужно, чтобы слать на сервер запросы - это сгенерировать токен и слать всё через Вебсокеты. Подключаешь ws или uWebSocket и gql и ебашишь данные, при этом тебе ещё плейграунд документацию генерирует. Поэтому по возможности выкидывайте каку, подкллючайте отдельно либы и пишите норм
514 3286987
>>86981
Опять этот вебсокетодебил принес из твиттера свое говно
515 3286999
>>86701
Монады - это говно собаки. Это концепция из функционального программирования которого не существует. Нет никакого функционального программирования. Всё программирование в мире, если угодно, имеративное. Хотя императивного никакого нет - это просто термин, придуманный в противопоставление функциональному. Функционального не существет, императивного тоже нет, есть просто программирование. Открываете код любого драйвера, компилятора, браузера - вот оно, программирование, последовательное исполнение инструкций. Так работаю процессоры - последовательно делая операции с числами в регистрах. Для описание этих операций придумали ASM. Потом язык C, как инструмент автоматизации генерации ASM. Потом C++ - как набор концепций для автоматизации того, что приходится писать на C. В толм числе виртуальные машины - как способ создания песочницы, работают также. Весь мир программирования работает так, что автоматизирует генерацию ASM.

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

>Например, асинхронные вычисления в JavaScript (`Promise`)


Нет, нельзя. Промис носит своей целью некое удобство программирования. Вот представь, что мы запустили два треда. В первом мы получаем значение "a" и "b", не важно как, пусть это буду долгие вычисления или долгий запрос куда-то. Во втором треде, мы хотим, когда "a" вычислилось, сразу использовать его, а не ждать, когда ещё и "b" посчитается. Для этого были рождены промисы в крестах. От-туда с теми же целями они перекочевали в другие языки.

Каким хуем тут монады? А никаким. Это просто желание создателей функциональной шизы примазаться к программированию. И всё шиза, что выдал чатгпт, не имеет никакого смысла
516 3287012
>>86999
Монады, как и промисы - это абстракции для решения задач. Да, монады это слишком generic-абстракция, и для большинства программистов без математического образования не подходит, однако именно программисты с образованием придумывают новые удобные абстракции, а не макаки. Да, те, кто пытались примазать монады как есть - туповаты, но не все образованные люди такие.
517 3287017
>>86812
Еще смешнее что в реальной разработке это все почти не используется и за пределами собесов не встречается.
518 3287018
>>86987
Олигофрен нафантазировал, что я захожу на твиттер
519 3287026
>>87018
Заходишь на Хабр, читать переводы из Твиттера?
520 3287028
>>86631
Как раз наоборот. Что-то маленькое запустить на несте норм. Дальше проект начинает раздуваться, множатся классы, зависимости, абстракции с какой-то чудовищной скоростью.
521 3287030
>>87028
Ну так это то, что нужно для огромной команды разработки, где можно любую задачу разрезать на миллион компонентов и разделегировать на миллион макак.
522 3287037
>>87012
Нет. Монады - это не абстракция. Это вымышленное говно. Объясняю, что такое абстракция. Абстракция - это выделение общих свойств и отбрасывание необщих. Другими словами, у нас есть множество объектов, они чем-то похожи, а чем-то непохожи. Мы берём, отбрасываем то, чем они не похожи, оставляя общие свойства - это операция абстрагирования, в результате которой получается абстракция.

От чего абстрагируется промис, понятно - выше в одном из предыдущих сообщениях я написал. Есть много случаев, когда в первом треде надо получить данные из второго треда, когда первый ещё не закончил считать. Под эту общую задачу появляется промис

От чего абстрагируется монада? Тут ты дашь жидкого, так как на сможешь объяснить

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


Это говно не подходит ни для чего. Ты же просто перепасчиваешь говно из гугла. Возможно это гпт. Это говно не работает. Обычные циклы и ветора - гораздо более пощная штука, чем твои монады

>однако именно программисты с образованием придумывают новые удобные абстракции


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

>те, кто пытались примазать монады как есть - туповаты, но не все образованные люди такие


Это вообще понос. Типо, это не монадоиды придумали дрисню, а вы не доросли до монад (что там доростать, если это убожество). Так что это может сработать на тех, кто не шарит. Но меня хуй проведёшь
523 3287042
>>87026
Я не сижу на помойках
524 3287057
>>87037

> промис - панятна, монада - нипанятна


О чем и речь, макакам недоступно

> не подходит ни для чего


Макакен, милый, с помощью математики решается гораздо больше задач, чем с помощью программирования макаками

> рождаются, а не придумываются


Еще раз, милый макакен - абстракции придумываются, бывают простые и понятные макакам, бывают сложные. Никакая макака ни из какого опыта своего не обобщит никакую абстракцию, у нее нет мозгов на это

> вы не доросли до монад


Ты не понял самого главного, макакен - нет ничего плохого, в том что ты макака, почему тебя это задевает? Монада - плохая для программирования абстракция, потому что требует слишком дорогих математиков вместо макак, нерентабельно.
Тот, кто пытался присунуть монады в программирование - глупый и тупой, несмотря на определенные знания в математике. Макака, выполняющая примитивные задачи - умнее его.
Сможешь второй раз осилить?
Если что, я не тот, кто тебе гпт копипастил, я мимо проходил
525 3287058
>>87042
Но помои в голову себе залил и нам тут эти помои продаешь
526 3287071
>>87058
Я не заливал ничего себе в голову. Я не мыслю так, как ты. Я аргументирую каждое слово.

Ты же просто пизданую хуйню, что мой подгод говно - ни примеров кода, ни резъёба. Вот, я тебе и отвечаю также, что ты хуй. Пока не будет что-то внятное с твоей стороны, мои ответы будут соответсвующими
527 3287077
>>87071
Я же сразу объяснил, твой подход говно, потому что им пользуются полторы калеки в Твиттере, не таких как все, особенных у мамки. Качество подхода определяется исключительно массовостью, дорогой нитакусик.
528 3287088
>>87077

>Я же сразу объяснил, твой подход говно


Ты ничего не объяснил, ты пернул в лужу

>потому что им пользуются полторы калеки в Твиттере


Я не строю свою логику на твиттере, о чём тебе сообщил сразу, я исхожу из того, чтобы использовать лучше средства. Нахуй слать HTTP заголовки, если их можно не слать. Я и не делаю

>Качество подхода определяется исключительно массовостью


Я предполагал, что скоро в диалоге появится этот тезис. Нет. Массовость - всегда говно. Пирожки у метро - это массово. Жить в человейнике - это массово. Получать среднюю зарплату - это массово. Массово всегда = говно. Массово - это то, что может освоить каждый. Я говорю про лучшее, а не про то, что может осилить каждая макака. Тем более, у меня нет никаких проблем сделать тот же REST API. Я его не делаю не потому, что не могу, а потому, что это говно собаки. А вебсокеты не делают не потому, что там какие-то минусы, а потому, что это чуть сложнее, туториалов мало, и посоны в чатиках и курилках такое не обсуждают
529 3287095
>>87088
Нитакусик, твое мнение нам, быдлу, неинтересно, зачем ты приперс продавать свои помои нам? Ищи себе подобных не здесь
530 3287127
>>87057
Эти приколы со мной не работают, я же сказал, что ты меня хуй проведёшь. Ты можешь сколько угодно превозносить математику. Особо забавно, что ты говоришь это мне, участнику городских олимпиад. А вот, выставить себя идиотом, это у тебя хорошо получается

А теперь к делу. Перепиши простой код с пик1 на монады. Одним циклом пожалуйста, а не двумя со всякими фильтрами. Можно пользоваться чем угодно
https://www.typescriptlang.org/play/?#code/MYewdgzgLgBAZgSwEbgIbGAmBeGAKAGwQFsEoAuGMAV2KQFMAnASkprqYG0BdHAPhgBvAFAwYBerEb0I1ArFycAjABoYS7qJgB3ABYIJ+KI2r1mQrWNCRY7Boxwxps+Z2dyoAOglgA5lF0YAFp1XgBqJxkPNyj5b3o-AOCYACZNMTEEOHw7JhgBIlIoZksMpGlUAGtS9ziAB2oIXTxcli0AXy1pKGpGMEiXKGFO4WsIEAlvEF88RBQwdEw8JQAGNeZmIA

А потом, со звёздочкой, сделай это лениво, как на пик2
https://www.typescriptlang.org/play/?#code/GYVwdgxgLglg9mAVAAmDARgghhCNkAUANjALYxQBcyYIp6ApgE4CU1A4g2M1lHEwB5a9ZgBpkANzgwAJgD5kAbwBQyZEQZRkEEEyZctAXmQBGVes3IsyY2bUat6G6fMBPGAyIyXagO4ALGA1CJwFjEnIoFiVzNR09A2d0WOR3T294-TAoFKdjawBqZGS1NWtjTINzAF9lWuVgfkIIBABnLQoGUmQ4YFQMbFwYAhMABnGWFnMWsFa4DQA6IjgAcwJO0imgA

Хочется, знаете ли посмотреть мощь твоих монад. И это я ещё не просил тебя вместо привычного итератора ++i с шагом в один элемент, делать шаги в цикле в зависимости от входных данных
image.png47 Кб, 1340x403
531 3287246
>>87057
Как ты заебала, макака.

мимо
532 3287344
>>87127

> я участник олимпиад, знаю матиматеку!!!!11111


> монады нипанятна!!!!!!


В голос с этого математика
533 3287399
>>86913
В смысле значимое явление? Смотря с какой стороны. Меня буквально спросили по каким материалам нест:
>>85030

>Скажи пожалуйста, по каким материалам лучше учить ноду, а после и нест?



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

После чего один умственно отсталый начал меня доёбывать вот тут:
>>85843

>>разработчиков неста.


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



Из милосердия к болезному попытался донести до него информацию, но видимо зря, это скорее всего был всего лишь троллинг тупостью.
537 3287404
>>87028
Значит вы что-то делаете не так. Если использовать простую и примитивную (в хорошем смысле) дефолтную архитектуру, где каждая папка (помимо какой-нибудь shared/common/utils) обозначает какую-либо фичу, то бывает уже этого достаточно. А так-то можно и DDD делать, "чистую архитектуру" и т.д., короче всё то, что есть и в больших приложениях на дотнете или спринге.
538 3287409
>>86981

>или альтернативно в schema.ts для gql


Никто не запрещает писать на графкл в несте. Но графкл это очень убогая, вредная и мертворождённая технология, так что лучше так не делать.

>Второе, давно уже перекатываются все на сокеты


Ты имеешь в виду графкл, или что? Не вижу, чтобы какие-то "все" на вебсокеты перекатывались. Кто эти все? Феникс эликсировский и всё?
539 3287473
>>87409
Никто не запрещает писать на графкл в несте. Я не про graphql расуждал, а показывал, насколько избыточен код в NestJS

>графкл это очень убогая, вредная и мертворождённая технология, так что лучше так не делать


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

>Феникс эликсировский


Это дерьмо без классов и нормальной типизации. Мне пары минут хватило, чтобы ознакомиться. То есть они в 2к24 не смолги в то, что умел C++ в 98. Зачем вы лезете во всякий мусор?

>Не вижу, чтобы какие-то "все" на вебсокеты перекатывались. Кто эти все?


Ты не видишь, потому, что обитаешь на помойке. Обитатели притона тоже не видят, кто эти все, кто хорошо живёт. Возьми веб клиент телеги, фигму, zoom, игры, да любое нормальное приложение. С тем же успехом можно пойти в PHP, и оттуда вещать, что да вообще нет тех, кто использует сокеты и демоны, HTTP-запросы и cron - наше всё; правильно, потому, что PHP в них не может (без напильника)
540 3287513
>>87473
У тебя ебанутая логика, состоящая из крайностей. По-твоему нельзя совмещать рест и вебсокеты, или что? Ты не разрабатывал серьезных проектов, очевидно. Потому что если бы разрабатывал, то понимал, что для одних задач берутся вебсокеты, для других что-то другое. А теперь скажи мне, как ты будешь кешировать графкл запросы, особенно когда у тебя огромное количество RPS?
541 3287748
>>87513

>По-твоему нельзя совмещать рест и вебсокеты, или что?


Зачем, если сокеты умеют во всё то же самое, что и рест. Ты точно также можешь открыть соединение прокинуть данные и закрыть соединение на сокетах. Другое дело, что обычно это не требуется. Лучше соединение сохранить, и гонять данные

>что для одних задач берутся вебсокеты, для других что-то другое


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

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

Все так делают. Пример с PHP и cron показателен. Бомжи на PHP не умеют в демоны в силу специфики языка - поэтому будут тебе будут рассказывать, что крон - это норм. А чё такова. При том, что нормальный демон тебе даёт больше возможностей и контроля для вызова чего-то по рассписанию. Да, это на том же петухоне с shedure напишите, всё лучше будет

Так же с API. Кто-то не освоил несколько сотен строк, чтобы разобраться, как работают сокеты - это не шутка, таких куча. Это же надо подумать, как открывать, закрывать соединение, менеджерить всё это, убивать подвисшие и т.д. Кто-то поленился разобраться с GraphQL, а чё такова, работает же, swagger накитал, мм, вкуснятина. И все эти неосиляторы ходят и говорят, что НИНУЖНА. Они, кстати, ещё любят про TS говрить, что типы не нужны. Ещё про linux - что он говно, про C++ - что язык для дедов. Я этого наслушался уже за много лет. И ты ведёшься на всё это, вторя им. Почему я определил что ты ведёшься, а не воспринял это, как твой самостоятельный выбор, я выше объяснил - критериев нет, кейсов нет

>А теперь скажи мне, как ты будешь кешировать графкл запросы


Никак. Кеширование запросов - говно для бомжей. Ты мыслишь в рамках REST. Подумай, как работают сокеты. Сокеты, если норм написаны - кидают тебе инрементально данные. Они тебе один раз выдают весь снапшот данных при входе в приложение, а потом присылают изменения. И основной поток данных - это изменения. Кешировать изменения - это шиза
541 3287748
>>87513

>По-твоему нельзя совмещать рест и вебсокеты, или что?


Зачем, если сокеты умеют во всё то же самое, что и рест. Ты точно также можешь открыть соединение прокинуть данные и закрыть соединение на сокетах. Другое дело, что обычно это не требуется. Лучше соединение сохранить, и гонять данные

>что для одних задач берутся вебсокеты, для других что-то другое


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

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

Все так делают. Пример с PHP и cron показателен. Бомжи на PHP не умеют в демоны в силу специфики языка - поэтому будут тебе будут рассказывать, что крон - это норм. А чё такова. При том, что нормальный демон тебе даёт больше возможностей и контроля для вызова чего-то по рассписанию. Да, это на том же петухоне с shedure напишите, всё лучше будет

Так же с API. Кто-то не освоил несколько сотен строк, чтобы разобраться, как работают сокеты - это не шутка, таких куча. Это же надо подумать, как открывать, закрывать соединение, менеджерить всё это, убивать подвисшие и т.д. Кто-то поленился разобраться с GraphQL, а чё такова, работает же, swagger накитал, мм, вкуснятина. И все эти неосиляторы ходят и говорят, что НИНУЖНА. Они, кстати, ещё любят про TS говрить, что типы не нужны. Ещё про linux - что он говно, про C++ - что язык для дедов. Я этого наслушался уже за много лет. И ты ведёшься на всё это, вторя им. Почему я определил что ты ведёшься, а не воспринял это, как твой самостоятельный выбор, я выше объяснил - критериев нет, кейсов нет

>А теперь скажи мне, как ты будешь кешировать графкл запросы


Никак. Кеширование запросов - говно для бомжей. Ты мыслишь в рамках REST. Подумай, как работают сокеты. Сокеты, если норм написаны - кидают тебе инрементально данные. Они тебе один раз выдают весь снапшот данных при входе в приложение, а потом присылают изменения. И основной поток данных - это изменения. Кешировать изменения - это шиза
leetcode.png17 Кб, 525x230
542 3288456
Показывайте свой.
image.png310 Кб, 1866x1528
544 3289734
Ну и лажа с этими событиями в back bone js, я уже понял почему. Когда ты жмешь на эту сраную пагинацию, все вроде норм отрисовывается. Но до меня дошло - может, события не привязываются к новой разметке? Отсюда и косяк, что работает только один раз? (Если я тыкну на эту хуйню с цифрой 10,
то вылезет 10 элементов, как и надо. Но потом, что бы я ни тыкал, ничего не меняется)
Как это лучше организовать? Может, шаблон без пагинации сделать? Как прикрутить backbone события к разметке после того, как все перерендерилось?
545 3289771
>>89734
getElementByJopa().outerHTML += 'onclick=myfunc()';
мимодаунконченый
leet code medium.jpg1 Кб, 121x49
546 3289845
Вчера решил первую Medium проблему. Поздравьте меня)
Sorting (Dutch National Flag problem). Далеко не самое оптимизированное решение, но главное - что решил!
image102 Кб, 1906x734
547 3289956
>>89845
маладец
вот реши эту изи проблему
548 3290012
>>89956
не твоя армия, иди нахуй
549 3290019
>>90012
сам иди нахуй, порватка
550 3290028
>>90019
я не твоя мать
551 3290032
>>90028
тогда папей гавна
Обновить тред
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

Скачать тред только с превьюс превью и прикрепленными файлами

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