Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
>>1926415 (OP) Насколько актуален gulp в 2к21? Reactstrap или Material UI? А может все вместе? Вот эта хуйня норм для форм на реакте? https://formik.org/? Какие годные альтернативы? Норм ли это в каждый проект пихать редукс, или оверкилл и иногда можно обойтись стейтом реакта? Я плохо себя чувствую, когда в моем проекте куча модулей. На каждый пук по модулю. Это норм? Стоит ли изобретать велосипед или лучше пользоваться тем что уже есть? Насколько сильно засранность модулями влияет на производительность. Норм ли пользоваться анимациями на js, учитывая, что некоторые ебут процессор, или лучше стараться сделать все что можно на css?
>>1926428 >Насколько актуален gulp в 2к21? Reactstrap или Material UI? А может все вместе? А причем тут одно к другому? Gulp это таск раннер, помогает работать с файлами и преобразовывать их, у нас на работе используется активно.
>Норм ли это в каждый проект пихать редукс, или оверкилл и иногда можно обойтись стейтом реакта? Редакс это очень специфический, расчитанный на большие проекты, стейт менеджер, он не нужен в 95% реакт поделках. Вся прелесть Редакса сериализуемости стейта (можно хранить в локасторедже его или пересылать через сервер), сериализуемости экшнов (можно прибавлять их к стейту и получать отменные баг репорты), в возможности делать undo стейта, в том что логика отделена от UI и не привязана к Реакту вообще. Композиция редьюсеров - главный и мощный паттерн, который Редакс позволяет реализовать. Ну и отдельно стоит упомянуть классные девтулзы и возможность дебага приложения.
Все это нахуй не нужно в 99% приложений, если тебе нужно просто с сервера список зафетчить или каунтер увеличить, Редакс вообще не нужен, только будешь ныть про "бойлерплейт" (как может быть бойлерплейтом сама суть Редакса, то есть разделение экшнов и редьюсеров?). Это намного более деликатный и специализированный инструмент чем кажется. Просто он в основе своей очень простой (его можно самому написать в 50 строчек), но тем не менее ограничения который он накладывает позволяют делать многие интересные вещи очень просто.
Опять же, для 99% вебни просто возьми useState или в худшем случае какой-нибудь Mobx, если тебе просто нужно глобал переменные менять.
>Я плохо себя чувствую, когда в моем проекте куча модулей. На каждый пук по модулю. Это норм? Стоит ли изобретать велосипед или лучше пользоваться тем что уже есть? Насколько сильно засранность модулями влияет на производительность. Это норма и правильно. Каждая функция должна быть независимой и код должен композиционироваться. Поэтому isEven имеет миллион загрузок в неделю.
>Норм ли пользоваться анимациями на js, учитывая, что некоторые ебут процессор, или лучше стараться сделать все что можно на css? CSS всегда.
>>1926435 Очевидный на фронте Angular, NgRx, реакт это лапша, на беке вообще похуй, сейчас даже в Хаскеле есть годный фреймворк для веба, все равно 90% времени запроса в базу данных будешь тратить, поэтому язык на беке должен выбираться с учетом скорости разработки и конкретной команды. Лично мне нравятся Рельсы, стабильно и качественно можно делать как и простой API, так и более сложный бек
>>1926428 >Насколько актуален gulp в 2к21? Нет. >Reactstrap или Material UI Сойдет, выбери одно. >Вот эта хуйня норм для форм на реакте? https://formik.org/? Какие годные альтернативы? https://react-hook-form.com/ >Норм ли это в каждый проект пихать редукс, или оверкилл и иногда можно обойтись стейтом реакта? Всегда можно обойтись. Редух - это глобальный стейт контейнер, и если у тебя в нем содержится дохуя центральной логики, а не просто сессия пользователя с корзиной, то ты 100% делаешь что-то не так. >Я плохо себя чувствую, когда в моем проекте куча модулей. На каждый пук по модулю. Это норм? Может норм, может нет, зависит от того, какой проект и какие модули. >Стоит ли изобретать велосипед или лучше пользоваться тем что уже есть? Если есть причина, почему тебя не устраивает уже готовое(нет нужных фич, кривое API, тащит за собой лишнее, размер большой и т.д), то стоит. Просто так - нет. >Насколько сильно засранность модулями влияет на производительность. Настолько же, насколько влияет "засранность" любым кодом, включая написанный тобой. Зависит от кода и от целей. >Норм ли пользоваться анимациями на js, учитывая, что некоторые ебут процессор, или лучше стараться сделать все что можно на css? Если можешь - делай на css, если не можешь - прикидывай плюсы и минусы. Обычно легче обсудить и поменять/упростить изначальные требования, чем хуярить прожорливую анимацию на жсе просто потому что менеджеру в голову взбрело, что так красиво будет.
>>1926454 Большинство серьезных предложений написаны с использованием редакса. Без редакса разве что делать мелкую фигню типа тудушек, которые вкатыши себе на гитхаб выкладывают
>>1926478 В js-е нет культуры тестирования как таковой и тестовых фреймворков нормальных тоже, они все инвалидные по сравнению с аналогами из других языков. Так что просто бери самый популярный jest и мучайся с ним.
>>1926482 Тут проблема не в JSе, а в том что на фронтенде тестирование сложно и костыльно, без ебли можно только редьюсеры того же редукса затестить, а сам UI и сравнивать снапшоты реакт компонентов это пиздец.
>>1926488 >а в том что на фронтенде тестирование сложно и костыльно Нет. Логика в коде на фронтенде ничем не отличается от логике на бэке или где угодно. Протестировать нельзя только визуальную составляющую(потому что на нее надо смотреть), а навигация, сессии, формы, модалы, валидации, запросы к серверу, и прочее-прочее тестируются прекрасно, но поскольку опять же, в жс-коммьюнити культуры тестирования нет как таковой, то этому тебя никто не научит, нужно приходить с опытом из других языков и делать все самому.
Помогите мне. Если в реакт компоненте стоит условие типа isSomething ? render1 : render2 То, что не подпадает под условие вообще не будет вычисляться? Типа если там в каждом из рендеров внутри свои циклы и вложенные компоненты
>>1926518 Если бесплатный план, то вряд ли. А если платные (хероку дешевый, за 9 долларов хостил пет проект) + купишь домен (тоже можно дешевый взять), то тогда будет. Ну и зависит что ты задеплоишь конечно.
>>1926525 >в каждом из рендеров внутри свои циклы и вложенные компоненты Я сам вкатун, но насколько я понимаю, любая логика внутри рендера это не лучшая идея. А так да, если условие ложно, то оно не будет рендериться, вычисляться и т.д.
>>1926525 Это вопрос не к реакту, а к жаваскрипту. В if-else стейментах(и тернарном операторе соответственно) все, что не попадает под условие, не выполняется ни в каком виде, можешь там хоть ошибки выкидывать, хоть несуществующие переменные вызывать, ничего не будет.
>>1926559 >Это неправда, react-testing-library хорошая Каким образом наличие тестового окружения у реакта ебать, еще бы у него либ для тестирования не было меняет мое заявление о том, что в жопоскрипт-коммьюнити культуры тестирования нет как таковой? >А джест вообще не фреймворк, а просто раннер. Охуительные истории.
>>1926571 Во-первых, половина тобой перечисленного - это тестовые фреймворки, о говнистости которых и шла речь если ты один раз попробовал rspec, то назад уже дороги не будет. Во-вторых тестовые фреймворки и инструменты есть везде без исключения, это стандарт современного мира, и их наличие никаким образом говорит о культуре тестирования самого коммьюнити языка. Реакт-проект с нулем тестов - это абсолютная ежедневная норма, а уж что-то написанное через TDD ты с огнем не сыщешь в мире жса.
Я охуел но кто нибудь может помочь мне сделать такую штуку У нас есть canvas фиксированного размера Его нужно уметь скалить Нужно уметь двигаться по нему click and drag Нужно тыкнуть в какую то его часть и она будет по центру как бы
Фишка ещё в том что заполнен он не просто фигурками (не ими вообще) а imagedata (она хуево скалится и нужен видимо второй канвас или вообще объект камера )
>>1926715 Ты поехавший? Эти базворды никак не связаны.
У стилей не может быть "стака", может быть просто определеный подход как бэм. А используешь ли ты SCSS, и чем ты транспилишь SCSS в СSS дело десятое уже.
>>1926688 Да ты охуел, для подобного нужно использовать что-то по типу PIXI.js, с нуля ты заебешься писать всю эту интеракцию и логику на чистом канвасе.
>>1926607 Ты наверное имеешь ввиду когда нет фреймворка на фронте, а хтмл страницы рендерятся через темплейты на бекенде? Тогда дефолтные папки для хтмл отдельно, scss отдельно, js отдельно для всяких интерактивных штук, посмотри как в Ruby on Rails сделано
>>1926753 Не знаю. Но вот этим калом я пытался что-то протестировать. Это баганутая хуетень, с хуевой документацией, которой невозможно было пользоваться. Плюс новичку в нее практически нереально вкатиться. Только если попадешь на проект, где этим калом что-то тестируют и тебе бывалые товарищи дадут примеры, как покрывать распространенные кейсы. Но я даже не знаю, много ли этим калом тестируют проектов? Особенно enzyme?
>>1926750 Только что прочитал про модули. Да, выглядит охуенно, лучше чем блевотный БЭМ. Почему тогда в некоторых вакансиях просят знание БЭМ? Застряли в прошлом?
>>1926764 Ты про styled components? Если да, то я в этом нихуя не понимаю, чуть чуть посмотрел, и спрашиваю, является ли это хорошей практикой и как часто это используют. Если про модули из саса, то я не понимаю в чем проблема, это те же модули ксс, только сас.
Посоны, у меня около 2 лет опыта (год дома кодил, ещё год на текущей работе). Сейчас стал задумываться о поиске новой галеры и поймал себя на мысли, что в некоторых местах хотят респонсив и кроссбраузерную вёрстку. На текущем месте на это было поебать ТК я допиливал легаси менаджерскую админку. Верстки было минимум, то есть я просто копировал стили с фигмы. Насколько важен скилл йоба верстки и сколько примерно уйдет времени на его прокачку?
>>1926770 >Насколько важен скилл йоба верстки По ощущениям очень важен. > и сколько примерно уйдет времени на его прокачку? Время на прокачку = время чтения вот этой статьи https://www.w3schools.com/css/css_rwd_intro.asp + Продолжительность любого видос по бутстрапу на ютубе.
>>1926770 > ТК я допиливал легаси менаджерскую админку Я правильно понимаю, что ты бэкендером в основном работал? Просто если да, то зачем тебе вротенд?
У меня ушло где то месяцев 3 без менторства и 1 месяц с менторством.
Лёрнёбаскрипта достаточно для изучения базы языка? После него можно начинать учить фреймворки? И какие чтобы хлебать смузи и завозить хотя бы 300к/месяц?
>>1926803 >для изучения базы языка? Вполне. > После него можно начинать учить фреймворки? Можно. >хлебать смузи Любой из React\Vue\Angular >завозить хотя бы 300к Реинкарнировать в семье депутата.
>>1926805 >React\Vue\Angular А что пизже всё таки? И что по времени вката в каждый если я гений и освоил сабж меньше чем за месяц? >Реинкарнировать в семье депутата. Так они же нихуя не завозят, им тупо batya на карту кидает.
>>1926808 >А что пизже всё таки? На чем больше вакансий в твоем городе то и пизже. >И что по времени вката в каждый если я гений и освоил сабж меньше чем за месяц? Индивидуально. >Так они же нихуя не завозят, им тупо batya на карту кидает. Средняя зарплата во фронте от 15к(джун) до 70к(сеньор).
>>1926809 Точно? >>1926810 >На чем больше вакансий в твоем городе то и пизже. Я в ДС живу, тут на любой вкус вакансии есть. >Средняя зарплата во фронте от 15к(джун) до 70к(сеньор). Может быть, а дети депутатов тут при чём?
Посоны, поясните по харкдору, когда на собесах задачи просят решить, там предполагается, что надо писать так, чтобы код был максимально быстрым, через фор лупы и прочее, или же можно без задней мысли в одну строку при помощи методов массивов решать?
>>1926842 С чего ты решил, что циклы используют только для производительности? Если ты пишешь на жсе, где есть мутабельность, но нет половины фич любого современного ФП-языка, то какой-нибудь сложный объект в сто раз проще и читабельнее собрать через цикл с мутированием, а не дрочить редьюсы.
Почему, создавая сайты, ты обязан принимать во внимание всякое сжвшно-куколдское accessibility и подстраиваться под унтерменшей вроде слепых/слабовидящих, дальтоников, глухих, паралитиков с нейроинтерфесами, пользователей IE или Safari, но при этом никто не подстроится под тебя, не примет во внимание, что программирование тебе в общем-то малоинтересно, что занимаешься ты этим от безысходности, что давно чувствуешь себя выгоревшим и уже как минимум полгода тебе снится собственное бездыханное тело, лежащее под окном? Почему не увеличат зарплату программистам, которые свою работу не любят, хотя бы процентов на 30%? Ведь им приходится каждый день совершать над собой насилие, затрачивать гораздо больше усилий, портить здоровье, сокращать жизнь.
>>1927175 >почему подтирая жопу ты должен совершать над собой усилие и подстраиваться под нужды тех, кому не нравится общаться с воняющим говном грязнулей? Почему не выдадут биде тем, кто не хочет подтирать жопу и совершает над собой насилие каждый день?
>>1927187 Вот я и думаю, почему всякие ущербные обременяют собой общество? Пусть ебутся как хотят, но сами, без посторонней помощи, либо просто сдохнут.
>>1927191 Полностью согласен. Ущерб, который ненавидит свою работу, но тем не менее не уходит с нее и растекается желчью на остальных, не должен никого обременять, и уж тем более требовать каких-то повышений зарплат.
я недавно for-loop использовал потому то у меня была задача выполнить последовательно цепочку из нескольких запросов для каждого элемента массива и для всех функций в цепочке мне нужен был доступ к текущему элементу массива. был бы любопытно посмотреть как это можно сделать на rxjs например, ну или вообще в функциональном стиле. посмотреть и сравнить с "плоским" решением.
Как же сложно работать с этой дрисней. И ведь проблема в том, что я даже не могу скопировать код, чтобы его изучить, потому что все исходники, что я копировал, просто напросто НЕ РАБОТАЮТ. Скорее всего это связано с безумным кол-вом плагинов и другого говна.
>>1927234 Что ты лыбишься? К твоему описанию подходит идеально: последовательная цепочка нескольких запросов для каждого элемента и все запросы имеют доступ к текущему элементу. Понятное дело, что ты что-то другое имел в виду, но тут ясновидящих нет, что написал, то и прочитали.
>>1927243 вот это заебись, спасибо. а в композиции шаришь? у меня есть два функциональных компонента в реакте, которые незначительно отличаются редусером(на 1 экшон) и парой функций. в ооп я бы просто унаследовал и переопределил нужное. а тут блядь такое городит пришлось пиздос. посмотри пожалуйста. вот дифф компонентов https://www.diffchecker.com/asMdUDE8 (дальше 110 строки они одинаковы) а вот https://pastebin.com/2kxGXMcj файл с общими для компонентов хуйнюшками типа редусера и нескольких функций.
>>1927243 Отличный пример случая, в котором редьюс не нужен нахуй, и используется только потому, что у писавшего насрано в голове про ужасность мутаций.
>>1927285 then не требует полифила регенератором и может использоваться вне функций. Если читабельность это не ухудшает, как в этом однострочном примере, то смысла писать async-await нет никакого.
>>1926755 Jest очень популярен, стандарт в тестировании. Не знаю что там тебе не понравилось, у меня всегда всё норм с ним было. А enzyme редко встречал.
>>1926808 Реакт самый гибкий вариант. Если что вью потом изучишь за пару недель. Ангуляр хз, на нём работы мало, но вот в Европе он более популярен, например.
Поясните плз типы для observable в ангуляровском httpClient. Вот допустим я кидаю реквест, который ожидает, что ответ будет состоять из массива объектов без ключа id, ответ приходит из массива с объектами, у которых есть этот ключ. Никаких ошибок не вылезает. Я правильно понимаю, что единственный профит от интерфейса для ответа в данном случае - отсутствие ошибки компиляции, если я попытаюсь обратиться к каком-то ключу, но если придет вообще левый объект - от пиздеца он не защитит?
Сап, не знал где спросить, а вы вроде бы должны разбираться. Есть список https://u.gg/lol/tier-list Как достать его в эксель в виде таблицы с сохранением колонок и строк?
>>1927414 Около года потребуется, если с полного нуля. Если учился на йоба инженера или сисадминил, например, то месяцев 6-8. Цифры для дс. В других городах, говорят, все намного хуже. Мимо другой анон
>если с полного нуля Поверхностные знания есть. Когда был школьником, пытался писать всякие кликеры и т.д. для всяких ММО (задрачивал их в те времена сильно). Один раз даже умудрился написать бота, который бы фармил, юзал хп и т.д., правда там был полный говнокод. Писал на AutoIt, данные памяти читал с помощью Cheat Engine. Только вот, было все это дело лет 7-8 назад, сейчас многое уже сильно подзабыл, но всякие базовые вещи, как функция, цикл и т.д., помню.
>>1927412 1) В жсе типов нет, если твой код на где-то выполняется, то все, типизации на этом этапе не существует, хоть на тайпскрипте ты писал, хоть на хуйскрипте. 2) Даже в реальных типизированных языках динамически получаемые данные(юзер инпут, ответы сервера) ты можешь только попытаться привести к какому-то типу, и если к этому типу они не приводятся, то будет рантайм ошибка, так что какой "защиты" ты ожидаешь - непонятно.
>>1927412 >от пиздеца он не защитит? Да. Интерфейсы существуют только на этапе компиляции и созданы для того чтобы предупреждать о попытках обращения к несуществующим свойствам/методам. Для рантайма тебе нужно явно проверять что такое свойство/метод существует и только после этого обращаться к нему.
Я сделал зум и вышло норм но потом понял что логичнее обернуть мне все в объект камеру которая как бы над канвасрм Короче клон reddit place или pixel battle Без злоебучих фреймворков
>>1927414 мимо тот анон Вообще взяли сразу со словами "научишься в процессе". Кое-как писать начал сразу (чай в других языках опыт имеется), ну а доучиваюсь до сих пор.
>>1927428 >пытался писать всякие кликеры и т.д. для всяких ММО Слушай, так это же заебись! Меня взяли после смущённого признания в том, что я систему автоматизации госуправления для одного серва писал. Шутки шутками, но законченный и работающий проект, даже на игровом сервере - это большой плюс.
>>1927375 Сам Jest такой боли как enzyme не вызвал, но я от него тоже не в восторге был. Чем-то он мне не понравился. Это уже давно было, поэтому особо ничего не помню.
>>1927544 А где про это почитать? По-моему, ничем не отличается. Это одни и те же действия. Давно писал на срякте, но впервые слышу про какое-то кеширование в этом моменте. От кеширование же должна вырастать производительность.
>>1927243 Пиздец, лучше не срать таким в рабочем проекте. Это выглядит как полнейшая залупа. Лучше уж так >>1927258
>>1927220 >rxjs На rxjs куча способов. Самый лобовой, что в голову пришло.
>>1927597 >Где у тебя последовательное выполнение запросов? Я не ебу чо там за последовательность каких запросов. Если нормально скажет что он делал, то нормально и отвечу.
Анончики а как мне получить publicPath из конфига вебпака чтоб я его мог подставить внутри реактового компонента. У меня просто этот путь разный для дева и прода
>>1927679 Почему-то материалы по программированию на английском пишут нормальные люди для других нормальных людей, а на русском — профессиональные программисты (те самые, что озвучивают) для самих себя. И нет, здесь нет русофобии.
>>1927702 Если один прочитал твои мысли, это не значит что все это могут. Ты хуево свои мысли излагаешь, поэтому в таких случаях просят показывать код. Ты спросил как на rxjs будет выглядеть - я примерно показал. Там можно поменять/добавить операторы для промисов и будет приблизительно то, что тебе нужно. >дауненок И советую так не выражаться, когда просишь помощи. Даже если за тебя не дочитали твои мысли, на тебя потратили время.
>>1927718 На русском ценной информации очень мало, т.к в русское инфополе стремятся хуевые программисты преимущественно. А хорошие тянутся к общению/созданию чего-либо на английском, просто потому что это качественно иное ведений дискуссий(если это не помойки типа стаковерфлоу), другой фидбек, больший охват целевой аудитории и банально больше качественной инфы.
>>1927579 Выглядит как стандартный рабочий говнокод в большинстве веб прожектах. Хотя может это нормально для вью, не в курсе. По-моему здесь определенно можно зарефакторить чисто по методам, но опять же не ебу че там в вашем вью.
>>1927718 Проблема с материалами на русском в том что существует проблема перевода англоязычных терминов на русский. Например, loop переведено как лупа, в официальной русскоязычной литературе по алгебре. https://ru.wikipedia.org/wiki/Лупа_(алгебра) А в базах данных есть термины consistency и integrity. Первое на русском часто переводят как "целостность", но integrity переводится точно так же, хотя "целостность" и "согласованность" в теории бд это разные вещи. Иными словами, зачастую лучше читать в оригинале на английском, чем учиться через поломанный телефон.
>>1927755 >Как называется, когда есть такие переменные, которые меняются постоянно Шо блять? >Нормальная ли практика так писать? Да вполне норм как прототип и как простенький скрипт. Но вообще, если бы там была какая-то программа посерьезней, то в таком стиле все это быстро бы превратилось в говнокод. Хотя бы не стоит срать в глобальную область видимости.
Это норм что я на половине задач с javascript.info сыплюсь? Какие-то ебанутые задачи с ебанутыми решениями над которыми нужно дрочиться не меньше 10 минут.
>>1927820 В том то и дело, что до этого почти 3 месяца писал на сиплюсах. Но тут пока реальный ад, то мап какой-то стрёмный напишут а оно всё делает в 1 строку, то объект через собственный массив не итерируется а через массив глобального - да пожалуйста. >>1927825 Нет ты. Лучше бы посоветовал чего. Быдло.
Посоветуйте книг/курсов/бесплатных сборников задач с туторами вроде codecademy (если такие вообще имеются) по JS, хочу вкатиться за пару месяцев + освоить фреймворк. Готов ебашить хоть каждый день по 8-10 часов.
Цель: фронт на реакте, а там как пойдёт. Думаю со временем ещё запилить себе интерактивное портфолио на каком-нибудь игровом движке, есть крутые идеи для этого.
>>1927837 Нихуя не понял твоих возмущений, какой массив глобального, шо за объект - массив объектов что ли? Видимо на плюсах ты особо и не писал, раз не можешь разобраться что тут происходит. Ничего сверхсложного нет. Просто больше функциональщины и скриптовое наследие.
>>1927837 >до этого почти 3 месяца писал на сиплюсах И ты думаешь что это серьёзный опыт в программировании у тебя? Плюсы у нубов всегда ассоциируются с йоба-языком, попрограммировав 3 месяца на котором ты становишься гуру, и всё программирование становится семечками. Реальность такова, что язык это инструмент, а программирования ты так ещё и не попробовал, и ничего о нём не знаешь. >то мап какой-то стрёмный напишут а оно всё делает в 1 строку Оооо, мап, стрёмно-то как! Функция которая применяет ко всем элементам массивоподобного объекта другую функцию - сложно, непонятно для 3-хмесячного гуру сиплюсов!
>>1926415 (OP) Так, я понимаю так работают декораторы (через @) с классами и функциями, что в питоне что в TS работают в общем-то одинаково. А как должен работать декоратор с переменной как на пикриле?..
>>1927942 1) деструктуризации в методах можно написать, немного повысит читаемость. const {img} = this; 2) проверки в методах плохо читаемый кал, что в startappend, что в validation. 3) в startappend можно проинициализировать queryselector за пределами цикла. так же ты уверен, что инициализация createElement тебе нужна в цикле, а не за пределами? так же ты уверен, что нужны эти сет аттрибьюты? можно в принципе и вот так приблизительно: Object.assign(item, { className: 'xyeta', src: 'xyeta', ... и т.д }) потом item кинуть в append как-нибудь. Читаемость возрастает.
В целом говно, но сойдет. >>1927953 Под капотом это просто функция. Передал туда строку 'input' - в декораторе(фунции) будет поиск по dom этого селектора.
Я может что-то бля не понимаю, но в чем профит const? Вот нахера было вводить два объявления: let и const, отличающиеся лишь возможность/невозможностью переинициализировать переменную? const подразумевает что переменная вроде как является константой, но хера с два, это лишь означает что ты не сможет делать: const a = []; a = [1,2,3];
Но абсолютно спокойно можешь сделать: const a = []; a.push(...[1,2,3]);
>>1927974 1. Согласен, фикшу 2. В погоне за хайпом коротким кодом накосячил, фикшу 3. Инициализация в цикле так как нужное кол-во изображения берем из массива, думал так логичнее. 4.Спасибо анон, не додумался что удобней сначала скомпоновать атрибуты
>>1928005 Скорее проблема невнятных изменений. Я так и не увидел ни одного профита юзания const. Мемные зумерки пишут потому что так "крута", потому что они так привыкли, абсолютно не задумываясь собственно нахуя они это делают
>>1928001 Вопрос в том НА-ХУ-Я const вообще нужон? Ну нахуя, ты мне ответь. Давай введем еще одно ключевое слово, пусть будет def - будет инициализировать переменную также как и let но будет запрещать передавать ее в console.log (а вот в console.table уже не будет запрещать). Если тебе это кажется абсурдным, то почему тогда наличие const кажется абсолютно гармоничным?
>>1928009 >Скорее проблема невнятных изменений. Я так и не увидел ни одного профита юзания const.
Ты четко говоришь, что это переменная, которая не будет перепресвоена. Более разнообразная семантика, читаемость кода повышается. Хочешь нормальный конст - выходи из треда. Это жаваскрипт - скриптовый язык с динамической слабой типизацией. Тут по другому не сделают. И в программировании все делается для дебилов. Ты над проектами ни один работаешь как правило. Что тебя удивляет?
>>1928107 За что его так хейтят? Курсов у него никаких не проходил, но пару раз смотрел его уроки на ютубе. Что он делает такого ужасного? Почему его так хейтят? Не в защиту даже, а просто интересно
>>1928113 Потому что курсы его говно и пересказывают доку на 100%. Только тупорылым вкатышам нужен пересказчик документации, который сократит каждый абзац на два-три предложения. У вкатышей появляется ложное чувство знаний. Его и не хейтил никто, пока он не начал делать курсы как стать синьёром и подобную наебательскую поебень, хотя сам по факту является джуном. Еще его ловили на пиздинге(буквальный перевод англоязычного курса) у зарубежного курсодела.
>>1928125 у меня просто тимлид требует, чтобы все было на колбеках и рукописное, без всяких либ посторонних он немного контуженый, воевал на донбассе в 14 году
>>1927995 Допустим, у тебя есть выражение функции let func = function() { ... }. Допустим, по какой-то причине, спустя 10 тысяч строк кода другой кодер написал выражение функции let func = function(a, b, c) { ... }, то есть объявил совершенно иное выражение функции, имеющее совершенно иной функционал, и предназначенную для другой задачи. И всё, пизда, всему коду пизда нахуй, ничего не работает, вся логика приложения в трубу. Почему? Потому что второй кодер изменил содержание первой функции ненароком, потому что он не знал о её существовании вообще. И он бы знал о ней, если бы она была объявлена через const. >const подразумевает что переменная вроде как является константой, но хера с два, это лишь означает что ты не сможет делать: У тебя в примере массив. Массив - это сорт объекта. Объекты - мутабельны, но константы, их содержащие - нет. Массив/объект внутри const может изменяться, но нельзя сделать так, чтобы const a = []; стало const a = {}.
Ну и вдогонку, >>1928009 >Скорее проблема невнятных изменений. Я так и не увидел ни одного профита юзания const. Мемные зумерки пишут потому что так "крута", потому что они так привыкли, абсолютно не задумываясь собственно нахуя они это делают Скорее это ты привык видеть кругом мемных зумерков, списывая собственное незнание языка программирования и невежество на какую-то выдуманную моду и каких-то зумерков у себя под кроватью.
>>1928188 Я другой анон, я понимаю конст так - const указывает на область памяти, содержание этой области ты можешь переназначить, а ссылку на эту область переназначить нельзя.
А вот с let ты можешь переназначить ссылку и будешь сосать жёппу
>>1928198 В общем-то верное. Просто нужно помнить, что всё, что не null, String, Number, true, false, Symbol или undefined это объект. Функции это тоже объект, равно как и массивы. Содержание объектов может меняться, потому что объекты мутабельны, но содержание переменных внутри const меняться не может.
>>1928187 Очередной поехавший констошизик с маняфантазиями. Программы нельзя писать с расчетом "а вдруг кто-то придет и сломает", сломать можно что угодно и где угодно, хоть ты обосрись со своими констами. По "вдруг" надежность программы не оценивается, потому что это полностью выдуманная и вытащенная из жопы арбитрарная конструкция. "Вдруг кто-то придет и переопределит" ничем не отличается от "вдруг метеорит упадет надо в бункере сидеть". Особенно серанул с того, что тебя волнуют не 10к строк кода в одном файле сами по себе, а ебаный let.
>>1928259 Ты очевидно безработный. >Программы нельзя писать с расчетом "а вдруг кто-то придет и сломает" Их пишут с расчетом на то, что придет долбаеб типа тебя и сломает. const - защита от дурака.
>>1928283 Защита от дурака - это не давать дуракам писать код в проект, а не строить из кода гулаг. И когда кто-то что-то ломает, это его ответственность и его проблема. Ты с таким подходом-то за коллегами жопу случайно не бегаешь подтирать, чтобы на рабочем месте не пахло говном? А то нужна же защита от дурака, вдруг забудут подтереться.
>>1928289 >Защита от дурака - это не давать дуракам писать код в проект, а не строить из кода гулаг Ой, какой же ты дурачок. Загугли BDD/TDD, узнай почему он используется в любой галере, и закрой ебало.
>>1928303 >Загугли BDD/TDD, узнай почему он используется в любой галере Потому что это методы валидации работоспособности написанного кода. Гулаг из констов тут при чем, шиз?
Закрою тему let/const вот этим: "Если вы собираетесь внедрять на проекте некую технологию, но не находите ее в стеке среди вакансий на работу, вы делаете что-то неправильно" Или: "Если собираетесь внедрять в свой ЯП некую 'новую пиздатую фичу' но не видите даже намека на это в других ЯПах то вы делаете что-то неправильно"
>>1928315 Если бы изобретатели новых проектов/фреймворков/языков программирования следовали твоей бессмысленной банальности, то писали бы мы до сих пор на чистом фортране без нихуя. Идеи отстаивают не по "все так делают и ты не выебывайся делай как все", а через принципы, логику и факты, то есть по их объективной ценности.
Нормальная ли практика разделять компонент на внутренние компоненты без вынесения их в отдельные файлы? Таким образом можно контролировать жизненные циклы отдельных частей компонента?
>>1928347 Настолько же нормальная, насколько и практика разделять одну функцию на несколько функций поменьше. Скорее вопрос как ты без этого собрался обходиться.
>>1926415 (OP) По советам проверенных комрадов накатил себе линукс, как подобает веб-разработчику, а тут нет фотошопа (psd макеты надо открывать) и в браузерах все как-то по другому выглядит, нагуглил что это из-за шрифтов. Как быть (макпук не куплю, я средний путинский класс), откатываться на винду? Или забить и так верстать?
>>1928349 Ну по поводу жизненных циклов и читаемости тут я думаю понятнее ситуация. Но вопрос в разделении этого всего на отдельные файлы. Есть какие-то конвенции на этот счет? Или просто ощущать, когда уводить в другой файл, когда оставлять в одном?
>>1928365 Обязательно условие - это чтобы выносимый компонент представлял собой законченную логическую единицу. Но просто так выносить все по файлам смысла нет никакого, и уж тем более нет смысла следовать шизоидному гайду выше "одна функция/компонент = один файл". Разделение на разные файлы должно либо улучшать читабельность через инкапсуляцию связанной логики, либо помогать реюзу общего кода. Если в файле 10 функций, но все эти функции служат одной цели, которая вполне инкапслируется в один логически законченный модуль, то оставаться они должны в этом одном файле. Например у тебя есть session_store.js, который может экспортировать функции/экшены вроде setSession, dropSession, getSession и 5 подобных, то разбивать его на session_store/set_session.js и прочие будет ошибкой без вариантов.
>>1928378 >>1928563 Блять, неосиляторы на моих двачах. Ноу факинг вей! Друг присылает тебе проприетарный формат и ты не знаешь чем его открыть? Хмм. Так скажи ему конвертнуть! Или сам конвертни. 21-ый сука век, все давно уже в фигму да в sketch/adobe xd свалили. А этим троглодитам фотошопы подавай! сижу-на-линуксах-и-бсд-всю-жизнь
>>1928567 Линукс и не нужно осиливать. Он или для серверов или для экономии в коммерческом секторе. Дома себе его ставить это из нихуя создавать себе проблем.
Уважаемые господа синьоры, поясните пожалуйста вкатышу про редух и сасс. Сейчас пилю различный кал на реакте, и ни разу не было потребности использовать редух вместо стандартного стейта. Понимаю, что мой кал слишком мелкий для этого все равно, но не могу представить, где и вообще как редух применяется. Что это за проекты такие со стейтом в лярд свойств?
По сассу вообще нихуя не понятно, зачем он нужен. Переменные есть в простом цсс, подобие миксинов вроде как тоже. Зачем тогда?
>>1928584 >нахуй редакс Так же думал пока не попробовал, потом нахуй выкинул эти все юзстейты и юзредюсеры с контекстом и дрил пропсамм. Куда его воткнуть? Да хоть куда, даже сраные тудушки(написал штук 5) уже без него не пишутся, сейчас пробую vue первым делом прочитал про vuex (аналог редюсера), хуй знает как без него жить. >нахуй саас Ну тут тупо удобнее в плане вложенности. Имхо
>>1928584 >Переменные есть в простом цсс, подобие миксинов вроде как тоже. Зачем тогда? Переменные в сассе разительно отличаются от ванильных переменных. Плюс есть модули/импорты.
>>1928567 ну я раньше так и делал, перекидывал psd в фигму, меня просто доебали линуксы и я обратно перешёл на винду, где нормальный ui и есть нужные програмы.
>>1928583 >Линукс и не нужно осиливать Все Российские ОС, разработаны на основе линукса, если ты не патриот то сиди дальше на своей гейской винде, со шпионским софтом, а настоящие мужики поддержат нашего производителя.
>>1928583 Ой, игрульки у него отняли! Запомни, дитё, компьютер нужен, чтобы на нём шекели зарабатывать. Браузер, IDE, интернет - всё что кодеру нужно. А привычка играть у тебя отпадёт с появлением нескончаемой вереницы проектов. После 6 часов кодинга максимум книжку почитать, да сериальчик посмотреть, потом попёрдывая лечь спать.
Спасибо. А то хуй вас знает, у вас каждый год всё устаревает и заново.
Страпон 5 уже юзабелен? Мне не терпится в одном проекте захудахтать 5ый страпон, не хочу тянуть в зависимости жиквири. От одной мысли о долларе бомбит.
>>1928621 Дело даже не в писькоигрульках. Вопрос в элементарном комфорте. Линукс он некомфортен, и недружелюбен. А ещё не редко забагован, постоянно то шрифты по пизде идут, то артефакты от анимаций. На дебиане у меня вскод всрато выглядел из-за этого.
Да просто стоит взглянуть на архитекутру файловой системы. На винде всё максимально аккуратно и интуитивно понятно. Где какие файлы лежат.
На линуксах это просто пиздец. Даже опытный сходу не скажет, что в каком разделе лежит. Потому что там нет единого стандарта и каждый лепит как хочет. И так во всём.
Хочешь сделать автозагрузку. В винде тыкнул две кнопки. В линуксе перечитай тысячу мануалов, почему нельзя делать автозагрузку в init и почему надо её делать в systemd иначе красноглазики придут и изнасилуют тебя в попец, потому что ты наисилил. Я утрирую, но это близко к правде.
>>1926415 (OP) Думаю в реакт фронтенд пойти, есть смысл изучать канвас на джсе? или там всё легко гуглится, как работу найду, да и вообще редко используется?
Как же заебали эти функции, которые возвращают другие функции, которые принимают функции как аргумент, у которых есть дохуя своих аргументов, которые собираются в массив и потом распоковываются с помошью каких-то итераторов, которые тоже являются функциями Все это скомпозировано, скарировано, мемоизировано ,промисифицировано и полито теплой мочой сверху
>>1928990 Переходи сразу к изучение rxjs, тебе понравится >>1929019 immutable.js + чистые функции + никто тебя не заставляет писать код в котором мутируется всё подряд
>>1928584 Пчел. Все, состояния, которые используются за гранью одного компонента делаются с помощью стейт менеджера. Если ты реактер, то редакс знать должен, это правда. После того, как поймёшь, насколько он неповоротлив и бойлерплейтен - открывай для себя redux-toolkit. После того, как откроется третий глаз - изучай mobx и будешь жить счастливой жизнью. Но именно такой путь нужно сохранить :3
Юзай scss. Он нужен. И про css-modules не забывай. В vue об этом позаботились.
>>1928990 >Как же заебали эти абстрактные фабрики, которые возвращают другие фабрики, которые принимают стратегии как аргумент, у которых есть дохуя своих аргументов, которые собираются в цепочки ответственности и потом распоковываются с помошью каких-то посетителей, которые также являются мостами >Все это унаследовано, завернуто в команды, мемоизировано ,декоировано и полито теплой мочой сверху
>>1928997 >React Native Можно, но по-моему идея так себе. Тру-кроссплатформерности все равно не получается, приходится совать костыли, а некоторых весьма важных функций в Нэйтиве просто нетЪ. Помню, например, требовалось зафиксировать в режиме "только портрет" или что-то подобное - после двух дней ебли я так и не смог этого сделать. А в нативном андроид-приложении это делается, ну, одной настройкой.
>>1929117 по-твоему? это значит что? по мнению чувака который даже года не проработал в индустрии, прочитал какую-то статью или две и просто ретранслирует теперь прочитанное? ну охуеть теперь. непонятно зачем такие как ты вообще пиздаки свои открывают
вы блять пиздаболы-затейники, разглагольствуете тут про важные ебать функции и нативы блять ахуеть >>1928997 вон у меня в телеге челы ищут себе мидла на РН со средним англом и средним опытом в этой залупе на 3,5 - 5 килобаксов в месяц
а я в своё время послушал таких долбоящеров выебщиков про тру-кроссплатформенность ебать в сраку тебя сука пидор чтоб ты сдох рак жопы тебе
>>1929258 >вон у меня в телеге челы ищут себе мидла на РН со средним англом и средним опытом в этой залупе на 3,5 - 5 килобаксов в месяц И ты конечно же не задумался, почему они себе даже мидла не могут найти? Может потому что РН - блевотное говно, с которым даже за 5к мало кто хочет работать?
>>1929271 нихуева так. блять как же меня кумарит ситуация на рынке хочу работать за норм бабло и общаться на родном языке, но нихуя - хочешь бабок - пиздеть надо на английском .просто мать ебал
Нахуя в NextJs нужен компонент image? Как же он меня заебал, еб вашу мать, ты там даже размер картинки дефолтный не можешь оставить, нужно либо ограничивать его контейнером, либо прописывать сразу в компоненте. Какой же это дегенеративный пиздец. Заебало, сил моих больше нет.
Как в гридах выставить ЛЮБОЕ количество повторений? Нужно переопределить стиль для мобилки, в принципе работает, даже если я просто на похуй поставлю 99999 повторов, но разве нет возможности сделать это автоматически? Количество столбцов варьируется, поэтому я не могу поставить просто одно значение grid-template-columns: repeat(6, min-content)
>>1929117 > Помню, например, требовалось зафиксировать в режиме "только портрет" Это можно установить в app.json с помощью ключа "orientation", либо с помощью Expo-библиотеки ScreenOrientation.
Но я согласен, что в React Native многие вещи, которые идут из коробки оооочень тяжело кастомизируются. Приходится идти либо на компромиссы, либо свои либы писать, либо копаться в java-файлах (при этом саму java ты не знаешь)
Это значит, что, допустим, блоки в 250-400px будут пытаться влезть в одну строку, а если им не будет хватать места на экране, то они будут переносится на другую строку. Проблема может быть только в том, что эта реализация - адаптивная, но не резиновая. К сожалению если хочешь резиновую вёрстку с таким поведением, то придётся вручную с помощью медиа запросов устанавливать количество столбцов
>>1928899 Чувак, у тебя какие-то мелочные придирки, если честно. Windows шрифты ставятся одной командой за 2 минуты. Автозагрузка - не нужно захламлять её. Архитектура ФС - да ладно? Даже это сюда приплёл. Это обычное оценочное суждение. В остальном, даже то что ты перечислил никак не мешает лазить по интернету, зарабатывать деньги, смотреть фильмы, читать книги. Всё абсолютно бесплатно, без всяких кряков и вирусни. На выбор рабочие столы GNOME, KDE, Xfce.
>>1929401 Я в рот ебал после 9 часов за компьютером на работе и пердолинга там, прийти домой и дома еще пару часов пердолиться со шрифтами, файловой системой, открытием файлов и подобным. И самое главное -- нахуя? Никаких профитов от этого просто нету. Ну разве что потом в интернете рассказывать о том, что ты О С И Л Я Т О Р
>>1929401 >>1928899 Я сижу под линухом когда работаю, потому что там есть нормальная консоль, и еще у меня оконный менеджер i3, и наверное это главная причина, что практически все время работы с кодом ты можешь пользовать только клавой и vim раскладкой. Всё остальное по большей части лютый пиздец. Сделал что-то одно, отавилось другое, перезапустил i3 чтобы применить новые настройки - у тебя к хуям отваливается трей. Решил воткнуть наушники в фронтальную панель у компа - пропал звук. Пошел гуглить, нашел решение, оно не подходит. Сидишь сосешь хуи. И так блядь постоянно. То блядь блютуз гарнитуру подключаешь, 9 раз из 10 всё нормально, на 10й слетают дрова, вот просто так с нихуя. Перезапускаешь процесс несколько раз, всё снова работает. Я понятия не имею кому в здравом уме это может понравится, если это не используется для работы. И ладно бы такая хуета случалась раз в месяц, но нет.
>>1929403 >Никаких профитов от этого просто нету Это потому что ты в конторе работаешь. У фрилансеров не всё так однозначно. Когда у тебя спальня, она же офис. Домашний компьютер, он же рабочий компьютер. То дом/работа сливаются воедино. Одна из фишек линукса в том, что он подходит для разработчика идеально. Все докеры, npm-пакеты, серверы, виртуалки здесь встают с полпинка и без костылей.
Философия линукса - это минимализм. Минимальный набор самых нужных программ. В остальное время ты читаешь книги/слушаешь подкасты/проходишь курсы.
ИМХО, тебе бы подошёл MacOS (или хакинтош). Он практически гибрид Windows + Linux. Он как дружелюбен как пользователю, так и консольку можно пердолить.
>>1929416 Нафига ты себя мучаешь, поставь кде или гном. Насчёт того, что пропал звук и т.д. Может у тебя какой-нибудь генту и ты криво собрал пакеты? Пробуй ставить свежий дистр убунты или опенсусе. Там из коробки подхватывается всё железо без проблем. Мне сложно поверить, что в коробочной версии такие глюки могут быть.
>>1929420 Если я захочу работать дома, то поставлю второй системой линупс. А пердолиться я в рот ебал. Зачем мне тратить время на это, если я ставлю винду и все УЖЕ работает. Не надо никакие шрифты настраивать, весь интерфейс интуитивно понятен, все программы работают сразу, вся периферия втыкается и сразу работает. А если где-то и происходит затык, то первая ссылка в гугле в 100 случаях из 100 даст готовое решение в 3 клика. Решил я как-то на ноутбуке поковыряться в анреал энджайне. И для его надо переключить видеокарту, с которой он будет запускаться. Для этого я два раза кликнул мышкой. В линупсе я боюсь представить сколько времени потратил на просто на поиски способов это сделать, не говоря уже про то, чтобы понять какой из них работает.
Анончики, подскажите пожалуйста. Я написал rest api на джанге. Теперь я хочу прикрутить React. Не совсем понимаю как это сделать. Надо поднять два сервера - один сервер джанги, а другой сервер реакта? Как вообще в итоге это должно работать?
>>1929441 Немного дополню вопрос, я уже делал приложения, где джанга при запросе на страницу отдавала html файл с реактом. А как сделать так, чтобы джанга вообще в роутах не участвовала? Или так делать тупо?
>>1929341 >Нахуя в NextJs нужен компонент image? Не пробовал прочитать доку к нему? >нужно либо ограничивать его контейнером Не поверишь, но ты все неиконочные изображения должен оборачивать в блочный контейнер, так как они по дефолту инлайновые. >>1929371 >Чем бек удобнее писать? На винде тоже удобно пишется. Как минимум тем, что с путями не нужно пердолиться. Почитай доку к нодовскому `fs`, охуеешь какие там костыли для шиндошс прикрутили, чтобы разрабы лишний раз не пердолилилсь. >>1929381 Использовать флексы и не ебать мозг. Ну или пердолить врапперы, как в старые добрые фремена, так как гриды больше годятся для лэйаутов, а не контейнеров с неизвестным числом дочерей.
>>1929441 >Надо поднять два сервера - один сервер джанги, а другой сервер реакта? Сервер рякту нужен только для разработки. Так что тебе нужно два сервера - тестовой и прод. >Как вообще в итоге это должно работать? `Create React App` билдит статичный хтмл со скриптами и стилями, тебе нужно этот хтмл отправлять в ответ на запросы, а там рякт уже внутри будет разбираться с состоянием. >>1929445 >А как сделать так, чтобы джанга вообще в роутах не участвовала? Что значит не участвовала? Роуты в любом случае будут, в рякте они просто обрабатываются на стороне клиента и дёргают твою апишечку.
>>1929341 >Нахуя в NextJs нужен компонент image? Чтобы оптимизировать картинки. Если ты хотел старый добрый <img src=".." /> то зачем тебе next js? Зачем тебе рякт? Пиши голый HTML!
>>1929422 >я ставлю винду и все УЖЕ работает Тоже самое я могу сказать и про Ubuntu, и про OpenSuse, и про многие другие дистрибутивы.
>В линупсе я боюсь представить сколько времени потратил на просто на поиски способов это сделать Бля, какие вы нежные пиздец. Это цветочки, ты просто не сидел на BSD. Были времена, когда приходилось с нуля собирать систему из портов. Вначале пишешь десяток конфигов. Потом неделю ждёшь пока соберется графический стол. Потом ещё дня три собирается твой любимый огнелис. И только после этого можно более-менее работать.
ВОТ ЭТО БЫЛ ХАРДКОР А то что у тебя там - это тупое нытьё. Вам дали вообще всё, дрова, готовые собранные пакеты, гуи, всё ставится за полчаса пока ты пьёшь свой каппучино. Не неделю как в гентухе или бсд! И вы всё равно чем-то недовольны.
>>1929471 > Бля, какие вы нежные пиздец. Это цветочки, ты просто не сидел на BSD. Были времена, когда приходилось с нуля собирать систему из портов. Вначале пишешь десяток конфигов. Потом неделю ждёшь пока соберется графический стол. Потом ещё дня три собирается твой любимый огнелис. И только после этого можно более-менее работать. А в блокадном Ленинграде варили кожу с сапогов и ели такой "суп". Но это не значит, что теперь все, что лучше кожи с сапогов автоматически становится очень вкусной едой.
>>1929488 > ни слова про игры не сказал > Пойди дальше, купи себе планшет и игровую консоль, если играть хочется, выкинь этот комп вообще Таблетки принял?
Как напилить сайт что бы при переходе между станицами они не были в истории посещений? Ну типа зашел на сайт лазишь по нему а в истории только одна стартовая страница
>>1929461 >>1929446 >Не пробовал прочитать доку к нему? Да вот для оптимизации я его и использую. Но начинается пиздец если у тебя картинки могут быть разных размеров и ты хочешь контролировать размер окна размером картинки. И вот такого в Image компоненте сделать нельзя. Либо прописывай конкретное разрешение для каждого компонента, либо городи ненужный код, который бы обрабатывал размер каждой картинки. В обычном img это делается одной строкой стилей. А получить доступ к img компонента Image, без шатания дома ты тоже не можешь, потому что они вот так вот запросто решили обернуть все картинки во внутренний безымянный div, без доступа по классу. Очень удобно охуеть просто я их рот ебал
>>1929635 Или SSE (но по моему личному опыту оно имеет тенденцию внезапно и необъяснимо подыхать, если вызвано из жс), или периодическое постукивание в /api/status (гораздо проще и надёжнее)
Здорова. Есть один затык в обучении JS. Не знаю где бы найти или что бы придумать достаточно сложное, чтобы с одной стороны не обосраться слишком быстро, но с другой чтобы это был полноценный проект, затрагивающий разные стороны языка (а не то, что я обычно придумываю), чтобы сделав его хорошо поднять навыки. Всякие задачи из учебников и фрикодкампов - не то.
https://codepen.io/Argushub/pen/oNYjzKe Что не так в моем коде? По апишке сервер возвращает что-то вроде {'employees': [{'first_name': 'Ivan', 'email': 'test'}] Ток вкатываюсь в реакт, не бейте.
>>1929680 >ты хочешь контролировать размер окна размером картинки Типа клик по превью? Оберни имейдж в ссылку на полноразмерную картинку и обрабатывай клик по ней.
>>1929747 Например у тебя есть иконка товара, и она может иметь разный размер для каждого товара. Вот чтобы этот блок имел размер по размеру картинки, так сделать не получится. Можно поставить layout fill у компонента image, но тогда все равно нужно оборачивать в отдельный див, которому нужно установить какой-то фиксированный размер.
>>1929769 В каком контексте у тебя сраные иконкиразного размера? В карточках обычно все элементы, кроме описания, статичного размера, чтобы пользователь мог спокойно по ним пробежаться.
>>1929839 Ой, ну не иконки, а картинки в общем. Короче говоря сути это не меняет, поэтому расписывать еще раз не буду. Нужно контролировать размер элементов, который отображаются в описании у товара. У разных товаров там разные варианты, где-то 3х2, где-то 2х2, и размер этих гридовых блоков тоже разный. Сами лейауты переделывать это одно дело. Но вот их рамер можно очень удобно брать исходя из рамеров картинок, которые туда вставлены. А Image компонент вообще не дает этого сделать. С img это делается очень просто
Нихуя не пойму нахуй этот graphql, типа что бы не тянуть с сервера дохуя ненужного? А нахуй сервер отдает ненужное? Его нельзя что ли настроить что бы он отдавал только нужное?
>>1929972 Это просто очередная модная шиза. По сути единственная область применения graphql - это когда у твоего API дохуя клиентов и все по какой-то причине хотят тянуть разные данные, которые в статическую модель не укладываются вообще никак. 99% случаев под такое не попадает, потому что даже у супер популярного публичного API вроде гитхаба/твича/гугла клиенты не тянут и не делают что попало, а выполняют какие-то конкретные действия(получить пользователей, обновить пользователя, отправить сообщения), которые спокойно описываются набором REST-методов. А уж тем, кто свое внутреннее API для мобилки и сайта делает через graphql, вообще руки отрубать надо.
Добрый вечер. Новичок в жс(думаю это очевидно по следующему вопросу)
Касательно функции setTimeout. О том что setTimeout(f, 0) выходит всегда после завершения стека вызова(надеюсь правильно назвал термин), знаю. Но что насчет setTimeout где задержка больше нуля? например 10мс. Почему он срабатывает не спустя 10мс, а после завершения стека вызовов+10мс? Получается все таймауты строго идут в конце? А если нужно нужно чтоб он вышел именно посреди стека вызовов, но не блокировал при этом поток. (пока не было такой потребности, но чисто теоретически что в таком случае делать.
Пикрил код и результат. Чтоб посчитать до 100000000000000 ушло около 3 секунд, потом вызвался end, и сразу же(10мс считай сразу) таймаут
>>1929995 >Зачем дублировать status code и http код, если можно просто вернуть http? Незачем, просто разработчик API принял неправильное решение и написал хуйню. >>1930003 Транспортных http ошибок отдельно от ошибок системы не существует. Любой без исключения ответ конечного сервера был обработан системой и любые ответы/коды/ошибки выставлены только ей. Твой запрос не транспортируется по какой-то магической трубе, которая может выставить http-статус и вернуть ответ не доходя до системы сервера, в "транспорте" как таковом есть только два статуса: либо сервер доступен и понимает нужный протокол, либо нет.
В чем причина срачей между любителями ООП и функционального подхода? Как они друг друга исключают? Я правильно понял, что вне зависимости от того пишешь ли код на голом JS или используешь фреймворк надо все приводить к ООП?
>>1930054 >Как они друг друга исключают? Никак. ФП - это программирование без переопределения переменных, ООП - это программирование с использованием полиморфных функций. Противоречий и несовместимостей между ними нет.
>>1930070 >В ФП тоже есть функции и полиморфизм ООП-полиморфизма(полиморфизма динамических функций) в большинстве ФП языков нет, ты должен его сам имплементировать через указатели на функции. В ООП же это делается на уровне языка через методы.
>>1930069 ооп максимально размытая парадигма, в ней нет ни одной черты в которую можно ткнуть пальцем и сказать вот из нее состоит 90% кода. полиморфизм? хорошо, но процедурщины всегда больше, наследование? хорошо но много наследования = вагон багов абстракция? да она появилась раньше ооп
>>1930015 Второй параметр в setTimeout означает 'сработать не раньше чем через 10 мс', никаких 'завершения стека вызовов+10мс' нет. Почитай про event loop. В целом есть две очереди - макрозадачи и микрозадачи, твой основной скрипт это первая макрозадача, далее ты setTimeout'ом добавляешь в эту очередь еще одну задачу и говоришь, что она должна сработать не раньше чем через 10мс, далее идёт выполнение твоего основного скрипта, далее идёт такое правило 'если выполнилась одна макрозадача (в данном случае твой основной скрипт), то опустошается очередь микрозадач', т. е. твой скрипт будет ждать и выполнение этих микрозадач. Далее идёт обработка ивентов и рендеринг и только после этого будет выполнятся твой скрипт из setTimeout. Так как всё произошедшее перед этим занимает больше 10мс, то выполнятся он будет сразу (при условии, что в очередь макрозадач перед ним никаких задач добавлено не было) после твоего основного скрипта.
>А если нужно нужно чтоб он вышел именно посреди
То тебе нужно разбивать большую задачу на несколько маленьких, в данном случае тебе нужно разбить свой цикл обернув всё в функцию и вызывая её по частям используя setTimeout. Можешь делать это с нулевой задержкой, тогда будет максимально возможное разделение процессорного времени для других макро и микрозадач.
>>1930064 А в божественном Ангуляре ООП естественным образом сочетается с ФП. Срякто даунов даже китайцы с их Vue обоссали. Просто срякт наполнен хипстерами-смузихлебами блмщиками из фейсбука, который ебутся в очко и используют что-то в коде по принципу "главный пидор сказал, что это круто". Ангуляр это проект гугла, корпорации которая значет что такое крупные проекты и грамотная архитектура. Поэтому выбор в данном случае очевиден, если ты программист, а не веб-макака.
>>1930142 В итоге мы получаем функции ради функций просто потому что в фп не должно быть состояний, а потом оказывается, что код стал нерасширяемым и неизменяемым
Анончики, подскажите, пожалуйста. Я блять второй день пытаюсь прикрутить реакт к петпроекту. Есть какой-то нормальный подробный гайд, где указано как Babel, Webpack, сам React и прочее установить и настроить, чтобы оно блять просто работало?
>>1930128 >ооп максимально размытая парадигма, в ней нет ни одной черты в которую можно ткнуть пальцем и сказать вот из нее состоит 90% кода. Я ткнул пальцем в определяющую черту ООП, в то, зачем оно создавалось - полиморфизм динамических функций. >полиморфизм? хорошо, но процедурщины всегда больше С чего ты взял, что 1) полиморфизм и процедурщина каким-то образом исключает друг друга 2) эссенция парадигмы определяется количественно?
СУЩЕСТВУЕТ ЛИ ВОЗМОЖНОСТЬ КАКИМ НИБУДЬ МАГИЧЕСКИМ СКРИПТОМ ПОЛУЧИТЬ ФИНАЛЬНУЮ ССЫЛКУ ЗНАЯ ТОЛЬКО О ПЕРВОЙ?
Get запрос через fetch с обходом cors не работает
Он показывает только редирект с мобильного домена на десктоп, но то что в финальной версии ссылки еще добавляются параметры и регион - он сдетектить не может
>>1930190 >полиморфизм и процедурщина каким-то образом исключает друг друга нет, но в теории полиморфизм и нужен чтобы избавится от процедурщины, но полностью полиморфная программа это такой мутант переусложненный получится >эссенция парадигмы определяется количественно как один из критериев да, есть возражения? вот уже выше был разговор про отсутствие состояния в фп, да оно достижимо не всегда, но сама парадигма фп поощряет его достигать, ооп не поощряет полиморфизм везде, пиши где надо но не более или сам запутаешься нахуй потом.
>>1930233 >Там простым фетчем не ограничиться, тебе нужно писать свою функцию, которая фетчит до тех пор, пока сервер не перестаёт отдавать редиректы, и тогда уже можно возвращать результат.
Посоны, мне тут интересно стало. В /b пишут что во фронт вкатываются миллионы бывших таксистов и всяких строителей. Хоть у кого-то на работе были такие "коллеги"? Я просто поймал себя на мысли, что максимум кого видел - бывшего работягу с завода, который отучился на недоинжера. В целом с простейшими задачами справлялся, но не более.
>>1930332 Ну смотри, сейчас везде реклама говнокуров (хотя мб это контекстная) + на всяких каналах для вкатышей типо ХАУДИДО-АЙТИКАМАСУТРА сотни тысяч просмотров. Я специально прочекал комменты, там половина это уровня "Спасибо. Хорошее видео. Мне 30 лет, я работаю в такси, хочу стать html погромистом"
>>1930301 >Если в вебе, то можно создать ифрейм и потом посмотреть, что там за адрес. Или не получится?
Через листенер domcontentloaded можно получить event.URL если подставить оригинальну ссыль в iframe, да, но мне нужен конечный урл ДО ТОГО как оригинальный будет открыт в айфрейме или во вкладке. Вот такой вот пиздец
>>1930351 а потом приходит практика а эта ебейшая скука и дохуя непонятного, тем более в вебе зоопарк технологий и нет такого жесткого каркаса как а жабе например жабакор->спринги-хуинги, размытая парадигма недоооп-недофп в итоге нужно знать обе. на мой субъективный взгляд за кажущейся простотой она сложнее энтерпрайза, если надо прям вчера вкатыватся есть пхп, хайпа нет, но ковырять цмски вакухи есть всегда.
>>1930359 Не, я то сам уже относительно давно работаю, мне просто стало интересно как так получается, что на том же ютубе уже несколько лет "обучающие видео" набирают миллионы просмотров, но при этом даже мидлов не хватает и тебе чуть ли не отсосать готовы. Неужели рили вкатывается 1 из 10 000 посматривающих эти видео? лол
Ну это полынй пиздец, короче. В моем случае вообще не вариант юзать. Либо по аналогии с fetch, либо никак Ебаный веб, чтоб он горел нахуй в аду. Весь проект по пизде пошел. Если бы знал, что fetch не все редиректы ловит, даже не начинал бы.
>>1930372 это не так весело как рекламируют, со смузи, пидорской бородой и выбритыми висками ,сидишь, пишешь, нихуя не работает/работает не так как хочешь, че то ломается постоянно, сидишь чинишь потом, сроки, ажили, спринты, срам-мастера, пм мозг ебет, ебись оно конем пойду дальше в такси.
>>1930355 >Просто скажите мне уже, что это невозможно сделать с текущей реализацией веб стандартов через какие либо реквесты не посещая страницу в браузере Сам подумой: если редиректы проводятся клиентским скриптом, который дёргает браузерные апишки, то как ты собираешься их ловить на серверебез браузера?
>>1930432 У тебя недостаток компетенции и типичное дилетантство повсеместно. "я нихуя не знаю и изучать не хочу, но в этом явно виноват кто-то кроме меня, а еще лучше что-то".
Читаю ща javascript.info. Это норм что я в половину тем не врубаюсь до конца + до решения большей части задач сам не дохожу? Ща купил курс от udemy, попробую с ним совмещать, правильно ли поступил и чем ещё дополнить? Язык вроде как секс, но пока подача материала + неявные моменты напрягают.
>>1930483 берешь бумажного кантора и учишь аки отрок отче наш трехтомник и снизойдет на тебя благодать в виде усмирения функций бесовских и изгнания багов в дебагере.
>>1930483 >Читаю Нахуй ты его читаешь? Блядь жс в отрыве от верстки нихуя не ясно и не понятно нахуй нужен, начни верстать далее жс подключай, хули толку от твоего чтения
>Это норм что я в половину тем не врубаюсь до конца + до решения большей части задач сам не дохожу? >попробую с ним совмещать, правильно ли поступил и чем ещё дополнить? Конечно надо. Еще пару книжек про паттерны проектирования скачай и сразу начни какой-нибудь фреймворк изучать. Лучше вообще сразу несколько. А если серьезно, то тебе сейчас надо просто выучить первые главы. Просто возьми и напиши калькулятор. Для этого знания первого раздела более чем хватит. Когда справишься и оно будет хотя бы нормально работать. Вот прям вообще без багов - переходи к след проекту. Сделай тудушку. На первые месяца два тебе этого более чем хватит.
Но мы оба знаем, что ты на этот совет забьешь, начнешь сразу пытаться лезть куда не надо и в итоге обосрешься на собесе когда спросят что-то уровня "что вернет typeof Number('foo')", зато будешь уверен в том, что знаешь реакт. лол
>>1926415 (OP) Котаны, как в TS пометить что атрибут у класса может быть не определен (undefined) либо null помимо своего обычного типа?
Вот например я определяю: private listIndex: number;
Этот listIndex помечен как number, но как мне пометить что он также может быть null или undefined? Помечать это черех | кажется громоздким и неправильным
Но то что у тебя number принимает null иди undefined само по себе неправильно. Если это индекс списка, то отсутствие индекса должно определятся значением -1, а не null или undefined.
В идеале у тебя должно быть так:
interface myList { [index: number]:string }
private listIndex : keyof myList
и проверки на undefined/null там где у тебя индекс может принять такие значения.
2 часа настраивал новый проект руками. Потом узнал, что если сделать npm run eject после create-react-app, то будет все то же самое. Есть вообще качественная разница между тем, что я все конфиги руками напердолил, и между тем, как если бы это сделал скрипт? Кроме того, что я стал чуть больше разбираться в конфигах вебпака, линтера, бабеля и сопутствующей хуйни.
>>1930663 create-react-app лучше держать в стойле, потому что он эджектит такую тонну говнокода тебе в проект, что в жизни не разгребешь. Либо ты делаешь первый в жизни туду лист и тогда дефолтов хватает, либо вообще не трогай эту залупу, уж тем более на реальных проектах, легче пару дней потратить и свои конфиги прописать.
>>1930667 Ну я на тестовом проекте уже увидел, что он делает и мне не понравилось. Значит серьезные дяди сами конфиг пишут? Ну и заебись, мне так даже больше нравится.
>>1930683 Лол КЕК Дипломов у меня никогда не спрашивали но вот пр овышку - спрашивали всегда. Я не оканчивал IT специальность, но оканчивал радиотехнику. Техническая вышка всегда идет в плюс пограмеру, это мне говорил что херки, что тимлиды
>>1930681 Повторяю инсайт как человек сменивший на родине 6 фирм за 1.5 года - в Украхе почти нет it. Ты либо переекатываешься минимум в Москву либо поступаешь умнее и сразу работаешь на удалёнке на евреев.
>>1930683 Вышка, то ладно. У меня инженерная есть, меня больше смущает, что там нужны знания жабы и прочего, что мало чем с фронтом связано. Писали бы уже фул стэк. Алсо, у фронта знания по базам данных какие должны быть? Максимум разработать интерфейс запросов к серверу, что бы тот делал запросы к базе? Разве не такая цепочка клиент->сервер->база->сервер->клиент?
Реактодебил в треде. Блять. Я могу как-то сделать, чтобы у меня при переходе по ссылкам (React-router все дела) рендерился новый компонент именно в центре? Мол я жму на "хуй", переходит на компонент хуй с айди 1. Жму на "хуй2" переходит на хуй с айди 2. И так далее. Нашёл официальный пример, но он какой-то замудрённый оказался, может быть есть что-то гораздо проще? Типа указать где-то, чтобы только в центре рендерил компоненты при переходе по ссылкам?
У меня в конфиге вебпака отдельное правило для сасса и отдельное для ксс, потому что я собираюсь сасс и normalize.css. Это норм вообще? Нормалайз в 2к21 все еще есть смысл использовать. Там типо дохуя полезных дефолтных правил. А если я какой-нибудь материал УИ подтяну, все еще норм будет вместе с нормалайзом?
Но знай, что у блоков тогда может быть нестандартная ширина, они попытаются занять все свободное пространство. Если тебе нужна фиксированная максимальная ширина, то тогда делай
>>1930736 Хорошо, так уж и быть, помогу дебилу. Вот тебе год и ссылка на источник.
Высер "ПАЧИМУ У СРИЯКТА ТАК МАЛА" я не могу понять. Могу только посоветовать выбраться из скорлупы и эхо-камеры, может тогда твой манямирок не будет так удивляться очевидному.
>>1930613 Делал что-то подобное (Турнирные таблицы с подсветкой линий и игроков), но было это на React Native и структура таблицы была одинаковой, не твой случай. Чтобы сделать как у тебя с динамической генерацией блоков и отрисовкой линией надо запотеть
>>1930727 Просто импорти свою хуйню прямо в scss-файле, зачем тебе отдельно загружать css файлы и отдельно scss? Чтобы не писать полный путь до node_modules можешь ее добавить в includePaths в конфиге, вот так например. Но если ты пользуешься любым фреймворком для стилей, типа бустрапа/булмы, то там уже все это прописано, нормалайз отдельно не нужен.
>>1930753 > то там уже все это прописано, нормалайз отдельно не нужен. Вообще планирую пользоваться reactstrap или Material UI. Чисто дефолтный бутстрап мне не нужен. Оттуда подтянутся нужные стили? Просто там вся специфика использования в том, что ты импортишь компоненты, а не стили.
>>1930781 Ругаться на импорты внутри sass-файлов может только sass-компилятор, если ругается вебпак, то ты где-то в коде оставил свой старый импорт обычного css файла.
>>1930786 Любая современная библиотека стилей доступна в виде нод модуля и устанавливать ее надо только так. Или вы там до сих пор в 2010 году застряли и руками скачиваете сурс код бутстрапов с коммитом в репозиторий проекта?
>>1930801 Потому что нихуя нормально не перепишешь стили и не кастомизируешь, плюс критические зависимости разбросаны хуй знает где и как. Статичные ссылки на cdn с либой даже 10 лет назад нужны были только тем, у кого очень простой случай, остальные скачивали себе сурс код нужной версии либы и прогоняли через свои сборщики ассетов.
>>1930866 Назови 1(ОДНУ) причину тащить его к себе в репозиторий в виде сурс кода, вместо того, чтобы сделать npm install normalize.css и добавить одну строчку на импорт.