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

Ответить в тред Ответить в тред
Check this out!
JS Thread #239 /js/ Аноним 10/01/22 Пнд 09:25:58 22607711
16313000548100.png 56Кб, 1050x1050
1050x1050
Предыдущий тред: >>2253637 (OP)

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

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

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

Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
Аноним 10/01/22 Пнд 09:44:48 22607782
>ребят давайте по чесноку: вам легко давалось изучение программирования? или дропнуть хотели еври дей, как я

бамп
Аноним 10/01/22 Пнд 10:00:09 22607823
>>2260778
Нелегко, но у меня мотивация есть. Заебла работа, просто тошно уже. А если уйду, хуй я найду нормальную, да и некуда на моей развиваться, я только деградирую.
Аноним 10/01/22 Пнд 10:07:57 22607864
Огласите стек на текущий год
Аноним 10/01/22 Пнд 10:28:02 22608025
image.png 586Кб, 900x900
900x900
>>2260782
>Заебла работа, просто тошно уже. А если уйду, хуй я найду нормальную, да и некуда на моей развиваться, я только деградирую.
Жиза.
Аноним 10/01/22 Пнд 10:57:51 22608146
>>2260786
Тоже самое походу, в прошлом году ничего нового не появилось
Аноним 10/01/22 Пнд 11:07:09 22608237
Аноним 10/01/22 Пнд 11:10:33 22608258
>>2260823
Ты троллишь или я впервые эти либы вижу?
Аноним 10/01/22 Пнд 11:31:03 22608459
>>2260786
>2022
>стек
Все пасаны уже перешли на дек
Аноним 10/01/22 Пнд 11:32:15 226084610
>>2260845
Вот бы ивент-залупа была бы на деке. Вот бы вкатаны охуели...
Аноним 10/01/22 Пнд 12:09:49 226089611
Подскажите в вебшторме есть функция, благодаря которой можно переименовать класс дива в html и чтобы автоматически название класса заменилось бы в css и js?
Аноним 10/01/22 Пнд 12:21:20 226090912
Аноним 10/01/22 Пнд 12:40:13 226092313
>>2260909
>Если/когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем
Аноним 10/01/22 Пнд 13:01:35 226094714
image.png 13Кб, 322x310
322x310
image.png 13Кб, 461x223
461x223
>>2260923
Правой кнопкой по атрибуту - рефактор - ренейм

либо сразу - шифт+F6
Аноним 10/01/22 Пнд 13:19:52 226095715
>>2260947
>использовать жидбрейнс
Кто-то им еще пользуется в 2022м?
Аноним 10/01/22 Пнд 13:21:21 226095916
>>2260947
Часто пользуюсь, но не пришло в голову.
>>2260957
Все остальное говно.
Аноним 10/01/22 Пнд 13:26:54 226096617
>>2260959
Палю годноту.
Vs Code:
одно IDE на ВСЕ твои языки и фреймворки. Я на нём как миниум на 4х работал без проблем
Аноним 10/01/22 Пнд 13:35:04 226097218
>>2260966
Палю годноту
notepad.exe
одно IDE на ВСЕ твои языки и фреймворки. Я на нём как миниум на 400х работал без проблем
Аноним 10/01/22 Пнд 13:37:06 226097419
>>2260957
вебшторм это продукт жетбреинс?
Аноним 10/01/22 Пнд 13:40:57 226097620
>>2260966
Так это пройденный этап, заебло накатывать всякие разные плагины и пердолить всякие автоимпорты и прочее.
Аноним 10/01/22 Пнд 13:44:00 226098021
Аноним 10/01/22 Пнд 13:47:30 226098622
>>2260966
вскод IDE можно назвать только для жопоскрипта, для всего остального это просто блокнот с плагинами.
Аноним 10/01/22 Пнд 13:49:51 226098723
>>2260980
Мне мой ментор сказал, что вебшторм - лучшая ИДЭЕха для фронтендера, так что сам юзай свой ВэСэКод
Аноним 10/01/22 Пнд 13:50:58 226098924
>>2260986
>это просто блокнот с плагинами.
А что еще нужно программисту?
Консоль, плагины и пердоль код 24 на 7
Аноним 10/01/22 Пнд 13:53:43 226099225
>>2260989
Профессионалам нужны профессиональные инструменты, которые ускоряют процесс работы. Это все равно что сказать - водителю нажна только баранка и педаль газа, пердоль и пердоль 24 на семь. Но сев в вольво 2020 года и затем вернувшись в жигули водитель будет вблевать от того, насколько уебищен второй вариант, как мало в нем функционала
Аноним 10/01/22 Пнд 13:54:21 226099326
>>2260992
Ускоряет процесс разработки только знания терминальных команд, остальное оставьте курсоёбам
Аноним 10/01/22 Пнд 13:54:22 226099427
>>2260989
Ну так вскод дерьмо как блокнот с плагинами, эта ниша уже давно прочно занята божественным ST. А если тебе нужна IDE под что-то, кроме жопоскрипта, то это почти наверняка будет какой-то жидбрейнс продукт, да и то, вебсторм/пхпсторм под джаваскрипт лучше, чем вскод, просто вскод из коробки настроен удобнее.
Аноним 10/01/22 Пнд 13:55:52 226099528
>>2260993
Лол блядь, посмотрю я на тебя, как ты будешь создвавать даже простой ХТМЛ документ в блокноте. В то время как в вебшторме ты за пару движений можешь создать целые блоки кода
Аноним 10/01/22 Пнд 13:58:55 226099929
Кстати, новый облегченный редактор от жетбрейнс пробовал кто? Fleet
Аноним 10/01/22 Пнд 14:01:35 226100130
Аноним 10/01/22 Пнд 14:03:31 226100331
>>2260995
>В то время как в vscode ты за пару движений можешь создать целые блоки кода

Не аргумент
Аноним 10/01/22 Пнд 14:12:06 226101032
>>2261003
Может битву ИДЭех устроим? каковы условия?
Аноним 10/01/22 Пнд 14:13:10 226101233
>>2260999
Он еще не вышел. И будет страдать отсутствием всех плагинов еще лет 5 после выхода

>>2261010
>Может битву ИДЭех устроим? каковы условия?
VS Code бесплатен и на этом можно прекратить глупую дискуссию
Аноним 10/01/22 Пнд 14:19:13 226102134
Важный вопрос:
как получить tagName класса HTML-элемента, не создавая экземпляр класса?

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

Пробовал window.HTMLTableCellElement.prototype.tagName — кидает TypeError: Illegal invocation
Аноним 10/01/22 Пнд 14:20:13 226102235
1635381603791.jpg 62Кб, 738x703
738x703
>>2260999
>облегченный
>на яве
Аноним 10/01/22 Пнд 14:21:38 226102536
Аноним 10/01/22 Пнд 14:25:34 226102937
16141756612200.jpg 23Кб, 334x302
334x302
>>2261025
>Код Fleet в основном пишется на Kotlin, соответственно, он выполняется на JVM.
Аноним 10/01/22 Пнд 14:32:05 226103938
>>2261021
Зачем такие извращения? Какая цель?
Аноним 10/01/22 Пнд 14:32:48 226104039
>>2261012
>VS Code бесплатен
Ты небось убунту юзаешь и с Ксяоми гоняешь?
Аноним 10/01/22 Пнд 14:40:57 226104340
image.png 1277Кб, 1022x1432
1022x1432
Аноним 10/01/22 Пнд 14:52:58 226105341
>>2261029
Там будет kotlin native на бекенде и html js на фронтенде
можете скринить
Аноним 10/01/22 Пнд 14:54:22 226105442
>>2261039
> Зачем такие извращения? Какая цель?
Вот надо мне, например, создать экземпляр класса. Что это за класс, я не знаю заранее, он берётся динамически. Если я напишу 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 можно реализовать?
Аноним 10/01/22 Пнд 15:00:25 226106243
>>2261054
Зачем ты в принципе пытаешься смешать создание обычных классов и создание html-элементов, наркоман?
Аноним 10/01/22 Пнд 15:12:14 226107344
Расскажите о своем первом собеседовании. Интересно послушать о чужом опыте.
Аноним 10/01/22 Пнд 15:30:37 226108945
>>2261012
>VS Code бесплатен
Как и вебшторм. Учась, можно спиратить, а после устройства на работу можно попросить компанию оплатить.
Аноним 10/01/22 Пнд 15:50:15 226109946
>>2261089
Возможно для тебя это новость, но многие люди не хотят воровать.
Аноним 10/01/22 Пнд 17:12:22 226117347
>>2261062
> Зачем ты в принципе пытаешься смешать создание обычных классов и создание 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 не соответствует переданному классу, что поможет избежать ошибок.
Аноним 10/01/22 Пнд 17:29:08 226118048
>>2261173
Это лютейший говнокод, наследование это и так антипаттерн ООП в 99% случаев, а ты еще и динамическое наследование накостылил. И это все еще не ответ на вопрос "нахуя тебе это нужно", на него надо отвечать с точки зрения бизнес-логики: "чтобы нарисовать вот такую штуку и вот такую", а не "ну вот у меня тут уровнем повыше еще костыль и я его хочу обслужить", потому что тут опять возникает вопрос, а нахуя тебе теперь лютый костыль, который ты обслуживаешь костылями поменьше, в которых уже сам запутался >>2261021>>2261054
Аноним 10/01/22 Пнд 17:34:43 226118749
Как же хочецца декораторы..
Аноним 10/01/22 Пнд 17:40:47 226119450
image.png 39Кб, 576x568
576x568
>>2261187
Вы посмотрите какая красота, вы только поглядите на это. Какие чистые декораторы аккуратные, господе, боже мой. Да за каким же хуем я работаю на JS, блядь это действительно сука проклятие. Это сука, наказание ебаное.
Аноним 10/01/22 Пнд 17:45:57 226120351
>>2261173
>Чтобы можно было нормально расширять классы HTML-элементов для добавления нужной функциональности и потом их использовать наравне с HTML-элементами (и то, и другое создавать через вышеупомянутую функцию createClassInstance).
Алё, тебе шаблоны прямо в среду завезли, расширяй и наследуй сколько хочешь почти без костылей.
https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_templates_and_slots
>а то ведь напрямую от HTML-класса наследовать нельзя, будет ошибка при создании экземпляра
Так потому что это не классы, а интерфейсы.
Аноним 10/01/22 Пнд 17:49:39 226120852
>>2261194
> эта транспиляция
Не, ну так-то я тоже могу бабеля подключить и обмазываться декораторами без смс и регистрации, но ведь я только что этого же бабеля выпилил из dev-сервака, чтобы порезать время сборки... Тяжело
Аноним 10/01/22 Пнд 17:51:21 226121453
>>2261194
По крайней мере любой мидломакаке с любого жава решетка пхп стека все понятно что к чему.
Аноним 10/01/22 Пнд 17:59:52 226123554
image.png 6Кб, 312x36
312x36
Что с ебалом, программисты безопасного типизированного кода?
Аноним 10/01/22 Пнд 18:17:55 226125655
>>2261235
Гандоны тоже считаются безопасными, но тем не менее ты родился.
Аноним 10/01/22 Пнд 18:36:27 226127156
>>2261235
>безопасного
А кто коду типошизиков-то угрожает, все хотел спросить? Их собственные коллеги?
Аноним 10/01/22 Пнд 18:39:07 226127457
>>2261194
Серанул с говнокода на пике.
Аноним 10/01/22 Пнд 18:44:40 226127758
image.png 100Кб, 1823x892
1823x892
Аноним 10/01/22 Пнд 18:57:57 226129059
>>2261180
> И это все еще не ответ на вопрос "нахуя тебе это нужно", на него надо отвечать с точки зрения бизнес-логики: "чтобы нарисовать вот такую штуку и вот такую"
Так ведь много для чего нужно. Чтоб новый функционал добавлять элементам. В основном для динамических таблиц (UI для заполнения таблиц учёта выпущенных машин, автоматическая проверка и генерация отчётов о соответствии контрольных точек нормам и т. д.), да и вообще для любого поведения элемента.

Думаю, это всё можно было бы на том же Реакте сделать намного проще, но сторонние библиотеки нет возможности использовать из-за норм информационной безопасности на предприятии (оно хоть и не режимное, но выпускает продукцию для авиационной промышленности, поэтому всё довольно засекречено, и выход в инет у нас заблокирован, свои носители цифровой информации тоже подключать запрещено).
Аноним 10/01/22 Пнд 18:59:56 226129260
>>2261277
Всё правильно сделал. Если хотят моков - пусть делают на бэке, нехуй плодить сущности на фронте.
Аноним 10/01/22 Пнд 19:04:19 226129861
>>2261292
Это >>2261194 и так был бекенд
суть моего сложного юмора в том, что либы faker и color разъебали пол интернета, несмотря на то, что код обмазан тестами и типами
Аноним 10/01/22 Пнд 19:04:46 226129962
>>2261290
Так ты не сказал, зачем тебе такой пердолинг с конструкторами и тэгами. Компоненты ты можешь и обычными функциями создавать. А уж какой там html тэг оборачивает эта функция другие компоненты ебать не должно.
Аноним 10/01/22 Пнд 19:04:48 226130063
>>2261292
толсто как будто на беке жс не бывает
Аноним 10/01/22 Пнд 19:11:10 226130564
>>2261300
Фейкер в основном исользуют, чтоы нахуярить несуществующих сущностей на фронте. А на бэке нагенерить говна можно и без него.
Аноним 10/01/22 Пнд 19:11:22 226130665
>>2261298
А мораль какая? Не пользоваться презервативами, когда живешь среди сифилитиков и спидозников?
Аноним 10/01/22 Пнд 19:12:09 226130866
>>2261298
>несмотря на то, что код обмазан тестами и типами
Если обмазан тестами а нахуя еще фейкер нужен, если не для тестов?, то ничего сломать не могло, там до любого деплоя/билда бы вылезла эта проблема, если тесты реально используются и что-то проверяют, а не для галочки. Типы да, но это не секрет, что типы нихуя не делают и не могут делать для проверки реальной работоспособности программы.
Аноним 10/01/22 Пнд 19:15:29 226131067
Аноним 10/01/22 Пнд 19:18:19 226131768
Ладно. Всё равно тупаскрипт это база в 2022. Лучше языка нет (только C# на бекенде)
Аноним 10/01/22 Пнд 19:19:27 226131869
>>2261308
Только не пизди что типы нихуя не дают, ускорение разработки сильное дают, хотя бы благодаря тому что ты знаешь всех пользователей интерфейсов.
Аноним 10/01/22 Пнд 19:19:53 226132070
>>2261317
Стесняюсь спросить, а ты хоть на каких-то языках писал в своей жизни, кроме жопоскрипта, чтобы такие выводы делать?
Аноним 10/01/22 Пнд 19:20:26 226132271
>>2261320
Python, PowerShell, C, C++, C#, JavaScript, TypeScript
Аноним 10/01/22 Пнд 19:20:52 226132372
>>2261203
>>2261299

Ну хз, с шаблонами и функциональными компонентами работать не доводилось.
Аноним 10/01/22 Пнд 19:22:17 226132573
>>2261318
>ускорение разработки сильное дают
Щас будет "РЯЯЯ, бойлерплейт писать надо".
Но ведь abstract/interface это лучшее из мира ООП, что помогает в разработке. Ты уж точно не обосрёшься с ф-цией или классом, когда знаешь, что от него нужно по ТЗ
Аноним 10/01/22 Пнд 19:23:27 226132674
>>2261318
С чего ты вообще взял, что "знание всех пользователей интерфейсов":

1) ускоряет разработку
2) стоит того, чтобы писать сотни и тысячи строк с описаниями типов вместо писания реального кода, который что-то делает?
Аноним 10/01/22 Пнд 19:24:20 226132975
>>2261322
Я говорю про опыт реальной разработки реальных продуктов, а не "в универе лабу написал" или "скрипт наговнокодил по туториалу один раз".
Аноним 10/01/22 Пнд 19:24:27 226133076
>>2261326
В том, что интерфейс пишется очень быстро и лаконично.
Интерфейс или абстрактный класс это черновик. Ты на самом верхнем уровне продумываешь как должен себя вести объект
А потом просто пишешть и всё. Как будто сам себе ТЗ пишешь
Аноним 10/01/22 Пнд 19:25:36 226133277
>>2261329
>опыт реальной разработки реальных продуктов
C, C++, JavaScript, TypeScript
Аноним 10/01/22 Пнд 19:25:42 226133378
>>2261325
>когда знаешь, что от него нужно по ТЗ
Но ведь ты не знаешь. Любое ТЗ - это прежде всего описание функционала, и типы никаким образом тебе это описание не дадут и дать не могут, бизнес-логика из них не выводится.
Аноним 10/01/22 Пнд 19:26:36 226133479
>>2261333
В ТЗ пишешь свой уровень "CRUD", допустим. Потом свой CRUD связываешь с логикой кабана через бизнес-слой
Аноним 10/01/22 Пнд 19:27:07 226133580
>>2261332
C, C++ убери еще из этого списка и будет похоже на правду. Но вообще да, по сравнению с сями любой человеческий высокоуровневый язык программирования хорошим покажется.
Аноним 10/01/22 Пнд 19:27:43 226133681
>>2261335
>убери еще из этого списка и будет похоже на правду
Я два года пердолил и больше не хочу возвращаться
Аноним 10/01/22 Пнд 19:28:40 226133782
>>2261330
>Ты на самом верхнем уровне продумываешь как должен себя вести объект
А при чем тут типы? "знаю сигнатуру типов" не равняется "знаю поведение", это две абсолютно разные вещи с разных планет.
Аноним 10/01/22 Пнд 19:29:41 226133883
>>2261337
Так поведение в абстрактном классе придумывается
Аноним 10/01/22 Пнд 19:32:16 226134084
>>2261338
Придумывать ты можешь где угодно, хоть на очке, хоть на листке бумаги, вопрос в том, каким образом поведение соотносится с type signature? Правильный ответ - никак, потому что из "эта функция принимает строку и возвращает строку" ты никогда не выведешь "а, ну это наверное локализация там реализована".
Аноним 10/01/22 Пнд 19:32:27 226134185
>>2261326
Потому что код приходится постоянно рефакторить из-за субъективных причин. Например меняются требования в ТЗ. Хорошо когда ты знаешь кто использует интерфей который ты хочешь обновить. Отладка тоже облегчается (но не сильно), меньше гадать по ключам в стеке вызова что это за объект ты смотришь
Аноним 10/01/22 Пнд 19:33:41 226134286
>>2261340
>поведение
За последние 20 лет написали все возможные типовые решения на любую хотелку кабана
Аноним 10/01/22 Пнд 19:37:21 226134387
>>2261341
Термин "рефакторинг" означает изменение внутренней структуры кода без изменения внешнего интерфейса, так что тебя ебать не должно, кто там что использует снаружи. И при рефакторинге тебе нужно знать одну вещь - что поведение зарефакторенного кода не поменялось. А так как мы уже выяснили, что типы поведение не определяют, то и при рефакторинге они не помощники, любой рефакторинг требует прежде всего тестов. А если ты перелопачиваешь поведение всего кода в проекте, то во-первых это уже не рефакторинг, а обычная имплементация фич, а во-вторых тебя так же должно интересовать в первую очередь поведение этого кода, а не то, что там манятип правильный передался.
Аноним 10/01/22 Пнд 19:39:00 226134488
image.png 93Кб, 480x360
480x360
Аноним 10/01/22 Пнд 19:43:07 226134789
>>2261343
Это уже схоластика пошла. Рефакторинг это как раз улучшение структуры кода и его соответствия задаче. А то что ты говоришь это простая разработка, то есть расширение поведения, добавлением нового кода, согласно O правилу из SOLID.
Аноним 10/01/22 Пнд 19:47:50 226135190
>>2261347
>и его соответствия задаче
Любой рабочий легаси-гавнокод будет соответствовать задаче и выполнять все хотелки бизнеса
Аноним 10/01/22 Пнд 19:48:52 226135291
>>2261347
> Рефакторинг это как раз улучшение структуры кода
Гугли определение, но я тебе могу его сказать и так: Рефакторинг - это улучшение внутренней структуры кода, без изменения поведения этого кода
>и его соответствия задаче
Никакие изменения поведения к рефакторингу не относятся, это обычная доработка/багфикс, что угодно, но не рефакторинг. В процессе рефакторинга ты можешь обнаружить какой-то баг в коде, потому что код стал лучше и читаемее, и тут же поправить этот баг, но это побочный эффект, а не цель рефакторинга.
Аноним 10/01/22 Пнд 19:52:20 226135592
>>2261351
Легаси и рефакторят редко. А рефакторят когда проект еще пишется и бизнес только выявляет требования к продукту. Тогда и тесты еще пишутся и переписываются для новых требований. Ты будешь спорить что нужно рефакторить и уменьшать тех долг постоянно?
Аноним 10/01/22 Пнд 19:54:24 226135993
>>2261355
>Ты будешь спорить что нужно рефакторить и уменьшать тех долг постоянно?
За эти копейки пусть рефакторят сами, а я буду просто закрывать задачки из джиры
Аноним 10/01/22 Пнд 19:55:22 226136094
>>2261352
Я ж сказал схоластика. Люди периодически рефакторят код чтобы приспособить его к задачам. Да, потому что накапивается долг. Никакой тебе архитектор заранее не напридумает что у маркетолога на уме будет через месяц.
Аноним 10/01/22 Пнд 19:59:35 226136595
>>2261360
Что такое технический долг?
Аноним 10/01/22 Пнд 20:02:51 226136896
>>2261365
всё, понял. Обычно МЫ увольняемся быстрее, чем он переполняется
Аноним 10/01/22 Пнд 20:02:52 226136997
>>2261365
Долг служить кабану славно, усердно и очень исправно.
Аноним 10/01/22 Пнд 20:03:36 226137398
>>2261365
Как супружеский, только для компьютерщиков.
Аноним 10/01/22 Пнд 20:05:28 226137899
>>2261360
>Люди периодически рефакторят код чтобы приспособить его к задачам
"Приспособить к задачам" и "реализовать задачу" - это две абсолютно разные вещи. Ты путаешь процесс с целью. Разумеется, конечная цель рефакторинга - это чтобы код можно было лучше читать, удобнее менять, и так далее. Но сам процесс рефакторинга изменений в функционале не подразумевает, они идут уже следующим этапом.
Аноним 10/01/22 Пнд 20:07:46 2261381100
>>2261365
Когда чтобы добавить одно поле в форму, тебе нужно ебаться два дня и потом еще неделю фиксить баги.
Аноним 10/01/22 Пнд 20:11:16 2261387101
>>2261381
Всю жизнь так и работаю.
Добавляю один параметр, а там где-то пол приложения взрывается нахуй
Аноним 10/01/22 Пнд 20:15:30 2261388102
>>2261378
Ну я и говорю приспособить к задаче. Чтобы можно было хотелки заказчика выразить в к оде без потери им расширяемости, не просто хатэтэпе метод дернуть. Вот у тебя есть к примеру класс Messanger c с методом sendMessage(message: string). Приходит кабан и говорит: "Раньше мы отправляли только текстовые сообщения через сервис наших партнеров, теперь появилась возможность отправлять картинки и файлы. Сычов реализуй". Заменить метод sendMessage(message: string) на sendMessage<T extends MessageContainer>(message: T) это рефакторинг или разработка?
Аноним 10/01/22 Пнд 20:17:38 2261391103
>>2261388
Разработка разумеется, ты добавляешь дополнительный функционал в проект, которого раньше не было.
Аноним 10/01/22 Пнд 20:19:18 2261392104
image.png 5Кб, 356x174
356x174
image.png 16Кб, 712x280
712x280
Пиздец. Можно хоронить JS Backend
Куда перекатываться из JS Backend?
Аноним 10/01/22 Пнд 20:20:10 2261394105
>>2261388
>Раньше мы отправляли только текстовые сообщения через сервис наших партнеров, теперь появилась возможность отправлять картинки и файлы. Сычов реализуй
Сычёв правил DTO и всё в порядке
Аноним 10/01/22 Пнд 20:21:12 2261397106
>>2261387
И как, нормально тебе? Не думал, что пора что-то менять в своем подходе к программированию?
Аноним 10/01/22 Пнд 20:21:37 2261399107
>>2261391
Но я же не решаю задачу таким способом. Я просто меняю интерфейсы. Я все поменял код не сломался, все тесты я обновил чтобы они параметрический код тестировали. Но я не могу придти к кабану и сказать задача выполнена картинки отправляются. Отправляются по прежнему только строки. Но код стал больше соответствовать текущим задачам.
Аноним 10/01/22 Пнд 20:21:49 2261400108
>>2261397
Так я только на легаси-проектах и сижу. Нового и крутого никогда не видел
Аноним 10/01/22 Пнд 20:29:40 2261409109
>>2261399
>Я просто меняю интерфейсы
И какой смысл в этом изменении? Ты точно так же отправляешь строку, но теперь оборачиваешь ее в лишний бесполезный объект. Нахуя? Данное изменения не имеет никакого смысла в отрыве от задачи по отправке картинок и вносить его отдельно так же смысла нет, сразу уж добавляй картинки туда. Рефакторингом это было бы, если бы sendMessage функция была простыней из сотни строк, а ты бы ее внутри разбил на функции поменьше, чтобы код читался и понимался лучше. Такое изменение имеет смысл в отрыве от любой другой задачи и его можно внести когда угодно, это и есть рефакторинг.
Аноним 10/01/22 Пнд 20:40:26 2261422110
>>2261400
При чем тут легаси или не легаси? Ты пишешь код и от твоего кода все ломается нахуй. И не раз, и не два, а регулярно и как правило. Как думаешь, хорошо это или плохо и что говорит о тебе как о программисте?
Аноним 10/01/22 Пнд 21:01:19 2261440111
>>2261409
Я ничего не оборачиваю

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

type MessagContainer = ImageContainer | string

У месенжера просто будет больше пользователей пользователей.
Аноним 10/01/22 Пнд 21:02:31 2261441112
Ребят, а если я патлатый меня с собесов нахуй посылать не будут?
Вообще как к этому относятся? Есть ли тут патлатые, которые норм устроились?
Аноним 10/01/22 Пнд 21:05:22 2261444113
>>2261441
Смотри на картинках как выглядят пхп, жс, руби, крестах кодеры и иди туда на кого больше похож.
Аноним 10/01/22 Пнд 21:05:28 2261446114
>>2261441
Посылать тебя никто не будет, если не тупой)
Аноним 10/01/22 Пнд 21:06:39 2261447115
>>2261440
Так это еще хуже, во-первых ты заложил туда базу для классического говнокода: когда подобная функция делает разные вещи в зависимости от флага/типа переменной, то это означает, что на самом деле у тебя должно быть две отдельные функции, во-вторых ты даже не написал ни строчки кода, просто зачем-то заранее начал ублажать конпелятор предварительными ласками.
Аноним 10/01/22 Пнд 21:07:03 2261449116
>>2261441
Если не налысо выбритый даже в паху (это тоже проверяют) и не обрезанный/кастрированный, то заставят вертеть деревья на туалетной бумаге.
Аноним 10/01/22 Пнд 21:07:30 2261451117
>>2261392
Зачем тебе Express в 2022? nest js учи, он кайфовый. Express игрушечный, на нем редко проекты толковые пишут
Аноним 10/01/22 Пнд 21:07:52 2261452118
>>2261449
Я думал нужно только попку выбрить полностью, а остальное не важно..
Аноним 10/01/22 Пнд 21:09:40 2261457119
>>2261447
Почему ты решил что она делает это сама а не делигирует? С точки зрения интерфейса он продолжает выполнять свою абстрактную задачу - отравлять сообщения. Рефакторинг же и направлен на то чтобы абстракцию увеличить.
Аноним 10/01/22 Пнд 21:12:13 2261464120
Аноним 10/01/22 Пнд 21:16:56 2261470121
Народ, всем привет. Есть вопрос по методологии БЭМ. Не могу понять принцип единственной ответственности. Например, у меня есть блок с элементом и модификатором (допустим кнопка, пофиг). Дальше я должен придать блоку свойства: рамку, отступы, шрифты, цвета итд. Так вот, как должны правильно распределяться св-ва между блоком, эл-том и модификатором?
Аноним 10/01/22 Пнд 21:19:23 2261472122
>>2261457
>Почему ты решил что она делает это сама а не делигирует?
Так а нахуя ей что-то делегировать? Если у тебя есть клиенты, которые отправляют только текстовые сообщения, а теперь появились те, которые хотят отправлять картинки, то пусть первые остаются как были, а для вторых делай функцию sendImage.
>Рефакторинг же и направлен на то чтобы абстракцию увеличить.
Абсолютно нет, рефакторинг направлен на изменения кода, но изменения могут быть любыми, в том числе и уменьшение числа абстракций. И так-то любая абстракция сама по себе делает код менее читабельным, потому что вместо прямолинейного кода тебе теперь нужно держать в голове и знать о какой-то еще структуре. Поэтому вводить их нужно только когда это увеличение сложности нивелируется другими факторами, например когда абстракция удачно изолирует связанный блок логики. Сами по себе абстракции ради абстракций код ухудшают, а не улучшают.
Аноним 10/01/22 Пнд 21:44:38 2261487123
>>2261470
Тут про программирование а не про говноверстку
А вообще бэм параша css in js заебись
Аноним 10/01/22 Пнд 21:54:39 2261495124
>>2261472
У тебя получается что клиенты которые отправляют сообщения зависят от интерфейса sendImage. Это нарушение I из SOLID.
Тут приходит кабан и говорит: "У нас что много клиентов стало, надо отправку сообщений в очередь ставить. Сычев делай" Ты пишешь планировщик очереди: Изображение, Изображение, Текст, Изображение, Текст. Тебе нужно выделить интерфейс
interface MessageSender {
sendMessage(message: string): void;
sendImage(image: ImageContainer): void;
}
и приделать его планировщику чтобы клиенты отправлять сообщения через планировщик а не через Messanger непосредственно. Какому шайтану нужно чтобы планировщик делал два метода, когда они обусловлены только инкапсуляцией данных сообщений. При таком подходе у тебя количество методов будет расти как снежный ком при слоистой архитектуре.
sendMessage
sendImage
sendMessageWithPadding
sendImageWithPadding
sendMessageWithNoResponse
sendImageWithNoResponse
sendMessageWithPadding
sendImageWithPadding
sendMessageWithPaddingAndNoResponse
sendImageWithPaddingAndNoResponse
Аноним 10/01/22 Пнд 22:00:30 2261499125
>>2261495
>У тебя получается что клиенты которые отправляют сообщения зависят от интерфейса sendImage
Что несешь? Тот, кто пользуется функцией sendImage - зависит от ее интерфейса, тот, кто не пользуется - не зависит. Как и с любой другой функцией.
> Это нарушение I из SOLID
Нарушение как раз у тебя, потому что это ты хочешь слепить монструозную функцию, принимающую несколько типов аргументов и делающую разные вещи в зависимости от этих типов(general-purpose interface), вместо того, чтобы иметь отдельные функции для отдельных вещей(client-specific interface). Видимо все в голове уже перепуталось, только акроним запомнил.
>Тут приходит кабан и говорит
Код пишется под существующие реальные требования, а не под выдуманное тобой на пустом месте "а если".
Аноним 10/01/22 Пнд 22:03:50 2261503126
>>2261021
У HTMLQuoteElement какой по-твоему долен быть тег <blockquote> или <q>?
А у HTMLHeadingElement h1, h2, h3, h4, h5 или h6?

Аноним 10/01/22 Пнд 22:04:49 2261506127
>>2261499
>под существующие реальные требования
Требования "существуют" континуально по времени, а не только в одном документе ТЗ
Аноним 10/01/22 Пнд 22:12:50 2261514128
>>2261499
И я ж тебя спросил откуда ты взял монструозную функцию? Messanger делегирует свою работу. Он просто абстракция отправки особщений в архитектуре. Сейчас ты будешь нужность абстракций отрицать и действительно напишешь десяток функций потому что одни клиенты исторически отправляли только сообщения, потом появились клиенты которые отправляют еще и изображения, потом напишешь метод для клиентов нового протокола с падингом, потом метод для асинхронных клиентов которые не ждут ответа.
Аноним 10/01/22 Пнд 22:13:12 2261515129
>>2261487
css/scss modules тоже неплохо
Аноним 10/01/22 Пнд 22:19:56 2261520130
>>2261514
sendMessage('hui') и sendMessage({url: '...', w: 123, h: 123}) - это две разные функции и два разных интерфейса. Но если клиент использует одну из них, то он автоматически привязывается ко второй, хотя вторая ему нахуй не нужна и знать он о ней не хочет. Именно так нарушение принципа разделения интерфейсов и выглядит, и именно это ты хочешь сделать.
Аноним 10/01/22 Пнд 22:35:59 2261527131
Я/мы Marak Squires
Аноним 10/01/22 Пнд 22:36:01 2261528132
>>2261520
Где это видно? MessageSender это базовый тип. TextClient не зависит от ImageContainer

https://www.typescriptlang.org/play?#code/JYOwLgpgTgZghgYwgAgJIFs4HMIGED24co0yA3gFDLXICuUANgFzIDOYUoWA3FTQBYsQtdACNovGsgDuQkeKi8AvhQpgAngAcUAWQitW2PITDEQpALxpMOAkRJRkAHzYcuvCqEixEu-YZwAZQgQABNSSilWENC9AyMAHgAVZAgAD0gw1mQ4gON7cygAPgAKdH8jFiSAShYAN3xgUOVVBAY4A2Qk9LBcBmAQsHI+agRCdihaBDB8KBLNWlF+hDYY6BZco2Cw6GryZBUR5Cg1ub2mBqbhqSkwfmBWADponahnmM2cBImuUoAiAASEAYDHwf2qRxUhzaHWyGCMfQG4GuNDGIAmUxmcwWS2AKxe4SgGwqQVOezIB1UUhOrxK50uoRRN2Qdwe71e7NiJIgCXhthMZmgpUizJugmQABYABwABgANEdRTIWAA2GXyxWi+jMZAAcgAxLrNdQlBCpFCgA
Аноним 10/01/22 Пнд 22:38:58 2261530133
>>2261528
У тебя конпелятор головного мозга, попробуй его выключить и начать думать не типами, а тем, как функции используются в реальном коде и что они реально делают.
Аноним 10/01/22 Пнд 22:47:39 2261534134
>>2261530
Я тебе описал практическую проблему у тебя с игнорированием абстракций. Проблема не в том что у клиента много методов которыми он не пользуется, а что методы содержат информацию об содержании сообщения, потом появится суффикс для чего-то другого. Вместо того чтобы создать интерфейс инкапсулирующий отправку сообщений. Я начал на ноде ровно как ты писать, на одних функциях и модулях. Кроме лапши ничего не вышло.
Аноним 10/01/22 Пнд 22:56:22 2261539135
Указание типов исключительно проблема нежелания или неумения писать документацию к своему коду, в которой эти типы и должны быть описаны вместо засирания ими кода.
Аноним 10/01/22 Пнд 23:10:51 2261550136
Какое же react-window все таки дерьмо. Вот почему react lazyload так прост и интуитивно понятен (обернул пикчу в компонент и все), а react window настолько контринтуитивен и уебищен? По сути весь список надо полностью переделывать.
Аноним 10/01/22 Пнд 23:15:00 2261554137
>>2261534
>Вместо того чтобы создать интерфейс инкапсулирующий отправку сообщений
sendMessage({...}) и sendMessage("...") - это разные функции с точки зрения пользователя этого кода, делают они разные вещи и принимают разные аргументы, то есть имеют абсолютно разные интерфейсы. Тот факт, что они засунуты в одну и ты внутри переключаешься между телом одной функции и телом другой по типу входящего аргумента, не дает тебе "инкапсулирующий интерфейс", а только вводящий в заблуждение говнокод.
Аноним 10/01/22 Пнд 23:52:16 2261580138
>>2261451
На Nest еще меньше вакансий. Да и хайп по нему уже прошел.
Аноним 11/01/22 Втр 00:16:44 2261593139
>>2261554
>это разные функции с точки зрения пользователя этого кода, делают они разные вещи

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

Посмотри на интерфейс MessageChannel из спецификации WebAPI. Там одна единственная функция postMessage - оперирует разными типами. В том числе логически - она может как производить структурное копирование сообщения, так и передавать владение объектом.
Аноним 11/01/22 Втр 00:37:58 2261605140
>>2261593
>Нет, не разные. Они обе делают одно и тоже - отправляют сообщение. И сообщения имеют право быть разного типа.
У этой функции есть два способа использования - один способ для тех, кто хочет отправлять картинки, а второй для тех, кто хочет отправлять текст. И если я как пользователь данного кода захочу отправить текстовое сообщение через твою sendMessage, то я автоматически привязываюсь ко всему интерфейсу данной функции, в том числе и к интерфейсу отправки сообщений картинками, хотя тот интерфейс мне нахуй не всрался, я им не пользуюсь, и не хочу о нем знать. Это та самая архитектурная проблема, которую описывает принцип разделения интерфейсов. И важна она потому, что в дальнейшем ты хуй разберешь, откуда у тебя идут текстовые сообщения, а откуда с картинками, потому что они оба засунуты в одну и ту же функцию, хотя представляют разную логику.
>Городить для каждого типа с десяток функций не нужно.
Не городи, но если ты делаешь две разные вещи, которые нужны разным пользователям, то разница между этими способами использования должна быть четко обозначена границей и единственный способ это сделать - это использовать разные функции/методы. Либо так:

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

Либо так:

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

Второй способ очевидно сложнее и вводит больше абстракций в код, плюс требует переработки всего существующего кода, поэтому если нет веской на то причины, то по умолчанию должен использоваться более простой, т.е первый. Но твой вариант ни в каком случае не используется, это на 100% классическая архитектурная ошибка.
Аноним 11/01/22 Втр 00:58:57 2261615141
>>2261605
Теперь расскажи как должен выглядеть диспечер очереди сообщений для клиентов? Надеюсь ты не собираешься их переписывать чтобы они об очереди знали.
Аноним 11/01/22 Втр 01:05:45 2261618142
>>2261615
Как угодно - в первом примере у тебя скорее всего под капотом есть какая-то общая функция отправки, куда ты передаешь уже сформированное сообщение(а если нет, то добавить пять секунд), в нее и суй свой диспетчер, если тебе по умолчанию нужно все сообщения начать отправлять асинхронно. Во втором примере очевидно как. Но если для некоторых клиентов нужно оставить отправку синхронной, то тут только переписывать весь код на второй вариант и вводить что-то вроде sendMessageAsync(Message), это как раз и был бы пример причины, ради которой усложнение архитектуры того стоит.
Аноним 11/01/22 Втр 01:09:44 2261621143
>>2261618
Ты предлагаешь сделать две очереди? Одну для sendMessage а другую для sendImage? у тебя ж это "разные методы"
Аноним 11/01/22 Втр 01:11:59 2261622144
>>2261605
>автоматически привязываюсь ко всему интерфейсу данной функции
Да что ты такое несешь-то. Как ты к нему привязываешься, если ты его не используешь? Ты про дженерики что-нибудь слышал?
Аноним 11/01/22 Втр 01:15:42 2261625145
>>2261621
>Ты предлагаешь сделать две очереди? Одну для sendMessage а другую для sendImage?
>в первом примере у тебя скорее всего под капотом есть какая-то общая функция отправки, куда ты передаешь уже сформированное сообщение(а если нет, то добавить пять секунд), в нее и суй свой диспетчер, если тебе по умолчанию нужно все сообщения начать отправлять асинхронно
Нахуй ты отвечаешь, если читать не умеешь?
Аноним 11/01/22 Втр 01:22:09 2261628146
>>2261622
>Да что ты такое несешь-то. Как ты к нему привязываешься, если ты его не используешь?
Берешь блять и привязываешься. Если ты используешь функцию, то ты завязан на весь ее интерфейс, в том числе тот, который не используется. В интерпретируемом языке это не так очевидно, и там это просто code smell, который говорит, что одна функция делает две разные вещи. Но вы же тут тупоскриптеры должны знать, что ISP формулировался в первую очередь для проблемы рекомпиляции: когда модуль A зависит от модуля B, то он должен рекомпилироваться при изменениях в модуле B, даже если эти изменения модуль A не ебут никаким боком. Хотя не удивлюсь, если это для вас новость.
Аноним 11/01/22 Втр 01:23:44 2261630147
>>2261625
Зачем тебе модифицировать низкоуровневую функцию отправки через АПИ партнеров чтобы туда засунуть очередь? Про O (OCP) из SOLID слышал?
Аноним 11/01/22 Втр 01:24:53 2261631148
>>2261630
Зачем ты модифицируешь низкоуровневую функцию отправки, вместо того, чтобы изолировать ее в свою функцию и модифицировать там как надо? Ты дурачок и не умеешь новые функции создавать? Ну это твои проблемы.
Аноним 11/01/22 Втр 01:25:48 2261632149
>>2261290
Есть реактивная либа на 500 строк, ее можно распечатать и принести или на память забить если ты совсем отбитый. То что ты сейчас нагородишь приведёт только к неподдерживаемому пиздецу в дальнейшем.

https://github.com/jegan321/nuro/blob/master/dist/nuro.umd.js
Аноним 11/01/22 Втр 01:26:28 2261634150
>>2261628
Она не делает, она делегирует часть логики например стратегии
Аноним 11/01/22 Втр 01:28:36 2261636151
>>2261631
То есть ты сделаешь две функции queueImage и queueMessage?
Аноним 11/01/22 Втр 01:29:46 2261638152
>>2261634
Давно у тебя ясновидящие клиенты появились, которые знают, что там функция внутри делает и зачем, а не работают исключительно с ее интерфейсом, который явно говорит "если ты мне дашь вот эту хуйню, то я сделаю одно, а если дашь другую хуйню, то я сделаю что-то другое"?
Аноним 11/01/22 Втр 01:30:14 2261639153
>>2261636
Это троллинг тупостью?
Аноним 11/01/22 Втр 01:32:00 2261640154
>>2261638
Я в отличие от тебя код показал. У меня клиенты знают только sendMessage
Аноним 11/01/22 Втр 01:34:57 2261641155
>>2261639
Т. е ты все таки будешь писать одну функцию queue для объекта и строки?
Аноним 11/01/22 Втр 01:35:49 2261644156
>>2261640
У тебя есть два типа клиентов, один отправляет сообщения: sendMessage("hui"), а второй картинки: sendImage({...}). Различия между ними только в типе аргумента, но вся логика засунута в одну и ту же функцию и переключается по if-else. То есть оба типа клиентов привязаны к обоим типам формирования сообщения, даже к тому, который им не нужен. Я не знаю, как тебе объяснить еще, ты слишком тупой или троллишь.
Аноним 11/01/22 Втр 01:39:13 2261646157
88368d39-b58c-5[...].jpeg 187Кб, 900x1200
900x1200
>>2261644
Зато ты умный настолько, что не различаешь интерфейсы и реализацию.
Аноним 11/01/22 Втр 01:39:56 2261647158
image.png 16Кб, 902x279
902x279
>>2261641
На пальцах для дауна.
Аноним 11/01/22 Втр 02:10:33 2261654159
image.png 62Кб, 489x501
489x501
>>2261628
Хуйни не неси. Даже в по жопу статически типизированный жаве тебе ничто не мешает разделить эти интерфейсы.
Аноним 11/01/22 Втр 02:11:13 2261655160
>>2261647
Сычев, я у видел что у наших конкурентов отправляется изображение вместе с подписью, а у нас отправляется только одно изображение. А еще сообщения в том числе текстовые, могут отправятся с датой отсроченной доставки (например чтобы поздравить с праздником).
Аноним 11/01/22 Втр 02:34:40 2261661161
>>2261647
Еще смотри ты засунул очередь внутрь sendMessage в низкоуровневую отправку, хотя sendMessage могла бы быть консумером очереди. Потому что ты не смог в функциональном стиле извлечь интерфейс из sendMessage и передать в клиента диспетчер сообщений с таким же интерфейсом
Аноним 11/01/22 Втр 05:02:44 2261677162
>>2261451
>>2261580
На чём тогда писать backend в 2022++?
Я писал только на ванильном JS бекенд, микросервисы
Аноним 11/01/22 Втр 05:09:01 2261678163
>>2261677
Я к тому, что зарпалаты JS бекендеров с каждым годом всё меньше и меньше (фронтовики и фуллстак только растёт). Такими темпами, через 5 лет судьба express будет жалкое ковыряение легаси без тестов за 50 тысяч рублей
Аноним 11/01/22 Втр 06:00:20 2261687164
Нунчики, стоит ли выносить за пределы компонента функции, которые используются в самом компоненте? Т.е. они не будут создаваться каждый раз при ререндере заново. Я понимаю что это нанооптимизация, но если учесть, что этот рефакторинг не стоит буквально нихуя, стоит ли так делать или хуета по кодстайлу получается?
Аноним 11/01/22 Втр 06:43:34 2261689165
>>2261687
Если эта функция чистая, то нахуй её обьявлять внутри другой функции?
Аноним 11/01/22 Втр 07:02:38 2261691166
>>2261689
Да в том и дело, что так зачастую всегда и делают, во всяком случае я в работе вижу такое везде. Хотя почти все функции в компоненте можно вообще выносить за пределы компонентов, ну тут наверное у лида лучше спросить
Аноним 11/01/22 Втр 07:18:07 2261692167
>>2261691
Так они неправильно делают. Ты тоже неправильно делаешь, когда смотришь на других.
Аноним 11/01/22 Втр 07:21:10 2261693168
>>2261687
Если там нетривиальная логика, что прям нужно в отдельную функцию выносить, то это надо делать чистой функцией, экспортить и отдельно тестировать.
Аноним 11/01/22 Втр 07:39:56 2261700169
image.png 52Кб, 1888x618
1888x618
image.png 446Кб, 1235x719
1235x719
>>2261580
>На Nest еще меньше вакансий. Да и хайп по нему уже прошел.
>Да и хайп по нему уже прошел.

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

То есть 6ти кратный рост фреймворка за 2 года (с начала ковида) тебя не смущает? По мне так, хайп по нему будет в 2022-2024 и дефицит разработчиков ох какой большой.
А по общей популярности он находится в топе
Аноним 11/01/22 Втр 07:45:34 2261701170
>>2261693
>Если там нетривиальная логика, что прям нужно в отдельную функцию выносить
Логика там очень простая, я просто люблю разбивать код на отдельные функции, чтобы он легче читался, и не знаю плохо это или нет, потому что с одной стороны у тебя много функций, с другой код очень прост в понимании
Аноним 11/01/22 Втр 09:38:23 2261737171
>>2261701
>и не знаю плохо это или нет
Это хорошо. Прием называется - декомпозиция - основа динамического программирования (https://en.wikipedia.org/wiki/Dynamic_programming)

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

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

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

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

Аноним 11/01/22 Втр 09:49:02 2261739172
>>2261687
>стоит ли выносить за пределы компонента функции, которые используются в самом компоненте? Т.е. они не будут создаваться каждый раз при ререндере занов

Как выше анон уже ответил, если чистая, то писать внутри компонента не имеет смысла. Как правило, нужно обращать внимание на семантику методов компонента и оставлять внутри него только те, которые каким-то образом завязаны на его состояние. Остальные выносить, нет смысла каждый раз при рендеринге создавать их заново. Если такая функция не передаётся в дочерние компоненты, то на скорость работы место объявления функции влиять особо не будет. Если передаётся, то над оптимизацией уже нужно работать, т.к. дочерний компонент каждый раз будет принимать такую функцию за новую (это новый объект с новой ссылкой на него).
Аноним 11/01/22 Втр 10:43:56 2261759173
Вроде перестал отвлекаться на интернет, теперь отвлекаюсь на свои мысли. У кого сейм было?
Аноним 11/01/22 Втр 10:56:20 2261769174
>>2261759
так отвлекись, разберись и возвращайся с чистой головой
Аноним 11/01/22 Втр 10:56:45 2261770175
Почему большинство комьюнити так против бекенда на ноде?
Аноним 11/01/22 Втр 11:01:19 2261773176
>>2261770
Боятся обосраться и боятся чего-то нового?
Аноним 11/01/22 Втр 11:03:06 2261776177
>>2261737
Я еще отдельно прочту весь текст, спасибо, сейчас трудно осилить.

>>2261739
Да вот пизда начинается в тот момент, когда у тебя функции передаются в компоненты ниже, и тебе сотню раз приходится городить useCallback по цепочке зависимостей, и тут встаёт вопрос, не сожрет ли вся эта мемоизация больше ресурсов, чем ререндер одной кнопки. Потому что useCallback внутри себя делает много работы, и предотвращает только ререндер, но дополнительную работу все равно делает каждый раз
Аноним 11/01/22 Втр 11:19:04 2261792178
Аноним 11/01/22 Втр 11:23:45 2261796179
>>2261770
Потому что бэк на ноде - постоянные костыли. На фронте это ещё терпимо, так как ошибки на нём максимум вьюху уронят. Проебать же БД, потому что V8 что-то там проинтерпретировал не так, как ты думаешь он должен был проинтерпретировать, можеть вылететь в жирную копеечку.
Аноним 11/01/22 Втр 11:29:03 2261803180
>>2261792
PHP Было в 2015м, оно сейчас мертво
Аноним 11/01/22 Втр 11:31:36 2261809181
>>2261796
>Проебать прод, потому что они бунтарь решил удалить свою либу с Npm, на которой завязан весь энтерпрайз
Аноним 11/01/22 Втр 11:35:52 2261817182
Аноним 11/01/22 Втр 11:36:34 2261819183
>>2261796
Ну вебсокеты неплохо идут
Аноним 11/01/22 Втр 11:37:18 2261823184
>>2261809
Откатываешь либу на версию назад или превентивно указываешь точную версию, если так сильно не доверяешь опенсорсу
Аноним 11/01/22 Втр 11:48:38 2261835185
>>2261809
Как ты прод проебёшь из-за либы, которая даже в прод зависимости не входит? Да и прямого отношения это к ноде как языку программирования не имеет. Такие трюки можно выполнять в любом опенсурсном пакетном менеджере. Ну а то что у энтерпрайза проды ложатся из-за пакетов, проблемы энтерпрайза, так как в отлаженном CI/CD это максимум бы упало на уровне тестов, не добравшись до прода.
Аноним 11/01/22 Втр 11:58:24 2261838186
>>2261796
>постоянные костыли
Что там костыльного? TypeScript это не костыль, а самотесты для программисты, которые никак не отнимают мощности сервера
Аноним 11/01/22 Втр 12:52:59 2261872187
>>2261835
В нормальном проде только продукты FAANG ™ , ® , ©
Аноним 11/01/22 Втр 13:09:06 2261884188
>>2261654
Нахуя ты лезешь в разговор, если не понимаешь, о чем речь? Перечитай, потом вернешься.
>>2261655>>2261661
Шизоид, ты же понимаешь, что твои шизоидные "а если кабан заставит переписывать так, а не сяк" можно плодить без конца и аргументом они не являются? Либо ты обсуждаешь задачу так, как ты ее изначально сформулировал, либо идешь нахуй, потому что это уже твое пятое "а если надо будет сделать так, а не сяк", которые ты пытаешься использовать в качестве аргумента против нормальной имплементации, но обсираешься каждый раз.
Аноним 11/01/22 Втр 13:13:38 2261887189
>>2261700
Ну это пиздец манямир и манястатистика на пике, они там что вообще считают? Сравнивают количество двухстрочных микропроектов с монстрами на рельсах и спринге, где 100+ человек в команде может трудиться?
Аноним 11/01/22 Втр 13:16:45 2261893190
>>2261776
Если какая-то функция передаётся очень глубоко в дочерние компоненты, то это повод задуматься над архитектурой и цепочкой вложенностей. Для чего служит эта функция? Почему нужно обязательно передавать так глубоко вниз? Завязана ли она на состоянии компонента? Если завязана, то возможно эту часть состояния стоит хранить где-то извне - в context или сторе Redux (ну или в чем-то подобном)? Вот так я обычно себя спрашиваю. Сам пропсы/функции стараюсь больше 1-2 уровней не прокидывать, и на самом деле обычно хватает 1 уровня, если правильно построить вложенность компонентов.

Работы с DOM - дорогая операция, поэтому операции под капотом use Callback едва ли сравнятся с ним в сложности (время исполнения отличается на порядки).
Аноним 11/01/22 Втр 13:18:40 2261894191
>>2261823
>или превентивно указываешь точную версию
Лолблять, это должно быть по умолчанию в любом менеджере пакетов, он не может начать по желанию левой пятки обновлять версии зависимостей на обычной установке, как это делает npm, это ебаный нонсенс. Тот факт, что сломанная новая версия либы положила кучу проектов, сигнализирует о таком пиздеце, раздолбайстве и неопытности в языке даже на уровне базовых тулз, что смешно, как кто-то может выступать за серьезный бэк на нодоговне.
Аноним 11/01/22 Втр 13:20:50 2261898192
>>2261894
>package-lock
Не, не слышал
Аноним 11/01/22 Втр 13:29:27 2261906193
>>2261838
Тайпскрипт на бэке - как раз мегакостыль. Вот тебе стандартная бэкопроцедурка: прочитать содержание папки в проекте. Сделай её на тайпскрипте.
>>2261894
>Лолблять, это должно быть по умолчанию в любом менеджере пакетов, он не может начать по желанию левой пятки обновлять версии зависимостей на обычной установке, как это делает npm, это ебаный нонсенс.
Тебе ничто не запрещает npm ci заместо npm install использовать.
>Тот факт, что сломанная новая версия либы положила кучу проектов, сигнализирует о таком пиздеце, раздолбайстве и неопытности в языке даже на уровне базовых тулз, что смешно, как кто-то может выступать за серьезный бэк на нодоговне.
Причём здесь нода?
Аноним 11/01/22 Втр 13:39:03 2261921194
>>2261894
А эти положенные проекты сейчас здесь, в этой комнате?
Аноним 11/01/22 Втр 13:42:59 2261924195
>>2261898>>2261906
>просто используй вот эту костыльную команду, которую еще найти надо, и которая тоже работает через жопу, потому что обычная команда установки, используемая в 99% случаев и примеров по умолчанию, работает хуй знает как, но тулза у нас хорошая в принципе!
Аноним 11/01/22 Втр 13:45:32 2261927196
>>2261924
> которую еще найти надо
Человек-анекдот, пощади
Аноним 11/01/22 Втр 13:45:33 2261928197
>>2261898
Дурачок, ты же в курсе, что npm i обновляет package-lock?
>>2261906
>Причём здесь нода?
Ну если ты собрался на ноде писать с нулем зависимостей, то вперед, а иначе тебе придется фетчить 100 васянских пакетов, меняющихся и устаревающих каждый год, потому что инфраструктуры и нормальных фреймворков тут нет.
Аноним 11/01/22 Втр 13:48:21 2261930198
>>2261906
>Вот тебе стандартная бэкопроцедурка: прочитать содержание папки в проекте. Сделай её на тайпскрипте.
>стандартная процедура
>прочитать содержание папки
Ебать у вас там гавнокод, пиздец просто. Файлы из системы читать вообще нихуя не безопасно, вы поехавшие или ты угараешь?
Аноним 11/01/22 Втр 13:50:02 2261932199
>>2261887
>с монстрами на рельсах
Рельсы умерли еще в 2010м. Хоть одна конторка знает о существовании Ruby? Я только скриптики видел с расширением .rb
Ну и на вкурсах вкатывались 5 лет назад какие-то вкатуны
Аноним 11/01/22 Втр 13:51:04 2261934200
>>2261927
Если ты как подавляющее большинство жопоскриптеров не трогал и не нюхал другой нормальный язык, то ты вообще не ебешь, как менеджер зависимостей должен работать, и что обновление локфайла при каждой установке - это нихуя не норма. Это раз. Два - npm ci это нихуя не установка зависимостей, это переустановка, то есть все node_modules удаляются и фетчатся/ставятся заново. Можешь представить, сколько это может занять времени в проекте больше туду листа. Пользоваться им, чтобы сраный npm не лез в локфайл - это ебейший костыль от безысходности и говняности.
Аноним 11/01/22 Втр 13:52:56 2261936201
>>2261930
Проиграл с представлений жсоманьки о работе и безопасности(!) бэка. И ведь главное так безапелляционно вещает свой дебилизм.
Аноним 11/01/22 Втр 13:55:31 2261940202
>>2261932
Разве что в твоем шизомирке, рельсы как были одним из самых популярных и удобных фреймворков для стартапов и e-commerce проектов, особенно на западе, так и остались, работу можно найти за неделю. Достойного аналога им в этих областях просто нет.
Аноним 11/01/22 Втр 13:55:54 2261941203
>>2261928
>Ну если ты собрался на ноде писать с нулем зависимостей, то вперед, а иначе тебе придется фетчить 100 васянских пакетов, меняющихся и устаревающих каждый год, потому что инфраструктуры и нормальных фреймворков тут нет.
Где они есть?
>>2261930
>Файлы из системы читать вообще нихуя не безопасно, вы поехавшие или ты угараешь?
Где же твой супер-правильный сервер софтваре хранит кэш?
Аноним 11/01/22 Втр 13:58:01 2261946204
>>2261928
>ты же в курсе, что npm i обновляет package-lock?
Да. Ну и?

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

Расскажи нам наконец, невеждам, про нормальные манагеры зависимостей.
Аноним 11/01/22 Втр 13:58:19 2261947205
>>2261941
Там где за безопасность отвечают другие

мимо шел
Аноним 11/01/22 Втр 13:58:30 2261948206
>>2261941
>Где они есть?
В любом другом не-мертвом языке: пхп, питон, руби, джава, сисярп, все имеют устоявшуюся инфраструктуру и go-to фреймворки для бэка.
Аноним 11/01/22 Втр 14:03:41 2261957207
>>2261941
> хранит кэш?
А нахуя твой софтваре хранит кэш на диске? Ваша контора не знает о reddis + broker?
Аноним 11/01/22 Втр 14:05:25 2261958208
>>2261940
>работу можно найти за неделю.
Это если у тебя опыта на нём лет 5.
Вот у меня 3 года бекенда на Node.js (JS) и меня он ЗАЕБАЛ, что я готов уже сеть на дрочённый .NET
Как вкатиться в RoR хотя бы на 150к рублей? Они принимают новеньких?
Аноним 11/01/22 Втр 14:05:27 2261959209
>>2261946
>Да. Ну и?
Ты отбитый жопоскриптер, если не видишь проблем с непреднамеренным обновлением всех зависимостей в проекте на каждый пук.
>Питон трогал. Голанг трогал. И шо теперь? Там такие же pip freeze и go.mod
Если бы реально трогал и имел одну извилину, то знал бы, что там есть работающие локфайлы, которые не меняются просто так.
Аноним 11/01/22 Втр 14:07:53 2261962210
>>2261958
>Как вкатиться в RoR хотя бы на 150к рублей? Они принимают новеньких?
Берешь и вкатываешься, если английский знаешь, то в западной конторе 100-150к для джуна, да еще и с коммерческим опытом в связанной области, это как жопу почесать.
Аноним 11/01/22 Втр 14:12:04 2261967211
>>2261962
Да, английский ежедневвный устный-письменный В2 примерно, давно уже на зарубежного заказчика работаю (ну как обычный гребец на галере)
Аноним 11/01/22 Втр 14:21:58 2261985212
>>2261930>>2261957
Ты лучше давай рассказывай, что именно небезопасного может произойти, если сервер прочитает один из своих файлов с диска, а мы посмеемся.
Аноним 11/01/22 Втр 14:23:57 2261988213
>>2261985
Ежедневная уязвимость нулевого дня разносит в щепки твой сервер
Аноним 11/01/22 Втр 14:31:30 2261998214
>>2261957
>Ваша контора не знает о reddis + broker?
У редиса бесконечная оперативка?
>>2261988
А у твоих мокрописечек нет уязвимостей?
Аноним 11/01/22 Втр 14:52:35 2262014215
Есть поле инпута. Как сделать, чтобы плейсхолдер был в левом верхнем углу и чтобы при вводе текст переносился на следующую строку?
Аноним 11/01/22 Втр 15:03:42 2262021216
Можно ли эту либу заставить работать с grid-container таблицей?
Аноним 11/01/22 Втр 15:04:05 2262022217
Вопрос джунам/миддлам которые работают Аноним 11/01/22 Втр 15:08:08 2262025218
Как часто вас заставляют верстать целые макеты?
Аноним 11/01/22 Втр 15:13:08 2262033219
>>2262025
Когда был пыхарем в студии часто заставляли.
Аноним 11/01/22 Втр 15:19:31 2262041220
>>2262014
Лол, для этого оказывается textarea есть.
Аноним 11/01/22 Втр 15:25:32 2262048221
>>2261959
>непреднамеренным обновлением всех зависимостей в проекте на каждый пук
Че несет, вообще охуеть
Аноним 11/01/22 Втр 15:33:17 2262059222
>>2262025
Верстал лендинги за 200к как-то
Аноним 11/01/22 Втр 15:44:12 2262071223
Да как верстать эти ваши лендинги, едрить их в корень
Аноним 11/01/22 Втр 15:44:54 2262073224
>>2261884
>Нахуя ты лезешь в разговор, если не понимаешь, о чем речь? Перечитай, потом вернешься.

Ты просто осознал свою неправоту.
Использование определенного интерфейса широкоспециализированной функции не делает тебя зависимым от всех ее интерфейсов. А ты тупой долбоёб всего навсего. Вот и всё. Соси.
Аноним 11/01/22 Втр 15:49:31 2262078225
Через год дроча по 5 часов выйду на сотыг?
Аноним 11/01/22 Втр 16:00:44 2262085226
>>2262071
фигачишь таги по структуре макета
@
копипастишь стили из фигмы
Аноним 11/01/22 Втр 16:02:09 2262086227
>>2262078
смотря кому дрочить будешь
Аноним 11/01/22 Втр 16:12:02 2262097228
>>2262078
Через год дроча ты выйдешь в статус "один из сотни кандидатов на вакансию джуна за 25к" в лучшем случае, но скорее всего это будет "один из двухста кандидатов на стажера бесплатно или за 10-15к". А вот уже через год коммерческого опыта да, другое дело.
Аноним 11/01/22 Втр 16:14:53 2262101229
>>2262073
Ты дебил, влезший посреди разговора, который не понял, о чем речь. Мы говорили об ISP и там "зависимость от интерфейса" прежде всего означает "зависимость на уровне компиляции", а не то, как ты это интерпретировал по выхваченному одному слову "зависимость". Съеби.
Аноним 11/01/22 Втр 16:33:58 2262116230
Я хочу написать аддон для браузера, который будет смотреть на HTML код страницы и удалять/добавлять содержимое

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

Аноним 11/01/22 Втр 16:43:59 2262123231
>>2261678
>(фронтовики и фуллстак только растёт).
Потому что никакого чистого бэкенда на ноде просто нет. Если нода, то только фуллстак. Я не представляю себе нодовика, который не знает какой-нибудь Реакт, не сможет покрасить кнопку или сделать SSR. Тем более что это все (ну мб кроме покраски кнопки) чаще всего и входит в круг обязанностей нодовика.
Аноним 11/01/22 Втр 16:52:27 2262126232
При какой поддержке браузеров вы юзаете свойство? Я при ~95%
Аноним 11/01/22 Втр 17:14:25 2262144233
Аноним 11/01/22 Втр 17:32:12 2262157234
>>2262123
Жаль. Либо мне сложнючий фронтенд разбирать, либо стек менять опять... Тяжело...
Аноним 11/01/22 Втр 18:44:32 2262260235
>>2262116
Так тебе HTMl код смотреть или DOM страницы?
Аноним 11/01/22 Втр 19:03:14 2262278236
>>2262260
Я не совсем понимаю, в чём там разница
Просто искать определённые html теги (Например, по содержащемуся внутри тексту) и удалять их
Аноним 11/01/22 Втр 19:48:36 2262303237
>>2262278
HTML это то, что браузер получает в запросе, его можно посмотреть через ПКМ -> "View Page Source". DOM - распарсенный HTML, то что ты видишь в девтулзах. Ты говорил про динамику, так что скорее всего тебе начинать с основ: https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model
А как делать аддоны это гугли повендорно.
Аноним 11/01/22 Втр 20:17:52 2262315238
Я правильно понял, что graphql призван облегчить еботню с rest api? Типа с rest api ты в рукопашечку извлекаешь из json'a данные и закидываешь в нужный реакт компонент, а graphql помогает упростить этот процесс?

Если так, то мне как вкатуну нужно сначала без graphql научиться ебаться в рукопашную с rest api?
Аноним 11/01/22 Втр 20:20:38 2262316239
>>2262315
Неправильно понимаешь, и ебли с graphql у тебя будет в сто раз больше, чем с любым рестом.
Аноним 11/01/22 Втр 20:22:48 2262320240
>>2262316
А зачем он нужен? Почему все бросят qraphql?
Аноним 11/01/22 Втр 20:23:17 2262322241
>>2262316
А зачем он нужен? Почему все не бросят qraphql?
Аноним 11/01/22 Втр 20:40:33 2262329242
>>2262303
Мне бы просто кусок кода, который примитивно вырезает какие-то кусочки HTML разметки. Один единственный раз, при загрузке страницы.
Аноним 11/01/22 Втр 21:10:01 2262345243
Сап, вкатываюсь уже неделю. Мне интересно, можно ли найти работу джуна без ХОРОШИХ* знаний CSS и html? Я освоил базовый синтаксис, знаю все популярные html теги и тд. Не хочу идти верстальщиком-макакой, примитивность и скучность этих двух языков-разметки я почуял на 10 часе обучение оным.

Сам дрочу реакт и нативный js
Аноним 11/01/22 Втр 21:17:27 2262349244
>>2262345
В чем проблема нормально выучить хтмл и цсс, если они такие примитивные?
Аноним 11/01/22 Втр 21:23:08 2262355245
>>2262345
Ну, ты не html и css будешь делать, а jsx и css-in-js делать будешь.
Аноним 11/01/22 Втр 21:41:57 2262368246
>>2262349
В том, что "примитивный" не значит "лёгкий".
Аноним 11/01/22 Втр 21:57:08 2262386247
Легко ли устроиться вообще на работа терпилой-версталой хтмл цсс а потом перекатится в сеньеры фронд энд девелоперы?

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

Что вообще надо для успеха? Сайты запущеные свои? И сколько? Резюме, смазливое ебало и так есть.
Аноним 11/01/22 Втр 22:10:37 2262396248
Вопрос по Реакту.
Есть условие, от которого зависит, какой из двух компонентов отрендерится.
Нужно передать объект из одного компонента в другой. Как это сделать?

Я делаю 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

Начал читать статью, а там классовые компоненты... сейчас не осилю, но завтра почитаю.
Помогите, плиз.
Аноним 11/01/22 Втр 22:20:47 2262398249
>>2262386
верстальщик и фронтендер две разные профессии которые частично пересекаются, но фронт делает упор на логику приложения, верстальщик - на высокое качество верстки. Не надо верстальщиком идти, если ты фронт, тебя там раскулачат антиdiv-ники
Аноним 11/01/22 Втр 22:29:33 2262402250
>>2262386
>версталой хтмл цсс
>>2262398
А в 2к22 есть такая работа как верстальщик хтмл цсс жс? Или это ушло в прошлое и сейчас жс-фреймворк обязателен для вката?
Аноним 11/01/22 Втр 22:58:09 2262426251
>>2262398
Так а что мне сделать то надо??

Ну типа бэк обрабатывает жсон либо данные и зановит в бд и наоборот, а какая роль у фронта?

Аноним 11/01/22 Втр 23:01:44 2262430252
>>2262402
Есть и пизда как нужна на самом деле. Сейчас нормальных (именно нормальных) верстальщиков очень мало, в свою контору на проектное сотрудничество до сих ищем.
Аноним 11/01/22 Втр 23:10:21 2262432253
>>2262430
А для чего нужны верстальщики в 2к22? Они нужны для верстания под php CMS-ки?
Ну я читал, что в 2к22 году всё ещё есть у php CMS-ок порох в пороховницах, например, где не нужно особо сложного фронтенда, а достаточно, например, товары показать
Аноним 11/01/22 Втр 23:11:46 2262434254
>>2262430
>именно нормальных
А что должен нормальный верстальщик уметь для вашей конторы? Шарить в дизайне и в UI/UX? И знать шаблонизаторы для верстки?
Аноним 11/01/22 Втр 23:15:02 2262437255
>>2262430
Плюсану. Тоже ищем верстальщика, чтобы без всяких выебонов просто верстал макеты и делал респонсивы. Но на собесы приходят одни реакто дебилы после курсов, которые набрались по верхам и мнят себя мидл фуллстеками, ни в чём ни хуя не разбираясь толком.
Аноним 11/01/22 Втр 23:19:18 2262439256
>>2262426
>а какая роль у фронта?
Сделать красиво
Получить данные с бека, красиво отобразить и при надобности отправить новые назад
Аноним 11/01/22 Втр 23:20:52 2262442257
>>2262157
>сложнючий фронтенд
Это шутка?
Аноним 11/01/22 Втр 23:23:21 2262443258
>>2262437
Если я хочу быть верстальщиком, то мне нужно учить не реакт, а дизайн и UI/UX и шаблонизаторы?
Аноним 11/01/22 Втр 23:25:42 2262444259
>>2262442
Нет, не шутка, server side rendering - СЛОЖНА!
Аноним 11/01/22 Втр 23:26:03 2262445260
>>2262439
А верстальщик тогда что делает? На камеру снимает и впитывает опыт?
Аноним 11/01/22 Втр 23:28:43 2262446261
>>2262315
>Я правильно понял, что graphql призван облегчить еботню с rest api?
Нет. GraphQl это прежде возможность запилить свой стейт менеджер, с декларативным получением данных, автоматическим кешированием и пр.
Аноним 11/01/22 Втр 23:34:09 2262451262
>>2262432
>Они нужны для верстания под php CMS-ки?
Не просто нужны, а таких вакансий большинство.
Аноним 11/01/22 Втр 23:34:21 2262452263
>>2262446
>кешированием
Я искренни извиняюсь за своё существование, я просто вкатун. Объясни, плес, про какое кеширование идет речь. Про кэш который на стороне сервера? Или кэш который в браузере?
Аноним 11/01/22 Втр 23:38:10 2262454264
>>2262451
Ну, там требуется знать php, sql, cms-ки wordpress, bitrix. И уметь сервер настраивать. Так что это нихуя не верстальщик, а какой-то фуллстек или "веб-мастер"
Аноним 11/01/22 Втр 23:41:15 2262455265
>>2262454
Я находил вакансии чисто по фронту (HTML, CSS, JS, Jquery). Зп 15-30к
Аноним 12/01/22 Срд 00:01:40 2262461266
>>2262445
Только ту часть что не под спойлером
Аноним 12/01/22 Срд 00:06:40 2262463267
>>2262434
В идеале конечно шарить. Но вообще даже если просто по технике шаришь, не путаешь фигму с тильдой, а также просто готов не ебланить и не ставить при этом конский ценник, то велкоме блять, ждём с распростертыми объятиями :)
Аноним 12/01/22 Срд 00:06:44 2262464268
Короче я так понимаю ни Next ни Graphql не нужны вкатуну, судя по вакансиям. А вот ноду есть смысл выучить.
Аноним 12/01/22 Срд 00:08:43 2262465269
>>2262464
Смотря куда вкатываешься.
Если на бэк, то нест/экспрес нужны, вместо с графкл, мускл, носкл и прочими приколами.
Если на фронт, то ясен пень не нужно этого
Аноним 12/01/22 Срд 00:11:21 2262468270
>>2262465
Просто мне раньше казалось, что для фронта нужно это все. И графкуль и серверный рендеринг, в роадмапе это все есть.
Аноним 12/01/22 Срд 00:13:20 2262470271
>>2262468
> Просто мне раньше казалось, что для фронта нужно это все. И графкуль и серверный рендеринг, в роадмапе это все есть.
Сср ещё можно потыкать, а всё остальное достаточно знать максимально поверхностно
Аноним 12/01/22 Срд 00:15:41 2262471272
>>2262470
А если более менее шаришь за фронт, то бэк на ноде с приколами долго учить до фуллстека? Я ноду/экспресс совсем немного трогал. А может быть я просто прокрастинирую вместо того, чтобы работу искать
Аноним 12/01/22 Срд 00:18:40 2262472273
>>2262437
Именно. Как бы даже вот больно сложного не требуем. Но либо совсем кончи с курсов, либо ценник совсем ахуевший ставят
Аноним 12/01/22 Срд 00:20:01 2262473274
А где хранить, например, название проекта, чтобы потом можно было поменять?
Аноним 12/01/22 Срд 00:21:45 2262474275
>>2262471
> то бэк на ноде с приколами долго учить до фуллстека?
Сперва фронтом стань, потом решишь надо оно тебе или нет. Вкатун фулстек это нонсенс, как по мне

Аноним 12/01/22 Срд 00:23:40 2262475276
>>2262472
>либо ценник совсем ахуевший ставят
Охуевший это сколько? Вы берете человека с расчетом на то, что он у вас поработает подольше или вам все равно когда он свалит и вознесется до фронта? Я если честно не представляю себе человека, который хочет остановить развитие своей карьеры на одной верстке. Ему либо нужно платить как фронту или близко, чтоб он туда не совался, либо просто ждать когда он свалит.
Аноним 12/01/22 Срд 01:00:03 2262485277
>>2262475
Тут в первую очередь идёт соотвествии ценника скиллу и соответсвенно сложности решаемых задач. По поводу роста до полноценного фронта, ну так только рады будем, если в стенах конторы вырастет полноценный спец. И деньгами такого соответсвенно не обделим, благо формат проектного сотрудничества позволяет.
Аноним 12/01/22 Срд 01:15:14 2262489278
Что мне надо чтоб через 3 месяца устроиться? Ну или к лету?
Аноним 12/01/22 Срд 01:24:59 2262492279
>>2262489
А что ты уже сейчас знаешь? Если нихуя, то есть шанс соснуть бибу. Не потому что ты какой-то не такой и какой-то нехороший, а просто потому что не успеешь.

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

И действительно, тот же вордпресс легкий в изучении, каждая тема по отдельности несложная, но учить надо много и выходит, что с марта до лета можно ставить очко, что нельзя успеть изучить.
Аноним 12/01/22 Срд 01:30:59 2262493280
>>2262492
Из других языков ООП, паттерны немного.
Как работают сети и все такое. днс, дхцп, модели оси, куки и прочее.

хтмл, цсс делал сайтики для тянки бывшей для курсача по информатике. Ну как сайтики, набор страничек.
Аноним 12/01/22 Срд 01:33:07 2262494281
>>2262493
>ООП
>Как работают сети
Хуя се, да ты эксперт. Так что мои слова про гло и ворд пресс в общем-то не относящаяся к тебе хуйня.
Аноним 12/01/22 Срд 01:35:28 2262495282
>>2262494
Ну еще там про SQL слышал.
Figma ковырял.

Я не знаю куда мне деваться, уж очень хочется с моей работы сисадмино съебать. Заебали принтеры и бумажки подписывать.
Аноним 12/01/22 Срд 01:40:15 2262497283
Есть какие-то видео типа делаем сайт с нуля со всеми модными фреймворками, языками, препроцессорами?

Заебало смотреть на 10 тысяч хеловордов и туду листов в разных интерпритациях
Аноним 12/01/22 Срд 01:47:13 2262499284
>>2262495
Чел, если интересно вкатится, пиши tkm.artdesign@gmail.com
Аноним 12/01/22 Срд 01:47:33 2262500285
Что делать если твои коммиты не смерджили, но тебе нужно продолжать работу с текущими изменениями? Если отпочковаться от ветки, которую ты в прошлый раз пушил, то туда и коммиты все с прошлой ветки попадают, это плохо?
Аноним 12/01/22 Срд 01:52:51 2262503286
>>2262500
Что-то я сейчас подумал, наверное по другому это никак и не может работать. Если предыдущий коммит смерджируют, то в МРе уже не будет отображаться этот предыдущий коммит в изменениях?
Аноним 12/01/22 Срд 02:50:09 2262518287
Какой самый модный у вас хедлес браузер сейчас?
С жс у меня знания максимум почитать, но очень уж злоебучий сайт для скрапинга попался.
Аноним 12/01/22 Срд 03:13:08 2262521288
Я тут планирую обновить комп для разработки. Вопрос к тем, кто уже давно работает, и видел некоторое дерьмо: сколько оперативки вам было необходимо в самых сложных условиях? У меня вот сейчас равернут бек и очень большой проект со всякими сборщиками, фигмы, хуигмы, браузер с миллиардом вкладок офк, на данный момент расходуется 16гб оперативы почти на 100%. И явно чувствуются фризы иногда и торможение в ide. Думаю вот обновить проц, ссд, и не знаю сколько оперативы брать, 32гб это точно, но вот нужно ли больше? 64 и тем более 128 это вообще оверкилл даже если на ближайшие 5+ лет рассматривать?
Аноним 12/01/22 Срд 07:30:16 2262539289
Успею за месяц вкатиться?
Аноним 12/01/22 Срд 08:09:46 2262546290
>>2262521
>браузер с миллиардом вкладок офк
Ну ты долбоёб же. И это не лечится оперативкой.
Аноним 12/01/22 Срд 08:19:40 2262550291
IMG202201120818[...].jpg 106Кб, 1080x603
1080x603
Ангуляр всё
Аноним 12/01/22 Срд 08:23:16 2262552292
Аноним 12/01/22 Срд 08:29:25 2262553293
>>2262473
Очевидно же не в константе, а в переменной.
Аноним 12/01/22 Срд 08:34:55 2262554294
>>2262539
Только 300к/с сразу не требуй, начни с 299к/с.
>>2262521
Мне хватает и 8.
12/01/22 Срд 08:48:03 2262555295
>>2262546
>Ну ты долбоёб же. И это не лечится оперативкой.
Ой блядь, иди нахуй
Аноним 12/01/22 Срд 08:55:53 2262557296
>>2262550
надо было просто репозиторий хуями заполнить, сейчас это модно молодежно, но гугл не в теме.
Аноним 12/01/22 Срд 09:19:41 2262568297
Аноним 12/01/22 Срд 09:27:42 2262575298
>>2262443
css, препроцессоры, flexbox, grid ну и набить руку на респонсивах, в т.ч. базовое понимание должно быть какой элемент куда поставить на мобилке, если нет под неё дизайна например.

>>2262472
Тупо сейм. Летом взяли одного такого, джуном фронтендером, чтобы занимался версткой, а потом бы плавно начал писать js. Он закончил какие-то вкатунские курсы + полгода отработал в какой-то госпараше. Забавно, что он уже на собесе называл себя мидлом и говорил что хочет сразу писать на ангуляре. При этом он даже с гитом работать не умел. Дале ему верстать простую страницу для админки, там работы ну на два дня максимум, он провозился больше недели и я ахуел, сколько он там говна нагенерировал. Банальную клиент сайд валидацию полей, которая есть в html он сделал через js, дохуя всяких либ натащил, попытался в архитектуру и засрал сторонние компоненты. Полный пиздец. При этом был упрямый, говоришь ему что это неправильно, а он "вот у нас на курсах...". У него была маня-фантазия что после испыталки ега сразу мидлом сделают и будут платить 150. В итоге в последний день испыталки его просто уволили, лол.
Аноним 12/01/22 Срд 09:46:05 2262582299
>>2262575
>базовое понимание должно быть какой элемент куда поставить на мобилке, если нет под неё дизайна например.
А в чем проблема не делать дизайн, если дизайнер его не нарисовал? Почему верстальщик должен что-то придумывать?
Аноним 12/01/22 Срд 09:58:26 2262591300
Аноним 12/01/22 Срд 10:21:29 2262607301
>>2262582
Речь о том, чтобы не заёбывать дизайнера каждым пикселем экрана, а попробовать решить самому, а потом показать дизайнеру/команде как вышло. Понятно что если сложный интерфейс и большим количеством элементов, это задача дизайнера продумать, как всё должно выглядеть на маленьких экранах. Другая крайность, когда вкатун-верстальщик пилит какую-нить таблицу с формочкой пиксель в пиксель только под разрешение экрана из макета, а на то что всё ломается на экранах чуть меньше отвечает "этого не было в дизайне, создавайте отдельную задачу на респонсив!".
И ещё одна кстати проблема джунов-вкатунов, что они не тестируют свой код, даже на соответствие основным требованиям. Делал такому ревью, усомнился, развернул у себя - нихуя не работает. Спрашиваю его, ты мол локально проверял, у тебя всё работает? А он "нет, а для чего нам тестировщики?". Сам при этом заёбывал всех миллиардами вопросов, 90% которых мог бы решить сам потратив 5-10 минут.
Короче, речь больше про самостоятельность, а не про то чтобы делать чью то работу.
Аноним 12/01/22 Срд 10:25:52 2262614302
>>2262575
>Банальную клиент сайд валидацию полей, которая есть в html
Это же хуета полная, которую нельзя в конфиг вынести и потом править как душа пожелает
Здесь вкатун прав
Аноним 12/01/22 Срд 10:28:55 2262616303
>>2262607
> "этого не было в дизайне, создавайте отдельную задачу на респонсив!".
В чем он не прав? По уму должны быть макеты под основные разрешения. Десткоп, планшет и мобила. Между ними уже можно самостоятельно сделать респонсив. Но вот самому это придумывать - неблагодарное занятие. Потом придет дизайнер, скажет все хуйня и будешь переделывать.
Аноним 12/01/22 Срд 10:30:43 2262617304
>>2262614
Плюсую. Сколько раз пытался что-то нативное в браузере использовать. Потом приходит Кабан с охуительными идеями... как должен работать селект
Аноним 12/01/22 Срд 10:53:58 2262642305
15807674403200.png 189Кб, 462x450
462x450
>>2262568
вообще я бы сказал сколько уже вкатываюсь, но об этом лучше помолчать
Аноним 12/01/22 Срд 10:57:41 2262646306
Аноним 12/01/22 Срд 10:59:44 2262647307
>>2262646
Ничего не понятно, неси код.
Передать данные хочешь из родителя в один из двух дочерних, которые рендерятся по условию?
Аноним 12/01/22 Срд 11:18:46 2262667308
>>2262617
Плюсую, тоже задетектил кабанчика по валидации полей через ебанный хтмл и по классическому не хочет работать за еду, как такое возможно??
Аноним 12/01/22 Срд 12:09:37 2262696309
Хотел спросить в треде, потом нашёл ответ сам, так что вместо этого поделюсь

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

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

В случае с undefined произойдёт замена на дефолтное значение, а с null нет
Аноним 12/01/22 Срд 13:49:53 2262811310
image.png 13Кб, 443x286
443x286
Аноним 12/01/22 Срд 13:51:20 2262813311
image.png 17Кб, 599x288
599x288
image.png 1Кб, 218x42
218x42
>>2262811
Интересно. Ну, TS это ебаный костыль всё-таки
Аноним 12/01/22 Срд 13:54:01 2262814312
>>2262696
Про что вопрос то был? При чем здесь тс?
Аноним 12/01/22 Срд 13:54:05 2262815313
image.png 21Кб, 854x325
854x325
image.png 2Кб, 392x48
392x48
>>2262813
Даже так ему похую, ведь TS существует только на время компиляции
Аноним 12/01/22 Срд 13:57:44 2262821314
>>2262696>>2262813
ТС это конечно кал, но в данном случае ты дебил, который не знает основ жса. Дефолтные значения выставляются только при undefined аргументе или когда аргумент при вызове функции не выставлен(что с точки зрения жса одно и то же, потому что костыли). null - это полноценное значение, которое ты сам передал и очевидно его на дефолтное менять нельзя, и это так работает в абсолютно любом другом языке.
Аноним 12/01/22 Срд 14:23:38 2262845315
>>2262821
>это так работает в абсолютно любом другом языке.

Ожидать, что js кал будет 100% работать как абсолютно любой нормальный язык это, конечно, кек
Аноним 12/01/22 Срд 14:42:54 2262858316
Новый точечный [...].png 4Кб, 287x123
287x123
Как меня заебала эта ваша вёрстка.
Есть хэдер таблицы с position: sticky и z-index: 2
Есть выпадающий список с меню с position: absolute и z-index: 11
Ячейка хэдера перекрывает меню, когда оно раскрывается.
Как это пофиксить?
Аноним 12/01/22 Срд 16:01:09 2262929317
image.png 21Кб, 481x451
481x451
>>2262858
Иди пиздаболь в /web/
Аноним 12/01/22 Срд 16:06:36 2262932318
>>2262929
Заодно, пусть на Jsfiddle проблему оформит, а то хуле гадать?
Аноним 12/01/22 Срд 17:27:49 2263102319
Что по СТЭЙТ МЭНЭДЖМЕНТУ во Vue?

Там тоже зоопарк из разных стейт менеджеров? Пригодятся ли навыки работы с Редаксом? Пилите прохладные.
Аноним 12/01/22 Срд 17:37:41 2263120320
Аноним 12/01/22 Срд 17:42:57 2263137321
Делегирование в практике часто юзается на работе? Какую тему задрочить, а то такое чувство что все подряд учу, а поотм хуй че юзать буду, бошка кипит от снежного кома знаний. уууу бля тяжело...
Аноним 12/01/22 Срд 17:50:48 2263165322
>>2263137
>уууу бля тяжело...
Что за даунская манера письма? Ты даун? Может поэтому и тяжело?
Аноним 12/01/22 Срд 17:51:44 2263173323
Нормально подсматривать чужой код? Хочу маленький прототип игры сделать, но, допустим, не понимаю как сделать top-down камеру. Нужно еще учить и пытаться придумать ее самому или таки лучше подсмотреть?
Аноним 12/01/22 Срд 17:51:44 2263174324
>>2263165
Я на эмоциях, пчелкин.
Аноним 12/01/22 Срд 17:54:11 2263184325
>>2263173
У нас на работе если видят что за чужим кодом подсматриваешь, то выставляют голым посреди офиса и стоишь весь день писюном светишь, так что я бы не советовал.
Аноним 12/01/22 Срд 18:02:51 2263214326
>>2263120
Спасибо. А вот когда в вакансиях пишут Vue, то имеется в виду вторая или третья версия? Илья Климов жаловался на третий Vue, но сейчас может быть все пофиксили.

Какую версию учить, если уже знаю React?
Аноним 12/01/22 Срд 18:24:31 2263262327
Зачем нужны всякие Пуги, если есть вуе и реакт? Ведь пуг даёт возможность компонентно собирать хтмл, но на своем диалекте и без жса к тому же
Аноним 12/01/22 Срд 18:58:48 2263304328
image.png 240Кб, 500x406
500x406
Аноним 12/01/22 Срд 19:07:18 2263313329
>>2263262
Как минимум vue шаблоны можно фигачить на pug

JSX нельзя, но на то он и jsx чтобы быть убогим бай дезинг
Аноним 12/01/22 Срд 19:15:38 2263321330
>>2263313
Ну так это же совсем фигня, если использовать pug для более короткого синтаксиса. Там куча плагинов вскода для этого, а весь функционал передачи аргументов и возможность условий выглядят бесполезно, потому что все равно для того что бы перерисовать станицу, ее надо перезагружать. Или я что то не понимаю?
Аноним 12/01/22 Срд 19:47:01 2263361331
image.png 50Кб, 756x532
756x532
image.png 57Кб, 755x589
755x589
Всем привет, сейчас только учусь возникла задача, которую не могу решить, я написал функцию, но не могу взять в толк как правильно дописать к ней нужные к ней условия, мне не хватает знаний языка и синтаксиса, а прошлый код самой функции писал неделю. Мне надо дописать условия в функции определения ширины. Сейчас она учитывает только 768 и названа isMobile. Мне надо добавить ещё isTablet, в которой как раз и будет 768, а в isMobile должен быть медиа запрос на 480.
И дальше условия, если планшет, то как сейчас написано, если телефон, то вместо ширины трех полосок надо учитывать ширину одной.

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

1 - как выглядит оно сейчас
2 - что у меня сейчас (огрызок)
Аноним 12/01/22 Срд 20:00:47 2263378332
Аноним 12/01/22 Срд 20:07:18 2263392333
>>2260771 (OP)
Создал на codesandbox проект, создал там папку с картинками, загрузил картинку в эту папку. Хочу эту картинку закинуть в стили как background-image, а не выходит нихуя. Адрес ссылки прописал правильно, картинки со сторонних url показывает как надо, а из папки проекта - хуй. В чем может быть косяк, или так и задумано?
Аноним 12/01/22 Срд 20:41:16 2263421334
Аноним 12/01/22 Срд 20:46:27 2263425335
>>2263421
Это другое. У меня именно в файл style.css не получается загрузить картинку в background-image типа:

background-image: url('../img/services_ball.png');
Аноним 12/01/22 Срд 21:27:37 2263454336
Аноним 12/01/22 Срд 21:34:57 2263459337
>>2263361
> мне не хватает знаний языка и синтаксиса
> дедлайн до ночи, нужно сдать проект
А-ТЯ-ТЯ, центр занятости., принимай пополнение!
>1 - как выглядит оно сейчас, 2 - что у меня сейчас (огрызок)
Зачем трогаешь return? Ну сделай какой нибудь else if(isTablet.matches) который меняет значение itemWidth.
Аноним 12/01/22 Срд 22:36:42 2263499338
Как сделать подзагрузку элементов по необходимости?
Аноним 13/01/22 Чтв 00:14:37 2263541339
Аноним 13/01/22 Чтв 06:40:10 2263618340
>>2263214
>Какую версию учить, если уже знаю React?
Никакую.
Твой вопрос звучит как "Какой язык для бэка мне учить если знаю php?"

>когда в вакансиях пишут Vue, то имеется в виду вторая или третья версия
Имеется в виду vue. В большинстве проектов вторая, редко встречается третья. Редко, т.к. она нихуя не поддерживает, надеемся, пока что. В любом случае отличий не так много чтобы было сложно работать на третьей зная вторую.
Аноним 13/01/22 Чтв 07:32:19 2263626341
>>2262845
Толстота или просто неосилятор?
Аноним 13/01/22 Чтв 07:59:41 2263631342
>>2263626
Чем дальше погружаешься в JS, тем больше его ненавидишь
Аноним 13/01/22 Чтв 08:25:08 2263637343
>>2263631
Признак неосиляторства.
У меня наоборот. В самом-самом начале некоторые вещи казались тупыми потому что не хватало извилин один раз открыть спеку и прочитать что как и зачем.

А слышать про различия в языках в связке с недовольством жс это и вовсе скудоумие 80-го лвла. Чел, ты тупой, если тебе не нравится жс - ебашь веб-ассембли на фронте или модули на бэке. Буквально любой язык можешь встроить без особого геммороя, вот только нахуя если жс банально удобный?
Аноним 13/01/22 Чтв 08:57:58 2263657344
Изучаю js совсем недавно. Хотел бы узнать, можно ли как-то имитировать нажатие клавиши "Enter" при выполнении скрипта? Т.е. скрипт выполняется и в конце сам отправляет сообщение, без ручного нажатия кнопки отправки или "Enter".
Аноним 13/01/22 Чтв 09:09:37 2263660345
>>2263657
если ты про "хачю чтобы скрипт сам на сайты заходил,нажимал там кнопачки какие хачю" то хуй соси. а так keyboardevent вроде
Аноним 13/01/22 Чтв 09:12:21 2263664346
>>2263660
В смысле хуй соси?
Скрапеоров на жсе предостаточно
Аноним 13/01/22 Чтв 09:13:38 2263665347
>>2263664
так они ж через ноду какую-нибудь поди работают, как оффлайн браузеры
Аноним 13/01/22 Чтв 09:14:45 2263667348
>>2263665
headless браузер всмысле
Аноним 13/01/22 Чтв 09:20:18 2263673349
Аноним 13/01/22 Чтв 09:21:57 2263674350
>>2263665
Или парсить html запроса ручками, или браузер нодой запускать.
Аноним 13/01/22 Чтв 09:34:22 2263679351
Как вы относитесь к тому, чтобы в шапке создать гуглдок с перечнем годных курсов и вместе его обновлять?
могу начать
Заодно посоветуйте пездатый курс для уже не джуна с какими-нибудь продвинутыми рякт концепциями
Аноним 13/01/22 Чтв 09:40:41 2263682352
Аноним 13/01/22 Чтв 09:48:41 2263685353
>>2263682
Я не про гайд для вката
Аноним 13/01/22 Чтв 09:53:04 2263688354
>>2263685
Там есть раздел с курсами/туториалами, можешь в пул реквест запилить список.
Аноним 13/01/22 Чтв 10:12:17 2263700355
Господа, работодатель готов оплатить мне курсы по фронтенду, бюджет около 100к. После которого я смогу ковырять задачи. Думаю над яндекс.практикумом. Есть альтернативы, отзывы, мнения? Буду благодарен!
Аноним 13/01/22 Чтв 10:20:52 2263704356
image.png 48Кб, 622x386
622x386
Приветствую, вебшторм работал примерно полгода без проблем, мне его установил прогер и он сказал, что каждый месяц прога будет автоматически как-то продлять лицензию и все будет збс, не нужно будет вводить ключ и ебаться с кряками. И вот сейас вылезло такое.

Нашел вот этот гайд (https://forum.losper.net/topic/90-aktivatory-jetbrains-agent-dlja-ide-ot-jetbrains/#comment-238), он должен сработать, не похерю ли я все такими действиями? просто ссыкотно, если что-то сделать неправильно и я лишусь вебшторма, то это будет пиздец
Аноним 13/01/22 Чтв 10:43:26 2263718357
>>2263704
Если ты вкатыш, то тебе вскода хватит за глаза. И не нужно ничего будет крякать и воровать.
Аноним 13/01/22 Чтв 10:49:36 2263721358
>>2263718
Я уже на стажировке, скоро она закончится и мне нужно будет что-то более менее приближенное к реальным задачам делать
Аноним 13/01/22 Чтв 11:07:34 2263744359
>>2263721
>к реальным задачам делать
Реальные задачи делают на VS Code
Аноним 13/01/22 Чтв 12:40:31 2263823360
Чем вебшторм лучше вскода? Какие там киллер-фичи? Ни разу не юзал. Работаю в вскоде. До вката говнокодил в саблайм тексте.
Аноним 13/01/22 Чтв 12:58:06 2263847361
let obj=document.getElementById("object");

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

console.log(event.target.clientY);

})
почему он выбрасывает ундефайнед?

Аноним 13/01/22 Чтв 13:26:49 2263863362
>>2263847
Сделай просто event.clientY
Аноним 13/01/22 Чтв 13:29:28 2263869363
>>2263863
а почему здесь без таргет,типа ничем не манипулируем,только инфа?
Аноним 13/01/22 Чтв 13:32:54 2263873364
>>2263869
Таргет это хуйня в доме, с которой ивент случился. А тебе не его координаты же нужны, а координаты самого ивента.
Аноним 13/01/22 Чтв 13:36:27 2263878365
>>2263700
Что за щедрота, ты там самый главный по программированию что ли, что дают самому выбирать какие курсы проходить?
Аноним 13/01/22 Чтв 13:38:21 2263879366
>>2263704
Просто скачай с рутрекера, там в каментах к раздаче обычно пишут как активировать и получилось ли.
Аноним 13/01/22 Чтв 13:40:03 2263880367
>>2263879
Спасибо, тогда еще вопрос - какого хрена не работает тор? Всегда с него на рутрекер заходил, а сейчас тор тупо не пашет. И даже впн в опере отвалился... че за нах, гайки закрутили?
Аноним 13/01/22 Чтв 13:42:22 2263886368
Аноним 13/01/22 Чтв 13:43:21 2263890369
>>2263880
>даже впн в опере отвалился
Есть разнообразные VPN-расширения для хрома.
Аноним 13/01/22 Чтв 14:22:55 2263957370
>>2260771 (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
и т.д.
Аноним 13/01/22 Чтв 14:27:52 2263962371
Аноним 13/01/22 Чтв 14:31:59 2263971372
У меня в городе одна единственная вакансия на веб-разраба, и то на пхп макаку. Стоит туда резюме слать? Может если сказать что я бекендом не занимаюсь, но только фронтендом, но делаю это хорошо. Может обратят внимание?
Аноним 13/01/22 Чтв 14:35:39 2263976373
image.png 18Кб, 630x393
630x393
>>2263962
сложна. я вкатыш
сделал пока как на пике

я хз какую функцию написать внутри фильтра чтоб он отсортировал нормально
Аноним 13/01/22 Чтв 14:43:11 2263988374
>>2263957
Опиши задачу нормально, долбоеб.
Аноним 13/01/22 Чтв 14:48:23 2263997375
>>2263988
сравнить все елементы между собой и каждый результат вывести в консоль все цифры меньше текущего елемента, я хз
Аноним 13/01/22 Чтв 15:00:41 2264013376
image.png 32Кб, 1169x440
1169x440
>>2263988
вот я хотел чтоб оно так работало, но вместо 2 циклов использовать фильтр или хз что еще можно использовать в таком случае
Аноним 13/01/22 Чтв 15:16:07 2264026377
>>2263976
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]);
Аноним 13/01/22 Чтв 15:27:33 2264034378
>>2264013
Фильтр возвращает массив, если тебе нужна ещё и сортировка то прямо и пиши сорт, а если ещё и строка на выходе, то джоин. Что неясна то?
Аноним 13/01/22 Чтв 15:36:48 2264043379
>>2263700
Ты даже не пишешь, какой у тебя уровень и над чем конкретно в практикуме ты думаешь
Аноним 13/01/22 Чтв 15:37:51 2264044380
чтобы переместить элемент по странице,сначала узнаем его координаты.
потом делаем обработчик события на движение,с методами сclientXY и херачим значения в позицию элемета?
Аноним 13/01/22 Чтв 15:47:02 2264062381
>>2263971
Шли, что ты теряешь?
Аноним 13/01/22 Чтв 15:47:06 2264064382
>>2263878
Да просто оплачивают обучение. По желанию.

>>2263886
Да мне бы что-то с наставником чтобы, кто бы мог на вопросы отвечать и код ревьювить. В Хекслете вроде пишут что есть. Но не нашёл отзывы выпускников.
Аноним 13/01/22 Чтв 15:52:38 2264075383
>>2264043
Соррян. Уровень в разработке - нулевой. Только по мелочи верстал для себя всякие формочки и странички. JS на самом базовом уровне, чтобы кнопочку покрасить или элемент удалить. В практикуме думал над этим курсом https://practicum.yandex.ru/web/
Аноним 13/01/22 Чтв 16:01:12 2264089384
Сап, поясните пожалуйста, хочу фулстек приложение написать, по ютубу повторил, там файлы в статик папку закидываются, ок. Но если я хочу сделать что-то типа облачного приложения, т.е. чтобы файлы сохранялись на какой-то диск, куда мне эти файлы закидывать? В базу данных как я понял только имена надо сохранять, а файлы тогда куда?
Аноним 13/01/22 Чтв 16:03:17 2264090385
>>2264044
Смотря что понимаешь под "переместить". Если визуально, то достаточно transform: translate(x, y) поменять. Если по ДОМу - то там намного больше ёбли требутся.
Аноним 13/01/22 Чтв 16:05:39 2264091386
>>2263886
> https://frontendmasters.com/ - лучшие курсы по фронтенду во всем интернете
Классные, но это все ещё "чувак объясняет код"

Мне бы хотелось курсов с упором на практику.
От себя могу порекомендовать epicreact от Kent C Dodds
он в несколько меньшей степени страдает от этого
Аноним 13/01/22 Чтв 16:05:53 2264092387
>>2264089
Очевидно же у облачного файлохраналища будет АПИ с эндпоинтами, позволяющими манипулироваь файлохранилищем.
Аноним 13/01/22 Чтв 16:07:07 2264093388
Аноним 13/01/22 Чтв 16:08:10 2264094389
>>2264090
а есть разница в применении?
Аноним 13/01/22 Чтв 16:08:21 2264095390
>>2264092
Т.е. мне отдельно кроме бд нужно создать файловое хранилище и к нему также через запросы подключаться? aws вроде нагуглился
Аноним 13/01/22 Чтв 16:16:54 2264104391
>>2264090
Вообще хочу как стратежке-выбрал элемент с подсветкой,потом кликнул в другое место,он туда пошел
Аноним 13/01/22 Чтв 16:27:08 2264114392
>>2264095
Ничего "отдельно" создавать не нужно, у тебя уже должен быть модуль создан с функциями, отвечающими за работу с хранилищем. Если туториал на трубе не совсем дебилом был сделан, то там уже всё ассинхронно написано, а значит тебе только понадобится условно вызывать или нодовские методы для манипуляции файловой системой или запросики в облако отправлять. Скорее всего придётся писать дополнительный модуль для работы с АПИ облака, функции которого и будут дёргаться модулем хранилища.
Аноним 13/01/22 Чтв 16:32:26 2264118393
image.png 5Кб, 605x80
605x80
Что такое сквошь коммитс? Перевод буквальный - давить совершения... Что делает эта галка?
Аноним 13/01/22 Чтв 16:33:49 2264122394
>>2264118
На вопросик рядом пробовал наводить?
Аноним 13/01/22 Чтв 16:42:42 2264130395
>>2264122
Ну, сейчас навел, прочитал перевод той страницы, там очень много пояснений, но из-аз перевода не совсем понятно. пох, придется на ютубе искать
Аноним 13/01/22 Чтв 16:44:38 2264132396
>>2264114
Ну про создавать я имею ввиду, что у меня же должно откуда-то это хранилище появиться чтобы я туда файлы закидывал, соответственно его нужно отдельно создать?
Аноним 13/01/22 Чтв 17:01:58 2264154397
>>2264132
Это уже от вендора зависит. Но как минимум тебе придётся создать аккаунт у вендора. Облачные микросервисы же!
Аноним 13/01/22 Чтв 17:20:35 2264183398
Как же хуёво, что backend на JS умер. Жалкие потуги TS не воскресили эту нишу
Аноним 13/01/22 Чтв 17:24:34 2264191399
Аноним 13/01/22 Чтв 17:29:04 2264195400
>>2264191
я анон сделал перемещение в точку клика
осталось это анимировать
Аноним 13/01/22 Чтв 17:34:10 2264197401
Аноним 13/01/22 Чтв 17:41:48 2264208402
>>2264197
Чел, JS это язык для фронтента. Ведь ничего рискованного на морду приложения не ставят. Максимум, упадёт вьюха или поедет клавиша на 10 пикселей. Бекенд пишут на настоящих языках
Аноним 13/01/22 Чтв 17:47:44 2264216403
>>2264208
>Бекенд пишут на настоящих языках
Таких как PHP
Аноним 13/01/22 Чтв 17:51:33 2264220404
>>2264208
А жс не настоящий? Бекенды на других языках не падают с исключениями?
Аноним 13/01/22 Чтв 17:51:37 2264221405
Аноним 13/01/22 Чтв 17:54:00 2264223406
>>2264221
Очень скучный, а для очень скучного он слишком не строгий.
Аноним 13/01/22 Чтв 17:58:20 2264234407
>>2264220
Настоящие языки программирования это:
C#
Java
Ruby
Аноним 13/01/22 Чтв 18:00:08 2264241408
>>2264223
Как руби там оказался рядом с жавой и шарпом?
Аноним 13/01/22 Чтв 18:00:38 2264243409
Аноним 13/01/22 Чтв 18:02:42 2264247410
>>2264241
Потому что RoR лучший бекенд фреймворк в мире?
Аноним 13/01/22 Чтв 18:04:16 2264249411
>>2264221
>препроцессор гипертекста
>норм язык
Аноним 13/01/22 Чтв 18:04:28 2264251412
Аноним 13/01/22 Чтв 18:05:02 2264252413
>>2264251
Безопасно делать хуяк-хуяк в продакшен и получать 600к в месяц
Аноним 13/01/22 Чтв 18:06:09 2264255414
Как translate применить к елементу,но в рамках жс?
Аноним 13/01/22 Чтв 18:08:35 2264259415
>>2264247
>лучший бекенд фреймворк в мире
Оно уже научилось в неблокируемое IO или всё так же отжирает по стеку на каждый параллельный обработчик запросов?
Аноним 13/01/22 Чтв 18:10:41 2264262416
>>2264247
Не масштабируемый
Работает на старых подходах и костылях. Все вакансии с рор требуют знание жиквери в 2022
Состоит целиком из уличной магии и трюков которые надо запоминать.
Ни одной стоящей идеи не привнес в в веб, только породил каргокульты вроде ларавела
Аноним 13/01/22 Чтв 18:17:14 2264271417
>>2264262
>Не масштабируемый
Сейчас бы масташибировать Node.js, используя какие-то костыли вроде pm2 и шпионских облак
Аноним 13/01/22 Чтв 18:17:49 2264272418
obj.style.transform = "translateX(x+'px')";
почему не работает?
Аноним 13/01/22 Чтв 18:23:10 2264276419
>>2264272
"translateX(x+'px')";
Что написать то хотел?
Аноним 13/01/22 Чтв 18:24:44 2264279420
Вот когда эйчар пишет джуну, что у них команда фронтенда будет состоять из одного человека (т.е. этого джуна), то, что это означает?

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

Там команда менеджеров и SMM-щиков, а для разработки и поддержки сайта один фронтендер. Кто собеседовать будет? Как будут уровень оценивать?
Аноним 13/01/22 Чтв 18:25:32 2264281421
vue-security.webm 10398Кб, 1366x768, 00:05:04
1366x768
Сап, зк.

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

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

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

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

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

6. Не кажется ли Вам, что вся эта структура с кучей вложенностью компонентов, свойствами и "опусканием их вниз по компонентам" или "поднятию на верх" сильно усложняет жизнь программисту и замедляет разработку? Ну вот на jquery берешь селектор и пишешь строчку кода, например, отобразить там что-то. В реактовью надо делать компонент и передавать туда свойства, чтобы отобразить там что-то. Сильно больше писанины же.
Аноним 13/01/22 Чтв 18:25:58 2264283422
>>2264271
>костыли вроде pm2
Завернуть ноду в systemd сервис религия не позволяет?
Аноним 13/01/22 Чтв 18:28:46 2264286423
Аноним 13/01/22 Чтв 18:28:59 2264287424
>>2264276
видимое перемещение элемента,а не внезапное появление в точке клика как щас
Аноним 13/01/22 Чтв 18:29:13 2264288425
Аноним 13/01/22 Чтв 18:30:58 2264290426
>>2264281
это ASMR со звуками соплей?
Аноним 13/01/22 Чтв 18:32:49 2264292427
>>2264290
>это ASMR
Да

>со звуками соплей
это уже аудиопорно
Аноним 13/01/22 Чтв 18:34:02 2264294428
>>2264287
На какое значение двигаешь элемент?
Аноним 13/01/22 Чтв 18:36:48 2264296429
image.png 5Кб, 271x114
271x114
Понимаешь, в чём ты не прав?
Аноним 13/01/22 Чтв 18:36:57 2264297430
>>2264294
зависит от места клика
Аноним 13/01/22 Чтв 18:38:42 2264300431
>>2264296
в том и проблема,он не видит цифру
Аноним 13/01/22 Чтв 18:39:52 2264301432
>>2264300
document.getElementById("container").style.transform = "translateX(30px)"
вроде на этот пример ориентировался
Аноним 13/01/22 Чтв 18:40:52 2264304433
Аноним 13/01/22 Чтв 18:40:59 2264305434
>>2264300
Так ты передаёшь туда не цифру, а строку.
Аноним 13/01/22 Чтв 18:43:02 2264310435
>>2264305
Туда строку и надо в css выражением

мимо
Аноним 13/01/22 Чтв 18:44:55 2264311436
>>2264310
Он передавал Х параметр как символ в строку, а не переменную
>>2264304 т.е. надо так
Аноним 13/01/22 Чтв 18:49:28 2264314437
>>2264311
Ошибка при парсинге значения «transform». Потерянное объявление
Аноним 13/01/22 Чтв 18:51:41 2264317438
>>2262396
нужно нести код. а вообще мб ты пытаешься изменить стейт родительского компонента из дочернего компонента? для таких манипуляций нужно писать функцию в род. компоненте, изменять в ней стейт и передавать её через пропсы в дочерний, в дочернем просто вызывать её с нужными аргументами
https://stackoverflow.com/questions/35537229/how-can-i-update-the-parents-state-in-react
если я в точку попал, то я шерлок
Аноним 13/01/22 Чтв 19:04:47 2264330439
123.jpg 199Кб, 1269x941
1269x941
>>2264317
Я забил на ту проблему, поскольку после загрузки на Github Pages эта ошибка не отображалась. Но понимаю, что надо разобраться, поэтому набросал пикрелейтед того, как это выглядит, чтобы текстом долго не объяснять. Сам код лень по кускам скриншотить.

P. S. Расстраивает, что почти все примеры и объяснения делаются на классовых компонентах, я не особо шарю в них.
Аноним 13/01/22 Чтв 19:27:52 2264355440
Аноним 13/01/22 Чтв 19:33:09 2264359441
>>2264330
ну так ты не может setAbc передавать через пропсы и пользоваться дальше, пропсы read-only, ты можешь сделать как я те написал
Аноним 13/01/22 Чтв 19:33:41 2264361442
Аноним 13/01/22 Чтв 19:38:37 2264362443
>>2264361
в двух кавычках запутался.
Аноним 13/01/22 Чтв 19:43:59 2264363444
>>2264281
> Ну вот на jquery берешь селектор и пишешь строчку кода, например, отобразить там что-то. В реактовью надо делать компонент и передавать туда свойства, чтобы отобразить там что-то. Сильно больше писанины же.
Попробуй alpine.js базарю
Аноним 13/01/22 Чтв 19:51:38 2264367445
sof.jpg 102Кб, 1141x591
1141x591
>>2264359
Почему-то на эту тему почти все примеры с классовыми компонентами. По твоей ссылке для функциональных компонентов предлагают пикрелейтед решение, это ровно то же самое, что и у меня.
Аноним 13/01/22 Чтв 20:21:36 2264382446
>>2264367
а вон оно что, мб нужно в юзефекте что-то делать, т.е. стейт менять после рендера компонента?
Аноним 13/01/22 Чтв 20:42:47 2264403447
>>2264359
> ну так ты не может setAbc передавать через пропсы и пользоваться дальше,
Это почему? Диспатчеры сетстейта можно передавать вглубь и это работает
Аноним 13/01/22 Чтв 21:48:51 2264451448
Есть родительский компонент MovieList, есть дочерний Pagination.
Есть хук, который получает данные с сервера по апи.
В родительском компоненте вызывается хук и туда передается параметр page из state у родителя. Этот state прокинут пропсом в Pagination, откуда возвращается число.

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

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

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

Как такого можно добиться?
Аноним 13/01/22 Чтв 22:07:28 2264470449
>>2264403
я обосрался, этот хук и есть функция, в которой можно менять стейт
Аноним 13/01/22 Чтв 22:29:09 2264489450
>>2264451
Очевидно же проводить запрос после смены состояния пагинации.
Аноним 13/01/22 Чтв 22:39:46 2264496451
>>2264489
Это очевидно, да.
Тогда вопрос по-другому поставлю. Как заставить дочерний элемент в родителе рендерится первым, а потом рендерить всё остальное?
Аноним 13/01/22 Чтв 22:58:04 2264508452
>>2264496
Менять состояние кнопки перед запросом.
Аноним 13/01/22 Чтв 23:04:30 2264517453
>>2264508
Но как? Я вкатун. Использую готовый компонент пагинации от Material UI
Аноним 13/01/22 Чтв 23:07:06 2264519454
>>2264517
Ну так страдай. В этом вся суть говно-юай либ - выглядит просто и легко, а как появится проблема, то городить вагон костылей.
Аноним 13/01/22 Чтв 23:09:30 2264520455
>>2264496
Никак, если ты хочешь делать такое, то тебе реакт не подходит, потому что его модель рендеринга подобное не предусматривает и не поддерживает. Другое дело, что ты пытаешься сделать хуйню, тебе нужно хранить состояние "выбрана такая страница" отдельно и передавать эту страницу в запрос, а не получать с сервера, как ты делаешь сейчас, тогда все будет меняться сразу же.
Аноним 13/01/22 Чтв 23:13:11 2264523456
image.png 36Кб, 631x274
631x274
Аноним 13/01/22 Чтв 23:25:12 2264526457
Сап всем. Меня числанули из универа пару дней назад, т.к. сам виноват, перепоступать буду в сентября, поэтому родаки сказали пиздошить на работу или заниматься какой-то хуйней, а не только сидеть за пк 7 месяцев. Поступал на направление по проге, учиться было слишком тяжело, вот я и не выдержал. Изучал С и С++, к слову. Промытый двачом, знал, что лучший вкат в деньги и работу - js. Поэтому я пришел в этот тред, прошу помощи и спрашиваю у знатоков, возможно ли до сентября как-то вкатиться в работу, если дрочить каждый день js? А так, если все пойдет хорошо, то и перепоступать ВДРУГ окажется ненужно. Буду очень благодарен, если поможете с ответом и еще, если тут окажутся люди с похожей судьбой.
Аноним 13/01/22 Чтв 23:30:03 2264529458
>>2264526
>не сидеть за пк 7 месяцев
>до сентября дрочить каждый день js
Выходит, что ты собираешься сидеть за пк 7 месяцев. По крайней мере в глазах родителей так и будет. Что ты делаешь что-то за пк, хуй знает что и эффекта нет. А для родителей так оно и выглядит, что если прямо сейчас нет триллиардов дохода, значит ты занят хуйней и играешь в пеку и переписываешься с тёлочками.
Аноним 13/01/22 Чтв 23:34:23 2264531459
>>2264529
Неправильно сформулировал, да. Я имею в виду, что могу сказать, что занимаюсь программированием хотя я и так им занимался - расскажу все, что думаю и чего хочу добиться, мало ли, доверятся. Вопрос скорее в том, возможно ли получить существенный прогресс за <=7 месяцев. посколько дохуя на дваче вкатунов с хорошей зарплатой, которые вкатились 4 месяца назад, по их же словам
Аноним 13/01/22 Чтв 23:45:32 2264538460
Дед 23 года, основной заработок с крипты, но хочется прикрыть жопу на случай "криптодоходу пизда, а тебе 30 лет и 0 опыта работы = умирай с голоду" и не деградировать без занятия, решил вкатиться в погроммирование, планов расти до синьора-помидора нет, мне хватит 1-2к в мес с удалёнки/фриланса. Собственно, какой путь и что учить, кроме JS?
Аноним 13/01/22 Чтв 23:47:18 2264539461
>>2264538
>что учить, кроме JS
PHP, Nginx
Аноним 13/01/22 Чтв 23:49:10 2264540462
>>2264538
>Дед 23 года, основной заработок с мамкиных криптокотлет
Аноним 13/01/22 Чтв 23:58:25 2264549463
Я правильно понимаю что в рякте все стейты должны быть только у верхнего элемента, а чайлдам передаваться через пропсы? Или если у чайлда есть какая-то хуйня, которая по идее не должна ебать парента, то норм свой стейт ему сделать?
Аноним 13/01/22 Чтв 23:58:59 2264550464
>>2264539
Это набор для фуллстэка, да? Логика в том, чтобы быть универсальным красноглазиком, что увеличивает шансы найти работу/заказ?
Аноним 14/01/22 Птн 00:00:26 2264551465
Аноним 14/01/22 Птн 00:09:21 2264556466
>>2264551
Окей, спс. ПХП самый востребованный ЯП для бэкэнда, как ЖабаСкрипт для фронтэнда?
Аноним 14/01/22 Птн 00:36:52 2264566467
Аноним 14/01/22 Птн 00:56:10 2264572468
>>2264556
ЖС не "самый востребованный для фронтенда", а единственный. ПХП нихуя не самый востребованный, на бэке зоопарк языков и у каждого своя ниша и сфера применения, можешь просто гуглить топ популярных языков для веба и выбирать какой первым понравится, разницы особой нет, работу найдешь на чем угодно.
Аноним 14/01/22 Птн 01:05:29 2264574469
>>2264572
>ЖС не "самый востребованный для фронтенда", а единственный
Есть еще Dart
Аноним 14/01/22 Птн 05:02:41 2264617470
>>2264526
>что лучший вкат в деньги и работу - js
Наебали. Палю лайфхак, в JS вкатываться год будешь, а вот в Ruby за 3 месяца тебя захантят уже
Аноним 14/01/22 Птн 05:04:22 2264618471
>>2264617
Зачем в мертвом языке ждуны? Там диды нужны поддерживать могилки в порядке.
Аноним 14/01/22 Птн 05:10:30 2264619472
>>2264617
А как это в фреймворк вкатиться быстрее, чем в язык, на котором этот фреймворк работает?
Аноним 14/01/22 Птн 05:19:43 2264620473
За последние 7 лет жс-тред окончательно скатился в филиал МВП. Тут больше не сидят люди, которым нравится общаться на темы программирования и разработки в целом, и о js в частности. Все треды это сплошное как войти в айти, наполненные чуть более, чем полностью долбоёбами.

Когда-то тут была совсем иная атмосфера.
Аноним 14/01/22 Птн 05:22:38 2264622474
Стоит ли откликаться на вакансию где есть 1-2 технологии про которые я ничего не знаю или работодатель не всегда подразумевает что нужно знать всё из списка?
Аноним 14/01/22 Птн 05:28:31 2264624475
>>2264619
>А как это в фреймворк вкатиться быстрее, чем в язык, на котором этот фреймворк работает?
>Зачем в мертвом языке ждуны? Там диды нужны поддерживать могилки в порядке.
В JS 1000 Джунов на одну вакансию
В Ruby обратная конкуренцтя, 10 контор готовы принять джуна, лишь бы знал синтаксис
Аноним 14/01/22 Птн 05:30:28 2264625476
>>2264620
>Все треды это сплошное как войти в айти, наполненные чуть более, чем полностью долбоёбами.
Это НЕ из-за МВП или людей. Просто JS считается как параша для вкатунов, такая судьба оверхайпа. Мне в этом треде тоже неприятно, сижу и охуеваю от ЕБАНУТЕЙШИХ вопросов, просто пиздец. Челик вчера переменную в строку не мог передать, кому нужны такие программисты в будущем? Постоянно в треде создают вопросы уровня "как двигать кнопку влево". У людей нет навыков гугла, все хотят сразу тут и сразу здесь
Аноним 14/01/22 Птн 05:43:58 2264627477
Аноним 14/01/22 Птн 08:30:35 2264654478
>>2264625
Я и не говорил, что это ИЗ-ЗА мвп треда. Я сказал, что жс-тред стал его филиалом.

ВСЁ, что тут обсуждается, всегда обсуждалось именно в мвп. Он для этого и был создан. Раньше всех вкатунов и обсуждения собесов, зарплат и прочих "подводных" ссаными тряпками гнали именно в мвп. Теперь это не так лишь потому, что контингент треда сильно скатился за эти последние 5-7 лет.
Аноним 14/01/22 Птн 08:43:39 2264658479
Сапб, состоявшийся фронт вошел в чат. Как расти в ноду с чего начать если бек в жизни не писал(почти). Посоветуйте.
Аноним 14/01/22 Птн 08:49:41 2264659480
>>2264526
Смотря где работу ищешь. В мухосрани найти контору на 200 зеленых в месяц в целом реально. Но если чо одного js будет не достаточно. Кури css за одно как адаптив пилить и всякие бест практики. В целом научится можно месяцев за три потом залелеть на вакансию сразу если повезет или стажером и через месяц на вакансию.Попробуй на сайтах с работкой поискать стажировки/курсы со стажирковкой когда какую то базу получишь. Но сразу говорю задачи будут той еще хуетой. Во фриланс даже лезть не думай
Аноним 14/01/22 Птн 09:00:35 2264663481
Аноним 14/01/22 Птн 09:02:43 2264665482
Аноним 14/01/22 Птн 09:04:54 2264666483
>>2264658
Начни с изучения сиквеля. Это основное чем беков на собесах попускают кроме верчения деревьев.
Аноним 14/01/22 Птн 09:08:26 2264667484
>>2264654
Ну так репорть нерелейтед посты, кто это за тебя будет делать? Я?
Аноним 14/01/22 Птн 09:13:48 2264669485
Аноним 14/01/22 Птн 09:42:39 2264677486
>>2264625
>Челик вчера переменную в строку не мог передать, кому нужны такие программисты в будущем? Постоянно в треде создают вопросы уровня "как двигать кнопку влево". У людей нет навыков гугла, все хотят сразу тут и сразу здесь
А какие ещё вопросы задавать?
Я что во время вкатунства не видел смысла задавать вопросы в треде, что тем более после вкатунства. 95% гуглится, а если не гуглится, то проблема в твоём говнокоде или в тебе.

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

Ну и другая цель, это на вопросы вкатунов унижать их. Чтобы у них выработалась привычка сначала загуглить. А потом спрашивать , а спрашивать уже и не нужно будет.
Аноним 14/01/22 Птн 10:09:34 2264687487
image.png 60Кб, 921x768
921x768
>>2264677
Да просто у него раньше хуй стоял, а теперь нет. JS-тред всегда таким был.
Аноним 14/01/22 Птн 10:12:27 2264690488
Аноним 14/01/22 Птн 10:21:24 2264695489
>>2264690
Знаешь как жикверей показать пользователю всплывающее сообщение, то уже мидл. Если можешь сделать на жиесе обратный отсчет до конца скидки, то уже ниебаться синиор. Вот было время...
Аноним 14/01/22 Птн 12:51:43 2264766490
Поясните, нахуя нужен ярн, если есть нпм?
Аноним 14/01/22 Птн 12:52:01 2264767491
Поясните, нахуя нужен ярн, если есть нпм?
Аноним 14/01/22 Птн 13:02:52 2264782492
>>2264766
Нахуй не нужен, признак вкатуна
Способ установки какбы намекает
npm install -g yarn
Аноним 14/01/22 Птн 13:02:53 2264783493
Аноним 14/01/22 Птн 13:27:26 2264805494
>>2264767
Нахуя нужен rar если есть zip? Нахуя нужен git если есть svn? Нахуя нужен yandex если есть google? Нахуя нужен dash если есть bash? Нахуя нужен С если есть ALGOL? Нахуя нужен ты?
Аноним 14/01/22 Птн 13:30:50 2264808495
>>2264805
Ярнодебил порвался.
Аноним 14/01/22 Птн 13:31:38 2264809496
Куда проще и выгоднее вкатиться, в JS, или Свифт?
Аноним 14/01/22 Птн 13:42:57 2264819497
>>2264767
Ярн уважает локфайл, а не переписывает его при каждой установке, как это делает обосранный npm, одной этой причины достаточно чтобы npm отправился на помойку. Ну и выполнение кастомных скриптов у него лучше, npm-run это тоже костыльное говно, которое даже параметры в скрипт передавать не умеет по умолчанию, надо подпирать костылем.
Аноним 14/01/22 Птн 13:51:35 2264823498
ВНИМАНИЕ ВОПРОС
Как происходит принятие на удаленную работу? Как детектить персон, желающих наебать меня на личные данные?
Аноним 14/01/22 Птн 17:58:33 2264952499
>>2264809
На макбук дэнгэ есть?
Аноним 14/01/22 Птн 18:01:42 2264957500
>>2264823
Твои личные данные давным давно уже у кулхакеров за 10 рублей
Риск есть всегда, но если у конторы есть хотя бы страница в hh - то шансы выше
Аноним 14/01/22 Птн 18:28:18 2264987501
Я вкатунец, прочитал, что существует GraphQL.

Скажите, плес, если у сайта обмен запросами и ответами проходит через GraphQL, то я смогу их увидеть в браузере в инструментах разработчика во вкладке Network/Fetch/XHR или надо отдельно скачивать расширения для браузера GraphQL, чтоб увидеть запросы и ответы?
Аноним 14/01/22 Птн 18:29:37 2264992502
Снимок экрана 2[...].png 36Кб, 636x182
636x182
Аноним 14/01/22 Птн 18:33:12 2264994503
image.png 55Кб, 911x391
911x391
Сап, есть один process.env.NODE_ENV, у которого тип string | undefined, и его нужно скастить к типу 'production' | 'development' | 'none'. Если изначально значение строки отличается от тех, что есть в юнионе, то поменять его на 'none'. Иначе просто оставить такое, какое есть.

Есть идеи, как сделать это покрасивее? Мой вариант выглядит всрато как-то.. Плюс дублирование кода ещё (список строк в типе юниона и внутри функции этой).
Аноним 14/01/22 Птн 18:45:28 2265011504
image.png 39Кб, 951x590
951x590
Небольшой вопросик. В каком порядке выполняются действия при выполнении подчёркнутой строчки? Получается, сначала создаётся объект, потом выполняется partial, которая вызывает constructor и дальше уже свойства присваиваются. Но главный вопрос: почему [[Prototype]]: myConstructor.prototype, а не partial.prototype?
Аноним 14/01/22 Птн 18:55:07 2265023505
image.png 30Кб, 1346x180
1346x180
>>2264994
Не знаю, так покороче вроде, но ещё большее говно.
Аноним 14/01/22 Птн 19:03:00 2265027506
image.png 34Кб, 1246x146
1246x146
>>2265023
Ладно, наверное, так оставлю.
Аноним 14/01/22 Птн 19:13:26 2265032507
как сделать ожидание второго 2 действия-клика?
Аноним 14/01/22 Птн 19:21:52 2265041508
code.png 366Кб, 2308x1608
2308x1608
>>2264523
Круто + классно и я так делал с функциями.
Но тут фишка в том, что у меня это за получение данных с API отвечает кастомный хук.

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

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

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

Вообще не хотелось бы отказываться от идеи использования хука. Может у кого есть какие идеи? Было бы интересно послушать.
Аноним 14/01/22 Птн 19:49:36 2265052509
Аноним 14/01/22 Птн 20:05:27 2265061510
>>2265041
>fetch
>data
Ты забыл дженерик прилепить к своему хуку. И getData() на ассинхронную функцию переписать. Ну а за то, что переменную называешь как один из глобальных объектов без ведомой на то причины, вообще пиздить надо сапогами.
Аноним 14/01/22 Птн 20:07:42 2265062511
>>2265041
>А хуки внутри других хуков не работают.
Как же ты тогда ипользуешь useState() хук в своём хуке?
Аноним 14/01/22 Птн 20:11:15 2265066512
>>2265061
> Ты забыл дженерик прилепить к своему хуку.
Это что-то с TS связанное? Я еще учу его, поэтому не разобрался.
> И getData() на ассинхронную функцию переписать.
А сейчас она разве не асинхронная? Я же then использую.
> Ну а за то, что переменную называешь как один из глобальных объектов без ведомой на то причины, вообще пиздить надо сапогами.
Справедливо, совсем не подумал.
>>2265062
Хорошо: хуки должны быть на верхнем уровне компонента. Надеюсь теперь правильно.
Аноним 14/01/22 Птн 20:11:34 2265067513
Правильно ли я понимаю что объекты и массивы объявляют через const, а не let, чтобы потом нельзя было объявить ещё раз и из-за этого запутаться?
Аноним 14/01/22 Птн 20:20:17 2265069514
>>2265067
Так let тоже не позволяет объявить ещё раз.
Аноним 14/01/22 Птн 20:37:48 2265079515
>>2264687
Ну и пиздливые же мрази, свистят, что раньше никто вопросов не задавал, все молча через гугл всё решали, а на самом деле нихуя подобного. Уроды ебаные, строят из себя.
Аноним 14/01/22 Птн 20:56:19 2265100516
>>2264809
Так не бывает, выбери что-то одно. Проще JS, выгоднее по деньгам Свифт наверное.
Аноним 14/01/22 Птн 21:29:03 2265136517
Аноним 14/01/22 Птн 21:34:59 2265144518
16087955560240.png 246Кб, 453x604
453x604
В электроне есть ipc через который можно из рендерера обращаться к главному процессу и получать ответы от него, но пользоваться им нельзя потому что не секьюрно (не догоняю даже как его включить, потеющими ладошками тереблю webPreferences и всё бестолку). Но можно через контекстбридж просунуть в рендерер что угодно в прелоад скрипте. Получается что ipc теперь даже не нужен? Или есть причины им пользоваться?
Аноним 14/01/22 Птн 21:35:13 2265145519
>>2265069
А почему тогда их объявляют через const? Я просто смотрю упражнения на freecodecamp, да и просто куски кода если что-то гуглю, везде const. Здесь
https://www.w3schools.com/js/js_array_const.asp
даже написали, мол
>It has become a common practice to declare arrays using const
Аноним 14/01/22 Птн 21:39:59 2265150520
>>2265145
Чтобы этой переменной нельзя было ничего присвоить, можно только менять/добавлять свойства.
Аноним 14/01/22 Птн 21:43:59 2265157521
>>2265136
Гребцу галеры слово не давали.
Аноним 14/01/22 Птн 23:11:09 2265214522
Кто-нибудь пробовал юзать на практике swc? Он выигрывает у babel в чём-либо, кроме скорости компиляции?
Аноним 14/01/22 Птн 23:37:43 2265234523
>>2265067
const - это бессмысленная религия, воспринимай ее просто хуевый как стайл гайд, который в проекте соблюдают просто для консистентности. Чему-то полезному он не служит и служить не может, отличия от let номинальные и в основном существуют только в шизоидной голове const-адептов в виде абсурдных рационализаций.
Аноним 15/01/22 Суб 00:46:21 2265283524
>>2265067
Чтобы избежать мутаций.
А еще много где есть ес-линт, где будет ошибка, если ты напишешь let и никогда не переопределишь значение.
Аноним 15/01/22 Суб 02:02:31 2265325525
Почему JS так сильно ебёт всех других?
Аноним 15/01/22 Суб 05:03:51 2265348526
Аноним 15/01/22 Суб 05:05:39 2265349527
>>2265144
Ipc не надо включать, шиз. Открой опрелеление ipc для нпчала.

Потом документацию электрона.
Аноним 15/01/22 Суб 05:15:58 2265351528
Аноним 15/01/22 Суб 08:33:58 2265368529
>>2265145
потому что это дефолт объявление для переменной, которое нельзя переназначить будет. если пишешь лет, то сразу понятно, что ты будешь менять значение переменной, а значит повышаешь таким простым манёвром читаемость кода
Аноним 15/01/22 Суб 09:55:28 2265395530
Господа, посоветуйте гайд/курс/годноту по TypeScript? Помимо документации и не в контексте фреймворка. На выходных чтобы можно было поиграть и запилить туду-лист на нём какой-нибудь.
Аноним 15/01/22 Суб 10:13:31 2265413531
image.png 46Кб, 786x283
786x283
Аноним 15/01/22 Суб 10:40:40 2265435532
useless.mp4 1196Кб, 550x440, 00:00:20
550x440
>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')}
Аноним 15/01/22 Суб 10:42:58 2265438533
Аноним 15/01/22 Суб 11:06:44 2265457534
Чего не хватает в жс?
Аноним 15/01/22 Суб 11:10:26 2265463535
>>2265457
Типизации и компиляции в байткод
Аноним 15/01/22 Суб 11:38:18 2265477536
Покажи мне код (который решает реальную проблему), в котором тебе придётся делать такие сравнения?
Аноним 15/01/22 Суб 11:38:47 2265478537
Аноним 15/01/22 Суб 12:24:51 2265498538
>>2265477
>код (который решает реальную проблему)
Гейткипинг вкатунов и набор в команду сильнейших из сильнейших
Аноним 15/01/22 Суб 12:28:53 2265505539
>>2265477
да ну например в коде калькулятора NaN уж точно проверять нужно, практически в любой либе есть проверки типов
Аноним 15/01/22 Суб 12:37:12 2265510540
Аноним 15/01/22 Суб 12:48:00 2265512541
>>2265505
Не нужно. В коде калькулятора любой NaN это 0. Так что достаточно value || 0;
Аноним 15/01/22 Суб 13:12:32 2265533542
Где скачать паленый Вебшторм ?
Аноним 15/01/22 Суб 13:14:00 2265535543
Аноним 15/01/22 Суб 13:14:55 2265536544
>>2265234
лет-дебил что-то там про шизиков и религию заливает.
Аноним 15/01/22 Суб 13:23:51 2265544545
Как сделать браузерную игру с профитом?
Аноним 15/01/22 Суб 13:25:02 2265545546
Аноним 15/01/22 Суб 13:25:35 2265546547
Аноним 15/01/22 Суб 13:46:43 2265563548
>>2265510
Проверил, проверяй
Аноним 15/01/22 Суб 13:46:48 2265564549
>>2265533
Качай VS Code без угрызения совести, всё быстрее и лучше твоей гоевской перделки
Аноним 15/01/22 Суб 13:49:36 2265568550
>>2265512
а если чел введёт строку, то как её провалидировать? а если чел 0 на 0 поделит? придумай пока велосипеды, а я буду пользоваться isNaN!
Аноним 15/01/22 Суб 13:52:04 2265571551
>>2265544
Встроить рекламу и платное отключение, ну или стандартные микротранзакции.
Аноним 15/01/22 Суб 14:00:11 2265576552
>>2265546
Находишь лоха пожирнее, готового проспонсировать разработку и доешь его. В принципе так работает любой не инди-геймдев, браузерки в этом не исключение.
>>2265568
В инпутах всегда строка, наркоман. Плюс в каноничном калькуляторе операции проводить можно только через заранее заданные кнопки.
Аноним 15/01/22 Суб 14:01:14 2265577553
>>2265571
Ну для рекламы уже должен быть трафик
Аноним 15/01/22 Суб 14:09:15 2265581554
>>2265577
Ну так напиши бота, который будет по баннерам переходить.
Аноним 15/01/22 Суб 14:11:06 2265583555
>>2265564
на вс коде я и так сейчас сижу,хотел для разнообразия вебшторм попробовать.Кто то говорил что он удобнее
Аноним 15/01/22 Суб 14:13:22 2265584556
>>2265581
> Ну так напиши бота, который будет по баннерам переходить.
Ты не понял,рекламу ставят когда есть траф допустим 200 уников каждый день
Аноним 15/01/22 Суб 14:13:42 2265585557
>>2265583
Я на рутрекере скачал.
Аноним 15/01/22 Суб 14:23:16 2265592558
>>2265583
>удобнее
Удобнее это использовать одну полноэкранную программу для всех действий. Если им там мало функционала VS Code, то это не программисты, а макаки
Аноним 15/01/22 Суб 14:25:03 2265594559
>>2265544
В /gd/ объяснят, базарю.
Аноним 15/01/22 Суб 14:27:54 2265598560
Аноним 23/01/22 Вск 14:25:37 2274450561
>>2265592
Если тебе мало функционала блокнота, то ты не программист, а макака

мимо
Аноним 23/01/22 Вск 14:26:41 2274452562
>>2265544
Вопрос-то в чём? В игре или в профите? Лол.
Если бы на второе был общеизвестный ответ, не существовало бы понятия риска и все были бы богачами.

Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов