Вы видите копию треда, сохраненную 13 апреля 2022 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Больше пары строк кода в посте или на скриншоте ведут в ад.
Для программирования на HTML https://codesandbox.io
Для Node.js с консолькой https://repl.it/languages/nodejs
Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
А выбора толком и нет, если ты используешь именно пропсы, а не, стор, например.
>>2170482 →
есть страница "карточки", когда обновляешь эту страницу или заходишь на нее делается api call инфы по этой самой карточке. дальше из даты пришедшей с сервера (напр. свойства name) кладется в useState и это не работает. Я уже не говорю о том, что потом из этой инфы должен сделаться другой api call. Ничего не работает. Есть ли возможность сделать так, чтобы этот запрос отправлялся до всего рендера страницы? то есть был первой строчкой кода? так он лежит в useEffect, а он, как знается срабатывает после рендера
Да я знаю про UseContext, но создавать его ради того чтобы пару пропов перекинуть через переменную тоже кажется излишним, но не уверен, поэтому спрашиваю
тогда не переживай. энивэй будешь потом на редаксе писать, там все через селекторы берется
Ничего не работает - неинформативно. Скинь ошибку, код, результаты дебага, хоть че нибудь
Это основы основ
const [card, setCard] = useState(null);
const [loading, setLoading] = useState(false);
const [error, setError] = useState(null);
useEffect(async () => {
--setLoading(true);
--const response = await fetch(cardApiUrl);
--if (!response.ok) { setError("failed to fetch card"); setLoading(false); return; }
--setCard(await response.json());
--setLoading(false);
--setError(null);
}, [])
if (error) return <div>{error}</div>;
if (loading) return <div>Loading...</div>
return <div>{card.name}</div>
черт, щас попробую. я просто заработался. спасибо, анон, за то, что разжевал
try catch я еще не проходил
type у инпутов означает не то, что ты думаешь. Как сказали в прошлом треде, учи дом чтобы не быть реактом.
Потому что html инпутах никакого другого значения быть не может. Либо храни значение в хуке и доставай так же из хука, либо парси значение инпута.
Есть кто yarn пользуется? Какая там альтернатива вместо npm i -g?
Нет, ты не в теме. Это легаси команда для старой редакции yarn.
> Как узнать насколько хуево я с этим справился, какие вещи надо было писать кардинально по другому и почему и т.д.
Нужен менторнаставник. Товарищ который подскажет где ты проебался. Ну или гитхабы всякие читей по многу. Смотри как делают другие.
Нет, ну серьёзно, ты читал что я спросил? Есть у меня yarn и я с ним работаю уже. Пакеты ставятся, зависимости тянутся, конфиги пухнут. Мне нужно научиться ставить yarn'ом пакеты глобально. Точно так же как это делает команда npm i -g packageName. Или, когда ты ставишь yarn глобальная установка пакетов необязательна. На стаковерфлоу я нашел одно предложение, но оно мне показалось ну очень костыльным.
Я вообще не могу понять this в функциях(да и не в функциях тоже). Перечитал несколько раз статью на хабре, вот енту: https://habr.com/ru/post/515356/
Все равно нихрена не понял.
Что такое "контекст исполнения функции"? А в классе? this - указывает на что? На объект?
Как этот чёртов абстрактный this понять вообще?
Т.е. если я отправлю массив чисел то функция вернет именно число и типа того
Спасибо
Я пробовал их, но когда писал <T> писало что нет имени T или что-то такое, так и не разобрался тогда
Спасибо, но я тупой.
Что значит функция ссылается на объект "window"?
Как это - функция ссылается?
Подскажи, верно ли я понимаю, что "функция ссылается" - значит, что вот эта часть кода указывает на какую-то зарезервированную область памяти?..
Сорян, если я задаю дебильные вопросы, но мне надо понять.
А все, я тупой, извините
бери и читай чужой код. это лучший вариант научиться чему-то самому. прямо так можешь гуглить в ютабе "building TODO app" "building delivery APP" и прочее
this. this ссылается. Говорю же - тупой, не суди строго.
Ретерн возвращает зис. Зис ссылается на объект. Объект виндов.
console.log(window)
Этому объекту, как и другим, можешь добавить что-то:
window.vkatish = "не вкатится"
console.log(window.vkatish)
Что не понятно то?
Просто ебись с этим говном пока не придёт осознание. Смотри разные уроки, читай статьи, практикуй. Все через это проходят. Я этих зисов рот ебал, хуёво сделали, но сейчас уже ничего не исправишь, так уж работает веб, нельзя взять и поменять язык или выкатить сильнонесовместимные обновления языка
(function(){
window.teaName = "Vasya"
// или используя переменную
let teaName = "Vasya"
function tea(){
return this.teaName
}
console.log(window.teaName) // Лет записался в виндов
console.log(tea()) // функция возвращает this, который ссылается на виндов
const someObjNotWindow = {
teaName: "Petya"
}
console.log(tea.apply(someObjNotWindow)) // ссылаемся не на виндов, а на свой объект c помощью метода аппле
})()
И блять, это самая верхушка, вот прям самая самая. Описанное мною просто описывает некоторые моменты, а есть множества нюансов, которые сотню раз описаны в статейках, пиздуй читать.
Хотя хуйню написал, лет вроде не записывается в виндов, только вар.
>>0943
let tea1 = "Tea1"
var tea2 = "Tea2"
window.tea3 = "Tea3"
function getTea1() {
return this.tea1
}
function getTea2() {
return this.tea2
}
function getTea3() {
return this.tea3
}
console.log(getTea1())
console.log(getTea2())
console.log(getTea3())
const objectNotWindow = {
tea4: "Tea4"
}
function getTea4() {
return this.tea4
}
console.log(getTea4.apply(objectNotWindow))
function getTea6() {
return tea6 = "Tea5"
function some() {
return this
}
return tea6 = "Tea5"; some()
}
console.log(getTea6())
>>0943
let tea1 = "Tea1"
var tea2 = "Tea2"
window.tea3 = "Tea3"
function getTea1() {
return this.tea1
}
function getTea2() {
return this.tea2
}
function getTea3() {
return this.tea3
}
console.log(getTea1())
console.log(getTea2())
console.log(getTea3())
const objectNotWindow = {
tea4: "Tea4"
}
function getTea4() {
return this.tea4
}
console.log(getTea4.apply(objectNotWindow))
function getTea6() {
return tea6 = "Tea5"
function some() {
return this
}
return tea6 = "Tea5"; some()
}
console.log(getTea6())
function getTea6() {
let tea = "Tea5"
function some() {
return this
}
return tea = "Tea5"; some()
}
fix
Да это норм. Тебя же наняли не чтобы ты методом тыка решал проблему. Платят среднему кодеру довольно много и именно потому что ожидают от него экспертности.
Все эти: не получалось и получилось - это уровень школьника-студента-чела который еще учится, если ты уже работать пошел и все так же тыкаешься-мыкаешься - то держать тебя будут только в конторе, где оч большие проблемы с кадрами, либо в конторах, где устраивают этакое бросание в озеро(вместо ТЗ - ну, вот сделай заебись, как себе и чтоб по красоте, вместо аналитики- ну ты там посмотри что по чем и сделай чтоб заебись, как себе, по красоте и прочее-прочее), в первом случае, когда в конторе решится проблема с кадрами - тебя таки попрут, во втором- проблемы не решаются никогда,, потому в принципе до пенсии можно просидеть, с другой стороны- там и платят мало и вообще невесело.
>this
https://tproger.ru/translations/javascript-this-keyword/#4constructorinvocation
После этого даже я тупой валенок понял
Но с другой стороны - ну блядь, ебаные сайтики делать и сидеть в одном оффисе с пориджами, которые даже не смогут по памяти пояснить чем ARM от x86 или RISC отличается. Зато плотют много как я погляжу.
В общем, фронтендеры, развейте мои сомнения насчет того что вы все массово - имбецилы. Хотя бы малинку дома держите, чтобы автоматизировать нагрев чайника или поилку у кошки?
Очень наивно предполагать, что отсутствие у других людей глубоких знаний в какой-то интересующей лично тебя области делает этих самых людей глупее тебя.
>в одном оффисе
Работай из дома/с завода
>с пориджами
Может ты и сам поридж
>ебаные сайтики
Только если в лендингостроительную пойдешь
>ARM от x86 или RISC
Так далеко от браузера что даже похуй
>автоматизировать нагрев чайника или поилку у кошки?
Пока сложно, чем то другим тебя можно удивить?
>Но с другой стороны - ну блядь, ебаные сайтики делать и сидеть в одном оффисе с пориджами, которые даже не смогут по памяти пояснить чем ARM от x86 или RISC отличается.
Нахуя это знать фронтендеру? Спорим ты по памяти не скажешь чем отличается javascript и typescript.
>В общем, фронтендеры, развейте мои сомнения насчет того что вы все массово - имбецилы.
Мне казалось плюсовики на заводах имбецилы, пишут тонны бойлерплейта где половина кода это работа с памятью и гоняют байтики по rs 232 между бесполезных коробочек где половина данных это контрольные суммы и всё это за тридцатку в месяц в ДС
>Хотя бы малинку дома держите, чтобы автоматизировать нагрев чайника или поилку у кошки?
Хотя бы лендонс накидал, чтобы резюме разместить?
Мимо бэкендер
Пока что, судя по тому, что ты написал, складываются впечатление, что самый тупой имбецил-неандерталец-дегенерат в этом треде, это ты. И это никакая не ирония.
>Спорим ты по памяти не скажешь чем отличается javascript и typescript
Ну, зависит от того насколько подробно.
Если коротко - ts это попытка сделать шарпы в браузере. JS - зависит от того какой версии, последний раз когда я его активно трогал это был второй курс и в те времена jQuery - считалось круто и все тащили его.
> пишут тонны бойлерплейта
Ну да, такие вот тупые что за столько-то лет не напилили библиотечек. Угу. Напилили. Плюс, давно все на плюсах пишется.
> и всё это за тридцатку в месяц
Ну, не за тридцатку, за 100к + премия + категория + всякие надбавки, что-то около 150к в среднем, но все равно мало же.
> Хотя бы лендонс накидал, чтобы резюме разместить?
Накидал, на гитхабе пейджс положил. Правда я кидал на голом жс и развлекался с теневым домом. Не думаю что такое стоит показывать как примеры чего-то хорошего.
Вот как это сделать? Я пока что придумал только запускать в отдельном потоке бесконечное чтение из консольки и кидать на каждое нажатие - событие. Выглядит как какая-то хуета. При этом еще и символ в консоль может нарисоваться, а мне это не нужно. Как сделать иначе - я не придумал.
valueAsYoba, где yoba eto ti
>>1168
Ну попробуй
https://nodejs.org/api/tty.html#tty_readstream_setrawmode_mode
showOpenFilePicker
Mapstatetoprops и mapdispatchtoprops до сих пор используются в проектах?
>используются
Там какая то беда с проверкой измененности данных, типа мапстейт и мапдиспач лучше справляются с этим нежели хуки
Чем больше используется какой-то код, тем шире должна быть его спека.
Необходимый минимум присылать с фронта в запросе, на бэке выполнять поиск, сортировки и все прочие мутации, отправлять на фронт. Посмотри видосы/статьи по различиям между носкл и скл бд, мб понятнее станет.
Спасибо няш, чмок тебя. У меня еще графкл там ну ладно попробую совместить это все
https://github.com/ASDAlexander77/TypeScriptCompiler
Ты его запускал? Твоя мамка быстрее килограмм пельменей настряпает, чем ts-node Hello World напечатает
Так тормознутость - фишка тс.
Джаваскриптеры, почему вы такие дегенераты?
Почему он еще не уничтожил мерзкий среакт?
>Почему
По качану! Почему одна хуйнянейм обязательно должна уничтожать другую хуйнянейм? Про симбиоз что-нибудь слышал? Мирное сосуществование и всё такое.
> приятно писать на svelte
Фу бля, фу нахуй. Вот что в свелте плохо, так писать на нём. Как будто в нулевые телепортировался и в пхп монолите скрипты и стили пишешь. Только потом видишь что всё усыпано магией и вспоминаешь что двадцатые на дворе.
Свелт занял свою нишу компактных бандлов и в ней он охуенен, с реактом он никак не тягается. Ровно как и реакт никак не подойдёт там где свелт рулит.
Все равно не нужон.
Смысл в АОТ.
переписка в телеге, там чел общается одними голосовухами и просит сделать сайт про продажу курсов саморазвития, спрашивает, во сколько это обойдется
ему отвечают - 16к 5 дней
он грит - ты че прикалываешься, накидай лейдинг на тильде за 3-4к, все так делают
ньюфаг
Хотя там задачи уровня идиот зачастую конечно, если хочешь стать крутым прогером а не макакой ifelseifelseifelseifelseifelseif то codeforces твой бро.
> задачи уровня идиот
Я пока даже такие с трудом решаю, к сожалению.
Если вообще решаю, потом на решение смотрю и осознаю как это просто было сделать.
Это нормально, любая задача все равно идет на пользу.Особо упарываться ими не надо конечно, но для общего развития пойдет.
Хорошо, спасибо анончик.
Можно ещё вызовы этих методов зачейнить, чтобы достичь пика дегродного типа декларативного стиля. И фильтр я бы в отдельную переменную запихал, он громоздкий слишком.
А, ну и, кстати, filteredData лучше мапой сделать, наверное. Если только тебе порядок не важен по какой-то странной причине.
>занимаюсь бесполезной хуйней, которая никак меня не развивает и в реальных проектах
Ну ты попили реальный проекты, потом вернись.
Ты учишься писать отдельные кирпичики приложения, к тому же можешь потом подсматривать чужие решения.
Аккаунт можно в резюме добавлять.(Если вкатываешься)
>писать на классах сейчас моветон
Это вью. Там иначе только если логику во сткйт-меоеджер выносить.
Потому что его говном за 5к пусть новички занимаются, по голосу понятно клиент максимально неприятный, к тому же скорее всего кинет.
В том что как базарная торговка. (Вообще он инфоцыган, затирающий про свою роскошную жизнь)
Ему озвучили прайс на план работ, а он начал агриться и требовать, вместо того чтобы пойти на хуй поискать соответствующего бюджету исполнителя.
А я придумал запилить бек на смарт контрактах. Это дешевле чем впска выйдет?
>Не хочу перекатываться во фронтенд
Или не можешь?
>Зато плотют много как я погляжу.
Это ембеддедам мало плотют.
>ебаные сайтики делать и сидеть в одном оффисе с пориджами, которые даже не смогут по памяти пояснить чем ARM от x86 или RISC отличается.
А зачем им знать архитектуры чипов?
>развейте мои сомнения насчет того что вы все массово - имбецилы.
Тут тебе никто ничего не должен. Продолжай сосат манагерские хуйцы за копейки, раз тебе нраица!
>Хотя бы малинку дома держите, чтобы автоматизировать нагрев чайника или поилку у кошки?
Нахуя? Чайники с готовым модулем управления продаются, а чтобы кастомизировать имеющийся его нужно вскрывать и городить свои элементы, которые не факт что впихнутся.
Поилка у кошки тоже наверное продается, но решение будет места больше занимать. К тому же ты упускаешь социально взаимодействие человек-кот, где животное понимает свою зависимую роль, при автопоилке это станет неявным.
Дай бог здоровья
640x360, 3:50
Хрюкнул. Четкие ребята новые бизнес стратегии развивают.
Ребята, есть схемка, я вам ничего не предлагаю..
Мотивирующее видео.
Пермяк порвался.
Хотя не, что за хуйня filteredData? Список? Словарь?
Нет, это список словарей из одного поля нахуй.
Я этого долбоёба уже после первого сообщения молча бы в чс добавил. Мне если предлагают работу без внятного первого сообщения, типа "Мы тут работаем на работе, увидели ваше резюме, хотите работать на работе у нас? Заинтересовались?". Сразу молча в чс блядь шизов, даже спрашивать не собираюсь что за компания. Будь они хоть из гугла.
В компании есть внутренняя система квалификации, если не проходишь - пиздуешь на мороз. Её вроде бы все проходят, только один человек за всё время не прошел, и я хз что там дальше с ним было. Но всё равно нужно сидеть готовиться. В итоге я вметсо того, чтобы отдыхать вечерами, ебусь с этим говном
да
Какие есть способы передавать контекст или провайдить данные вниз по древу в нативных custom elements? Сейчас пока ничего лучше не придумал чем просто подниматься вверх по дереву и собирать данные.
>Это вью.
Хуки там есть. Как функциональные и setup-компоненты.
>>2310
>>2312
1. Чому у тебя в жс поля в объектах называются в снэйк кейсе, если общепринятое наименование в жс это камель кейс?
2. folder_name я так понимаю обычно строка? Тогда лучше использовать undefined или пустую строку для отсутствющего значения. Сейчас у тебя folder_name это либо string, либо объект, а браузер такое плохо переваривает.
3. file.file_size > 2000000. Тут нужно вынести это число в const и разделить нули для читаемости, что то-типа const MAX_FILE_SIZE = 2_000_000
4. arr нужно сделать через computed, иначе есть риск что будешь несколько раз подряд фильтровать данные (при вызове sortData() несколько раз подряд без изменения исходных данных), аналогично с сортированным arr.
5. file.file <- вот так делать не надо. Нужно назвать аргумент assetFile или как-то по другому, что бы было assetFile.file...
6. я бы сделал вместо трех условий в одном фильтре чейн из трех фильтров, но тут уже индивидуально под кодстайл проекта
7. метод добавляет в filteredData некоторые значения, при этом не очищая массив. Тут можешь нарваться на утечку памяти из-за этого.
8. из названия метода не понятно, что он делает. Нужно переименовать в что-то типа sortFilesByFileSize
в чем проблема сделать все это
это через computed?
>>2379
>Функционально с хуками.
На вью почти никто не пишет функционально. С хуками да, но функциональные компоненты крайне редко используеются.
>>2363
Во вью есть компоненты с методом setup и функциональные компоненты. И те и другие вполне себе поддерживают слоты, пропсы, провайды и инжекты. Нахуя спрашивается стэйт менеджер?
>интерфейс
Не говори о том, чего не знаешь. Интерфейс это совершенно другое.
>Как используются приватные методы и свойства на практике
Для того, что бы скрыть детали реализации от конечно пользователя твоего класса, т.е. грубо говоря уменьшить вероятность что-то сломать при доступе к приватному полю.
Пример: у тебя есть обертка вокруг массива, допустим
class ConcatenatedArray {
constructor() {}
push(...args) {
const i = this.#arr.push(...args);
this.concatenated = this.#arr.join("");
return i;
}
#arr = [];
}
При пуше в массив она пересчитывает поле concatenated. Если просто залезть в массив и вставить, поле может быть не пересчитано, поэтому мы скрываем поле от кривых ручек вебмакак. Как-то так, надеюсь понятно обхяснил. я знаю что можно пример выше реализовать через Proxy, можете не писать
Не ответил на главный вопрос
> на практике?
Та собственно, никак, лол. В основном, для реализации контейнеров/коллекций как в моем примере выше. Сейчас для сокрытия на хайпе хуки и асинхронные хуки, приватные поля это скорее бумерская тема.
>1. Чому у тебя в жс поля в объектах называются в снэйк кейсе, если общепринятое наименование в жс это камель кейс?
Не знал, что общепринято камель кейз, думал кто как хочет, буду знать, объект не мой.
>2. folder_name я так понимаю обычно строка? Тогда лучше использовать undefined или пустую строку для отсутствющего значения. Сейчас у тебя folder_name это либо string, либо объект, а браузер такое плохо переваривает.
Ок, понял.
>а браузер такое плохо переваривает
Не понял, но почитаю.
>3. file.file_size > 2000000. Тут нужно вынести это число в const и разделить нули для читаемости, что то-типа const MAX_FILE_SIZE = 2_000_000
Крайне странно слышать, честно, вообще не понял зачем обычную цифру в конст выводить да еще и с нижним подчеркиванием. Цифру потом следует потом приводить в строку, после реплейс, после опять в цифры? Что происходит.mp4
>4. arr нужно сделать через computed, иначе есть риск что будешь несколько раз подряд фильтровать данные (при вызове sortData() несколько раз подряд без изменения исходных данных), аналогично с сортированным arr.
Встречал подобное, так и не допер как исправить, похоже через компудет.
>5. file.file <- вот так делать не надо. Нужно назвать аргумент assetFile или как-то по другому, что бы было assetFile.file...
Да, выглядит коряво, поправлю на assetFile.
>6. я бы сделал вместо трех условий в одном фильтре чейн из трех фильтров, но тут уже индивидуально под кодстайл проекта
const arr = [1,2,3,4,5,7]
arr.filter(a => a > 2)
.filter(a => a > 4)
.filter(a => a > 6)
Так что ли? Выглядит забавно, я уже поправил на цепь логику фильтрации, сортировки, как писали Аноны выше, но думаю удлинять ее уже не надо. Но если много условия, то думаю можно будет прибегнуть, в этом случае выглядит как-то более правильно, мне кажется.
>7. метод добавляет в filteredData некоторые значения, при этом не очищая массив. Тут можешь нарваться на утечку памяти из-за этого.
Понял о чем ты.
>8. из названия метода не понятно, что он делает. Нужно переименовать в что-то типа sortFilesByFileSize
Ок, принял. Буду стараться давать более длинный, описывающий нейминг.
>в чем проблема сделать все это это через computed?
Чтобы все видели как я могу!
>1. Чому у тебя в жс поля в объектах называются в снэйк кейсе, если общепринятое наименование в жс это камель кейс?
Не знал, что общепринято камель кейз, думал кто как хочет, буду знать, объект не мой.
>2. folder_name я так понимаю обычно строка? Тогда лучше использовать undefined или пустую строку для отсутствющего значения. Сейчас у тебя folder_name это либо string, либо объект, а браузер такое плохо переваривает.
Ок, понял.
>а браузер такое плохо переваривает
Не понял, но почитаю.
>3. file.file_size > 2000000. Тут нужно вынести это число в const и разделить нули для читаемости, что то-типа const MAX_FILE_SIZE = 2_000_000
Крайне странно слышать, честно, вообще не понял зачем обычную цифру в конст выводить да еще и с нижним подчеркиванием. Цифру потом следует потом приводить в строку, после реплейс, после опять в цифры? Что происходит.mp4
>4. arr нужно сделать через computed, иначе есть риск что будешь несколько раз подряд фильтровать данные (при вызове sortData() несколько раз подряд без изменения исходных данных), аналогично с сортированным arr.
Встречал подобное, так и не допер как исправить, похоже через компудет.
>5. file.file <- вот так делать не надо. Нужно назвать аргумент assetFile или как-то по другому, что бы было assetFile.file...
Да, выглядит коряво, поправлю на assetFile.
>6. я бы сделал вместо трех условий в одном фильтре чейн из трех фильтров, но тут уже индивидуально под кодстайл проекта
const arr = [1,2,3,4,5,7]
arr.filter(a => a > 2)
.filter(a => a > 4)
.filter(a => a > 6)
Так что ли? Выглядит забавно, я уже поправил на цепь логику фильтрации, сортировки, как писали Аноны выше, но думаю удлинять ее уже не надо. Но если много условия, то думаю можно будет прибегнуть, в этом случае выглядит как-то более правильно, мне кажется.
>7. метод добавляет в filteredData некоторые значения, при этом не очищая массив. Тут можешь нарваться на утечку памяти из-за этого.
Понял о чем ты.
>8. из названия метода не понятно, что он делает. Нужно переименовать в что-то типа sortFilesByFileSize
Ок, принял. Буду стараться давать более длинный, описывающий нейминг.
>в чем проблема сделать все это это через computed?
Чтобы все видели как я могу!
>Цифру потом следует потом приводить в строку, после реплейс, после опять в цифры?
Томом лерн джваваскрипт тебе по голове. смотри пик 1
>зачем обычную цифру в конст выводить
Что бы была возможность потом поменять размерность файла без лазаний в дебри твоего компонента.
>Нахуя спрашивается стэйт менеджер?
Реактивность.
С провайдом инжектом на сколько я помню она теряется
>На вью почти никто не пишет функционально. С хуками да, но функциональные компоненты крайне редко используеются.
Я тебе открою страшный секрет, но "функциональные компоненты" в реакте - это то самое чистое ООП. Слово function не означает сразу же по умолчанию "функциональное программирование" и если ты, например, переписал компонент с класса на функцию, оставив все внутри таким же, то "функциональным" этот компонент не сделается.
Есть проблема с addEventlistener в хроме.
Функция, передаваемая в прослушку, вызывается только напрямую через консоль разработчика, т.е. addEventlistener ее не триггерит и ошибок не выдает. При этом в мозилле все работает.
Пробовал и коллекцию в массив преобразовывать, и с функционального перебора на цикл переписал - без толку, передаваемая ф-ия не вызывается.
ЧЯДНТ?
Короче получаю с бэка timestamp. Дальше в сетапе делаю
const startPeriod = ref(new Date(parseInt(props.entries[0].date)));
entries[0].date содержит дату в виде 1633062510000
Наример если хочу вытащить день недели то делаю так
const weekdays = ref([
"вос.",
"пон.",
"вт.",
"ср.",
"чет.",
"пят.",
"суб.",
]);
let startCurrentWeekday = computed(
() => weekdays.value[startPeriod.value.getDay()]
);
Работает, но насколько это встрато? Думаю что не нужно делать дни недели реактивным
функциональный компонент во vue не имеет никакого отношения ни к классам, ни к ООП.
>>2724
Нужен полный код, не понятно что за коллекция options и из чего она состоит.
>>2735
>насколько это встрато?
Достаточно встрато, даже в отрыве от вью. Смотри документацию toLocaleDateString.
>const weekdays = ref(
Зачем тебе навешивать реф на массив?
>let startCurrentWeekday
const потерял
У тебя внутри селекта option и ты на клике на этот option пытаешься вызвать обработчик? Правильно я понимаю?
Почему бы через делегирование событий не навесить обработчик на родительский элемент и пользоваться evt.target/evt.currentTarget?
И это, я не уверен, но переименуй лучше функцию event, есть уже такая глобальная переменная
Да вроде нет, это очень хороший и популярный пример, который иллюстрирует разницу между браузерами, почти все с этим столкнулись.
>Не везде можно повесить обработчик событий на option.
Везде можно. В хроме просто в селекте shadow dom, в котором нет optiona, соответственно ты кликнуть на него никак не можешь.
Не знал, хорошо.
Кстати, да, можно же change у селекта слушать, если я правильно понял.
И там код в примере был написан с помощью Class, а потом они говорят переписать один Class square на Function square(props).
Так вот, на боевых проектах пишут чаще с помощью Class или Function?
Вот мне тоже функции более понятны. И интересует надо ли ща запариваться над классами или всё на функциях можно клепать.
Доки реакта говно-говна, на классах вроде уже никто не пишет.
Мими Вью господин с признанной лучшей документацией в мире.
Там в доке про хуки тоже есть.
Алсо вью-шизик прав, но что бы реально полюбить вью нужно всетаки начать с реакта, как только освоишь его плюс редакс(реально поймешь что это и для чего) и напилишь штуки три проекта, то можешь смело щупать вью
>>2948
Сейчас все пишут на хуках. Очень редко можно что-то написать на классах, если нужно как-то по особенному изъебнуться с компонентами жизненного цикла. Но опять же, не встречался с этим на практике. Правда работу с классами всё равно лучше знать, не обязательно всё уметь делать по памяти, но чтобы ты не обсирался, когда где-то увидишь примеры кода с классами. Плюс на некоторых собесах могут начать адово возить еблом по столу, расспрашивая про паттерны, классы и вот это всё, при том, что на самой работе ты этим пользоваться не будешь н-и-к-о-г-д-а. Ну вот просто надо потому что надо, шоб знал.
>с компонентами жизненного цикла
с методами
Ну и да, классы можно навернуть изначально, чтобы вот эти жизненные циклы лучше понимались. Но это все равно не обязательно. Но на работе и уж тем более на собесах будет очень стыдно не уметь работать с классами. Это единственное от чего у меня горит жопа и по сей день
У нас еще бэк на php и все это крутится в апачи.
>Плюс на некоторых собесах могут начать адово возить еблом по столу, расспрашивая про паттерны, классы и вот это всё
Доки будет достаточно для того, чтобы к собесам готовиться?
Алсо как часто на React-собесах спрашивают CSS и JS?
Я более-менее знаю JS и могу на нем писать. То, что нужно для React, я изучил. Деструктуризация, работа с массивами и т.д. Но есть же продвинутое знание JS - то, ради чего смотрят JS Hard Parts и читают YDKJS. Насколько все эти сложные части JS важно знать для собесов?
Алсо тоже CSS разный бывает. Flexbox/grid, SASS/LESS/SCSS, БЭМ, CSS in JS.
Спрашивают все. В зависимости от компании и шизы спрашивающего.
>Flexbox/grid
Бляяяяя все что ты описал это как буквы в азбуке для первокласника, препроцессоры всякие бутстрапы тайлвинды стайлед компоненты тайпскрипты да даже ебучий бэм, ты без этого тупо не сможешь
>тайпскрипты
Это тут причем?
>даже ебучий бэм
Кому он нужен в 2021? Вакансий с его упоминанием ничтожное количество.
Видимо, придется учить это говно.
Есть хук, который принимает параметром url и делает запрос к api, после чего сохраняет данные в свое состояние и возвращает это состояние. Я использую этот хук в своем app компоненте и передаю полученные из хука данные в пропсы дочернего компонента, который уже отображает эти данные. Естественно запрос к api занимает какое то время, поэтому дочерний компонент получает хуй на блюде, а не нормальные данные, что вызывает ошибку. Как сначала дождаться данных из хука, а только потом передавать их в пропсах дочернему компоненту, чтобы ошибки не возникало?
Всё очень сильно зависит от конкретной компании. У меня были собесы, где сходу спрашивали про паттерны и опп. А были собесы, где молча смотрели мой код, спросили как дела, как погода, ну ладно, и давали офер, не задав ни одного технического вопроса. Иногда с собесов и вопросов на них горит жопа. Я могу написать нормальный код здорового человека с хорошей архитектурой, а потом тебе могут начать ебать мозги какой-то рандомной сранью, которую сам интервьюер прочитал за 15 минут до начала собеса. Могут просто рандомно спросить про какой-нибудь бэм, которого я рот ебал и не собираюсь этим говном пользоваться вот просто так на ровном месте, никто и никогда его при этом в компании может не использовать.
Еще были вопросы на фронте про докеры блядь, про ci/cd, какие-то хитровыебанные типизации на ts. Могут попросить перечислить коды ответов сервера. Самый лютый пиздец это когда начинают хардкорно по html гонять, типа а чем отличается html5 от 4. А что там добавили нового. А doctype какие бывают, и чем отличаются. Хочется от таких вопросов разбежаться и влететь с двух ног в ебальник
>Как
Я делал в юзэфекте
React.useEffect(() => {
let canceled: boolean = false;
!canceled && fetchNews(pageNumber);
return () => {
canceled = true;
};
}, [pageNumber]);
fetchNews это тупо асинхронная функция которая получает данные для запроса, делает запрос, в самом компоненте пока идет загрузка рендерится лоадер, как данные получены, лоадинг=false и рендер списка
А что если я тебе скажу, что ты волен сам выбирать коллектив, где собираешься работать? Смело заканчивай собеседование, если там собрались ебаные мозгоебы.
Все офферы из адекватных компаний были такого плана:
За жизнь;
За код (основные конструкции);
Разбор живого кода (ченетак, чтоклучшилбы, хуемое);
Таймаут на подумать;
Оффер.
Меня про SOAP и XML спрашивали лол
На мой вопрос, юзают ли они это, естественно пук-сренькнули что нет
Я ж на двачах более 4 лет сижу. Я ебанутый нахер. Как и большинство здесь, але
но это не отменяет того факта, что ты прям не можешь дождаться, чтобы нырнуть в чан с дерьмом, адекватный поц в 2021 даже прикасаться к жкьюри и пхп не будет и обойдет любую компанию, юзающую эти "технологии" за километр
Я другой анон вообще
Кто нибудь может объяснить о чем тут говориться? А то я не понял н и х у я
Вью изкаробки не поддерживает задержку запуска функции, но ее можно реализовать через лодаш
Схуяли ей умирать? жквара до сих пор в огромном количестве зависимостей стоит, к тому же аналогов в ваниле обеспечвивающий настолько удобный способ работы с DOM не запилили за все время существования жс.
>Видимо, придется учить это говно
Че там учить? Из всех жквары используеются методов 10, они простейшие. Ну, еще надо знать, что в методах для итерации по массиву там первым аргументом передается индекс, а потом уже само значение по этому индексу.
>!canceled && fetchNews(pageNumber);
пиздец, вот if-ом сложно было написать? Один хуй терсер потом это преобразует в аналогичный код наверху.
Нахуя вообще так усложнять код? В чем проблема сразу передать state, а потом когда fetch завершится просто его изменить? Нахуя тут эффекты?
У меня в компании есть отдел, где вот такой синьер (!!!!!) 60 летний сидит и хуярит код в 2021 инициализируя переменные через var и используя ActiveXObject, потом недоумеваяя, почему же код не работает нигде кроме ie.
>усложнять
Ебать че тут сложного?
>Нахуя
Захуя. Нахуй изобретать велосипед если есть распрастраненый кейс, он мне понятен, тебе нет? Значит иди нахуй
Добавлю, что на пыхе не написал ни одной строки за всю жизнь, предлагают постепенно обучить.
Если зовут недоджуна на должность мидла стои задуматься о компании, скорее всего какие то ебачи
Так там все понимают, что я джун, но т.к. уже три месяца никого найти не могут такое предложение поступило мне.
Функциональная
Блочная
Глобальная
Модульная
Чет в одном источнике есть модульная в другом нету.
>и хуярит код в 2021 инициализируя переменные через var
Нет, ну доеб до вара безоснователен. Если нужен максимально производительный быстрый код, обязательно вар.
Пробовать можешь, но это полное говно. Полгода там попроебываешься и съебешься. Но это как бы не так плохо, даже хорошо.
Зато сможет заявить, что вротендж специалист с коммерческом опыто и похуй, что в говне копался.
Кчт, недавно в тильду вроде приглашали, отсеяли из-за отсутствия жиквери, у них типо модули на нем написаны, но в первом интервью всячески обещали, намекали, что работа по переписыванию на норм стек будет.
>обещали, намекали, что работа по переписыванию на норм стек будет.
>норм стек
Переписывание с живкары первой версии на жиквару третьей?
>Нет, ну доеб до вара безоснователен. Если нужен максимально производительный быстрый код, обязательно вар.
Есть где почитать про разницу в проивзоидтельности вара и лета? Вроде я раньше смотрел, там доля прцоентов разница между способом инициализации переменной.
Так вот, там у них нет ни вебпака, ни линтера, даже гита нет, они комментами ставят дату и фамилию в коде кто поменял. Код у них хранится в сетевой папке. При этом этот чел постоянно вставляет свой код в аттрибуты html вские, там у элемента <body> в аттрибуте onclick у него пара сотен килобайт кода.
>Пацаны, у вас сколько времени ушло на вкат?
2 года, но можно было быстрее, я слишком поздно по собесам начал ходить
>Как много задачек нарешали??
Ну не особо много, но я решал максимально приближенные к реальной разработке
>Я щас страглю нереально, инфы слишком много и сложно понять нахуя все это надо без наглядных примеров.
А ты не зубри, просто реализуй всякие говнофичи, без предварительной подготовки
>за месяц практически не продвинулся, постоянно возвращаюсь
Ваще похуй. Я иногда выгораю на работе, беру отпуск и играю 2 недели в доту и смотрю аниме безвылазно. Потом с новыми силами залетаю, как будто никогда не выгорал.
>Не поверю что вы сразу без задней мысли решали
99% задач это обычная рутина, которая не требует какой-либо мозговой активности. Поэтому да, решали, решаем и будем решать.
>всю теорию удерживали в памяти
Опять же, 99% задач решается простейшими методами.
>перечитывали учебник раз 5
Нахуя ты в 2021 читаешь учебник? Гуглить не пробовал свою проблему?
Ты просто когда того же кантора читаешь, сразу пробуй реализовать это в коде, как будто это реальная задача.
Я тоже сначала просто пытался впитывать, что читаю, но бесился, что я что-то узнал, а как с этим работать не в курсе. Вот я и создавал простейшие формы, инпуты, странички сайта и экспериментировал. Но я еще не вкатился, если что, не хватает практических навыков с препроцессорами, классическая верстка не отскакивает, ну и реакт еще не знаю совсем, без этого совсем плохо все, уже даже не обновляю резюме, пока не подтяну это все.
>я слишком поздно по собесам начал ходить
Страшно, что если слишком рано начну ходить на собесы, то упущу много годных вариантов из-за слабых знаний...
>Нахуя ты в 2021 читаешь учебник? Гуглить не пробовал свою проблему?
Все форсят и боготворят этот учебник, вот и пошел по нему, а что с ним не так? С чего надо было начинать? Не то что бы существтует какая-то нереальная проблема, просто если за 2 мин не приходит в голову решение задачи, то сразу подсматриваю готовое и по итогу получается что материал не был толково проработан, вероятно не закрепится особо. С другой стороны если действительно 90% задач решаются простейшими методами и чуть ли не копипастами, тогда наверн продолжу учить теорию...
>что с ним не так?
Тут проблема не в учебнике, а в тебе. У тебя задача решить проблему, а не ршить проблему посмотрев в учебник.
>сли за 2 мин не приходит в голову решение задачи, то сразу подсматриваю готовое и по итогу получается что материал не был толково проработан
Так и работает разработка. Почти всегда берется что-то готовое от васяна1999 с гитхаба вместо того, что бы писать свое.
>>3173
> упущу много годных вариантов из-за слабых знаний
никто тебе не запрещает спустя некоторое время опять в эту же контору податься.
>никто тебе не запрещает спустя некоторое время опять в эту же контору податься.
Через сколько думаешь можно подаваться?
В нормальных конторах тебе в конце собеса сразу выдают ОС о том, что надо подучить. Подучиваешь и подаешься повторно.
Я бы лучше хотел такую надстройку над js, которая бы в случае сбоя в функции/модуле не ломала всё приложение и высылала еррор лог куда нужно, но остальные части бы работали стабильно. Пока оборачиваю все модули в try catch, но это ебланство немножк (хотя другого способа и быть не может, просто хотелось бы красивее это делать)
>ОС
Как расшифровывается?
>Подучиваешь и подаешься повторно
Через пару недель будет норм, получается?
Я представлял, что есть какой-то негласный бан для неудачно прошедших собесы. Типа пока не забудут, лучше снова не появляться.
Ну чтобы решить проблему оч много теории знать надо, вот я этим и занимаюсь пока, учу синтаксис... Типа ты если одну тему плохо понимаешь, то оно потом сноуболит и дальше уже нереально, почти все некст уроки строятся на изученном, и вот эту базу довольно сложно удержать...
Алсо, тесто-петушки начнут кукарекать, что надо пок-пок-пок покрывать код тестами, но в реальных проектах такая роскошь бывает только там, где заказчик бабок не считает или где ошибка может стоить в разы больше, чем трудозатраты на тесты.
>>ОС
>Как расшифровывается?
Обратная связь
>Через пару недель будет норм, получается?
Хз, я за всю жизнь прошел только 3 собеса, после которых мне сразу 3 офера дали соответсвенно.
>негласный бан для неудачно прошедших собесы
Ну если ты бухой на собес пришел, или показал себя очень плохо каким-либо способом иначе то будь уверен, попадешь в скрытый пул HR'юш.
>>3183
>Ну чтобы решить проблему оч много теории знать надо
Для какой проблемы надо знать очень много теории?
>Для какой проблемы надо знать очень много теории?
Не знаю, нуб полный, но думаю есть много подводных у каждого решения, ну и ваще я пока никаких задач и не решал толком, мб все не так сложно, как себе представляю..
Ну и ваще сложным кажется тот факт что у всех объектов могут быть в свойствах функции, в самих функциях аргументом может быть функция, всякие колбеки, вложенности, рекурсии, области видимости, и думаю я еще не дошел просто до момента когда все это вместе начнет применяться, но даже в простых моментах уже можно мозги сломать, ну и синтаксис сам тоже местами пугающий.
Только для плохого собеседования. Никто не будет тебе на нормальном собесе спрашивать чем отличается HTML4 от HTML5, как изнутри функции вызвать эту же функцию без использования именованных функций и т.д. Просто прогонят по основам и дают оффер
>то у всех объектов могут быть в свойствах функции, в самих функциях аргументом может быть функция
В жс 8 типов, их ты должен зазубрить. Забить можешь разве что на symbol и bigint, они не так часто используются.
>всякие колбеки
В чем сложность?
>рекурсии
Функция взывающая сама себя. В чем сложность?
>области видимости
изнутри круглых скобочек видно все, что есть снаружи этих круглых скобочек, в чем сложность?
>синтаксис сам тоже местами пугающий
Синтаксис очень простой. Ты посмотри как выглядит синтаксис в крестах, где указатель на указатель на указатель может ссылаться
Ну типы данных ето база, их я выучил уже вроде. Не знаю в чем конкретно сложность колбеков, я тока сегодня про них услышал, я не грю что это невозможно, но бля функции, которые принимают функцию как аргумент, потом еще внутри какая-то анонимная функция, а внутри тела еще и синтаксис связанный с домом, то я начинаю жеско плавиться и перестаю понимать о чем мне пытается рассказать тот или иной туториал... ну или слишком много инфы для моего лоу айкьюшного мозга пока что хзззз. Ну а что по твоему сложно в жсе тогда?
ну мб, но эт уже такое чувство что в целом темп жизни ускорился и все оч быстро эволюционирует
Нет, это только в жс и прочих мейнстрим языках.
Вон пердиксы дрочат свои МК на сях и асм, на которых нихуя не менялось то особо последние 20 лет.
>прототипы
В основном используют классы. В старых браузерах использовали прототипы.
>гетеры и сетеры
В основном используют Proxy, геттеры и сеттеры используют в браузерах, которые не поддерживают прокси.
Хотелось бы полноценный тутор, как такие вещи правильно обрабатывать, особенно для svelte
oauth?
Навеяно пикрилом.
Тормоза в основном из-за многочисленных связей с сервером на каждый пук.
Можете пожалуйста тупорезу обьяснить, что значит писать на хуках, в чем преимущества и как сейчас писать не "моветон".
У меня есть пользователи и у меня есть группы. Между ними many to many отношения (JoinTable на стороне группы). Если я захочу добавить пользователя в группу и сделаю вот так:
1. newGroup = поиск группы по id (1й запрос в базу).
2. user = поиск текщего залогинненого юзера по id(2й запрос в базу)
3. user.groups = [...groups, newGroup]
4. апдтейт пользователя в базе (3й запрос)
Это норм будет? Ничего что на такое простое действие аж 3 запроса в базу? Может можно это как-то получше сделать? Я не ебу как, в мануалах к typeorm ничего не объясняется, там лежит вот это: пик. Абсолютно бесполезный пример, в котором в одном скрипте создаются переменные и запихиваются в many-to-many отношение, что даже примерно не дает никакого представления о том, что делать если тебе надо сохранить 1000 категорий за раз и при этом инфу о 999ти из них нужно перед этим взять из БД.
> 1000 категорий за раз и при этом инфу о 999ти из них нужно перед этим взять из БД.
Ну ок, не за раз блядь. Это я просто погорячился.
Ну вот представьте, что есть такая типичная соцсеть. И пользователь идет по странице с группами и тыкает на каждую "подписаться". И вот на подписке у него выполняется вот это:
>1. newGroup = поиск группы по id (1й запрос в базу).
>2. user = поиск текщего залогинненого юзера по id(2й запрос в базу)
>3. user.groups = [...groups, newGroup]
>4. апдтейт пользователя в базе (3й запрос)
Это норм? У меня мало опыта и мне кажется что это пиздец какой-то и так не должно быть, что если по 3000 раз обращаться к серверу на каждый пук, то ему очень скоро придет пиздец.
Все вышеперечисленное делается за один insert-запрос, при условии что many-to-many связь организована через связующую таблицу (как и должна быть) и настроены правила foreign key.
>Что значит писать "функционально", "классами", и в особенности на "хуках" в контексте разработки на вью?
Очевидно бредятина, даже в оф доке вью все в функциях, класса нахуй не нужны
>при условии что many-to-many связь организована через связующую таблицу (как и должна быть) и настроены правила foreign key.
Насколько я понимаю это все автоматически делается под капотом, когда ты указываешь many-to-many отношение и JoinTable декоратор. У меня уже есть эта самая таблица c двумя foreign ключами.
То есть мне остается только через queryBuilder написать этот инсерт запрос? Ну это все равно получается 2 запроса в базу. 2й это инсерт. А что инсертить-то если нихуя нету? Поле groups просит сущность целиком, а не только id. Насколько я понимаю со связующей таблицей я никак не могу взаимодействовать напрямую (я бы пропихнул туда вручную id, да и пошло оно нахуй). В любом случае, придется вытаскивать из базы сущность по id (не буду же я на фронте хранить весь объект в каждой кнопке) и инсертить ее. В итоге 2 запроса. Или я что-то не понимаю?
Лол
На самом api такой запрос выглядит пик 1
Но у меня когда я прописываю param запросу income: ["$100K - $124K"], он выглядит пик 2. В чем я не прав ?
Как добиться того же поведения?
Есть ли смысл изучать Next ньюфагу? Как часто он вообще требуется на работах?
нечасто. учи все основы React, React-router, Redux, GraphQL. В конечном счете, если потребуется Next, ты быстро в него вкатишься за несколько дней
Я итак уже вроде как осилил это все. Думаю или в сторону вью или в сторону SSR на реакте двигать.
Просто так прописывать в query парметры массивы ты не можешь, спецификацией они не поддерживаются. Значит у тебя уже есть какая-то библиотека для этого, и формат, в который она переводит массивы, отличается от формата, принимаемого сервером. Сервер принимает вообще хуй знает что, но точно не массив строк в любом из распространенных форматов(там просто написано income=$100K - $124K, возможно income=123&income=321 сервер и будет парсить как массив, но не факт), а ты передаешь income[]=$100K - $124K, да еще и с кодировкой пробелов в плюсы, что нихуя не стандарт, но исторически использовалось.
В ванильном жсе, тобы получить строку, как на первом пике, тебе нужно использовать encodeURIComponent("$100K - $124K"), но опять же, так как у тебя уже есть какая-то библиотека для query параметров, то ебаться нужно именно с ней.
в том-то и дело, что я не знаю за библиотеки и вообще первый раз делаю запросы, в которых много params.
библиотека ты имеешь ввиду со стороны бэка? и мб ты меня не понял или я тебя не понял, я говорю о параметрах не в URL, а в запросе, посмотри пик 1, это асинхронный запрос, в который я это все прописываю, а не в URL.
Давай по новой поговорим)
>три месяца никого найти не могут
У нас в компании за 3 месяца человек 20 набрали. И не сказать, что компания большая. Может у них офферы такие просто?
Ну либа на твоей картинке ничего страшного и не делает
Понял. Спасибо, поищу
Конечно нет, родился в мордоре - умрешь в мордоре, кем бы ты ни был и чего бы не достиг.
>помогите
https://www.postman.com/
https://insomnia.rest/
Выбирай, а параметры пишешь в body запроса.
Ну в ангуляре то понятно мимо форм не пройдёшь.
Тут дело даже не в валидаторах из коробки, а где стейт формы хранить и когда валидацию делать, потому что в наивных реализациях пук и форма умерла.
Допустим я написал компонент Vue. Как нужно его код забандлить, чтобы в другом проекте, я указывал ссылку на скрипт и вставлял в html сам компонент? Вот пример:
<script type="text/javascript" url="{URL to the app}"></script>
<some-cool-widget />
Пытался сделать по-своему, но получаю ошибку:
"Failed to mount component: template or render function not defined."
Я даже не знаю что это всё такое.
react-hook-form + yup (опционально). Нахуя тратить время на написание своего говнокода, если либа предоставляет всевозможные инструменты для всевозможных кейсов?
что formik, что hook-form оба ахуенные. react-final-form покаловей чутка
бойлерплейта дохуя промежуточного между контроллером и базой. я бы вообще sql запросы хуярил напрямую с фронта
>react-final-form
Проиграл.
А какая рилли финальная форма у реакта? Он должен собраться воедино со всеми либамис НПМа и прочих менеджеров для этого?
)) улыбнуло
спасибо!!
мимо-вью-додик
Я совсем зелёный
function Test(list,query){
return list.filter(item =>
Object.keys(query).every(key => (item[key] === query[key]))
)}
связаны в рамках модуля, но не функции же, а в реакте функция возвращает шаблон и всё это дело пишется на мерзком jsx, вместо лампового html
>связаны в рамках модуля, но не функции же
В рамках объекта.
> на мерзком jsx, вместо лампового html
У vue единственный плюс это то, что есть интеграция со стилями, можно даже биндинги делать. На этом преимущества относительно jsx у vue заканчиваются.
Ну это да понятно. Но мне интересно, по какому принципу он определяет - это бот или нет.
Учись у старших, малец, пока ты свои реакты дрочишь, дед 10фич в одном онклике сделает.
Шутка. Давайте еще стори про таких дедов, может я себя в них узнаю.
Отррицаю микросервисы и докеры, я дед?
Раньше можно было даже не авторизованным посмотреть, а теперь нет. Можно как-то через консоль браузера получить эту информацию?
Спасибо.
Инб4 зарегистрируйся на hh
А ещё можно сраку не мыть и не вытирать. Тоже перестанешь замечать со временем. А главное нет этого бойлерплейта с бумагой ванной душем. Посрал и сразу в продакшен.
>бойлерплейта
Сейчас бы парится о том что пара сотен строк будет висеть мертвым грузом, ебачки еще застряли в 2005 во времена wap.sasisa.ru, найс
Почему при добавлении фотографии последний дублируется, и через некоторое время меняется? Не понимаю почему так происходит, в чем суть бага. Попробуйте добавить 4к фотографии и вы поймете.
>пара сотен строк будет висеть мертвым грузом
в случае с реактом, графкюэлем и прочими новомодными штуками проблема как раз в том, что это всё не будет висеть мёртвым грузом, а требовать дополнительного трахания при каждом обновлении компонентов/структур базы
Ну попробуй какие-нибудь 4к фотографии подобавлять, ты увидишь как добавленный будет скопирован с последнего, и через время измениться на настоящий
Добавил (пик 1), скопировался с последнего и через пол секунды изменился(пик 2)
атрибут key потерял, который оябзательно должен стоять на элементе с директивой v-for. Иди кури мануал по вью
Понятно, спасибо
Ну у меня тащемта стори нет с ним больше. Я однажды с ним общался по поводу того, какого хуя у них api soap ебаный ненавижу сука отдает невалидный xml. Так вот, этот старый пердун мне начал заливать насколько охуенно было кодить во времена IE5 и насколько охуенные режимы совместимости с предыдущими версиями IE в новых версиях. Пол часа про это пиздел, в итоге ответа на свой вопрос я не получил и просто закостылил решение проблемы своими силами, вот.
Простыми словами - написано в документации.
Если хочешь углубится - тут все есть https://github.com/vuejs/vue
Бемп вопросу
Нашел ещё решение? Просвяти.
Угарно что я сейчас работаю на бэке 50/50 - питон и нода (шел на питон но постепенно перешел к ноде) и я в общем-то никогда не проходил собеса на вот такую вот хуйню лол
Number.isNaN() - судя по всему более новый, даже в ишаках нету. Спецификация за 2015 год, наверное тогда его и "обсуждали".
isNaN() - с ИЕ3, древняя хуита, ей простительно.
Так вот, какими уебками надо быть, что бы в 2015 года, когда ЖС уже расматривался как серьезный язык, так обосраться? Ну нульзя ее как-то иначе назвать хотя бы? Комитеты-хуететы, сидят деды "вершители судеб" и так себе в штаны обсираются, а всем доедать.
Да даже название типа Number.isNaN[Value|Literal] лучше
Похую.
Тут ошибка дизайна языка, где ф-ции с одинаковым названием имеют разное значение.
Надо было уже яйца иметь и просто isNaN() переименовать или придумать что-то другое для Number.isNaN()
Добро пожаловать в жопаскрипт
Из-за необходимости совместимости со старым говном которое работает в старых браузерах они вынуждены оставлять эти косяки (по этой же причине typeoff null выдает object, это не фича нихуя но так просто изменять это они боятся). Так бы давно запилили заебатый ЯП но ориентированность на веб-фронт дает о себе знать, это одновременно и сила и слабость жса
Да, вполне.
Но правильный ответ тут: Эти хуйни работают по-разному, я ебал в рот запоминать как.
Ну, в идеале бы вспомнить что Number.isNaN проверяет только на строгую тождественность NaN, а isNaN проверяет хуй пойми что.
Т.е. всерьёз такие вопросы задают только чтоб дискуссию и софт скиллы потестить, а требовать именно знания будет только тимлид-травитель.
В принципе я синьор-помидор знаю ответ сходу, но на сеньёрских собеседованиях такое и не спрашивают.
Пилили уже много раз, ничего не взлетело.
Переноси куски кода в модули. Наращивай ко-ко-композицей. Есть интересный подход в дизайне - типа атомик. В коде можно заюзать то же самое - отдельно положи примитивы, а рядом юзкейсы - скомпоженные куски кода в одном неймспейсе.
>Думаю разбить всё на функции, запилить в массив, и гонять через трайкеч
Я бы не стал так брутофорсить. Начал бы с того, что ты изолировал участки кода с явным throw. Потом перешел бы к более гранулированным кусочкам кода - обернув их в самостоятельные функции, описал бы блэкбокс-тесты (чисто проверка на то, что при разных входных параметрах твои функции не выбрасывают исключений). Потом бы итерациями перешел на управление зависимостями DI, Reader Monad, ватева, и уже описал acceptance тесты. Так ты заодно бы стабилизировал поведение системы.
Меня несколько раз спрашивали. Но как только я поднял зарплатные ожидания на ХХ, перестали
Что скажете про курс Яндекс практикума мидл фронтендер? Норм не? Хочу быть мидлом
80к за 5 месяцев где то
Нет
Да
Разве? Вакансий на ангуляре чуть меньше, но и вкатышей значительно меньше. Вот на вуе вакух и правда очень мало.
Ангуляр сложновато, и меньше вакансий. Зато очень комфортно в разработке и делаешь хорошие вещи.
Рякт для тупых свинособак и стартаперов смузихлебов.
Хороший план сначала освоить Ангуляр потому что это пример того как приличные люди проектируют сложные вещи. Он заставит тебя думать головой.
А потом вкатиться в реакт со знанием что такое хорошо и что такое плохо, и грести баблос лопатой на фоне прочих обизьян.
Всё нормально со Vue. Я бы тебе советовал учить React и Vue, т.к. большинство адекватных вакансий именно на них. Ангуляр мне встречался полтора раза для поддержки легаси кала.
Идей нет, лучше найди макет сначала любой. Верстать ты должен уметь в первую очередь
Стак: Webpack, Typescript, React, Sass/Less (можешь подключить css modules или css in js по желанию. ).
Завтра чтоб отчитался о прогрессе
Начни с чего-то одного. Советую с React.
Есть документация https://reactjs.org/
Есть миллионы видео на ютюбе, смотри и поглощай всяких webDev, Владилен Минин, Ulbi и т.д.
Когда будешь уверенно стоять на React-ногах - переходи учить typescript или что-то другое. Мы живём в потрясающее время, когда информации можно много получить, достаточно ввести запрос.
Давай тогда так:
Находи любой макет. Обязательно посмотри, чтобы у него были адаптивы для мобилки/планшета. Верстай его, делай адаптивно и прикрути sass (scss). Изучай его. Я не в курсе какие у тебя сейчас познания в javascript, может пока ещё рано остальное трогать. Постарайся по одной технологии поглощать за раз.
С JS/TS/Реактом у меня все нормально. Их я основательно задротил. Я просто верстку в самом начале пролетел очень быстро, потому что дико скучная дрисня. Если она прям так нужна на работе, тогда конечно придется и ее учить.
Когда такое ИРЛ бывает, чтобы у макета еще и адаптивы под мобилки были? Верстальщик должен сам докумекать дизайн! Ибо не барское это дело, дизайнеру доделывать мелочи!
У этого канадца, много годноты. Но это для мидлов, вообщем-то.
https://khalilstemmler.com/
А ты можешь порешать задачки https://typescript-exercises.github.io/
мимио шел
1) По жс:
1.1) Кантор,
1.2) YDKJS
1.3) Freecodecamp и задачи оттуда.
1.4) Зайди на сайт Underscore и напиши свою реализацию функций. Напишешь все, придрочишься с закрытыми глазами крутить объекты с массивами.
1.5) На 30 seconds of code есть готовые сниппеты для JS. Попробуй реализовать свои.
2) По реакту:
2.1) Документация
2.2) Complete React Developer in 2021. Неплохой курс, есть на торрентах. В одном курсе React, Redux с санками и сагами, styled components, GraphQL, Gatsby, Firebase и еще куча всякого.
2.3) Так же 30 seconds of code. Попробуй сам сделать свои компоненты и хуки.
Ну и сделай какую-нибудь пет-ебалу, чтоб там было по больше всего. Если не знаешь что делать, сделай что-то вроде песочницы с роутингом, что бы по ссылкам были какие-то простые вещи для тренировки.
тоже мимо
Еще наверно Айтикамасутру можно посоветовать. О ней хорошо отзываются, но я как-то пропустил. А потом уже не было смысла ее смотреть.
Там довольно сложная документация рассчитаная на то, что в Ангуляр заходит человек, который умеет в современное программирование в целом. А это умение, скажем так, не привязанное к фреймворкам и языкам.
Ангуляр был сделан людьми, которые реально видали некоторое говно, и четко понимают чем на долгой дистанции может грозить свобода слова и самовыражения. Поэтому то пориджи его так и хейтят. "Ангуляр вери опиниэйтед" говорят они, как будто это что-то плохое. Да, с одной стороны это правда. С другой стороны когда я пишу приладу на Ангуляре я оставляю наследние в котором люди смогут легко разобраться без меня, смогут его расширять и углублять.
Ангуляр реально снижает косты компании на долгой дистанции.
Рекат топ выбор хипстеров-смузихлебов которым надо резко ворваться со своим говном брилиантовым проектом на рынок. Это хороший выбор для скажем так недолгоиграющих прилад, которые нужны для проверки гипотиз, или для того чтоб быстро овтетить на вызовы рынка.
Ангуляр выбор для солидного энтерпрайза который живет дольше 2х лет.
Т.е >>4516
> Ангуляр мне встречался полтора раза для поддержки легаси кала.
> для поддержки легаси кала
Значит ты просто плох, братишка. Извини, конечно, за прямоту.
Я тут две недели как на рынке со своим Ангуляром, у меня уже 3 оффера от топ _вендоров_ айти рынка (не галеры, и не аутсорс)
Но в принципе, как водится, я не протви чтоб такие как ты вкатуны только увеличивались в количестве. Я-то в ваш убогий реакт зайду с ноги вообще в любой момент. А вот ты и твои братишки-макаки мне точно не конкуренты>>4533
>>4533
>Верстать ты должен уметь в первую очередь
Вообще чушь. Хорошо верстать это плюс к твоей цене, но точно не в первую очередь. Для старта базы тебе хватит.
>>4601
>Еще наверно Айтикамасутру можно посоветовать
Пиздобольный канал для пориджей с охватом текста в 3 твитерных сообщения. Не стоит времени вообще. >>4500
>>4500
>А какой положняк по вью?
Не могу ответить. Я понимаю зачем нужен Ангуляр как инструмент. Зачем нужен Rectact как инструмент. Зачем нужен Вью я просто не понимаю. Аргумент что "код на проде на 40% легче", кмк, не убедителн.
Там довольно сложная документация рассчитаная на то, что в Ангуляр заходит человек, который умеет в современное программирование в целом. А это умение, скажем так, не привязанное к фреймворкам и языкам.
Ангуляр был сделан людьми, которые реально видали некоторое говно, и четко понимают чем на долгой дистанции может грозить свобода слова и самовыражения. Поэтому то пориджи его так и хейтят. "Ангуляр вери опиниэйтед" говорят они, как будто это что-то плохое. Да, с одной стороны это правда. С другой стороны когда я пишу приладу на Ангуляре я оставляю наследние в котором люди смогут легко разобраться без меня, смогут его расширять и углублять.
Ангуляр реально снижает косты компании на долгой дистанции.
Рекат топ выбор хипстеров-смузихлебов которым надо резко ворваться со своим говном брилиантовым проектом на рынок. Это хороший выбор для скажем так недолгоиграющих прилад, которые нужны для проверки гипотиз, или для того чтоб быстро овтетить на вызовы рынка.
Ангуляр выбор для солидного энтерпрайза который живет дольше 2х лет.
Т.е >>4516
> Ангуляр мне встречался полтора раза для поддержки легаси кала.
> для поддержки легаси кала
Значит ты просто плох, братишка. Извини, конечно, за прямоту.
Я тут две недели как на рынке со своим Ангуляром, у меня уже 3 оффера от топ _вендоров_ айти рынка (не галеры, и не аутсорс)
Но в принципе, как водится, я не протви чтоб такие как ты вкатуны только увеличивались в количестве. Я-то в ваш убогий реакт зайду с ноги вообще в любой момент. А вот ты и твои братишки-макаки мне точно не конкуренты>>4533
>>4533
>Верстать ты должен уметь в первую очередь
Вообще чушь. Хорошо верстать это плюс к твоей цене, но точно не в первую очередь. Для старта базы тебе хватит.
>>4601
>Еще наверно Айтикамасутру можно посоветовать
Пиздобольный канал для пориджей с охватом текста в 3 твитерных сообщения. Не стоит времени вообще. >>4500
>>4500
>А какой положняк по вью?
Не могу ответить. Я понимаю зачем нужен Ангуляр как инструмент. Зачем нужен Rectact как инструмент. Зачем нужен Вью я просто не понимаю. Аргумент что "код на проде на 40% легче", кмк, не убедителн.
>для поддержки легаси кала
>Значит ты просто плох
Так он мб имел в виду древнюю версию AngularJS
>Ангуляр выбор для солидного энтерпрайза который живет дольше 2х лет.
Ну и чтоб не быть беспркфным вскукареком, вот пример крутой хуйни на ангуляре. Чуваки внутри браузера в фулл 3д летают по цеху завода, с детализацией его компонентов до гайки на трубе.
https://bimeister.com/
Неплохо было бы посмотреть на что-то сопоставимое по размаху на реакте...
И не надо мне пиздеть за фейспук. Который помойное багованное тормозное и тяжеловесное говно, живущее только потому, что в свое время был пионером движухи.
>уваки внутри браузера в фулл 3д летают по цеху завода, с детализацией его компонентов до гайки на трубе.
А ангуляр тут причем? Они же не рендерят 3д на нем.
То есть ангуляр был хорош для вката 5-10 лет назад, а сейчас он не тот и никто не ищет новых кадров?
Ну да, синьоров. Но это ответ петуху сверху про "легаси говно". >>4626
>куда подаваться джуну с ангуляром?
Галеры, или искать удачи.
Я в свое время делал так. Приходил на собес и говорил "Я понимаю, что я скорее джун, но обещаю что за полгода у вас будет солидный мидл, готов работать ниже рынка"
Ну или галеры, что уж тут.
Помню ЕПАМ мне предложили ажно 80 рубоей за джуна на ангуляре. ахаха.
>То есть ангуляр был хорош для вката 5-10 лет назад, а сейчас он не тот и никто не ищет новых кадров?
Какого именно вката? Вката войти или вката во фронтенд с опытом пограмирования вообще?
Вообще знаю челка который вкатился в ангуляр, а потом перекотился с него на реакт. А был эникеем. Но он прям хуячил года полтора как не в себя.
Я хз как ты собрался вкатываться когда не способен в элементарный ресерч.
Реально подумай о карьере повора или стоялара.
Вот тебе картинка сверху, на которую я потратил ажно 45 секунд своего времени
Мимо Ангуляр господин
Много красивых и пафосных слов. А по факту на реакт вакансий больше, учебных материалов больше, комьюнити больше. Многие компании переходят на реакт, энтерпрайз переходит на реакт, скоро и гугл начнет переползать. Кому ангуляр будет нужен через пару тройку лет? Он и сейчас существует только потому, что нюгугл обосрется, но будет свое говно педалить.
Я несколько раз на интервью сталкивался с тем, что компания писала на ангуляре, но сейчас перекатывается на рякт. Возможно это связано с тем, что на реакт людей искать труднее, и поэтому компании новые проекты пишут на реакте. Если вкатываешься, то опять же лучше начни с реакта, потому что вакансий больше.
Повор, ты бы поглядел эти вакансии хоть. Процентов 60 нерелевантны для джуна (прямо говорится Middle или Senior), а в оставшихся полно такого:
- Бэкенд разработчик (.NET 5, C#, SQL)
- C#/.Net разработчик
- PHP-разработчик - Junior, удаленно
- C# developer
- Системный аналитик
- Java Developer
- Руководитель проектного управления/Офиса
- Разработчик .NET Core
- Программист C# .NET (full-stack)
- Программист C# / Asp.Net
- Java Software Developer
Да, Ангуляр там упоминается, но это не имеет отношения к самой вакансии.
У гугла запрет на фейсбуко технологии же, ангуляр если помрет, то когда гугл допилит флутер.
>Возможно это связано с тем, что на реакт людей искать труднее
Ты ангуляр тут имел в виду? Если нет, то смысл переходить на реакт?
> А по факту на реакт вакансий больше, учебных материалов больше,
А теперь попробуй в следующий шаг, и сравни количество вакансий с викли даунлодами.
на 200 тыщ я вижу по москве всего в два раза больше на реакт, чем на ангуляр. Притом что скачиваний 2.5 ляма против 11. Какбе намекает.
>. Кому ангуляр будет нужен через пару тройку лет?
Увидим через пару тройку лет. Я еще раз повторю, мне реально посрать что там сейчас в тренде. Всегда надо взять паузу на пару лет и посмотреть чо к чему идет. Зайти в реакт челу с мозгами вообще не проблема и никогда поздно не будет.
> комьюнити больше.
Комунити макак которые заново изобретают программирование? Да похуям вообще.
> Процентов 60 нерелевантны для джуна
Так я прямо пишу что джуну ангуляр будет сложен. Какие проблемы то ?
Джуну надо в обящательном порядке освоить ООП, освоить TypeScript и затем можно смело идти грести на реактогалерах.
Главное не трогать всякое говно типа нокаутжс, вью или ларавель
Блядь, я обосрался, на ангуляр искать людей труднее, да.
С реактом одна бяда. Макаки не хотят учить ООП, и в оправдание/для рационализации учат ФП базворды, не написав ничего серьезного. И оказываются к тырпрайзу неготовы абсолютно.
>Зачем нужен Rectact как инструмент.
На вьюе сложнее написать тормозное говно, чем на голом реакте, для рад самое то. Реакт конечно выигрывает по соотношению качественных либ и тулинг у него намного лучше
https://medium.com/@etherealm/getting-rid-of-relative-paths-in-imports-using-webpack-alias-78d4bf15bb42
куда мне это добавить, если я приложение, через create-react-app создавал? я просто в вебпаках ваших вообще не разбираюсь
Лол, давно не встречал долбоебов, которым эти алиасы всрались.
Вы что, не в курсе, что нормальные ИДЕ давно уже импортят автоматом, предлагая варианты?
Так позиции ангуляра были лучше несколько лет назад. Время не на его стороне. Это умирвющий фреймворк. Может где-то он и останется в порядке ичключения, чтоб жавадебилы на своем любимом ооп и паттернах морды делали.
Нет, я серьезно не понимаю. Как ангуляр связан с 3D графикой, если она рисуется на канвасе? Я вообще тут мимопроходящие пыхадрочер
Вот этой херней можно залезть в конфиг вебпака от react-scripts
https://www.npmjs.com/package/react-app-rewired
Пиздец, для того, чтобы просто поменять webpack.config.js нужно целую зависимость поставить? пора выкатываться отсюда нахуй
Мимо jquery дедушка
А в чем проблема разрабам create-react-app сделать просто шаблон проекта, а не тянуть на себя одеяло конфигурирования, сборки и девсервера? Ща посмотрел, у vue таже проблема.
Есть подозрение, что в пейсбуке специально пилят тулы для тупеньких. Кроме CRA ещё Jest зачем-то сделали, чем оно пижже мочи с чаем я так и не понел.
К примеру есть некое вычисление, и чтобы привести любое его отрицательное значение к 0, а любое больше 10 к 10, я могу сделать так:
const value = Math.min(Math.max(someCalc(), 0), 10)
Тогда результат всегда будет больше нуля, и всегда меньше 10.
Но не будет ли такое вычисление более долгим, чем ифы? Есть ли способ как-то математически сделать такое без вызова дополнительных функций?
Не хочется городить всратые ифы.
Ну в принципе бенчи показали разницу в 0.34% в пользу ифов, что можно считать полностью равноценной альтернативой
>без вызова дополнительных функций?
Подобные функции уже с древнейших времен инлайновые в браузерных движках, поэтому там не будет потерь производительности, можешь смело использовать.
Тащемта пытался. Кроме
> спицально для риакта
и
> ассерты из коробки
иных причин для существования Jest не находится.
Вот этого двачую.
Я тут пробовал к реактодебилам зайти со словами "у меня 12 лет энтерпрайза на ваш фремвор похуй, главное уметь код писать" но они начинают затирать что ооп говно мы пишем в ФУНКЦИОНАЛЬНОМ СТИЛЕ и так далее.
В функциональном стиле они пишут useState и
.render ( тут JSX говно)
И в принципе не в состоянии сделать переиспользуемый компонент которому не нужн стейт менеджер ...
И чтоб типа пройти собес с реактодаунами надо потратить время на их fizz(buzz()) мантры, а времени тупо жалко.
Вот если рынок станет такой, что бОльще денег я смогу поднять только освоиф Rectact то вкачусь. А пока ну эту свинячью мову нахер. Лучше уж бэк на несте пилить чем в эту помойку лезть
Так что ангуляр тебе позволяет сделать струтурно проект, который позволит юзать компоненты с йобо 3дой не подрывая тебе пердачелло.
В ангуляре из коробки неплохой диай и инструменты по связи событий
У тебя у же объекты без стейта? И для чего по-твоему нужен ооп если не хранить и управлять стейтом?
мимо шел
всё это есть
IoC это вообще базовая штука, его используют на постоянной основе, просто не осознают этого, обмениваться компонентами можно с помощью стейт-менеджеров
просто реакт-девелоперы более умные, чем ангулярщики и они не выпендриваются/не выдумывают баззворды для всего повседневного дерьма, как это делаешь ты
Блядь, какие же вы смешные.
Чувак, ты реально не одупляешь, что в реакте стейт менеджмент во все поля именно потому, что вы тупо не умеете писать в реактивном и(или) функциональном стиле?
В ооп вы не можете, в функциональщину вы не можете тем более, поэтому скачете всю дорогу на костылях типа Redux
Там кое кто уже начал подозревать, что что-то серьезно не так, и запилил MobX
С нетерпением жду когда рекатомакаки научатся в классы и реактивное программирование без стейтов.
> обмениваться компонентами можно с помощью стейт-менеджеров
https://c.tenor.com/Z4fFLMP64tgAAAAC/bitch-please-whatever.gif
Но смузигоспода, как всегда, не обратили внимания на эти вопли. Пусть визжит, что с него взять?
Углодрочеру предстоит очень трудное время. У него уже в течение последних лет каждый день был очень трудным.
>Лол, давно не встречал долбоебов, которым эти алиасы всрались.
>Вы что, не в курсе, что нормальные ИДЕ давно уже импортят автоматом, предлагая варианты?
Фронтопетуха забыли спросить
Использовать не это говно, а https://www.npmjs.com/package/babel-plugin-module-resolver, конфиг бабеля-то думаю любая IDE читать и понимать умеет по умолчанию.
СОВАТ? Тебе ли не похуй, как там импорты расписаны, если твоя ИДЕшка резолвит их автоматом?
Дружище...
Не дурачок, мне не похуй, потому что я хочу иметь в файле код, который может читаться людьми, а не только машинами. Ну и вообще, шел 2021 год нахуй, а жсодебилы с пеной у рта защищали релативные нахуй импорты, потому что им в язык до сих пор не завезли рут резолв модулей. Во всех современных языках это есть из коробки, причем БЕЗ ИСКЛЮЧЕНИЯ, только один ты дебил пишешь нечитаемое дерьмо в импортах и думаешь, что так и надо, потому что кроме жса в жизни нихуя не видел.
>потому что им в язык до сих пор не завезли рут резолв модулей
Потому, что жс изначально был спроектирован для единственного рантайма - браузерного.
>потому что я хочу иметь в файле код, который может читаться людьми, а не только машинами
>читать импорты
Сука, что же ты делаешь? Остановись. Читать импорты блядь. Был на косом десятке разных проектов, нигде относительные импорты не доставляли неудобств. Но были уебаны, вроде тебя, что еще в определенном порядке просили выставлять импорты в коде. Ты, случаем, не один из них?
Я тупой вкатун, пробовал и по докам настраивать, и по гайдам с хабра, один хуй все работает для стилей, но не для html
>Потому, что жс изначально был спроектирован для единственного рантайма - браузерного.
Это повод дальше жрать говно и тащить это говно за собой? У тебя есть способ сделать нормальные человеческие импорты, но ты изо всей силы защищаешь говно. Зачем?
>Читать импорты блядь
Представь себе, некоторые люди читают код и думают над ним, и им не хочется как макаке тыкать мышкой в IDE каждый раз, когда за забором ../ граблей не видно, что за импорт говна и откуда он взялся. Ну и плюс это выглядит абсолютно отвратительно, но если ты из деревни и к заборам привык, то тебе наверное нормально, как дома в хлеву себя чувстуешь.
Листаю вакансии на веб разработчика в своей мухосрани (1кк население) и часто вижу в требованиях битриксы, цмсы, и подобное. Вопрос к опытным, это ведь хуйня какая-то, да? Это те самые вакансии которые с веб разработкой мало что имеют, и являются просто лендингостроями, или все таки это важно знать и уметь? Я даже пробовал гуглить что-то типа "wordpress для разработчиков", но там какая то хуйня сплошная. Поясните пожалуйста молодому, с меня как всегда.
пикрандом
Ну как ругается-то?
> это ведь хуйня какая-то, да? Это те самые вакансии которые с веб разработкой мало что имеют, и являются просто лендингостроями
Именно. Там стандартный набор - worpress, bootstrap, jquery и php тупо на уровне знания синтаксиса базового, чтобы битрикс правильно подключить. Можно пересидеть, набираясь опыта.
Это те конторы, которые ты найдешь, если тебе нужен будет говносайт за 15 тыщ по фастику.
>Если мне нужно получить результат async функции, то я должен делать функцию, в которой эта async функция вызывается, тоже асинхронной? И так вверх по цепочке все функции сделать асинхронными?
Да, добро пожаловать в мир однопоточной асинхронности.
>Тогда они все промисы возвращать же будут. То есть нужно писать void перед ними?
Любая async функция всегда возвращает промис, в чем именно твоя проблема с этим?
Нт ты можешь в месте вызова асинхронной функции цепочку .then().catch() сделать. Естественно тогда асинхронная функция выполнится асинхронно. await же только внутри асинхронной функции валиден.
Ты сдурел? Конечно не откликайся, иначе тред на вечно оранжевом сделают, в hr бан попадешь, под конец загонят. Как вообще можно о таком думать? Ещё бы на какого-нибудь депутата заявку отправил. Твой потоло без вышки только формы на жиквери клепать.
База
>Потому, что жс изначально был спроектирован для единственного рантайма - браузерного.
А это по-твоему что такое?
Ноду.
Как тот факт, что у JS целевой рантайм - это браузерная среда отменяет возможность его ымбеддинга в любую сраку. На старте имплементации ничто не мешало вкорячить в тот же нецкейп функционал апача и в хостовое окружение спустить хендлы, которые можно в юзерленд коде дергать и ивенты, на которые можно было бы подписаться?
ЖС с самого начала был серверным языком, это уже опосля его макаки спиздили в браузер.
У js нет никакого целевого рантайма. Он изначально проектировался, как встраиваемый язык программирования. И по спецификации он является именно им.
Ебанутый?
Тут легче назвать платформу где жс нельзя запустить нежели чем пытаться перечислить все те где можно
Сам ты ебанутый. Мог бы догадаться, что в конце предложения продолбан вопросительный знак. Пиздец, как вы документацию читаете? На каждом знаке встреваете, что ли?
И почему-то в треде ни одного вопроса по этим манястэкам.
Особенно проиграл с электрона. Ты в курсе что это просто нода, которая запускает инстанс хрома, со всеми вытекающими? Из всего этого списка только у электрона есть практическое применение, так что неплохо ты себя заовнил.
Экстендишь тип, в который этот рест скармливается, и добавляешь свои свойства.
И читат
>Ты в курсе что это просто нода, которая запускает инстанс хрома
Это пиздешь.
Электрон, как и nwjs - это хромиум, в котором голый обычный v8 заменен на ноду (которая v8 + libuv + node api).
Это совершенно разные вещи.
При этом по реализации тоже хуева туча нюансов - nwjs - это ванильный chromium с патчами. А electron - это собственная обвеска вокруг CEF.
чееел ну ты кринж... нода на c++ сделана, я у владилена минина смотрел
У меня компонент, положим главное окно.
В нём 2 компонента. Наверху компонент фильтр: датаС датаПо типГовна и кнпк Искать.
Под фильтром компонент Таблица.
Сценарий. Пользователь ставит поляны в фильтре, нажимает искатью. На бэк уходит запрос, возвращается ответ, таблица отрисовывает новый результат.
В ангуляре так.
Фильтр эимитит Главному компоненту событие "онФильтерЧейнж" с джейсоном полей. Главный компонент берет заинжеченый датаПровайдерСервис, который дергаегает хттпклиент который вернет данные.
Когда данные вернуться, Главный компонент при помощи декоратора @Input сунет в Таблицу новый набор данных, и все перерисуется само собой.
Как такой же сценарий реализоваться в реакте?
в реакте вешаешь на кнопку onClick в него кладешь твой асинхронный запрос, он приносит респонс в зависимости от фильтров (фильтры же на бэк уходят?), на момент loading показываешь спиннер, когда данные загружаются в store, loading становится false и показывается табличка с новыми данными. сейчас делаю похожий проект, только тут поиск по фильтрам
если что спрашивай детали
>стора
>каким-то хуем компонент инпута отправляет и принимает данные с бэка
проиграл с этого вкатывальщика
Братишь, ты не уловил. Я не про свистоперделки спрашиваю, типа лодинг шмодинг.
Я спрашиваю как реализовать _архитектуру_ приложения.
В моем примере.
фильтр ничего не знает о своем окружении и ничего не умеет кроме как вякнуть "меня жмакнули"
таблица ничего не знает об окружении, кроме "вот тут лежат мои данные, если они поменялись, я обновлюсь"
Потоками данных между ними рулит верхнеуровневый компонент, который ничего не знает о состоянии своих деток, и его это не ебет. Он принимает знает что от одного надо запрос перенаправить на сервис, а другому надо скормить ответ.
Я спрашиваю как в реакте
архетиктурно решается вопрос вот этого обмена данными туда сюда.
>>5834
а) что такое просто инжектор?
б) зачем мне присать хттпклиент?
в) какое остальное? Там же аналога @Input() @Output()
>как в реакте
архетиктурно решается вопрос вот этого обмена данными туда сюда
От родителя к потомку - через пропсы/контекст. От потомка к родителя - через события, сеттеры.
Особо глупые вкатывальщики юзают хранилище стэйста глобальное.
А. Ты ангуляр то видел? Про что вопрос?
Хочешь сервис заинжектить - напиши сервис и инжектор
Б. Потому что его нет
В. Все остальное что в твоём посте написано делается так же. Input - просто пропсы, Output - пропсы которые начинаются на on)))
Node.js/Postgres/Web3/Ethers
>В. Все остальное что в твоём посте написано делается так же. Input - просто пропсы, Output - пропсы которые начинаются на on)))
Ну т.е. ты в родительском компоненте пишешь обработчик клика кнопки дочернего компонента,да? И суешь его вниз?
>Ну с if else же нельзя
Долбоеб? Нельзя использовать хуки внутри ветвлений,а ты спрашиваешь про сеттер
Да.
Тебе нужно чтобы инстанс компонента был, на нем торчал эмиттер, и ты тот же самый обработчик из родителя совал в эмиттер дочки? ЕВПОЧЯ
>двач, как передать коллбек без дополнительных шагов?
ебать ты архитектор потоков данных
Вебпак так умеет, вставляя хэш.
>Тебе нужно чтобы инстанс компонента был, на нем торчал эмиттер, и ты тот же самый обработчик из родителя совал в эмиттер дочки?
Мне не нужно.
Тебя не смущает идея писать логику одного компонента внутри другого?
Про какую логику ты говоришь? Ты пока в инпутах не можешь разобраться.
>В реакте так.
>Фильтр эимитит Главному компоненту событие "онФильтерЧейнж" с джейсоном полей. Главный компонент берет заинжеченый датаПровайдерСервис, который дергаегает хттпклиент который вернет данные.
>Когда данные вернуться, Главный компонент при помощи пропсов сунет в Таблицу новый набор данных, и все перерисуется само собой.
>Как такой же сценарий реализоваться в ангуляре?
>фильтр ничего не знает о своем окружении и ничего не умеет кроме как вякнуть "меня жмакнули"
>таблица ничего не знает об окружении, кроме "вот тут лежат мои данные, если они поменялись, я обновлюсь"
>Потоками данных между ними рулит верхнеуровневый компонент, который ничего не знает о состоянии своих деток, и его это не ебет. Он принимает знает что от одного надо запрос перенаправить на сервис, а другому надо скормить ответ.
Так понятно?
>Так понятно?
Откуда главный компонент знает что у доченего есть
sss: Subject<IShitFilter>
onButtonClick = () => { this.sss.next(this.filterModel) }
?
if (uslovie) throw (error)
throw (error2)
если я это в catch потом ловлю? или он может как-то два задеть
Назовите плз учителей которые сперва рассказывают зачем что-то нужно, а потом поясняют как пользоваться. В идеале как сам разработчик языка подходил при создании языка - это нужно для этого, это для этого. Каркас необходимого, движимые части, редкие примочки - условно.
А то учат как в школе, просто надо просто запоминайте просто вот так правильно. А потом когданибудь вспомните
Потому что он умер.
После ES6 в нем нужна как таковая отпала.
Ну или если не отпала, то осваивание для освоившего ES6 занимает пару дней максимум.
Так что смысла сейчас знать жквери нет. Это уже на полку с легаси говном.
react, vue, angular, svelte
>если я это в catch потом ловлю? или он может как-то два задеть
Только внутри async функции и только используя try catch, .catch() ловит только первую ошибку
Ну что и требовалось доказать.
Кодмакака стучит по клавиатуре хвостом и искренне считает что это программирование.
Codewithmosh
Что это доказало? Что у тебя деменция?
Да точно так же по сути. useItemsFetcher тут просто подразумевается, что в проекте есть какая-то обертка над сырым http-клиентом, имеющая интерфейс в виде реактовского хука.
>>6156
сравнивать не с чем но вот этот мне зашел
как минимум обзорное
https://codewithmosh.com/p/the-complete-node-js-course
За шкафом
abstract class A{
loadAll // оставить для B
loadById // закрыть для B
...
class B extends A...
Не используй их и все, зачем тебе еще дополнительная палка в жопе, ты же и так тайпскриптер.
Отличный совет, жыкверри-сама. Но у меня уже есть абстракция с набором методов для дюжины сервисов, и только в одном из них надо закрыть часть методов. А не "просто взять" и заебашить 10 одинаковых оберток отличающихся только интерфейсом и роутом апи.
Да, гугли сервисные типы
Partial там и все такое.
https://www.typescriptlang.org/docs/handbook/utility-types.html
Либо напиши ДЕКОРАТОР и вешай его на поля родителя
Абстрактный класс для того и используется, чтобы расшарить некий интерфейс между наследниками. Ты же хочешь чтобы у тебя был абстрактный класс в одном месте, а его огрызок в другом. Это так не делается, и по описанию уже видно, что ты хочешь слепить лютый антипаттерн, и твоя проблема 100% должна решаться другим образом через композицию.
Ууу, LSP
> через композицию.
Блет, неужели вы не понимаете, что "комопзиция" это совершенно лютый свинособачий нахрюк?
Ну так не хрюкай.
комопзиция > моча > говно > наследование
А то я пишу кривое недоделанное говно и мне сложно даже простое круд приложение написать
v-bind="$props"
гугли building react app from scratch. наблюдай как опытные дядьки делают, советую канал freecodecamp. правда надо чтоб английский понимал
еще варики: ищи вакансии фронтов и проси тестовое задание типа попробую
filters - это объект с неким кол-вом свойств
с помощью чего его превратили в этот шифрованный код и использует как единственный URLparam ?
прости) я случайно тебе ответил
А если не заводить трактор. Есть смысл подниматься для фуллстака? Я сам хочу поковырять бэк, но не знаю будет ли с этого польза
MyComponent
Пчел, я те могу кинуть фейкозадание на 3 дня норм челику. Ну тебе на неделю.
Как сделаешь, сможем почерикать в каком-нито фейкочате.
100% ненужная херня в плане бизнеса (это точно не модуль который можно спиздить и продать)
MyComponent, с тире лучше обозначать кастомные элементы, которые, кстати, недавно завезли во vue.
ПЕРЕКАТ >> 2176641
ПЕРЕКАТ >> 2176641
Нет,а ты?
Чтобы я в качестве параметра ввёл часть названия города и сервер мне вернул названия городов с совпадающим введённым текстом
Вы видите копию треда, сохраненную 13 апреля 2022 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.