Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: что я хочу получить, что я для этого делаю, что я вместо этого получаю. Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
>>1811020 (OP) Пацаны, буквально недавно узнал что можно организовать допотопный поиск внутри виджета в реальном времени Достаточно лишь запилить поле input и привязать к нему хендлер onkeyup который при каждом введенном символе будет проходиться по элементам виджета и ставить display:none тем, которые не будут удовлетворять введенному в поле input значению. И это на обычном ванильном жс Есть еще подобные фичи, которые следовало бы знать?
>>1811085 Почему иди нахуй? Если ты скажешь что рантайм не важен, то сам иди нахуй. Например в С++ С# Java можно перегружать реализацию, а в тупаскрипте только интерфейс.
>>1811082 Есть. С помощью document.getElementById() можно найти на странице любой элемент, у которого есть атрибут id с указанным значением. Недавно узнал, удобно, иногда пользуюсь.
>>1811098 А что будет когда ты узнаешь что можно найти любой элемент по любому сss правилу document.querySelector('#tvoy-papka .tvoya-mamka:first-of-type:hover')
>>1811121 Оу, раз уж шарите, то подскажите по-быстрому, какую клаву и мышь лучше взять для прогинга? Скоро буду вкатываться в айти но хочу максимально удобно затариться. У меня мышь Speedlink Reticos, для колды и контры норм было, 6 клавиш да еще и dpi тащил, а для прогинга сойдет? Или для макросов нужно желательно больше 6 клавиш?
>>1811142 >Оу, раз уж шарите, то подскажите по-быстрому, какую клаву и мышь лучше взять для прогинга? Скоро буду вкатываться в айти но хочу максимально удобно затариться. У меня мышь Speedlink Reticos, для колды и контры норм было, 6 клавиш да еще и dpi тащил, а для прогинга сойдет? Или для макросов нужно желательно больше 6 клавиш? Руль не забудь прикупить с коробкой педерач, будет очень удобно формочки клепать
Вообще похуй на чем ты будешь писать, голову только не забудь
>>1811020 (OP) Считаю концепцию undefined одним из величайших достижений в прогинге и охуеваю, как всякий скот из других языков живет без божественного undefined Одно это однозначно выделяет ЖС и делает его всеобщим lingua franca на зависть скоту и быдлу
Сап, программач. Планирую делать проект. В проекте будут данные. Данные надо где-то хранить. Фронт - точно Express+React. Бэк - хотел взять Express и прикрутить ts-postgres, но потом подумал, что ебаться с пермишенами, аутентификацией и прочую парашу сам писать не хочу. Будет ЛК, обработка хуков, ещё что-то типа очереди на Celery Писать самому под ноду или взять уже почти каноничный DRF? работал и с тем и с тем
>>1811309 >undefined - переменная задекларирована, но не ей присвоено значение.
Оказывается JS это язык с встроенным AI, который определяет будущее, поэтому любое свойство/метод объекта на самом деле существует, просто ты ему не присвоил значение, поэтому оно возвращает undefined.
>>1811309 > unreachable - значение возвращаемое функцией в которой обязательно происходит исключение Это определение вообще что-то уровня never в тайпскрипте . Строго говоря unreachable - это любой код после завершения правой стороны от return.
Блядь объясните мне уже нормально механизм hoisting. Поднимаются вверх функции и вары. Но зачем вары поднимаются если они не иницииализируются? Например такой код выведет в консоль undefined
>>1811521 Мне реально интересно. Если ответ "ПОТОМУ ЧТО ЭТО ЖС, ПОШЕЛ НАХУЙ" меня это устроит. Но если есть реальный ответ на вопрос, был бы рад услышать
>>1811522 >>1811519 Блядь. ЖС - это синоним безопасного рантайма. Это сделано с целью безопасного обращения к определенной, инициализированной позже момента обращения переменной.
>>1811536 То есть вся фишка, что это анонимная функция? Если просто написать тот же код внутри script без всяких объявлений, то технически всё будет то же самое?
>>1811521 >ты еще спроси почему typeof null это object О мне на собеседовании недавно этот вопрос задали. Я сказал что это по историческим причинам так (то бишь проеб разработчиков). На что мне спросили почему тогда не исправить это? Я сказал чтоб не всплыли ошибки со старым кодом. Для обратной совместимости типа. Потом спросили как тогда правильно проверить на null. Сказал что тройное равно вместо двойного использовать. Сказали хуя ты умный. Но на работу не взяли(((
>>1811653 Ну тебе же на бек нужен express, а nest это надстройка над express с guards, interceptors и тд. ну типо spring. Короче там авторизацию и всю хуйню можно в пару десятков строк уложить
>>1811742 Не работал с Vue, но попробуй ловить click, там, судя по доке, передаётся MouseEvent, у которого ты можешь взять event.target.value но по-моему канон это name брать, аноны?
Завтра иду на первую работу, сказали посадят за проект со стэком react, saga, typescript, пилить страницу в большом проекте с полным функционалом, а я этих саг и ТСа вообще не касался лол. Немного разобрался с сагой, тупа замена redux thunk, с ТС поигрался, подумал, как охуенно сразу типы задавать, чтобы потом не выискивать ошибку в редьюсерах, почему я сразу его не учил, но в целом чувствую себя пиздец неуверенно, дохуя ньюансов и фич. В общую структуру проекта не могу полностью вдуплить, откуда там куда данные перетекают, с трудом вообще нашел папку страницы над которой работать придется лол. До этого просто все крупные проекты пилил с redux, а тут без него обошлись. Еще конторка мелкая на дюжину человек, сразу сказали, что спрашивать и общаться это норм, но в целом от меня ждут более самостоятельной работы. Короче. Как не ОБОСРАТЬСЯ?
>>1811020 (OP) Работаю фронтом ~8 лет, 30лвл. Как выкатиться из этого говна и вкатиться в байтоебство, бэкенд или еще какое-то "настоящее программирование"? Заебало, в печенках уже, не могу уже, блять. Есть кейсы успешного съеба из этой мочи? Много видели таких? Или у меня уже слишком много "вредных привычек" и это безнадежно? А сам-то, анон, не чувствуешь то же самое?
>>1812027 Про "завод" мысли надо всегда отгонять нахуй. Ибо хуйня это, из-за депрессии возникающая в голове. И вот это >всегда рады пиздежь. Будешь работать в говне-грязи в васянами (придется с ними там доминировать друг-друга и бухать с ними), начальник твой будет кузьмичом и на ЗП кидки более чем постоянно. Забудь пиздежь про сварщиков-миллионеров - их "высокие зарплаты" высокие только если ты в пятерочке кассиром работаешь. Это я скорее для других анонов написал. Мало ли, может кто-то реально думает о таком.
>>1812036 Нет, я же не долбоеб. У меня обратная история - я выкатился после 7 лет из АСУ к хуям во вротенд, теперь меня палкой не загонишь обратно байтоёбствовать. Иногда ностальгирую ретроградствую по старым задачам, но это легко лечится отрезвляющими рассказами коллег на ежегодных посиделках в кафешке об их текущей работе.
>>1812037 >орнул А зря. На такую хуйню много анонов ведутся, особенно если депрессивного анона подзаебало то, чем он занимается. Тем более, сейчас из каждого утюга телеги об успешных сантехниках и сварщиках-миллионерах.
>>1812040 >лечится отрезвляющими рассказами коллег на ежегодных посиделках в кафешке об их текущей работе Запили рассказы коллег. Браток, правда. Может и я отрезвлюсь.
>>1812043 >об успешных сантехниках и сварщиках-миллионерах. Если на себя работать, а не на кедрового начальника (именно работать, а не лежать как хуй на блюде), можно быть оче успешным.
>>1812046 Бывший коллега стал начальником бюро. Его стори: - начальствует над 3,5 сотрудниками, 1 из которых - пенс, другие - студенты местных шараг. Как ты понимаешь, последним ПОХУЙ на всё, ибо работать за 17к/мес может только мазохист; - его дрочат ВСЕ, ибо в контексте АСУ он конструктор, программист, слесарь-монтажник-наладчик-технолог и докучи всего еще; - на регулярной основе катает в устьпердяйски в командировки. Единственную усладу - "мутку с чеками" на гостиницах для непосвященных - это, по сути, единственный способ заработать деньги, если мы не считаем 30-35к/мес зарплатой; - разработка в духе "пиши на ворованном софте" без реального оборудования, отладка и шанс хоть как-то опробовать свою программу будет только на площадке у заказчика (а это автоматом генерирует мегатонны лулзов); - ну и дохуя всего местечкового, как то ебанутейшее руководство в лице кабанчиков, у которых на уме только наебать тебя по-скотски, например, отправив в учебную командировку за кабальный договор, согласно которому, при увольнении, ты будешь обязан компенсировать все расходы на обучение, проживание и т.д. Можно просто зайти ради любопытства в воркач, перейти в тред асушников и радостно растекаться в улыбке, держа в голове, в каких тепличных условиях находятся среднестатистические фронтендеры по отношению к среднестатистическим же инженерам-программистам на заводах.
>>1812060 У нас при вузе такое же конструкторское бюро работает, просто депрессивный пиздец. Но люди там идейные вроде, им нравится, они спутники в космос запускают(за зп 40к в дс2)
>>1812088 Это самый лучший варик, но на текущей не получится. Весь бэк вообще в другом отделе, а у нас - SPA, полностью изолированное от него, т.е. при локальном запуске не нужно даже разворачивать у себя какой-то инстанс сервера (впрочем, как везде сейчас, ведь на дворе не 2010й). Т.е. я вообще не вижу серверный код, как и не имею к нему доступа. Вот на позапрошлой работе был легаси-проект на .NET MVC - надо было там... До 2013го писал на РНР (год-полтора, примерно) - Zend, CodeIgniter, Yii, круды писал, какую-то АПИшку пробовал еще писать на работе (проект закрыли потом и оно никуда не пошло), но в целом опыт не то чтобы колоссальный, ты понимаешь. Разработка сейчас на РНР сильно отличается от тогдашней?
>>1812023 А почему бы и не мобильная разработка? Начинаешь с react-native, потом перекатываешься в Swift. Андроидов не бери - заебешься отладкой заниматься чуть ли не под каждую модель.
>>1812141 >А почему бы и не мобильная разработка? Я вот на флаттер посматриваю. Есть даже парочка идей для пет-проджекта. Правда, флаттер чет считается червем-пидором среди технологий, если почитать что гребцы пишут синтаксис у дарта некрасивый - лол, проблему нашли, и хуй знает будут ли рабочие места на нем. Меня даже больше интересует не выбор стека, а с чем придется столкнуться, какие подводные при перекате с фронта, как охотно берут на работу свичеров с фронта, особенно если 30 лвл и прочее.
>>1812228 Двачую этого. Это как переговорщик в серьезной компании. Если видят что приезжает на кие или хенде смотрят на говно. Нужна Тойота как минимум. Так и во фронте если придёшь без мака на собес считай что нахуй пошлют
>>1812280 Деб, я знаю что это технически возможно. Я спрашиваю насколько это распространено? Не думал что тут такие идиоты есть которым элементарщину пояснять надо
>>1812167 Пушо флаттер это чисто фью слой. Это как если бы ты сайт писал внутри канвас тега. Ну и перфоманс там слабенький. На топ девайсах летает конечно. А вот на андроида дешевых нет.
Подскажите, как правильно сделать через промисы такую логику: Вызываем апи (это уже обернуто в функцию, вызывающую коллбэк функцию с результатом), начитываем некий список id. Потом по каждому id вызываем другую апи, новый вызов после завершения предыдущего. То есть по сути должна быть цепочка промисов, но она динамическая, так как количество вызовов зависит от количества элементов, которые вернул первый вызов. Я через коллбэк функции такое могу сделать с рекурсией, но вот через промисы не понимаю как правильно. Алсо я не кодер, но вот приспичило сделать, промисами вообще не пользовался раньше.
>>1812423 Да я через промисы вообще не понимаю пока как правило, читаю доки, а в башке не укладывается. Через коллбэки я бы сделал так: 1) Вызвал функцию 1 2) В коллбэке функции 1 запихнул во внешнюю переменную массив Id 3) Вызвал функцию 2 с 1 элементом, индекс записал бы во внешнюю переменную 4) В коллбэке функции 2 запихнул результат, повторил пункт 3, итерируя индекс, при достижении последнего индекса вышел бы с результатом Как-то так. Что-то мне подсказывает, что программисты такую задачу решают красивее и через промисы. Сорян, если где-то описал криво, у меня опыта практически нет.
Помогите решить вот такую задачу: есть массив, который заполняется через нажатие кнопок на клавиатуре. И есть некая функция, которая проверяет массив и в зависимости от результата передает управление другой функции. Как сделать так, чтобы исполнение кода не переходило к проверяющей функции до тех пор, пока в массив не попадет хоть что-то. То есть чтобы на определенном этапе исполнение кода повисло и ждало забивку массива?
>>1812464 >заполняется через нажатие кнопок на клавиатуре >некая функция >исполнение кода повисло >забивка массива это просто прекрасно. хороший тред и посты интересные
Динозавры которые срут о том что ЖС годится только для налепливания свистоперделок на статичные странички с контентом (а потому и не считают ЖС-программистов за программистов) - это олды Сосача? Или байтослесари которым припекает от того что за фронтенд и бэкенд больше платят. И что последние как раз таки занимаются софтверным инжинирингом, реализуя бизнес-логику, а не пишут машинные скрипты для управления электроникой?
Из-за того, что на микрухах тесно как в сортире. Провафлишь на одну микросекунду - медицинское оборудование может дать сбой, ракета упасть и пр. Байтослесарство - это больше хардверно-инженерная специальность, чем софтверная. Там ты работаешь с реальными вычислительными моделями, а в софтверном инжиниринге - с абстрактными.
Есть функция, выполнение которой может занимать минут 10 (не замерял точно, ибо не дожидался). Страницу вешает, UI не отвечает, короче, надо это поправить.
Попробовал обернуть в промис. По-прежнему вешает страницу, по-прежнему не отвечает UI.
Попробовал разбить на мелкие блоки, каждый из блоков обернув в промис и сделав из них цепочку. UI по-прежнему вешается.
Попробовал каждый из мелких блоков завернуть дополнительно в setTimeout, но функции стали выполняться не в том порядке. Не похоже, что это разрешимо - у того, что возвращает setTimeout(), нет then(), как у промисов.
Пробовал сделать через WebWorker, но "Попытка нарушения системы безопасности" при попытке создать объект Worker. CORS мне мешал и раньше в жизни, поэтому я особо не удивлён.
>>1812859 Я не верстала. Я на C++ всю жизнь писал, ну да на джаве немного. Там-то просто поток создаёшь, чтобы UI поток не заполнять, а при окончании отправляешь главному потоку сообщение. Изи-пизи. В JS же поток не создать.
>>1812865 Не получится, там несколько сотен мегабайт данных надо обработать.
Мне нужно отправить с клиета несколько данных. Часть из них я запихнул буфер (ArrayBuffer) и отпрвил. Но мне также нужно отправить несколько строк. Как это сделать максимально удобно, без ебли с бинарными данными?
>>1812868 По нажатию на кнопку вычисляется большой объём данных, который кэшируется. После этого кэшированные данные можно переиспользовать (пока не поменяется стейт).
В целом, можно очень много чего делать, пока идёт вычисление. От него зависит только пара вещей.
(А ещё, если честно, я не знаю, как вешать лоадер. Это можно было бы загуглить, но там всё равно надо сначала асинхронность корректно реализовать).
Если хочешь, можешь глянуть тут саму страничку: http://lightstrout.com/puzzle/puzzle.html . Главное, не жми T, S, V, X, C или Q, если размер больше ~30. Будет заметно зависание.
>>1812883 Я хз, о каком клиенте ты говоришь, но любую очередь сообщений для рантайма типа ноды, и TCP сокеты для веб клиента. Сойдет?
>>1812856 >Пробовал сделать через WebWorker Плохо пробовал. По сути, это безальтернативный вариант для тебя. Если занимаешься сериализацией/десериализацией данных, то и воркеры беспомощны - они блокируют поток неявно делая ту же работу по де-/сериализации при передаче мессаджа основному потоку. В таком случае тебе поможет гранулированный парсинг, что-нить типа yieldable-json.
>>1812906 > Я хз, о каком клиенте ты говоришь, но любую очередь сообщений для рантайма типа ноды, и TCP сокеты для веб клиента. Сойдет? Веб сокеты кажись. С браузере.
>>1812856 >Попробовал каждый из мелких блоков завернуть дополнительно в setTimeout, но функции стали выполняться не в том порядке. Не похоже, что это разрешимо - у того, что возвращает setTimeout(), нет then(), как у промисов.
В самом деле, промисы и таймеры не для CPU-bound операций, а для I/O. В лучшем случае, они откинут вычислительный процесс следующий тик (в этом, например, и состоит уловка с использованием fetch API для парсинга жсонин). Для таких случаев пишут вручную pull штуковину с использованием генераторов и дробят вычисления на как можно мелкие партии.
>>1812856 Просто добавь слипов вида пикрил. На пикрил бесконечный цикл, но он не вешает поток, я также могу продолжать выполнять действия в браузере и изменить значение переменной work. Можно sleep делать и в 50 мс, зависит от того насколько UI нагружен и насколько отзывчивым должен быть.
Как "правильно" типизировать экшоны? Собственно изучаю этот ваш TypeScript и дошёл до типизации экшонов и редьюсеров. Читал всякие туториалы и пришёл к такому решению: В отдельный файл (types.ts) вынес всю типизацию, а именно начального стейта, всех экшонов, экшон-тайпы объявил через enum. Каждый экшон собрал в единый ActionsTypes по такой схеме: type ActionsTypes = { ActionType1 | ActionType2 | ActionType3 } И теперь всё это дело подключаю куда надо. Как лучше типизировать всё это дело?
>>1813135 Mobx из других стейт менеджеров. Плюс редакса что вся его работа на виду. Никакой магии как в мобх. Это по сути паттерны функционального программирования как есть. Я использовал редакс ещё до его появления тупо печатая код в функциональном стиле. А контекст и всякие хуки это баловство. В крупном проекте сразу нахуй пошлют за такое. Поскольку они все очень плохо оптимизированы в отличии от редакса
>>1813182 Я бэкендер, не люблю верстку, поэтому рад что SPA помогает делать только эндпоинты с жсонами, а не заставляет мучаться с какими-то там высираниями данных из сессии в недоверстанные шаблончики, хотя это может и работало бы лучше.
>>1813297 Когда у тебя приложение на сотни тысяч строк кода - громоздкость наименьшая из твоих проблем. Главное чтобы надёжно было. Редакс надёжно защищает стейт от криворуких долбоебов Конечно писать хеллоуворлды можно без этого. Но в реальном проекте никто не даст вешать лапшу из контекстов. Когда только хуки выкатили мы тож радовались что наконец без редакса попишем. Пока тимлид не спустил всех на землю сказав что хуки строго дозированно использоваться будут. И старый волчара прав оказался (челику под 40).
С API'шки приходит JSON, в полях которого есть цифры, но они приходят как строка. На каком этапе их правильнее преобразовать в числа? Речь идёт про Реакт с Редаксом
>>1813343 То есть экшоне, который записывает всё это дело в стейт, мне нужно брать каждое нужное поле (ведь не все поля нужно чтобы были числовыми) и ручками переводить их в Number?
>>1813367 Нет ты либо делаешь умные модели, которые парсят дто за которые тебя потом пиздят, либо пишешь так, чтобы апи слой возвращал десериализованные данные, т.е. все числа, даты, ебанутые bool и enum были в готовом к употреблению виде. Потом это уже идёт в пэйлоад экшона и затем в редюсер
Аноны, прошу помощи. На angularjs и java пишу маленькое приложение, сказали переписать код на клиенте по принципам ООП, чтобы был не декларативный. У меня очень мало опыта на жс, я вообще не представляю, как это можно сделать с ООП, помогите, пожалуйста. Вот клиент https://pastebin.com/j58YxHqH
>>1811020 (OP) Просматриваю один проект на Ангуляре + TS, вижу что элементы DOM там имеют прибавку типо _ngcontent-mgn-c155, и она периодически меняется при перезагрузках, что это такое? изучал лишь ванильный жс, ни один крупный фреймворк не трогал, хз как оно там строится/рендерится, что почитать на эту тему?
>>1813306 Но ведь вторая проблема в приложении на сотни строк кода после надежности это сопровождение и с этим у редукса как раз всё очень плохо из-за раздувания кодовой базы. Ну и да речь конечно же не о хуках и контексте а о других стейт-менеджерах в качестве альтернативы.
>>1813490 Напрасно ты так думаешь. Редакс не зря настолько популярен. Редюсеры можно компактно разбить по отдельным файлам как и экшены. Возможно есть и другие хорошие Стейт менеджеры. Я все не пробовал чтоб утверждать что-то насчёт этого
Как мне сделать bind так, чтобы он затронул y, но не x? Если сделаю fMod = f.bind(null, 10) то сделаю x равным 10 (null передается в this), как мне сделать то же самое с y?
>>1813473 Как правило для SEO. Или если продукт заточен под пользователей со слабыми интернетом и/или девайсами. Ну и вообще, даже если не стоят такие задачи, сайт будет быстрее показываться пользователю, нежели просто СПА и все.
>>1813473 Еще чуток добавлю. SSR тот что обслуживает SPA, для SEO обычно не годится. Так как жирнючий бандл SPA никуда не девается. А так же при формировании шаблона на беке, всеравно идут хттп запросы, на апи которые замедляют рендеринг по итогу.
Аноны, подскажите, есть сайт, на котором есть ajax запрос, он возвращает xml, я нашел в коде ссылку по которому делается запрос, но мне ничего по ней не возвращается(пробовал через браузер и postman), Почему?
>>1813631 В том то и дело и что не можешь. Нельзя ребиндить значение this в стрелочных функциях. Если хочешь хуйней страдать то делай через обычные функции
Да. СПА для сайтиков с контентом и чуть чуть свистоперделками не очень подходит. А если это фронтенд приложение аналогичное мобильным, десктопным или флэш-поделиям из 00х, то весьма подходит. Например, для каких-нибудь приложений по совершению транзакций на блокчейне серверный рендеринг статичной странички с чуть чуть динамикой ну совсем не подходит. Как и для почтового клиента, редактора фоток например. А вот для типичной педивикии, новостного сайта и пр. - вполне лучше чем спа.
>>1813867 >Например, для каких-нибудь приложений по совершению транзакций на блокчейне серверный рендеринг статичной странички с чуть чуть динамикой ну совсем не подходит. Как и для почтового клиента, редактора фоток например.
Зато для них подходит СПА. Даже концепт СПА совсем не новый. Просто вместо Жабы и ЭкшнСкрипта для этих целей сейчас стали использовать ЖС (который изначально был игрушечным языком для добавления интерактива в гипертекстовые документы, чем веб 1.0-2.0 в основном и был). Да и доля приложений в вебе выросла. Современные фронтедщики, оказавшись в 00х, вместо приложулек на ЖС клепали бы приложульки на Жабе, ЭкшнСкрипте скорее всего. Или на Шарпе, Крестах под десктоп. А разработкой сайтов занималась вообще отдельная категория людей, которая умеет верстать, чуть-чуть админить и чуть-чуть программировать.
Писать писать и еще раз писать код. Тогда выработаешь паттернчики. А костыли все равно будут появляться в спешке, так что без рефакторинга не обойтись никак.
>>1813281 Просуммируй все X и все Y. Если хоть одна из сумм нечетная – вернуться нельзя. Если обе четные, замени половину единиц по X и половину единиц по Y на -1.
Мимо бэкендщик с 2 годами опыта работы на php/node. Во фронте могу нихуя, из опыта только приложение где интерфейс состоит из одной большой таблицы на бутстрапе.
Чё посоветуете по изучения фронта и вката в фулстек. Погуглил за фреймворки, мне понравился вью. Очень простоя, как для меня дауна прям ваще гут. Реакт понравился меньше, но походу придется ориентироваться на него. Учу так же вебпак.
Расскажите плез, какой хороший способ поттянуть фронтенд. Дружбан говорит короче удалить фреймворки и написать гугл таблицы на чистом жс, и типа тогда только норм научусь. Слать нахуй, или годный совет?
Есть один api, и есть фронтенд на vue Вопросы по безопасности: 1) CORS не дает делать запросы. Пока поставил заглушку в виде AllowAnyRequest, но, наверное, так делать не надо? Временное решение – указал в настройках бекенда адрес сервера, с которого происходит раздача фронтенда. Вроде работает 2) Когда я генерировал статику на asp.net, CSRF токены сами цеплялись к формам. Голое апи ничего не цепляет. Надо ли их настраивать, или хуй с ним?
Авторизация через jwt, который я сохраняю в localstorage, а потом интерцептором добавляю в axios
Читал статьи на хабре, в комментариях кто-то писал, что CORS нахуй не нужон. С CRSF все намного запутаннее
>>1814209 в твоем случае тебе надо разрешить корс для всех, но по токену жвт проверять есть доступ к апи или нет. Вообще ебли с этим жвт, мне больше сессии нравятся.
Вообще не маркетабл скилл что ли? По идее должно быть хорошо. Вот я как пхпшкалек очень качнулся когда, стал писать на ванили. Изначально под ларавель учился.
>>1814211 Потому что я пришел на питоновский бэк джуном. Мне на собесе позадовали еще и вопросы про ванильный жс, сказали что вроде норм и закинули меня в фуллстак. Предупредили что будет еще и ангуляр, думал будет более-менее изи, но пока лишь говна хлебнул
>>1814226 Про сессии почитаю, спасибо. С jwt проблемы только обновлении токена и экстренном разлогине не думал над решением, но если вдруг что – просто поменяю ключ, с помощью которого генерируется токен Просто я вот что думаю – если токен как-нибудь уведут, своровав скрипты с сайта, то тут поможет same origin policy. Но эта политика обходится с помощью jsonp Как сделать по уму – не знаю
Сейчас это не важно, потому что проект у меня в интранете будет работать. Но хочу разобраться Все же во фронте дохуя сложностей, в бекенде все намного уютнее – кирпич за кирпичиком строишь картину в голове и все работает как надо >>1814240 Подловил
>>1814254 Всякую хрень про карринг, замыкания, this в разных контекстах, асинхронные запросы, пара дурацких вопросов из разряда - "а шо буит ежели мы заюзаем Number(undefined)??" куда ж без них, новые фичи ES6
>>1814255 >не думал над решением, но если вдруг что – просто поменяю ключ, с помощью которого генерируется токен Ты так сбросишь сессии у всех пользователей. По идее надо делать пару и refresh и access-токенов и это гемор тот еще.
Конечно, хотя бы потому что на всех собесах по нему спрашивают.
Да и книги неплохие. Там у автора оригинальная позиция в плане того что JS это язык богов, ООП через прототипы это хорошо, а если вам не нравится джаваскрипт и вы хотите завести туда типы или сахар то это потому что... вы не знаете джаваскрипт.
>>1814282 Да и хуй бы с ним, там человек 40 будут юзать, если что – перелогинятся. Но изучить нормальный способ авторизации придется все равно, потому что это не дело
>>1814536 Скажи ты географов тоже будешь доебывать тем что Каспийское море это не море а озеро? Нет? Понимаешь умные люди впринципе о таких мелочах не заморачиваются
>>1811020 (OP) Есть где-то криптостойкая имплементация алгоритма Blum-Blum-Shub'a для больших и длинных чисел? Или альтернативные алгоритмы?
Чтобы вот, взять, ввести какое-нибудь начальное состояние генератора, задать N-ный байт (оффсет), и сразу же вычислить некий псевдорандом, с N-ного байта, без генерации самих этих N-байт? Потому что N может быть гигабайт, скажем, или терабайт, или, скажем, "стопицот в хуйнадцатой степени" байт. Нутыпонел.
Грань размыта. React это почти фреймворк. Его часто называют библиотекой, потому что он исторически был библиотекой.
Обычно библиотека отличается от фреймворка, тем что библиотека не навязывает архитектуру, а фреймворк навязывает. Если ты лодаш подрубил, это не повлияет на твой проект. Его можно уже на рабочий проект ставить. А если фронт пишется "на реакте", то уже фреймворк. Хотя самый дохлый в этом плане
Анон, я вот самоучка и у меня есть гитхаб с учебными проектами, но меня на всех откликах отшивают, скажи мне, что со мной не т ак? https://github.com/goshan41k
>>1813350 >goshan41k Тебе сколько годиков, гошанчик? Может лучше в вузик для начала или пту? >гитхаб с учебными проектами Мало того, что это туду листы которые нахуй никому не нужны и не интересны, так ты их еще и просто скопипастил, судя по истории коммитов. Гитхаб должен быть зеленым и озеленять его должны твои личные пет-проекты, а не дерьмо которое ты переписал из ютуб видео-урока.
>>1814963 Проекты крохотные, проптайпсы в 2к20, особой активности на гитхабе не видно, юзернейм как у школьника. Тудулист и тот глючный — на видосе я быстро пишу и долблю по энтеру, какого хрена у меня меняются уже введенные задачи, а новые не добавляются? Явно общение с сервером криво написано. От тебя проблем будет больше чем пользы.
>>1814975 Ничего я не копипастил. А что должно быть у джуна в портфолио? Не нужны и не интересны, разве не качество кода должны смотреть? А коммиты редкие, потому что я заливаю на гит когда уже продакшн билд готов
>А что должно быть у джуна в портфолио? Интересный пет-проект, хотя бы таже тудушка, но с добавлением какого-нибудь оригинального функционала. >разве не качество кода должны смотреть? Какое, блять, качество в тудшке? Ты бы еще по Hello World качество кода просил смотреть. Никто не будет смотреть твоё дерьмо уже после того как прочитает в названии todo, а ты еще и хочешь чтобы как то качество кода оценили. >>1814989 >потому что я заливаю на гит когда уже продакшн билд готов Ну и нахуй на твой гит смотреть тогда, если ты им пользуешься как облачным хранилищем? Это говорит о тебе только как о человеке, который использует инструмент не по назначению. На гитхаб обычно заходят для того чтобы убедиться как раз в обратном.
В общем, очевидна умственная отсталость с твоей стороны, раз ты всего этого сам не понял. Остается только посочувствовать тому кто решится тебя взять.
>>1814989 Там качество кода тоже не то что бы хорошее. Ты хоть линтер поставь, он уже на кучу проблем укажет. Вообще, проект какой-то недоделанный и недополированный. Пустая страница с информацией, ошметки create-react-app в ридми, часть на русском, часть на английском и т.д.
Нахуя в нем нужен редакс и саги мне решительно непонятно.
>>1815010 1. Ну у меня там есть тудушка на вью, которую я по тз делал для какой-то стажировки, которая изначально была онлайн формата, а потом стала оффлайн и я на неё не смог вкатиться. 2. Нахуя мне ради тудушки которая написана за два дня делать десять коммитов? 3. Если что линтер по умолчанию под капотом у create-react-app идёт, и мне никаких ошибок не выдавало
>>1815024 Вот видишь, у тебя на всё есть ответ. Уже понятно, что ты самый идеальный программист на планете. Ты бы сразу написал, что твой вопрос "скажи мне, что со мной не так?" - риторический, и ответ на него дашь ты сам, а именно скажешь "да всё со мной так, это просто хуесосы не способны увидеть мой гений и оценить качество моего божественного кода."
>>1815024 >Нахуя мне ради тудушки которая написана за два дня делать десять коммитов? Так может что-то более осмысленное написать, чем тудушку за два дня? Потрать на приложение месяц хотя бы.
>Если что линтер по умолчанию под капотом у create-react-app идёт, и мне никаких ошибок не выдавало Там два с половиной правила в конфиге.
Я не очень понимаю зачем ты сходу начал отмазываться, как школьник, который не сделал домашку. Нелепо выглядит. Ты же сам спросил в чем проблемы, тебе и написали. Если думаешь что у тебя все идеально — ну, удачи в трудоустройстве.
>>1815054 ну я так понял, что меня не берут на работу из-за того что в readme я оставляю автоматически сгенерированную часть, что приложение поднято на create-react-app или vue-cli, из-за никнейма как у школьника, и отсосного стандартного конфига eslint'a, ну в принципе я понял над чем работать, грац
>>1815060 На работу тебя не берут потому что проект унылый, размером с комариный хуй и не работает нормально. Я тебе даже видос записал, где у тебя баги в базовом сука функционале, хули ты строишь из себя обиженку?
>>1814963 > ехал JavaScript через JavaScript > тудушки-тудушечки > стандартные Readme из CRA
А ты не особо-то и стремишься найти работу. Но откровенно говоря > но меня на всех откликах отшивают делают это едва ли из-за жиденького гитхаба. Овер 90% ребят, которых я собесил, имели примерно такие же по наполненности жидхабы, либо имели даже меньше реп.
Ищи причины в чем-то другом (резюме, умение продавать свои навыки, и т.д.)
>>1815010 >А что должно быть у джуна в портфолио? >Интересный пет-проект, хотя бы таже тудушка, но с добавлением какого-нибудь оригинального функционала. Будем честны с юниором, репы, по большей части, вообще индиффирентны интервьюерам и, уж тем более, хрюшам, только если авто не является мейнтейнером какого-то крупного/известного пекиджа. Интересный задеплоенный сервис, который можно посмотреть вживую, конечно, повышает шансы на вкат, но не сказать что значительно.
Учу реакт, и подошел к моменту, когда работаю с url строкой. Как обрабатывать search параметры?
Видел вариант с тем, чтобы нужные search параметры отправлять в стейт редакса, затем пушить в url, и уже потом парсить их, и на основе фильтров, подгружать нужную информацию.
Либо не использовать стейт редакса, а напрямую через <Link to={{ search: param }}>, а затем так же парсить и выдавать нужный результат.
Как правильно? Нужна ли прослойка редакса в этом случае?
Всем привет. Такой вот вопрос необычный. Существует ли какой-нибудь чек-лист по джаваскрипту (фронтенду), пункты которого должны присутствовать во всех приложениях (сайтах) в продакшене? Например та же модульность. Она же должна быть обязательно на JS. Сюда же можно отнести тесты, всякие обработчики ошибок, полифилы. Это все может казаться не очевидным и забываться в пет проектах, но это тоже требует практики и лучше это все делать как бы по умолчанию, заодно руку набивать.
Вот мне интересно есть ли какой-нибудь чек-лист с перечислением этого всего?
>>1815093 Проще всего использовать роутер и брать у него из пропсов. Можно запилить кастомный хук, но выглядит геморно. Особого смысла дублировать стейт в редаксе я не вижу.
Как жить с осознанием, что я пишу на лучшем языке для Илиты, а остальное чуханье даже близко к такому не приблизится из-за своей узколобости? Каждый день над этим думаю
>>1815256 Cisc процессоры, например х86, это на самом деле аппаратные интерпретаторы машинного языка выдаваемого ассемблером во внутренний микрокод процессора. Как тебе такое?
специалисты по аполло-ангулар здесь? поясните за организацию локального стейта. я написал небольшую приложуху ,которая представляет себя короткий визард каждый шаг которого форма в один-два инпута на отдельном роуте в отдельном компоненте. ну так вот, для финального шага нужен набор переменных -введенных юзером значений на предыдущих шагах,плюс инфа извлеченная из его выбора - всего может переменных 15. уже свалка. получается. и тут приложение совсем крохотное, а что если оно будет в несколько раз больше? видимо нужны заводить какие-то неймспейсы внутри локалстейта. первое о чем я подумал это просто создавать разные объекты которые и будут этими нейспейсами. но аполло требует для таких хуевин __typename -ну и это заставило меня усомниться в этом решении. соответственно вопрос. нормальное ли это решение и если да, то почему(мне кажется создатели аполло видели назначение объектов внутри локалстейта в другом) и если нет то тоже почему и как замутить иначе
Я правильно понимаю, что в ts не обязательно явно указывать типы, чтобы он тебе указывал на ошибки при попытке неправильно присваивать переменные или поля объектов?
>>1811020 (OP) Есть чекбокс, надо чтобы при каждом нажатии на него на сервер отправлялся запрос, который бы сообщал в каком состоянии находится чекбокс: включен либо выключен. Как это делается?
>>1816263 он переопределяет, но функция из первого бинда шлет его нафиг, потому что внутри уже захвачен контекст, с которым должна быть вызвана изначальная функция
>>1816481 The value types are number, symbol, boolean, null and undefined. string is also a value type although it is implemented with a slightly different behavior to save memory.
>>1816482 Зачем же ты обосралось, пафосное чмо? Ну ничего, тебе простительно, ты ведь жопаскрипт макака, которая думает, что строка это значимый тип, хотя может оно и к лучшему, а то ведь твой мозг сломается когда правду узнаешь.
>>1816483 Начались виляния жопой. Но увы мордочкой ткнули в пруф. Это видимо особый вид самоутверждения будучи макакой неразбирающейся в типах называть других макаками
>>1816484 Это тот долбоеб из воркача который никогда не писал на реакте но при этом с пеной у рта доказывал что сейчас все компоненты на классах пишут.
>>1816488 Увы, но CS не я придумал. Согоасно которой: >In computer science, an object is a value in memory which is possibly referenced by an identifier. Или ты и на это оправдание найдешь? У жопаскрипт макак наверно свой отдельный путь и CS соответственно, да? Ой, а может быть жопаскрипт макака просто не знает как строки в памяти хранятся? Ведь единственный для него авторитетный источник в виде смузихлеба с медиума, высрал только "with a slightly different behavior to save memory" без всяких уточнений. Так ты вместо того чтобы в штаны срать, просто спрашивай у людей, а не слепо верь окружению из макак.
>>1816536 Да, дурачок, наконец то ты сообразил до сути. В js все что не примитив это объект. И наоборот все что не объект это примитив. А строка один из примитивов js
>>1816540 Так беги быстрее переписывать: >String literals (denoted by double or single quotes) and strings returned from String calls in a non-constructor context (that is, called without using the new keyword) are primitive strings. JavaScript automatically converts primitives to String objects, so that it's possible to use String object methods for primitive strings. Или источник https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String#String_primitives_and_String_objects недостаточно авторитетен для тебя, будешь ждать статьи на медиуме? Главное не запутайся в своих примитивах и объектах, а то я вижу что у тебя котелок совсем закипел от перенапряжения.
>>1816547 Ахаха деб, у всех примитивов в js за исключением null и undefined есть такие объектные обертки как та о которой у тебя в цитате говорится. В оригинале вроде Wrapper Object. Это что же получается в жс только 2 типа не стрелочные, это null и undefined и они же и являются единственными примитивами?
>>1811020 (OP) Есть большой js-файл где присутствует смесь жкьюри и ваниллы на 3к+ строк кода (нет, это не мой код). Появилась идея для отладки: при каждом вызове функции или метода в этом файле, логировать имя функции в консоли, чтобы легко можно было просмотреть стек вызовов при взаимодействии со страницей. Как это сделать?
>>1811020 (OP) Как сделать более детализованный поиск под тот же авито в виде отдельного сайта, парсить все нужное через апи? А если его нет, то как это делается, через http? И на чем это лучше делать, на жс?
Кто там жаловался на бойлерплейт в редаксе. Недавно вернулся к нему с мобх. И охуел как там все упростили. Больше никаких mapStateToProps и mapDispatchToProps. Никаких экшнкриэйтеров. Все просто и приятно через хуки решается
>>1816793 >экшнкриэйтеров Их и не было, ни разу не видел, чтобы кто-то писал полную форму. Она нужна только для понимания, как редакс работает. А вот useDispatch сейчас дико не удобная и не красивая хуета.
>>1817220 В частности потому что редакс лучше реализует концепцию ФП. Редакс кажется сложным только тем кто не знаком с ФП. А кто знаком тот за 5 минут может понять концепцию редакса. А ноют в основном любители ооп говна которые везде тащат свое ооп даже там где ему объективно не место. В редаксе один стор. И он истина в последней инстанции в отличии от мобх в котором дауны понаделают сторов что неудобно. Особо упоротые долбоебы делают кучу сторов а тебе с этим потом работать. Потом стор в мобх мутабельный что вообще пушка. Конечно иммутабельность в редаксе заставляет писать дополнительный код но "критики" просто напросто не понимают что немутабельный код проще поддерживать и тестировать. Им то похуй, написали и пошли дальше но остальным с этим разбираться. Я говорю о действительно больших приложениях. В маленьких хеллоу ворлдах то легко все отследить. Собственно потому то большинство предпочитает реакт вместо вуе хоть тот тоже проще. Потому что in the long run эти подходы себя оправдывают. Вы когда нибудь пробовали масштабировать приложения на редаксе и мобх? Я пробовал на обоих. И по причинам названным выше с редаксом это гораздо проще. Повторюсь на мобх просто и приятно писать пока перед тобой не поставили задачу расширения приложения. Вот тогда для тебя и начинается ад учитывая что тестировать мобх сложнее гораздо.
Если суммировать все вышесказанное то на редаксе сложнее писать. Но его гораздо легче тестировать и он более как это говорят scalable. На мобх писать приятнее. Но эта приятность потом боком выйдет. Конечно если у вас маленькое уютное приложение то мобх классно. Но если вы титан индустрии то вы волком завоете от бесконечных оптимизаций и бойлерплейт редакса вам покажется милой рутиной, как девушку с "добрым утром" поздравить. Поэтому если вы новичок то учите строго Редакс. Не гоняйтесь за мнимой простотой мобх. Есть хорошая поговорка "тяжело в учении - легко в бою". Это именно тот случай.
>>1817236 Я вообще не понимаю почему говорят что на редаксе сложнее писать. Он работает понятно: задиспатчил экшен — состояние обновилось. Mobx работает на ебаной магии с мутациями, а вместо внятных значений прокидывает в компонент прокси-объекты. Нахуй так жить?
>>1817246 Это мы с тобой понимаем. Но из толпы вкатывальщиков 90% его осилить не могут почему-то. А из профи тоже немало тех кто трудности испытывает. Я хз может это ооп головного мозга или ещё что
Нихуя не понимаю как составить алгоритм для данной задачки.
На вход подается 2 подстроки. Нужно определить, можно ли превратить первую во вторую, заменяя одни буквы на другие, с учетом следующих правил:
- участвуют только буквы русского алфавита а-я; - все буквы в нижнем регистре; - за один шаг нужно преобразовать все вхождения одной буквы в другую букву.
Входные данные Входная информация поступает из стандартного ввода в виде одной строки. В этой строке содержатся две подстроки, разделенные пробелом. Ваше решение должно учитывать вариант, когда на вход поданы строки разной длины. Некорректные данные на вход не поступают, дополнительные проверки не требуются.
Выходные данные В качестве ответа в стандартный вывод программа должна выводить 1 (если превратить можно) или 0 (если превратить нельзя).
Пример 1 Входные данные: привет прикол Выходные данные: 1 Преобразования (выводить не нужно): в ⇒ к (прикет) е ⇒ о (прикот) т ⇒ л (прикол)
Пример 2 Входные данные: ааббдд ддббаа Выходные данные: 1 Преобразования (выводить не нужно): д ⇒ я (ааббяя) а ⇒ д (ддббяя) я ⇒ а (ддббаа)
Пример 3 Входные данные: абаб ааах Выходные данные: 0 Преобразовать нельзя, так как 'б' не сможет оказаться одновременно 'а' и 'х'.
>>1817277 Посимвольно сравниваешь строки, записывая соответствия символов в два словаря (в обе стороны). Если какому-то символу в словаре уже соответствует другой символ, значит строка не может быть преобразована.
>>1817277 >Преобразовать нельзя, так как 'б' не сможет оказаться одновременно 'а' и 'х'.
Хуль думать. Идешь по 1 слову, если символ отличается от символа во второй строке, делаешь его замену во второй строке. Запоминаешь позицию измененных букв. Если при замене нужно заменить уже измененную букву, то нельзя сделать замену.
>>1817354 Я это говно нашёл в инете , так как не могу алгоритм придумать, а так это нечитаемое говно, но главное решить хоть как-то, а потом рефакторить.
>>1817403 Бля вот скажите честно, нахуй нужно учить алгоритмы для вката именно(для дальнейшей работы нужны без сомнения, да и то они все реализованы тебе лишь нужно знать + и - подходов).
>>1817414 Вот выше ты запостил алгоритмическую задачу. Думаешь у алгоритма ее решения есть готовая реализация? Или даже название?
Программист должен уметь разбивать сложные задачи на простые шаги, это основа профессии как бы. Ну и не писать O(n^2) там где можно O(n) тоже желательно.
>>1817593 если ты бог спред-опрераторов и функций типа reduce и filter то 5 минут максисум если ты владеешь регулярками 80 лвл, то можно выебать в рот любую задачу со строками в 1 строчку
Анончик, расскади про react native. Я правильно понял, что это по сути тот-же реакт, где вместо тэгов у тебя специальный компоненты из этого нейтива, которые сами переобуваются под мобильную ось? А нахуя он вообще нужен, почему бы тэгами не писать? Ещё и смотреть как работает приложение надо на эмуляторе или смартфоне.
>>1818009 так в том и вопрос, чем будет отличаться два приложения с одинаковым функционалом и реализацией в рамках реакта, если одно десктопное с мобильной адаптацией, а второе на нейтиве
>>1817705 Почему ЖСеры пытаются стать экспертами по всем вопросам - Фронт, Бек, Фулстек, Фуллстек Мультиплатформ. Это такае призвание - быть говнокодером?
>>1818054 ну два приложения, просто одно написано на обычном реакте, а второе на нейтиве. Мобильная адаптация, я имел в виду, ну вёрстка перестраивается, или вообще работает как pwa
>>1818059 На вход подается 2 подстроки. Нужно определить, можно ли превратить первую во вторую, заменяя одни буквы на другие, с учетом следующих правил:
- участвуют только буквы русского алфавита а-я; - все буквы в нижнем регистре; - за один шаг нужно преобразовать все вхождения одной буквы в другую букву.
Это тз. Эти кейсы подходят под тз. Какие-то ещё причины нужны? Если это стадия отрицания: "каг таг алхаритм не работает ни может быт", то ответ на твой код уже есть, о его правильности можешь не спорить >>1817643 >Мне ответ прислали ,решение не верное короче
>>1818064 Усложняете вы тут всё, лол. Этож обычная cюръекция, а решение в лоб - заполнить структуру "ключ:значение". Если есть ситуация, что один ключ указывает на два разных значения, то нельзя преобразовать, если нет такой ситуации, то можно.
Сап, програч. Сейчас на уч.практике - лепим сайты в хтмл'е, css, с примесью джавы. Вобщем такая тема - хочу влепить на сайт аватар-мейкер. Чтоб можно было, перейдя по ссылке, попасть на стр с человеческим профилем, которому можно было бы выбрать глаза, прическу, рот и.т.д Можно ли такое как-то через джаву реализовать, путем выбора png изображений этих самых глаз и.т.п на определенные части головы? Допустим, на лоб тыкаешь - открывается список причесок, на рот - список ртов и.т.д? Или мб можно какт иначе эту тему раскрутить? Вообще возможно эту задумку реализовать?
>>1818079 >Вроде все замены однозначны. Вот было бы «бччвап побмбб» тогда была бы ситуация, что > Пример 2 Входные данные: ааббдд ддббаа Выходные данные: 1 Преобразования (выводить не нужно): д ⇒ я (ааббяя) а ⇒ д (ддббяя) я ⇒ а (ддббаа)
>>1817920 Нейросети генерят не поддерживаемое человеком говно, бизнесу этот гиммик не нужен. Угроза для фронтендеров реальней - переход веба на допиленный webassembly, для которого придется переползать на раст/го/ещё-что-то. Вот это вполне может быть, хоть и не в ближайшие годы.
>>1817236 Твоя претензия к мобксу в том, что он позволяет тебе писать императивный код, как тебе удобно, а в итоге получается неподдерживаемый кал. Это проблема вашей непродуманной архитектура, а не инструмента. Можешь такие же претензии предъявить к ванильному жсу. Ты пробовал, я не знаю.. мст? Какие у него проблемы с расширяемостью? И вообще, скажи, зачем тащить фп в однопоточные языки? Какие он пробелемы решает?
Работаю с Element UI + Vue. В таблице встала необходимость сделать вложенные списки (глубиной лишь на один уровень). И столкнулся с проблемой пагинации при таком способе отображения данных. Получается что основной список по прежнему успешно динамически подгружается (через infinite-loader), а вот как настроить на эту динамическую подгрузку вложенные списки - не знаю.
Может кто-то сталкивался с подобным, подскажет как это решить?