Это копия, сохраненная 24 марта 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Больше пары строк кода в посте или на скриншоте ведут в Ад.
Для программирования на HTML https://jsfiddle.net/
Для Node.js с консолькой https://repl.it/languages/nodejs
Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: что я хочу получить, что я для этого делаю, что я вместо этого получаю. Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Руководство для вката:
https://pastebin.com/9yRADC0s
React
А библиотека.
Preact или Inferno.
angular
Vue.
Svelte
Пацаны, буквально недавно узнал что можно организовать допотопный поиск внутри виджета в реальном времени
Достаточно лишь запилить поле input и привязать к нему хендлер onkeyup который при каждом введенном символе будет проходиться по элементам виджета и ставить display:none тем, которые не будут удовлетворять введенному в поле input значению. И это на обычном ванильном жс
Есть еще подобные фичи, которые следовало бы знать?
<b> текст жирным сделает.
Почему иди нахуй? Если ты скажешь что рантайм не важен, то сам иди нахуй. Например в С++ С# Java можно перегружать реализацию, а в тупаскрипте только интерфейс.
Есть. С помощью document.getElementById() можно найти на странице любой элемент, у которого есть атрибут id с указанным значением. Недавно узнал, удобно, иногда пользуюсь.
А что будет когда ты узнаешь что можно найти любой элемент по любому сss правилу
document.querySelector('#tvoy-papka .tvoya-mamka:first-of-type:hover')
Что с тобой будет, когда узнаешь что в jquery это давно реализовано максимально просто и нативно?
Доктайп где, ммм?
>jquery
>нативно
Ты серишь. то, что внутри вызывется тот же querySelector для браузеров, поддерживающих это, себе в сраку засунь
Что с тобой будет, когда узнаешь что твое жиквери я перестал использовать когда ты еще с горшка не слез?
Поздравляю, сынок, ты стал совсем взрослым...
Ну и хуево. Предал императора , ситх. Поддался влиянию смутьянов-джедаев.
Жиза. Недавно устанавливал vs code и первое, что сделал после запуска - полез в настройки, чтобы найти, как включить светлую тему.
Оу, раз уж шарите, то подскажите по-быстрому, какую клаву и мышь лучше взять для прогинга? Скоро буду вкатываться в айти но хочу максимально удобно затариться. У меня мышь Speedlink Reticos, для колды и контры норм было, 6 клавиш да еще и dpi тащил, а для прогинга сойдет? Или для макросов нужно желательно больше 6 клавиш?
>Оу, раз уж шарите, то подскажите по-быстрому, какую клаву и мышь лучше взять для прогинга? Скоро буду вкатываться в айти но хочу максимально удобно затариться. У меня мышь Speedlink Reticos, для колды и контры норм было, 6 клавиш да еще и dpi тащил, а для прогинга сойдет? Или для макросов нужно желательно больше 6 клавиш?
Руль не забудь прикупить с коробкой педерач, будет очень удобно формочки клепать
Вообще похуй на чем ты будешь писать, голову только не забудь
Есть же вайтивайти стартерпак. Там только самое необходимое для вката.
Тебе нужен макбук для начала.
Смотри вакансии по React/Vue и чо там надо.
Считаю концепцию undefined одним из величайших достижений в прогинге и охуеваю, как всякий скот из других языков живет без божественного undefined
Одно это однозначно выделяет ЖС и делает его всеобщим lingua franca на зависть скоту и быдлу
undefined - зарплата
undeclared - доход
uninitialized - петпроект
unreachable - тянучка
empty - мозги
Как же я обосрался. Это кто-то из местных?
Особенно проект на vue зацените. Звуковое сопровождение из 10.
Я ж гворю что ты тупой
null - это баг в стандарте жс. Его придумали чтобы сделать empty значение для объектов
undefined - переменная задекларирована, но не ей присвоено значение. Например она определяется ниже по коду и хойстится
undeclared - переменная вообще не декларирована в скоупе
uninitialized - переменная декларируется и инициализируется где-то ниже и не хойстится, поток выполнения до нее не дошел
unreachable - значение возвращаемое функцией в которой обязательно происходит исключение
Планирую делать проект. В проекте будут данные. Данные надо где-то хранить. Фронт - точно Express+React. Бэк - хотел взять Express и прикрутить ts-postgres, но потом подумал, что ебаться с пермишенами, аутентификацией и прочую парашу сам писать не хочу. Будет ЛК, обработка хуков, ещё что-то типа очереди на Celery
Писать самому под ноду или взять уже почти каноничный DRF? работал и с тем и с тем
data () {
return {
selected: [],
}
methods: {
checkit: function(val) {
}
}
val содержит массив целиком. А мне нужен конкретный элемент, который исключили \ добавили при клике на один из чекбоксов.
Что-то похожее: https://vuejs.org/v2/guide/forms.html#Checkbox
смех
>undefined - переменная задекларирована, но не ей присвоено значение.
Оказывается JS это язык с встроенным AI, который определяет будущее, поэтому любое свойство/метод объекта на самом деле существует, просто ты ему не присвоил значение, поэтому оно возвращает undefined.
> null - это баг в стандарте жс
Настолько баг, что его сделали сериализуемым значением. Пиздос ты лалкер, небось только Cuntor'а прочитал.
> unreachable - значение возвращаемое функцией в которой обязательно происходит исключение
Это определение вообще что-то уровня never в тайпскрипте . Строго говоря unreachable - это любой код после завершения правой стороны от return.
Нихуя не замена. Если пизданешь такое на собеседовании тут же услышишь что тебе перезвонят
Тебе для чего? В любом случае, в мало-мальски больших приложениях всегда используют Стейт менеджер. И самый популярный - редакс
Эти мужики - пидоры
?????????????
На жукверике
Т.е. стейт менеджер в любом случае придется тащить в проект сложнее тудушки?
И второй вопрос, контекст нужен только для реализации иньекции зависимостей?
И то и другое. С ангуляром тайпскрипт выучишь. Вуй можешь не учить, сейчас это как раньше жуквери для пыхорабов разных мелких галер.
x()
var z = 10
function x() { console.log(z) }
Тогда смысл в поднятии варов?
Мне реально интересно. Если ответ "ПОТОМУ ЧТО ЭТО ЖС, ПОШЕЛ НАХУЙ" меня это устроит. Но если есть реальный ответ на вопрос, был бы рад услышать
Йеп. ЖС всепрощающий жеж.
А почему это обращение вдруг безопасным стало? Типа ты приходишь в булочную, а там за прилавком Пахом стоит.
$(function () {
...
});
Почему нельзя написать функцию напрямую? Видел в паре мест, но так и не понял смысла
То есть вся фишка, что это анонимная функция? Если просто написать тот же код внутри script без всяких объявлений, то технически всё будет то же самое?
сколько всего придумали, чтобы хорошенько один раза насрать в script таг в документе
А, я тупой
Суть в области видимости, спасибо анон
>ты еще спроси почему typeof null это object
О мне на собеседовании недавно этот вопрос задали. Я сказал что это по историческим причинам так (то бишь проеб разработчиков). На что мне спросили почему тогда не исправить это? Я сказал чтоб не всплыли ошибки со старым кодом. Для обратной совместимости типа. Потом спросили как тогда правильно проверить на null. Сказал что тройное равно вместо двойного использовать. Сказали хуя ты умный. Но на работу не взяли(((
>"почему typeof null это object"
потому-что нужно было не умничать , а отвечать:
"ебать тебя это не должно"
, пес
Ну и кстати typeorm не решает проблемы с пермишенами и auth'ом, один хер придётся вручную пилить.
Ну тебе же на бек нужен express, а nest это надстройка над express с guards, interceptors и тд. ну типо spring. Короче там авторизацию и всю хуйню можно в пару десятков строк уложить
В вуе так-то всё лучшее от ангуляров и реактов.
Не знаю вуй, хуй знает зачем там див вокруг чекбокса.
>>11724
У него же див получился, у которого ни id, ни value
Ну он про id спрашивал, я и сказал. Мб научится нормально html писать. А вообще ему надо доку нормально прочитать и вопросы отпадут сами собой, тому что я нашёл решение за 2 минуты https://vuetifyjs.com/en/components/selection-controls/
Как же меня коробит от этого уебанского кружка вокруг чекбокса. Чекбокс, блядь, не по центру получается.
Лол, у меня на хроме не так уебански выглядит
Не работал с Vue, но попробуй ловить click, там, судя по доке, передаётся MouseEvent, у которого ты можешь взять event.target.value но по-моему канон это name брать, аноны?
>>181178
Помогло хоть?
чё за виджеты. Это которые на Виндовс 7?
Чтобы разбогатеть и прославиться.
Большое - ридух, маленькое - даже и контекст не нужен.
Немного разобрался с сагой, тупа замена redux thunk, с ТС поигрался, подумал, как охуенно сразу типы задавать, чтобы потом не выискивать ошибку в редьюсерах, почему я сразу его не учил, но в целом чувствую себя пиздец неуверенно, дохуя ньюансов и фич.
В общую структуру проекта не могу полностью вдуплить, откуда там куда данные перетекают, с трудом вообще нашел папку страницы над которой работать придется лол. До этого просто все крупные проекты пилил с redux, а тут без него обошлись. Еще конторка мелкая на дюжину человек, сразу сказали, что спрашивать и общаться это норм, но в целом от меня ждут
более самостоятельной работы.
Короче. Как не ОБОСРАТЬСЯ?
сказал*
Не правильно вопрос ставишь. Как грамотно обосраться
На js это будет делать только дебил, потому что всё решается несколькими строчками css при помощи свойства transition.
>Как не ОБОСРАТЬСЯ
Смотри как уже сделано - делай так же
https://www.youtube.com/watch?v=B_TJ3KXpF0A
Хуйню понес. Посмотри как-нибудь код на эликсире.
css можно добавить через js
Если очень хочется делать анимации на жс - easing functions & requestAnimationFrame
Как таким образом задать псевдоэлемент или псевдокласс?
Работаю фронтом ~8 лет, 30лвл. Как выкатиться из этого говна и вкатиться в байтоебство, бэкенд или еще какое-то "настоящее программирование"? Заебало, в печенках уже, не могу уже, блять. Есть кейсы успешного съеба из этой мочи? Много видели таких? Или у меня уже слишком много "вредных привычек" и это безнадежно? А сам-то, анон, не чувствуешь то же самое?
Про "завод" мысли надо всегда отгонять нахуй. Ибо хуйня это, из-за депрессии возникающая в голове. И вот это
>всегда рады
пиздежь. Будешь работать в говне-грязи в васянами (придется с ними там доминировать друг-друга и бухать с ними), начальник твой будет кузьмичом и на ЗП кидки более чем постоянно. Забудь пиздежь про сварщиков-миллионеров - их "высокие зарплаты" высокие только если ты в пятерочке кассиром работаешь.
Это я скорее для других анонов написал. Мало ли, может кто-то реально думает о таком.
Нет, я же не долбоеб. У меня обратная история - я выкатился после 7 лет из АСУ к хуям во вротенд, теперь меня палкой не загонишь обратно байтоёбствовать. Иногда ностальгирую ретроградствую по старым задачам, но это легко лечится отрезвляющими рассказами коллег на ежегодных посиделках в кафешке об их текущей работе.
>орнул
А зря. На такую хуйню много анонов ведутся, особенно если депрессивного анона подзаебало то, чем он занимается. Тем более, сейчас из каждого утюга телеги об успешных сантехниках и сварщиках-миллионерах.
>лечится отрезвляющими рассказами коллег на ежегодных посиделках в кафешке об их текущей работе
Запили рассказы коллег. Браток, правда. Может и я отрезвлюсь.
>об успешных сантехниках и сварщиках-миллионерах.
Если на себя работать, а не на кедрового начальника (именно работать, а не лежать как хуй на блюде), можно быть оче успешным.
Бывший коллега стал начальником бюро. Его стори:
- начальствует над 3,5 сотрудниками, 1 из которых - пенс, другие - студенты местных шараг. Как ты понимаешь, последним ПОХУЙ на всё, ибо работать за 17к/мес может только мазохист;
- его дрочат ВСЕ, ибо в контексте АСУ он конструктор, программист, слесарь-монтажник-наладчик-технолог и докучи всего еще;
- на регулярной основе катает в устьпердяйски в командировки. Единственную усладу - "мутку с чеками" на гостиницах для непосвященных - это, по сути, единственный способ заработать деньги, если мы не считаем 30-35к/мес зарплатой;
- разработка в духе "пиши на ворованном софте" без реального оборудования, отладка и шанс хоть как-то опробовать свою программу будет только на площадке у заказчика (а это автоматом генерирует мегатонны лулзов);
- ну и дохуя всего местечкового, как то ебанутейшее руководство в лице кабанчиков, у которых на уме только наебать тебя по-скотски, например, отправив в учебную командировку за кабальный договор, согласно которому, при увольнении, ты будешь обязан компенсировать все расходы на обучение, проживание и т.д.
Можно просто зайти ради любопытства в воркач, перейти в тред асушников и радостно растекаться в улыбке, держа в голове, в каких тепличных условиях находятся среднестатистические фронтендеры по отношению к среднестатистическим же инженерам-программистам на заводах.
У нас при вузе такое же конструкторское бюро работает, просто депрессивный пиздец. Но люди там идейные вроде, им нравится, они спутники в космос запускают(за зп 40к в дс2)
Пиши бек на текущей работе, потом пойдешь куда-то в другое место уже беком или фулстаком
Блять, ну ты реально какой-то уралговнозавод описал. Да, согласен, АСУ - говномоча. Но не одни же сАСУ работают с байтоебством.
Это самый лучший варик, но на текущей не получится. Весь бэк вообще в другом отделе, а у нас - SPA, полностью изолированное от него, т.е. при локальном запуске не нужно даже разворачивать у себя какой-то инстанс сервера (впрочем, как везде сейчас, ведь на дворе не 2010й). Т.е. я вообще не вижу серверный код, как и не имею к нему доступа. Вот на позапрошлой работе был легаси-проект на .NET MVC - надо было там...
До 2013го писал на РНР (год-полтора, примерно) - Zend, CodeIgniter, Yii, круды писал, какую-то АПИшку пробовал еще писать на работе (проект закрыли потом и оно никуда не пошло), но в целом опыт не то чтобы колоссальный, ты понимаешь. Разработка сейчас на РНР сильно отличается от тогдашней?
У меня не робить
А почему бы и не мобильная разработка? Начинаешь с react-native, потом перекатываешься в Swift. Андроидов не бери - заебешься отладкой заниматься чуть ли не под каждую модель.
Я тебе ещё раз говорю, тебя это ебать не должно чмо
>А почему бы и не мобильная разработка?
Я вот на флаттер посматриваю. Есть даже парочка идей для пет-проджекта. Правда, флаттер чет считается червем-пидором среди технологий, если почитать что гребцы пишут синтаксис у дарта некрасивый - лол, проблему нашли, и хуй знает будут ли рабочие места на нем.
Меня даже больше интересует не выбор стека, а с чем придется столкнуться, какие подводные при перекате с фронта, как охотно берут на работу свичеров с фронта, особенно если 30 лвл и прочее.
Почему typeof функции - это function, если функция - это объект? При этом typeof массива - object, а не array.
Да. Да.
Двачую этого. Это как переговорщик в серьезной компании. Если видят что приезжает на кие или хенде смотрят на говно. Нужна Тойота как минимум. Так и во фронте если придёшь без мака на собес считай что нахуй пошлют
Ниче страшного, потупишь несколько дней в проект потом освоишься у всех так было.
>Зайти в доки и убедиться, что ТС содержит инструменты для работы с JSX
>Тайпскрипт используют сейчас в связке с реактом?
Блядь, даже не знаю... Да нет, наверное, не использують... Пиздец, конечно, товарищи, вопросы уровня JS треда
пора дополнять шапку, а конкретно раздел "платина"
Деб, я знаю что это технически возможно. Я спрашиваю насколько это распространено? Не думал что тут такие идиоты есть которым элементарщину пояснять надо
>Блядь, даже не знаю... Да нет, наверное, не использують
душный смузихлеб детектед, вопрос про актуальность, а не возможность использования
>Весь бэк вообще в другом отделе,
Ну так договорись с тимлидом что будут тебе какие-то простые таски давать. Сначала в свободное время, потом как набьешь руку уже и в рабочее.
Опять же можно сделать какую-то автоматизацию конкретно для своих коллег, типа слак бота который будет что-то делать, например
>какие подводные при перекате с фронта
Надо знать нативную разработку чтобы на флаттере писать. Чтобы портировать разную срань на флаттер.
Пушо флаттер это чисто фью слой. Это как если бы ты сайт писал внутри канвас тега. Ну и перфоманс там слабенький. На топ девайсах летает конечно. А вот на андроида дешевых нет.
Вызываем апи (это уже обернуто в функцию, вызывающую коллбэк функцию с результатом), начитываем некий список id.
Потом по каждому id вызываем другую апи, новый вызов после завершения предыдущего.
То есть по сути должна быть цепочка промисов, но она динамическая, так как количество вызовов зависит от количества элементов, которые вернул первый вызов.
Я через коллбэк функции такое могу сделать с рекурсией, но вот через промисы не понимаю как правильно. Алсо я не кодер, но вот приспичило сделать, промисами вообще не пользовался раньше.
Promise.all если важна одновременность, если не важна, то и похуй, зачем запариваешься? Тупо мапь и все.
Да я через промисы вообще не понимаю пока как правило, читаю доки, а в башке не укладывается.
Через коллбэки я бы сделал так:
1) Вызвал функцию 1
2) В коллбэке функции 1 запихнул во внешнюю переменную массив Id
3) Вызвал функцию 2 с 1 элементом, индекс записал бы во внешнюю переменную
4) В коллбэке функции 2 запихнул результат, повторил пункт 3, итерируя индекс, при достижении последнего индекса вышел бы с результатом
Как-то так. Что-то мне подсказывает, что программисты такую задачу решают красивее и через промисы.
Сорян, если где-то описал криво, у меня опыта практически нет.
getList()
getItemById()
getList()
.then(listData => {
return Promise.all(listData.map(d => getItemById(d)))
})
.then(promiseAllResult => {
})
Что то такое типа мб
>заполняется через нажатие кнопок на клавиатуре
>некая функция
>исполнение кода повисло
>забивка массива
это просто прекрасно. хороший тред и посты интересные
Сработало, охуеть, а я 2 дня мозги себе ебал. Причем это решение было первым, которое пришло в голову.
>байтоебство
Это как раз таки не софтвер инжиниринг. Будешь писать скриптики для считывания сигналов с датчиков, перекладывать регистры и пр.
Ты ж в курсе что иногда стрелочные функции не катят именно из-за того, что берут this из внешнего скоупа?
Если ты не собираешься изменять значение чего-либо то через const. А изменять функции это самое тупое что можно сделать.
Из-за того, что на микрухах тесно как в сортире. Провафлишь на одну микросекунду - медицинское оборудование может дать сбой, ракета упасть и пр. Байтослесарство - это больше хардверно-инженерная специальность, чем софтверная. Там ты работаешь с реальными вычислительными моделями, а в софтверном инжиниринге - с абстрактными.
Если нужна обычная функция, тогда лучше в function declaration стиле ее объявлять. Для лямбд - стрелочные функции.
Есть функция, выполнение которой может занимать минут 10 (не замерял точно, ибо не дожидался). Страницу вешает, UI не отвечает, короче, надо это поправить.
Попробовал обернуть в промис. По-прежнему вешает страницу, по-прежнему не отвечает UI.
Попробовал разбить на мелкие блоки, каждый из блоков обернув в промис и сделав из них цепочку. UI по-прежнему вешается.
Попробовал каждый из мелких блоков завернуть дополнительно в setTimeout, но функции стали выполняться не в том порядке. Не похоже, что это разрешимо - у того, что возвращает setTimeout(), нет then(), как у промисов.
Пробовал сделать через WebWorker, но "Попытка нарушения системы безопасности" при попытке создать объект Worker. CORS мне мешал и раньше в жизни, поэтому я особо не удивлён.
Как это правильно сделать?
Зачем это делать на фронте?
Как ты по другому собрался это делать без остановки? Повесь лоадер и напиши - ждите.
Да. С жабой
По нажатию на кнопку вычисляется большой объём данных, который кэшируется. После этого кэшированные данные можно переиспользовать (пока не поменяется стейт).
В целом, можно очень много чего делать, пока идёт вычисление. От него зависит только пара вещей.
(А ещё, если честно, я не знаю, как вешать лоадер. Это можно было бы загуглить, но там всё равно надо сначала асинхронность корректно реализовать).
Если хочешь, можешь глянуть тут саму страничку: http://lightstrout.com/puzzle/puzzle.html . Главное, не жми T, S, V, X, C или Q, если размер больше ~30. Будет заметно зависание.
Я хз, о каком клиенте ты говоришь, но любую очередь сообщений для рантайма типа ноды, и TCP сокеты для веб клиента. Сойдет?
>>12856
>Пробовал сделать через WebWorker
Плохо пробовал. По сути, это безальтернативный вариант для тебя. Если занимаешься сериализацией/десериализацией данных, то и воркеры беспомощны - они блокируют поток неявно делая ту же работу по де-/сериализации при передаче мессаджа основному потоку. В таком случае тебе поможет гранулированный парсинг, что-нить типа yieldable-json.
> Я хз, о каком клиенте ты говоришь, но любую очередь сообщений для рантайма типа ноды, и TCP сокеты для веб клиента. Сойдет?
Веб сокеты кажись. С браузере.
>Попробовал каждый из мелких блоков завернуть дополнительно в setTimeout, но функции стали выполняться не в том порядке. Не похоже, что это разрешимо - у того, что возвращает setTimeout(), нет then(), как у промисов.
В самом деле, промисы и таймеры не для CPU-bound операций, а для I/O. В лучшем случае, они откинут вычислительный процесс следующий тик (в этом, например, и состоит уловка с использованием fetch API для парсинга жсонин). Для таких случаев пишут вручную pull штуковину с использованием генераторов и дробят вычисления на как можно мелкие партии.
Просто добавь слипов вида пикрил.
На пикрил бесконечный цикл, но он не вешает поток, я также могу продолжать выполнять действия в браузере и изменить значение переменной work. Можно sleep делать и в 50 мс, зависит от того насколько UI нагружен и насколько отзывчивым должен быть.
Вам в питон-тред.
Двачую этого. Сидишь и дрочишь код целыми днями.
В отдельный файл (types.ts) вынес всю типизацию, а именно начального стейта, всех экшонов, экшон-тайпы объявил через enum. Каждый экшон собрал в единый ActionsTypes по такой схеме:
type ActionsTypes = {
ActionType1 | ActionType2 | ActionType3
}
И теперь всё это дело подключаю куда надо. Как лучше типизировать всё это дело?
ngrx?
Откусить от проекта и увидеть там jukverik
Все. Редакс охуенен а ноют только тупые макаки которые элементарную концепцию осилить не могут
Что использовал помимо редакса? Какие по твоему мнению плюсы и минусы у других решений?
Mobx из других стейт менеджеров. Плюс редакса что вся его работа на виду. Никакой магии как в мобх. Это по сути паттерны функционального программирования как есть. Я использовал редакс ещё до его появления тупо печатая код в функциональном стиле. А контекст и всякие хуки это баловство. В крупном проекте сразу нахуй пошлют за такое. Поскольку они все очень плохо оптимизированы в отличии от редакса
Ну я к примеру фронтендщик, можно сказать современный. Но считаю что SPA парадигма через чур переоценена.
Я бэкендер, не люблю верстку, поэтому рад что SPA помогает делать только эндпоинты с жсонами, а не заставляет мучаться с какими-то там высираниями данных из сессии в недоверстанные шаблончики, хотя это может и работало бы лучше.
Upd: таки реализовал через WebWorker, который загружаю через костыль отсюда: https://stackoverflow.com/a/33432215
Всем спасибо, кто откликнулся!
Есть мнение, что редакс тормозит. Но похуй, даже если он самый скоростной – не надоедает писать столько бойлерплейта?
Это фронтенд, алло
Когда у тебя приложение на сотни тысяч строк кода - громоздкость наименьшая из твоих проблем. Главное чтобы надёжно было. Редакс надёжно защищает стейт от криворуких долбоебов Конечно писать хеллоуворлды можно без этого. Но в реальном проекте никто не даст вешать лапшу из контекстов. Когда только хуки выкатили мы тож радовались что наконец без редакса попишем. Пока тимлид не спустил всех на землю сказав что хуки строго дозированно использоваться будут. И старый волчара прав оказался (челику под 40).
Слишком дохуя вариантов выходит.
Только на [1,1] у тебя 4 потенциальных варианта расстановки знаков.
Ичо, кампутер у тебя не сломается.
Речь идёт про Реакт с Редаксом
То есть экшоне, который записывает всё это дело в стейт, мне нужно брать каждое нужное поле (ведь не все поля нужно чтобы были числовыми) и ручками переводить их в Number?
Нет ты либо делаешь умные модели, которые парсят дто за которые тебя потом пиздят, либо пишешь так, чтобы апи слой возвращал десериализованные данные, т.е. все числа, даты, ебанутые bool и enum были в готовом к употреблению виде. Потом это уже идёт в пэйлоад экшона и затем в редюсер
>angularjs
Что за пиздец? Ты конч?
Возьми нормальный англуяр на TS, там можно сделать нормальный ооп прямо как в жабке.
Ну так тебе надо сделать таску или у тебя нет времени разбираться? Выбери что то одно.
Просматриваю один проект на Ангуляре + TS, вижу что элементы DOM там имеют прибавку типо _ngcontent-mgn-c155, и она периодически меняется при перезагрузках, что это такое?
изучал лишь ванильный жс, ни один крупный фреймворк не трогал, хз как оно там строится/рендерится, что почитать на эту тему?
На что "забить", лол? мне надо эту менюшку расширить и добавить туда новые пункты, связав это все с бэком
Но ведь вторая проблема в приложении на сотни строк кода после надежности это сопровождение и с этим у редукса как раз всё очень плохо из-за раздувания кодовой базы. Ну и да речь конечно же не о хуках и контексте а о других стейт-менеджерах в качестве альтернативы.
эти хуевины не связаны с твоей задачей
например
Забей на DOM, фреймворк разбирается с ним за тебя.
Напрасно ты так думаешь. Редакс не зря настолько популярен. Редюсеры можно компактно разбить по отдельным файлам как и экшены. Возможно есть и другие хорошие Стейт менеджеры. Я все не пробовал чтоб утверждать что-то насчёт этого
Да
SEO
const f = (x, y) => x / y
Как мне сделать bind так, чтобы он затронул y, но не x? Если сделаю fMod = f.bind(null, 10) то сделаю x равным 10 (null передается в this), как мне сделать то же самое с y?
Как правило для SEO. Или если продукт заточен под пользователей со слабыми интернетом и/или девайсами. Ну и вообще, даже если не стоят такие задачи, сайт будет быстрее показываться пользователю, нежели просто СПА и все.
этот аттрибут добавляется для изоляции стилей. Он показывают к какому компоненты они принадлежат скажем так
Еще чуток добавлю. SSR тот что обслуживает SPA, для SEO обычно не годится. Так как жирнючий бандл SPA никуда не девается. А так же при формировании шаблона на беке, всеравно идут хттп запросы, на апи которые замедляют рендеринг по итогу.
Так что если нужен SEO то от СПА надо отказаться.
И это я еще мобайл не смотрел. Говна кусок твой авито.
Тип запроса, тело, заголовки и т.д. не верно поставил. В панели разработчика скопируй как fetch и посмотри что к чему.
В том то и дело и что не можешь. Нельзя ребиндить значение this в стрелочных функциях. Если хочешь хуйней страдать то делай через обычные функции
Да. СПА для сайтиков с контентом и чуть чуть свистоперделками не очень подходит. А если это фронтенд приложение аналогичное мобильным, десктопным или флэш-поделиям из 00х, то весьма подходит. Например, для каких-нибудь приложений по совершению транзакций на блокчейне серверный рендеринг статичной странички с чуть чуть динамикой ну совсем не подходит. Как и для почтового клиента, редактора фоток например. А вот для типичной педивикии, новостного сайта и пр. - вполне лучше чем спа.
>Например, для каких-нибудь приложений по совершению транзакций на блокчейне серверный рендеринг статичной странички с чуть чуть динамикой ну совсем не подходит. Как и для почтового клиента, редактора фоток например.
Зато для них подходит СПА. Даже концепт СПА совсем не новый. Просто вместо Жабы и ЭкшнСкрипта для этих целей сейчас стали использовать ЖС (который изначально был игрушечным языком для добавления интерактива в гипертекстовые документы, чем веб 1.0-2.0 в основном и был). Да и доля приложений в вебе выросла. Современные фронтедщики, оказавшись в 00х, вместо приложулек на ЖС клепали бы приложульки на Жабе, ЭкшнСкрипте скорее всего. Или на Шарпе, Крестах под десктоп. А разработкой сайтов занималась вообще отдельная категория людей, которая умеет верстать, чуть-чуть админить и чуть-чуть программировать.
Писать писать и еще раз писать код. Тогда выработаешь паттернчики. А костыли все равно будут появляться в спешке, так что без рефакторинга не обойтись никак.
суть то не в этом
fMod = x => f(x, 10)
Просуммируй все X и все Y. Если хоть одна из сумм нечетная – вернуться нельзя.
Если обе четные, замени половину единиц по X и половину единиц по Y на -1.
Сделай своп/флип и уже потом стандартный паршл с помощью бинда.
Чё посоветуете по изучения фронта и вката в фулстек. Погуглил за фреймворки, мне понравился вью. Очень простоя, как для меня дауна прям ваще гут. Реакт понравился меньше, но походу придется ориентироваться на него. Учу так же вебпак.
Расскажите плез, какой хороший способ поттянуть фронтенд. Дружбан говорит короче удалить фреймворки и написать гугл таблицы на чистом жс, и типа тогда только норм научусь. Слать нахуй, или годный совет?
Читай доку и нахуй шли курсы. Тыж не совсем ноль чтоб видрсики на Ютубе смотретт
Ну и че, я вот тоже на бэк приходил, но сейчас пилю проект на ангуляре как фуллстек, полет нормальный помогите кто-нибудь, это пиздец
Вопросы по безопасности:
1) CORS не дает делать запросы. Пока поставил заглушку в виде AllowAnyRequest, но, наверное, так делать не надо?
Временное решение – указал в настройках бекенда адрес сервера, с которого происходит раздача фронтенда. Вроде работает
2) Когда я генерировал статику на asp.net, CSRF токены сами цеплялись к формам. Голое апи ничего не цепляет. Надо ли их настраивать, или хуй с ним?
Авторизация через jwt, который я сохраняю в localstorage, а потом интерцептором добавляю в axios
Читал статьи на хабре, в комментариях кто-то писал, что CORS нахуй не нужон. С CRSF все намного запутаннее
Можешь по доке, можешь по видео курсам на курсхантере.
Писать на ваниле смысла мало для тебя мне кажется. Лучше хорошо выдрочить апи фреймворка
в твоем случае тебе надо разрешить корс для всех, но по токену жвт проверять есть доступ к апи или нет. Вообще ебли с этим жвт, мне больше сессии нравятся.
Вообще не маркетабл скилл что ли? По идее должно быть хорошо. Вот я как пхпшкалек очень качнулся когда, стал писать на ванили. Изначально под ларавель учился.
>1) CORS не дает делать запросы.
CORS - твой друг. "Не дает делать запросы" тебе Same Origin Policy.
Мимодушный
Говно собак. Есть куча ахуительнейших альтернатив.
Потому что я пришел на питоновский бэк джуном. Мне на собесе позадовали еще и вопросы про ванильный жс, сказали что вроде норм и закинули меня в фуллстак. Предупредили что будет еще и ангуляр, думал будет более-менее изи, но пока лишь говна хлебнул
Про сессии почитаю, спасибо. С jwt проблемы только обновлении токена и экстренном разлогине не думал над решением, но если вдруг что – просто поменяю ключ, с помощью которого генерируется токен
Просто я вот что думаю – если токен как-нибудь уведут, своровав скрипты с сайта, то тут поможет same origin policy. Но эта политика обходится с помощью jsonp
Как сделать по уму – не знаю
Сейчас это не важно, потому что проект у меня в интранете будет работать. Но хочу разобраться Все же во фронте дохуя сложностей, в бекенде все намного уютнее – кирпич за кирпичиком строишь картину в голове и все работает как надо
>>14240
Подловил
Всякую хрень про карринг, замыкания, this в разных контекстах, асинхронные запросы, пара дурацких вопросов из разряда - "а шо буит ежели мы заюзаем Number(undefined)??" куда ж без них, новые фичи ES6
Алгоритмические задачки я на питоне решал
>не думал над решением, но если вдруг что – просто поменяю ключ, с помощью которого генерируется токен
Ты так сбросишь сессии у всех пользователей. По идее надо делать пару и refresh и access-токенов и это гемор тот еще.
Конечно, хотя бы потому что на всех собесах по нему спрашивают.
Да и книги неплохие. Там у автора оригинальная позиция в плане того что JS это язык богов, ООП через прототипы это хорошо, а если вам не нравится джаваскрипт и вы хотите завести туда типы или сахар то это потому что... вы не знаете джаваскрипт.
Да и хуй бы с ним, там человек 40 будут юзать, если что – перелогинятся. Но изучить нормальный способ авторизации придется все равно, потому что это не дело
Программирую несколько десятков лет. Ваш YDKJS не читал, но если ты говоришь все так, как там написано - его автор прав.
+
У нас конвенция: применять только в анонимных функциях либо в методах объекта, иначе код превращается в кашу
пиздец у тебя вся риторика построена вокруг "ну всем умным людям давно понятно" аж против блять с кем в одном треде сижу
Скажи ты географов тоже будешь доебывать тем что Каспийское море это не море а озеро? Нет? Понимаешь умные люди впринципе о таких мелочах не заморачиваются
реально гениально, тут hoisting сработает, а в примерах с хуй = функция - нет.
Есть где-то криптостойкая имплементация алгоритма Blum-Blum-Shub'a для больших и длинных чисел?
Или альтернативные алгоритмы?
Чтобы вот, взять,
ввести какое-нибудь начальное состояние генератора,
задать N-ный байт (оффсет),
и сразу же вычислить некий псевдорандом, с N-ного байта,
без генерации самих этих N-байт?
Потому что N может быть гигабайт, скажем, или терабайт,
или, скажем, "стопицот в хуйнадцатой степени" байт.
Нутыпонел.
классный стих
>>14536
Грань размыта. React это почти фреймворк. Его часто называют библиотекой, потому что он исторически был библиотекой.
Обычно библиотека отличается от фреймворка, тем что библиотека не навязывает архитектуру, а фреймворк навязывает. Если ты лодаш подрубил, это не повлияет на твой проект. Его можно уже на рабочий проект ставить. А если фронт пишется "на реакте", то уже фреймворк. Хотя самый дохлый в этом плане
https://github.com/goshan41k
>goshan41k
Тебе сколько годиков, гошанчик? Может лучше в вузик для начала или пту?
>гитхаб с учебными проектами
Мало того, что это туду листы которые нахуй никому не нужны и не интересны, так ты их еще и просто скопипастил, судя по истории коммитов. Гитхаб должен быть зеленым и озеленять его должны твои личные пет-проекты, а не дерьмо которое ты переписал из ютуб видео-урока.
Проекты крохотные, проптайпсы в 2к20, особой активности на гитхабе не видно, юзернейм как у школьника. Тудулист и тот глючный — на видосе я быстро пишу и долблю по энтеру, какого хрена у меня меняются уже введенные задачи, а новые не добавляются? Явно общение с сервером криво написано. От тебя проблем будет больше чем пользы.
Ничего я не копипастил. А что должно быть у джуна в портфолио? Не нужны и не интересны, разве не качество кода должны смотреть? А коммиты редкие, потому что я заливаю на гит когда уже продакшн билд готов
>А что должно быть у джуна в портфолио?
Интересный пет-проект, хотя бы таже тудушка, но с добавлением какого-нибудь оригинального функционала.
>разве не качество кода должны смотреть?
Какое, блять, качество в тудшке? Ты бы еще по Hello World качество кода просил смотреть. Никто не будет смотреть твоё дерьмо уже после того как прочитает в названии todo, а ты еще и хочешь чтобы как то качество кода оценили.
>>14989
>потому что я заливаю на гит когда уже продакшн билд готов
Ну и нахуй на твой гит смотреть тогда, если ты им пользуешься как облачным хранилищем? Это говорит о тебе только как о человеке, который использует инструмент не по назначению. На гитхаб обычно заходят для того чтобы убедиться как раз в обратном.
В общем, очевидна умственная отсталость с твоей стороны, раз ты всего этого сам не понял. Остается только посочувствовать тому кто решится тебя взять.
Там качество кода тоже не то что бы хорошее. Ты хоть линтер поставь, он уже на кучу проблем укажет. Вообще, проект какой-то недоделанный и недополированный. Пустая страница с информацией, ошметки create-react-app в ридми, часть на русском, часть на английском и т.д.
Нахуя в нем нужен редакс и саги мне решительно непонятно.
1. Ну у меня там есть тудушка на вью, которую я по тз делал для какой-то стажировки, которая изначально была онлайн формата, а потом стала оффлайн и я на неё не смог вкатиться.
2. Нахуя мне ради тудушки которая написана за два дня делать десять коммитов?
3. Если что линтер по умолчанию под капотом у create-react-app идёт, и мне никаких ошибок не выдавало
Вот видишь, у тебя на всё есть ответ. Уже понятно, что ты самый идеальный программист на планете. Ты бы сразу написал, что твой вопрос "скажи мне, что со мной не так?" - риторический, и ответ на него дашь ты сам, а именно скажешь "да всё со мной так, это просто хуесосы не способны увидеть мой гений и оценить качество моего божественного кода."
>Нахуя мне ради тудушки которая написана за два дня делать десять коммитов?
Так может что-то более осмысленное написать, чем тудушку за два дня? Потрать на приложение месяц хотя бы.
>Если что линтер по умолчанию под капотом у create-react-app идёт, и мне никаких ошибок не выдавало
Там два с половиной правила в конфиге.
Я не очень понимаю зачем ты сходу начал отмазываться, как школьник, который не сделал домашку. Нелепо выглядит. Ты же сам спросил в чем проблемы, тебе и написали. Если думаешь что у тебя все идеально — ну, удачи в трудоустройстве.
ну я так понял, что меня не берут на работу из-за того что в readme я оставляю автоматически сгенерированную часть, что приложение поднято на create-react-app или vue-cli, из-за никнейма как у школьника, и отсосного стандартного конфига eslint'a, ну в принципе я понял над чем работать, грац
На работу тебя не берут потому что проект унылый, размером с комариный хуй и не работает нормально. Я тебе даже видос записал, где у тебя баги в базовом сука функционале, хули ты строишь из себя обиженку?
у меня там восемь штук на гите, если что, разных размеров и направлений, и в разной степени готовности.
Никаких обид.
А где отмазки?)
> ехал JavaScript через JavaScript
> тудушки-тудушечки
> стандартные Readme из CRA
А ты не особо-то и стремишься найти работу. Но откровенно говоря
> но меня на всех откликах отшивают
делают это едва ли из-за жиденького гитхаба. Овер 90% ребят, которых я собесил, имели примерно такие же по наполненности жидхабы, либо имели даже меньше реп.
Ищи причины в чем-то другом (резюме, умение продавать свои навыки, и т.д.)
>А что должно быть у джуна в портфолио?
>Интересный пет-проект, хотя бы таже тудушка, но с добавлением какого-нибудь оригинального функционала.
Будем честны с юниором, репы, по большей части, вообще индиффирентны интервьюерам и, уж тем более, хрюшам, только если авто не является мейнтейнером какого-то крупного/известного пекиджа. Интересный задеплоенный сервис, который можно посмотреть вживую, конечно, повышает шансы на вкат, но не сказать что значительно.
Ой бля.
Учу реакт, и подошел к моменту, когда работаю с url строкой. Как обрабатывать search параметры?
Видел вариант с тем, чтобы нужные search параметры отправлять в стейт редакса, затем пушить в url, и уже потом парсить их, и на основе фильтров, подгружать нужную информацию.
Либо не использовать стейт редакса, а напрямую через <Link to={{ search: param }}>, а затем так же парсить и выдавать нужный результат.
Как правильно? Нужна ли прослойка редакса в этом случае?
Вот мне интересно есть ли какой-нибудь чек-лист с перечислением этого всего?
Проще всего использовать роутер и брать у него из пропсов. Можно запилить кастомный хук, но выглядит геморно. Особого смысла дублировать стейт в редаксе я не вижу.
Каждый день над этим думаю
Понял спасибо.
Про Elm, вестимо.
Хороший язык, декларативный, прям как хаскель. Одна проблема, не полный по Тьюрингу. Вот заебашили бы Тьюринг-полный html, цены бы не было.
ЖС это хаскель ставший мейнстримом. На нем можно писать purefp код. Можно для этого поставить purescript...
Не все. Форт не vhll. Да и дохуя интерпретируемых языков не vhll.
Cisc процессоры, например х86, это на самом деле аппаратные интерпретаторы машинного языка выдаваемого ассемблером во внутренний микрокод процессора. Как тебе такое?
Дружище...
Удобнее, когда прежде, чем изучать язык программирования, ты уже изучил что такое список, множество, массив, очередь, словарь.
Дырявая обезьяна опять вакабу шатала.
да
потому что жс хуйня
Так ведь первый bind нам вернёт функцию, которую второй может использовать с новым контекстом
уже свалка. получается. и тут приложение совсем крохотное, а что если оно будет в несколько раз больше? видимо нужны заводить какие-то неймспейсы внутри локалстейта. первое о чем я подумал это просто создавать разные объекты которые и будут этими нейспейсами. но аполло требует для таких хуевин __typename -ну и это заставило меня усомниться в этом решении.
соответственно вопрос. нормальное ли это решение и если да, то почему(мне кажется создатели аполло видели назначение объектов внутри локалстейта в другом) и если нет то тоже почему и как замутить иначе
в реакте ты не работаешь со url, это муляж
Нет. Первый бинд тебе вернет bound function
А у bound function как и у arrow function ты никакой контекст переопределить не можешь.
Потому что строка это ссылочный тип, а ссылочный тип в JS может принимать как undefined так и null значение
Понял, спасибо.
Есть чекбокс, надо чтобы при каждом нажатии на него на сервер отправлялся запрос, который бы сообщал в каком состоянии находится чекбокс: включен либо выключен. Как это делается?
ебануться
он переопределяет, но функция из первого бинда шлет его нафиг, потому что внутри уже захвачен контекст, с которым должна быть вызвана изначальная функция
Нельзя. На классах тебе не разрешать писать в 2020. А если для себя то хоть на машинном коде пиши
Не думал что жопаскрипт макаки настолько тупы чтобы приписать строку к значимому типу, очередное дно пробито.
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.
Упс, пафосное чмо обосралось
Зачем же ты обосралось, пафосное чмо? Ну ничего, тебе простительно, ты ведь жопаскрипт макака, которая думает, что строка это значимый тип, хотя может оно и к лучшему, а то ведь твой мозг сломается когда правду узнаешь.
Начались виляния жопой. Но увы мордочкой ткнули в пруф. Это видимо особый вид самоутверждения будучи макакой неразбирающейся в типах называть других макаками
>пруф
Дай угадаю, высер из статьи смузихлеба-жопаскриптера это пруф? Ну спасибо, не перестаешь смешить.
Это тот долбоеб из воркача который никогда не писал на реакте но при этом с пеной у рта доказывал что сейчас все компоненты на классах пишут.
Увы, но 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" без всяких уточнений. Так ты вместо того чтобы в штаны срать, просто спрашивай у людей, а не слепо верь окружению из макак.
Ахахахахахахахахаха макака причем тут объекты и строки? Твой троллинг тупостью не прошел
>ссылочный и значимый тип
>ахаха причем тут объекты
Ясно. Этой жопаскрипт макаке уже ничто не поможет.
>речь о стрингах
>ряяяя сматри тут написано объекты это ссылочный тип
А макака продолжает упорствовать
Я и забыл, что для жопаскриптера строка это не объект включающий в себя массив символов, а просто магический набор буковок.
Да, дурачок, наконец то ты сообразил до сути. В js все что не примитив это объект. И наоборот все что не объект это примитив. А строка один из примитивов js
Так беги быстрее переписывать:
>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 недостаточно авторитетен для тебя, будешь ждать статьи на медиуме? Главное не запутайся в своих примитивах и объектах, а то я вижу что у тебя котелок совсем закипел от перенапряжения.
Ахаха деб, у всех примитивов в js за исключением null и undefined есть такие объектные обертки как та о которой у тебя в цитате говорится. В оригинале вроде Wrapper Object. Это что же получается в жс только 2 типа не стрелочные, это null и undefined и они же и являются единственными примитивами?
Строки под капотом конвертируются в объекты, если нужно вызвать у них какой-нибудь метод. Это не делает их объектами в понятиях JS.
Есть большой js-файл где присутствует смесь жкьюри и ваниллы на 3к+ строк кода (нет, это не мой код). Появилась идея для отладки: при каждом вызове функции или метода в этом файле, логировать имя функции в консоли, чтобы легко можно было просмотреть стек вызовов при взаимодействии со страницей. Как это сделать?
Как сделать более детализованный поиск под тот же авито в виде отдельного сайта, парсить все нужное через апи? А если его нет, то как это делается, через http? И на чем это лучше делать, на жс?
Это троллинг тупостью что ли? То, что в числах точка имеет другое значение тебе в голову не приходит?
>(4).toString() // "4"
>false.toString() // "false"
Пока ты только показываешь свою тупость и незнание синтаксиса :)
Этот сам уже понял что обосрался, но естественно не признает. Просто игнорь
Хуя, ты даже проект мимокрока посмотрел и запустил, мое увожение
Не понял. То есть ты неявно укажешь any, а потом будешь ждать, что он тебе покажет ошибку о неправильном типе при присваивании?
404 по ссылке. чел таки постыдился и самоудалился
А что не так? Строка с ещё неприсвоенным значением строка это undefined, явно указанная как отсутствующая - null
Лол, попробуй 4..toString()
Миницицированный? Если нет, предлагаю совсем ебланский способ:
ctrl+f и заменить
) {
На
) { console.log(this.name);
Да хотя и если минифицированный, похуй, хоть и имена функций будут неинформативными
да я понял уже. спасибо!
я предпочитаю sass
Тем что срабатывают на разные события
А. Вроде да, тип задается в этом случае по значению
Не минифицированный
Что, нет возможности как-то внести изменения в прототип функции чтобы все вызовы проходили с логом?
Второе.
var mamka = 'shluha'
>экшнкриэйтеров
Их и не было, ни разу не видел, чтобы кто-то писал полную форму. Она нужна только для понимания, как редакс работает. А вот useDispatch сейчас дико не удобная и не красивая хуета.
[code]
const dispatch = useDispatch()
const incrementCounter = useCallback(
() => dispatch({ type: 'increment-counter' }),
[dispatch]
)
[/code]
Это не бойлерплейт?
Нет. Все удобно и в несколько строк пишется. Мобх хуйня в сравнении с редаксом. Притом что я последний год писал на нем
>Мобх хуйня в сравнении с редаксом. Притом что я последний год писал на нем
Можешь аргументированно пояснить, почему MobX говно? Я сам его не трогал, но и не хочу, мне сразу понравился redux своим контролем и явностью действий
В частности потому что редакс лучше реализует концепцию ФП. Редакс кажется сложным только тем кто не знаком с ФП. А кто знаком тот за 5 минут может понять концепцию редакса. А ноют в основном любители ооп говна которые везде тащат свое ооп даже там где ему объективно не место. В редаксе один стор. И он истина в последней инстанции в отличии от мобх в котором дауны понаделают сторов что неудобно. Особо упоротые долбоебы делают кучу сторов а тебе с этим потом работать. Потом стор в мобх мутабельный что вообще пушка. Конечно иммутабельность в редаксе заставляет писать дополнительный код но "критики" просто напросто не понимают что немутабельный код проще поддерживать и тестировать. Им то похуй, написали и пошли дальше но остальным с этим разбираться. Я говорю о действительно больших приложениях. В маленьких хеллоу ворлдах то легко все отследить. Собственно потому то большинство предпочитает реакт вместо вуе хоть тот тоже проще. Потому что in the long run эти подходы себя оправдывают. Вы когда нибудь пробовали масштабировать приложения на редаксе и мобх? Я пробовал на обоих. И по причинам названным выше с редаксом это гораздо проще. Повторюсь на мобх просто и приятно писать пока перед тобой не поставили задачу расширения приложения. Вот тогда для тебя и начинается ад учитывая что тестировать мобх сложнее гораздо.
Если суммировать все вышесказанное то на редаксе сложнее писать. Но его гораздо легче тестировать и он более как это говорят scalable. На мобх писать приятнее. Но эта приятность потом боком выйдет. Конечно если у вас маленькое уютное приложение то мобх классно. Но если вы титан индустрии то вы волком завоете от бесконечных оптимизаций и бойлерплейт редакса вам покажется милой рутиной, как девушку с "добрым утром" поздравить. Поэтому если вы новичок то учите строго Редакс. Не гоняйтесь за мнимой простотой мобх. Есть хорошая поговорка "тяжело в учении - легко в бою". Это именно тот случай.
В useCallback можно и не заворачивать.
Я вообще не понимаю почему говорят что на редаксе сложнее писать. Он работает понятно: задиспатчил экшен — состояние обновилось. Mobx работает на ебаной магии с мутациями, а вместо внятных значений прокидывает в компонент прокси-объекты. Нахуй так жить?
Из за dispatch наверное раз, два мало кто понимает, что такое HOC, и что ничего сложного в композиции функций нет
Так HOC уже и не нужны, хуки же есть.
Это мы с тобой понимаем. Но из толпы вкатывальщиков 90% его осилить не могут почему-то. А из профи тоже немало тех кто трудности испытывает. Я хз может это ооп головного мозга или ещё что
На вход подается 2 подстроки. Нужно определить, можно ли превратить первую во вторую, заменяя одни буквы на другие, с учетом следующих правил:
- участвуют только буквы русского алфавита а-я;
- все буквы в нижнем регистре;
- за один шаг нужно преобразовать все вхождения одной буквы в другую букву.
Входные данные
Входная информация поступает из стандартного ввода в виде одной строки. В этой строке содержатся две подстроки, разделенные пробелом. Ваше решение должно учитывать вариант, когда на вход поданы строки разной длины. Некорректные данные на вход не поступают, дополнительные проверки не требуются.
Выходные данные
В качестве ответа в стандартный вывод программа должна выводить 1 (если превратить можно) или 0 (если превратить нельзя).
Пример 1
Входные данные: привет прикол
Выходные данные: 1
Преобразования (выводить не нужно):
в ⇒ к (прикет)
е ⇒ о (прикот)
т ⇒ л (прикол)
Пример 2
Входные данные: ааббдд ддббаа
Выходные данные: 1
Преобразования (выводить не нужно):
д ⇒ я (ааббяя)
а ⇒ д (ддббяя)
я ⇒ а (ддббаа)
Пример 3
Входные данные: абаб ааах
Выходные данные: 0
Преобразовать нельзя, так как 'б' не сможет оказаться одновременно 'а' и 'х'.
На вход подается 2 подстроки. Нужно определить, можно ли превратить первую во вторую, заменяя одни буквы на другие, с учетом следующих правил:
- участвуют только буквы русского алфавита а-я;
- все буквы в нижнем регистре;
- за один шаг нужно преобразовать все вхождения одной буквы в другую букву.
Входные данные
Входная информация поступает из стандартного ввода в виде одной строки. В этой строке содержатся две подстроки, разделенные пробелом. Ваше решение должно учитывать вариант, когда на вход поданы строки разной длины. Некорректные данные на вход не поступают, дополнительные проверки не требуются.
Выходные данные
В качестве ответа в стандартный вывод программа должна выводить 1 (если превратить можно) или 0 (если превратить нельзя).
Пример 1
Входные данные: привет прикол
Выходные данные: 1
Преобразования (выводить не нужно):
в ⇒ к (прикет)
е ⇒ о (прикот)
т ⇒ л (прикол)
Пример 2
Входные данные: ааббдд ддббаа
Выходные данные: 1
Преобразования (выводить не нужно):
д ⇒ я (ааббяя)
а ⇒ д (ддббяя)
я ⇒ а (ддббаа)
Пример 3
Входные данные: абаб ааах
Выходные данные: 0
Преобразовать нельзя, так как 'б' не сможет оказаться одновременно 'а' и 'х'.
Посимвольно сравниваешь строки, записывая соответствия символов в два словаря (в обе стороны). Если какому-то символу в словаре уже соответствует другой символ, значит строка не может быть преобразована.
>Преобразовать нельзя, так как 'б' не сможет оказаться одновременно 'а' и 'х'.
Хуль думать. Идешь по 1 слову, если символ отличается от символа во второй строке, делаешь его замену во второй строке. Запоминаешь позицию измененных букв. Если при замене нужно заменить уже измененную букву, то нельзя сделать замену.
Хз, простая задача.
Да. Хотя находятся долбоебы пишущие на классах и сейчас
А не, я тупой. Из за примера 2 придется поебаться. Надо учесть возможность делать 2 замены, через символы, которых нет в подстроке.
Да, еще, наверно, надо обработать случай когда используются все буквы алфавита, тогда заменять что-то без потери информации не выйдет.
if ((sortedFirstWord !== sortedFirstWord[i - 1] && sortedSecondWord === sortedSecondWord[i - 1])
|| (sortedFirstWord === sortedSecondWord[i - 1] && sortedSecondWord !== sortedSecondWord[i - 1]))
return 0;
Ебать земля тебе стекловатой, иди задачки решай на кодеварс, у тебя проблемы
Я это говно нашёл в инете , так как не могу алгоритм придумать, а так это нечитаемое говно, но главное решить хоть как-то, а потом рефакторить.
Да и вообще на циклах писать в 2к20 моветон.
Нука напиши мне Guard expression на тернарном операторе щенок.
А нахуй ты лезешь, если не понимаешь, что делаешь? Обычная алгоритмическая задача. Иди на кодварс, решай простые задачи, потом иди к сложным
https://pastebin.com/JQKSJpD2
Да это в ебучую школу хэдхантера, а так я React и вёрстку пока надрачиваю.
Бля вот скажите честно, нахуй нужно учить алгоритмы для вката именно(для дальнейшей работы нужны без сомнения, да и то они все реализованы тебе лишь нужно знать + и - подходов).
Вот выше ты запостил алгоритмическую задачу. Думаешь у алгоритма ее решения есть готовая реализация? Или даже название?
Программист должен уметь разбивать сложные задачи на простые шаги, это основа профессии как бы. Ну и не писать O(n^2) там где можно O(n) тоже желательно.
cb: {foo: false, bar: false}
И массив вида:
cbIds: ['foo', 'bar']
Как, зная индекс элемента в массиве (0 - foo, bar - 1), получить значение этого элемента по индексу и подставить его в v-model?
Имеется ввиду вот так: v-model="cb.bar"
Должно быть так: v-model="cb[cbIds[index]]"
Но не работает, зараза такая.
Так я говорю про вкат, пока ты дрочишь алгоритмы идеально, приходит Чэд Вася с реактом+ редакс клепает формы, и вкатывается.
Просто, для Васи.
Ты посмотри на нынешних программистов, это тебе не 20 лет назад, сейчас расфорсили все подряд указываются
Так я и спрашиваю нахуя.
Бiмп.
если ты бог спред-опрераторов и функций типа reduce и filter то 5 минут максисум
если ты владеешь регулярками 80 лвл, то можно выебать в рот любую задачу со строками в 1 строчку
>Фейлит на "аааа яяяя".
А, не тот кейс. На "акая яяяя", "бччвап поомбб" оно не работает, например.
На вход приходит одна строка, её в любом случае делить надо на 2.
>В реакте было бы v-model={cb[cbIds[index]]}
Нет, не работает.
@all
Блядь, посоны, выручайте.
Где все эти сеньоры-помидоры и миддлы, когда они так нужны?
Не все задачи стоит решать. Такую залупу скипай.
Лет десять назад так же говорили, только тогда это конструкторы всякие были.
На реакте сидят, очевидно же.
>А нахуя он вообще нужен, почему бы тэгами не писать?
ну нейтив это же не браузер, там тегов нет.
так в том и вопрос, чем будет отличаться два приложения с одинаковым функционалом и реализацией в рамках реакта, если одно десктопное с мобильной адаптацией, а второе на нейтиве
Спасибо, допилил на основе примера.
Почему ЖСеры пытаются стать экспертами по всем вопросам - Фронт, Бек, Фулстек, Фуллстек Мультиплатформ.
Это такае призвание - быть говнокодером?
ну два приложения, просто одно написано на обычном реакте, а второе на нейтиве. Мобильная адаптация, я имел в виду, ну вёрстка перестраивается, или вообще работает как pwa
На вход подается 2 подстроки. Нужно определить, можно ли превратить первую во вторую, заменяя одни буквы на другие, с учетом следующих правил:
- участвуют только буквы русского алфавита а-я;
- все буквы в нижнем регистре;
- за один шаг нужно преобразовать все вхождения одной буквы в другую букву.
Это тз. Эти кейсы подходят под тз. Какие-то ещё причины нужны?
Если это стадия отрицания: "каг таг алхаритм не работает ни может быт", то ответ на твой код уже есть, о его правильности можешь не спорить >>17643
>Мне ответ прислали ,решение не верное короче
Понял почему, надо переделывать алгоритм, чтобы запоминал позицию, в которой была произведена замена, тогда будет ок
Усложняете вы тут всё, лол. Этож обычная cюръекция, а решение в лоб - заполнить структуру "ключ:значение". Если есть ситуация, что один ключ указывает на два разных значения, то нельзя преобразовать, если нет такой ситуации, то можно.
Это на школу hh, в профиле написан ответ неверный. Выёбываться все мы можем, а на деле формошлёпы.
> Если есть ситуация, что один ключ указывает на два разных значения, то нельзя преобразовать, если нет такой ситуации, то можно.
Нет, ты не прав, я тоже так и пытался сначала сделать. Смотри пример с «бччвап поомбб»
Ну хз.
б => п
ч => о
в => м
а => б
п => б
Вроде все замены однозначны. Вот было бы «бччвап побмбб» тогда была бы ситуация, что
ч => о
ч => б
Вобщем такая тема - хочу влепить на сайт аватар-мейкер. Чтоб можно было, перейдя по ссылке, попасть на стр с человеческим профилем, которому можно было бы выбрать глаза, прическу, рот и.т.д
Можно ли такое как-то через джаву реализовать, путем выбора png изображений этих самых глаз и.т.п на определенные части головы? Допустим, на лоб тыкаешь - открывается список причесок, на рот - список ртов и.т.д?
Или мб можно какт иначе эту тему раскрутить? Вообще возможно эту задумку реализовать?
>Вроде все замены однозначны. Вот было бы «бччвап побмбб» тогда была бы ситуация, что
>
Пример 2
Входные данные: ааббдд ддббаа
Выходные данные: 1
Преобразования (выводить не нужно):
д ⇒ я (ааббяя)
а ⇒ д (ддббяя)
я ⇒ а (ддббаа)
>п => б
>Вроде все замены однозначны. Вот было бы «бччвап побмбб» тогда была бы ситуация, что
Вот на этом шаге ты делаешь замену по всей подстроке, и у тебя первая п станет б, и строки типо неравны
ПЕРЕКАТ >>1818093 (OP)
ПЕРЕКАТ >>1818093 (OP)
ПЕРЕКАТ >>1818093 (OP)
ПЕРЕКАТ >>1818093 (OP)
ПЕРЕКАТ >>1818093 (OP)
ПЕРЕКАТ >>1818093 (OP)
ПЕРЕКАТ >>1818093 (OP)
ПЕРЕКАТ >>1818093 (OP)
ПЕРЕКАТ >>1818093 (OP)
А замену по всей подстроке ты делаешь, потому что условие
>за один шаг нужно преобразовать все вхождения одной буквы в другую букву.
Нейросети генерят не поддерживаемое человеком говно, бизнесу этот гиммик не нужен.
Угроза для фронтендеров реальней - переход веба на допиленный webassembly, для которого придется переползать на раст/го/ещё-что-то. Вот это вполне может быть, хоть и не в ближайшие годы.
Твоя претензия к мобксу в том, что он позволяет тебе писать императивный код, как тебе удобно, а в итоге получается неподдерживаемый кал. Это проблема вашей непродуманной архитектура, а не инструмента. Можешь такие же претензии предъявить к ванильному жсу.
Ты пробовал, я не знаю.. мст? Какие у него проблемы с расширяемостью?
И вообще, скажи, зачем тащить фп в однопоточные языки? Какие он пробелемы решает?
А что с многократным нажатием?
Может кто-то сталкивался с подобным, подскажет как это решить?
Это копия, сохраненная 24 марта 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.