Прошлый тред: >>1669260 (OP) Больше пары строк кода в посте или на скриншоте ведут в Ад. Для программирования на HTML https://jsfiddle.net/ Для Node.js с консолькой https://repl.it/languages/nodejs Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: что я хочу получить, что я для этого делаю, что я вместо этого получаю. Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем. Руководство для вката: https://pastebin.com/9yRADC0s
Вкатыши, забейте, все равно вам не хватит ни запала, ни чего либо другого. Если бы вы реально были созданы для этого вы бы уже работали, потому что это идёт с детства. А так вас нужны лишь деньги, а тех кто смог вкатиться только из-за них я ещё не видел. У вас даже намерения несерьёзные. У вас нет ни заурядной уже вышки (что бы тут не кудахтали про ее нинужность другие вкатыши вам), ни даже какого-нибудь сертификата курса. Вы же нищие в большинстве своем и на курс у вас денег не хватило, спиратили небось, но кого вы тут хотите обмануть, без взаимодействия с преподавателем эти курсы ничто. Ваши знания HTML, CSS и JS только кажутся существующими, но без преподавателя это не остаётся в голове. Сейчас в вакансиях часто просят сертификаты о курсах с хотя бы базовой вёрсткой. И как вы собираетесь конкурировать с теми, кто потратил 15к за него и имеет этот сертификат + вышку? Забейте, рынок перегрет, и это правда.
>>1680338 Блядь, да во фронтенд любой даун вкатиться может. Все эти JS, HTML, CSS и прочая фронт-залупа просто в обучении и не требует охуительно развитого интеллекта. Совет ньюфаням: Если ты тупой как пробка, но хочешь в программирование и при этом еще и зарабатывать нормально, не думая вкатывайся во фронтенд.
Говнокодеры, есть тут те, кто со стаком фронтэнда укатил на работу в Европу? Интересует Восточная её часть (Эстония, Литва, Латвия, Польща, Чехия, максимум - Австрия)? Поделитесь опытом.
В апи для запроса объектов нужно указать рэнж, например 0-16, чтобы получить первые 16 объектов. Поэтому в экшене за запрос передаю параметр из стейта counter, который следит за индексом последнего объекта.
Типа
const getBrarishki = (counter, step) => { вся хуйня }; После выполнения запроса этот экшон диспатчит изменения счетчика.
Для первоначальной загрузки объектов использую useEffect, где вызывается функция getBratishki(counter, step), counter и step в этом случае берутся из пропсов, куда приходят через connect()().
-------------------
Суть проблемы - сейчас у меня в зависимостях useEffect стоит пустой массив, чтобы срабатывало только после маунта компонента. Реакт ругается, мол добавь counter в пропсы, че ты епта. Но если его добавить, useEffect залупливается, потому что getBratishki обновляет counter, а значит useEffect срабатывает снова.
Как можно пофиксить это? Мож я с архитектурой проебался?
сап, программач. хочу сделать такую штуку как переключение между вариантами товара как показано например здесь озон.сру/context/detail/id/156338833/ так вот интересует вопрос: какими штуками такое делается? не голым жсом же. пробовал pjax jquery - выходит ебаная рваная хуита.
Это по сути просто табы. А как их сделать - сразу все грузить или подгружать по клику, это дело десятое. Можно хоть на чистои ЖС запилить, хоть на реакте, хоть на чем.
Ну вот как сделать чтобы не "INDEX.HTML" а "/en/" было просто? В гугле какой-то нахуй .htaccess — я сам не разработчик знаю ток CSS&HTML, что можно сделать?
>>1680558 >>1680552 да проблема только в том что не могу я на этот ебучий проект заказчика такую громоздкую хуйню как фреймворки подключать, вот и все. поэтому и сижу изъебываюсь >>1680551 хорошо. то есть мне стоит написать новый контроллер который будет работать с моделью и аякс запросами все это реплейсить чтоли? стандартный контроллер рендерит мне полностью всю страницу и возвращает ее. такой движок у cms.
Искал точки сочленения в графе. Прочитал все конспекты с разных русских лекций, нихуя не понял, потому что русские ученые проткнутые пидарасы не умеют нормально изъясняться. Пытался читать объяснения англоязычных индусов, но не хватило словарного запаса переводчика недостаточно для такой тонкой темы. В итоге сдался и решил просто найти код на жопаскрипт, но нихуя не нашел! В итоге кое-как переписал с примеров на другом языке. А потом переписал еще раз, чтобы все понять. В итоге имею код которым бы я хотел поделиться со всем миром. Чтобы все могли найти точки сочленения в графе! Куда я могу его залить, чтобы о нем узнало как можно больше людей, а я бы получил $$$ внимание.
>>1680560 да чего ты паришься, если ты на ваниле пишешь. Сделай табами, епта. Получаешь сразу все варианты товара, складываешь фотки и описание комплектами друг под друга, по клику на кнопку показываешь нужный комплект, остальные скрываешь.
>>1680749 а нет, хуйня полная, наебал. Парадокс в том, что если законсолить провайдер, то он все знает. А вот useContext нихуя не работает. Он просто не знает че ему делать и рушит код
>>1680816 все я до конца разобрался. Я конечно знатно гавна похавал. Век живи, век учись. Косяк был вот тут блять (выделил строчку). Я пытался вывести объект и не знал, что объект нельзя вывести таким образом.
>>1680338 >Сейчас в вакансиях часто просят сертификаты о курсах с хотя бы базовой вёрсткой. Шиз из /wrk/ опять подал голос. Сертификаты это наоборот пунктик, по которому отсеивают вкатышей.
>>1680326 (OP) Привет, аноны. Кто то знает подробный и годный гайд по RXJS. Если будет с примерами на Ангуляр то вообще отлично, но в общем это не принципиально.
>>1681443 Я походу тупой, и у меня если нет четкого гайдлайна, то вообще ничего не выходит. Я по отдельности все понимаю, а в общую картину это не складывается
>>1680326 (OP) Аноны, как называются такие тренды в веб-дизайне. Почему он такой хуевый и ебущий глаза? Что со старого моника, что с телефона, что с большого телевизора. Что не так с этими ебаными шрифтами??? Зачем ебашить такой контраст от белого до нахуй черного? Видел много подобного, но вот что смог по памяти найти.
Можно ли запускать свой nodejs скрипт из любой произвольной директории? Типо, чтоб можно было бы где-угодно запустить консоль, прописать в ней "node scriptname.js" и скрипт запускается?
>>1681670 НУ такое, я сразу с TypeScript и ангуляра начинал, JS по ходу подтягивал, не особо на нем останавливаясь. Для сайтиков хватало, а вот теперь серьезный проект пилю, и вот стало не хватать.
>>1681675 >по отдельности все понимаю, а в общую картину это не складывается >НУ такое, я сразу с TypeScript и ангуляра начинал, тайп же коньпилируется в жс все равно, не перепрыгнуть сразу вот так)))))
А так основы важно знать, иначе понимания не будет что происходит на фреймворке. freecodecamp или w3schools несколько повторений.
>>1681795 Не, ну прям такие основы я знаю. FreeCodeCamp полностью прошел еще пару лет назад, когда к собесам готовился. А вот книжку Фленагана забросил где то после сотни страниц. В общем у меня с js не настолько плачевная ситуация, но суть в том что js код на проде я никогда не писал, хз, влияет ли это на понимание или нет
>>1681845 >FreeCodeCamp полностью прошел еще пару лет назад хз тебе лучше знать, если действительно уверенно помнишь основы. На
> что js код на проде я никогда не писал На ангуляре у тебя что-то получается и понимаешь что происходит?) Если да то просто посмотри example app's нужной тебе либы, посмотреть методы применения, на ютубе туториалы на английском неплохие бывают.
Ребята, как бы вы разделили эту тудушку на компоненты? Я разделил на список слева, попап с добавлением новой папки и на список задач справа. Пока получилось только сделать попап и статическое добавление элемента, теперь пытаюсь при выборе элемента из левого списка показывать его задачи. Понял, что чтобы это получилось нужно знать состояние списка слева. Пишу на классах и не знаю как это сделать, кроме того, как переделать и сделать общего родителя в котором будет состояние левого списка. Подскажите пожалуйста, у меня проблема в структуре или в том что я пишу на классах? const List = props => {} такой синтаксис будет лучше? Если да, то где обзор можно посмотреть по нему? В реакт доках все на классах написано.
>>1681854 >На ангуляре у тебя что-то получается и понимаешь что происходит?) Мне казалось что я все понимаю. Не припоминаю что бы я не мог сделать задачу, все вроде с помощью гугла и какой то матери решалось. Перешел на другую работу, и тут нужно было обновить проект с 4 ангуляра до 9 (а может и до 10 уже, смотрю там некоторые пакеты уже ставятся 10 версии). Ну и в общем при переходе с 5 на 6 версию RXJS есть куча depricated методов. Ну и я подумал, ну хули, сейчас будем пилить, список методов то известен. А оказалось, что я нихера не понимаю зачем эти методы нужны. Ну да ладно. Я пока взял курс на Udemy, Reactive Angular Course, попробую за выхи его глянут, может прояснится что то.
Подумай лучше над тем, что ты хочешь видеть в итоге. Мб стоит задуматься о подключении базы данных или хотя бы localStorage, чтобы не хранить в состоянии вообще все свои данные (нахуя?)
>>1681973 >c 5 на 6 RXJS Там же по сути теперь все в .pipe() пихать нужно, ну и некоторые depricated, да. По гайдам по rxjs гугли angular-university, todd moto (ultimatecourses), frontendmasters возможно тоже чето есть, не помню уже. Первых двух должно хватить.
>>1682001 >>1682001 >Можно и на классах, но зачем? Просто в реакт документации все на классах примеры показаны, а как через let component = props => {} писать не понимаю, т.к нигде не показано, есть ли в реакт доке тема на это?
>>1682275 Вот я и спрашиваю это у того долбоеба. Откуда там пробел должен взяться между .сlass# и .class# чтобы получилась строка как во втором варианте.
Анончики, поделитесь хорошими метариалами по построению PWA, нихуя более-менее внятного найти не могу. Желательно для Vue, но в целом похуй, главное чтобы понятно объяснили концепцию и построение приложения
>>1680326 (OP) Пацаны, насколько стар и неактуален AJAX? Я-то никуда не вкатываюсь, просто пилю для себя сайт потихоньку, надо закинуть минимальный js-код для форм, чтобы rest-запросы отправлялись без перезагрузки страницы, AJAX вроде то что надо мне, но потом я прочел что это весьма старая технология. Что сейчас в основном юзают вместо него?
Сап, аноны. Начал писать сайт, хочу сделать вот такое перелистывание, как здесь https://wow.wearewowagency.com/. Скиньте гайдов каких-то по жс или жк я так понял, что тут жс, чтоб я смог осуществить желаемое. И да, в жс мне с нуля придется с нуля вкатываться. Шапку глянул бегло, но вроде как по моей теме не особо материала есть. Просто спиздить скрипт с сайта можно, но т.к. я еще нихуя не знаю в жс - это не вариант. Да и в целом лучше будет самому накатать, т.к. в дальнейшем еще придется прибегать к жсу тот же плеер красивый на сайт надо запихнуть, чат написать и т.д.
>>1682471 >надо закинуть минимальный js-код для форм, чтобы rest-запросы отправлялись без перезагрузки страницы C Event.preventDefault() можно хоть чем отправлять без перезагрузки, по крайней мере для дефолтных событий, если я тебя правильно понял.
>>1682505 >Да и в целом лучше будет самому накатать, т.к. в дальнейшем еще придется прибегать к жсу тот же плеер красивый на сайт надо запихнуть, чат написать и т.д. Читай тогда Кантора.
Прямого аналога Ajax как отдельной технологии пока что не существует.
Но, важно понимать, что то, что раньше делалось исключительно с помощью Ajax - сейчас можно сделать с использованием других технологий.
Например, раньше типичный чат или динамически обновляемый контент (первые всплывающие сообщения в вк работали с использованием ajax) на странице делался только с помощью Ajax (по кулдауну дергался сервер, что создавало неимоверную нагрузку), сейчас это намного быстрее (как в плане скорости разработки так и в плане быстродействия написанного), качественнее и проще сделать с помощью WebSocket. Советую Вам почитать о веб-сокетах, а раз Вы пишите на PHP попробуйте Ratchet.
Понимание работы и представление о том, что можно сделать с помощью websocket'ов значительно поможет Вам не использовать ajax, где это можно легче сделать на сокетах.
>>1682561 >Я мог бы строить ракеты, совершенствовать медицину, приближать бессмертие При потолке ЗП в 3 МРОТа. Ракетчикам вообще зп месяцами задерживают. >но я трачу свою жизнь на жс фреймворки. Пыночек порешал. Зайди что ли в /wrk/, посмотри какие там зп в профильных тредах и сравни условия с крудошлёпством.
>>1682401 А как определил, что не тупой? Мамка сказала, самомнение? Программирование - это так или иначе про алгоритмы. Да, на начальных позициях у фронта их мб и будет немного, но если хочется быть именно программистом, придётся ими заниматься. Если совсем не нравится, смотри смежные области. Может, UI/UX-дизайн.
>>1682495 Это говно, а не решение. Да, рекурсия, но корявая рекурсия для данного случая. Уже к 50 будет тормозить, как сука, а на слабой машине вообще не посчитает. Надо либо обычным циклом, либо мемоизацией. Рекурсию тоже можно, но не так.
>>1682561 Пока ты просто ноешь на борде. Действительно хотел бы строить или совершенствовать, уже бы делал это.
>>1680326 (OP) А как вообще исторически сложился хейт в сторону фронтенда? На данный момент минимальным набором для вката является js, css, html, хотя бы (!) один из фреймворков (Angular, React, Vue), знание основ бека, т.е. умение запилить простой CRUD с авторизацией на ноде, знание БД. Знание сетей, алгоритмов и английского нужно почти любой нормальной компании.
>>1682752 > в сторону фронтенда? >знание основ бека, Так frontend или fullstack? В нормальной компании каждый занимается своим делом, если конкретно фронтындырщик то это просто нашлепать текст и формочки под api.
> т.е. умение запилить простой CRUD с авторизацией на ноде, знание БД Если уверенное знание js - особо нет проблем, глянуть туториалы и все.
>>1682752 Понять ответ на этот вопрос можно только после изучения языка программирования, а не прокладки между хтмл и браузером для создания динамических страниц. Только тогда ты начинаешь осознавать как всё работает и как всё устроено, код становится кодом, а не магическими заклинаниями, которые просто дают результат. Это я говорю как человек, который начинал с JS
>>1682767 >>1682771 >языка программирования Сколько по времени заняло вкатывание после ооп языка? А то жс не очень очевиден, какие-то рекомендации есть?
>>1682771 Начинать можно по разному. На плюсах макак еще больше, чем на жс, потому что их в любом пту/вузе суют, в итоге порождая армии долбоебов, которые даже жопаскрипт освоить не в состоянии, но при этом выучив 1/100 базового синтаксиса плюсов, мнят себя программистами и думают, что их лабы## являются подтверждением.
>>1682772 Я начинал с жс, могу только сказать, что он замедлил мое вкатывание в нормальный язык, потому что пришлось всё в голове перестраивать и осознавать, что жс это не про программирование, а про дерганье готового api.
>>1682790 >Что лучше, Angular, React, Node.js или Vue? Или у них всех разные задачи? Фронтенд фреймворки. Что "лучше" глупо спорить, каждый из них выполняет задачи, со своими особенностями. Вакансии глянь, там увидишь что востребованее.
Приветствую рабочий класс. У меня есть 2 сервера - хттп и вебсокет. Нужно чтобы одновременно работали оба. Я запускаю 2 консоли и в каждой по серверу, но на хероку, наверное, так нельзя? Как вызвать их из одного файла? Я пытался прописать require, но всё ломается (хттп сервер перестаёт видеть путь до папки публик). На пиках код этих хуёвин.
>>1682772 После плюсов ещё изучал питон, а только потом JS. Из рекомендаций хз. Чуть больше углубиться в описание сложных тем на learn JS, тогда поймешь что к чему.
>>1682761 >? В нормальной компании каждый занимается своим делом, если конкретно фронтындырщик то это просто нашлепать текст и формочки под api. Ничего подобного кстати. Во многих компаниях есть очень четкий тренд на создание универсальных команд, внутри которых люди делятся компетенциями, то есть конечная задача -сделать всех фулл-стаками условными.
Всем привет. Что подразумевается под основой для сайтостроения? Количество времени необходимое для ее освоения и как лучше организовать все это? Планирую делать одностраничные сайты
>>1683242 >У тебя жизофрения? Планируешь делать сайты, но не вкатываться в айти? Иди шлёпай говно на тильду/вордпресс. Успокойся не хочешь отвечать-не надо. Я хочу освоить основы сайтостроения и всего лишь спросил что под этим подразумевается.
>>1683246 Ты хочешь освоить, строительство машины, не зная основ вроде работы с металлом, механики и электроники. Это тебе не майнкрафт, чтобы строить дом, не зная базы.
Антон, подскажи пожалуйста по реакту. Есть форма автозаполнения, и функция onchange, в которой setstate меняется на значение из инпута, и есть функция, которая делает запрос в апи на основании this.state.inputvalue в componentdidupdate() ну и потом все успешно рендерится. Также по клику варианта выполняется точно такой же логикой через апдейт state”а запрос к апи и получаются варианты. Все работает через componentdidmount и componentdidupdate. И все вроде бы хорошо и даже отлично, но перед рендером didmount естественно вызывает эти функции, которые шлют пустой запрос к апи. В принципе это никак не влияет на работу и не мешает (пока я не убрал в ответе на пустой запрос все значения из бд, лол), но видеть запросы При загрузке страницы в консоли не хотется. Как быть? Так вообще принято делать как я сделал или мне теперь бочку в коде сделать и все переписать?
Тестирования вопрос! В Jest'е пытаюсь затестить свою обертку над axios. Ничего не получается. В тестировании новичок, как и что мокать непонятно, особенно axios.create() и axios.interceptors.
>>1680344 Не слушайте этого пиздуна, лезьте в пхп, сисярп или другую любую поеботу, потому что фронтенд на современных связках ТЯЖЕЛЕЕ. Я вообще не понимаю, откуда взялся пиздешь этот про легкость фронтенда, рынок перегрет дебилами после курсов, которые не могут нихуя
Аноны, пытаюсь разобраться с PWA, вот тут https://www.youtube.com/watch?v=8bt1Okboa8E говорят, что манифест и файл регистрации воркера создается при создании Vue проекта, если выбрана опция PWA. Но манифеста в папке public у меня нету, только файл для создания воркера, что я не так делаю?
>>1683542 В самом componentdidmount()? Пробовал сразу, но инпут элемент перестал заполняться, делал условие если пусто - не делать mount. Попробую ещё раз и отдебажить
>>1683552 вообще перестал понимать, что у тебя происходит тогда. почему не сделать запрос в апи по сабмиту формы на отдельный хэндлер? зачем в didmount делать запрос, который тебе ничего не приносит?
>>1683574 Ты прав, сложно без деталей понять. В любом случае, спс за совет в проверкой, я нашёл ошибку, рендерил в выпадающем меню пустой стейт, а значения в другой запихивал
Всем привет, подскажите пожалуйста, как максимально правильно реализовать на жс следующую функцию: Функция принимает число, складывает его со своим полиндромом и возвращает результат (ну например 21+12 = 33) Но, есть числа которые должны несколько раз пройти эту процедуру (96 например).
Имеет ли смысл пользовать циклы, или тут можно как-то более, ну, изящно решить задачу?
>>1683621 Ну в смымсле цикл 96+69 = 165, 165+561 = 726, 726+627 = 1353, 1353+3531 = 4884(Вуаля, возвращает искомое). А к циклу прикрутить проверку на поилндромность...но оно выглядит всё как чудовище доктора Франкенштейна, я наделяся кто-то более изящное рещение посоветует.
>>1683495 Оказывается они убрали манифест из паблика с переходом на vue-cli-4, но написать об этом в доках конечно же никто не подумал, а все туториалы еще по старой версии рассказывают. >>1683625 > А к циклу прикрутить проверку на поилндромность Делишь строку пополам и сравниваешь первую часть и реверснутую вторую, если подходит - возвращаешь число, если нет - идешь дальше. Можешь рекурсивно сделать.
>>1683659 Не работать будет только с числами меньше 10, но это легко исправить если добавить цикл который будет однозначное число доводить до двузначного и только потом делать всё остальное.
Уважаемые аноны, решил вкатиться в этот ваш реакт. База в виде ваниллы есть, следовательно, вопрос: что думаете про айти-камасутру и его курс по реакту? Стоит тратить на него время и силы или лучше найти что-нибудь другое?
>>1683676 >айти-камасутру Хуета полная, рассказывает кое-как так и ещё план изучения весьма ебанутый. Лучше почитай офф. доку, а после посмотри курс от Юрия Бура React + Redux. Он там все основные вещи разбирает.
>>1683669 Да не, просто сложение больших чисел не правильно происходит из-за того что они ограничены типом Number. Для правильного нужно использовать BigInt
Какой тру метод чтобы сделать отложенное сохранение изменений? например юзер редактирует таблицу, и я хочу через 2 секунды после того как он закончил триггернуть сейв в апи, но при этом только один раз, то есть если он продолжает редактировать в течении этих двух секунд нужно чтобы сейв отменился, ну вобщем то стандартная задача
>>1683845 Возможно у тебя включен/выключен один из 1000 флагов в хроме, а после очередного обновления всё пошло по пизде, потому что какие-то флаги инвертировались, какие-то полностью исчезли, а какие-то новые появились?
Ребят объясните пожалуйста для чего в реакте нужен хук useRef? Читаю доку и нихуя понять не могут. Какой-то объект который хранит данные. Какие данные? Для чего он их хранит? Объясните плиз.
Обращение к уже опытным, было ли у вас такое что ты как бы и знаешь что как работает и для чего, но как то применить/использовать/придумать, вот совсем воображалка не хочет, например смотришь как кто то пишет код для определенной задачи так у него все так быстро и главное работает с первого и раза, но когда ты начинаешь делать тоже самое то выходит все через одно место или может просто как говорится не все сразу?
Сап двощь, подскажите как делаются прелоадеры вроде загрузки всех нужных ресурсов перед показом страницы? У меня была идея иметь какой-то маленький жс файл, в котором лежит массив ресурсов и их типов(картинки, жс), в цикле их добавлять в дом, вешать событие на онлоад и рисовать прогресс. Это нормальная идея или можно проще и лучше?
А я правильно понимаю, что если у меня есть класс, созданный литералом класса class {} то от наследоваться от него через функцию конструктор (по старинке), я в общем и целом не смогу, так как super будет не доступен, а альтернативных способов применить конструктор от базового класса к текущему this нет. Следовательно, запороли возможность нормально пилить callable конструкторы, и теперь единственный способ сделать class, который и class() и new class() - это Proxy, который херит раз в десять лукап при наследовании от такого конструктора потом. Или же обертка, которая тоже суть решение через жопу.
>>1684481 Зачем тебе вызывать конструктор без new? Так то да, или пиши классы через функции или обертка, и это не "через жопу", а factory function ))))
А как сделать в Firebase для Vue проекта доступ к базе данных только для создателя этого самого проекта в Firebase? То есть чтобы не цеплять сервис аутентификации, а как-то сообщать Firebas'у, что я это я и вносить изменения в базу данных? Сколько гуглил так и не нашел ничего, все делают круд с аутентификацией, а мне надо только чтобы я сам создатель вносил изменения, как проще всего это организовать? Или без подключенного сервиса авторизации не получится?
>>1684551 В прототипном ООП это через жопу. Я не про фабрику тебе. А про built-in like contstructors Object\new Object Function\new Function String\new String etc >Зачем тебе вызывать конструктор без new? Чтобы не переусложнять API и при этом сохранить возможность прямо наследоваться от ссылки на конструктор без оверхеда, любыми способами и по старинке (Constructor.cal(this)) и через class extends.
>>1684740 Все примеры, что видел подразумевают систему регистрации-логина юзера, но мне же не надо всех регистрировать, а только себя, плюс я уже есть в консоли этого файрбейса как владелец, вот и спрашиваю, как связать это всё. Я могу конечно сделать страницу регистрации и логина и всех перенаправлять с этих страниц на главную например, но что-то много лишней работы как по мне.
>>1684749 Я делаю админку, и через неё вношу изменения, но мне же надо как-то сообщать что это я, напрямую понятно что через консоль файрбейса можно работать.
>>1684767 Ну я в принципе так и сделал, создал юзера, а какой запрос конкретно делать не понял, если есть пример дай ссыль, я видел метод который имейл пароль спрашивает, но как конкретно прописывать хз.
>>1684779 ну вот есть один. страница размечена, а под ней скрипты стоят которые потом половину страницы с бэка перезагружают. как мне эти скрипты реинициализировать когда я на другую страницу перехожу?
Аноны, где правильнее проводить фильтрацию в Реакте, не подключая reselect? Условно в компонент должна попасть часть массива из Редакс стейта, так где же его правильнее отфильтровать? Я знаю, что это можно сделать много где, но вопрос в том, где это правильнее всего. Часто вижу фильтрацию в редюсере, но это ведь не совсем правильно, ведь так?
>>1685158 Ну вообще так просто удобнее читать код. Незачем без лишних на то причин засорять конструктор. Для этого есть лайфсайкл методы типа componentDidMount. Ну и в целом для сервер сайд рендеринга так лучше.
анонсы, подскажите нюфагу вопрос. пытаюсь после загрузки иницализировать скрипты. и вот для начала пытаюсь их собрать через var js = document.querySelectorAll("script"); и он мне возвращает объект например <script assync>alert('hui')</script> так вот, как мне его заново запустить то? пытался через eval() - он просто не рееагирует. консоль пуста. куда копать? >>1680550 - кун
>>1685234 глянь ссылку что до этого кидал. мне надо сделать переключение между товарами как в той ссылке. когда я захожу например с главной страницы сюда, то все нужные скрипты грузятся спокойно и все работает там половина функционала и самой страницы завязаны на жс но когда я кликаю по какому то другому товару, находясь в карточке товара, то контент меняется, а скрипты заново не инициализируются. поэтому и надо их сначала собрать, а после перезагрузки страницы их заново проинициализировать. надеюсь понятно объяснил, лол
>>1684386 Дебич, зачем самому городить велосипед, если можно посмотреть как это правильно делается и скопипастить. На самом деле позже нашел что в Material UI уже есть свой debounce
>>1685748 Пользуйся. Только учти, если я правильно помню, там только первое совпадение заменит. Если в объекте много пар ключ-значение то нужно функцию в replace передавать. Но там уже в доке метода не сложно нагуглить.
>>1685722 >Или это мой радужный манямирок и сабж требует нихуевых знаний? Скорее нихуёвых инвестиций в инфраструктуру. Самая прорывная технология транскрипции на данный момент - сгонять толпу нищуков в Толоке записывать тексты за доллар в день.
Анон, помоги, не могу понять. вот есть хостинг, есть ftp хранилище. кидаю туда файл name.zip с тремями файлами. Затем удаляю этот архив, и кидаю туда другой архив с тем же именем, но с пятью файлами (ну то есть обновляю)
Почему на других компах (на которых архив уже скачивали), скачивается старая версия архива с тремя файлами, а не с пятью? Я понимаю что это кеширование на стороне браузера - как запретить? Именно по отношению к файлам скачиваемым напрямую?
>>1685910 Смотря куда ты там вкатываешься Монго и носкл вообще - узконаправленный инструмент, бесполезный без ответа на вопрос "нахуя?" во время проектирования. Самое для начинающей макаки - не стрелять себе в ноги нон-блок движком, который еще и натягивается на нодовский асинк Мейнстрим бека на ноде нет. Экспресс хоть и самый популярный, но спокойной может быть смещён какой-нибудь новой хуйнёй типа Nest'a. Осилить круд может любой за ~неделю в худшем случае Важнее понимать архитектуру и задачи для тех или иных решений Бек на ноде малопопулярен, поскольку есть всяике джанги с рельсами, где из коробки тонны всяких профайлеров, миграторов, тестов и прочего.
Работаю год в довольно неплохой конторе фронтаном на реакте. Налаженные процессы, удалёнка, минимум мозгоебли, всё круто, однако не даёт покоя один момент — стек максимально простой: реакт на классах, добрая половина проектов на локальном стейте (без редаксов/мобиксов и подобного), scss с бемом, обычный rest. Вопрос в том, сильно ли я проёбываюсь в плане незнания актуальных технологий? Насколько сегодня в продакшене распространены все вот эти хуки, стейт менеджеры, графклы, аполлы, цсс-ин-жсы и прочие хипстерские вещи? Чувствую, что повышения на текущем месте ждать бессмысленно, потому что какого-то ощутимого роста в плане скилла я объективно не показываю, а потому всё чаще задумываюсь о том, что надо бы менять место работы. Интересно послушать про рост в целом и что посмотреть/попроходить для повышения скилла в частности.
>>1686234 С одной стороны, чисто хуки мало где используются. В больших конторах куча старых классов которые никто переписывать в ближайшее время не собирается.
С другой, если у вас и редакса нет то все совсем плохо.
>>1686264 > С другой, если у вас и редакса нет то все совсем плохо.
Говорю же, есть редакс, но далеко не везде. Стоит сказать, что без него на самом деле очень хорошо живётся, я до устройства в эту контору и не думал, что кто-то делает продакшн без редаксо-подобных свистоперделок.
Получается ситуация, что с одной стороны простота стека и условия в целом меня вполне устраивают, с другой — хочется больше денег, сейчас меньше сотни получаю. Причём вертикальный рост мне не подходит, а горизонтальный в процессе самой работы не получается, нужно в свободное время пердолить технологии.
>>1686291 Ну вот если деняг хочешь то нужно редакс знать. Суть даже не в том свистоперделка это или реально нужная вещь. За это платят бабки. Так-то и тайпскрипт нахуй не нужен, но платят за него больше чем за жс.
>>1686291 Это же просто инструменты, не бывает такого что если знаешь хуки то +20к, а если редакс то ещё +10. Обычно в команде есть какой-то стиль и ты его придерживаешься, иначе mr не заопрувят. Если есть силы и желания пропихиваешь другой стиль, объясняешь чем лучше.
>>1686007 >- как запретить Меняй название файла. У тебя же новая версия, вот и добавляй в название новую версию. Если у тебя в коде привязка к имени файла, то сделай привязку не к файлу, а к папке, либо к части имени файла.
Аноны, есть пара трабл. Есть пет - приложуха на ноде. С passport.js. в методе десериализации сессии - стандартный подход из документации. Всякий раз когда идет десериализация пользователя по id из сессии - по id в базе(sql) имещтся пользователь, и возвращается в метод десереализация. Я так полагаю что это не верно, на каждом маршруте лезть в базу?
Видимо из этого идет следующий косяк - если зарегаться под юзером, а потом быстро рефрешить страницу - вываливается исключение : Error: Failed to deserialize user out of session at pass (C:\JS\express\app_1\node_modules\passport\lib\authenticator.js:344:19) at deserialized (C:\JS\express\app_1\node_modules\passport\lib\authenticator.js:349:7) at module.exports.deserializeUser (C:\JS\express\app_1\routes handlers\handler_access.js:45:3) at runMicrotasks (<anonymous>) at processTicksAndRejections (internal/process/task_queues.js:97:5)
>>1686495 п.с. часть проблемы с отвалом сессии я обнаружил - сессия банально была выставлена на 60 секунд.
Но вот если несколько раз в секунду рефрешить страницу - все равно выпадает та же ошибка. И что странно - через некоторое время (секунд 30) ошибка пропадает сама, и можно снова рефрешить страницу до упора.
>>1686565 Короче разобрался. Все упирается в ошибку 'Error: Too many connections' - слишком много соединений с базой. Использую mysql2, с пулом коннектов равным 10.
И теперь объясните пожалуйсто мне дауну как правильно работать с базой данных?
Очевидно что нормальные приложения не зависают к хуям после 10 запросов к базе данных. Приложения поддерживают тысячи пользователей одномоментно, и от этих пользователей идет множество запросов к базе данных. И все это работает.
Означает ли пул в 10 коннектов то что в не более 10 запросов одномоментно в sql базе может исполняться? И что остальные запросы ждут пока эти 10 исполнятся где ждут? самому очередь формировать?? У меня ошибку 'Error: Too many connections' выдает даже если я просто рефрешу страницу - там простой код который несколько статей из базы достает. Неужели я где то так обосрался что эти мои простенькие sql запросы где то в базе залипают? Я вроде соединение освободжаю в коде.
Очевидно я дебил , но объясните как это должно нормально работать?
>>1686661 Запрос в базу и коннекшн это не то же самое Когда ты бэк подымаешь, то он устанавливает конекшн с базой, а в рамках этого конекшна запросов может быть сколько угодно. Так что да, ты явно где-то сильно обосрался. И это уже не очень jsовская тема
>>1686264 Что за дрочево на редакс кстати? Юзал сагу, юзал без саги. Не могу сказать, что охуенно удобная вещь. По статистике удовлетворенность редаксом и его популярность неотвратимо падают
>>1687228 Да я уже понял где налажал. Я при выполнении обработчика роута каждый раз создавал пул коннектов к базе. Естественно что все жопой накрывалось.
>>1687241 Юзаю на проекте с хуками редакс, там все просто. Проблемы редакса имхо постоянные ререндеры из-за изменения пропов, логику которых порой невозможно держать в голове, вечная боль при выборе между стейтом компоненты и редакс стейтом, необходимость написания кучи кода, не особая дружба с тайпскриптом и т.д.
Сделал что-то вроде клона medium и базу данных фильмов на реакте. С хуками, классами, контекстами, scss, роутерами, тайпскриптами и прочим говном. Есть шанс вкатиться?
Господа, возник небольшой вопрос. Понимаю, что это не чистый JS, но более подходящих тредов не нашёл.
Есть HTML-элемент, на который навешаны события mouseover/mouseout, и есть другой элемент с position:absolute, физически располагающийся на первом элементе. Соответственно, при проведении курсором по первому элементу, когда курсор попадает на второй элемент, происходит mouseout. Как можно этого избежать?
>>1680326 (OP) Вопрос по реакту и ts Есть контекст который инициализируется пустым значением (null). Тип контекста на пике 1. Есть корневой элемент который передаёт сеттеры стейта в контекст. При попытке обращению к сеттеру через контекст вылетает пик 2.
Как обойти предупреждение, не проставляя везде "!" после имён сеттеров и не меняя ts.config?
Приветик Хочу начать вкатываться с помощью курсов (яндекс или moscowcoding). Я понимаю, что курсы для ленивых долбаебов, которые не умеют гуглить - я именно такой. Да и времени из-за работы нет, а деньги есть, так что хочу иногда получать фидбек от ментора, а не срать постоянно в тред вопросы. Вот, может быть, ктото обучался на этих курсах или имеют отзывы? Спасибо
>>1687770 А я его скипнул как раз, потому что там вначале кучу всяких уроков о командной строке, жизни погромистов. Вангую, конечно, что это важно, а я просто ебанько
>>1687757 Если убрать partial, то как инициализировать контекст? Сеттер ведь передаётся не при инициализации, а через контекст провайдер в корневом элементе.
>>1687911 Ну так всё по делу же сказал. Стремящийся в lastSym присвоил temp, то есть просто перезаписал переменную. Модератор ему и ответил, типа "а ты точно массив изменил?!"
>>1687861 Профит в структурированной инфе без лишней шелухи, достаточно простая подача и обучение хорошим практикам современного жса. Я после них устроился реактером (перед этим два года верстал с жикваери).
какой css фреймворк сейчас используют успешные господа? Когда я в последний раз что то верстал то это был бутстрап, но сейчас насколько я понял его никто не юзает...
>>1687968 Это не модератор, а ментор. И как ментор он должен был объяснить, почему код этого хомяка-долбоеба не работает. Но вместо этого он написал какую-то хуйню, посоветовав распечатать результат на принтере. Результат мы видим - хомяк ничего не понял, а ментору похуй на дальнейшие уточнения, потому что он такой же хомяк, просто ментор.
>>1687961 Ну так перетаскивай так чтобы ts не ругался, а не костыли пили. Это тоже самое что на все ограничения типа писать any и потом говорить, что ты c js на ts перетаскиваешь.
>>1687909 Через null! Ты же наверняка в контекст всегда передаёшь value, так что падать не должно. Ну или можешь придумать нормальное defaultValue с noop например вместо функций.
>>1687994 Модератор/ментор — я уже не помню их названия, но это не суть. У них на хекслете такой подход, не давать готового решения, а натолкнуть ученика, дать направление, чтобы он сам додумался.
>>1688048 Так он не натолкнул, он просто нахуй послал, потому что сам не знает. Подход у них такой - натолкнуть на хуй, а потом игнорировать уточнения.
>>1688048 >>1688066 Ну ладно вам, я не хотел разводить флуд. Просто ищу курс, чтобы мне ответили. Ну типа, в день есть пара часов (или 0), чтобы въезжать. Я понимаю, что неотъемлемая часть обучения - поиск ошибок. Но блять, надеюсь, что до абсурда не будет, что каждую ошибку ищи сам, пидорас
>>1688175 >>1688170 Делать вам нех? За эти деньги вам дадут информацию структурированную хуже чем у Кантора и задачки с алгоритмами которые на бесплатных codewars и freecodecamp найти можно
Допустим у меня вложенная структура вроде: const obj = { str: 'abc', obj: { str: 'abc' } }
Как описать её тип таким образом, чтобы можно было обращаться к элементам через индекс? (obj[key])
Пытался объявить как {[key: string]: (string | [key: string]: string}, но при попытке обращения пишет что к "string | [key: string]: string" нельзя обратиться через индекс типа string
все топят за него, но я не вижу VUE в крупных, богатых компаниях в основном какие-то помойки уровня "стартап на 10 страниц" Интернет магазин на 5 экранов
>>1688487 Ну нетфликса бэк на ноде, а не просто чатик сбоку, к чему это ты И вообще, говоришь как будто нода неюзабельна для бэка, почему спрашивается?
Аноны, пишу свой проектить на React + TS и встал выбор работы со стейтом. На одном стуле Контекст, на другом Редакс. Где можно почитать их сравнение, чтобы не проебаться с выбором?
>>1688668 Хуле мне кричать, вкатыш? Если работодатель смотрит на фактическую сторону, то есть на то, что ты делал и как учился. Твои пет проектики уровня индус кода на гитхабе, писженные с ютуба - никому не интересны. >инфоцыгана Зачем ты утрируешь, вкатун? Есть всякая хуйня, начиная от гикбрейнсов, заканчивая яндекс практикумом. Понятно, что курсы сделаю тебя синьёром от владилена минина, с которых кекали в соседнем треде, котироваться не будут и тебя пошлют нахуй.
>>1680338 У меня 50% хочется денег и 50% "хочу выучить". Есть дип шараги "техник- программист" и вышка инженера авиации. В шараге учил Паскаль, немного html.
>>1688519 У них не бэк на ноде, а какие-то отдельные сервисы во всей системе. Основной бэк у них на чем-то другом написан(уже не помню). Хуйню бы не нес.
Аноны, кто шарит в сессиях и пасспортjs, чет я запутался во всех этих мидлвэйрах. есть пакет express-session - хранилище дефолтное в памятиредис у меня на шиндовс старой ток версии, и он глючит
поверх этого пасспорт ставится. И я не очень могу понять как это все друг с другом взаимодействует. И как например убить сессию текущего пользователя правильно? Я набросал типа такой метод:
req.session.destroy(); -- метод express-session req.logout(); -- метод пасспорта res.clearCookie('connect.sid', { path: '/' }) - удаляю куку res.redirect('/');
Не должен ли req.logout() в себе вызыввать req.session.destroy()?
И почему даже после выполнения моего метода в консоли в req.session все равно вываливается вот такое-
Тоесть никто не зареган в приложении в данный момент, но все равно объект сессии чем то заполнен. Запутался я во всей этой поебени. Как сессию рабоают я понимаю. Писал свою реализацию, где новая сессия хранится в мапе, или в фале на диске.
>>1688728 Да блядь, ну офк там будет до жопы всяких апп и сервисов на разных языках, ок. Но вопрос был в том, используют ли это в больших проектах. Да. Ну а в своем собственном личном проекте ноду поднять вообще раз в десять проще.
Пишу следующий код, чтобы проверить есть ли свойство в объекте: if (obj[key] !== undefined) {} КалоСкрипт убивает весь проект, а в консоли пишет мне obj[key] is not defined А теперь панчлайн во входных данных obj[key] DEFINED блять
Сразу оговорюсь, что в js я ноль, но данную функциональность нужно срочно реализовать для прототипа моего проекта. Из бд тянутся сущности (вершины графа) и связи (ребра). Задача минимум - красиво отрисовать их на стороне у клиента (с возможностью кастомизации дизайна блоков в зависимости от их типа) + они обязательно должны быть интерактивные (при нажатии на вершины обрабатываться события). Задача максимум это ручной редактор такого графа с возможностью добавления вершин и связей и изменения свойств вершин на соседней вкладке (вроде того как это сделано на draw io). Есть какие-то готовые решения для такой задачи? Если нет то за сколько ориентировочно можно такое заказать у фрилансера?
>>1688988 >creately.com Нет, у меня другой замысел. Это нужно для образовательной платформы. Бэк сам пилю, а со фронтом всё плохо, максимум что могу бутстрап натянуть, чтобы не совсем страшно выглядело.
>>1689249 Ну и вкатывайся, потом найдешь себе галеру и будешь шлепать галактический круд на аутсорсе. Если надо будет, перекатишься в реакт, там апи на 8 строк. По dx - почти все из коробки, роутер, формы, хттп. Кроме, наверное, стейт менеджера, но их всего 2.5, а можно и без них, а еще можно грабить корованы. Когда поймешь rxjs и di будешь бегать и махать руками от радости. Когда поймешь что формы без типов и компонентами как в реакте не покрутишь - будешь бегать помедленней.
Пиздец братва, браузеры не поддерживают mkv и avi. И че делать нахуй? Как мне смотреть видео с торрентов? Как тогда воспроизводят видео другие подобные сайты?
>>1689421 >Mkv запускается в хроме, но без звука. Потому что звуковой кодек не поддерживается. Нахуй ты вообще скаченное с торрента кинцо в брузере смотришь?
>>1688815 Бампану свой вопрос. Может кто подскажет. Опишу вкратце суть - фактически кроме зареквайреных: const express = require('express'); const passport = require('passport'); const session = require('express-session'); const cookieParser = require('cookie-parser');
и один обработчик маршрута и в сущности все. app.get('/',(req,res)=>{ req.logout() }) в приложении ничиго нет
Трабла в том что в данном обработчике, в объекте req хуй пойми откда вылез метод logout(). Такого метода нет ни в node ни в экспресс. Этот метод добавляется из пасспорт.js. Но у меня пасспорт просто реквайрится. Ни в каком мидлвэйре я его не использую ( в примере вообще мидлвэйров нет ). Каким образом появляется тогда req.logout() я никак не могу понять. Даже редактор мне тускло подсвечивает зареквайреный пасспорт, говоря что он нигде не используется. Но если строку с реквайром пасспорта закоментить- то уже интерпретатор на req.logout() выдает исключение - что не определен. Это как бы жить не мешает. Просто разобраться хочу. Или я что то в упор не вижу или я хз. Какие методы есть отслеживания модифицированния объекта в жс? Я пока что рефлексией пытаюсь этот момент зарешать.
Аноны, не могу въехать в асинхронность. https://repl.it/@USABoy/SnivelingUrbanLaws Хочу вывести в консоль результат работы функции, которая завершится через секунду после вызова. Но в консоли получается undefined. Если я правильно понимаю, то в момент consol.log'a функция ещё не готова и по-этому выдает лог undefined. Как это исправить?
>>1689436 >Еще субтитры подключу Тут максимум manyamiroque просто. У тебя браузер через раз видео поддерживает, а ты ожидаешь поддержку сабов с подвыпердами, лол. Смотри в сторону стриминга, а не пердолься с вебом. Стримь свой плеер с сабами через дискорд или стим. Можно и на твиче, но там нужно скакать уметь, чтобы не отлететь за копирайт. VLC ещё может стримить изкаробки, но там опять поддержка кодеков ограничена.
>>1689444 Правильно понимаешь на момент вызова console.log т.е. сразу твоя функция ничего не возвращает. Исправить - вызывай консол лог в колбеке setTimeout()
>>1689445 > Тут максимум manyamiroque просто Вообще то субтитры подключаются через track элемент. Я правда пока не знаю, можно ли выделять слова мышкой, но если можно, то обработать это событие и направить запрос к апи переводчика проще простого. > Смотри в сторону стриминга, а не пердолься с вебом Но я хочу пердолиться с вебом, нахуя мне стриминг?
>>1689447 Спасибо. А как мне быть, если я хочу потом в другой функции использовать значений из функции с таймаутом? Условно, мне надо чтобы функция с таймаутом возвращала число и я потом его хочу передать в другую функцию и что-нибудь с ним сделать. >>1689452 Погуглю, но я сейчас на задачке которую вроде как без этого надо решить. Всё равно спасибо.
>>1689481 >>А как мне быть, если я хочу потом в другой функции использовать значений из функции с таймаутом? В том контексте о котором ты думаешь - никак. Добро пожаловать в асинхронность. Тот код который вне setTimeout - уже выполнен, тебе условно говоря некуда возвращать. Это и есть фундаментальная особенность асинхронности. Если совсем примитивно - то все остальные действия с результатом функции в колбэке таймаута ты можешь выполнять только в этой функции. Считай это как временной пузырь чтоли. Для решения этого были придуманы промисы, ну и над промисами были реализованы async/await. Что в сущности позволяет писать в синхронном стиле асинхронный код. Чисто читать/писать удобнее, а под капотом все также.
>>1689440 Лол. блядь. минимальный вариант этого безумия.
const express = require('express'); const passport = require('passport'); //если закомментить - будет ошибка req.logout is not a function, а console.log(req.logout); вернет undefined
const app = express(); app.get('/', (req,res)=>{ console.log(req.logout); //возвращает [Function] req.logout(); //откуда это блядство. Откуда этот метод. И как он тянется из passport res.end('end'); });
app.listen(3000, function () { console.log('Example app listening on port 3000!'); });
Аноны, разверните у себя такой конфиг, проверьте пожалуйста, кому не лень. Я щас пизданусь уже.
>>1689506 >>1689507 Пасиба. Уже сам начал вкуривать промисы и переписывать на них. Но блин, там где я задачки прохожу, промисы - следующая тема! Подстава.
>>1689535 app.get('/', (req,res)=>{ console.log(req.logout); //возвращает [Function] req.logout(); //вот этой функции не может по идее быть в объекте req res.end('end'); });
выведи консол логом req.logout - если не закоменчен пасспорт - консоло лог выдаст [function]
А стоит закоментить - будет undefined Как у объекта req появляется метод logout
>>1689547 пасспорт интегрирован в экспресс так, что достаточно просто появления его объекта в области видимости модуля в котором app экспресс запускается что бы модифицровать объект req? Это такая тема что если обратить внимание - вызывает ступор. Я полдня уже ношусь кругами и кукарекаю. Охуеть
>>1689520 Как ты заебало уже спамить своим пасспортом и ныть, что сейчас пизданешься. Поскорее, пожалуйста. Что блядь тебе не позволяет внутрь модуля посмотреть или банально догадаться, что паспорт блять что-то записывает в прототип при импорте?
>>1684187 Тебе просто опыта не хватает. Большая часть задач - однотипное говно, где меняется только незначительная часть. Некоторое время поработаешь, и всё само в голове уляжется.
>>1690137 Если есть то нет особой разницы чем пользоваться. Просто реакт появился раньше и занял нишу. Соответственно чтобы рынок отошёл от него нужно что-то действительно революционное в сравнении с ним а не "более простой реакт". Тем более что фичами типа хуков которые в реакте раньше всех появляются он хорошенько удерживает аудиторию. Да есть крупные игроки которые на вуе сидят но если вы не для себя пишете, то реакт лучший выбор поскольку работы там непаханное поле и очень востребован. И ещё долго будет.
>>1690124 при чём тут стейт и хуки довен хуки это переписывание в функциональный вид то что без них делается в ооп, к стейту они не имеют отношения в вуэ все больше на реакт хуки похоже по умолчанию
Когда навожу мышь на видео, оно останавливается, когда вывожу - продолжается, это я сам прописал. На видео происходит то, чего мне не надо, то есть когда я навожу мышь на переведенное слово, браузер думает, что я убрал мышь с видео. Как убрать это? Можно как то элемент сделать "прозрачным"?
>>1690172 >в вуэ жизненный цикл по умолчанию сделан удобнее чем в реакте В реакте внутреннее АДТ полностью соответствует итоговым фпшным компонентам, написанными программистом Вуй крутится на велосипедном шлаке натягивающем темплейты с императивщиной, из-за чего и утечки памяти в случаются в разы чаще
>>1690329 Пфф, естественно переписывать, ты же не хочешь на днище легаси сидеть. В этой серии ИНЖЕНЕРЫ догадались изобрести named observables, положить их в глобал скоуп и подписать на них компоненты. Сахара почти нет - ваши щёчки в безопасности.
>>1690230 ты идиот usereducer не имеет никакого отношения к ридаксу абсолютно никакого вообще как можно такую чушь писать если ты хоть дерьмовый пеи проект писал на реакте
есть реакт-ридакс хуки - usedispatch, useselector, но они менее удобны чем вьюкс все-равно
>>1688655 Так если мокрая писечка не даст мне проебаться с оптимизацией, почему бы её не взять? Вот есть у меня абстрактный личный кабинет, который с апишки тянет музыку и юзер добавляет/удаляет песни. Не проебусь ли я с бесконечными ререндерами если выберу контекст?
>>1690314 Facebook has open sourced an experimental state management library Для пет-проектов пойдёт, в пром такое тащить никто не будет пока, но приятно, что хуковый синтаксис. Там ещё местами саспенс, а он тоже экспериментальный.
>>1690285 Централизованное хранилище стейта ты как будешь делать? Заменить редакс юзредьюсером это лол. Редьюсеры это лишь часть редакса, так что одним хуком ты его не заменишь.
>>1690152 Vue - штука для неосиляторов Реакта. Он проще во всём, но местами менее удобен для больших проектов. Ты не совсем прав насчёт хуков. Хуки + контекст вполне заменяют Редакс. На нём сидят не от хорошей жизни. Зачастую проект уже слишком большой, чтобы взять и переехать на что-то ещё, хотя в глубине души многих Редакс так задолбал, что если будет решение менеджмента - все поедут быстро в другую сторону.
>>1690390 >Хуки + контекст вполне заменяют Редакс Не заменяют. В редаксе как уже сказали есть оптимизации. Ты сам костылять свой велосипед будешь что ли? Или для тебя нормально иметь охулиард лишних реренедрингов? Перформанс для лохов?
>>1680326 (OP) Анончики знакомые с нодой сориентируйте плиз. В общем вводная - лет шесть до этого был фуллстаком с питоном (и джангой / аиохттп / торнадо) на бэкэнде и первым ангуляром / реактом на фронтэнде. В последние года полтора в конторе я как ололо фронтэнд работаю. Чистый реакт. Не верстаю.
Помимо основной работы один хер имею дела ещё и с бэкэндом. Есть кучка легаси на джанге. Ну и периодически новое прилетает.
Вопрос - как дела на рынке с нодой обстоят? Серьёзно думаю переводить весь новый бэкэнд на ноду что бы у меня опыт везде релевантный был. Вакансии на всяких hh и моих кругах смотрел. Хотелось бы услышать совет от анона, работающего с данным стеком
>>1690295 Анон ты не прав. Я делал один большой объект состояния на useReducer. В итоге получилось что одно маленькое обновление, перерендеривает весь фронтенд, потому что контекст полностью обновляется. С useReducer нельзя сделать несколько маленьких глобальных контекстов, там нет чего-то вроде combineContexts как в в редаксе combineReducers. C useReducer ты будешь вынужден делать контексты на уровне каких то независимых контейнеров типа страницы, а проблему глобального состояния ты просто не решишь. Плюс у редакса есть веши типа саги ли redux-observables, ты можешь логику работы с данными вынести вообще из контейнеров. У тебя будет чистые компонеты которые только рендерят верстку.
>>1690425 >Вопрос - как дела на рынке с нодой обстоят? Монолиты на ноде пишут совсем упоротые жсдрочеры, без привычки использовать все мейнстрим тулзы и прочии тайпскрипты залететь сложно (и того не стоит, проще шлёпнуть на джанге) В микросервисах после бума идёт спад, для новых штук всё чаще предпочитают говно
Анончики, подскажите пожалуйста. Я джуниор, пишу на реакте, как раз вопросы по редаксу есть. Неприязни к нему нет, даже не думаю, что в нем много бойлерплейта.
Если использовать connect, то нужно ли использовать reselect?
На официальном сайте написано, что в connect есть оптимизации, которых нет в useSelector и useDiapatch. Кто-нибудь может пояснить подробнее? И есть ли тут связь с использованием reselect?
>>1690437 Если в контексте что-то меняется, будут ререндериться все чилдрены. Нужно писать свой костыль или искать чей-то готовый. Проще взять редакс или мобикс, которые проверены временем и поддерживаются разработчиками.
>>1690441 Что ты собираешься на ноде писать в прод? Нода хороша как возможность быстро шлёпнуть дешёвый по отноешнию ресурсам к производительности IO-нагруженный микросервис, но в реальной жизни это мало когда надо
>>1690452 Если к пхп хотят прикрутить вебсокеты и не использовать сторонние сервисы от чужих дядь, то обычно берут ноду, а не ratchet c reactphp, как некоторые пчпманьки любят пиздеть.
>>1690442 Да всем устраивает по большому счёту. Прост по основной работе на нём задач нет, бэк кручу только у старого легаси на (относительно) небольших подработках. Есть опасение что ещё года полтора в таком режиме и мой опыт станет нихуя не релевантным. Переход на ноду обещает мне как минимум задротство в едином стеке. Тут TypeScript, там TypeScript, в монге JavaScript (таки да, это дерьмище является основной БД в текущей конторе). Сборщик и там и там одинаковый, докер тоже одинаковый, тестики одинаковые. Какие то такие маняфантазии
>>1690452 На носу висит задача по созданию апи, принимающего данные с каких то устройств супервайзеров и передающего эти данные в конторский 1С. Это вот буквально самый свежак из задач. Не скажу правда что там какие то ёба нагрузки будут
>>1690522 Ну попробуй. хз, что еще сказать В жсе до сих пор нет своей джанги, посадив на которую 90% макак напишут практически идентичный код со всем из коробки Для простой апишки с сериализацией говно выглядит поинтереснее, для совсем простой апишки можно и BaaS какой-нибудь найти
>>1690522 Для работы в целом - реакт и практически без вариантов. И будет так еще очень долго. Для работы в снг или китае (упоси господи) можно еще подучить вуе, потому-что там его, почему-то любят. Эпоха ангуляра прошла и слава Омнисии. Забыть как страшный сон.
>>1690522 Попыталиь стандартизировать фронт, обосрались Или рано или поздно первозмогут, или, скорее всего, несмотря на всякие перекрёсткие с гугловским дартоанглуяра, схлопнется
>>1690675 Ты вещаешь как инфоцыган. Можешь технические аргументы приводить своим заявлениям? У тебя все аргумены уровня Ванги. Ты не можешь знать кто там что освоил или нет. Расскажи как ты глобальный стейт делаешь, если не делаешь то почему.
>>1690675 В хуйне, которую ты кинул, 5 страничек о быстром шлёпанье примитивных апишек >На ноде пишут прод компании Заслуга бизнес аналитиков, менеджеров и хр в подборе самого выгодного персонала
>>1690688 Да я тебя не хочу ни в чём переубеждать. Редакс - неудобная и трудно поддерживаемая хрень и одна из самых ненавидимых технологий по всем опросам. Удачи онбордить новых людей на большой проект с ним. На одном проекте Мобх, на другом вообще Аполло. Есть ещё небольшие инструменты для внутренних пользователей, там вообще Рематч.
>>1690691 Так никто и не говорит о том, чтобы перевести весь бэк на ноду, лол. Она отлично подходит для многих задач. А что-то тяжёлое и более требовательное можно на той же джаве и го. Зачастую в крупных компаниях бекэндов несколько же.
>>1690675 > Как контекст мешает оптимизации? Он не мешает, но надо костылять свой велосипед вручную, в то время как в редаксе и мобиксе уже все оптимизировано из коробки.
> Ты бы сначала освоил работу с оптимизацией и лайфсайклом + и сам Реакт понял Что я по-твоему не понял? Ты хочешь сказать, что при изменении состояния в контексте не будет перерисовки всех чилдренов?
Ты походу сам диван-вкатывальщик и не понимаешь как устроен контекст, ещё и хейт редакса у тебя на пустом месте. У вкатышей часто такое, им кажется редакс слишком сложным и им больно от этого, они начинают хейт без аргументов потому что не могут справиться с баттхёртом.
>>1690726 >Редакс - неудобная и трудно поддерживаемая хрень Лол, чего там неудобного и неподдерживаемого? Добавляешь новые экшены и редьюсеры, ВСЁ. Охуеть, замеры настолько отупели, что даже такое им кажется неудобным. Что же будет дальше?
>>1690821 RECOIL Это неделя RECOIL'a Его используют такие крупные компании как ФЕЙСБУК и Вы же хотите быть такими же успешными как ФЕЙСБУК? RECOIL решит все ваши проблемы. Не хотите хранить стейт в компонентах? RECOIL Тошнит от редакса? RECOIL Кот застрял в квантовой суперпозции? RECOIL untangles ALL THE THINGS RECOIL
>>1690775 Я тебе чёрным по белому пишу, что проекты на мобх и аполло, а ты меня спрашиваешь, почему они не используются? У тебя всё нормально? Не используется кем? Многие команды и компании продолжают использовать редакс просто потому, что сидят с техдолгом, а ресурсов переписывать нет.
>>1690777 Ты кроме редакса что-то знаешь? А-то так за него топишь, что создаётся впечатление, что боишься, что тебе перестанут за него платить, и придётся осваивать чёт новое.
Аноны, подскажите, как прокинуть свою функцию в пропсы одному из роутов при использовании TS? Постоянно ловлю ошибку, что у RouteComponentProps нет нужного мне св-ва.
>>1691019 И? В чем проблема? Для каждого действия своё отдельное место среди экшенов и среди редьюсеров. Всё разложено по полочкам.
>>1690994 И редакс, и мобикс, и аполло. Где-то одно, где-то другое. Я не топлю за редакс, я топлю против контекста вместо нормального стейт-менеджмента.
>>1691119 Type '{ authUser(user: boolean): Dispatch<SetStateAction<boolean>>; }' is missing the following properties from type 'RouteComponentProps<{}, StaticContext, PoorMansUnknown>': history, location, match Вот такое ловлю
Sup, /pr/. Антош, подскажи как такие данные правильно — есть в логинформе поле callback номера, его передаю в пропсы на другой компонент, все отлично работает. Однако, если перезагрузить страницу, то естественно номер херится. Может его вместе с json токеном в localstorage пихнуть? Приложение на django-react. Может как-то сессии джанги задействовать? Подскажи пожалуйста.
>>1691537 При чём здесь js дауненок? Вот смотри. Есть тред на дваче, твоему парсеру нужно найти все посты. Как это реализует даун вроде тебя? Правильно, при помощи селектора класса .post, после чего соснёт хуй когда этот селектор заменят на .userPost. Как это реализует программист? Правильно, привяжется к датам, дата #1 и дата #2 это тот диапазон в котором находится один пост. Берешь этот диапазон и находишь в нём признаки поста. Вот тебе и "отказоустойчивый парсер", потому что вероятность того, что у поста перестанет отображаться дата близка к нулю, особенно в сравнении с вероятностью смены названия класс.
Анончики, подскажите пожалуйста. Я джуниор, пишу на реакте, как раз вопросы по редаксу есть. Неприязни к нему нет, даже не думаю, что в нем много бойлерплейта.
Если использовать connect, то нужно ли использовать reselect?
На официальном сайте написано, что в connect есть оптимизации, которых нет в useSelector и useDiapatch. Кто-нибудь может пояснить подробнее? И есть ли тут связь с использованием reselect?
>>1691681 Внутри участка между датами ищешь по тегу article. Суть в том, что привязка идёт к наиболее постоянным элементам, вероятность изменения которых близка к 0.
Помогите нубу в JS. Ни на что не претендую, просто для себя иногда писал мелкие вещи типа преобразования букв в верхний регистр. Сейчас захотел для себя седлать плагин который бы стирал определенные вещи. Грубо говоря адблок на минималках. Для теста я сделал код который убирает картинку со страницы гугла. Оно работает (фотофакт). Однако мне нужно, чтоб плагин работал не по загрузке страницы, а когда я тыкаю кнопку. Я поискал примеры плагинов с кнопкой, пихаю туда этот же самый код, но он уже не работает. По нажатию на кнопку просто ничего не происходит.
Хотя я когда этот код скачал с сайта и пробовал запустить, то оно тоже не работало как надо, но я думал там в другом причина.
Суть просьбы - что нужно переписать, чтоб обведенный красным код запускался по нажатию кнопки?
страница разбита гридом на 2 колонки, в одной текст с кнопкой, во второй картинка фоном, как растянуть контент на всю страницу что бы не задавать принудительно размер по высоте.
В QT есть текстовое поле и к нему можно добавить хайлайтер синатксиса, который сам через регулярки можешь определить. И все круто работало и не пересекалось с реальной версткой, т.е. при экспорте подсветка синтаксиса никак не отображалась. Ищу что-то подобное для джаваскрипта. Попробовал quill, но тамд ефолтный хайлатер работает только в блоке кода, а меня интересует работа во всем документе. Еще посмотрел editor.js, но у него нет нормального апи для вставки текста. Может кто-нибудь знает какую-нибудь либу?
>>1692151 >>1692089 а, нет блин, медиа запросы же только в пикселях, короче, я пока хз как там коммитить на jsfiddle, просто нужно указать размеры всех родителей. html height: 100% body height: 100% .wrap min-height: 100%
Привет кулхацкеры, кто-то может пожалуйста дать ссылку на развернутое пояснение как регулярное выражение написать для валидации email по моим параметром. Пожалуйста,очень нужно. Спасибо.
Доброго времени, после изучения разметки и стилей принялся за js, так вот решил на практике написать простенький магазин, но в первые же несколько часов столкнулся с проблемой. Вкратце после нажатия на кнопку "В КОРЗИНУ" на кнопке сменяется надпись на "УБРАТЬ ИЗ КОРЗИНЫ" и повторном действии наоборот, но у меня появляется ошибка которую не могу решить. Прошу вашей помощи
>>1692209 >min-height: 100% Спасибо, подскажи еще как выровнять по высоте и разместить по центру h1, p и button ? margin: auto чет не хочет в этом случае работать.
Учился по разным курсам, статьям. Пытался читать книги зарубежных авторов. Смотрел видео. Заебало все, решил плюнуть и начать читать Илью Кантора "Современный учебник JavaScript".
Так вот, что хочу сказать: анон, который писал, что по книге Ильи Кантора нельзя учиться, так как она больше похожа на тех. документацию - ты пидарас. Из-за тебя я пропустил такой охуенный материал, где все структурировано, подробно и интересно.
В реакте когда попап нужно сделать с условием что если клик вне элемента то попап закрывается ,то пишут функцию для отслеживания кликов или вешают клики на сами элементы и юзают react-modal чтобы отследить клик вне элемента?
>>1692826 Мне кстати кантор тоже очень зашёл, он и курсы внезапно. Да, я знаю то курсы принято хаять, но у меня в бурсе прост ламповые комплюктеры ЛИТЕРАЛИ и программы надо было на бумаге писать, это здорово отбиывает охоту именно програмировать. А у кантора всё так ахуенно, примеры жызные, обновления по материалу, лучшие 20 долларов которые я когда либо тратил.
Хз как там у него именно курсы, но учебник реально годный.
Подскажите материал для вката в ангуляр, для тех кто уже вкатился и работает на другом языке. Никогда не писал фронт, но ванильный js боле мене знаю. Хочу написать какой нибудь простенький тетрис или что нибудь такое для тренировки. Сейчас работаю- пишу бек на java, микросервисы/высоконагруженное с 1кккк запросов в секунду. Знаю кресты, c# и питун.
Если использовать connect, то нужно ли использовать reselect?
На официальном сайте написано, что в connect есть оптимизации, которых нет в useSelector и useDiapatch. Кто-нибудь может пояснить подробнее? И есть ли тут связь с использованием reselect?
>>1693647 >>1694074 Мне для домашнего пользования. Пиздец это загробная тема, есть только одна документация по ffmpeg, написанная долбоебом и единичные треды с одним ответом на стаковерфлоу, которые не решают мою задачу
Есть проект на Вью. В нем для активации аккаунта сделал роут без компонента, который висит только чтобы дернуть beforeEnter, где вызвать метод вьюикса на отпавку данных на бек и перенаправить пользователя на главную страницу. На ПК все работает отлично, переход, перенаправление, сообщение об активации или ошибка, но на смартфоне происходит ровно нихуя, даже запросы на сервер не отправляет. Какого хуя?
>>1680326 (OP) Парни, думал как замутить подобие js-темплейтов, в которые с бэкенда передаются некоторые переменные перед "рендерингом" - передачей этих файлов клиенту (чтобы например на хардкодить url-ы) Как вариант - передавать эти переменные по апи... это вообще работать будет? (и как?)
Дебилы чтобы изменить цвет кнопочки ебуться с редаксами, редюсерами, хуками, когда есть нормальные решения. Единственный аргумент "ну риакт не гавно сложна значит илитна))0 штобы цвет кнопачки паминять нада пердолиться) а ты вуй быдла)))". Пиздец дегенераты. Vue > Angular2+ > React && AngularJS. Я не понимаю каким идиотом надо быть чтобы выбирать более сложное решение для какой-то задачи когда есть простое, какой в этом смысл? Если че писал на всех фреймворках в прод кроме второго нг. С гона на пхп тоже проиграл. А что илитно? На чем надо писать? На асемблере? Я писал в прод на RoR и на Yii2/Laravel. Пока что мой личный топ: Laravel + Vue + postgres + citusdb. Вы все малолетние дебилы. Дрочил всем на лицо кто пишет на реакте по своей воле, это какие-то мазохисты ебаные, либо копрофаги в терминальной стадии, жс спасут только массовые расстрелы.
>>1694431 Не могу не согласиться, всякие стэйтменеджменты напердолили, хуки-хуюки, депенденси инджекшены и прочие паттерны напридумывали, а теперь бомбят с того что написание простой формочки и вьюшки требует двух недель напряженной работы. С другой стороны нам как девелоперам от этого хорошо - то что раньше мог сделать один php+jq за пару дней, теперь делается с помощью двух фронтов и друх бекендеров. Гигакорпорациям то пофигу сколько разрабов нанять, для них это копейки, а нам профит. Таже увеличиваем порог вхождения, чтобы вкатывальщики не могли с нами конкурировать и делаем себя незаменимыми (чтобы фронта заменить надо найти профессионального фронта именно по тот стек технологий, так еще и остановить разработку на пару месяцев, чтобы вьехал в то что наговнокодили за последние 5 лет)
Ананасы, я тут похоже что-то придумал(по крайней мере такого я еще не видел). Вот есть каррирование. Каррирование - интересный способ организации API, к тому же делает код легко переиспользуемым и лаконичным. Однако признаем, скобки - уродство, а двойные скобки - двойное уродство. Хотелось бы сделать что-то типа statements. Но JS - недоязык без метапрограммирования, ни кастомных операторов, ни макросов, нихуя. Ну, я так думал.
Таки есть Proxy! Пик1. Плюс, я осознал, что tagged template strings тоже каррируемы(пик2). Думаю, это будет полезно, для построения своих DSL на JS.
Котаны, нужно сделать, чтобы при перезагрузке страны в приложении сохранялись открытые вкладки.
Каждая вкладка отрывается на основании отдельного запроса на сервер. Грубо говоря, просим объект по айди, потом полученные данные грузим в формочку во вкладке.
Пока что додумался до такого варианта - в стейте хранить массив открытых пользователем вкладок. Сохранять его в localStorage. При перезагрузке страницы, через useEffect, открывать вкладки из этого массива.
Меня интересует, лучше там только айдишники хранить и делать запросы каждый раз, или хранить объекты целиком? В первом варианте больше запросов, но объекты актуальные. Во втором запросов меньше, но есть шанс получить устаревшие данные.
Никак не могу выбрать движок для своей проги. Везде где я смотрю примеры когда объект мышкой тащится к стене его начинает нихуево пидорасить либо не могу найти таких примеров. Подскажите какими движками сами пользовались? Расскажите ваши впечатления
>>1680326 (OP) Вопрос по хукам Есть 3 стула 1. Несколько useState в одном компоненте + всё работает как надо + дочерние компоненты ререндерятся только если обновлся именно их стейт - нечитабельный код
2. useReducer. reducer возвращает стейт с изменённым свойством + удобней прописать типы - поскольку меняется не сам стейт, а только его свойства, ничего не ре-рендерится. Прописывать везде useEffect не вариант так как дочерних компонентов и свойств в стейте много и их количество постоянно растёт 3. useReducer. reducer "пересоздаёт" стейт (newState = {...state}) + читабельный код - лишние ре-рендеринги
Итого что получается: либо говнокод с сотнями а то и больше юзстейтов, либо тысячи юзэффектов на каждый пук, либо обновление всего сайта/приложения из-за каждой напечатанной буквы или поставленной галочки. Это и есть причина по которой до сих пор используется react-redux?
>>1696368 >1. Несколько useState в одном компоненте >всё работает как надо До тех пор, пока не приходится разбивать какую-нибудь сущность с бэка по этим юзстейтам и собирать по-новой. >дочерние компоненты ререндерятся только если обновлся именно их стейт Нифига не понял. Дочерние компоненты ререндерятся при ререндере родителя. Если что-то изменилось, то идет обновление DOM. Если ререндер дорогой - useMemo или shouldComponentUpdate >нечитабельный код Смотря как напишешь
>2. useReducer. reducer возвращает стейт с изменённым свойством Так делать нельзя в голом редаксе и об этом написано в доках. Не думаю, что его китайский клон от реакта отличается в этом плане. НЕ МУТИРУЙТЕ СТЕЙТ, ДЕТИ!!!
>>лишние ре-рендеринги >Реакт Ты здесь новенький, да?
>>1696505 Большинство свойств стейта прокидываются в контекст (value={{prop1: state.prop1, prop2: state.prop2}}). Часть в пропсы
>>1696510 >Нифига не понял. Дочерние компоненты ререндерятся при ререндере родителя. Если что-то изменилось, то идет обновление DOM. Если ререндер дорогой - useMemo или shouldComponentUpdate Если обновить стейт корневого элемента (который в свою очередь прокедывает его в контекст), все дочерние компоненты будут рендериться заново, даже если их пропсы и соответствующие им свойства контекста не изменились?
>> Ты здесь новенький, да? Здесь писали уже не раз, что если использовать контекст вместо редакса - это приводит к лишним рендерингам. Вопрос по сути в следующем: приводит ли отказ от редакса в пользу контекста к потере производительности или нет?
>>1696550 >Если обновить стейт корневого элемента (который в свою очередь прокедывает его в контекст), все дочерние компоненты будут рендериться заново, даже если их пропсы и соответствующие им свойства контекста не изменились? Здесь контекст ни при чем. И надо разделять DOM и Virtual DOM. У чайлдов произойдет рендер в любом случае, если не будет shouldComponentUpdate, useMemo или ключа(насчет ключа могу пиздеть, не помню). Построится Virtual Dom дерево и будет проверять, поменялось чет или нет. Если поменялось что-то, то будет менять внутри Dom, а это долго.
>Здесь писали уже не раз, что если использовать контекст вместо редакса - это приводит к лишним рендерингам. Вопрос по сути в следующем: приводит ли отказ от редакса в пользу контекста к потере производительности или нет?
Не пользовался "редаксом от реакта" почти, не знаю за счет чего там лишние ререндеры, если не пиздят. По мне один и тот же принцип. А насчет кучи ререндеров - это суть Реакта, я бы сказал. Декларативное программирование, хули.
>>1696550 >Здесь писали уже не раз, что если использовать контекст вместо редакса - это приводит к лишним рендерингам. Так это редаксодебил писал. Ререндер при любом иммутируемом изменении происходит. А вызываешь ли ты эти изменения редаксом или контекстом - однохуйственно.
>>1696641 Я там коммент оставил: хочу чтобы высота этого блока была без уродливого калька и занимала ровно всю оставшуюся высоту родителя минус верхний блок.
Привет. Не подскажите по реакту. У меня есть папка(слева) а в ней таски(справа) нужно сделать чтобы пользователь мог менять состояние task(выполнен или не выполнен), для этого нужно каждому добавить доп. свойство(completed или не completed) с которым легко смогу управлять каждым таском в каждой папке, или прямо в компоненте в котором выводятся tasks пытаться какой то контекст использовать? Просто мне в реакт чате сказали что можно контекст/redux/etc использовать в этом случае.
Парень из технаря 21/05/20 Чтв 22:53:18№1696924665
>>1697205 Чего ты там мямлишь, инцел? Если это "абстлякция", то пускай ее и делают абстрагированной, а не числовое значение (Numeric value), которое нельзя выразить цифрами в 64 битном формате.
>>1697228 Это ты дебил. Какое нахуй цифровое значение. Нет такого data type долбоеб. Typeof(NaN) возвращает тип Number. Яб тебя на собесе за такой бред живьём бы схавал.
>>1697279 Ебать ты долбоеб братишка. Ты видать дальше Кантора по ЖС ничего не читал, да?
И даже в Канторе уже написано достаточно, чтобы понять, как работает typeof.
Например, typeof [0,1,2] внезапно, объект! Ебать, откровения! Это что, получается массивов не существует?
Это что, получается, язык еще надстройки какие то делает над сущностями? Это получается что ЧИСЛО НА САМОМ ДЕЛЕ НЕ ЧИСЛО, А ЧИСЛОВОЕ ЗНАЧЕНИЕ? ТАК ЖЕ КАК БЛЯДСКИЙ NaN?
И как же это у нас получилося, а? Может ты мне расскажешь, синьор-помидор?
И такие как ты синьор-обрыганы сидят потом с умным видом ебало крючат на собесах.
>>1697228 > Ты сука если не видишь разницы между числом и числовым значением, то иди на кассу бургеры заворачивай. Я то вижу, а вот жопа скрипт при выполнении операции typeof NaN выдает мне number. Инцел сейчас скажет "ну есть жи метод isNaN ряяя", а я спрошу "а почему typeof undefined не возращает string? По моему логично, это не число и не объект, значит строка"
>>1697300 Ебать, эталонная макака. Да массивы в js это объекты. Их сущности. Что разумеется не значит что их не существует. А числа это примитивы. И потому тип Number. Чёт в голос с макаки. Числовое значение как бы подразумевает число. Это как сказать что волки не псовые потому что псы ЭТО ДРУГОЕ. Все таки не зря жс считается языком макак. Какой язык такие и адепты
>>1697344 И да дополню. Жс настолько коряво спроектирован что NaN это действительно число которое просто неопределенно. Говоря проще это undefined number. Да понятно что по факту в РЕАЛЬНОЙ жизни там сущность далёкая от цифр но жс как известно спроектирован долбоебами для долбоебов.
>>1697380 Я другой анон. Не знаю че у вас тут за абстракции и числовые значения. 1 это число, 1.34 это число и NaN это тоже число. undefined это undefined, а строка это строка.
Не стоит путать Number в бытовом смысле, как "число", и Data type: Number, в смысле "Вид данных: Число". Первое это то, что мы используем, для собственно счета, а второе - это абстракция, внутренний механизм JS, как переменная или замыкание.
Иными словами. Число, в бытовом смысле, это 1 или 2,5 или -0,34. А NaN, это абстракция, которая для простоты работы языка обладает тем же типом, что и числа.
Поэтому для JS тип данных числа и NaN один, но значения у них (собственно, число и не-число, всегда будут разными).
Не знаю, нахуя я это высрал, по-моему это настолько чевидные вещи, что всем и так понятно.
>>1697435 > Не знаю, нахуя я это высрал, по-моему это настолько чевидные вещи, что всем и так понятно. Ебланище, это не очевидные вещи, а особенности языка. И спор идет о том, что это не "абстлякция", а дебильный просчет разработчиков. Поэтому свои охуенные объяснения оставь при себе, на mdn уже все объяснено без виляний жопой про абстракции
>>1697546 Бля, какой же тупорылый инцел попался. Во первых, я не тот сеньор. Во вторых, ты очень умный, молодец, знаешь как работает NaN. Вот только я тебе пишу, что это нихуя не абстракция, а кривые ручки разработчиков. Зачем ты раз за разом высираешь свои простыни объяснений? Я понимаю, что ты убогий инцел, и у тебя горит жопа когда всплывают вот такие пики, но это реальный мир, мальчик, пора к нему привыкнуть
>>1697601 Потому что при нестрогом сравнении производится приведение к общему типу а при условном операторе делается проверка на положительное значение (не помню как оно на ангельском лол). В if массив, объект, НЕ пустая строка, число больше нуля и true это positive.
Ребят а где можно поучиться именно веб девелопменту? Не жс, не реакту, не вёрстке, а именно вебу? Ну там как реализовать такой функционал сайта, как другой и т.д.
>>1697757 >Ну там как реализовать такой функционал сайта, как другой и т.д. как раз вот етот инструментами вобще-то >Не жс, не реакту, не вёрстке, а именно
если что-то не понятно есть туториалы, и можно найти как реализуется каке-то функция, например react pagination
>>1698027 Ну мне в целом понятно как реакт работает. Как жс работает тоже понятно. А вот эти слова типа пагинация, валидация для меня не то чтоб не знакомы, но скажем темный лес.
>>1698082 >А вот эти слова типа пагинация, валидация для меня не то чтоб не знакомы, но скажем темный лес. ну ты и теоретик)) пару пет проектов, и будешь понимать что к чему наверное. вот примеры фронтендов аппов https://github.com/gothinkster/realworld#frontends
>>1698225 >уже есть в портфолио ну если ты не копипастил код то тебе наверное уже более менее понятно что к чему. примеров что слепить куча, каталог фильмов, веселые картинки c 9gag и подобного.
чего-то серьезно сложного на практике редко встречается, что-то в стиле crud c rest api в основном, с разной градацией рутины.
>>1680344 Так в этом и заключается проблема. Так как фронтенд прост, то сюда и ломятся все кому ни лень и потом по 500 откликов за сутки на личинку фронтопитека.
>>1698599 >Так как фронтенд прост хзхз, кажется вроде хрень несложная, но после python & oop весьма неочевидно и распластанное, подход просто у жс другой. фронтенд сложен по своему, потому что столько каши всякой поналеплено.
>>1694431 > Я не понимаю каким идиотом надо быть чтобы выбирать более сложное решение для какой-то задачи когда есть простое
типичные слова любого пхп программиста и вьюшника покажи мне код VUE проекта который писался больше года, минимум 90 экранов?
vue очень хорош только для маленький проектов уровня TODO + главное условие ты должен писать этот проект один, когда проект больше 100 экранов , у вас в команде 5-6 фронтов это сразу пиздец проекту.
в react хоть 500 экранов пиши и подключай 100 разработчиков, код всегда будет хороший.
вот и вся разница, топовые компании не просто так выбирают react. vue используется во всех галерах и только в парочке топовых компаний
Совершенно не понимаю в программировании, поэтому сразу извиняюсь за возможно глупый вопрос. Есть скрипт, который должен выполнять действие в чч:мм:57:500 или больше, но почему-то он срабатывает раньше (при тесте сработал в в чч:мм:57:200), в чем может быть ошибка? https://pastebin.com/NzTbHQEz
>>1698832 Нахуй тебе эти проверки? Date хранит время в миллисекундах начиная с 1970 года. Так что тебе надо сконвертировать нужную дату в другой Date и против него сопоставлять нынешний Date.
Мне кажется, или веб-апи какое-то неправильное? Какой-то java-style код с убердлинными именами методов, слабой интеграцией трёх(!) DSL друг-в-друга. Полным лан, не полным, но всё же отсутствием расширяемости. Нахуй вообще в вебе HTML? Почему бы просто не сделать Inner DSL внутрь JS? CSS тоже можно заменить на JS. Почему бы не использовать один нормальный скриптовый язык для всего приложения? Зачем ебаться с мостами, getElementById, querySelector, и прочим императивным говном?
>>1698709 Вся эта каша - лишь вопрос времени и упорства. В бэкенде есть вещи, которые в принципе нельзя понять, если ты гуманитарий и с точными науками не дружишь.
Аноны, подскажите. Сделал небольшой Личный кабинет, авторизация с помощью своего апи. Данные о входе храню с помощью Context, и всё работает нормально, но при перезагрузке страницы выкидывает из кабинета. Как сделать так, чтобы при перезагрузке пользователя не выкидывало?
>>1699169 Ты совсем долбоеб или прикалываешься? Пользователь вводит логин и пароль, сервер валидирует данные и в случае успеха создает куки сессии, которые желательно привязать к IP пользователя. При получении запроса с соответствующими куками сервер отдает ответ который соответствует ответу для залогиненного пользователя. Таким образом получить какую-то конкретную информацию можно только при условии, что ты посылаешь определенные куки с определенного ip, чего вполне достаточно для безопасности. Можешь еще версию браузера учитывать и другие параметры запроса, если совсем параноик.
Призываю гуру реакта. Есть проблема - создаю Layout для своего SPA. В моем случае - это статический каркас с динамически подменяемым компонентом. Проблема вот в чем - как передать в конструктор (функции или класса) другой компонент? Props работает только с его свойствами, мне же нужен целый компонент. К примеру - есть все тот же статический каркас - хедер, футер, бади. Мне нужно подкидывать в бади разные компоненты (в раутинге). Еще один пример - у меня есть все тот же Layout (component), как сделать так, чтобы можно было творить такую магию:
<Layout> <Component/> </Layout>
Component в данном случае ситуативный. Такое вообще можно сделать? Какие параметры конструктора для Layout задать, чтобы он приминимал компонент и размещал его в определенном плейсхолдере?
>>1699070 >бэкенде есть вещи, которые в принципе нельзя понять, если ты гуманитарий и с точными науками не дружишь. если обучаемый, то так же: >лишь вопрос времени и упорства
>>1698771 >в react хоть 500 экранов пиши и подключай 100 разработчиков, код всегда будет хороший. вот-вот, вопрос именно в масштабе и постановке задачи, а не то что какае-то технология дерьмо.
>>1699271 Хуй знает, чего ты хочешь достичь, но что мешает запихать <Component/> в рендер <Layout> в виде какого-нибудь JSX тернарника, если отображение ситуативное?
>>1699293 Потому, что у меня есть к примеру - Component1, Component2 etc. Я хз какие подходы в реакте со статической частью. По факту - это обычный Layout, в который подкидывают контент
>>1699309 >Потому, что у меня есть к примеру - Component1, Component2 В смысле один компонент, но с разными входными данными? Так тебе надо эти данные хранить в стейте лэйаута, а с него уже скармливать пропсы дочернему элементу.
>>1699335 нужен плейсхолдер для размещения компонента. Контейнер в контейнере. Сейчас через setState попробую, но я уже нашел решение со Switch-case >>1699339 без наследования, просто запихивать компонент на плейсхолдер другого компонента
У меня была такая идея, что есть к примеру компонент - "Container", в него можно запихнуть компонент "Grid" и т.д. Типо матрешки контейнеров. Я пытался через сорсы внутри VisualStudio посмотреть, но там пропс с интерфейсом, что еще более геморно
>>1699347 Свитч-кейсы звучит как хуйня. В известных мне либах делался колбэк renderTarget и передавался пропсой. Что-то вроде (args: any)=> ReactComponent
>>1699347 >Типо матрешки контейнеров Не совсем понимаю что ты хочешь сделать. Обернуть одним компонентом другой? Вот простой пример как подобное можно сделать. Пик 1 скажем компонент Car который занимается отрисовкой машины и которому хотим извне передать стили. Можно написать HOC (пик 2) который оборачивает компоненты в css классы которые передадим. И внутри компонента Car скажем пишем export default withClass(Car, classes.car). Первое компонент, второе css класс который передали. Тем самым компонент оборачивается в нужный нам стиль сохраняя все свои пропсы. И таким образом гораздо более изощренную логику можно провернуть.
>>1699364 тут ты обращаешься к элементу компонента, мне нужен целый компонент >>1699365 посмотрел доку, если можно внутрь блока reducer запихивать компоненты - то, что нужно. На примере вижу манипуляцией переменной >>1699403 >Свитч-кейсы звучит как хуйня соглы. По поводу (args: any) - я rookie в реакте и эту идею увидел в реализации Component > Grid или других вложенных компонентов в компонент, типо той же либы Material-Ui, где в компонент <Paper> можно вложить компонент <Chart> вот таким макаром: <Paper> <Chart /> </Paper> >>1699423 >Обернуть одним компонентом другой? именно. Сейчас попробую твой пример.
Гугл что-то сделал и теперь мои расширения, которые я когда-то писал перестали работать. Теперь нужно хитровыебано перебрасывать сообщения между background.js content.js моего низкого уровня не хватает чтоб правильно понять каждую строчку этого.
Может кто-то тут делал расширение и может поделиться кодом. Все что мне нужно это чтоб по нажатию на иконку расширения вылазил попап с кнопкой. По нажатию кнопки на текущей вкладке должно что-то происходить. Не важно что, можно просто в консоль написать "карасик". Вроде просто, а я 4 часа убил и не осилил...
>>1699536 >посмотрел доку, если можно внутрь блока reducer запихивать компоненты - то, что нужно. Но не приветствуется. Всё, что связано с рендером, должно быть расположено в компоненте. Редюсер только должен изменять стейт компонента, а логика реагирования на эти изменения должна быть внутри этого же компонента.
>>1699545 вот то, что именно я хотел >>1699364 >Редюсер только должен изменять стейт компонента да, в доке так и написанно, как и setState.
Я удивлен, насколько активное комьюнити реакта в JS треде. Видимо не зря выбрал реакт, а не Vue (советовал знакомый, которой копытом в грудь бил, что лучшая либа)
>>1699542 И да, в твоём случае легче установить Tampermonkey и добавить элемент-кнопку на каждую открытую старницу. Можно сделать так чтобы она появлялась при определенном нажатии клавиш, либо при наведении мыши в угол страницы.
Мимовопрос по вёрстке. Почему у академии в одном из заданий флексы растягивали родительский элемент? Конкретно получалось чёрные блоки из пикрила простым justify-content: space-between раскинуть по углам, как???. Ведь так не должно быть? https://jsfiddle.net/1r8sgw62/
>>1699548 я вообще в мире web rookie и по совету знакомого решил не писал на Valilla JS, а выбрать сразу либу для удобства работы. Вообще после статической типизации с императивным стилем - все эти реакты это нечто. Особенно поразил routing - просто кайф. Но я все еще не привыкну к ФП фишкам типо функции функции, map, reduce, полное отсутсвие циклов (может еще не встречал) и через жопу реализованная инкипсуляция с this без модификаторов доступа и ограничением области видимости одним компонентом.
Есть еще есть вопросы по реакту, кому не влень: 1. В чем отличие инициализации const / function / component? Почему const используется как функция, ведь это должна быть константа? 2. Render должен быть только 1 на все приложение? Это как контекст точки входа ака метод Main? 3. Как браузер отслеживает изменения setState? Это фишки "реактивных" технологий или в браузерах есть handler на изменение этих полей? 4. Очень много видов стилизации есть - useStyles, подключением css файла, писать прямо внутри компонента. Какой стиль предпочтительней?
>>1699608 Типизацию то не бросай, вот тебе тайпскрипт. >map, reduce На чем же ты писал
Пиши функциональные компоненты, тогда this ты не увидишь не стоит вскрывать эту тему. В модификаторы доступа тут не играют скоро будут, но пока нет Функция - это тоже значение, просто у него тип «функция» и его можно (). Браузер ничего не отслеживает, setState - метод реакта, он на него и реагирует. По стилям тебе надо просто самому все попробовать и выбрать то, что понравилось, и это будет, скажем, styled-components
Столкнулся с проблемой. Решил нормально запилить сайтец. Использовал БЭМ для классов элементов и gulp для использования SASS. На компе понятное дело как с этим работать. Типа пишешь всякое в нужном файле, запускаешь файл с задачей в командной строке и gulp превращает. Теперь сайт со всеми причудами на серваке. А как работать с галп? Нужно через ssh файл запускать после каждого редактирования или есть альтернативный способ?
>>1699608 >без модификаторов доступа Есть, можно в прототипе покрутить, но реакт тут ни при чем и вообще не надо вскрывать эту тему. >1. В чем отличие инициализации const / function / component? Почему const используется как функция, ведь это должна быть константа? Что? >2 рендер есть у каждой компоненты.... >4 Очень много видов стилизации есть - useStyles, подключением css файла, писать прямо внутри компонента. Какой стиль предпочтительней? Какой тебе удобнее. Достаточно модные css-модули сейчас, если используешь CRA, то там из коробки вебпак настроен
>>1699620 Нужно на специальном сервере например, на твоём кудахтере запускать билд, а на прод деплоить результат. Ещё лучше чтобы специальный сервер следил за релиз веткой в твоём vcs и сам запускал билд, тесты и деплоил на прод. Ещё лучше чтобы в твоём облаке были запущены контейнеры, которые бы делали все выше описанное. Вселенский_мозг.пнг
>>1699614 мне после решеток typescript роднее JS-a. Но это же Angular, я к нему не склоняюсь >функциональные компоненты не понимаю >setState - метод реакта я не знаю, что под капотом всей этой магии, но при изменении состояния меняется страница, как в AJAX, что меня удивляет
привет. я - дурак-дураком, признаюсь. не могу нагуглить отличаются ли чем-то js и userjs. понимаю что ответ на вопрос, скорее всего, в самом вопросе но я хочу твердый и чёткий ответ: да или нет. спасибо.
>>1699631 дыа, вопрос крайне тупой но мне жизненно необходим ответ от человека понимающего. я, вроде, понимаю что в принципе это одно и то же, но сомнение и нежелание читать матчасть сжирает меня...
>>1699608 >Почему const используется как функция, ведь это должна быть константа? Функциональное выражение против функционального объявления. Только релевантно в контексте класссовых компонентов. >2. Render должен быть только 1 на все приложение? Это как контекст точки входа ака метод Main? Ты про ReactDOM.Render()? Можно несколько, только рендерить надо в разные элементы. Также у каждого классового компонента есть метод render(). А так функциональные компоненты по дефолту возвращают рендер. >3. Как браузер отслеживает изменения setState? Это фишки "реактивных" технологий или в браузерах есть handler на изменение этих полей? Никак, именно поэтому нужно пердолиться с хуками/setState. >4. Очень много видов стилизации есть - useStyles, подключением css файла, писать прямо внутри компонента. Какой стиль предпочтительней? Это уже зависит что команда на работе выбрала. Но вообще один css файл с каким-нибудь scss поверх - наиболее производительный вариант и проще дебажить, чем отлавливать инлайны в коде. У тебя один хуй код будет сруктурирован так, что у каждого компонента будет свой css-класс.
>>1699633 Это не одно и то же. ЖС - скриптовый язык, юзержс - мокрая писечка от оперы, позволяющая загружать кастомные жс скрипты. Типа фаерфоксовской сальной обезьяны.
>>1699804 Вью шизик все не может угомонится. Все приходит за новой порцией мочи. Уже сто раз пояснили что Вью для хипстерской дрысни и плох для серьезных проектов.
Скажите, по вашему мнению, жива ли мать того, кто писал это? https://codesandbox.io/s/charming-bell-k4d4g Куда ебучих this, onchange - что это блять хуета? Почему нельзя оперировать 2 переменными email и password? Как это переписать, чтобы не было этих ебучих this.change = this.change.bind(this)?
>>1699863 попутно к этому посту у меня вопрос - как создавать глобальные переменные/константы в react? Я же не буду в каждом файле создавать к примеру - jwt token, мне он нужен в одном месте, к которому я могу обращаться. И еще - как получить исходящие параметры функции или компонента? Как передавать я понял, а как возвращать - нет
>>1699867 >Я же не буду в каждом файле создавать к примеру - jwt token, мне он нужен в одном месте, к которому я могу обращаться. Что тебе мешает его экспортировать? Один хуй бандлер всё в кучу свалит и токен будет в глобале лежать.
>>1699873 не понимаю, можешь показать? Я так понял, что мне нужно использовать Redux, т.к. я не могу понять, как происходит передача методом исходящих параметров (разве что через state компонента) >>1699887 спасибо
>>1699923 это ад блять >>1699926 спасибо >>1699927 да я хуй пойму, как тут передача работает. Кривой ООП (если вообще эту концепцию можно сюда приплести), какие то блять кувырки через голову с состоянием каждого компонента, что блять попало. У меня уже нервный тик от этого react-a
>>1699943 "фичи", хотя в чужой монастырь со своим уставом не лезут, если это нормальная практика, то пусть будет так. По совету >>1699926 начал инициализировать статические переменные - намного проще, чем в каждой строчке видеть this
>>1699930 >не понимаю, можешь показать? Короче, я тупо не понимаю нахуя там биндинги если все равно используются стрелочные функции. Можешь тупо убрать их и ничего не изменится. Либо если хочешь оставить то перепиши в стиле {this.change.bind(this, e)}. Но проще всего оставить как есть и стереть из конструктора нахуй биндинги.
>Я так понял, что мне нужно использовать Redux Ты еще больше запутаешь себя.
Ну и не забудь аксиос импортировать иначе он работать не будет.
>>1699993 я думаю это из за нехватки знаний в JS-e (никогда на нем не писал) >не забудь аксиос импортировать да, я его выпилил из импортов, чтобы интерпритировалось спасибо за совет
>>1700048 Всякие запросы к серверу нужно делать через componentDidMount() если у тебя класс либо через хук useEffect если функция. Алсо убери эту говнофукнцию change которая ничего не делает кроме как меняет твой стейт. Просто setState можно и в рендере вызвать. Ну и плюс внутри нее ты меняешь стейт аля [e.target.name]: e.target.value Хотя у тебя не прописан он в стейте изначально.
В функции submit ты мутируешь напрямую стейт. Реакт тебя убьет за такие фокусы. Либо делай через setState либо через хуки как я на пике показал.
Кароч переписал твое безобразие как только мог, чтоб не было this и прочего и выглядело более менее красиво и лаконично. Через хуки и функциональный компонент. Скорее всего так работать не будет но дальше ты сам рефакторь, удочку я тебе дал.
>>1700077 И еще совет на будущее. Если ты пишешь компонент с нуля то пиши его как функцию. Классы запутывают людей что прекрасно видно на твоем примере. Плюс еще и this в js ведет себя не так как в других ЯП чем дополнительно запутывает людей.
>>1700077 >>1700084 согласен, функция как правило это механизм, которые принимает на входе данные и отдает обработанные выходным параметром. В случае с реактом функция - это целый объект, у которого и состояние и функции внутри могут быть. Спасибо больше за помощь, помог
Братва, использую библиотеку request для парсинга. Как обойти вот этот кал: "проверяем ваш браузер, падажи 5 секунд". На зеркалах пират бея такое вылезает. Пикрелейтед предоставить не могу, потому что вышел из компьютера, сижу отдыхаю в телебоне.
Сап, какие перспективы у TypeScript? Я смотрю, его все чаще начинают указывать в требованиях к позициям. Как часто и в чем его используют? (на сколько я знаю он в последних Angular-ах)
>>1701528 А зачем он нужен вообще? Я понимаю, что типы это круто, но его используют во фронте или на бэке? Обмазываются одновременно и им и react'ом и express'ом? Кстати какой самый востребованный\крутой js бэк сейчась? Express?
>>1701537 Ну ты сходу все не взваливай на себя. В целом преимуществ нет с обычным жс. Просто у консервативных манек принято что типы это круто. Но платят больше. Учи когда уже работу найдешь. Для этого тайп особо не нужен
>>1701528 >Очень часто это где, в каких библиотеках/фреймворках? Vue, react - JS, ASP.NET - blazor, а тайм скрипт где? Только для копроративных Angular?
>>1701564 Язык то не плохой, очень похож на мой родной, но почему именно он? Я помню, как все кончали от CoffeeScript, но на сколько я знаю - он мертв. Есть еще альтернативы - тот же Dart, GorillaScript еще и TypeScript затесался. Как минимум от того, что это продукт мелкософта, то он не сдохнет и не забудеться, как это бывает с некоторыми технологиями, но все же - какая сфера применения, технология, стэк?
>>1701600 Сфера такая же где и используется жс. То бишь фронт на 90%. Фреймворки уже вторичны. В целом это реакт и ангуляр. А фишки кофтскрипта вроде в es6 перекочевали и он стал не нужен насколько помню.
>>1680326 (OP) поясните за 3 и 4 пику. В 4 типо Flow (проверка типов) занимает 30 гиг, а с чего так распухла директория? И что за прикол с телкой у ноута?
Здарова, а как создать переменную чтобы ее тип был известен VS CODE? Во всяких библиотеках когда ставишь точку всплывают всякие методы и свойства, вот я также хочу
Главное условие тестируемости функции (на мой взгляд): отсутствие глобальных переменных. Все данные которыми оперирует функция должны передаваться в виде параметров. даже сами параметры должны оставаться нетронутыми. В то время как реакт приучивает использовать глобальные переменные внутри функций-компонентов (стейт и контекст).
Что остаётся? передавать их явно в каждую вложенную функцию, ретёрнить оттуда и диспатчить извне? В этом случае каждую функцию можно будет покрыть тестом, но код станет всратым говном
Сап. Решил вкатится во фриланс, параллельно с фултайм работой, где сейчас работы нет и я на бенче. Собсно зарегался на хабр.фрилансер и встал вопрос - что гасить в портфолио, если весь продакшн код под НДА, и мне тупо нечего демонстрировать заказчикам. Пет проект я ебал писать ради них да и идей у меня нет
Скриптач, нужен фреймворк или плагин, вобщем размером поменьше, но чтобы как Vue, можно было нацеплять тегов к моделям и ДОМ обновлялся синхонно с моделью, больше вобщем то нихуя не надо, желательно чтоб теги были тупо {{pole1}} и тд, и так же их можно было пихнуть в классы и стили элементов, цель засунуть эту дрочь в веб морду прибора, там флеша мало, так что если уместиться килобайт в 10 в зипе будет огонь.
Анончики, выручайте. Пишу на Реакте, использую Контекст. У меня есть панель навигации, которая меняется в зависимости от того, залогинен юзер или нет. Часть данных юзера храню в cookies и при каждой перезгрузке приложения отправляю запрос к АПИ для подтверждения юзера. И в этот момент навигация на секунду становится как для гостя, а после прохождения запроса как для юзера. По умолчанию, в контексте прописал, что любой посетитель - гость. Как сделать так, чтобы навигация напрямую зависела от результата ответа АПИ?
>>1699019 Одно дело три разных программы. А другое дело тесно связанные технологии, которые по современным обстоятельствам плохо связанны, из-за чего придумываются всякие препроцессоры, темплейт движки, фреймворки, и прочие костыли.
Серьезно, когда в фронтэнде появится нормальный язык с макросами, гомоиконностью, и с гибким, незашумленным синтаксисом?
Вопрос не совсем по теме, но может кто нибудь поможет, потому что не получается решить проблему, у меня ебаный скрипт не подключается к html странице, оба находятся в одной папке, редактор VS.Code
>>1702710 заебись, только я не понял где там скачать этот самый js файл размером 3кб, везде куча файлов и скриптов, хуйня какая то, можешь пример для даунов показать с подстановкой и ссылку на сам этот скрипт
Подскажите, пожалуйста, ньюфагу, как можно обратиться к элементам ассоциативного массива не по ключам, а по цифрам? Т. е. есть array = {id:"0", name: "Вова", age: "30"}. Я хочу обращаться не по array.id, а, например, array[0], но так нельзя.
Это я сильно упростил, но смысл такой. Заранее спасибо.
>>1680326 (OP) товарищи анонимусы, возник вопрос. как работает ассинхрон в веб почте gmail? насколько я понял, браузер ничего не запрашивает по таймеру, протокол не ws, но при получении нового письма все четенько прогружается без обновления. Это средствами жс реализуется? а где тогда активность в network? или это что-то типо джанго-каналов? Если кто знает, объясните магию. или на подобном примере. Спс
>>1702991 >Динамическая в руках профи лучше. Угу, можно наговнокодить и съебаться в закат до того, как придётся поддерживать этот код. А ебучий тайпсрипт заставляет фючер пруфать и вообще работать в команде.
Анончики, тупой вопрос, но все же. Когда я собираю проект с помощью билда, переменные, зависящие от переменных среды проставляются явно или сохраняются в том же виде?
>>1703151 >Динамическая в руках профи лучше >Спрашиваю с чем сравниваешь >Java и го >Не указываешь версии ни Java ни Golang. >мифических вкатышей >мифических >вкатышей Я бы поговнил тебя сейчас, но настроения нет, извини. Даже спрашивать не хочу, чем же тебе Java не понравилась, но как я писал раньше - найдешь работу, попадешь в тырпрайз, поймешь радости статик типизации
>>1703191 >там типы не часть системы,а скорее пометка для удобства Что это значит? Статик типизация - это жесткая привязка объекта к типу на многих уровнях - от инициализции до компиляции. Другими словами - если ты создашь тип User и передашь в метод с входящими параметрами string, то тебя для начала Intellisense нахуй пошлет, если работаешь через IDE, потом компилятор. Другой случай, если ты сделаешь тоже самое в JS, то он проглотит это дерьмо и не заметит (если не создашь условия для проверки типа), только на выходе ты ничего не получишь. Хоть JS и хороший язык, но статика - это маст. хев. Да, я топлю за то, чтобы тратить на 10-15 секунд больше попутно объявляя переменную конкретного типа, но предохраняя себя от выстрелов в ногу, особенно в обросших мясом и прочим говном проектах
>>1702176 >Кишки компонентов не надо тестировать Почему? А как же юнит тесты, которые должны покрывать максимальное количество логики? >>1702276 хз что это за площадка, но Upwork и Fiverr - хлеб фрилансеров. Насчет подработки - очень сомнительное говно, т.к: 1. Тебя будут щимить профили мини галер со стеком от ++ до QA 2. Тебя будут демпить индусы, китайцы и прочая нечесть 3. Тебя будет дрочить сама биржа - аутентификация, проверки и прочее. В чате что ни будь спизданешь за прямой контакт с заказчиком - скажи пока своему акку (на котором еще репу нужно дрочить, ага) Дело твое, я бы ставку на фриланс не делал, уже прошел это дерьмо
>>1703324 >Это? Да, там достаточно много ресурсов по вёрстке, игрульки по сеткам/блоги/валидаторы/фишки, можешь порыться на трекерах и глянуть интенсивы по вёрстке от академии, именно по вёрстке, по жс не надо, тому как там курс за 2к18
Братва, как одной командой в терминале организовать себе рабочий процесс в реакт и тайпскрипт? create react app template typescript не подходит, потому что там нужно переписывать файлы, а я боюсь лишнего чего сделать. У меня окр просто, хочу чтобы все идеально было
>>1703466 >одной командой >У меня окр Пиздишь, там ещё темплейты ставить для модулей. Но вообще не понятен вопрос, если с нуля, то однохуйственно, что там CRA + Typescipt переписывает.
>>1703474 > не понятен вопрос, если с нуля, то однохуйственно, что там CRA + Typescipt переписывает. Ну смотри, когда эту команду выполняешь, у тебя в папке js скрипты а не tsx и их нужно переписывать. Я до этого пользовался parcel js, а теперь хочу typescript выучить писать тип при объявлении переменной, дохуя учить пиздец, чтобы у меня подсвечивались приколюхи всякие нормально
>>1703480 >Ну смотри, когда эту команду выполняешь, у тебя в папке js скрипты а не tsx и их нужно переписывать. Меняешь расширение на tsx и похуй. Может чего-нибудь в package.json надо будет менять. https://create-react-app.dev/docs/adding-typescript/ >Next, rename any file to be a TypeScript file (e.g. src/index.js to src/index.tsx) and restart your development server! >писать тип при объявлении переменной, дохуя учить пиздец Так-то примитивные типы - вершина айсберга. Если у какой-нибудь либы не будут прописаны кастомные типы, то тебе придётся неплохо попердолиться, чтобы успокоить TS.
Анон помоги. React + JSS. При использовании JSS рендер компонента происходит 2 раза тем самым увеличивая время рендера(логично). В примере я сделал компонент погоды который принимает стейт из App.js и выводит его внутри JSX, так же в этом же компоненте реализован JSS стиль.В файле App.js есть стейт counter, увеличивается по нажатию кнопки и не как не отностится к Weather. Для предотвращения повторного рендера функционального компонента Weather завернул его в memo().Так вот компоненты монтируются, в консоль попадает одно сообщение Render из Weather и по нажатию кнопки Weather уже не рендерится это норма. Но вот когда подключаешь строчку const classes = useStyes() как бы забирая стиль который описан сразу выше,рестарт страницы и видим что Render вызвался два раза. Если смотреть perfomanse то время монтирования компонента Weather вырастает c 36ms до 96ms. Так вот это норма ? Как сильно будет это влиять при дальнейшей разработке системы компонентов ? StyledComponents не зашли. Код в sandbox прилагаю результат такой же https://codesandbox.io/s/jssrendertwotimes-hle0r?file=/src/weather.js
>>1703521 ><React.StrictMode> https://reactjs.org/docs/strict-mode.html >Strict mode can’t automatically detect side effects for you, but it can help you spot them by making them a little more deterministic. This is done by intentionally double-invoking the following functions:
>>1703573 То есть в режиме разработки при использовании хуков React явно вызывает метод Render два раза для ловли ошибки которая может проявиться в build, но в build вызов происходит только один раз. Огромное спасибо тебе
>>1703489 Ебать снова вел эту строчку, все установилось в tsx формате. Сижу кайфую от подсветки методов. Какие сложные темы есть в typescript? Почему пхпшники и жукверики так бомбят от него?
>>1703222 спасиб, но это чутка не катит, это же для node js? пробовал еще кстати doT, там тоже по тэгам, но эта хуйня тупая, берет код блока в виде текста и регуляркой замняет теги, поэтому вся страница дергается, то есть если выделишь кусок какой-то который даже не обновлялся то все выделения стирается. может знаешь еще варианты какие? спасибо за внимание
>>1703202 >только на выходе ты ничего не получишь Внезапно, но получишь(не всегда, но иногда можно и полезно). Что если я скажу, что String это просто иммутабельный Array, а Array это просто Object, в котором все ключи - числа, а обращаться с ними можно одинаково(за исключением методов)?
>>1703169 Джава императивная параша с анальным ооп, о чем ты? Если человек пишет с ооп то он уже червь пидор. Не зря так черви радуются функциональным фишкам когда их завозят в сисярпы и прочие жавапараши
Здарова бандиты. Я андроид разраб и за этот ваш js совсем не шарю, и потому мне нужна твоя помощь анон! В общем есть одна либа: https://github.com/reelyactive/advlib Чтобы запускать js код на джаве можно заюзать js интерпретатор по типу этого: https://github.com/evgenyneu/js-evaluator-for-android И вот вопрос: либа поставляется как Node js модуль или хуй знает как у вас это называется. Чтобы выполнить код на андроиде весь код этой либы нужно получить в виде строки. Причем, насколько я понимаю, этот ваш npm кроме собственно либы загружает и ее зависимости, что-то типа пакетного менеджера. Так вот, как получить весь код либы и ее зависимостей в виде строки? Или может есть другой способ заюзать Node js либу в джаве/котлине?
Изучаю тут жс и возник вопрос - если обратные кавычки такие охуенные, не стоит ли писать всё только с ними? Или возникнет проблема обратной совместимости?
>>1704318 >alert( Boolean(a) ); // false Приводится 0 к булевому значению, возвращает false. Логично. >alert( Boolean(b) ); // true Строка "0" приводится к булевому значению, возвращает true как и любая не пустая строка. Логично. >alert(a == b); // true! Оба операнда приводятся к строковым значениям, а потом к булевым. Т. е. мы получаем сравнение вида "0" == "0", получаем true. Логично.
Аноны, можете пояснить за defaultValue. В каких случаях Реакт в него смотрит? Как сделать так, чтобы он в него не смотрел? Или я хочу, чтобы оно с самого начала задавалось с помощью запроса к серверу, что для этого делать? https://reactjs.org/docs/context.html#reactcreatecontext
>>1704595 учи редакс. Построить приложение чисто на контекте нереально. будет запутанная каша вместо кода. НУ а касатальено второго вопроса - ну делай запрос в didmount'e, а потом респонс сетишь в context.provider
>>1705488 Для практических целей не стоит. Как показывает практика, строгая типизация нужна только говнокодерам. Профессионалу легче с динамической. С точки зрения денег стоит. За это доплачивают.
анонсы, собираю скрипты со страницы которые мне надо проинициализировать на другой странице. они хранятся в объекте в виде строки т.е. каждый скрипт занимает свою строку, итого 5 строк в объекте как мне их на другой странице проинициализировать не юзая eval() ?
Сап гуру реакта. В очередной раз я сел жопой на грабли и не могу придумать решение вот уже 2ой день. Но я знаю где мне помогут. Есть 2 стула компонента: 1 компонент - формочка, где есть 1 поле и 2 интупа и 1 кнопка (утрированно). 2 компонент - это axios handler с получением данных по web api. Этот компонент принимает 2 аргумента в пропсах - email, password. Что мне нужно - в 1 компоненте (формочке) запилить в поле <p>К примеру</p> содержимое компонента 2 (axios) с передачей параметров формочки 1 (эти два интуп поля). НО, кнопочка - должна делать тригер этого запроса. Через передачу setState в компонент - это хуйня, т.к. при каждом вводе символов будет идти бесконечные fail запросы. Как быть, анон? Обдрочил уже все SOF и гугол, не знаю что придумать... У меня это уже все реализовано в одном компоненте, но хочу по красоте, чтобы все было раздроблено. Задача как по мне не сложная, но этот реакт - просто нахуй ломает мозг с передачей View. Отцы MVVM учили не мешать логику и UI, тут все в куче...
>>1705966 у меня реализованно обычной функцией, которую я легко вызываю через onClick, присваиваю результат в setState и отражаю его в нужном поле. Мне по факту из этого метода return html вообще нахуй не нужен
>>1705176 >делай запрос в didmount'e, а потом респонс сетишь в context.provider Так я так и делаю. Только всё равно при обновлении страницы приложение на долю секунды рендерится для defaultValue, а только потом для результата в useEffect
Посоветуйте книжку по сетям с минимумом информации для задротов про то как информация проходит по медным проводам. Чтобы про всякие хедеры, прокси, сокеты и прочее
>>1706008 ну это норм. ты по-другому просто не сделаешь, ты можешь конечно не рендерить начинку, а показывать, например, спиннер для таких ситуаций. но в любом случае у тебя компонент у которого рендер вызовется дважды
>>1705964 чел ты.. Прикрепи ты ебучий код. Нихуя не понятно что ты хочешь и что у тебя реализовано уже. Что нахуй значит 1 поле и 2 инпута? ЧТо блять за компонент который axios handler? Про паттерны забудь кстати
>>1706230 да я уже сделал, я в JS глине не силен, все что мне нужно было - это создать обычную функцию, которая принимает пропсы. >Про паттерны забудь кстати всмысле? Паттерны - это наше все. Поведенческие, структурные, порождающие. Фабрики и фасады, бриджи и обсерверы. Ты на них не задевай! Это цветное.
>>1680326 (OP) Как называется фича, когда на странице результаты прогружаются во время прокрутки?.. Своеобразная пагинация, только в пределах одной страницы?
>>1705488 Если тебе жс нужен для работы, то у тебя даже выбор НЕ изучать тс в 2020 уже нет. Ты будешь очень долго искать работу на ванильный жс. Разве-что на какое-то легаси говно на жквери попадаешь и возненавидишь этот ад уже на вторую неделю.
Можешь писать на чистом жс только такие простые вещи, для которых его первая версия создавался в 1995ом году. Все, что сложнее этого рано или поздно тебя самого приведет к необходимости писать на тс.
>>1705493 Сам профессионал или просто говоришь от их лица? Ты если что обосрался на этапе определений. Есьт строгая/нестрогая типизация, а есть статическая/динамическая
>>1705989 Хуй знает. Исторически нельзя было. Это окно рисуется браузером/системой в обход дома. Однако сейчас в браузеры протаскивают поддержку стилизации системных элементов, которые раньше стилизровать нельзя было вроде ренджей или полос прокрутки (раньше можно было только цвет поменять и то не везде). Есть ненулевая вероятность, что и для алертбоксов какие-то селекторы в цсс протащили уже. Но мне лень изучать этот вопрос.
Но скорее нет. Рисуй алертбокс сам средствами дома или найди готовую гуишную либу.
>>1706345 Конечно можно. Но медленно и больно. В итоге предстаешь перед выбором - или выходить в окно, или менять профессию или перестать ломаться и играться в хипстера и просто взять тс как делают сейчас все.
ванильный жс проект на десятки тысяч строк это ужасно. Это мерзко. Такая хуйня до конца дней будет вызывать вьетнамские флешбеки. Особенно после того, как попробуешь тс и узнаешь, что, оказывается, так можно было.
>>1706349 Сектанты ебаные, вам ваш тайпскрипт типизацию дает и переменные в сущностях подсвечивает в вашей идешке сраной, а они блять выебоны до неба строят и сравнивают js с ts как ассемблер с высокоуровневым языком. Не дает выстреливать в ногу и снижает количество багов. Все. Успокоились, сектанты ебучие. Как будто в треде менеджеров-продаванов, а не разработчиков сижу
>>1706352 Сектанты ебаные, вам ваше иде типизацию дает и переменные в сущностях подсвечивает в вашем редакторе сранном, а они блять выебоны до неба строят и сравнивают блокнот с иде как ассемблер с высокоуровневым языком. Не дает выстреливать в ногу и снижает количество багов. Все. Успокоились, сектанты ебучие. Как будто в треде менеджеров-продаванов, а не разработчиков сижу
>>1706341 Я вообще бекендер на питоне, начинал вкат в пограминг еще 3 года назад на С. Но в последнее время приходится лично чаще с фронтендовскими свистоперделками работать. К тому же была возможность на более пиздатую вакансию пойти но там ближе к фуллстеку - надо еще во фронте расшаривать, а я дальше ванилки ничего не знаю
>>1706341 Что такого с jquery кстати? На заре васянских сайтов я вешал его (ajax) себе в формы для интерактивности, меня остальное в принципе и не ебало
>>1706407 >Работаю в Яндексе уже 4 год. Сениор. Вопросы? Очень сочувствую Яндексу за то, что на сеньоре он держит макаку, для которой антоним строгой типизации - динамическая, лол
>>1706546 >Настаивать на ошибочности всего суждения только потому, что в одном из аргументов была допущена ошибка Забавно, но проблема в том, что у тебя в суждении не было аргументов вообще. "По мнению специалистов", "как показывает практика". Шизик, ну плиз. Я критиковал не аргумент твоего суждения, аргументов не было вообще. Я критиковал уровень твоей компетенции. Что можно ожидать от человека, путающего строгую и статическую типизацию?
>>1706471 Ну как он сказал - >>1706499 Типо как историческая веха он как что-то хорошее. Но его время уже прошло и в es6+ в нем нет никакого смысла уже. Все лучшее из него перекочевало либо в ядро языка, либо в более современные либы.
Жиквери в вакансии указывает на то, что либо у них очень древнее легаси, которое никто уже не хочет тащить, либо у них сеньоры уровня >>1706407
В идеале надо пытаться идти во что-то актуальное, для минимизации трудозатрат, нервов и красивого аккаунта на линке (годы работы на легаси в линке это как клеймо не способного в обучение озлобленного старпера).
>>1706626 У языка должно быть крайне упоротое и сектансткое комюнити, что бы у него не горело от своего языка. Все ЯП - говно и рано или поздно их сменит следующее поколение ЯП и так до бесконечности.
>>1706635 Яндекс музыка у нас отдельная боль. Проектом рил даун управляет признаю. Впрочем пользуются Яндекс музыкой тоже не от большого ума. Аналоги в разы лучше.
Аноны, что сейчас востребованно больше всего (особенно на джунские позиции, конечно, я же вкатывальщик) по этим темам: 1) Стили. Используют ещё отдельные файлы .css, .scss или все уже перешло в css-in-js? А что лучшее из их группы? StyledComponents? JSS? 2) Нужны ли css фреймворки? Bootstrap? Material-ui? 3) Че по хранилищам? Нужен ли redux если реактовский useReducer делает то же самое? Что насчет MobX? Как же хочется вкатиться..
>>1707095 1. Используют. Scss лучший выбор 2. Не нужны. Все пишут на чистом css 3. Redux нужен. Мобх не так распространен так что для вкатывальщика редакс главный выбор 4. А ещё нужен тайпскрипт. Без него вкатиться тяжело
>>1707099 1. А как быть с динамическими стилями? Которые, например, зависят от текущей темы. Придется импортить стили и из .scss и подключать css-in-js? Как приличные люди хранят стили: все в одной папке для всех компонентов или по файлу для каждого компонента прямо рядом с .js файлом?
>>1707109 А в чем проблема? Scss позволяет работать со стилями как с жс переменными. Там хоть кучу ifов повесь, хоть отдельный higher order component создавай возвращающий стиль, можешь хоть стецт отдельный создать
>>1707095 1. допотопное говно вроде scss/less до сих пор используются (особенно вне реакта), хотя в экосистеме реакта активно вытесняются css-in-js. Раньше был популярен Styled Components, сейчас наметелся переход на Emotion (но мне SC нравится больше, хотя мб я привык к нему).
2. нужны. даже обосанный бутстрап портировали на все основные фреймворки и таким образом продолжают насиловать его труп. у меня нет предпочтения - они все говно. активно работал с бутстрапом и его форком для реакта и материалом - все лютое говно. возможно, ант надо попробовать - не работал еще с ним.
3. нужен редакс. но советую мобикс и советую стремиться попасть на проекты с мобиком или еще чем кроме редакса. редакс ужасен.
>>1707095 >>1707158 styled components юзал, прийдя на проект, говнище чет полное. Не дружит с тайпскриптом, рефы форвардить где-то приходилось (приходилось стили чуть-чуть накидывать на компоненты из внутренней либы), очень много переписывания кода, синтаксис не хайлайтится адекватно(в моем вебшторме по крайней мере). В компоненте надо стилизовать пару дивов по-разному всего лишь, а для этого приходится делать класс для каждого из дивов / передавать проп и тернарничками все ебашить / цепочку styled хуевертить. Один плюс - иногда полезно css в зависимости от пропа выставлять. Но так не рекомендую это говно.
Сейчас модно css/scss файл ипортить в компоненту и работать как с объектом (сss module). В CRA вебпак уже из коробки настроен
>>1707181 Ставишь плагин на свою иде_нейм и подсветка работает. Поддержка тс есть искаропки, хз как ты там это проморганил. Пропсы передаются и покрываются типами. Отдельные стили передаются легко - если не хочешь реализовывать пропсы (но вообще ты должен), то можешь навешивать таки классы или вшивать стили прямо в jsx элемент.
Сап. Очередная порция вопросов по React js. У меня есть статическая форма (Layout). В этой статической форме есть динамическое поле (Компонент). Каким инструментом лучше всего менять этот динамический компонент? Пример - динамическое окно должно смениться после клика по кнопке. Что то типо Switch в Router
Мда, джунов чет рынку не надо сейчас. А значит еще полгода минимум сидеть в техподдержке, с завистью смотреть на наших прогеров и фантазировать о вкате...
>>1707195 >Поддержка тс есть искаропки, хз как ты там это проморганил Ну у меня был кейс, что надо было оборачивать одну компоненту из либы в styled, по итогу пропсы не видело даже с расширением на ts. Возможно потому что туда еще реф надо было форвардить и писался отдельный утиль для этого. Как бы там ни было, в большинстве случае не стоит того. Держу styled-components для случаев, когда действительно очень удобно пропсой какой-то флаг передать и стиль контроллировать в зависимости от флага. Но это нечасто, а в остальных случаях это лишний код, который раздувает компоненту под 500 строк. Учитывая, что плюсов-то особых нет по сравнению с react modules не рекомендовал бы
>>1707219 У layout есть стейт, в нем заведи переменные, которые нужны тебе, флаг или что придумаешь. В layout сделай метод onComponentClick и передай его пропом в Component. Внутри component при клике вызывай этот метод, а он внутри меняет стейт Layout и триггерит ререндер. Самый дефолтный способ
>>1707332 >типо 2 стейта и менять их с true на False и обратно? Ну зависит от твоей задачи, откуда мне знать. В этом же и суть реакта считай, состояние стейта определяет как выглядит компонента. >И еще вопрос, как на одну кнопку привязать два обработчика? А почему нельзя обойтись одним? Если ты обработчик вешаешь через onClick, то он понятное дело один. Если ищещь элемент в доме и вешаешь через addEventListener - хоть сто штук вешай, только не забудь снять (не надо таким заниматься обычно)
>>1707335 >addEventListener - хоть сто штук вешай И то верно, спасибо Что насчет Router-switch? Я пытался через него сделать, но какая то хуйня получается
>>1707338 Наверное ты что-то не то делал. Router он для навигации же нужен, для того что ты описал это какой-то бред его юзать. Наверное чисто ради рофла можно, а где у тебя ошибка я, уж прости, не вижу.
>>1707309 >Держу styled-components для случаев, когда действительно очень удобно пропсой какой-то флаг передать и стиль контроллировать в зависимости от флага. Не проще ли этим флагом менять/добавлять строку в класс элемента, который потом будет меняться по правилам в .css?
>>1707459 В реакте с CRA не просто же строки классов, там сss по компонентам разбит и если строчку какую-то в отдельный класс вынести, то придется эти классы потом комбайнить. Но флаги это ладно, были случаи, когда гифка клеилась на див через mask в сss. Путь к гифке динамический и было удобно передавать его через styled-components. Ну еще в :after { content: } приходилось звездочки всякие рисовать, тоже текст удобно передать
>>1707492 >связанный с типами и их приведением Хоспаде, да успокойся ты уже. Нинужны твои типы. Просто и четко Ты как нигер-папуас, которому объясняют что в Цивилизации нет нужды ходить на охоту в лес, носить шкуру зверей и ебаться с гиенами, а он продолжает настырно задалбывать вопросами, как в условиях города охотиться на антилоп (ведь живности-то там нет!)
>>1707516 Ну удачи тебе ебаться с undefined behavior когда к тебе вместо числа, будет приходить null/строка/объект, а твоя динамикопараша просто проглотит это и ничего тебе не скажет.
>>1707474 Ага, а в больших командных проектах с архитектурой от динамики или отказываются, или минимизируют её всеми возможными способами. >>1707478 >там сss по компонентам разбит и если строчку какую-то в отдельный класс вынести Щито я читаю? Хуяришь в элементе className={`one ${state ? "two" : "three"}`}, а состояние меняешь функцией.
>>1707573 Если тебе прилетает то, чего ты не ожидаешь, то ты мудак какой-то конченный и к программированию тебя вообще подпускать не стоит. Тут уже совсем не важно сатическая или динамическая у тебя тепизация.
>>1707596 статическая никак, а сильная выдаст эксепшн при попытке присвоения переменной значение несоответствующего типа. Статическая типизация без сильная не рассматривается.
Возможно ли менять позицию Draggable (react-draggable) элемента и программно и мышью? Проблема в том, что соответствующее свойство position отключает все события мыши
>>1707643 >Статическая типизация без сильная не рассматривается. Почему это? В Си статическая слабая типизация. На Си написано кода больше чем на любом другом языке.
Аноны, какие есть надёжные библиотечки для анимации аргументов отдельных transform-функций CSS-свойства transform и SVG-атрибута transform? Знаю только про GSAP, но он в общем случае платный.
Сап аноны, React неосилятор снова в треде. Ломаю голову над передачей State из компонента (нужно возвращаемое значение, но без HTML). Суть проблемы такова - есть 2 компонента 1. Основное окно 2. Компонент с 2 кнопками (child). При нажатии на кнопку внутри этого компонента происходят операции и на выходе компонент 2 должен сообщить компоненту 1 (родителю), что на одну из кнопок произошел handlerClick. Как передать из parent в child - я знаю - пропсом. А как наоборот? Спасибо
Похуй на пользу, отвечайте лучше насколько эта ваша типизация востребована. Будет легче найти джуноработу если выучу тайпскрипт? Ни разу его в требованиях не видел.
>>1707803 я нагуглил React.createRef() - но не врубаюсь, как с родителя использовать стейт child. Еще про контекст начал читать, еще не пробовал. С redux еще дело не имел, попробую
>>1707800 Передавай в пропсы чайлду метод обработки сообщения у родителя.
То есть в флюкс архитектуре это так задумано - родитель может безоговорочно изменить состояние потомка, потомок же может лишь запросить изменение стейта у родителя, если этот родитель явно ему предоставил такую возможность.
Однако это имеет смысл только если у тебя немного таких методов и надо гонять вызовы только от чайлда к своему родителю (а не выше). Иначе тебе нужен уже контекст или редакс/мобикс/ватевер.
>>1707654 >На Си написано кода больше чем на любом другом языке Удачи найти на нем вакансию да еще и с кешем мимо илитарный котлин-разраб 200к, опыт разработки - 1 год
>>1707812 >>1707841 спасибо, уже Redux запихнул. Все не могу привыкнуть к глине с возвратом View методами, такое говнище конечно это, пиздос. Почему в Return нельзя State вернуть без html враппера?
>>1707909 Кент разрабатывает беспилотники в яндексе на плюсах. Если искать там, где клиент-серверные приложения пилят, то офк не найдешь, но подумай кто пишет тебе половину софта, драйверы и т.д. и т.п. Все зависит от того, насколько ты хорош.
>>1707700 Так никто и не говорил, что Си хороший язык. Признак хорошего языка это сильная статическая типизация. Даже петухон лучше Си, потому что у него сильная динамическая типизация.
>>1707654 На JS сейчас пишут в десятки раз больше кода, чем на твоём Си. Отсюда мы делаем вывод, что количество написанного кода ничего не говорит о качестве языка на котором тот написан.
>>1708056 >Так поэтому эти языки и считаются дерьмом Кем считаются, недокодерками вроде тебя? На их мнение ложили прибор.
>>1708061 >Признак хорошего языка это сильная статическая типизация. Чиво блять? Можно подумать ты что-то понимаешь в программировании, языках и тем более в типизации. Почитай для начала ТАПЛ, а потом сможешь рот открывать, и то не факт.
>Даже петухон лучше Си, потому что у него сильная динамическая типизация. Не ты ли пиздел, что динамика хуета? Сучок переобуваешься на лету. Где ты работал, что писал? Ты обычный вкатывальщик, твое мнение никому не интересно.
>>1708064 >На JS сейчас пишут в десятки раз больше кода, чем на твоём Си. Уебок, не мой Си, дура. Сколько строк кода в одних только Линуксах? Это серьезные проекты, которым десятки лет. Твои свистоперделки на JS и рядом не стояли. Мне нравится JS, но ты тупой уебок, нихуя не понимающий в программировании.
>Отсюда мы делаем вывод, что количество написанного кода ничего не говорит о качестве языка на котором тот написан. Вывод дебила. Изначально какой-то мудак кричал, что статическая типизация не бывает слабой, я ему привел примеры обратного. Еще он пиздел, что динамика хуево, а потом переобулся приводя в пример динамические языки. Потом он пиздит, что слабая типизация хуево. Куда ты то лезешь.
>>1708140 Потому что это незачем. И так всяого говна натащили, которое ни к чему, на уровень синтаксиса, вроде классов, но ладно, еще куда не шло, но блядь не сделали их callable - это пиздец. Окей, я терпел. Но теперь классо-ориентированное быдло затащило синтаксис для пиватных полей, блядь, сука, через решетку, это катастрофа нахуй. Нельзя было просто блядь реализовать приватные символы что ли, суки. Тем более, что у v8 под капотом они уже есть и используются повсеместно, да и полифилятся как нехуй делать. Короче, я вот на жс пишу с конца девяностых. Не повсеместно, не всегда в начале лишь на нем, вначале у него было мало возможностей, но чем дальше тем больше задач я решаю именно им, это мой любимый язык именно за свою динамическую природу, и скорость благодаря имеющимся теперь движкам. И я был максимально благосклонен к различным переменам по расширению синтаксиса, да и вообще, ко всем почти переменам, онивсе шли так или иначе на пользу, пока это не начало переходить границы. И вот теперь оно, сука, начало. За синтаксис декларации приватных полей коммитет должен гореть в аду. Просто, просто потому что это можно было решить наиболе лаконичным способом.
>>1708226 Из интернета, где его нон-стоп обсуждают последние несколько лет?
Этот ноунейм кал, тащем-то, от самого Даля, который ливнул с проекта node, заявив, что создание ноды было ошибкой и теперь он хочет сделать все как надо с нуля.
>>1708233 > последние несколько лет Он вышел три недели назад, ты ебанутый? Да и какая разница что там бредит этот шизофреник Даль, которого даже с его собственного проекта поперли
>>1708240 >Он вышел три недели назад, ты ебанутый? Сука блядь как же ты бесишь мразь ты тупая. Он был анонсирован и не раз представлялся еще дохулион лет назад. Пару недель назад вышел его официальный релиз.
>>1708220 Нет, не убьет. Даль как-то уже поехал, и все чем занимается, это хайпует. Если ты помнишь, он из ноды убежал на го, потому что жс это говно. Теперь вот возвраается с растом и тс, нахуя-то, с весьма сомнительными идеями. Разграничение прав модулей у ноды пилят уже давно - политики, скоро будут. Вбинденный компилятора тса нахуй не нужен, а если нужен, к ноде прикручивается парой строк. Управление зависимостями через импорты - беда. Ну и за дено нет корпорации, в отлчиии от ноды. Так што не взлетит. Он ему потом так же наскучит, как наскучивало все прежде (это нормально тащем-та, даже Линус не пилит давно сам свое детище, а только контролирует), ну, а сообщества там не образуется, потому что не зачем. Все и так уже есть, и stable.
>>1708154 >Кем считаются, недокодерками вроде тебя? На их мнение ложили прибор.
О, смотрите, долбоеб с двача только что назвал создателей языков с сильной статической типизацией - недокодерками. Тебе самому не смешно свои высеры читать?
>Не ты ли пиздел, что динамика хуета?
Манюнь, в этом мире нельзя разделить всё на черное и белое. Поэтому и придумали степени. Поэтому мы можешь разделить языки по степени хуевости в зависимости от типизации языка:
Самый хуевый - слабая динамическая типизация (жопаскрипт) Чуть лучше чем самый хуевый - слабая статическая типизация (твои любимые сишечка и плюсы) Средней хуевости- сильная динамическая типизация (петухон) Не хуевый - сильная статическая типизация (C#)
> Сколько строк кода в одних только Линуксах? Это серьезные проекты, которым десятки лет.
О, очередной дегенерат, который думает, что раз что-то древнее написали на языке X, значит это автоматически делает этот язык X охуенным. Сука тупорылая, это тоже самое, что вырыть многокилометровую траншею лопатой, поддерживать её состояние при помощи говна и палок, а также этой лопаты и потом кукарекать, что экскаваторы современные хуйня, потому что вот именно эта траншея была вырыта без экскаваторов и поддерживается говном и палками с лопатой. Ты понимаешь, что переписать всю систему с говно языка просто невозможно, даже если архитектура этой системы идеальна? Тебе просто не даст это сделать обратная совместимость, да и затраченное время того не стоит, слишком уж много дерьма придётся разгребать. Поэтому разработчики линкуса стали заложниками собственного инструмента и продолжают писать костыли используя Си, что никоим образом не делает его охуенным языком.
> что статическая типизация не бывает слабой
О, а вот и пошли маняфантазии. Показывай где я такое писал, уебище умственно отсталое.
>>1708339 >Голанг А, это та хуйня которая с проглотом у шарпа сосет, поэтому ты обиделся? Ну ничего, привыкай, много тебе еще унижений стерпеть придётся. Сам виноват, не надо было вестись на хипстеров из гугла, которым уже похуй на это мертворожденное дерьмо.
>>1708332 Я так ине понял тебя за эти сутки, чем слабая динамическая типизация хуева-то, помимо того, что дает тебе возможность стрелять куда угодно, а ты зачем-то стреляешь прямо себе в жопу не холостыми. Ну, вот серьезно. Я просто не могу понять, как надопроектировать систему, что у модулей настолько большая связанность, или так часто меняющееся апи, или так сами модули просто не выполняют принципов единственной ответственности, или что блядь надо такое делать, чтоыб умудряться везде и всюжу стрелять себе по ногам. Единственный вариант который я могу предположить, это если писать код с закрытыми глазами. Все остальные доводы, аля - ололо мне не надо читать документацию, все декларировано в коде, и мне иде все дополняет - ну это сюр какой-то. Документацию тебе все равно надо читатать, если это писал не ты. А если ты, и написал так, что без документации теперь не разобраться, то видимо хуево написал. Ну, а про интеллидженс это даже не смешно.
Так что в итоге. Зачем нужен этот оверехед со статической типизацией. Типы и так все есть, проектируется все и так на них. Но все именуется интуитивно, все проектируется SOLIDово, служные участки независимых частей документируются, как полагается. Ну так и в чем тогда возникает проблема?
Любимый довод апологетов статической типизации - это ололо вы не писали больших систем, динамикопараша пригодня только для скриптов на один файл. Ну так да, блядь. Так ты и пиши компоненты систему так, чтобы один логический модуль был простым как здрасти и не требовал никакой нахуй статической типизации. У которого задокументированы все внешние интерфейсы как положено, и провалидированы все входы, которые нужно валидировать. Динамикопараша же годится для написания мелочи? Так в чем проблема писать много это мелочи, из которой потом строить большие системы. Или принципы слабой связанности статически-типезированных фанбоев не касаются, я не знаю. Мне действительно сложно понять.
>>1708332 >О, смотрите, долбоеб с двача только что назвал создателей языков с сильной статической типизацией - недокодерками. Ты че несешь, дура? Ты писал
>>1708056 >поэтому эти языки и считаются дерьмом Кто считает тупица? Это ты так считаешь, твоим мнением зад подтереть только.
>Манюнь, в этом мире нельзя разделить всё на черное и белое. Ах ты сучонок, не ты ли только что категорично поделил языки на хорошие и хуевые? Что динамические языки, а также языки со слабой типизацией хуевые, остальные заебись? Переобувальщица дешевка.
Тупая дура, сколько лет существует Линукс? Его поддерживают и развивают десятки лет. Сколько лет самому древнему проекту на JS, который до сих пор развивается? 5 лет? Назови.
>>1708361 Если бы сказанное тобой было правдой, то Typescript не стал бы таким популярным и нахуй никому не нужен был. Ты конечно можешь с пеной у рта кричать, что у тебя твои мувисерчеры и тудушки без него работают, на реальность окружающую это никак не влияет.
>>1708451 Так он появился выходит исключительно для того, чтобы бить по рукам тех, кто не пишет код не думая, и вообще относится к разработке на отъебись. И как следствие, все для чего нужна статическая типизация по факту - это чтобы дисциплинировать распиздяев. Никаких иных объективных доводов нет.
>>1708461 Да-да, а техника создана для того чтобы распиздяи могли выполнять хоть какую-то работу, при этом если бы они качали свои мускулы, то эту же работу они выполняли бы быстрее. Статическая типизация нужна для того чтобы быстро разрабатывать приложения, которые занимают более 500 строк кода, чей функционал ты будешь постоянно улучшать и расширять. Понимаешь в чём соль? Да, ты быстрее напишешь какой нибудь код, который заходит на условный двач и сохраняет все фотографии из треда в отдельную папку, если ты будешь использовать динамический петухон или нод.жс. Но как только тебе понадобится больший функционал, так сразу ты соснёшь хуй и поймешь, что с типизацией выполнил бы требуемую задачу в разы быстрее.
>>1708472 Странно. Я пишу код уже достаточно давно, и все никак не сосну, потому и задаюсь такими вопросами. Да и всегда писали большие проекты, в частности на фронте, без всякой статической типизации, и на бэке пару десятилетий на каком-нибудь php когда-то. Все писали, и никто не сосал. А теперь вдруг все должны сосать. Наверное, это все потому, что обычно мне, да и всем, нужен не больший функционал, а большая функциональность. Ну и еще потому, что из твоих доводов никак не вытекает какая-то корреляция, а все твои аргументы сводятся лишь к тому, что - ты соснешь, потому что я так сказал.
>>1708472 >Статическая типизация нужна для того чтобы быстро вот справедливости ради, статическая типизация, это как раз про не быстро. любой проект. каким бы он ни был, проходит стадию протипирования, потом реализации, потом допиливания. и со статической типизацией ты свои типы будешь рефакторить и рефакторить, рефакторить и рефакторить. рефакторить и рефакторить, до бесконечности. большую часть времени посвящая не реализации алгоритма и решения задачи, а описыванию типов, которые при нормальной архитектуре приложения и так должны быть очевидны из контекста, а контекст не должен быть большим.
Единственная сфера применимости статической типизаии, это все, что касается байтоебства. Просто потому что на таком низком уровне, где оперировать надо не выскоими абстракциями и сущностями предметной области, а дрочить память, оффсетить указатели и перекладываться байтики. Вот тут бесспорно, статическая типизация нужна, и нужно, чтобы компилятор бил по рукам, и все остальное. Потому как это уровень абстракции слишком сложен для оперирования в голове, абстракции слишком низкоуровневы. На высоком же уровне это нахуй не надо, если только проект не пишется кучей макак без скиллов.
Зачем мне ебаться с проектом на 20 строк кода? При этом 20 строк кода это в динамикопараше, если всё в статику переводить, то в ней 20 строк кода займёт только описание класса который ты будешь получать в качестве ответа на сетевой запрос.
>рефакторить и рефакторить, рефакторить и рефакторить. рефакторить и рефакторить, до бесконечности
Для того чтобы это предотвратить и созданы паттерны проектирования. При этом если у тебя руки из жопы, а они из жопы раз тебе приходится рефакторить по 100 раз, на динамикопараше этот рефакторинг займет намного больше времени, хотя бы потому что тестов написать придётся больше.
Вопрос к анонам миддл+ лвла, сам я с годом опыта, фронт на вью вьюексом и прочим, хочу погрузиться ещё глубже в JS. Посоветуйте книг годных, желательно ближе к современным стандартам, если есть что-то кроме u dont know js серии. Курсы в 99% юзлесс, но если есть позитивный личный опыт - буду рад совету тоже, добра, более опытные коллеги <3
>>1708679 Куда угодно - в метод/поле. Сама концепция React с возвращением элементов - какая то не логичная. Вообще View смешить с логикой - это кощунство. Так или иначе - я разобрался с Redux (на базовом уровне) и многие вопросы с передачей данных между компонентами испарились.
>>1680326 (OP) Ищу годный скрипт анонимного чата-рулетки, чтобы можно было фотками и файлами кидаться с анонимным собеседником. Голосовые звонки и видео-звонки - не обязательно, но желательно. WEBRTC + STUN-сервер, походу сойдёт. Ну и... Конечно же... Шифрование! Есть варианты?
Всегда казалось, что for in только для объектов используется. Почему его пытаются использовать для массивов и говорят, что он "нинужон" т.к. получают неожиданный вывод?
Аноны, почему у меня detectDayBudget на строке 38 не видит значение свойства объекта appData.budget, если запросить показать вне функции, то он прекрасно выводит, скрин прилагаю
Посоветовали здесь книжку про HTTP. Так как я ленивый долбоеб прочитал только 170 страниц из 500. Когда я уже научусь перехватывать трафик и запилю свое приложение для скачивания музыки и видео с разных сервисов?
Нужно каждый раз, когда я удаляю или добавляю символ в поле - посылать введенную строку из поля в файл index.php и ответ от этого файла вставлять в этот див
>>1712152 >>1712154 по-хорошему тут дохуя еще надо всего сделать: 1. сделать debounce, сейчас запрос отсылается на каждый введенный символ 2. отменять активный запрос, если он все же был отправлен, но пользователь ввел еще один символ после отработки debounce 3. сделать корректную обработку ошибок
Вопрос к реакт разрабам: как ведет себя useState()? Ререндеринг происходит после каждого изменения стейта, созданного через useState()? То есть если у меня есть стейт foo i bar и я вызываю setFoo и setBar по очереди друг за другом, то что прозойдет? Будет ререндер после setFoo а потом еще один после setBar?
>>1713431 зависит от того, в каком контексте были вызваны setFoo и setBar. если в реактовском-же хендлере (onClick, onChange и тд), апдейты соберутся в батч, ререндер будет только один. если же не в реактовском контексте (например, колбэк в setTimeout) - да, будет два рендера. гугли unstable_batchedUpdates.
>>1714422 Популярен в СНГ. На западе так же небольшую нишу имеет и есть шансы найти работу. Лучше блевотного ангуляра. В принципе можно его выучить. Хотя сейчас маст хев все же реакт. Но гипотетически можно и забить на реакт и идти чисто через вью - работу все равно найти можно.
>>1710735 Нет. Строки, числа, булевы и прочие это скалярные типы. Может показаться, что строка это объект, но на самом деле там обертка над скалярной строкой.
>>1714422 ну почему для детей? норм конторы пилят на нем продукты.
другой вопрос, что, как и в svelte за ангуляр не шарю, но там, вроде, тоже - из-за псевдо-html-шаблонов нет сквозной статической типизации в typescript. если бы не это, выбросил бы реакт уже, уж больно в svelte пиздатая идея.
хуй знает где еще спрашивать, фронтэнд тредов нет поэтому спрошу тут. анонсы, надо запилить такую залупу как на пике. нашел в инете гайдос, но там чистый ксс и с такой хитровыебанной хуетой которая поддерживает полтора браузера. как то можно запилить такое юзая жс и чтобы поддержка была побольше? буду благодарен если накидаете ссылочек
Какой эвент срабатывает при изменении содержимого элемента? Надо из одного элемента копировать вводимую информацию в другой, по мере ввода (на реакте, вроде, такое любят показывать в демонстрационных примерах).
что я делаю с помощью модуля request я планирую создать stream и получать с сервера текстовый файл по кускам через on('data',handler). мне нужно получать его как буффер, поэтому я ставлю параметр encoding:null
вопрос: есть ли вероятность того что многобайтовый символ разрежется и одна его часть попадёт в конец одного чанка, а другая в начало другого? можно ли предотвратить это?
кодирую больше года. но версткой серьезно ни разу не занимался. хочу бустануть цсс чтоб коленки не дрожали. есть какие-то чуваки на ютубе, которые верстают на стримах?
Делаю фронт в spa на React+Redux+много всяких вспомогательный либ типа react-router, redux-thunk и т.п., знаю более-менее JS, пока не успел вкатиться только в генераторы, асинхронные генераторы и асинхронные итераторы, начал вкатываться в TS, после универского опыта на плюсах и решётке вроде не сложно. Меня возьмут джуном куда-нибудь? Пиздос страшно, что приду на собес и окажется, что я чего-нибудь самого элементарного не знаю...
>>1717281 >есть ли вероятность того что многобайтовый символ разрежется и одна его часть попадёт в конец одного чанка, а другая в начало другого? да, почти 100%. >можно ли предотвратить это? да, нужно взять/написать самому декодер utf-8 с поддержкой потоковой обработки. есть встроенный класс TextEncoder, который занимается примерно этим (см. опцию stream): https://nodejs.org/api/util.html#util_class_util_textdecoder
>>1718597 покажи код. в целом для джуна этого должно хватить. генераторы могут понадобится в этом стеке только если саги будешь вмесно санков юзать. но я бы сказал их мало где используют сейчас.
на собесе, думаю, буду вопросы про хуки, методы жизненного цикла, рефы , как предотвратить ререндер компонента и т.п.
>>1718817 хорошо выглядит как для вкатывальщика. абсолютные импорты первые всегда идут если у тебя в функции нет нихуя кроме возвращаемого значения, зачем вы все блять return пишете. можно просто const Component = props => ( <div> .... );
композ довольно сложная хуйня. у меня коллеги отказались от него
>>1718949 >>если у тебя в функции нет нихуя кроме возвращаемого значения, зачем вы все блять return пишете. Не был уверен, что там не будет никакой логики изначально и так как-то код более одинакого везде выглядит, ещё дебагер всегда сунуть можно, знаю, что чище через браузер дебажить, но никак на него перейти не могу, тупа быстрее выходит, если написать debugger, попасть в файл, а уже там издеваться над ним через браузер. Сяп за рецензию, анон, добра тебе.
>>1718953 Уже, стандартным форматированием в vscode пользовался, но чёт он из коробки не очень с jsx работает, а в чём проблема? Вроде всё отформатированно.
>>1719537 Сам жс на какой-то из ранних стадий планирования хотели назвать мочой - этот фреймворк из истории жс и взял эту идею. К.О.: это такой сорт кофе
>>1683478 > перегрет дебилами после курсов, которые не могут нихуя Вот этот прав. Я не считаю себя хорошим кодером. Я просто старая жс-макака. Но у меня волосы на спине встают дыбом от того, что пишут мои джуны.
Жс и жаба - две самых уебанских экосистем по причине загаживания их вкатывальщиками с курсов которые даже не то что бы тупые, а просто даже не желают пытаться напрягать извилины. Их убедили, что можно писать любое говно и получать 300кк в наносекунду и это и есть их план успеха.
Аноны вкатываюсь в реакт по курсам буры. Застрял на тудушке и не могу понять как данные поднимаются вверх по иерархии компонентов. Или я не понял что такое callback функция, или я просто долбоеб. Но хочется разобраться во всем. Вообщем где про это можно почитать?
>>1718600 а ещё такой вопрос. если допустим цепочка из десяти потоков, это оптимально? мне просто знакомый сказал (не js'шник), что использование стримов приводит к постоянному переключению контекста выполнения, что замедляет работу и использование большого числа стримов приведёт к тормозам (в отличие от непотоковой обработки). что думаете на это счёт?
ПС. в моём приложении оптимизация действительно важна, а отказываться от нодежс не собираюсь
>>1719801 А, ля, действительно, ну сейчас уже поставил, хе. А чу не jest? Он же по умолчанию в cra стоит. Или я что-то путаю и это либы которые вместе юзаются? До этого немного с mocha и chai ковырялся, когда learn.javascript.ru проходил, про жасмин читал или как-то так, вот.
>>1720150 Мне казалось, что во фронте конкуренция норм так по сразвению с теми же бэком и десктопом. 2 одногруппника, которые посредственно кодили и которым я помогал с решёткой на изи нашли работу на ней, а я вот сижу ебашу js и верстку уже полгода и страшно идти на собес. (
>>1720146 jest это фреймворк для тестирования (запускает сами файлы с тестами, считает покрытие итп.). react-testing-library - библиотека-набор-утилит для упрощения тестирования реакт-компонентов.
>>1720119 сложный вопрос, я думаю, производительность сильно зависит от характера данных, с которыми ты работаешь (непрерывный поток vs. десятки тысяч коротких сообщений за короткий интервал времени).
в общем и целом, если ты не можешь открыть исходники ядра прыщей и самому на него ответить я, например, не могу - не парься, вряд ли ты заметишь какие-то просадки.
вообще, когда напишешь код, сними метрики нагрузки (iowait и прочее) и потюнь кол-во потоков для оптимальной утилизации цпу.
const ChildComponent = (props) => { const zlp = 10 // рандомная переменная. у тебя может быть инпут и прочая лабуда const handleClick = () => props.action(zlp) - тут мы вызываем функцию, которую пробросили сверху. по факту она вызвается в компоненте выше по иерархии с аргументом что ты тут вкинул. return( <div><Button onClick={handleClick} /></div> )
Надеюсь я вообще правильно твой вопрос понял. Ну если это то о чем спрашивал - должен понять
у меня есть сайт, работающий по http/2 и на сайте есть скрипт, который раз в 5 секунд дергает API. как понять, переиспользуется ли существующее соединение или бразуер каждый раз делает полный TLS-handshake?
пс, если кому нужен фронт в команду или просто на проект помочь, то пишите в телегу @fuckyou777. Интересно поработать над продуктом. Пишу с помощью вью, с реактом опыт тож был
Аноны, учу фронт с уклоном в react месяцев в 6. Тут недавно забрёл на ютубе на канал Александра Лущенко и охуел. Как этот человек, с таким уровнем знаний, может вообще работать в IT, да ещё и других людей учить? Я за 5 мин вывел алгоритм с тремя строками кода, когда этот долбоёб расписал всё if-ами. Это далеко не все, там под каждым видео приходит нормальный программист и объясняет ошибки. Короче, вопрос в том, как это в IT вообще устроено, что такие уникумы работают по столько лет? Много вообще таких? Или может это свойственно только фуллстак-разработчикам?
Аноны, пытаюсь в гугл расширения. Появилась йоба проблема, на которой затупил пиздец...
Есть сайт, я через расширение добавил в него ссылку. Я хочу что бы при нажатии этой ссылки открывался сайт, который лежит НЕ НА СЕРВЕРЕ, а в папке расширения на моем компухтере.
>>1721706 как и в любой другой сфере. есть долбоебы от природы, которые могут годами сидеть тыкать кнопочки, не понимая даже, как работает фреймворк, на котором они пишут
Аноны, я не понимаю, как в гридах сделать так, чтобы у меня было 2 колонки, при этом у них были бы разные высоты, которые зависят сугубо от контента внутри.
правда очень скоро коллеги обнаружат, что код помидора-200к/нс очень уж сильно отдает джунским душком. далее возможны варианты: 1. выебут за то, что проебывается, вместо нормальной работы. 2. нарекут петухом и постараются избавиться как можно скорее.
есть у меня такой коллега, сегодня впервые задумался, а может он так и делает, лол. нанял рабов каких-нибудь за 10%, а сам в хуй не дует. код - полное говно. с чуваком мы по второму варианту пошли.
вообще по опыту работы с джунами, крайне не рекомендую так делать. чел думает, что он будет 10% писать код, 10% объяснять джуну, а остальные 80% кайфовать. на деле он будет 20% писать код и оставшиеся 80% подтирать говно за своим рабом. значительно проще писать все самому (за 50% времени), а остальные честно проебываться.
1. форматирование. тебе там правильно предложили поставить prettier и formatOnSave: true, это мастхэв. неплохо еще преттиер в CI запускать с флагом -c. 2. прошу тебя, не используй вложенные тернарники. это ад в поддержке. пиши по-дедовски, как на пикриле. в эту же копилку хуета типа +x вместо Number(x)/parseInt(x, 10), я бы в продакшен коде за такое руки отрывал. 3. ну и юзай деструктуризацию.
>>1680326 (OP) Как же заебала вся эта реклама. Такое впечатление, что её специально встраивают на сайты, для слежки и просчета посещений, при её выгрузке. Постоянно встраивают её даже в ютуб, все эти баннеры ебучие, ролики рекламные, вся эта хуйня мелькает везде, и по два по три раза надо пропускать эту ебучую рекламу, блядь. Даже адблок не помогает, её блокчить, и говно просачивается сквозь него.
Можно как-то встраиваемый внезапно контент, автоматически определять, и сразу же предлагать вырезать его, нахер?
>>1724240 не такой маленький, конечно, чтобы в каждой компании про тебя знали, но сюрприз может быть неприятный. при мне забраковали так 2х помидоров за год, были знакомые, которые рассказали, какие они пидорасы и хуесосы.
>>1680326 (OP) сап погромач! на связи типичный вкатывальщик - начинал с верстки, потом ванильный жс и теперь вот я типо реакт девелопер на работе особо не заебывают, поэтому я сначала написал небольшой фулстак с node и graphql, потом стал упарывать нейтив, сейчас доделываю мини-клон инсты на нем тема с приложухами мне прям нравится и хочу вкатиться в разработку ios прилжух, поэтому думаю начать изучать swift как считаете норм идея, легко будет после жс разобраться в нем, или может вообще забить и поискать работку как нейтив разработчик? просто чет не уверен что нейтив прям часто юзают для приложух, или я не прав?
2) Разобраться будет не легко. Это ооп язык со своими купертиновскими причудами. + среда разработки тоже мудреная и багованая. Короче будет тяжко. Я бы посоветовал идти на курсы. Хотя касательно жс я категорически против курсов. Т.к. порог входа смешной
ну тебе чтобы нативные модули писать не надо целиком учить оба языка. тебе достаточно знать как классы объявлять / наследовать , методы в них и т.п. я вот помню впервые охуел, когда под андроид чето надо было сделать. и там в примере кода (без импортов) был какой-то объект/класс R. Оказалось что это какой-то рантайм класс который во время работы приложения инитится, и я долго искал откуда его импортить. Ну крч, ебаться приходится
>>1726640 Все же мне кажется это в другую сторону больше работает, сначала чувак учит swift/kotlin(java), а потом переходит на реакт нейтив и пишет модули. Из JS в нативные модули будет сложно ИМХО
Это не показатель, почитай что такое legacy, если они писали на нем то и будут писать еще 2-3 года. java сейчас как и delphi , люди пишу, проекты есть, но это legacy