Этого треда уже нет.
Это копия, сохраненная 31 июля 2022 года.

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

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

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

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

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

Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
2 2260778

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



бамп
3 2260782
>>60778
Нелегко, но у меня мотивация есть. Заебла работа, просто тошно уже. А если уйду, хуй я найду нормальную, да и некуда на моей развиваться, я только деградирую.
4 2260786
Огласите стек на текущий год
image.png586 Кб, 900x900
5 2260802
>>60782

>Заебла работа, просто тошно уже. А если уйду, хуй я найду нормальную, да и некуда на моей развиваться, я только деградирую.


Жиза.
6 2260814
>>60786
Тоже самое походу, в прошлом году ничего нового не появилось
7 2260823
>>60786
solidjs, apollo, rome, nestjs.
8 2260825
>>60823
Ты троллишь или я впервые эти либы вижу?
9 2260845
>>60786

>2022


>стек


Все пасаны уже перешли на дек
10 2260846
>>60845
Вот бы ивент-залупа была бы на деке. Вот бы вкатаны охуели...
11 2260896
Подскажите в вебшторме есть функция, благодаря которой можно переименовать класс дива в html и чтобы автоматически название класса заменилось бы в css и js?
12 2260909
>>60896
Нашел, охуенно!
13 2260923
>>60909

>Если/когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем

14 2260947
>>60923
Правой кнопкой по атрибуту - рефактор - ренейм

либо сразу - шифт+F6
15 2260957
>>60947

>использовать жидбрейнс


Кто-то им еще пользуется в 2022м?
16 2260959
>>60947
Часто пользуюсь, но не пришло в голову.
>>60957
Все остальное говно.
17 2260966
>>60959
Палю годноту.
Vs Code:
одно IDE на ВСЕ твои языки и фреймворки. Я на нём как миниум на 4х работал без проблем
18 2260972
>>60966
Палю годноту
notepad.exe
одно IDE на ВСЕ твои языки и фреймворки. Я на нём как миниум на 400х работал без проблем
19 2260974
>>60957
вебшторм это продукт жетбреинс?
20 2260976
>>60966
Так это пройденный этап, заебло накатывать всякие разные плагины и пердолить всякие автоимпорты и прочее.
21 2260980
>>60974
Да

>>60976
Это всё автоматизируется
22 2260986
>>60966
вскод IDE можно назвать только для жопоскрипта, для всего остального это просто блокнот с плагинами.
23 2260987
>>60980
Мне мой ментор сказал, что вебшторм - лучшая ИДЭЕха для фронтендера, так что сам юзай свой ВэСэКод
24 2260989
>>60986

>это просто блокнот с плагинами.


А что еще нужно программисту?
Консоль, плагины и пердоль код 24 на 7
25 2260992
>>60989
Профессионалам нужны профессиональные инструменты, которые ускоряют процесс работы. Это все равно что сказать - водителю нажна только баранка и педаль газа, пердоль и пердоль 24 на семь. Но сев в вольво 2020 года и затем вернувшись в жигули водитель будет вблевать от того, насколько уебищен второй вариант, как мало в нем функционала
26 2260993
>>60992
Ускоряет процесс разработки только знания терминальных команд, остальное оставьте курсоёбам
27 2260994
>>60989
Ну так вскод дерьмо как блокнот с плагинами, эта ниша уже давно прочно занята божественным ST. А если тебе нужна IDE под что-то, кроме жопоскрипта, то это почти наверняка будет какой-то жидбрейнс продукт, да и то, вебсторм/пхпсторм под джаваскрипт лучше, чем вскод, просто вскод из коробки настроен удобнее.
28 2260995
>>60993
Лол блядь, посмотрю я на тебя, как ты будешь создвавать даже простой ХТМЛ документ в блокноте. В то время как в вебшторме ты за пару движений можешь создать целые блоки кода
29 2260999
Кстати, новый облегченный редактор от жетбрейнс пробовал кто? Fleet
30 2261001
>>60987

>ментор


дементор
31 2261003
>>60995

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



Не аргумент
32 2261010
>>61003
Может битву ИДЭех устроим? каковы условия?
33 2261012
>>60999
Он еще не вышел. И будет страдать отсутствием всех плагинов еще лет 5 после выхода

>>61010

>Может битву ИДЭех устроим? каковы условия?


VS Code бесплатен и на этом можно прекратить глупую дискуссию
34 2261021
Важный вопрос:
как получить tagName класса HTML-элемента, не создавая экземпляр класса?

Например, getTagName(window.HTMLTableCellElement) должно возвращать 'TD' (ну или 'td', не важно). При этом элемент не должен создаваться. Как написать такую функцию getTagName?

Пробовал window.HTMLTableCellElement.prototype.tagName — кидает TypeError: Illegal invocation
1635381603791.jpg62 Кб, 738x703
35 2261022
>>60999

>облегченный


>на яве

36 2261025
>>61022
он не на яве
16141756612200.jpg23 Кб, 334x302
37 2261029
>>61025

>Код Fleet в основном пишется на Kotlin, соответственно, он выполняется на JVM.

38 2261039
>>61021
Зачем такие извращения? Какая цель?
39 2261040
>>61012

>VS Code бесплатен


Ты небось убунту юзаешь и с Ксяоми гоняешь?
image.png1,2 Мб, 1022x1432
40 2261043
41 2261053
>>61029
Там будет kotlin native на бекенде и html js на фронтенде
можете скринить
42 2261054
>>61039

> Зачем такие извращения? Какая цель?


Вот надо мне, например, создать экземпляр класса. Что это за класс, я не знаю заранее, он берётся динамически. Если я напишу new someClass(), а потом окажется, что someClass === window.HTMLTableCellElement, то будет TypeError: Illegal constructor, ведь надо это делать с помощью document.createElement('td');

поэтому нужна функция для создания экземпляров (в том числе HTML-классов) без этой ошибки:

function createClassInstance(Class) {
if (Object.getPrototypeOf(Class) !== window.HTMLElement) {
return new Class();
} else {
return document.createElement(getTagName(Class))
}
}

Ну вот и как это getTagName можно реализовать?
43 2261062
>>61054
Зачем ты в принципе пытаешься смешать создание обычных классов и создание html-элементов, наркоман?
44 2261073
Расскажите о своем первом собеседовании. Интересно послушать о чужом опыте.
45 2261089
>>61012

>VS Code бесплатен


Как и вебшторм. Учась, можно спиратить, а после устройства на работу можно попросить компанию оплатить.
46 2261099
>>61089
Возможно для тебя это новость, но многие люди не хотят воровать.
47 2261173
>>61062

> Зачем ты в принципе пытаешься смешать создание обычных классов и создание html-элементов, наркоман?


Чтобы можно было нормально расширять классы HTML-элементов для добавления нужной функциональности и потом их использовать наравне с HTML-элементами (и то, и другое создавать через вышеупомянутую функцию createClassInstance).

Кстати, для расширения класса HTML-элемента тоже пригодится функция getTagName(HTMLClass). Сейчас я не нашёл нужный файл с кодом, но помню, там была примерно такая функция:

function extendHTMLClass(HTMLClass, tagName) {
return class extends HTMLClass {
constructor() {
return document.createElement(tagName);
}
}
}

и от результата этой функции уже можно нормально наследовать (а то ведь напрямую от HTML-класса наследовать нельзя, будет ошибка при создании экземпляра).

Так вот, имея функцию getTagName(HTMLClass), можно намного удобнее реализовать функцию extendHTMLClass, которая вместо двух аргументов (HTMLClass, tagName) будет принимать только один (HTMLClass), а внутри уже делать const tagName = getTagName(HTMLClass); так не будет возможности того, что tagName не соответствует переданному классу, что поможет избежать ошибок.
48 2261180
>>61173
Это лютейший говнокод, наследование это и так антипаттерн ООП в 99% случаев, а ты еще и динамическое наследование накостылил. И это все еще не ответ на вопрос "нахуя тебе это нужно", на него надо отвечать с точки зрения бизнес-логики: "чтобы нарисовать вот такую штуку и вот такую", а не "ну вот у меня тут уровнем повыше еще костыль и я его хочу обслужить", потому что тут опять возникает вопрос, а нахуя тебе теперь лютый костыль, который ты обслуживаешь костылями поменьше, в которых уже сам запутался >>61021>>61054
49 2261187
Как же хочецца декораторы..
image.png39 Кб, 576x568
50 2261194
>>61187
Вы посмотрите какая красота, вы только поглядите на это. Какие чистые декораторы аккуратные, господе, боже мой. Да за каким же хуем я работаю на JS, блядь это действительно сука проклятие. Это сука, наказание ебаное.
51 2261203
>>61173

>Чтобы можно было нормально расширять классы HTML-элементов для добавления нужной функциональности и потом их использовать наравне с HTML-элементами (и то, и другое создавать через вышеупомянутую функцию createClassInstance).


Алё, тебе шаблоны прямо в среду завезли, расширяй и наследуй сколько хочешь почти без костылей.
https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_templates_and_slots

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


Так потому что это не классы, а интерфейсы.
52 2261208
>>61194

> эта транспиляция


Не, ну так-то я тоже могу бабеля подключить и обмазываться декораторами без смс и регистрации, но ведь я только что этого же бабеля выпилил из dev-сервака, чтобы порезать время сборки... Тяжело
53 2261214
>>61194
По крайней мере любой мидломакаке с любого жава решетка пхп стека все понятно что к чему.
image.png6 Кб, 312x36
54 2261235
Что с ебалом, программисты безопасного типизированного кода?
55 2261256
>>61235
Гандоны тоже считаются безопасными, но тем не менее ты родился.
56 2261271
>>61235

>безопасного


А кто коду типошизиков-то угрожает, все хотел спросить? Их собственные коллеги?
57 2261274
>>61194
Серанул с говнокода на пике.
image.png100 Кб, 1823x892
58 2261277
59 2261290
>>61180

> И это все еще не ответ на вопрос "нахуя тебе это нужно", на него надо отвечать с точки зрения бизнес-логики: "чтобы нарисовать вот такую штуку и вот такую"


Так ведь много для чего нужно. Чтоб новый функционал добавлять элементам. В основном для динамических таблиц (UI для заполнения таблиц учёта выпущенных машин, автоматическая проверка и генерация отчётов о соответствии контрольных точек нормам и т. д.), да и вообще для любого поведения элемента.

Думаю, это всё можно было бы на том же Реакте сделать намного проще, но сторонние библиотеки нет возможности использовать из-за норм информационной безопасности на предприятии (оно хоть и не режимное, но выпускает продукцию для авиационной промышленности, поэтому всё довольно засекречено, и выход в инет у нас заблокирован, свои носители цифровой информации тоже подключать запрещено).
60 2261292
>>61277
Всё правильно сделал. Если хотят моков - пусть делают на бэке, нехуй плодить сущности на фронте.
61 2261298
>>61292
Это >>61194 и так был бекенд
суть моего сложного юмора в том, что либы faker и color разъебали пол интернета, несмотря на то, что код обмазан тестами и типами
62 2261299
>>61290
Так ты не сказал, зачем тебе такой пердолинг с конструкторами и тэгами. Компоненты ты можешь и обычными функциями создавать. А уж какой там html тэг оборачивает эта функция другие компоненты ебать не должно.
63 2261300
>>61292
толсто как будто на беке жс не бывает
64 2261305
>>61300
Фейкер в основном исользуют, чтоы нахуярить несуществующих сущностей на фронте. А на бэке нагенерить говна можно и без него.
65 2261306
>>61298
А мораль какая? Не пользоваться презервативами, когда живешь среди сифилитиков и спидозников?
66 2261308
>>61298

>несмотря на то, что код обмазан тестами и типами


Если обмазан тестами а нахуя еще фейкер нужен, если не для тестов?, то ничего сломать не могло, там до любого деплоя/билда бы вылезла эта проблема, если тесты реально используются и что-то проверяют, а не для галочки. Типы да, но это не секрет, что типы нихуя не делают и не могут делать для проверки реальной работоспособности программы.
67 2261310
>>61305
А поч на фронте нельзя нахуярить без него?
или вот хорошая штучка http://mockjs.com/examples.html https://github.com/nuysoft/Mock
68 2261317
Ладно. Всё равно тупаскрипт это база в 2022. Лучше языка нет (только C# на бекенде)
69 2261318
>>61308
Только не пизди что типы нихуя не дают, ускорение разработки сильное дают, хотя бы благодаря тому что ты знаешь всех пользователей интерфейсов.
70 2261320
>>61317
Стесняюсь спросить, а ты хоть на каких-то языках писал в своей жизни, кроме жопоскрипта, чтобы такие выводы делать?
71 2261322
>>61320
Python, PowerShell, C, C++, C#, JavaScript, TypeScript
72 2261323
>>61203
>>61299

Ну хз, с шаблонами и функциональными компонентами работать не доводилось.
73 2261325
>>61318

>ускорение разработки сильное дают


Щас будет "РЯЯЯ, бойлерплейт писать надо".
Но ведь abstract/interface это лучшее из мира ООП, что помогает в разработке. Ты уж точно не обосрёшься с ф-цией или классом, когда знаешь, что от него нужно по ТЗ
74 2261326
>>61318
С чего ты вообще взял, что "знание всех пользователей интерфейсов":

1) ускоряет разработку
2) стоит того, чтобы писать сотни и тысячи строк с описаниями типов вместо писания реального кода, который что-то делает?
75 2261329
>>61322
Я говорю про опыт реальной разработки реальных продуктов, а не "в универе лабу написал" или "скрипт наговнокодил по туториалу один раз".
76 2261330
>>61326
В том, что интерфейс пишется очень быстро и лаконично.
Интерфейс или абстрактный класс это черновик. Ты на самом верхнем уровне продумываешь как должен себя вести объект
А потом просто пишешть и всё. Как будто сам себе ТЗ пишешь
77 2261332
>>61329

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


C, C++, JavaScript, TypeScript
78 2261333
>>61325

>когда знаешь, что от него нужно по ТЗ


Но ведь ты не знаешь. Любое ТЗ - это прежде всего описание функционала, и типы никаким образом тебе это описание не дадут и дать не могут, бизнес-логика из них не выводится.
79 2261334
>>61333
В ТЗ пишешь свой уровень "CRUD", допустим. Потом свой CRUD связываешь с логикой кабана через бизнес-слой
80 2261335
>>61332
C, C++ убери еще из этого списка и будет похоже на правду. Но вообще да, по сравнению с сями любой человеческий высокоуровневый язык программирования хорошим покажется.
81 2261336
>>61335

>убери еще из этого списка и будет похоже на правду


Я два года пердолил и больше не хочу возвращаться
82 2261337
>>61330

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


А при чем тут типы? "знаю сигнатуру типов" не равняется "знаю поведение", это две абсолютно разные вещи с разных планет.
83 2261338
>>61337
Так поведение в абстрактном классе придумывается
84 2261340
>>61338
Придумывать ты можешь где угодно, хоть на очке, хоть на листке бумаги, вопрос в том, каким образом поведение соотносится с type signature? Правильный ответ - никак, потому что из "эта функция принимает строку и возвращает строку" ты никогда не выведешь "а, ну это наверное локализация там реализована".
85 2261341
>>61326
Потому что код приходится постоянно рефакторить из-за субъективных причин. Например меняются требования в ТЗ. Хорошо когда ты знаешь кто использует интерфей который ты хочешь обновить. Отладка тоже облегчается (но не сильно), меньше гадать по ключам в стеке вызова что это за объект ты смотришь
86 2261342
>>61340

>поведение


За последние 20 лет написали все возможные типовые решения на любую хотелку кабана
87 2261343
>>61341
Термин "рефакторинг" означает изменение внутренней структуры кода без изменения внешнего интерфейса, так что тебя ебать не должно, кто там что использует снаружи. И при рефакторинге тебе нужно знать одну вещь - что поведение зарефакторенного кода не поменялось. А так как мы уже выяснили, что типы поведение не определяют, то и при рефакторинге они не помощники, любой рефакторинг требует прежде всего тестов. А если ты перелопачиваешь поведение всего кода в проекте, то во-первых это уже не рефакторинг, а обычная имплементация фич, а во-вторых тебя так же должно интересовать в первую очередь поведение этого кода, а не то, что там манятип правильный передался.
image.png93 Кб, 480x360
88 2261344
89 2261347
>>61343
Это уже схоластика пошла. Рефакторинг это как раз улучшение структуры кода и его соответствия задаче. А то что ты говоришь это простая разработка, то есть расширение поведения, добавлением нового кода, согласно O правилу из SOLID.
90 2261351
>>61347

>и его соответствия задаче


Любой рабочий легаси-гавнокод будет соответствовать задаче и выполнять все хотелки бизнеса
91 2261352
>>61347

> Рефакторинг это как раз улучшение структуры кода


Гугли определение, но я тебе могу его сказать и так: Рефакторинг - это улучшение внутренней структуры кода, без изменения поведения этого кода

>и его соответствия задаче


Никакие изменения поведения к рефакторингу не относятся, это обычная доработка/багфикс, что угодно, но не рефакторинг. В процессе рефакторинга ты можешь обнаружить какой-то баг в коде, потому что код стал лучше и читаемее, и тут же поправить этот баг, но это побочный эффект, а не цель рефакторинга.
92 2261355
>>61351
Легаси и рефакторят редко. А рефакторят когда проект еще пишется и бизнес только выявляет требования к продукту. Тогда и тесты еще пишутся и переписываются для новых требований. Ты будешь спорить что нужно рефакторить и уменьшать тех долг постоянно?
93 2261359
>>61355

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


За эти копейки пусть рефакторят сами, а я буду просто закрывать задачки из джиры
94 2261360
>>61352
Я ж сказал схоластика. Люди периодически рефакторят код чтобы приспособить его к задачам. Да, потому что накапивается долг. Никакой тебе архитектор заранее не напридумает что у маркетолога на уме будет через месяц.
95 2261365
>>61360
Что такое технический долг?
96 2261368
>>61365
всё, понял. Обычно МЫ увольняемся быстрее, чем он переполняется
97 2261369
>>61365
Долг служить кабану славно, усердно и очень исправно.
98 2261373
>>61365
Как супружеский, только для компьютерщиков.
99 2261378
>>61360

>Люди периодически рефакторят код чтобы приспособить его к задачам


"Приспособить к задачам" и "реализовать задачу" - это две абсолютно разные вещи. Ты путаешь процесс с целью. Разумеется, конечная цель рефакторинга - это чтобы код можно было лучше читать, удобнее менять, и так далее. Но сам процесс рефакторинга изменений в функционале не подразумевает, они идут уже следующим этапом.
100 2261381
>>61365
Когда чтобы добавить одно поле в форму, тебе нужно ебаться два дня и потом еще неделю фиксить баги.
101 2261387
>>61381
Всю жизнь так и работаю.
Добавляю один параметр, а там где-то пол приложения взрывается нахуй
102 2261388
>>61378
Ну я и говорю приспособить к задаче. Чтобы можно было хотелки заказчика выразить в к оде без потери им расширяемости, не просто хатэтэпе метод дернуть. Вот у тебя есть к примеру класс Messanger c с методом sendMessage(message: string). Приходит кабан и говорит: "Раньше мы отправляли только текстовые сообщения через сервис наших партнеров, теперь появилась возможность отправлять картинки и файлы. Сычов реализуй". Заменить метод sendMessage(message: string) на sendMessage<T extends MessageContainer>(message: T) это рефакторинг или разработка?
103 2261391
>>61388
Разработка разумеется, ты добавляешь дополнительный функционал в проект, которого раньше не было.
104 2261392
Пиздец. Можно хоронить JS Backend
Куда перекатываться из JS Backend?
105 2261394
>>61388

>Раньше мы отправляли только текстовые сообщения через сервис наших партнеров, теперь появилась возможность отправлять картинки и файлы. Сычов реализуй


Сычёв правил DTO и всё в порядке
106 2261397
>>61387
И как, нормально тебе? Не думал, что пора что-то менять в своем подходе к программированию?
107 2261399
>>61391
Но я же не решаю задачу таким способом. Я просто меняю интерфейсы. Я все поменял код не сломался, все тесты я обновил чтобы они параметрический код тестировали. Но я не могу придти к кабану и сказать задача выполнена картинки отправляются. Отправляются по прежнему только строки. Но код стал больше соответствовать текущим задачам.
108 2261400
>>61397
Так я только на легаси-проектах и сижу. Нового и крутого никогда не видел
109 2261409
>>61399

>Я просто меняю интерфейсы


И какой смысл в этом изменении? Ты точно так же отправляешь строку, но теперь оборачиваешь ее в лишний бесполезный объект. Нахуя? Данное изменения не имеет никакого смысла в отрыве от задачи по отправке картинок и вносить его отдельно так же смысла нет, сразу уж добавляй картинки туда. Рефакторингом это было бы, если бы sendMessage функция была простыней из сотни строк, а ты бы ее внутри разбил на функции поменьше, чтобы код читался и понимался лучше. Такое изменение имеет смысл в отрыве от любой другой задачи и его можно внести когда угодно, это и есть рефакторинг.
110 2261422
>>61400
При чем тут легаси или не легаси? Ты пишешь код и от твоего кода все ломается нахуй. И не раз, и не два, а регулярно и как правило. Как думаешь, хорошо это или плохо и что говорит о тебе как о программисте?
111 2261440
>>61409
Я ничего не оборачиваю

interface ImageContainer {
url: string;
w: number
h: number;
}

type MessagContainer = ImageContainer | string

У месенжера просто будет больше пользователей пользователей.
112 2261441
Ребят, а если я патлатый меня с собесов нахуй посылать не будут?
Вообще как к этому относятся? Есть ли тут патлатые, которые норм устроились?
113 2261444
>>61441
Смотри на картинках как выглядят пхп, жс, руби, крестах кодеры и иди туда на кого больше похож.
114 2261446
>>61441
Посылать тебя никто не будет, если не тупой)
115 2261447
>>61440
Так это еще хуже, во-первых ты заложил туда базу для классического говнокода: когда подобная функция делает разные вещи в зависимости от флага/типа переменной, то это означает, что на самом деле у тебя должно быть две отдельные функции, во-вторых ты даже не написал ни строчки кода, просто зачем-то заранее начал ублажать конпелятор предварительными ласками.
116 2261449
>>61441
Если не налысо выбритый даже в паху (это тоже проверяют) и не обрезанный/кастрированный, то заставят вертеть деревья на туалетной бумаге.
117 2261451
>>61392
Зачем тебе Express в 2022? nest js учи, он кайфовый. Express игрушечный, на нем редко проекты толковые пишут
118 2261452
>>61449
Я думал нужно только попку выбрить полностью, а остальное не важно..
119 2261457
>>61447
Почему ты решил что она делает это сама а не делигирует? С точки зрения интерфейса он продолжает выполнять свою абстрактную задачу - отравлять сообщения. Рефакторинг же и направлен на то чтобы абстракцию увеличить.
120 2261464
>>61452
Ты тредом ошибся)
121 2261470
Народ, всем привет. Есть вопрос по методологии БЭМ. Не могу понять принцип единственной ответственности. Например, у меня есть блок с элементом и модификатором (допустим кнопка, пофиг). Дальше я должен придать блоку свойства: рамку, отступы, шрифты, цвета итд. Так вот, как должны правильно распределяться св-ва между блоком, эл-том и модификатором?
122 2261472
>>61457

>Почему ты решил что она делает это сама а не делигирует?


Так а нахуя ей что-то делегировать? Если у тебя есть клиенты, которые отправляют только текстовые сообщения, а теперь появились те, которые хотят отправлять картинки, то пусть первые остаются как были, а для вторых делай функцию sendImage.

>Рефакторинг же и направлен на то чтобы абстракцию увеличить.


Абсолютно нет, рефакторинг направлен на изменения кода, но изменения могут быть любыми, в том числе и уменьшение числа абстракций. И так-то любая абстракция сама по себе делает код менее читабельным, потому что вместо прямолинейного кода тебе теперь нужно держать в голове и знать о какой-то еще структуре. Поэтому вводить их нужно только когда это увеличение сложности нивелируется другими факторами, например когда абстракция удачно изолирует связанный блок логики. Сами по себе абстракции ради абстракций код ухудшают, а не улучшают.
123 2261487
>>61470
Тут про программирование а не про говноверстку
А вообще бэм параша css in js заебись
124 2261495
>>61472
У тебя получается что клиенты которые отправляют сообщения зависят от интерфейса sendImage. Это нарушение I из SOLID.
Тут приходит кабан и говорит: "У нас что много клиентов стало, надо отправку сообщений в очередь ставить. Сычев делай" Ты пишешь планировщик очереди: Изображение, Изображение, Текст, Изображение, Текст. Тебе нужно выделить интерфейс
interface MessageSender {
sendMessage(message: string): void;
sendImage(image: ImageContainer): void;
}
и приделать его планировщику чтобы клиенты отправлять сообщения через планировщик а не через Messanger непосредственно. Какому шайтану нужно чтобы планировщик делал два метода, когда они обусловлены только инкапсуляцией данных сообщений. При таком подходе у тебя количество методов будет расти как снежный ком при слоистой архитектуре.
sendMessage
sendImage
sendMessageWithPadding
sendImageWithPadding
sendMessageWithNoResponse
sendImageWithNoResponse
sendMessageWithPadding
sendImageWithPadding
sendMessageWithPaddingAndNoResponse
sendImageWithPaddingAndNoResponse
125 2261499
>>61495

>У тебя получается что клиенты которые отправляют сообщения зависят от интерфейса sendImage


Что несешь? Тот, кто пользуется функцией sendImage - зависит от ее интерфейса, тот, кто не пользуется - не зависит. Как и с любой другой функцией.

> Это нарушение I из SOLID


Нарушение как раз у тебя, потому что это ты хочешь слепить монструозную функцию, принимающую несколько типов аргументов и делающую разные вещи в зависимости от этих типов(general-purpose interface), вместо того, чтобы иметь отдельные функции для отдельных вещей(client-specific interface). Видимо все в голове уже перепуталось, только акроним запомнил.

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


Код пишется под существующие реальные требования, а не под выдуманное тобой на пустом месте "а если".
126 2261503
>>61021
У HTMLQuoteElement какой по-твоему долен быть тег <blockquote> или <q>?
А у HTMLHeadingElement h1, h2, h3, h4, h5 или h6?
127 2261506
>>61499

>под существующие реальные требования


Требования "существуют" континуально по времени, а не только в одном документе ТЗ
128 2261514
>>61499
И я ж тебя спросил откуда ты взял монструозную функцию? Messanger делегирует свою работу. Он просто абстракция отправки особщений в архитектуре. Сейчас ты будешь нужность абстракций отрицать и действительно напишешь десяток функций потому что одни клиенты исторически отправляли только сообщения, потом появились клиенты которые отправляют еще и изображения, потом напишешь метод для клиентов нового протокола с падингом, потом метод для асинхронных клиентов которые не ждут ответа.
129 2261515
>>61487
css/scss modules тоже неплохо
130 2261520
>>61514
sendMessage('hui') и sendMessage({url: '...', w: 123, h: 123}) - это две разные функции и два разных интерфейса. Но если клиент использует одну из них, то он автоматически привязывается ко второй, хотя вторая ему нахуй не нужна и знать он о ней не хочет. Именно так нарушение принципа разделения интерфейсов и выглядит, и именно это ты хочешь сделать.
131 2261527
Я/мы Marak Squires
133 2261530
>>61528
У тебя конпелятор головного мозга, попробуй его выключить и начать думать не типами, а тем, как функции используются в реальном коде и что они реально делают.
134 2261534
>>61530
Я тебе описал практическую проблему у тебя с игнорированием абстракций. Проблема не в том что у клиента много методов которыми он не пользуется, а что методы содержат информацию об содержании сообщения, потом появится суффикс для чего-то другого. Вместо того чтобы создать интерфейс инкапсулирующий отправку сообщений. Я начал на ноде ровно как ты писать, на одних функциях и модулях. Кроме лапши ничего не вышло.
135 2261539
Указание типов исключительно проблема нежелания или неумения писать документацию к своему коду, в которой эти типы и должны быть описаны вместо засирания ими кода.
136 2261550
Какое же react-window все таки дерьмо. Вот почему react lazyload так прост и интуитивно понятен (обернул пикчу в компонент и все), а react window настолько контринтуитивен и уебищен? По сути весь список надо полностью переделывать.
137 2261554
>>61534

>Вместо того чтобы создать интерфейс инкапсулирующий отправку сообщений


sendMessage({...}) и sendMessage("...") - это разные функции с точки зрения пользователя этого кода, делают они разные вещи и принимают разные аргументы, то есть имеют абсолютно разные интерфейсы. Тот факт, что они засунуты в одну и ты внутри переключаешься между телом одной функции и телом другой по типу входящего аргумента, не дает тебе "инкапсулирующий интерфейс", а только вводящий в заблуждение говнокод.
138 2261580
>>61451
На Nest еще меньше вакансий. Да и хайп по нему уже прошел.
139 2261593
>>61554

>это разные функции с точки зрения пользователя этого кода, делают они разные вещи



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

Посмотри на интерфейс MessageChannel из спецификации WebAPI. Там одна единственная функция postMessage - оперирует разными типами. В том числе логически - она может как производить структурное копирование сообщения, так и передавать владение объектом.
140 2261605
>>61593

>Нет, не разные. Они обе делают одно и тоже - отправляют сообщение. И сообщения имеют право быть разного типа.


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

>Городить для каждого типа с десяток функций не нужно.


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

sendMessage("..."); sendImage({...})

Либо так:

sendMessage(Message.text("")); sendMessage(Message.image({...}))

Второй способ очевидно сложнее и вводит больше абстракций в код, плюс требует переработки всего существующего кода, поэтому если нет веской на то причины, то по умолчанию должен использоваться более простой, т.е первый. Но твой вариант ни в каком случае не используется, это на 100% классическая архитектурная ошибка.
141 2261615
>>61605
Теперь расскажи как должен выглядеть диспечер очереди сообщений для клиентов? Надеюсь ты не собираешься их переписывать чтобы они об очереди знали.
142 2261618
>>61615
Как угодно - в первом примере у тебя скорее всего под капотом есть какая-то общая функция отправки, куда ты передаешь уже сформированное сообщение(а если нет, то добавить пять секунд), в нее и суй свой диспетчер, если тебе по умолчанию нужно все сообщения начать отправлять асинхронно. Во втором примере очевидно как. Но если для некоторых клиентов нужно оставить отправку синхронной, то тут только переписывать весь код на второй вариант и вводить что-то вроде sendMessageAsync(Message), это как раз и был бы пример причины, ради которой усложнение архитектуры того стоит.
143 2261621
>>61618
Ты предлагаешь сделать две очереди? Одну для sendMessage а другую для sendImage? у тебя ж это "разные методы"
144 2261622
>>61605

>автоматически привязываюсь ко всему интерфейсу данной функции


Да что ты такое несешь-то. Как ты к нему привязываешься, если ты его не используешь? Ты про дженерики что-нибудь слышал?
145 2261625
>>61621

>Ты предлагаешь сделать две очереди? Одну для sendMessage а другую для sendImage?


>в первом примере у тебя скорее всего под капотом есть какая-то общая функция отправки, куда ты передаешь уже сформированное сообщение(а если нет, то добавить пять секунд), в нее и суй свой диспетчер, если тебе по умолчанию нужно все сообщения начать отправлять асинхронно


Нахуй ты отвечаешь, если читать не умеешь?
146 2261628
>>61622

>Да что ты такое несешь-то. Как ты к нему привязываешься, если ты его не используешь?


Берешь блять и привязываешься. Если ты используешь функцию, то ты завязан на весь ее интерфейс, в том числе тот, который не используется. В интерпретируемом языке это не так очевидно, и там это просто code smell, который говорит, что одна функция делает две разные вещи. Но вы же тут тупоскриптеры должны знать, что ISP формулировался в первую очередь для проблемы рекомпиляции: когда модуль A зависит от модуля B, то он должен рекомпилироваться при изменениях в модуле B, даже если эти изменения модуль A не ебут никаким боком. Хотя не удивлюсь, если это для вас новость.
147 2261630
>>61625
Зачем тебе модифицировать низкоуровневую функцию отправки через АПИ партнеров чтобы туда засунуть очередь? Про O (OCP) из SOLID слышал?
148 2261631
>>61630
Зачем ты модифицируешь низкоуровневую функцию отправки, вместо того, чтобы изолировать ее в свою функцию и модифицировать там как надо? Ты дурачок и не умеешь новые функции создавать? Ну это твои проблемы.
149 2261632
>>61290
Есть реактивная либа на 500 строк, ее можно распечатать и принести или на память забить если ты совсем отбитый. То что ты сейчас нагородишь приведёт только к неподдерживаемому пиздецу в дальнейшем.

https://github.com/jegan321/nuro/blob/master/dist/nuro.umd.js
150 2261634
>>61628
Она не делает, она делегирует часть логики например стратегии
151 2261636
>>61631
То есть ты сделаешь две функции queueImage и queueMessage?
152 2261638
>>61634
Давно у тебя ясновидящие клиенты появились, которые знают, что там функция внутри делает и зачем, а не работают исключительно с ее интерфейсом, который явно говорит "если ты мне дашь вот эту хуйню, то я сделаю одно, а если дашь другую хуйню, то я сделаю что-то другое"?
153 2261639
>>61636
Это троллинг тупостью?
154 2261640
>>61638
Я в отличие от тебя код показал. У меня клиенты знают только sendMessage
155 2261641
>>61639
Т. е ты все таки будешь писать одну функцию queue для объекта и строки?
156 2261644
>>61640
У тебя есть два типа клиентов, один отправляет сообщения: sendMessage("hui"), а второй картинки: sendImage({...}). Различия между ними только в типе аргумента, но вся логика засунута в одну и ту же функцию и переключается по if-else. То есть оба типа клиентов привязаны к обоим типам формирования сообщения, даже к тому, который им не нужен. Я не знаю, как тебе объяснить еще, ты слишком тупой или троллишь.
88368d39-b58c-52fd-b1fa-5a8e9b4a2252.jpeg187 Кб, 900x1200
157 2261646
>>61644
Зато ты умный настолько, что не различаешь интерфейсы и реализацию.
image.png16 Кб, 902x279
158 2261647
>>61641
На пальцах для дауна.
image.png62 Кб, 489x501
159 2261654
>>61628
Хуйни не неси. Даже в по жопу статически типизированный жаве тебе ничто не мешает разделить эти интерфейсы.
160 2261655
>>61647
Сычев, я у видел что у наших конкурентов отправляется изображение вместе с подписью, а у нас отправляется только одно изображение. А еще сообщения в том числе текстовые, могут отправятся с датой отсроченной доставки (например чтобы поздравить с праздником).
161 2261661
>>61647
Еще смотри ты засунул очередь внутрь sendMessage в низкоуровневую отправку, хотя sendMessage могла бы быть консумером очереди. Потому что ты не смог в функциональном стиле извлечь интерфейс из sendMessage и передать в клиента диспетчер сообщений с таким же интерфейсом
162 2261677
>>61451
>>61580
На чём тогда писать backend в 2022++?
Я писал только на ванильном JS бекенд, микросервисы
163 2261678
>>61677
Я к тому, что зарпалаты JS бекендеров с каждым годом всё меньше и меньше (фронтовики и фуллстак только растёт). Такими темпами, через 5 лет судьба express будет жалкое ковыряение легаси без тестов за 50 тысяч рублей
164 2261687
Нунчики, стоит ли выносить за пределы компонента функции, которые используются в самом компоненте? Т.е. они не будут создаваться каждый раз при ререндере заново. Я понимаю что это нанооптимизация, но если учесть, что этот рефакторинг не стоит буквально нихуя, стоит ли так делать или хуета по кодстайлу получается?
165 2261689
>>61687
Если эта функция чистая, то нахуй её обьявлять внутри другой функции?
166 2261691
>>61689
Да в том и дело, что так зачастую всегда и делают, во всяком случае я в работе вижу такое везде. Хотя почти все функции в компоненте можно вообще выносить за пределы компонентов, ну тут наверное у лида лучше спросить
167 2261692
>>61691
Так они неправильно делают. Ты тоже неправильно делаешь, когда смотришь на других.
168 2261693
>>61687
Если там нетривиальная логика, что прям нужно в отдельную функцию выносить, то это надо делать чистой функцией, экспортить и отдельно тестировать.
169 2261700
>>61580

>На Nest еще меньше вакансий. Да и хайп по нему уже прошел.


>Да и хайп по нему уже прошел.



Конец 2019: 200к установок
Конец 2020: ~600К установок
Конец 2021: 1200к установок

То есть 6ти кратный рост фреймворка за 2 года (с начала ковида) тебя не смущает? По мне так, хайп по нему будет в 2022-2024 и дефицит разработчиков ох какой большой.
А по общей популярности он находится в топе
170 2261701
>>61693

>Если там нетривиальная логика, что прям нужно в отдельную функцию выносить


Логика там очень простая, я просто люблю разбивать код на отдельные функции, чтобы он легче читался, и не знаю плохо это или нет, потому что с одной стороны у тебя много функций, с другой код очень прост в понимании
171 2261737
>>61701

>и не знаю плохо это или нет


Это хорошо. Прием называется - декомпозиция - основа динамического программирования (https://en.wikipedia.org/wiki/Dynamic_programming)

>с одной стороны у тебя много функций


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

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

Модули между собой должны быть связаны как можно меньше - в идеале быть независимыми целиком и образовывать конечную систему различными иными путями слабого связывания ( например, инъекцией зависимостей). Мера зависимости модулей друг от друга называется - зацепленностью (или связанностью - coupling) - чем она меньше, тем качественнее код.

Помимо локальной прочности\зависимости на уровне юнитов, еть еще общесистемная (компонентная) - вещи из разных слое архитектуры так же не должны быть зависимы (зацеплены) друг от друга (именно поэтому нельзя из компонентов интерфейса ходить в апишку, например, а из сервиса логирования напрямую писать в базу данных). В то же время компоненты должны быть как можно прочнее взаимодействовать между собой на уровне тех же слоев (например, кнопка в формочке, имеющая определенное логическое значение, должна испускать наверх события не просто клика, а конкретного действия, которое она производит, а компоненты которые отлавливают события должны слушать не низкоуровневые события вида наведения мыши - а события бизнес-логики - отправление заказа\раскрытие меню\etc).
172 2261739
>>61687

>стоит ли выносить за пределы компонента функции, которые используются в самом компоненте? Т.е. они не будут создаваться каждый раз при ререндере занов



Как выше анон уже ответил, если чистая, то писать внутри компонента не имеет смысла. Как правило, нужно обращать внимание на семантику методов компонента и оставлять внутри него только те, которые каким-то образом завязаны на его состояние. Остальные выносить, нет смысла каждый раз при рендеринге создавать их заново. Если такая функция не передаётся в дочерние компоненты, то на скорость работы место объявления функции влиять особо не будет. Если передаётся, то над оптимизацией уже нужно работать, т.к. дочерний компонент каждый раз будет принимать такую функцию за новую (это новый объект с новой ссылкой на него).
173 2261759
Вроде перестал отвлекаться на интернет, теперь отвлекаюсь на свои мысли. У кого сейм было?
174 2261769
>>61759
так отвлекись, разберись и возвращайся с чистой головой
175 2261770
Почему большинство комьюнити так против бекенда на ноде?
176 2261773
>>61770
Боятся обосраться и боятся чего-то нового?
177 2261776
>>61737
Я еще отдельно прочту весь текст, спасибо, сейчас трудно осилить.

>>61739
Да вот пизда начинается в тот момент, когда у тебя функции передаются в компоненты ниже, и тебе сотню раз приходится городить useCallback по цепочке зависимостей, и тут встаёт вопрос, не сожрет ли вся эта мемоизация больше ресурсов, чем ререндер одной кнопки. Потому что useCallback внутри себя делает много работы, и предотвращает только ререндер, но дополнительную работу все равно делает каждый раз
178 2261792
>>61677
Начни с пхп
179 2261796
>>61770
Потому что бэк на ноде - постоянные костыли. На фронте это ещё терпимо, так как ошибки на нём максимум вьюху уронят. Проебать же БД, потому что V8 что-то там проинтерпретировал не так, как ты думаешь он должен был проинтерпретировать, можеть вылететь в жирную копеечку.
180 2261803
>>61792
PHP Было в 2015м, оно сейчас мертво
181 2261809
>>61796

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

182 2261817
>>61803
Ага,щас
183 2261819
>>61796
Ну вебсокеты неплохо идут
184 2261823
>>61809
Откатываешь либу на версию назад или превентивно указываешь точную версию, если так сильно не доверяешь опенсорсу
185 2261835
>>61809
Как ты прод проебёшь из-за либы, которая даже в прод зависимости не входит? Да и прямого отношения это к ноде как языку программирования не имеет. Такие трюки можно выполнять в любом опенсурсном пакетном менеджере. Ну а то что у энтерпрайза проды ложатся из-за пакетов, проблемы энтерпрайза, так как в отлаженном CI/CD это максимум бы упало на уровне тестов, не добравшись до прода.
186 2261838
>>61796

>постоянные костыли


Что там костыльного? TypeScript это не костыль, а самотесты для программисты, которые никак не отнимают мощности сервера
187 2261872
>>61835
В нормальном проде только продукты FAANG ™ , ® , ©
188 2261884
>>61654
Нахуя ты лезешь в разговор, если не понимаешь, о чем речь? Перечитай, потом вернешься.
>>61655>>61661
Шизоид, ты же понимаешь, что твои шизоидные "а если кабан заставит переписывать так, а не сяк" можно плодить без конца и аргументом они не являются? Либо ты обсуждаешь задачу так, как ты ее изначально сформулировал, либо идешь нахуй, потому что это уже твое пятое "а если надо будет сделать так, а не сяк", которые ты пытаешься использовать в качестве аргумента против нормальной имплементации, но обсираешься каждый раз.
189 2261887
>>61700
Ну это пиздец манямир и манястатистика на пике, они там что вообще считают? Сравнивают количество двухстрочных микропроектов с монстрами на рельсах и спринге, где 100+ человек в команде может трудиться?
190 2261893
>>61776
Если какая-то функция передаётся очень глубоко в дочерние компоненты, то это повод задуматься над архитектурой и цепочкой вложенностей. Для чего служит эта функция? Почему нужно обязательно передавать так глубоко вниз? Завязана ли она на состоянии компонента? Если завязана, то возможно эту часть состояния стоит хранить где-то извне - в context или сторе Redux (ну или в чем-то подобном)? Вот так я обычно себя спрашиваю. Сам пропсы/функции стараюсь больше 1-2 уровней не прокидывать, и на самом деле обычно хватает 1 уровня, если правильно построить вложенность компонентов.

Работы с DOM - дорогая операция, поэтому операции под капотом use Callback едва ли сравнятся с ним в сложности (время исполнения отличается на порядки).
191 2261894
>>61823

>или превентивно указываешь точную версию


Лолблять, это должно быть по умолчанию в любом менеджере пакетов, он не может начать по желанию левой пятки обновлять версии зависимостей на обычной установке, как это делает npm, это ебаный нонсенс. Тот факт, что сломанная новая версия либы положила кучу проектов, сигнализирует о таком пиздеце, раздолбайстве и неопытности в языке даже на уровне базовых тулз, что смешно, как кто-то может выступать за серьезный бэк на нодоговне.
192 2261898
>>61894

>package-lock


Не, не слышал
193 2261906
>>61838
Тайпскрипт на бэке - как раз мегакостыль. Вот тебе стандартная бэкопроцедурка: прочитать содержание папки в проекте. Сделай её на тайпскрипте.
>>61894

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


Тебе ничто не запрещает npm ci заместо npm install использовать.

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


Причём здесь нода?
194 2261921
>>61894
А эти положенные проекты сейчас здесь, в этой комнате?
195 2261924
>>61898>>61906

>просто используй вот эту костыльную команду, которую еще найти надо, и которая тоже работает через жопу, потому что обычная команда установки, используемая в 99% случаев и примеров по умолчанию, работает хуй знает как, но тулза у нас хорошая в принципе!

196 2261927
>>61924

> которую еще найти надо


Человек-анекдот, пощади
197 2261928
>>61898
Дурачок, ты же в курсе, что npm i обновляет package-lock?
>>61906

>Причём здесь нода?


Ну если ты собрался на ноде писать с нулем зависимостей, то вперед, а иначе тебе придется фетчить 100 васянских пакетов, меняющихся и устаревающих каждый год, потому что инфраструктуры и нормальных фреймворков тут нет.
198 2261930
>>61906

>Вот тебе стандартная бэкопроцедурка: прочитать содержание папки в проекте. Сделай её на тайпскрипте.


>стандартная процедура


>прочитать содержание папки


Ебать у вас там гавнокод, пиздец просто. Файлы из системы читать вообще нихуя не безопасно, вы поехавшие или ты угараешь?
199 2261932
>>61887

>с монстрами на рельсах


Рельсы умерли еще в 2010м. Хоть одна конторка знает о существовании Ruby? Я только скриптики видел с расширением .rb
Ну и на вкурсах вкатывались 5 лет назад какие-то вкатуны
200 2261934
>>61927
Если ты как подавляющее большинство жопоскриптеров не трогал и не нюхал другой нормальный язык, то ты вообще не ебешь, как менеджер зависимостей должен работать, и что обновление локфайла при каждой установке - это нихуя не норма. Это раз. Два - npm ci это нихуя не установка зависимостей, это переустановка, то есть все node_modules удаляются и фетчатся/ставятся заново. Можешь представить, сколько это может занять времени в проекте больше туду листа. Пользоваться им, чтобы сраный npm не лез в локфайл - это ебейший костыль от безысходности и говняности.
201 2261936
>>61930
Проиграл с представлений жсоманьки о работе и безопасности(!) бэка. И ведь главное так безапелляционно вещает свой дебилизм.
202 2261940
>>61932
Разве что в твоем шизомирке, рельсы как были одним из самых популярных и удобных фреймворков для стартапов и e-commerce проектов, особенно на западе, так и остались, работу можно найти за неделю. Достойного аналога им в этих областях просто нет.
203 2261941
>>61928

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


Где они есть?
>>61930

>Файлы из системы читать вообще нихуя не безопасно, вы поехавшие или ты угараешь?


Где же твой супер-правильный сервер софтваре хранит кэш?
204 2261946
>>61928

>ты же в курсе, что npm i обновляет package-lock?


Да. Ну и?

>>61934
Питон трогал. Голанг трогал. И шо теперь? Там такие же pip freeze и go.mod

Расскажи нам наконец, невеждам, про нормальные манагеры зависимостей.
205 2261947
>>61941
Там где за безопасность отвечают другие

мимо шел
206 2261948
>>61941

>Где они есть?


В любом другом не-мертвом языке: пхп, питон, руби, джава, сисярп, все имеют устоявшуюся инфраструктуру и go-to фреймворки для бэка.
207 2261957
>>61941

> хранит кэш?


А нахуя твой софтваре хранит кэш на диске? Ваша контора не знает о reddis + broker?
208 2261958
>>61940

>работу можно найти за неделю.


Это если у тебя опыта на нём лет 5.
Вот у меня 3 года бекенда на Node.js (JS) и меня он ЗАЕБАЛ, что я готов уже сеть на дрочённый .NET
Как вкатиться в RoR хотя бы на 150к рублей? Они принимают новеньких?
209 2261959
>>61946

>Да. Ну и?


Ты отбитый жопоскриптер, если не видишь проблем с непреднамеренным обновлением всех зависимостей в проекте на каждый пук.

>Питон трогал. Голанг трогал. И шо теперь? Там такие же pip freeze и go.mod


Если бы реально трогал и имел одну извилину, то знал бы, что там есть работающие локфайлы, которые не меняются просто так.
210 2261962
>>61958

>Как вкатиться в RoR хотя бы на 150к рублей? Они принимают новеньких?


Берешь и вкатываешься, если английский знаешь, то в западной конторе 100-150к для джуна, да еще и с коммерческим опытом в связанной области, это как жопу почесать.
211 2261967
>>61962
Да, английский ежедневвный устный-письменный В2 примерно, давно уже на зарубежного заказчика работаю (ну как обычный гребец на галере)
212 2261985
>>61930>>61957
Ты лучше давай рассказывай, что именно небезопасного может произойти, если сервер прочитает один из своих файлов с диска, а мы посмеемся.
213 2261988
>>61985
Ежедневная уязвимость нулевого дня разносит в щепки твой сервер
214 2261998
>>61957

>Ваша контора не знает о reddis + broker?


У редиса бесконечная оперативка?
>>61988
А у твоих мокрописечек нет уязвимостей?
215 2262014
Есть поле инпута. Как сделать, чтобы плейсхолдер был в левом верхнем углу и чтобы при вводе текст переносился на следующую строку?
216 2262021
Можно ли эту либу заставить работать с grid-container таблицей?
217 2262022
>>62021
отклеилось
https://listjs.com/
Вопрос джунам/миддлам которые работают 218 2262025
Как часто вас заставляют верстать целые макеты?
219 2262033
>>62025
Когда был пыхарем в студии часто заставляли.
220 2262041
>>62014
Лол, для этого оказывается textarea есть.
221 2262048
>>61959

>непреднамеренным обновлением всех зависимостей в проекте на каждый пук


Че несет, вообще охуеть
222 2262059
>>62025
Верстал лендинги за 200к как-то
223 2262071
Да как верстать эти ваши лендинги, едрить их в корень
224 2262073
>>61884

>Нахуя ты лезешь в разговор, если не понимаешь, о чем речь? Перечитай, потом вернешься.



Ты просто осознал свою неправоту.
Использование определенного интерфейса широкоспециализированной функции не делает тебя зависимым от всех ее интерфейсов. А ты тупой долбоёб всего навсего. Вот и всё. Соси.
225 2262078
Через год дроча по 5 часов выйду на сотыг?
226 2262085
>>62071
фигачишь таги по структуре макета
@
копипастишь стили из фигмы
227 2262086
>>62078
смотря кому дрочить будешь
228 2262097
>>62078
Через год дроча ты выйдешь в статус "один из сотни кандидатов на вакансию джуна за 25к" в лучшем случае, но скорее всего это будет "один из двухста кандидатов на стажера бесплатно или за 10-15к". А вот уже через год коммерческого опыта да, другое дело.
229 2262101
>>62073
Ты дебил, влезший посреди разговора, который не понял, о чем речь. Мы говорили об ISP и там "зависимость от интерфейса" прежде всего означает "зависимость на уровне компиляции", а не то, как ты это интерпретировал по выхваченному одному слову "зависимость". Съеби.
230 2262116
Я хочу написать аддон для браузера, который будет смотреть на HTML код страницы и удалять/добавлять содержимое

Мой мозг, выращеный Питоном, говорит что нужен какой-то парсер, но я знаю, что у жабоскрипта с HTML-ем особые отношения
Как подобное реализовать?
231 2262123
>>61678

>(фронтовики и фуллстак только растёт).


Потому что никакого чистого бэкенда на ноде просто нет. Если нода, то только фуллстак. Я не представляю себе нодовика, который не знает какой-нибудь Реакт, не сможет покрасить кнопку или сделать SSR. Тем более что это все (ну мб кроме покраски кнопки) чаще всего и входит в круг обязанностей нодовика.
232 2262126
При какой поддержке браузеров вы юзаете свойство? Я при ~95%
234 2262157
>>62123
Жаль. Либо мне сложнючий фронтенд разбирать, либо стек менять опять... Тяжело...
235 2262260
>>62116
Так тебе HTMl код смотреть или DOM страницы?
236 2262278
>>62260
Я не совсем понимаю, в чём там разница
Просто искать определённые html теги (Например, по содержащемуся внутри тексту) и удалять их
237 2262303
>>62278
HTML это то, что браузер получает в запросе, его можно посмотреть через ПКМ -> "View Page Source". DOM - распарсенный HTML, то что ты видишь в девтулзах. Ты говорил про динамику, так что скорее всего тебе начинать с основ: https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model
А как делать аддоны это гугли повендорно.
238 2262315
Я правильно понял, что graphql призван облегчить еботню с rest api? Типа с rest api ты в рукопашечку извлекаешь из json'a данные и закидываешь в нужный реакт компонент, а graphql помогает упростить этот процесс?

Если так, то мне как вкатуну нужно сначала без graphql научиться ебаться в рукопашную с rest api?
239 2262316
>>62315
Неправильно понимаешь, и ебли с graphql у тебя будет в сто раз больше, чем с любым рестом.
240 2262320
>>62316
А зачем он нужен? Почему все бросят qraphql?
241 2262322
>>62316
А зачем он нужен? Почему все не бросят qraphql?
242 2262329
>>62303
Мне бы просто кусок кода, который примитивно вырезает какие-то кусочки HTML разметки. Один единственный раз, при загрузке страницы.
243 2262345
Сап, вкатываюсь уже неделю. Мне интересно, можно ли найти работу джуна без ХОРОШИХ* знаний CSS и html? Я освоил базовый синтаксис, знаю все популярные html теги и тд. Не хочу идти верстальщиком-макакой, примитивность и скучность этих двух языков-разметки я почуял на 10 часе обучение оным.

Сам дрочу реакт и нативный js
244 2262349
>>62345
В чем проблема нормально выучить хтмл и цсс, если они такие примитивные?
245 2262355
>>62345
Ну, ты не html и css будешь делать, а jsx и css-in-js делать будешь.
246 2262368
>>62349
В том, что "примитивный" не значит "лёгкий".
247 2262386
Легко ли устроиться вообще на работа терпилой-версталой хтмл цсс а потом перекатится в сеньеры фронд энд девелоперы?

Или лучше сразу во фронт энд девелоперы?

Что вообще надо для успеха? Сайты запущеные свои? И сколько? Резюме, смазливое ебало и так есть.
248 2262396
Вопрос по Реакту.
Есть условие, от которого зависит, какой из двух компонентов отрендерится.
Нужно передать объект из одного компонента в другой. Как это сделать?

Я делаю useState в родительском компоненте и передаю стейт и функцию пропсами в оба дочерних компонента, на что Реакт пишет:

Warning: Cannot update a component (`Parent`) while rendering a different component (`Child1`). To locate the bad setState() call inside `Child1`, follow the stack trace as described in https://reactjs.org/link/setstate-in-render

Начал читать статью, а там классовые компоненты... сейчас не осилю, но завтра почитаю.
Помогите, плиз.
249 2262398
>>62386
верстальщик и фронтендер две разные профессии которые частично пересекаются, но фронт делает упор на логику приложения, верстальщик - на высокое качество верстки. Не надо верстальщиком идти, если ты фронт, тебя там раскулачат антиdiv-ники
250 2262402
>>62386

>версталой хтмл цсс


>>62398
А в 2к22 есть такая работа как верстальщик хтмл цсс жс? Или это ушло в прошлое и сейчас жс-фреймворк обязателен для вката?
251 2262426
>>62398
Так а что мне сделать то надо??

Ну типа бэк обрабатывает жсон либо данные и зановит в бд и наоборот, а какая роль у фронта?
252 2262430
>>62402
Есть и пизда как нужна на самом деле. Сейчас нормальных (именно нормальных) верстальщиков очень мало, в свою контору на проектное сотрудничество до сих ищем.
253 2262432
>>62430
А для чего нужны верстальщики в 2к22? Они нужны для верстания под php CMS-ки?
Ну я читал, что в 2к22 году всё ещё есть у php CMS-ок порох в пороховницах, например, где не нужно особо сложного фронтенда, а достаточно, например, товары показать
254 2262434
>>62430

>именно нормальных


А что должен нормальный верстальщик уметь для вашей конторы? Шарить в дизайне и в UI/UX? И знать шаблонизаторы для верстки?
255 2262437
>>62430
Плюсану. Тоже ищем верстальщика, чтобы без всяких выебонов просто верстал макеты и делал респонсивы. Но на собесы приходят одни реакто дебилы после курсов, которые набрались по верхам и мнят себя мидл фуллстеками, ни в чём ни хуя не разбираясь толком.
256 2262439
>>62426

>а какая роль у фронта?


Сделать красиво
Получить данные с бека, красиво отобразить и при надобности отправить новые назад
257 2262442
>>62157

>сложнючий фронтенд


Это шутка?
258 2262443
>>62437
Если я хочу быть верстальщиком, то мне нужно учить не реакт, а дизайн и UI/UX и шаблонизаторы?
259 2262444
>>62442
Нет, не шутка, server side rendering - СЛОЖНА!
260 2262445
>>62439
А верстальщик тогда что делает? На камеру снимает и впитывает опыт?
261 2262446
>>62315

>Я правильно понял, что graphql призван облегчить еботню с rest api?


Нет. GraphQl это прежде возможность запилить свой стейт менеджер, с декларативным получением данных, автоматическим кешированием и пр.
262 2262451
>>62432

>Они нужны для верстания под php CMS-ки?


Не просто нужны, а таких вакансий большинство.
263 2262452
>>62446

>кешированием


Я искренни извиняюсь за своё существование, я просто вкатун. Объясни, плес, про какое кеширование идет речь. Про кэш который на стороне сервера? Или кэш который в браузере?
264 2262454
>>62451
Ну, там требуется знать php, sql, cms-ки wordpress, bitrix. И уметь сервер настраивать. Так что это нихуя не верстальщик, а какой-то фуллстек или "веб-мастер"
265 2262455
>>62454
Я находил вакансии чисто по фронту (HTML, CSS, JS, Jquery). Зп 15-30к
266 2262461
>>62445
Только ту часть что не под спойлером
267 2262463
>>62434
В идеале конечно шарить. Но вообще даже если просто по технике шаришь, не путаешь фигму с тильдой, а также просто готов не ебланить и не ставить при этом конский ценник, то велкоме блять, ждём с распростертыми объятиями :)
268 2262464
Короче я так понимаю ни Next ни Graphql не нужны вкатуну, судя по вакансиям. А вот ноду есть смысл выучить.
269 2262465
>>62464
Смотря куда вкатываешься.
Если на бэк, то нест/экспрес нужны, вместо с графкл, мускл, носкл и прочими приколами.
Если на фронт, то ясен пень не нужно этого
270 2262468
>>62465
Просто мне раньше казалось, что для фронта нужно это все. И графкуль и серверный рендеринг, в роадмапе это все есть.
271 2262470
>>62468

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


Сср ещё можно потыкать, а всё остальное достаточно знать максимально поверхностно
272 2262471
>>62470
А если более менее шаришь за фронт, то бэк на ноде с приколами долго учить до фуллстека? Я ноду/экспресс совсем немного трогал. А может быть я просто прокрастинирую вместо того, чтобы работу искать
273 2262472
>>62437
Именно. Как бы даже вот больно сложного не требуем. Но либо совсем кончи с курсов, либо ценник совсем ахуевший ставят
274 2262473
А где хранить, например, название проекта, чтобы потом можно было поменять?
275 2262474
>>62471

> то бэк на ноде с приколами долго учить до фуллстека?


Сперва фронтом стань, потом решишь надо оно тебе или нет. Вкатун фулстек это нонсенс, как по мне
276 2262475
>>62472

>либо ценник совсем ахуевший ставят


Охуевший это сколько? Вы берете человека с расчетом на то, что он у вас поработает подольше или вам все равно когда он свалит и вознесется до фронта? Я если честно не представляю себе человека, который хочет остановить развитие своей карьеры на одной верстке. Ему либо нужно платить как фронту или близко, чтоб он туда не совался, либо просто ждать когда он свалит.
277 2262485
>>62475
Тут в первую очередь идёт соотвествии ценника скиллу и соответсвенно сложности решаемых задач. По поводу роста до полноценного фронта, ну так только рады будем, если в стенах конторы вырастет полноценный спец. И деньгами такого соответсвенно не обделим, благо формат проектного сотрудничества позволяет.
278 2262489
Что мне надо чтоб через 3 месяца устроиться? Ну или к лету?
279 2262492
>>62489
А что ты уже сейчас знаешь? Если нихуя, то есть шанс соснуть бибу. Не потому что ты какой-то не такой и какой-то нехороший, а просто потому что не успеешь.

Я смотрел интенсив гло академии с лысым наставником. Там его какой-то пацан спросил можно ли успеть изучить вордпресс до лето. А тогда март на дворе стоял. И Лысый сказал, что ставит очко, что пацан не успеет с марта до лета.

И действительно, тот же вордпресс легкий в изучении, каждая тема по отдельности несложная, но учить надо много и выходит, что с марта до лета можно ставить очко, что нельзя успеть изучить.
280 2262493
>>62492
Из других языков ООП, паттерны немного.
Как работают сети и все такое. днс, дхцп, модели оси, куки и прочее.

хтмл, цсс делал сайтики для тянки бывшей для курсача по информатике. Ну как сайтики, набор страничек.
281 2262494
>>62493

>ООП


>Как работают сети


Хуя се, да ты эксперт. Так что мои слова про гло и ворд пресс в общем-то не относящаяся к тебе хуйня.
282 2262495
>>62494
Ну еще там про SQL слышал.
Figma ковырял.

Я не знаю куда мне деваться, уж очень хочется с моей работы сисадмино съебать. Заебали принтеры и бумажки подписывать.
283 2262497
Есть какие-то видео типа делаем сайт с нуля со всеми модными фреймворками, языками, препроцессорами?

Заебало смотреть на 10 тысяч хеловордов и туду листов в разных интерпритациях
284 2262499
>>62495
Чел, если интересно вкатится, пиши tkm.artdesC`bignANUSgmai#tnlPUNCTUMco9O/m
285 2262500
Что делать если твои коммиты не смерджили, но тебе нужно продолжать работу с текущими изменениями? Если отпочковаться от ветки, которую ты в прошлый раз пушил, то туда и коммиты все с прошлой ветки попадают, это плохо?
286 2262503
>>62500
Что-то я сейчас подумал, наверное по другому это никак и не может работать. Если предыдущий коммит смерджируют, то в МРе уже не будет отображаться этот предыдущий коммит в изменениях?
287 2262518
Какой самый модный у вас хедлес браузер сейчас?
С жс у меня знания максимум почитать, но очень уж злоебучий сайт для скрапинга попался.
288 2262521
Я тут планирую обновить комп для разработки. Вопрос к тем, кто уже давно работает, и видел некоторое дерьмо: сколько оперативки вам было необходимо в самых сложных условиях? У меня вот сейчас равернут бек и очень большой проект со всякими сборщиками, фигмы, хуигмы, браузер с миллиардом вкладок офк, на данный момент расходуется 16гб оперативы почти на 100%. И явно чувствуются фризы иногда и торможение в ide. Думаю вот обновить проц, ссд, и не знаю сколько оперативы брать, 32гб это точно, но вот нужно ли больше? 64 и тем более 128 это вообще оверкилл даже если на ближайшие 5+ лет рассматривать?
289 2262539
Успею за месяц вкатиться?
290 2262546
>>62521

>браузер с миллиардом вкладок офк


Ну ты долбоёб же. И это не лечится оперативкой.
IMG20220112081801.jpg106 Кб, 1080x603
291 2262550
Ангуляр всё
293 2262553
>>62473
Очевидно же не в константе, а в переменной.
294 2262554
>>62539
Только 300к/с сразу не требуй, начни с 299к/с.
>>62521
Мне хватает и 8.
sage 295 2262555
>>62546

>Ну ты долбоёб же. И это не лечится оперативкой.


Ой блядь, иди нахуй
296 2262557
>>62550
надо было просто репозиторий хуями заполнить, сейчас это модно молодежно, но гугл не в теме.
297 2262568
>>62539
https://developer.mozilla.org/en-US/docs/Learn/Front-end_web_developer
[...document.body.textContent.matchAll(/Time to complete: [0-9|\.|–]+ hour/g)].reduce((prev,curr)=>{return prev+parseFloat(curr[0].match(/[0-9|\.]+–/)[0].slice(0,-1))},0)
833 часа минимум, братан.
298 2262575
>>62443
css, препроцессоры, flexbox, grid ну и набить руку на респонсивах, в т.ч. базовое понимание должно быть какой элемент куда поставить на мобилке, если нет под неё дизайна например.

>>62472
Тупо сейм. Летом взяли одного такого, джуном фронтендером, чтобы занимался версткой, а потом бы плавно начал писать js. Он закончил какие-то вкатунские курсы + полгода отработал в какой-то госпараше. Забавно, что он уже на собесе называл себя мидлом и говорил что хочет сразу писать на ангуляре. При этом он даже с гитом работать не умел. Дале ему верстать простую страницу для админки, там работы ну на два дня максимум, он провозился больше недели и я ахуел, сколько он там говна нагенерировал. Банальную клиент сайд валидацию полей, которая есть в html он сделал через js, дохуя всяких либ натащил, попытался в архитектуру и засрал сторонние компоненты. Полный пиздец. При этом был упрямый, говоришь ему что это неправильно, а он "вот у нас на курсах...". У него была маня-фантазия что после испыталки ега сразу мидлом сделают и будут платить 150. В итоге в последний день испыталки его просто уволили, лол.
299 2262582
>>62575

>базовое понимание должно быть какой элемент куда поставить на мобилке, если нет под неё дизайна например.


А в чем проблема не делать дизайн, если дизайнер его не нарисовал? Почему верстальщик должен что-то придумывать?
300 2262591
>>62554
Мне хватает и 2
301 2262607
>>62582
Речь о том, чтобы не заёбывать дизайнера каждым пикселем экрана, а попробовать решить самому, а потом показать дизайнеру/команде как вышло. Понятно что если сложный интерфейс и большим количеством элементов, это задача дизайнера продумать, как всё должно выглядеть на маленьких экранах. Другая крайность, когда вкатун-верстальщик пилит какую-нить таблицу с формочкой пиксель в пиксель только под разрешение экрана из макета, а на то что всё ломается на экранах чуть меньше отвечает "этого не было в дизайне, создавайте отдельную задачу на респонсив!".
И ещё одна кстати проблема джунов-вкатунов, что они не тестируют свой код, даже на соответствие основным требованиям. Делал такому ревью, усомнился, развернул у себя - нихуя не работает. Спрашиваю его, ты мол локально проверял, у тебя всё работает? А он "нет, а для чего нам тестировщики?". Сам при этом заёбывал всех миллиардами вопросов, 90% которых мог бы решить сам потратив 5-10 минут.
Короче, речь больше про самостоятельность, а не про то чтобы делать чью то работу.
302 2262614
>>62575

>Банальную клиент сайд валидацию полей, которая есть в html


Это же хуета полная, которую нельзя в конфиг вынести и потом править как душа пожелает
Здесь вкатун прав
303 2262616
>>62607

> "этого не было в дизайне, создавайте отдельную задачу на респонсив!".


В чем он не прав? По уму должны быть макеты под основные разрешения. Десткоп, планшет и мобила. Между ними уже можно самостоятельно сделать респонсив. Но вот самому это придумывать - неблагодарное занятие. Потом придет дизайнер, скажет все хуйня и будешь переделывать.
304 2262617
>>62614
Плюсую. Сколько раз пытался что-то нативное в браузере использовать. Потом приходит Кабан с охуительными идеями... как должен работать селект
15807674403200.png189 Кб, 462x450
305 2262642
>>62568
вообще я бы сказал сколько уже вкатываюсь, но об этом лучше помолчать
306 2262646
>>62396
Бамп
307 2262647
>>62646
Ничего не понятно, неси код.
Передать данные хочешь из родителя в один из двух дочерних, которые рендерятся по условию?
308 2262667
>>62617
Плюсую, тоже задетектил кабанчика по валидации полей через ебанный хтмл и по классическому не хочет работать за еду, как такое возможно??
309 2262696
Хотел спросить в треде, потом нашёл ответ сам, так что вместо этого поделюсь

В ts я декларирую функцию
function foo(bar: MyObject = {}) {}

Потом вызываю её
foo(null)
foo(undefined)

В случае с undefined произойдёт замена на дефолтное значение, а с null нет
image.png13 Кб, 443x286
310 2262811
>>62696
Вот так надо
311 2262813
>>62811
Интересно. Ну, TS это ебаный костыль всё-таки
312 2262814
>>62696
Про что вопрос то был? При чем здесь тс?
313 2262815
>>62813
Даже так ему похую, ведь TS существует только на время компиляции
314 2262821
>>62696>>62813
ТС это конечно кал, но в данном случае ты дебил, который не знает основ жса. Дефолтные значения выставляются только при undefined аргументе или когда аргумент при вызове функции не выставлен(что с точки зрения жса одно и то же, потому что костыли). null - это полноценное значение, которое ты сам передал и очевидно его на дефолтное менять нельзя, и это так работает в абсолютно любом другом языке.
315 2262845
>>62821

>это так работает в абсолютно любом другом языке.



Ожидать, что js кал будет 100% работать как абсолютно любой нормальный язык это, конечно, кек
Новый точечный рисунок.png4 Кб, 287x123
316 2262858
Как меня заебала эта ваша вёрстка.
Есть хэдер таблицы с position: sticky и z-index: 2
Есть выпадающий список с меню с position: absolute и z-index: 11
Ячейка хэдера перекрывает меню, когда оно раскрывается.
Как это пофиксить?
image.png21 Кб, 481x451
317 2262929
>>62858
Иди пиздаболь в /web/
318 2262932
>>62929
Заодно, пусть на Jsfiddle проблему оформит, а то хуле гадать?
319 2263102
Что по СТЭЙТ МЭНЭДЖМЕНТУ во Vue?

Там тоже зоопарк из разных стейт менеджеров? Пригодятся ли навыки работы с Редаксом? Пилите прохладные.
320 2263120
>>63102
Vue 2 - vuex, vu3 - pinia
321 2263137
Делегирование в практике часто юзается на работе? Какую тему задрочить, а то такое чувство что все подряд учу, а поотм хуй че юзать буду, бошка кипит от снежного кома знаний. уууу бля тяжело...
322 2263165
>>63137

>уууу бля тяжело...


Что за даунская манера письма? Ты даун? Может поэтому и тяжело?
323 2263173
Нормально подсматривать чужой код? Хочу маленький прототип игры сделать, но, допустим, не понимаю как сделать top-down камеру. Нужно еще учить и пытаться придумать ее самому или таки лучше подсмотреть?
324 2263174
>>63165
Я на эмоциях, пчелкин.
325 2263184
>>63173
У нас на работе если видят что за чужим кодом подсматриваешь, то выставляют голым посреди офиса и стоишь весь день писюном светишь, так что я бы не советовал.
326 2263214
>>63120
Спасибо. А вот когда в вакансиях пишут Vue, то имеется в виду вторая или третья версия? Илья Климов жаловался на третий Vue, но сейчас может быть все пофиксили.

Какую версию учить, если уже знаю React?
327 2263262
Зачем нужны всякие Пуги, если есть вуе и реакт? Ведь пуг даёт возможность компонентно собирать хтмл, но на своем диалекте и без жса к тому же
image.png240 Кб, 500x406
328 2263304
>>63262

>Пуги


who?
329 2263313
>>63262
Как минимум vue шаблоны можно фигачить на pug

JSX нельзя, но на то он и jsx чтобы быть убогим бай дезинг
330 2263321
>>63313
Ну так это же совсем фигня, если использовать pug для более короткого синтаксиса. Там куча плагинов вскода для этого, а весь функционал передачи аргументов и возможность условий выглядят бесполезно, потому что все равно для того что бы перерисовать станицу, ее надо перезагружать. Или я что то не понимаю?
331 2263361
Всем привет, сейчас только учусь возникла задача, которую не могу решить, я написал функцию, но не могу взять в толк как правильно дописать к ней нужные к ней условия, мне не хватает знаний языка и синтаксиса, а прошлый код самой функции писал неделю. Мне надо дописать условия в функции определения ширины. Сейчас она учитывает только 768 и названа isMobile. Мне надо добавить ещё isTablet, в которой как раз и будет 768, а в isMobile должен быть медиа запрос на 480.
И дальше условия, если планшет, то как сейчас написано, если телефон, то вместо ширины трех полосок надо учитывать ширину одной.

Я пытался сделать это как if(func1 && func2), но он не пашет. Я не пытаюсь скинуть на кого-то свою работу, но дедлайн до ночи, нужно сдать проект, а я сижу и пытаюсь хоть что-то наковырять

1 - как выглядит оно сейчас
2 - что у меня сейчас (огрызок)
332 2263378
>>63361
else?
333 2263392
>>60771 (OP)
Создал на codesandbox проект, создал там папку с картинками, загрузил картинку в эту папку. Хочу эту картинку закинуть в стили как background-image, а не выходит нихуя. Адрес ссылки прописал правильно, картинки со сторонних url показывает как надо, а из папки проекта - хуй. В чем может быть косяк, или так и задумано?
335 2263425
>>63421
Это другое. У меня именно в файл style.css не получается загрузить картинку в background-image типа:

background-image: url('../img/services_ball.png');
337 2263459
>>63361

> мне не хватает знаний языка и синтаксиса


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


А-ТЯ-ТЯ, центр занятости., принимай пополнение!

>1 - как выглядит оно сейчас, 2 - что у меня сейчас (огрызок)


Зачем трогаешь return? Ну сделай какой нибудь else if(isTablet.matches) который меняет значение itemWidth.
338 2263499
Как сделать подзагрузку элементов по необходимости?
340 2263618
>>63214

>Какую версию учить, если уже знаю React?


Никакую.
Твой вопрос звучит как "Какой язык для бэка мне учить если знаю php?"

>когда в вакансиях пишут Vue, то имеется в виду вторая или третья версия


Имеется в виду vue. В большинстве проектов вторая, редко встречается третья. Редко, т.к. она нихуя не поддерживает, надеемся, пока что. В любом случае отличий не так много чтобы было сложно работать на третьей зная вторую.
341 2263626
>>62845
Толстота или просто неосилятор?
342 2263631
>>63626
Чем дальше погружаешься в JS, тем больше его ненавидишь
343 2263637
>>63631
Признак неосиляторства.
У меня наоборот. В самом-самом начале некоторые вещи казались тупыми потому что не хватало извилин один раз открыть спеку и прочитать что как и зачем.

А слышать про различия в языках в связке с недовольством жс это и вовсе скудоумие 80-го лвла. Чел, ты тупой, если тебе не нравится жс - ебашь веб-ассембли на фронте или модули на бэке. Буквально любой язык можешь встроить без особого геммороя, вот только нахуя если жс банально удобный?
344 2263657
Изучаю js совсем недавно. Хотел бы узнать, можно ли как-то имитировать нажатие клавиши "Enter" при выполнении скрипта? Т.е. скрипт выполняется и в конце сам отправляет сообщение, без ручного нажатия кнопки отправки или "Enter".
345 2263660
>>63657
если ты про "хачю чтобы скрипт сам на сайты заходил,нажимал там кнопачки какие хачю" то хуй соси. а так keyboardevent вроде
346 2263664
>>63660
В смысле хуй соси?
Скрапеоров на жсе предостаточно
347 2263665
>>63664
так они ж через ноду какую-нибудь поди работают, как оффлайн браузеры
348 2263667
>>63665
headless браузер всмысле
349 2263673
>>63667
puppeteer
350 2263674
>>63665
Или парсить html запроса ручками, или браузер нодой запускать.
351 2263679
Как вы относитесь к тому, чтобы в шапке создать гуглдок с перечнем годных курсов и вместе его обновлять?
могу начать
Заодно посоветуйте пездатый курс для уже не джуна с какими-нибудь продвинутыми рякт концепциями
352 2263682
>>63679
Так в шапке есть, слеподырый
https://github.com/acilsd/wrk-fet#javascript
353 2263685
>>63682
Я не про гайд для вката
354 2263688
>>63685
Там есть раздел с курсами/туториалами, можешь в пул реквест запилить список.
355 2263700
Господа, работодатель готов оплатить мне курсы по фронтенду, бюджет около 100к. После которого я смогу ковырять задачи. Думаю над яндекс.практикумом. Есть альтернативы, отзывы, мнения? Буду благодарен!
image.png48 Кб, 622x386
356 2263704
Приветствую, вебшторм работал примерно полгода без проблем, мне его установил прогер и он сказал, что каждый месяц прога будет автоматически как-то продлять лицензию и все будет збс, не нужно будет вводить ключ и ебаться с кряками. И вот сейас вылезло такое.

Нашел вот этот гайд (https://forum.losper.net/topic/90-aktivatory-jetbrains-agent-dlja-ide-ot-jetbrains/#comment-238), он должен сработать, не похерю ли я все такими действиями? просто ссыкотно, если что-то сделать неправильно и я лишусь вебшторма, то это будет пиздец
357 2263718
>>63704
Если ты вкатыш, то тебе вскода хватит за глаза. И не нужно ничего будет крякать и воровать.
358 2263721
>>63718
Я уже на стажировке, скоро она закончится и мне нужно будет что-то более менее приближенное к реальным задачам делать
359 2263744
>>63721

>к реальным задачам делать


Реальные задачи делают на VS Code
360 2263823
Чем вебшторм лучше вскода? Какие там киллер-фичи? Ни разу не юзал. Работаю в вскоде. До вката говнокодил в саблайм тексте.
361 2263847
let obj=document.getElementById("object");

obj.addEventListener("mousemove",event=>{

console.log(event.target.clientY);

})
почему он выбрасывает ундефайнед?
362 2263863
>>63847
Сделай просто event.clientY
363 2263869
>>63863
а почему здесь без таргет,типа ничем не манипулируем,только инфа?
364 2263873
>>63869
Таргет это хуйня в доме, с которой ивент случился. А тебе не его координаты же нужны, а координаты самого ивента.
365 2263878
>>63700
Что за щедрота, ты там самый главный по программированию что ли, что дают самому выбирать какие курсы проходить?
366 2263879
>>63704
Просто скачай с рутрекера, там в каментах к раздаче обычно пишут как активировать и получилось ли.
367 2263880
>>63879
Спасибо, тогда еще вопрос - какого хрена не работает тор? Всегда с него на рутрекер заходил, а сейчас тор тупо не пашет. И даже впн в опере отвалился... че за нах, гайки закрутили?
368 2263886
>>63700
https://frontendmasters.com/ - лучшие курсы по фронтенду во всем интернете
https://javascript.ninja/
https://ru.hexlet.io/

Можно еще Тимура Шемсединова смотреть, у него все бесплатно выкладывается на ютубе.

Я не Илья Климов
369 2263890
>>63880

>даже впн в опере отвалился


Есть разнообразные VPN-расширения для хрома.
370 2263957
>>60771 (OP)
как отфильтровать массив от цифр больше текущего индекса?
например [5,4,7,9,2,4,4,5,6]
берем первый элемент, фильтруем все шо больше 5, остается 4,2,4,4
второй 4 = 2
третий 7 = 5,4,2,4,4,5,6
и т.д.
371 2263962
>>63957
filter map
372 2263971
У меня в городе одна единственная вакансия на веб-разраба, и то на пхп макаку. Стоит туда резюме слать? Может если сказать что я бекендом не занимаюсь, но только фронтендом, но делаю это хорошо. Может обратят внимание?
image.png18 Кб, 630x393
373 2263976
>>63962
сложна. я вкатыш
сделал пока как на пике

я хз какую функцию написать внутри фильтра чтоб он отсортировал нормально
374 2263988
>>63957
Опиши задачу нормально, долбоеб.
375 2263997
>>63988
сравнить все елементы между собой и каждый результат вывести в консоль все цифры меньше текущего елемента, я хз
image.png32 Кб, 1169x440
376 2264013
>>63988
вот я хотел чтоб оно так работало, но вместо 2 циклов использовать фильтр или хз что еще можно использовать в таком случае
377 2264026
>>63976
function smaller(arr){
for (let i=0;i<arr.length;i++)
{
let temp=arr.filter(t=>t<=i);
console.log(temp);
}
}
smaller([5,4,7,9,2,4,4,5,6]);
378 2264034
>>64013
Фильтр возвращает массив, если тебе нужна ещё и сортировка то прямо и пиши сорт, а если ещё и строка на выходе, то джоин. Что неясна то?
379 2264043
>>63700
Ты даже не пишешь, какой у тебя уровень и над чем конкретно в практикуме ты думаешь
380 2264044
чтобы переместить элемент по странице,сначала узнаем его координаты.
потом делаем обработчик события на движение,с методами сclientXY и херачим значения в позицию элемета?
381 2264062
>>63971
Шли, что ты теряешь?
382 2264064
>>63878
Да просто оплачивают обучение. По желанию.

>>63886
Да мне бы что-то с наставником чтобы, кто бы мог на вопросы отвечать и код ревьювить. В Хекслете вроде пишут что есть. Но не нашёл отзывы выпускников.
383 2264075
>>64043
Соррян. Уровень в разработке - нулевой. Только по мелочи верстал для себя всякие формочки и странички. JS на самом базовом уровне, чтобы кнопочку покрасить или элемент удалить. В практикуме думал над этим курсом https://practicum.yandex.ru/web/
384 2264089
Сап, поясните пожалуйста, хочу фулстек приложение написать, по ютубу повторил, там файлы в статик папку закидываются, ок. Но если я хочу сделать что-то типа облачного приложения, т.е. чтобы файлы сохранялись на какой-то диск, куда мне эти файлы закидывать? В базу данных как я понял только имена надо сохранять, а файлы тогда куда?
385 2264090
>>64044
Смотря что понимаешь под "переместить". Если визуально, то достаточно transform: translate(x, y) поменять. Если по ДОМу - то там намного больше ёбли требутся.
386 2264091
>>63886

> https://frontendmasters.com/ - лучшие курсы по фронтенду во всем интернете


Классные, но это все ещё "чувак объясняет код"

Мне бы хотелось курсов с упором на практику.
От себя могу порекомендовать epicreact от Kent C Dodds
он в несколько меньшей степени страдает от этого
387 2264092
>>64089
Очевидно же у облачного файлохраналища будет АПИ с эндпоинтами, позволяющими манипулироваь файлохранилищем.
388 2264093
>>64090
по ДОМу
389 2264094
>>64090
а есть разница в применении?
390 2264095
>>64092
Т.е. мне отдельно кроме бд нужно создать файловое хранилище и к нему также через запросы подключаться? aws вроде нагуглился
391 2264104
>>64090
Вообще хочу как стратежке-выбрал элемент с подсветкой,потом кликнул в другое место,он туда пошел
392 2264114
>>64095
Ничего "отдельно" создавать не нужно, у тебя уже должен быть модуль создан с функциями, отвечающими за работу с хранилищем. Если туториал на трубе не совсем дебилом был сделан, то там уже всё ассинхронно написано, а значит тебе только понадобится условно вызывать или нодовские методы для манипуляции файловой системой или запросики в облако отправлять. Скорее всего придётся писать дополнительный модуль для работы с АПИ облака, функции которого и будут дёргаться модулем хранилища.
image.png5 Кб, 605x80
393 2264118
Что такое сквошь коммитс? Перевод буквальный - давить совершения... Что делает эта галка?
394 2264122
>>64118
На вопросик рядом пробовал наводить?
395 2264130
>>64122
Ну, сейчас навел, прочитал перевод той страницы, там очень много пояснений, но из-аз перевода не совсем понятно. пох, придется на ютубе искать
396 2264132
>>64114
Ну про создавать я имею ввиду, что у меня же должно откуда-то это хранилище появиться чтобы я туда файлы закидывал, соответственно его нужно отдельно создать?
397 2264154
>>64132
Это уже от вендора зависит. Но как минимум тебе придётся создать аккаунт у вендора. Облачные микросервисы же!
398 2264183
Как же хуёво, что backend на JS умер. Жалкие потуги TS не воскресили эту нишу
399 2264191
>>64093
Тут два пути, https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API или если нужно таскать элемент внутри другого, то простой аттач евента mousemove после mousedown и удаление после mouseup.
400 2264195
>>64191
я анон сделал перемещение в точку клика
осталось это анимировать
401 2264197
>>64183
Как скажешь
402 2264208
>>64197
Чел, JS это язык для фронтента. Ведь ничего рискованного на морду приложения не ставят. Максимум, упадёт вьюха или поедет клавиша на 10 пикселей. Бекенд пишут на настоящих языках
403 2264216
>>64208

>Бекенд пишут на настоящих языках


Таких как PHP
404 2264220
>>64208
А жс не настоящий? Бекенды на других языках не падают с исключениями?
405 2264221
>>64216
норм язык
406 2264223
>>64221
Очень скучный, а для очень скучного он слишком не строгий.
407 2264234
>>64220
Настоящие языки программирования это:
C#
Java
Ruby
408 2264241
>>64223
Как руби там оказался рядом с жавой и шарпом?
409 2264243
410 2264247
>>64241
Потому что RoR лучший бекенд фреймворк в мире?
411 2264249
>>64221

>препроцессор гипертекста


>норм язык

412 2264251
>>64247
Чем лучший?
413 2264252
>>64251
Безопасно делать хуяк-хуяк в продакшен и получать 600к в месяц
414 2264255
Как translate применить к елементу,но в рамках жс?
415 2264259
>>64247

>лучший бекенд фреймворк в мире


Оно уже научилось в неблокируемое IO или всё так же отжирает по стеку на каждый параллельный обработчик запросов?
416 2264262
>>64247
Не масштабируемый
Работает на старых подходах и костылях. Все вакансии с рор требуют знание жиквери в 2022
Состоит целиком из уличной магии и трюков которые надо запоминать.
Ни одной стоящей идеи не привнес в в веб, только породил каргокульты вроде ларавела
417 2264271
>>64262

>Не масштабируемый


Сейчас бы масташибировать Node.js, используя какие-то костыли вроде pm2 и шпионских облак
418 2264272
obj.style.transform = "translateX(x+'px')";
почему не работает?
419 2264276
>>64272
"translateX(x+'px')";
Что написать то хотел?
420 2264279
Вот когда эйчар пишет джуну, что у них команда фронтенда будет состоять из одного человека (т.е. этого джуна), то, что это означает?

Хорошо это или плохо вообще?

Там команда менеджеров и SMM-щиков, а для разработки и поддержки сайта один фронтендер. Кто собеседовать будет? Как будут уровень оценивать?
vue-security.webm10,2 Мб, webm,
1366x768, 5:04
421 2264281
Сап, зк.

1. Почему фрэймворки уровня vue или react идут с набором npm пакетов с уязвимостями из коробки, которые не фиксятся через npm audit fix?

2. Если даже что-то и фиксится, то, обычно, рушится весь проект

3. Если править ручками, то как понять какой тип уязвимости и в каком месте примерно (строка файла?). Если npm умный дофига и их находит, почему он об этом молчит?

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

5. Почему все проекты, которые я "щупал", сделанные на реакте и прочим вью, тянут с собой и jquery какой нибудь?

6. Не кажется ли Вам, что вся эта структура с кучей вложенностью компонентов, свойствами и "опусканием их вниз по компонентам" или "поднятию на верх" сильно усложняет жизнь программисту и замедляет разработку? Ну вот на jquery берешь селектор и пишешь строчку кода, например, отобразить там что-то. В реактовью надо делать компонент и передавать туда свойства, чтобы отобразить там что-то. Сильно больше писанины же.
422 2264283
>>64271

>костыли вроде pm2


Завернуть ноду в systemd сервис религия не позволяет?
423 2264286
424 2264287
>>64276
видимое перемещение элемента,а не внезапное появление в точке клика как щас
425 2264288
>>64208
Как скажешь
426 2264290
>>64281
это ASMR со звуками соплей?
427 2264292
>>64290

>это ASMR


Да

>со звуками соплей


это уже аудиопорно
428 2264294
>>64287
На какое значение двигаешь элемент?
image.png5 Кб, 271x114
429 2264296
Понимаешь, в чём ты не прав?
430 2264297
>>64294
зависит от места клика
431 2264300
>>64296
в том и проблема,он не видит цифру
432 2264301
>>64300
document.getElementById("container").style.transform = "translateX(30px)"
вроде на этот пример ориентировался
433 2264304
>>64296
`translateX(${x}px)`
434 2264305
>>64300
Так ты передаёшь туда не цифру, а строку.
435 2264310
>>64305
Туда строку и надо в css выражением

мимо
436 2264311
>>64310
Он передавал Х параметр как символ в строку, а не переменную
>>64304 т.е. надо так
437 2264314
>>64311
Ошибка при парсинге значения «transform». Потерянное объявление
438 2264317
>>62396
нужно нести код. а вообще мб ты пытаешься изменить стейт родительского компонента из дочернего компонента? для таких манипуляций нужно писать функцию в род. компоненте, изменять в ней стейт и передавать её через пропсы в дочерний, в дочернем просто вызывать её с нужными аргументами
https://stackoverflow.com/questions/35537229/how-can-i-update-the-parents-state-in-react
если я в точку попал, то я шерлок
123.jpg199 Кб, 1269x941
439 2264330
>>64317
Я забил на ту проблему, поскольку после загрузки на Github Pages эта ошибка не отображалась. Но понимаю, что надо разобраться, поэтому набросал пикрелейтед того, как это выглядит, чтобы текстом долго не объяснять. Сам код лень по кускам скриншотить.

P. S. Расстраивает, что почти все примеры и объяснения делаются на классовых компонентах, я не особо шарю в них.
440 2264355
>>64314
Ты шо дебил.
441 2264359
>>64330
ну так ты не может setAbc передавать через пропсы и пользоваться дальше, пропсы read-only, ты можешь сделать как я те написал
442 2264361
>>64355
почему?
443 2264362
>>64361
в двух кавычках запутался.
444 2264363
>>64281

> Ну вот на jquery берешь селектор и пишешь строчку кода, например, отобразить там что-то. В реактовью надо делать компонент и передавать туда свойства, чтобы отобразить там что-то. Сильно больше писанины же.


Попробуй alpine.js базарю
sof.jpg102 Кб, 1141x591
445 2264367
>>64359
Почему-то на эту тему почти все примеры с классовыми компонентами. По твоей ссылке для функциональных компонентов предлагают пикрелейтед решение, это ровно то же самое, что и у меня.
446 2264382
>>64367
а вон оно что, мб нужно в юзефекте что-то делать, т.е. стейт менять после рендера компонента?
447 2264403
>>64359

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


Это почему? Диспатчеры сетстейта можно передавать вглубь и это работает
448 2264451
Есть родительский компонент MovieList, есть дочерний Pagination.
Есть хук, который получает данные с сервера по апи.
В родительском компоненте вызывается хук и туда передается параметр page из state у родителя. Этот state прокинут пропсом в Pagination, откуда возвращается число.

Проблема в том, что при клике на необходимую страницу сначала происходит запрос на сервер и подгрузка нового списка с фильмами, а только потом происходит ререндер компонента Pagination. При этом state у родителя сразу мгновенно обновляется при клике на необходимый номер странички.

Кратко: тыкаю на 3 страницу в Pagination, горит индикатор 1 страницы на Pagination, крутится лоадер, список загружается и с 1 страницы индикатор сразу же перескакивает на 3 страницу.

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

Как такого можно добиться?
449 2264470
>>64403
я обосрался, этот хук и есть функция, в которой можно менять стейт
450 2264489
>>64451
Очевидно же проводить запрос после смены состояния пагинации.
451 2264496
>>64489
Это очевидно, да.
Тогда вопрос по-другому поставлю. Как заставить дочерний элемент в родителе рендерится первым, а потом рендерить всё остальное?
452 2264508
>>64496
Менять состояние кнопки перед запросом.
453 2264517
>>64508
Но как? Я вкатун. Использую готовый компонент пагинации от Material UI
454 2264519
>>64517
Ну так страдай. В этом вся суть говно-юай либ - выглядит просто и легко, а как появится проблема, то городить вагон костылей.
455 2264520
>>64496
Никак, если ты хочешь делать такое, то тебе реакт не подходит, потому что его модель рендеринга подобное не предусматривает и не поддерживает. Другое дело, что ты пытаешься сделать хуйню, тебе нужно хранить состояние "выбрана такая страница" отдельно и передавать эту страницу в запрос, а не получать с сервера, как ты делаешь сейчас, тогда все будет меняться сразу же.
image.png36 Кб, 631x274
456 2264523
>>64451>>64520
Вот так
457 2264526
Сап всем. Меня числанули из универа пару дней назад, т.к. сам виноват, перепоступать буду в сентября, поэтому родаки сказали пиздошить на работу или заниматься какой-то хуйней, а не только сидеть за пк 7 месяцев. Поступал на направление по проге, учиться было слишком тяжело, вот я и не выдержал. Изучал С и С++, к слову. Промытый двачом, знал, что лучший вкат в деньги и работу - js. Поэтому я пришел в этот тред, прошу помощи и спрашиваю у знатоков, возможно ли до сентября как-то вкатиться в работу, если дрочить каждый день js? А так, если все пойдет хорошо, то и перепоступать ВДРУГ окажется ненужно. Буду очень благодарен, если поможете с ответом и еще, если тут окажутся люди с похожей судьбой.
458 2264529
>>64526

>не сидеть за пк 7 месяцев


>до сентября дрочить каждый день js


Выходит, что ты собираешься сидеть за пк 7 месяцев. По крайней мере в глазах родителей так и будет. Что ты делаешь что-то за пк, хуй знает что и эффекта нет. А для родителей так оно и выглядит, что если прямо сейчас нет триллиардов дохода, значит ты занят хуйней и играешь в пеку и переписываешься с тёлочками.
459 2264531
>>64529
Неправильно сформулировал, да. Я имею в виду, что могу сказать, что занимаюсь программированием хотя я и так им занимался - расскажу все, что думаю и чего хочу добиться, мало ли, доверятся. Вопрос скорее в том, возможно ли получить существенный прогресс за <=7 месяцев. посколько дохуя на дваче вкатунов с хорошей зарплатой, которые вкатились 4 месяца назад, по их же словам
460 2264538
Дед 23 года, основной заработок с крипты, но хочется прикрыть жопу на случай "криптодоходу пизда, а тебе 30 лет и 0 опыта работы = умирай с голоду" и не деградировать без занятия, решил вкатиться в погроммирование, планов расти до синьора-помидора нет, мне хватит 1-2к в мес с удалёнки/фриланса. Собственно, какой путь и что учить, кроме JS?
461 2264539
>>64538

>что учить, кроме JS


PHP, Nginx
462 2264540
>>64538

>Дед 23 года, основной заработок с мамкиных криптокотлет

463 2264549
Я правильно понимаю что в рякте все стейты должны быть только у верхнего элемента, а чайлдам передаваться через пропсы? Или если у чайлда есть какая-то хуйня, которая по идее не должна ебать парента, то норм свой стейт ему сделать?
464 2264550
>>64539
Это набор для фуллстэка, да? Логика в том, чтобы быть универсальным красноглазиком, что увеличивает шансы найти работу/заказ?
465 2264551
>>64550
Именно
466 2264556
>>64551
Окей, спс. ПХП самый востребованный ЯП для бэкэнда, как ЖабаСкрипт для фронтэнда?
467 2264566
>>64549
Второе.
468 2264572
>>64556
ЖС не "самый востребованный для фронтенда", а единственный. ПХП нихуя не самый востребованный, на бэке зоопарк языков и у каждого своя ниша и сфера применения, можешь просто гуглить топ популярных языков для веба и выбирать какой первым понравится, разницы особой нет, работу найдешь на чем угодно.
469 2264574
>>64572

>ЖС не "самый востребованный для фронтенда", а единственный


Есть еще Dart
470 2264617
>>64526

>что лучший вкат в деньги и работу - js


Наебали. Палю лайфхак, в JS вкатываться год будешь, а вот в Ruby за 3 месяца тебя захантят уже
471 2264618
>>64617
Зачем в мертвом языке ждуны? Там диды нужны поддерживать могилки в порядке.
472 2264619
>>64617
А как это в фреймворк вкатиться быстрее, чем в язык, на котором этот фреймворк работает?
473 2264620
За последние 7 лет жс-тред окончательно скатился в филиал МВП. Тут больше не сидят люди, которым нравится общаться на темы программирования и разработки в целом, и о js в частности. Все треды это сплошное как войти в айти, наполненные чуть более, чем полностью долбоёбами.

Когда-то тут была совсем иная атмосфера.
474 2264622
Стоит ли откликаться на вакансию где есть 1-2 технологии про которые я ничего не знаю или работодатель не всегда подразумевает что нужно знать всё из списка?
475 2264624
>>64619

>А как это в фреймворк вкатиться быстрее, чем в язык, на котором этот фреймворк работает?


>Зачем в мертвом языке ждуны? Там диды нужны поддерживать могилки в порядке.


В JS 1000 Джунов на одну вакансию
В Ruby обратная конкуренцтя, 10 контор готовы принять джуна, лишь бы знал синтаксис
476 2264625
>>64620

>Все треды это сплошное как войти в айти, наполненные чуть более, чем полностью долбоёбами.


Это НЕ из-за МВП или людей. Просто JS считается как параша для вкатунов, такая судьба оверхайпа. Мне в этом треде тоже неприятно, сижу и охуеваю от ЕБАНУТЕЙШИХ вопросов, просто пиздец. Челик вчера переменную в строку не мог передать, кому нужны такие программисты в будущем? Постоянно в треде создают вопросы уровня "как двигать кнопку влево". У людей нет навыков гугла, все хотят сразу тут и сразу здесь
477 2264627
>>64624
>>64619
Блять, Ruby, а не React, я перепутал, сори
478 2264654
>>64625
Я и не говорил, что это ИЗ-ЗА мвп треда. Я сказал, что жс-тред стал его филиалом.

ВСЁ, что тут обсуждается, всегда обсуждалось именно в мвп. Он для этого и был создан. Раньше всех вкатунов и обсуждения собесов, зарплат и прочих "подводных" ссаными тряпками гнали именно в мвп. Теперь это не так лишь потому, что контингент треда сильно скатился за эти последние 5-7 лет.
479 2264658
Сапб, состоявшийся фронт вошел в чат. Как расти в ноду с чего начать если бек в жизни не писал(почти). Посоветуйте.
480 2264659
>>64526
Смотря где работу ищешь. В мухосрани найти контору на 200 зеленых в месяц в целом реально. Но если чо одного js будет не достаточно. Кури css за одно как адаптив пилить и всякие бест практики. В целом научится можно месяцев за три потом залелеть на вакансию сразу если повезет или стажером и через месяц на вакансию.Попробуй на сайтах с работкой поискать стажировки/курсы со стажирковкой когда какую то базу получишь. Но сразу говорю задачи будут той еще хуетой. Во фриланс даже лезть не думай
481 2264663
483 2264666
>>64658
Начни с изучения сиквеля. Это основное чем беков на собесах попускают кроме верчения деревьев.
484 2264667
>>64654
Ну так репорть нерелейтед посты, кто это за тебя будет делать? Я?
485 2264669
>>64665
>>64666
годно, спасибо
486 2264677
>>64625

>Челик вчера переменную в строку не мог передать, кому нужны такие программисты в будущем? Постоянно в треде создают вопросы уровня "как двигать кнопку влево". У людей нет навыков гугла, все хотят сразу тут и сразу здесь


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

Так что вижу две цели треда - хуесосить друг друга, флеймить, спорить почему твой фреймворк говно а мой лучше. Другими словами кидать говном в друг друга.

Ну и другая цель, это на вопросы вкатунов унижать их. Чтобы у них выработалась привычка сначала загуглить. А потом спрашивать , а спрашивать уже и не нужно будет.
image.png60 Кб, 921x768
487 2264687
>>64677
Да просто у него раньше хуй стоял, а теперь нет. JS-тред всегда таким был.
488 2264690
>>64687
ЖиквеРяяя!
489 2264695
>>64690
Знаешь как жикверей показать пользователю всплывающее сообщение, то уже мидл. Если можешь сделать на жиесе обратный отсчет до конца скидки, то уже ниебаться синиор. Вот было время...
490 2264766
Поясните, нахуя нужен ярн, если есть нпм?
491 2264767
Поясните, нахуя нужен ярн, если есть нпм?
492 2264782
>>64766
Нахуй не нужен, признак вкатуна
Способ установки какбы намекает
npm install -g yarn
493 2264783
>>64767
Сейчас - ненужен.
494 2264805
>>64767
Нахуя нужен rar если есть zip? Нахуя нужен git если есть svn? Нахуя нужен yandex если есть google? Нахуя нужен dash если есть bash? Нахуя нужен С если есть ALGOL? Нахуя нужен ты?
495 2264808
>>64805
Ярнодебил порвался.
496 2264809
Куда проще и выгоднее вкатиться, в JS, или Свифт?
497 2264819
>>64767
Ярн уважает локфайл, а не переписывает его при каждой установке, как это делает обосранный npm, одной этой причины достаточно чтобы npm отправился на помойку. Ну и выполнение кастомных скриптов у него лучше, npm-run это тоже костыльное говно, которое даже параметры в скрипт передавать не умеет по умолчанию, надо подпирать костылем.
498 2264823
ВНИМАНИЕ ВОПРОС
Как происходит принятие на удаленную работу? Как детектить персон, желающих наебать меня на личные данные?
499 2264952
>>64809
На макбук дэнгэ есть?
500 2264957
>>64823
Твои личные данные давным давно уже у кулхакеров за 10 рублей
Риск есть всегда, но если у конторы есть хотя бы страница в hh - то шансы выше
501 2264987
Я вкатунец, прочитал, что существует GraphQL.

Скажите, плес, если у сайта обмен запросами и ответами проходит через GraphQL, то я смогу их увидеть в браузере в инструментах разработчика во вкладке Network/Fetch/XHR или надо отдельно скачивать расширения для браузера GraphQL, чтоб увидеть запросы и ответы?
Снимок экрана 2022-01-14 в 17.29.00.png36 Кб, 636x182
502 2264992
>>64952
Жы есть.
image.png55 Кб, 911x391
503 2264994
Сап, есть один process.env.NODE_ENV, у которого тип string | undefined, и его нужно скастить к типу 'production' | 'development' | 'none'. Если изначально значение строки отличается от тех, что есть в юнионе, то поменять его на 'none'. Иначе просто оставить такое, какое есть.

Есть идеи, как сделать это покрасивее? Мой вариант выглядит всрато как-то.. Плюс дублирование кода ещё (список строк в типе юниона и внутри функции этой).
image.png39 Кб, 951x590
504 2265011
Небольшой вопросик. В каком порядке выполняются действия при выполнении подчёркнутой строчки? Получается, сначала создаётся объект, потом выполняется partial, которая вызывает constructor и дальше уже свойства присваиваются. Но главный вопрос: почему [[Prototype]]: myConstructor.prototype, а не partial.prototype?
image.png30 Кб, 1346x180
505 2265023
>>64994
Не знаю, так покороче вроде, но ещё большее говно.
image.png34 Кб, 1246x146
506 2265027
>>65023
Ладно, наверное, так оставлю.
507 2265032
как сделать ожидание второго 2 действия-клика?
code.png366 Кб, 2308x1608
508 2265041
>>64523
Круто + классно и я так делал с функциями.
Но тут фишка в том, что у меня это за получение данных с API отвечает кастомный хук.

А хуки внутри других хуков не работают.

На скриншоте ход этого хука. Внутри хука действительно есть функция, которая собственно и делает запрос.

Может мне тогда лучше использовать только эту функцию? Но как тогда возвращать кортеж [data, loading, error]?

Вообще не хотелось бы отказываться от идеи использования хука. Может у кого есть какие идеи? Было бы интересно послушать.
509 2265052
>>65041
Красивое
510 2265061
>>65041

>fetch


>data


Ты забыл дженерик прилепить к своему хуку. И getData() на ассинхронную функцию переписать. Ну а за то, что переменную называешь как один из глобальных объектов без ведомой на то причины, вообще пиздить надо сапогами.
511 2265062
>>65041

>А хуки внутри других хуков не работают.


Как же ты тогда ипользуешь useState() хук в своём хуке?
512 2265066
>>65061

> Ты забыл дженерик прилепить к своему хуку.


Это что-то с TS связанное? Я еще учу его, поэтому не разобрался.

> И getData() на ассинхронную функцию переписать.


А сейчас она разве не асинхронная? Я же then использую.

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


Справедливо, совсем не подумал.
>>65062
Хорошо: хуки должны быть на верхнем уровне компонента. Надеюсь теперь правильно.
513 2265067
Правильно ли я понимаю что объекты и массивы объявляют через const, а не let, чтобы потом нельзя было объявить ещё раз и из-за этого запутаться?
514 2265069
>>65067
Так let тоже не позволяет объявить ещё раз.
515 2265079
>>64687
Ну и пиздливые же мрази, свистят, что раньше никто вопросов не задавал, все молча через гугл всё решали, а на самом деле нихуя подобного. Уроды ебаные, строят из себя.
516 2265100
>>64809
Так не бывает, выбери что-то одно. Проще JS, выгоднее по деньгам Свифт наверное.
517 2265136
>>64809
На завод
16087955560240.png246 Кб, 453x604
518 2265144
В электроне есть ipc через который можно из рендерера обращаться к главному процессу и получать ответы от него, но пользоваться им нельзя потому что не секьюрно (не догоняю даже как его включить, потеющими ладошками тереблю webPreferences и всё бестолку). Но можно через контекстбридж просунуть в рендерер что угодно в прелоад скрипте. Получается что ipc теперь даже не нужен? Или есть причины им пользоваться?
519 2265145
>>65069
А почему тогда их объявляют через const? Я просто смотрю упражнения на freecodecamp, да и просто куски кода если что-то гуглю, везде const. Здесь
https://www.w3schools.com/js/js_array_const.asp
даже написали, мол

>It has become a common practice to declare arrays using const

520 2265150
>>65145
Чтобы этой переменной нельзя было ничего присвоить, можно только менять/добавлять свойства.
521 2265157
>>65136
Гребцу галеры слово не давали.
522 2265214
Кто-нибудь пробовал юзать на практике swc? Он выигрывает у babel в чём-либо, кроме скорости компиляции?
523 2265234
>>65067
const - это бессмысленная религия, воспринимай ее просто хуевый как стайл гайд, который в проекте соблюдают просто для консистентности. Чему-то полезному он не служит и служить не может, отличия от let номинальные и в основном существуют только в шизоидной голове const-адептов в виде абсурдных рационализаций.
524 2265283
>>65067
Чтобы избежать мутаций.
А еще много где есть ес-линт, где будет ошибка, если ты напишешь let и никогда не переопределишь значение.
525 2265325
Почему JS так сильно ебёт всех других?
526 2265348
>>65325
Не js, а es.
527 2265349
>>65144
Ipc не надо включать, шиз. Открой опрелеление ipc для нпчала.

Потом документацию электрона.
528 2265351
>>65348
Экмашиз в треде.
529 2265368
>>65145
потому что это дефолт объявление для переменной, которое нельзя переназначить будет. если пишешь лет, то сразу понятно, что ты будешь менять значение переменной, а значит повышаешь таким простым манёвром читаемость кода
530 2265395
Господа, посоветуйте гайд/курс/годноту по TypeScript? Помимо документации и не в контексте фреймворка. На выходных чтобы можно было поиграть и запилить туду-лист на нём какой-нибудь.
image.png46 Кб, 786x283
531 2265413
>>65395
База
useless.mp41,2 Мб, mp4,
550x440, 0:20
532 2265435

>typeof null === 'object' // => true



>undefined == null // => true


>undefined === null // => false



>NaN === NaN // => false, NaN == NaN // => false



>isNaN(1 + null) // => false


>isNaN(1 + undefined) // => true



>isNaN('hello world') // => true


>Number.isNaN('hello world') // => false



typeof NaN === 'number' // => true

>if (new Boolean(false)) {alert('evaluarted to true')}

533 2265438
>>65413
Спасибо, чекнул!
Для тех кому надо ссылка: https://www.udemy.com/course/understanding-typescript/

>15 часов



За выходной явно не освою. Ладно, поищу что-нибудь ещё более поверхностное...
534 2265457
Чего не хватает в жс?
535 2265463
>>65457
Типизации и компиляции в байткод
536 2265477
Покажи мне код (который решает реальную проблему), в котором тебе придётся делать такие сравнения?
537 2265478
538 2265498
>>65477

>код (который решает реальную проблему)


Гейткипинг вкатунов и набор в команду сильнейших из сильнейших
539 2265505
>>65477
да ну например в коде калькулятора NaN уж точно проверять нужно, практически в любой либе есть проверки типов
540 2265510
>>65505
Вот и проверяй.
541 2265512
>>65505
Не нужно. В коде калькулятора любой NaN это 0. Так что достаточно value || 0;
542 2265533
Где скачать паленый Вебшторм ?
543 2265535
>>65533
Из интернета.
544 2265536
>>65234
лет-дебил что-то там про шизиков и религию заливает.
545 2265544
Как сделать браузерную игру с профитом?
546 2265545
>>65544
Профит кому?
547 2265546
>>65545
Мне
548 2265563
>>65510
Проверил, проверяй
549 2265564
>>65533
Качай VS Code без угрызения совести, всё быстрее и лучше твоей гоевской перделки
550 2265568
>>65512
а если чел введёт строку, то как её провалидировать? а если чел 0 на 0 поделит? придумай пока велосипеды, а я буду пользоваться isNaN!
551 2265571
>>65544
Встроить рекламу и платное отключение, ну или стандартные микротранзакции.
552 2265576
>>65546
Находишь лоха пожирнее, готового проспонсировать разработку и доешь его. В принципе так работает любой не инди-геймдев, браузерки в этом не исключение.
>>65568
В инпутах всегда строка, наркоман. Плюс в каноничном калькуляторе операции проводить можно только через заранее заданные кнопки.
553 2265577
>>65571
Ну для рекламы уже должен быть трафик
554 2265581
>>65577
Ну так напиши бота, который будет по баннерам переходить.
555 2265583
>>65564
на вс коде я и так сейчас сижу,хотел для разнообразия вебшторм попробовать.Кто то говорил что он удобнее
556 2265584
>>65581

> Ну так напиши бота, который будет по баннерам переходить.


Ты не понял,рекламу ставят когда есть траф допустим 200 уников каждый день
557 2265585
>>65583
Я на рутрекере скачал.
558 2265592
>>65583

>удобнее


Удобнее это использовать одну полноэкранную программу для всех действий. Если им там мало функционала VS Code, то это не программисты, а макаки
559 2265594
>>65544
В /gd/ объяснят, базарю.
560 2265598
Перекат >>2265597 (OP)
561 2274450
>>65592
Если тебе мало функционала блокнота, то ты не программист, а макака

мимо
562 2274452
>>65544
Вопрос-то в чём? В игре или в профите? Лол.
Если бы на второе был общеизвестный ответ, не существовало бы понятия риска и все были бы богачами.
Тред утонул или удален.
Это копия, сохраненная 31 июля 2022 года.

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

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