Это копия, сохраненная 27 мая 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Больше пары строк кода в посте или на скриншоте ведут в ад.
Для программирования на HTML https://codesandbox.io
Для Node.js с консолькой https://repl.it/languages/nodejs
Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
Старая паста - https://pastebin.com/9yRADC0s
function mkSorter<T extends { [key: string]: unknown }>(prop: keyof T) {
return (a: T, b: T) => a[prop] - b[prop];
}
Как сделать, чтобы можно было передать только такой prop, при котором prop: keyof T и еще T[K]: number
Чтобы использовать вот так:
>type SomeObjectType = {
number: number;
alsoNumber: number;
string: string;
anotherString: string;
bool: boolean;
};
const columns: ColumnsType<SomeObjectType> = [
{
title: 'Also number',
dataIndex: 'alsoNumber',
sorter: mkSorter<SomeObjectType>('alsoNumber'),
defaultSortOrder: 'descend',
},
];
И никакие значения, кроме 'number' и 'alsoNumber', нельзя было передать.
текущий нерабочий вариант — https://www.typescriptlang.org/play?#code/GYVwdgxgLglg9mABAWwNYGU4CcoFMsA8AKorgB55gAmAzogN6IDaquAngFyI1RYxgBzALpdwqMHADuSAL4A+ABQAHLHCVdWbOMEREAlAwBQiRFlxQQWJAoCGXIgBpEAI3sGAvHMQ2mKtUMQAWhdfVSUhAG5DGUNDKDYlXERMZFwAeWcAK1xoIgSk9yMTMBBkZ3wuErL8KJMbABsaOAA5UvKsSraa425efgEuHj5BWu8JKAALfHQ+wUHZgVHnODh6rmXV3BswKJkowwgEHkRD+tKwGi4AYVXzmjzEghT0rJyoB9wvQqYe+h6TWBQeq4LgAcgAgo04Igqu1QQ5-ogqDYoDYAJLUchghpNVrVLDwxFNHAVFAYbB4QjPDLZXL5RSgnEtLoEvQIkwmKi4YA2ED1KCYHBpLBcjqIUFcmgQXDUQkmGQIyJAA
function mkSorter<T extends { [key: string]: unknown }>(prop: keyof T) {
return (a: T, b: T) => a[prop] - b[prop];
}
Как сделать, чтобы можно было передать только такой prop, при котором prop: keyof T и еще T[K]: number
Чтобы использовать вот так:
>type SomeObjectType = {
number: number;
alsoNumber: number;
string: string;
anotherString: string;
bool: boolean;
};
const columns: ColumnsType<SomeObjectType> = [
{
title: 'Also number',
dataIndex: 'alsoNumber',
sorter: mkSorter<SomeObjectType>('alsoNumber'),
defaultSortOrder: 'descend',
},
];
И никакие значения, кроме 'number' и 'alsoNumber', нельзя было передать.
текущий нерабочий вариант — https://www.typescriptlang.org/play?#code/GYVwdgxgLglg9mABAWwNYGU4CcoFMsA8AKorgB55gAmAzogN6IDaquAngFyI1RYxgBzALpdwqMHADuSAL4A+ABQAHLHCVdWbOMEREAlAwBQiRFlxQQWJAoCGXIgBpEAI3sGAvHMQ2mKtUMQAWhdfVSUhAG5DGUNDKDYlXERMZFwAeWcAK1xoIgSk9yMTMBBkZ3wuErL8KJMbABsaOAA5UvKsSraa425efgEuHj5BWu8JKAALfHQ+wUHZgVHnODh6rmXV3BswKJkowwgEHkRD+tKwGi4AYVXzmjzEghT0rJyoB9wvQqYe+h6TWBQeq4LgAcgAgo04Igqu1QQ5-ogqDYoDYAJLUchghpNVrVLDwxFNHAVFAYbB4QjPDLZXL5RSgnEtLoEvQIkwmKi4YA2ED1KCYHBpLBcjqIUFcmgQXDUQkmGQIyJAA
>И никакие значения, кроме 'number' и 'alsoNumber', нельзя было передать.
if (!Number(x)) {
throw new error("only numbers allowed")
}
Не благодари.
https://www.typescriptlang.org/play?#code/C4TwDgpgBAcgrgWwgJwJYGMDSEQGcA8AKgHxQC8UA3lANoAKUqAdlANY4D2AZlIQLoAuXvT5QIAD2AQmAE1xQmiAEYooAfigMhTCADdVAXxrsQ3XnwBQoSLEQoMAMVQQANnKKkK1eoxbwkaFg4BCSCCsqGFhZccEzowKgcLAisAMocyFLIRAA0sGKS0nK2AY7ObiGeJfboTq7uJMQAFGDIHGBCJmYwAJRUFlBQyBDAcMgsTQCGQoRQAGSweUoz87B9ZKSTNK3togC0UErbbWB8ANwWBlHW0OlIAPJKAFYQ8YTg0F4D4QgqyNoRZAXQaTFy4Dj+P4A34oYFQXDANBMADmQgRSORcMmTA4wAAFihUojmKj4cSUXClBwOC4hFSaRBsRcDBcLOgkgioOyXIgmLghABhGm83DvSD4O4QR4vN4fKo0b6Ub6DBLAFwQIQAcgAgmCOD8-pqcsqoDJJsBJgBJWQSLWg8GQlBGk3gzIoIQpdJu7KS6WvYBiiDNTWKGHITU9Y2DQYyCBcSZwFzAL3Ae7IWP-KCa2O4dBFZ2DAzG85AA
Генераторы пользовали до промисов для ассинхронщины. Ещё ими можно итераторы описывать, но это уж совсем нишевый юзкейс, так как для единичного случая итерации по неитерируемой конструкции проще `for` луп ебануть и запихнуть его в явную функцию.
О, я тоже пытался анону так решить, почему обязательно писать T & N в типах к параметрам функции, которую сортер возвращает? Почему при просто a: T вылетает ошибка "can't use type keyof N to index T", если N это очевидно часть N?
И почему всё внезапно ломается, если записать NumericFields короче, через mapped types штуку?
https://www.typescriptlang.org/play?#code/PTAEBcE8AcFNQHIFcC2sBOBLAxgaVpAM4A8AKgHygC8oA3qANoAKomAdqANYED2AZqFIBdAFyDmQ0LAAe4WGwAmhUG1QAjDKAD8oFmLawAbpoC+DbpH6ChAKChxEqDDgBimWABslZSjVo3QQMYWdi5eAVJQAENlUgkpWXklFXVNHT0VIwxRcSYhAG4bExsSviQ2bHBMHg4UTgBlHnQ5dDIAGkQEuUVlZDQsbDdPbwpqR37Xdy8SCnIACmh0HmgxCysEAEo6ANB0WHAkdA45qLFIgDJEDrUz0EvN6koohkXlyQBaUDUXpegCopK9ngjTQAHk1AArWCVUgweB+HaqFAadD6VLoQqBKIeQg8PootHIjCY0CEcBYNgAczEZIplJJUTYPHAAAsMPVyexqaTOVSSWoeDwPGIBULYIzCiZCjZsDUyaBZR5UGxCGIAMJC5WEWFwYgg2DgqEwuG+Rg7fxBCCYcAeWBiADkAEEcTwUkT0Pa2jtAgoouAogBJRQyB3Y3H4jCe72kpotMR1RrNDB6nhgyHQ8A62Dze1IlH2jZey0KWB8KJIDzgRPgUHoEuo0D2kuEbBJKOBExegpAA
<td>
<form th:action="@{edit}" method="post">
<input type="hidden" name="id" th:value="${item.getId()}" />
<input type="hidden" name="name" />
<input type="hidden" name="lastname" />
<input type="hidden" name="age" />
<input type="submit" value="Edit" class="btn btn-danger" />
</form>
</td>
Я вот если нажимаю на кнопку поле стирается, кроме возраста, значит хтмл понимает куда я нажал, но данные из формы в дебаггере пустые, нет ни нейма ни сонейма.
Там нужно N, потому что prop: keyof N, и нельзя чужими ключами обращаться к объекту. Можно просто a: N, но фактически там T & N.
NumericKeys возвращает string union, и видимо тут теряется свзять между T и N которой никогда не было
>>1984762
Там возвращаемый тип надо number, потому что T[P] это видимо хуй пойми что
до async await
Офигеть, спасибо, я всю голову сломал!
это ран-тайм, а не компайл-тайм
Жаль только, автокомплит нужные значения ключей не подсказывает, но это, наверное, уже нереально
И еще: где про это конструкцию прочитать можно (синтаксис, как называется, доку)?
>{...} [keyof T] в NumericKeys
https://www.typescriptlang.org/docs/handbook/2/indexed-access-types.html
>>1984939
https://www.typescriptlang.org/play?#code/C4TwDgpgBAyg9gWwgeQEYCsIGNgBVzQC8UA3gFBRQB2ArgqhAE4Bc1dDjA3BVAIYA2AZzgA5dk1a16TbpUHBGASyoBzVvKWrZfKnGAALJjAXK1UDae2o4cfq2u2IvKtwC+3MqEhQxSJVgBpCBBBAB5cAD4oYhIoAG0ABShlKABrYLgAMyhcAF1WXETcqAgAD2AIKgATQTZpRigAfigkyQgANyYoVzj0kCyc3M8CHzomRSwAMUUIfhrwqJj4pJTfccDgsMj8uo5usjIAegAqKEAmEChAfhBAARBAPhBACRBAbhBAaRBAURAoQEEQQFYQa8AOEEB5EHex0OB0yNCoOEUcCoUAQqXgjAqjAAjOEADQ+ErlSo1UZ+CbTWbzSLRPHrQlzLYRDEBLEVaq1PoDESkpnZEQRAAUYEYcDArACAEpSDxGBBgDRGDDObwClAAGQ+DGoOWKkTCwhRXhxHl84oAWigqB1vLAuTcBzhCKRqPgSDQmBw+EgXIA5AJhL4OK7BUdDlAAALAQT6sqQHChxi8xhkK1wRFMW2IFAYbB4Ahu5x6QyMYyaFQ+v2B4Oh0rh4CR6Ox+Hxm2hO0px3pl2c10ARwA7hBC0dToAhEC+lx+gBkQT5QQAMIGc+7dAFwgt0APCCXR6-afzqDA0HgyHQ2E1hOMABMC05wvIlDFEqlUDBEOAUJhoRZZXpuLW-gpxOpUFpz5xjIy7Jcrq-LfqePDnuKkrSrKSpGqw6rRFqJp6lAhrGsBQyUK4ZDYdW1pMEeDYOmmzoQFygqth6ojiIwhaHP6QYhmGaaVvGeG1gR9bJsRToZielG6AYRgmKodEMSWzERkwVZxvuhHcamvEthR7Zdj2JxQIA4iDTlAgC8IOOnzjvOC5QIALCBfI8Xx6eOpm3FAgCMIM8jx2R85mPOOfajhuZA3tuMLAceYEQZeMK+XeO6hD+2IMmkAE5FyVC8EgApBZQUAXlB15buF0pwBgBSpWl6WQVeeXoHEiVIJhaXYVhOGbre967m+Ez4Ywx59DAsxpvGrCcqUBWIbsTCpRlV5hU1-UFBiICDWeaVjTCnXdTg8b9cKhrLfwPWMJyIC+nVuFwi1WBtdyppcfainNmR-HukI1H1D6vrHWM-hnQFJ0fmERHXaRETkZRD1ekwz0HBp2l2fphnGWublWfptkOU5LluR5o4HuuIJkJVECCGAvBYNA8ZVCKlBhrWyRUEimSE9AyCMFUoQAIJRPNlBYIgBNilNUDMzNrDM4Kkg0TwuHk2WlMTTu-DACzXLIKwDNM6zhXFSFWWNTuvP81As182rwWZcgAB0nMINzED9TNwqhFAAAM4H7HVPAU4imt+VAnPU4wvAALK8GAoQAEIYqznKZH1+vBxqURC2TC0laF2WTYrUDK-Lwvp4zIds07RtXuzRVe1zvA86UNsJ8Xica6b5uWxH60Ypke2Cgd1fO8XtU1WLBwS2AlPe-IUAkyDLDZ0zUgcIsVclxbZdWxXeuG+rmWlKhetO932G4UPwAj4zwcgMzwM0VAGkZ79Tb-Vj0Q8CTZvQgo-uB5yvNXyRBCx1ApQm1RY8UQfqPGivoiyMVLOWViMYH7e2fgHMA50+SXUbJ-ZSAlszCXzM9TkQDGYALIEAA
Использую nodejs чтобы заделать кое-какой курсовик. Надо отправлять различные shell-команды и читать их stdout. Нашел решение как на пикриле при помощи либы child_process
Однако вывод stdout неверно воспринимает русскую кодировку и высирает всякую херь, как пофиксить?
И да, то ли я вообще использую? Мне надо команду ping несколько сотен раз прогнать и результат распарсить, может есть какие-то другие более полезные либы?
Один из редюсеров у меня получает экшон на апдейт кое-какой хуйни, при этом он посылает кое-что на сервер, как это правильно делать? Типо вернуть стейт, а потом запрос на сервер или что? Или так:
case 'component/send_data':
return {
fetch blahblahblah
}
Но редюсеры должны возвращать стейт, не?
Какой либы, долбоеб? ты используешь встроенное API ноды.
>Какую "документацию"?
Чтобы не задаваться вопросом, почему у тебя кириллица не распознается.
Да вы фп-мастер! Очень здорово и круто, еще раз спасибо.
Заранее благодарю за ответ.
https://codesandbox.io/s/happy-lederberg-37x8e?file=/src/App.js
Осталось только увлекательную историю придумать и нарисовать иллюстрации
Единственное, в варианте "что на самом деле надо было сделать" не получается включить свойство, если оно optional, например, alsoNumber?: number
Все верно, mkSorter умеет только в number, optional - это number | undefined. Можно научить mkSorter работать с undefined, тогда должно заработать
В пистоне сделал бы это:
exit(1) # завершает прогу с кодом 1
Или просить 1200?
Можешь гуглом пользоваться научиться, например. Пиздец какой полезный скилл.
Нет, контроллер на спринге, а страничка thymeleaf + html + наверное какой-то pure js должен быть, как мне кажется
Как я уже понял, в компонент нужно прокидывать action и data (что мы делаем с формой и в случае с Edit, Delete - сами поля объекта). Внимание вопрос - как блять прокинуть данные в другой компонент?
Пол дня проебался, читал про какие то Child-parent, interceptors - какая то мудренная хуйня. В итоге реализовал через rxjs, на сколько это зашкварно? Т.е. у меня нет прямого общения между компонентами, есть global state, в который прокидывается Data/action/message и в зависимости от них происходят действия в компонентах, потом они выпиливаются OnDestroy. Все работает, все заебись (ну как работает, F5 нажал, данные смыло от OnDestroy), но этот GlobalState раздувается и меня это напрягает.
Как я понял с Child-Parent - они должны быть в одном окне. Мне это нахуй не нужно, т.к. компоненты с разным Routing-ом.
Если кто наведет на путь праведный - буду очень благодарен
Я вчера все 4 способа пробовал - Child-parent, input-outpul, emmiter, через Rxjs все заработало.
Моя проблема в том, что мне нужно именно Data из одного компонента передавать в другой, без селекторов и прочей хуйни, т.е. html никак не должен знать об этой передаче
Ну ты хоть нарисуй как у тебя компоненты то рендерятся. На одной странице или на разных там.
>на 3 функции должна быть одна страница
произвольные ограничения
>реализовал через rxjs
это библиотека с утилитами, чего ты там реализовал через него?
>думает что OnDestroy вызывается при F5
хаха
>ни слова про сервисы
иди еще почитай, ты не готов
OnDestroy
A lifecycle hook that is called when a directive, pipe, or service is destroyed. Use for any custom cleanup that needs to occur when the instance is destroyed.
Я на компонент вешаю OnDestroy, F5 делает ререндеринг страницы и по сути создает новую.
>это библиотека с утилитами, чего ты там реализовал через него?
свой TransferService - создаю BehaviorSubject и прокидываю в него то, что нужно передать
>Ну ты хоть нарисуй как у тебя компоненты то рендерятся. На одной странице или на разных там.
я писал выше - на разных страницах. Я все примеры, которые увидел в интернетах, они вложенные друг в друга, т.е. из дочернего вызывается родительский и наоборот. Мне это нахуй не нужно. У меня 2 компонента под разным Routing
забыл добавить, что у меня в OnDestroy метод, который из Rxfs удаляет все негодные поля. Костыль на костыле короче. Но я не люблю писать хуйню, поэтому пришел сюда за помощью
>на компонент вешаю OnDestroy, F5 делает ререндеринг страницы
хуйню как ту делаешь, ну да ладно
>свой TransferService
все правильно кроме названия, он так называется потому что ты данные передаешь?)))
https://stackblitz.com/edit/angular-display-code-snippets-in-html-page-jppfwb
Я поудалял все, что не нужное. После F5 происходит flush (в OnDestroy метод, который удаляет все поля из моего dataService).
Но меня больше волнует другое - правильный ли это подход? Т.е. по сути мои страницы Component-AddEditComponent - они как бы parent и Child, но блять они в разных раутах. Да, в Component тригерится событие на изменение и ничего больше.
Так что, есть способ передачи данных между компонентами, которые не содержат друг друга или rxjs пойдет? Меня смущают раздувающееся кол-во методов для разных ситуаций - сейчас это 3 (message, data(user) и flush (удаление message, user). Правильнее бы было делать передачу между самимо компонентами, а не через отдельную службу, но я хуй знает, как это сделать не вкладывая html-льки друг в друга
О, фп-тсник в треде. Моё увожение.
Спасибо, анон, знал что тут помогут.
если хочешь сытно поебаться, но чтоб всё было по канону - можешь погуглить в сторону ngrx.
имхо, самая богоугодная имплементация redux (который, де-факто, стандарт стейт-менеджмента в мире фронта) под ангуляр. куча человекочитаемых статей на медиуме в помощь.
бтв, не вкурил, при чём здесь F5 и OnDestroy. последний вызывается на анмаунтинге компонента, а обновление страницы в любом случае выгрузит всё твоё приложение. это крч как сначала прибраться в хате, а потом спалить её.
спасибо, поправил у себя, но все равно проблему не решил - у тебя все проще, мне приходится стейт затирать, т.к. юзверь может прописать в адресной строке редирект и у него останутся те же данные
>>1985770
>при чём здесь F5 и OnDestroy.
Мне нужно подсчисчать данные со стейта каждый раз, как страница закрывается, но не чистить, тогда она обновляется.
Я не силен во фронте, я вообще бэкендер, но эти переходы к фулстеку заставляют меня совокуплся с ангуляром и TS (почему блять нельзя создать класс через new, если в нем нет конструктора? что это блять за магия? Разве у классов нет базового конструктора?)
Type 'FunctionComponent<{}>' is missing the following properties from type 'Context<{ state: any; dispatch: any; }>': Provider, Consumer
Кусок кода, где эта хуйня всплывает:
const Component: React.FC = (): JSX.Element => {
const {state, dispatch} = useContext(Context);
return (
<div></div>
)
}
Кто-нибудь сможет угадать хуле ему надо? Где я обосрался?
> но не чистить, тогда она обновляется
но ведь у тебя приложение заново грузится, если ты страницу обновляешь @___@
если тебе нужно именно на фронте хранить данные после закрытия приложения (т.е. и, в частности, после перезагрузки страницы), то у тебя два стула - либо хранить в куках, либо в localStorage.
прост мне кажется не очень правильным для обработки закрытия страницы юзать OnDestroy, он не совсем для этого. можешь погуглить unload-эвент, он как раз позволяет выполнить коллбэк перед закрытием/обновлением вкладки.
про new и конструкторы - ты пытаешься проецировать опыт работы с бэком на фронт) жабоскрипт - не ООП-язык в классическом его понимании. здесь даже наследования нет - здесь прототипирование. а те же new и extends лишь синтаксический сахар поверх этого самого прототипирования (который не так давно появился).
Профилируй!
Код самый обычный. Без редакса и прочего. Просто запрос в базу данных фильмов и отрисовка на странице. Но отрисовывается за раз много фильмов.
Performance вкладка в хроме позволяет смотреть какие функции вызываются и сколько времени занимают. Реакт сам по себе не медленный - медленные апдейты DOM'а которые получаются когда использовать реакт неправильно.
Что такое "обычный" код? Может, ты там херни наворотил с эффектами, мы же не экстрасенсы.
Будто редакс это что-то необычное. Редакс еще "обычней" чем сам реакт, это просто набор чистых функций.
Бамп. Это пизда нахуй, в гугле ни единого слова про эту хуйню. У меня даже блять в голове примерно не складывается, что я сделал не так нахуй.
createContext получил свой ебаный тип в дженерик, как он и хотел. value провайдера полностью соответствует типу дженерика в контексте.
Что это вообще блять за ошибка такая? Функция с дженериком пустого объекта не может быть присвоена контексту<{state, dispatch}>. Это пиздец туманная ошибка, мягко говоря. Если бы там было написано: "чет не работает >пук". Было бы раз в 10 понятнее.
Что я точно выяснил: этой хуйне не нравится константа, к которой прихуячен createСontext. По какой-то блять неведомой причине:
export const сontext = React.createContext<Partial<ContextType>>({}) это триггерит тайпскрипт. Вернее попытка использовать это в компоненте, когда получаю контекст.
При этом на стэковерфлоу 0 инфы. Вообще везде 0 инфы, будто бы я первый человек на планете, который эту ошибку видит. Я даже не могу отдаленно предположить, что не так. Кто-нибудь с этим сталкивался?
Зарания благодарю за ответ.
Зарание благодарю за ответ.
и как тебе помогать будут по одному стектрейсу?
код бы хоть скопипастил, конкретно на котором оно падает
спасибо
стоит
Если только два - то лучше в жаваскрипт
Личералли первая ссылка в гугле. https://stackoverflow.com/questions/54577865/react-createcontext-issue-in-typescript/54667477
Он орет потому что у объекта нет типа полей state и диспатч, хотя он их ожидает увидеть
while(size != a || size != b || size != c ) {
size = prompt()
}
Но этот цикл бесконечно требует от меня ввода. Добавил даже ещё одно ИЛИ с обычным числом, чтобы цикл тупо отъебался от меня, но он и его не принимает. ЧЯДНТ?
Ну раз одной-двух, то вот тебе решение, а там ебись как хочешь:
присваиваешь каждому полю ввода ID и перебираешь на предмет "", undefined, null.
>Он орет потому что у объекта нет типа полей state и диспатч
Падажди ебана. Я же <Partial> там поставил. Это же значит, что при инициализации всех свойств может и не быть не?
Рискну предположить, что модальное окно выплёвывает в переменную size значение типа string, в то время как a \b \ c - целые числа.
Хотя = и == должны преобразовывать разные типы, чтобы можно было сравнить жопу с пальцем.
Попробуй применить parseint() к size.
Не,
const mb = 'Мб'
Я даже в условие пробовал просто строковое значение помещать, без объявления констант.
Избавься от множественных условий в while.
А в нутри цикла используй if.
while (! correctAnswer) {
size = prompt() ;
if (size == a || size == b || size == c) {
correctAnswer = true;
}
Ну ты понел. Жпг
}
Дякую. Так работает. Это учебное задание, меня скорее интересует не готовое решение, а знание, почему мой вариант не работает.
В кратце: для выхода выполниться в петле должны все условия. OR не оставляет на это шансов.
Надо более подробней - в гугол.
Чая вам, уважаемый, и кошко-жену.
Короче нет, что-то тут не то. Это, наверное, какой-то баг, тут что-то пиздец не чисто.
export const Сontext = React.createContext<Partial<ContextType>>({})
Тип у Context здесь React.Context<Parial<ContextType>>. Но тайпскрипт думает, что тип Context это FC<{}>. Из-за этого ошибка.
То что там стейт и диспатч any, это все хуйня. Я уже это пофиксил, ошибка та же самая осталась:
Argument of type 'FC<{}>' is not assignable to parameter of type 'Context<ContextType>'.
Type 'FunctionComponent<{}>' is missing the following properties from type 'Context<ContextType>': Provider, Consumer
Вопрос сводится к: какого хуя тайпскрипт вместо типа React.Context<Parial<ContextType>> видит тип: FunctionComponent<{}>. Хотя vscode прекрасно видит, что это на самом деле React.Context<Parial<ContextType>>.
А если убрать из App: React.FC = (): JSX.Element тип App React.FC, чтобы осталось: App = (): JSX.Element. То ТС начинает вместо FC<{}> в ошибку подставлять () => Element. То есть какого-то хуя у контекста, который был объявлен до компонента, вместо собственного типа тайпскрипт видит тип компонента, в файле которого он объявлен. Вот это и есть проблема. Почему так нахуй?
а ты уверен, что он нужен вместе с html-webpack-pug-plugin или просто так сказал?
>Почему люди с других напрпвлений it так хейтят фронтенд?
В основном бугуртят пердолики, которые див от нава отличить не могут.
>Сам изучая пол года, от верстки бугурта особо нету, джс по Кантору сейчас допрохожу, потом наверное буду Ангуляр осваивать.
Лол.
https://codesandbox.io/s/kind-swirles-q1ujc
Вот. Ошибка в компоненте Consumer. Ругается на PeopleContext.
Бтв, я с нуля все написал, это не копипаст, т.е. исключено, что я где-то опечатался в изначальном скрипте.
нинаю) паг лоадер ошибку выдаёт
- формошлепство
- перекладывание JSON-ов
- jQuery-лапша как основа архитектуры приложения
- ебля с CSS, много ебли
- некробраузеры типа IE
Мобильная разработка тоже формошлепство правда без ебли с CSS, но наверняка с другой еблей. Я к тому что в любом направлении есть своя ебля, разве не так?
Любой фронт-энд это рутина. Нет никакой принципиальной разницы между мордами в браузере, на десктопе или нативных приложухах для смартфонов. Накидываешь виджеты, дрочишь КРУДы, вот и вся инженерия...
Потому что это говно на самом уёбищном языке программирования из существующих, а его комьюнити - обожравшиеся сои куколды, которые делают одно говно за другим под действием волн хайпов.
>потом наверное буду Ангуляр осваивать.
Начинай с Реакта, поймешь хейт.
Основа хейта - разница в пороге входа. Вот представь, учился себе Славик 4 года на "инженера-погромиста", потом месяц дрочился по собеседованиям и вертел деревья, чтобы его взяли в саммую донную гос шарагу за 30к писать драйвера для чайников на с++. Через пару лет он таки дорос до уровня мидла и получает свои 100к. В тоже самое время обычный вкатыш в реакт может без задней мысли через полгода-под пойти тысяч за 60-70 джуном, а еще через год апнуться до мидла и получать в два раза больше. Цифры для дс, если что.
>обычный вкатыш в реакт может без задней мысли через полгода-под пойти тысяч за 60-70 джуном, а еще через год апнуться до мидла
Чудеса да и только
>разница в пороге входа
Это потому что в России нет социального расслоения.
https://2ch.hk/po/res/42674731.html (М)
Так это рили так. По крайней мере я спустя год на 110 устроился. Правда это было в дс, на ангуляре, в максимально донное место с оформлением в серую и я для этого оч сильно жопу рвал.
Хелп
Еб твою мать блять. Еб твою мать. Я 2 дня с этой хуйней ебался. Какого хуя я не увидел, что у меня там не дефолтный импорт. Пиздец. Я еще ту же самую хуйню второй раз переписал в этот онлайн редактор. Пизда нахуй. Как называется такая хуйня, когда ты ловишь адовые затупы просто блять на ровном месте. Пиздец нахуй. Да блять, теперь все стало на свои места. Под контекстом импортировался App, поэтому такая странная ошибка. Ебаный в рот.
Ничего не поделать брух, так тупят абсолютно все. Чем лучше у тебя настроена ide, тем меньше такой вот тупизны будет случаться, но опять же до определенного предела
>Как называется такая хуйня, когда ты ловишь адовые затупы просто блять на ровном месте
JAVASCRIPT
Да лан, надо просто никогда не использовать default exports, об этом уже 4 года все знают
type Dog = {name: string, age: number}
const russianCityStreets: Dogs[] = [{name: Bobeek, age: 5}, {name: Toozeek, age: 7}, ...]
Не не не. Я другое имел ввиду. То есть чтобы
['foo', 'bar'], [1, 2, 3, 4], [true, false] проходило, а вот ['foo', 1] - нет. То есть только homogeneous массивы
Ну а книжка https://basarat.gitbook.io/typescript/main-1/defaultisbad говорит НИНУЖНА
>>1986964
Может все же дженерики?
кроме как через дженерики ты тут никак и не сделаешь. в конце концов, они для того и нужны
Куколды это всякие крестовики/ГОшники. Плюс скоро майкрософт им сишников подкинет, когда убьёт линукс.
Те, кто написал этот конфиг еслинта, уже там не работают, лол.
Paint
Объясните, неужели программисты и правда занимаются такими мудрёными вещами как вот тут в задачах? Или это все уже реализовано библиотеками и всем таким делается парой строчек кода? Есть ли профит максимально сильно задротить над пониманием и написанием на чистом JS таких вещей?
Как в Ноде обычно запускают задачи по CRON-у? setInterval для этого подходит или это васянство?
Сап. Помогите, мне пожалуйста, с отладкой js скрипта на сайте. При нажатии на определённый элемент он должен срабатывать. Но он не срабатывает. Как его можно отладить? Каки есть инструменты в\для firefox? Я так смотрел по дебагеру, сам скрипт присуствует в ассоциациях сайта, то есть пути прописаны корректно, очевидно что ошибка где-то в коде, но как её найти. Какие инструменты использовать?
Все это уже написано. Но иногда, когда хочется повасянить, можно переизобрести свой дебоунс или меме декоратор
Проверяй, что подписываешься на события у нужного элемента
>Как в Ноде обычно запускают задачи по CRON-у?
cron ом и запускают js скрипты. cron это не аббревиатура, а название линух программы. Читай man crontab
https://techrights.org/2019/09/08/surveillance-as-open-and-sharing/
Готовь свой анус, когда в дистр линуха будут насильно пихать WSL.
Вот мне например надо организовать очистку кеша в Redis-е каждые 5 минут или флаш таблицы в БД каждые 6 часов. Это как ебашить? в петухоне например есть всякие приблуды вроде Celery которые позволяют в отдельных процессах работать с подобными долгими тасками, как в ноде это делать?
Ровно как пехепешнику. Для очередей есть очереди. Таски ставятся в очереди кроном по расписанию. Таски падают - ретраятся. Все как везде самый простой способ.
Я понимаю что это основа. Ну вот например такая задача, неужели необходимо сейчас писать весь этот мутный код, который получается у них в итоге? Или это делается одной строкой?
Просто в этом учебнике уже не раз встречаю примеры, где ты пишешь код, а через пару глав это делается в 1000 раз проще. Я понимаю, что хорошо знать основу, я ее и так учу. Вопрос лишь в том, как глубоко ее задротить.
Это ты уже потом будешь спрашивать, когда запихнут.
Ты слишком заморачиваешься над этими тасками, их от пизды пишут. Ну и плюс всё это в отрыве от html/css объясняется.
Фух, спасибо анончик, вот мне тоже чет так кажется, буду учить дальше.
благодарю
Канторовские задачки тебе на собесах не помогут, а за код с них так и вообще погонят ссаными тряпками.
И кстати шиндошс уже свою прорпиетарщину в линух запихивает:
https://en.wikipedia.org/wiki/ExFAT
>Microsoft owns patents on several elements of its design.
>Linux (mainline kernel driver for kernels 5.4 and later and FUSE)
Ну да, а патентованный майками несвободный код пусть лежит в ядре, он же не мешает.
Спасибо.
Сука, изучатся, телефон заменил
советую долго не заморачиваться над этими задачами
Уже btrfs давно везде по дефолту
Хаотическая форма:
- кнопки убегают от мыши
- поля для ввода случайно меняют свои места
- переходы по табу тоже случайные
- когда вводишь текст иногда вводятся не те символы которые юзер набирает на клавиатуре + вводятся лишние символы
- при сабмите форма начинает выебываться и предлагает заполнить себя заново
Спасибо!
Это называется "что бывает, когда на разработку формы есть десять минут"
Ну и просто, чтобы на конкретном примере:
Есть компонент внутри которого отображаются разные вкладки при клике по кнопкам. И есть всего одна единственная кнопка снаружи, которая при клике будет переключать в дочернем компоненте одну единственную вкладку на одно единственное положение. Вот по сути, мне нужно всего лишь для одной этой кнопки вызывать одну единственную функцию в дочернем компоненте. Как это можно сделать?
Ну и самый пиздецовый вариант, когда тебе нужно тригернуть по клику в одном компоненте функцию в другом. Если они вообще не связаны между собой. Через стейт менеджер городить экшены для них на каждый пук?
>Если они вообще не связаны между собой.
Если они вообще не связаны, то зачем клику в одном компоненте что-то там вызывать у другого?
>Через стейт менеджер городить экшены для них на каждый пук?
Так в этом же вся ссуть редукса в частности и фп в целом. Настало время создавать экшоны, экшоны сами не создадутся.
>есть всего одна единственная кнопка снаружи
Стейт наверх подними, дочерение комоненты он еще теребить собрался
Я спокоен за свой анус потому что я спокойно юзаю все 3 оси и не вижу в этом ничего плохого.
За последние 4 месяца было 11 собеседований - везде отказ. На четырех из них завалили АЛГОРИТМАМИ. ЕБАНАТЫ, ЗАЧЕМ ВАМ АЛГОРИТМЫ В ВЕБЕ?! Конченные уебища! Мало им того, что я знаю js (react + немного redux), ts, adaptive, responsive, less, sass, препроцессоры, postcss.
Блядь, я мало работал с php и node.js, но какого ХУЯ Я КАК ФРОНТЕНДЕР ДОЛЖЕН ЭТО ЗНАТЬ, СУКА?! Я понимаю общие принципы, но я же не претендую на фуллстек, ебанные твари! Я джун! Я НАЧИНАЮЩИЙ, БЛЯДЬ. ОЧНИТЕСЬ, ВЫ СЕРИТЕ! Где-то вообще спрашивали базы данных. ВЫ ЕБАНУТЫЕ? ПОЧЕМУ Я ДОЛЖЕН ЭТО ЗНАТЬ ЗА 20 ТЫСЯЧ РУБЛЕЙ, ЕБАНАТЫ?
Сука, на одном собеседовании нас было трое вкатывальщиков. МАССОВЫЕ СОБЕСЕДОВАНИЯ ДОШЛИ ДО IT. Бляяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя. Моя жопаааааааааааааааааааааааааааааааааааааааааааааа.
Скрыл все резюме, больше во фронтенд пытаться не буду. Пошли вы на хуй со своим вебом. Место действия - ДС.
Ой, какой неудобный пост. Когда я года пол назад сюда закидывал плейлист Хирьяныча на 20+ видосов по алгоритмам на си после просмотра которых вы сможете в рот нассать любому техлиду калчеры в своей дефолтной манере меня обосрали. Ну терпите теперь, хули. Идите ещё пару-тройку книжек почитайте, может быть тогда повезёт нет.
>Хирьяныч
Оно? https://www.youtube.com/watch?v=MWsfHQaUzI0
Я конечно в ахуе, со всего что сейчас происходит, но и выбора нет. У России 3 пути, вебкам, * и айти. Так что ничего не поделаешь
Именно. Постигай.
Чел, ты просто конч.
Если так хотел туда попасть - почему не выловил начальника отдела IT любыми способами и не обрисовал свою ситуацию? Мол, в отделе кадров рубят на ровном месте, умею то-то и то-то, хочу к вам.
Что, язык в жопу втянулся, чмошник?
Поссал на тебя, может загоришься.
>вкатыш
>выловил начальника отдела IT
Просто и без задней мысли?
Ещё на коленочки не забыть встать и заныть НУ ВАЗЬМИИИТИ МИНЯЯЯ
В реакте никакого делегирования событий нет вообще, даже если ты сможешь его использовать, это будет абсолютным антипаттерном
Судя по твоему вскукареку, ты вобще отбитый наглухо.
>Просто и без задней мысли?
А что тут такого?
Начальник отдела IT - такой же человек, как и ты: две руки, две ноги, красная кровь и прочее дерьмо.
Если ты подходишь - возьмёт.
>Если так хотел туда попасть - почему не выловил начальника отдела IT любыми способами и не обрисовал свою ситуацию? Мол, в отделе кадров рубят на ровном месте, умею то-то и то-то, хочу к вам
Судя по твоему вскукареку, ты вобще отбитый наглухо.
>А что тут такого?
Ну да, это ведь не начальник отдела IT задал уровень требований, которым "в отделе кадров рубят на ровном месте". Царь хороший @ бояре плохие, класека.
Бля, я однажды собеседовался в одну гос. структуру напрямую связанную с армией. Мне и ещё 3 вкатышам со мной (2 из них были не резидентами кста, что странно) выдали пропуска, заставили через рамки проходить и все вещи в камере хранения оставить, да ещё и сопровождал нас один челик с карабином.
Так ты можешь вообще в обход реакта рендерить данные. Вопрос только в том, нахуя тебе реакт
По существу есть что сказать?
"умею то-то и то-то, хочу к вам" - а ничего, что на техническом собеседовании уже спрашивают буквально это?
Поясни, как твоя хуйня должна работать.
это больше для того чтобы ты понимал что вообще код может делать, а васянить обертки самому редко придется.
Тип объекта обвялен с Partial. Я не придумал ничего лучше чем, сделать
if(object) {
blahblah
}
Но это выглядит по-уебански, потому что объект это не просто объект, а dispatch, который импортируется контекстом. Можно придумать что-то получше?
>вообще в обход реакта рендерить данные
Как кастомный слушатель со стейтом и рендером связан?
>В реакте никакого делегирования событий нет вообще
В других фреймворках есть врапперы, но тк Денчик придерживается минималистичного жс-вэй подхода, решил не засорять лишними абстракциями, то что и так уже внедрено нативно
>ЕБАНАТЫ, ЗАЧЕМ ВАМ АЛГОРИТМЫ В ВЕБЕ
ну кроме поиска мне чет в голову ничего не приходит где еще алгоритмы используются навскидку
> трое вкатывальщиков. МАССОВЫЕ СОБЕСЕДОВАНИЯ ДОШЛИ ДО IT. Бляяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя. Моя жопаааааааааааааааааааааааааааааааааааааааааааааа.
Алгоритмы в вебе нужны не для того чтобы их применять, а чтобы дрочить вкатывальщиков.
Я помню твой пост, я его, кстати, сохранил в закладочки. Правда руки пока не дошли.
Мне кажется сам js нужен, чтобы дрочить вкатывальщиков. Там столько всякой хуеты, которую буквально одной строкой объяснить можно. И примерно половину языка можно вычеркнуть как устаревшую
>>1987947
И где гарантии что на этот раз ты займёшься делом?
https://www.youtube.com/playlist?list=PLRDzFCPr95fL_5Xvnufpwj2uYZnZBBnsr
Ну и нах всё это надо веб-девелоперу? Максимум может быть иногда приходится деревья (DOM) рекурсивно обходить
Почему
$(window).on('click', function(e) {
show_form();
работает
а
$(a.class).on('click', function(e) {
show_form();
не работает? пробовал уже и решётку перед ней ставить и т.д. поясните, ньюфане, а.
Ровно затем для чего и матан в школе и в любом универе учат - мышление развивать.
Ну пусть тогда про круглые люки на собесах спрашивают. Можно ещё из кроссвордов вопросики задавать. Или по философии. Приходишь такой на собес на реакт-макаку, а тебе - чем континентальный тип философствования отличается от аналитического? Мышление же развивать надо, ага.
>На практике зачем это надо?
на практике почти незачем, кроме случаев писать поиск, обход дом, ну или надо нахуярить велосипед.
>И где гарантии что на этот раз ты займёшься делом?
Гарантий нет. С осени начинать или с первой не-осенней лекции? Почему такой разный размер?
Может потому что не нужно наворачивать жикверик, а пенять на язык? На ванилле в строгом режиме тебе бы консоль насувала предупреждений, что не так работает и куда ты не то вставил.
Смотри с самого начала плейлиста. Хз что там осенью было, если повтор - ясное дело можешь не смотреть.
У меня есть список где-то из 50 радиокнопок у каждой из который весьма большой текст. Юзер должен будет выбрать один из них, но заставлять его в ручную пролистывать этот список не хочется. Подумал добавить поисковую строку, в которой можно будет вводить текст, а список кнопок будет фильтроваться по ключевой фразе. Возникает вопрос: это вообще норм решение, ведь тут будут постоянные ререндеры этих кнопок да и обрабатывать выбор с них не очень удобно.
Сей кусок не работает
array(true, true, 11)
Пытался фильтровать: boolean | number | string, но ничего не заработало
>Это только часть формы, общий сабмит будет потом. Или ты про сабмит варианта?
Сабмит поискового запроса. Или у тебя поле с фильтром - часть общего сабмита?
Да, работает, сорри. TS playground глючит
Вытащи его за пределы поля тогда. Фильтр отношения к сабмиту не имеет, только 1(ОДНУ) радиокнопку в итоге отправлять.
есть скрипт на jquery уже готовы на 400 строк вот мне нужно просто его запустить. я тебе что щас переписывать буду всё с нуля при том что я в вебе вообще никогда ничего не писал.
чё ты бомбишь сразу, программист-анальник ёбаный?
Не, текст трогать и менять не могу
>я тебе что щас переписывать буду всё с нуля при том что я в вебе вообще никогда ничего не писал.
Ну так учи ОСНОВЫ, чё как непердолик. Ну или хотя бы доку жикверика.
Конкретно твой случай не работает, потому что жикверик ожидает строковой параметр, а ты возвращаешь значение свойства `class` объекта `a`. Вот только жиквери при неправильном запросе тихо его не выполняет, а ванильный жс метнул бы эксепшн в консоль. Так что не с теми мельницами воюешь.
нахуй мне твоя дока жока и бока. делать мне нехуй в это говно время тратить кучу времени, у меня другой основной род деятельности.
Я тебе и сказал на сабмит фильтр вешать, а не на какой-нибудь `onChange`.
Количество джунов в вебе стало так много, что можно выбирать лучших и платить им копейки. Как сказал тимлид, по данным отдел хрюш на одно место js-джуна претендует примерно 300 человек (по откликам).
Движок собственный напиши на вулкане тогда и погооврим о сложности, по сравнению с этим даже бэкэнд и какой-нибудь сетевой инженеринг хуйня я щитаю
Да веб это трешак тот ещё, хз каким надо быть талантливым чтобы в 20к21 вкатываться в веб. Я с чуваком говорил который работал в говнокторе которая сайты пилила он сказал что вэб это такое днище что сисадмином больше поднимаешь чем веб пидором
Тредом не ошибся? Тебе в воркач свою шизу постить, ну или хотя бы мвп-тред .
Шизу? Это чистая правда. Я стал веб-макакой в 2016, и тогда было в 10 раз проще. Сейчас тебя даже с серьезным стеком пошлют на хуй.
Не работал с Docker? Пошел на хуй.
Не настраивал CI/CD? Пошел на хуй.
Не работал с GraphQL? Пошел на хуй.
Знаешь только один фреймворк? Пошел на хуй.
>Не работал с Docker? Пошел на хуй.
>Не работал с GraphQL? Пошел на хуй.
Ну это ещё туда-сюда
>Не настраивал CI/CD? Пошел на хуй.
Пусть нанимают девопсов. Дело фронтовика только в кнопку "ДЕПЛОЙ НАХ" тыкать. Ишь аппетиты разгуляли им и фронт педаль, и бэк-фуллстэк, и девопс-хуепс, и ещё сам тестируй всё
>Пусть нанимают девопсов
АХАХААХАХАХАХАХААХ.
Ты просто не проходил собеседования на джуна в 2021.
Не, в принципе джуну знать, что CI/CD вообще есть, всё-таки надо, но че там у него в требухе это не дело фронтовика
байтоебы на сишке напишут
> я щитаю
а писал бы на низком уровне, то считал бы сложными абстракции.
Похуй.
Ты опять тредом промахнулся. Пиздуй уже в воркач.
Почему то музыка из Форт Боярд в голове заиграла, хотя фраза из контекста "Что? Где? Когда?"
Прочитать наконец одну ебаную страничку мана о том, что такое this и не выглядеть впредь идиотом.
Нет this - нечего биндить)))
Всем вуемакакам перекатиться в реактомакак?
Я кофейным по темно-коричневому задал вопрос, перечитай его еще раз.
Ты безнадежен..
по сути это хитровыебанный указатель
А почему? Почему автокомплит появляется во второй версии, но не в первой? Ебать этот туйпскрипт
Нет, я всего-лишь хочу, чтобы ты, мудак, научился ловить рыбу. А ты просишь, чтобы тебе ее дали.
Это не я агрессивный, это ты тупой и скудоумный.
Напиши свое Jquery.
::after
да у него this проебывается просто из-за того что вызывает вне контекста
Сап, жсач
Почти 2 года работаю в аутсорс студии, пришел без опыта верстальщиком, сейчас работаю на Vue/vuex проекте год. Я один фронт на проекте, код ревью нет.
Проблема в следующем:
Каким образом развиваться дальше, откуда брать годную информацию чтобы можно было сразу практиковать на проекте? Чувствую что застаиваюсь, и некому подсказать где я бы мог сделать лучше.
Сменить работу
>Чувствую что застаиваюсь, и некому подсказать где я бы мог сделать лучше.
Тебе на вуе никто и не будет подсказывать, так как некому.
А без шуток, console.log'ами дебажить норм? А то видел, что говорят, что это дегенератский способ вообще, но другого не вижу особо.
Пиши тогда свой сервис обработки ошибок, зато не будешь дегенератом.
Ну а че толсто, как ещё дебажить? И чем всем консоль логи не нравятся? Работает же норм.
Новая ступень байтоёбства - дрочить на байтики при разработке. Код-то хоть пишешь исключительно в текстовом редакторе? А то ж редакторы всякий оверхед добавляют с подсветкой синтаксиса и прочими подсказками.
Шиз, научись выражать свои мысли, а лучше поди основы дебага подучи для начала
Что ты несешь? Что мне мешает в любые асинхронные функции\коллбеки засунуть консолог?
У тебя ошибка может происходить в тот момент, когда происходит ожидание промиса. Ты можешь консоллогом вернуть значение, которое буквально в следующем же кадре будет выдавать ошибку, но тебе консоллог при этом будет показывать, что всё заебись
До выходного твой код может и не дожить. Это опять же мы не рассматриваем разные фреймворки, где ассинхронность может работать внутри как угодно, без прямого доступа к асинхронным функциям с твоей стороны. В каком нибудь реакте ты очень быстро сонешь, если захочешь отдебажить состояние компонента консоллогом. Хотя конечно есть ситуации, когда можно отследить какое-то поведение консоллогом, полагаться на него постоянно неправильно
>До выходного твой код может и не дожить.
Хорошие фантазии, но все промисоподобные конструкции пишут с ловлей ошибок.
>В каком нибудь реакте ты очень быстро сонешь, если захочешь отдебажить состояние компонента консоллогом.
Можно подумать дебаггер тебе сильно поможет при лазании через цепочку вызовов 100+ вспомогательных функций рякта, когда проблема скорее всего во входных данных, которые без проблем проверяются логом.
Firefox Developer Edition
async/await
учитывая качество думаю нейросеть пишет
В истории
css shapes
>рякта
Не более чем прослойка между твоим кодом и тем что делает браузер. Всё что делает бразуер описано в MDN
Шиз иди спать
Добро пожаловать во вротенд. А теперь представь что чувствуют люди, которые пережили жеквери, бэкбон, аврелию, дожо...и прочие технологии, которые "были да всплыли" и теперь весь этот багаж знаний нахуй не нужон.
а жабист как писал на спринге так и пишет
Ты либо ватун либо джун с маленким оптом, синьеры такую мелочь не замечают, синьеры читают код абстрактно, где какой паттерн, а потом сами реализуют подсибя.
Больше практики, напишешь проектов 20 пройдет вот эта штука с синтаксисом, проще говоря, пока что ты узко мыслишь.
Проходи собесы на позиции выше, посмотри че там требуется по стеку, подготовься и пиздуй. После собеса поймешь какие скиллы прокачивать, прокачиваешь и аплаишься.
Но есть метод проще, смари собсесы на ютубе, если отвечаешь сам на все вопросы что услышишь можешь смело идти на собес на зп выше чем сейчас
Да.
>аврелия
Будто она когда-то "была". Нишевый фреймворк был и до сих пор есть. Мне нравится кстати, намного няшней реактоговна
Да я понимаю, я уже так и смотрю на код, типа что там вообще люди делают и смотрю только на нужные куски. Но это пиздец как бесит во первых и бывает все-таки трудно понять, когда ты с новой библой разбираешься.
>подсибя
а потом охуеваешь от количества велосипедов на проекте, а дальше этот хрен сваливает и вы спичку тянете кто будет поддерживать это самописное говно.
>Хучшее, что произошло с реактом, это переход от классовых компонентов к хукам.
Пиши на инферно. Там до сих пор классы в ходу, бонусом получишь нихуевый буст в перформансе. Ноу бугурт.
Ангуляр. Там стек более стабильный, в отличии от говнореактов, у которых по несколько раз в год все меняется. Плюс есть возможность постепенно перекатиться на нормальный язык (джаву/сисярп) и забыть скриптовое говно как страшный сон.
И придется вспомнить тырпайз кошмар, древнее ломучее легаси, код времен темной эры технологий который ты не понимаешь и тд.
Как правильно подходить к структуре компонента? Видел некоторые челики начинают сразу с того что пишут маленкьие компоненты потом их объединяют импортами в один. Я так не умею. Как правильно делать?
Не булькай, ешь что дают. Сказал абраша что пуки теперь модные, значит используем только их.
но они медленнее классов
Мелочевку пихай в одну директорию, это типа как кирпичи из которых потом собираешь крупняк
Крупняк уже раскидываешь по каталогам с несколькими уровнями вложенности согласно бизнес-задачам
он имеет ввиду держи всю мелочь под рукой в одной папке как семки в кармане, а крупные модули уже по взрослому распихивай в дерево папок, чтобы не запутатся.
Так типо?
Т.е. папку с маленькими так и оставить просто импорты прокидывать в большие?
Или копировать маленькие в большие в папку с маленькими удалить потом?
В первом варианте вроде проще код отлаживать.
1280x720, 2:33
Я так понял, отдельного TS тредика нет. Спрошу тут. Как блять в TS нормально работать с JSON?
Ну импортировал я, ну описал предполагаемый интерфейс. Ну вот есть у меня функция, которая по ключу соберет из двух объектов по одному и тому же ключу нечто, предположим еще один объект, смержив.
Но сука, я получаю ошибку: Index signature is missing in type ...
Че блять ему надо, как быть?
Гуглил?
>TypeScript is a programming language developed and maintained by Microsoft
>TIOBE: 50TypeScript0.19%
Я лучше послушаю тех, кто утверждает, что будучи суперсетом JS, TS таки является самостоятельным языком, компилируемым в том числе и в JS.
ну слушай слушай, можешь даже отдельный тред запилить.
>ебаться с типизацией, когда можно не ебаться
>ебаться с багами в рантайме, когда можно отдать большую их часть компилятору и тестам
А вы, сударь, либо здесь недавно, либо не делали чего-то большего, чем лендинг.
Тайпскриптеры без плясок с бубном JSON в модель распарсить не могут, какие там дженерики...
Сейчас бы по файлам да роутерам прыгать.
https://jvilk.com/MakeTypes/ + ts-to-io
В два шага без ручной работы получаем статически типизированную модель из произвольной джейсонины + кодеки для типобезопасности в рантайме. Прублемз?
Любимый аргумент тс-диссидентов. Тем не менее, значительную часть багов тс убирает. А уж каким простым становится рефакторинг, ммм.
Желаешь в тусовку зовущих себя «рок-звездами» программирования: React
Для получения постоянной, заурядной, но хорошо оплачиваемой работы по созданию финансовых приложений в офисной загородке под лампами дневного света: NG
Нужно по-быстрому веб-сай: Vue
Реально нужно научиться программировать: JS/TS
эээээ учить фрейворки не зная языка? эт как?
>PureScript was initially designed by Phil Freeman in 2013. He started to work on PureScript as various attempts to compile Haskell to JavaScript
>ParadigmFunctional
Ой блять. Ой нахуй.
Нуд
жен какой-то устойчивый мем на тему "БОРЩЕХЛЕБ В ТРЕДЕ", которым можно будет их автоматически унижать.
Есть ли смысл идти во фрон енд, и есть ли перспектива получать зарплату хотя бы в 2 раза больше, чем у работяг с завода, такому тупаку, как я, который на codeforces совернованиях не может решить ничего, кроме первой самой лёгкой утешительной задачки, тратя при этом всё отведённое время для всех 5-6 задач ?
Что учить чтобы вкатится ?
В вёрстку за 15 тысяч рублей в месяц думаю смысла идти нет, сделать это может каждый, есть вордпресс.
Не парься, большая часть "фронтэнда" - ноубрэйн хуитка, которая делается по надроченным шаблонам. У нас на джунов в контору такие клоуны вкатываются, что даже не веришь что он ложкой в рот попасть способен, но ничего - пилят формочки и свои 40-50 получают.
Есть ли для такой не требующей мозги сферы перспектива на рост зп ? 40-50 явно не хватит для нормальной жизни в каком-нибудь милионнике
У меня проходит некий долгий запрос (резолвится промис на fetch данных, если это Нода то может быть запрос в базу) - как сделать так чтобы если прошло определенное время по таймауту, то запрос автоматически отменяется и выбрасывается исключение?
Какую блин проверку? Если промис пытается резолвиться скажем более 10 секунд то его автоматически надо режекнуть, а не смотреть результат через if пост-фактум
Просто режект промиса ты можешь сделать элементарно через setTimeout, но если тебе нужно чтобы сам процесс убило и он дальше ничего не фетчил/закрыл соединение с базой, а не висел в бэграунде, то это уже делается средствами конкретного инструмента, который ты используешь.
Блядь, как же горит вот с такого. Живу в мухосранске, последний мой проект - сайт с ремонтами вип квартир с 3Д калькулятором, фронт на реакте, тс, некст, threejs + геймдев 3Д + фоториал 3Д, стэк вообще ебанутый, я за одну графику минимум 80к просил бы в этих ваших ДСах. Получаю 200р в час. Сил позадрачивать проблемные области после рабочего дня нет, а если забью хуй на работу, то вообще не на что жить, даже ту работу, что нашел, вообще откуда-то блядь сама свалилась рандомно, плюс еще и по самими проектам дохуя нужно еще изучать каждый день. Ебанный мухосранский ад, как отсюда выбраться нахуй?! Я уже на полном серьезе хочу в петлю и кажется, что блядь я обречен на нищее существование, пока вокруг все вкатываются со свистом на 300к сек. Пидоры, пидоры, пидоры блядь, просто пидоры.
Abortion Controller.
В реакте нет никаких глобальных компонентов, все без исключения jsx тэги компилятся в React.createElement("img", props, ...children) и без компилятора, который об этом знает, ты jsx файл не выполнишь никак.
200р в час за такие заебы? Чтож это за мухосрань то такая? Перекатывайся от туда нахуй, у тебя уже скилы есть явно.
Каким образом этот ёбаный цикл работает-то, а блятть!? Как prop вообще принимает какое-то значение? Его же тупо объявили и нихуя ему не присвоили. Так ещё и в теле нихуя кроме его вывода в консоль нет, и при всём при этом значение prop в каждой последующей итерации меняется. Да ещё и цикл с каких то хуёв прерывается, когда все свойства перебраны. Да как так то вообще? Инфы о том как оно работает вообще нет, будто это очевидно даже тугосере-годовасику.
Сука, пичот.
ты до главы итераторов не дочитал?
проп объявлена внутри и при каждой итерации ей присваивается следующий элемент из итерируемого
ну не говорили че бубнить то
Земля тебе пухом братишка с такими вопросами.
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Statements/for...in
>приемлимого для джуна уровня
Забудь это слово в js разработке. Тут сразу придется стартовать с мидла. И это уже нихуя не шутки.
Половину перечисленного тобой не знаю, сижу пилю формочки на ривакте, иногда формируя новые редюсеры в ридаксе. Получаю 150к.
Надеюсь хоть значения всех форм в стейт запихиваешь и обновляешь через `onChange`?
И как сразу стартовать с мидла, вкатышу? Через пых или как? Если нихуя нет опыта.
Formik
Просто базы js знать недостаточно. Нужно именно уметь в реакт + стейт менеджер с мидлвэрами + тайпскрипт + рест апи/граф кьюэл+ тестирование. Для этого надо иметь какие-то проекты, пускай пет-проекты. Можно писать сервер самому, можно использовать faker js, но суть в том что там не должно быть статик контента. Очень важен навык асихнронного программирования. То есть все эти запросики, промисы хуемисы.
Короче твоя задача показать работодателю что ты умеешь в проекты и реальный кодинг.
>реакт + стейт менеджер с мидлвэрами
Редукс ты хотел сказать.
>рест апи
Талмудическая хуитка уровня настоящего ООП. Уметь в него физически невозможно, так как всё будет упираться в бэк, который возвращает { response: 200, body: { error: 404 } } с эндпоинта уровня `/items/get-all`.
>тестирование
Конкретно в контексте джаваскрипта - очередная талмудика. Нет ты конечно должен будешь заучивать определения TDD, юнит-тестов и всяких интеграционных тестов и рассказывать о них на собесе, но на реальных проектах никто не будет включать тестирование в планы, а уж кабанчик/заказчик/менеджер будет смотреть на тебя как долбоёба, если ты вдруг удвоишь сроки для написания каких-то там тестов.
>граф кьюэл
Не используется за пределами петов, как и всякие монги. Для вкатывания сорта sql и то лучше подойдут.
>Можно писать сервер самому, можно использовать faker js
Пиздец ты ебанутый, за твой сервер на фейкере тебя обоссут на собесе.
>Для этого надо иметь какие-то проекты, пускай пет-проекты.
>Короче твоя задача показать работодателю что ты умеешь в проекты и реальный кодинг.
Ну-ка давай рассказывай, как попал на свою первую работу, а то сдаётся мне ты пиздишь как дышишь со своими охуенными советами.
Ты пробовал не в говне работать?
Есть вопрос по вебсокетам.
Допустим есть много пользователей соц. сети.
Но только малая часть из них друзья юзера. Он постит к себе на стену сообщение. Нужно его отобразить у его корешей в режиме реального времени.
Как мне найти моих дружбанов среди миллионов(фигурально выражаясь) активных сокет соединений.
НЕ шерстить же их все (соединения) на каждый пук пользователя?
Посоветуйте пожалуйса в какую сторону гуглить?
И скажите вообще, джуны на работе сталкиваются с подобными проблемами или они просто форочки пилят?
Вообще это бековая задача и думаю джуну такое вряд ли доверят. Я не бэкендер, но в пет проекте бы сделал так, есть мапка: "id юзера"-"вебсокет соединение с клиентом", клиент отправляет запрос на пост себе на стену, на беке делается запрос к бд, чтобы получить id его друзей, ну и из мапки берутся вебсокеты его друзей и отправляется им нужное сообщение. Но думаю нормальные бэкендеры придумали бы похитрее архитектуру.
Ну это самая общая схема. Сразу мапить ID на вебсокет я бы не стал, мало ли ещё что-нибудь рядом понадобится прицепить, поэтому делаем объектик "Сессия" и туда складываем в том числе вебсокет
Если тебе скинуть исходники этого for in на сишечке, ты потом прибежишь спрашивать «а почему электроны в проводах ездят, этого нигде не написано!»
А - абстракция
А вот и скинь-ка, будь добр.
где почитать про эту Сессию? Как их менеджить? Где хранить: в памяти или в бд? Примеры реализации..
>за твой сервер на фейкере тебя обоссут на собесе.
ты дурак что ле блядь? это просто тестовое окружение и если не идешь на фулстак, ваще похуй какая у тебя заглушка вместо сервера стоит/какой кривизны он написан.
>Ковырять туториалы и задачки эффективно первое время
Теория
>Сидеть с нуля писать проекты тоже не очень эффективно
Практика
Ты на верном пути
JSON.parse()
ну так и работай с открытыми апи. типа погоды или реал тайм счетчика убитых полицией негров
В чем разница?
это уже полгода назад было. ты медленный
но я не понимаю в чем бугурт. Это же айтишники. там все левачки
Да это говно и так нахер никому не нужно, я так и не понял в чём его смысл.
1С и пыха живее всех живых, впору их здесь продвигать, как востребованные и актуальные СНГ-рынком технологии.
Через 10 лет всё будут писать только на жс (включая ботов и школьной программы по информатики), браузеры станут полноценными ОС в ОС. А пыха мутирует и заменят плюсы.
Не слежу, что там в бекендах модно нынче.
>Через 10 лет всё будут писать только на жс
да и щас стандарт веба де факто жс, да можно пистонить, но то такое.
>где почитать про эту Сессию
Например может вот этот пакет раскурить
https://www.npmjs.com/package/express-session
>Как их менеджить
Вообще вопрос нетривиальный, но в общем случае делают менеджер сессий, пардон за каламбур
>Где хранить: в памяти или в бд
Опять же широкий архитектурный вопрос. Самое простое решение - хранить в памяти процесса самого сервера
>Примеры реализации..
https://www.youtube.com/watch?v=4tIS58sQ7Mc
>стандарт веба де факто жс, да можно пистонить
чиво блять? ты подразумеваешь сейчас и бэк и фронт?
>Я в шоке, JS и правда не может воспользоваться данными из JSON файлов (Для этого нужно написать 100+ строк NodeJS кода (о чём они думали?)). В чём вообще смысл JSON файлов тогда?
Я в шоке. Вкатывальщики и правда такие тупые, что не могут открыть документацию и прочитать пару строк мана? В чем смысл
вообще вкатываться, если ты такой идиот?
фронт, бэк конечно пишут на ноде но это обычно небольшие/средние серваки, крупные не слышал чтоб на ней писали.
Стартовать с миддла невозможно. Скорее всего ты не знает, что такое "миддл".
К чистым джейсон файлам, которые у тебя в файловой системе, у скрипта не будет доступа без апишечек. В ноде же можно просто require/дефолтный импорт ебануть.
Ну а что ты предлагаешь, если этот json всё равно нужен?
Нет, мне нужно не принудительно писать await а делать так чтобы прога не завершалась пока у нее есть нерешенные промисы
Так ведь и так не завершается ничего пока промис не выполнится, разве нет?
Это дерьмо только для nodeJS. Я просто недоумевал, что для того чтобы использовать JSON файлы (У КОТОРЫХ БУКВАЛЬНО В ИМЕНИ ЕСТЬ СЛОВО JAVASCRIPT) нужно скачивать отдельную парашу типо nodejs и что-то с ней делать. Если бы люди работающие над JS были бы белыми и имели IQ выше 100, то они бы просто добавили функцию добавления инфы из файла JSON в скрипт JS.
>нужно скачивать отдельную парашу типо nodejs
Блять... тебе и правда надо объяснять почему клиентский жабаскрипт в браузере не может читать/писать произвольные файлы на диске?
>Как сделать так чтобы нодовский скрипт не завершался пока не выполнятся все промисы и макротаски? А то он event loop может завершиться несмотря на то что в нем еще будут висеть промисы (например на запись в файл и т.п.)
Ты немного не прав. Как раз если висят промисы на запись в файл, то ивент луп не может завершиться с нихуя. А вот пустые промисы, как пик 1 - могут. Почему так - ответ на пик 2 пушо промис - это просто обертка над колбэками, схуяли обычная лямбда должна останавливать ноду от завершения процесса?
Я всё это понимаю, но меня просто шокировало то, что JS не может использовать JSON файлы (мне даже смешно произносить это предложение, но это правда).
>то они бы просто добавили функцию добавления инфы из файла JSON в скрипт JS.
Так они это и сделали, вот только эти файлы ты можешь исключительно через апишечки типа фетча/файлсистема поглощать.
Такая функция есть, она называется fetch. А айкью тут у тебя, как у хлебушка.
Чел пчелиба, многие фичи не добавляются в жс из соображений безопасности. И примерно 100% всех остальных фич не добавляются туда потому, что тогда просто у тебя будет ровно нулевая поддержка браузеров, а это ровно то, что нужно любому сайту в первую очередь
для ждуна пойдет
>Редукс ты хотел сказать.
в 90% случаев да. Но есть также mobx и совсем редко rxjs.
>Талмудическая хуитка уровня настоящего ООП
Всмысле лол? Хуитка это RESTfull , а REST API это база блять, это знать надо нахуй. Что такое блять заголовок, что такое тело, как сервак это обрабатывает. Какие статусы ответа бывает и все такое.
>Конкретно в контексте джаваскрипта - очередная талмудика.
Лол кек, сейчас 50% от всех вакансий и 80% от нормальных компаний требуют юнит-тестирование. Это кабаны в веб стиудиях ниихуя не тестируют.
>Не используется за пределами петов, как и всякие монги. Для вкатывания сорта sql и то лучше подойдут.
Ясно.
>Пиздец ты ебанутый, за твой сервер на фейкере тебя обоссут на собесе.
Ясно.
>Ну-ка давай рассказывай, как попал на свою первую работу, а то сдаётся мне ты пиздишь как дышишь со своими охуенными советами.
Я катился еще верстаком 3 года назад, пока это еще можно было сделать. Сейчас вакансий верстаков нет. Сразу фронты.
https://recharts.org
Пилил такую для реакт проектов, в целом норм. В принципе неплохо кастомизируется, есть самые популярные графики. Доки тоже норм.
Пиздуй на завод гречневый. Там тебе и портретик с пыней будет на стеночке висть и леваки с фемками угрожать не будут.
Самое забавное, что может. Мне один пхпшник на работе доказывал что может. Я говорю ты хуле мне пиздишь, надо типо сервак поднимать хуе мое, а потом попробовал и блять реально. Попробуй сам положи json в папочку со скриптом и попробуй его дернуть через ajax или fetch. Я ахнул когда увидел что лезет из скрипта. Почувствовал себя чмонькой и извинился перед пхпшником.
Так премии же ж, половина зарплаты серая считай.
>ajax
>Access to XMLHttpRequest at 'file:///test.json' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, chrome-untrusted, https.
>fetch
>Fetch API cannot load file:///test.json. URL scheme must be "http" or "https" for CORS request
Я кстати мидлую на фронте.
А локалхост теперь не сервер?
>Хуитка это RESTfull , а REST API это база блять
RESTful (он не полный, а рестовый) и есть REST API.
>Что такое блять заголовок, что такое тело, как сервак это обрабатывает. Какие статусы ответа бывает и все такое.
Причём здесь REST? Ты сейчас описал HTTP.
>Лол кек, сейчас 50% от всех вакансий и 80% от нормальных компаний требуют юнит-тестирование.
Написано в тексте вакансии === практикуют? Это никак не расходится с талмудическим аргументом. Даже в супер-продуктовой фирме нужно выкатывать фичи да побыстрей.
>Я катился еще верстаком 3 года назад, пока это еще можно было сделать.
Тогда можешь сразу нахуй пройти со своими советами, так как они нерелевантны в нынешней ситуации.
>>1991234
А вот и типичный фронтопедик, готовый целовать пятки неграм, зато не Пыня!
>Написано в тексте вакансии === практикуют?
на моей практике полное покрытие тестами я не видел ни разу
Хуй знает, я работал на трех как минимум среднего размера проектах и везде было обязательное покрытие тестами на 70-80%. Да и на самом деле это довольно полезная тема, особенно по мере того как проект разрастается.
Как сделать так чтобы при загрузке некой страницы с бэка подгружались лишь некоторые записи (после 10 скажем) а не все разом, потом что грузить сразу все - долго. И соответственно чтобы новые записи прогружались автоматически как только я долистываю до низа страницы? В распоряжении есть и фронт и бэк
навелосипедить и на фронте можно, типа часть повесить на загрузку defer/asynk сразу, а остальное проверять readyState например, извратится всегда можно.
У Кантора во всех примерах с async/await await стоит не только перед ассинхронными функциями, но и перед обычными методами.
Если убрать этот await, работает точно также.
https://jsfiddle.net/3wv9gfur/
ЧЯДНТ?
>перед обычными методами
Но response.json() это не обычный метод и он возвращает промис, как и fetch
>Если убрать этот await, работает точно также.
он будет работать, но не асинхронно и будет подвисать
Насколько это сложно?
Есть два дочерних компонента-вкладки.
Надо сделать окошко для вывода логов, доступное для обоих дочерних компонентов.
Отдельный таб лепить не хотелось бы.
Смотрите мэд-скиллз.
Пикрелейтед кусок смотрелся ок на одном мониторе, но на другом выходит ерунда, при этом размер окна там и там одинаковый (в пикселах), и ни один монитор при этом не ретина.
>Подскажите, плез, можно ли сделать в Vue плавающее окно без сторонних плагинов?
position: fixed
Необходимо выполнить имеющиеся операции с числами соответственно должному порядку, т.е сперва деление, умножение сложение и вычитание.
Я написал функцию выполнения операции над двумя числами и возвратом одного числа. Стал проходить циклом по массиву, где в случае обнаружения мат. операции, передаю саму операцию и два соседних числа в функцию, после чего получая одно число. Это число я хотел поместить в массив посредством следующего выражения:
arr = [
...arr.slice(0, arr[i - 1]),
item,
...arr.slice(arr[i + 1])
]
i -= 2
Однако тут возникли проблемы, браузер зависает. Видимо, проблема с самой операцией или циклом.
Так как выполнить сию задачу?
На ум пока пришёл такой способ:
Создать ещё один массив, куда добавлять получившиеся значения после деления и остальное как есть. Потом пройтись по нему, выполняя уже умножения и т.д, пока каждая операция по очереди не будет выполнена. Однако сей способ кажется слишком громоздким и неправильным, очевидно, что есть что-то проще.
Зато как функци анальщики любят.
Блять ну чет сложно дается. Я понял что есть стор, есть редусеры которые обрабатывают экшены и записывают стейт в стор. Есть генераторы экшенов.
Посмотрел еще несколько часовых видосов где создаются редаксы эти шмаксы, в итоге простенкьй стор для счетчика с инркриментом и декриментом соберу подглядывая в их код, а чето сложнее вообще не ебу как делать, например какой нить онлайн магазин с товарами описать. Пиздец сук бесит нахуй, знаю что со временем все станет понятно. Но незнаю че щас делать читаю и перечитываю доку и нихуя непонятно че дальше
Нужен какой то гайд типо собираем приложуху с редаксом, где каждый пук и каждый ход объясняется по ходу написания кода
Типо вот как счетчик в официальной доке
Досматривать однозначно буду, но... Блять, короче. Я узнал как работают указатели в С++, я узнал, как надо выделять память под массив в СИ, я узнал, что, никаких массивов в СИ нет. Я узнал как в памяти хранятся переменные разного типа. Я узнал, что этот чел не одинокий молодящийся гей, а православный верующий с женой, четырьмя детьми и домашним курятником. Я узнал в общих чертах как там под капотом все работает. Я узнал максимально в общих чертах про несколько алгоритмов, но в реальности эти алгоритмы несколько сложнее и посмотреть лекции Хирьянова != изучить алгоритмы, все равно придется еще где-нибудь что-нибудь читать. Но типо, лекции дают неплохую такую базу и самому потом разобраться будет куда проще, мне по крайней мере.
>например какой нить онлайн магазин с товарами описать
Никак, просто хуячишь все сайд-эффекты в брёвнах и хуеву тучу экшенов к ним.
ирл алгоритмы с жсе это рекурсивны обход дома и иногда че то там поискать, остальное перделки рисовать и запросы отправлять.
>рекурсивны обход дома
Нахуя? Неужели нужно сидеть и вручную весь дом обходить? Наверняка в фреймворках это как-то реализовано так, что либо в этом совсем нет нужды, либо это делается одной функцией.
>и иногда че то там поискать
Например? В массиве из 10000 хуй знает чего найти 1 хуй знает что? Но это же по-мудацки написанный код, если на фронте такая задача встает, не?
>либо это делается одной функцией.
рекурсивный тоже одной делается
>Например?
>по-мудацки написанный код
и такие тоже бывают
Если написал простой стор, что мешает перейти к стору с туду? уже на нём можно реализовать CRUD, а это покроет большинство вариантов. хотя payload и action могут быть ну очень извращённые.
Спасибо анончик, туда в самый раз не супер сложно, но поинтереснее счетчика, пошел пробовать
AST делой и высчитывой
...ёбаный ты ублюдок, иди обратно в палату и почитай про то как писать калькуляторы!
или просто блядь испоьзуй eval
кодировка где то наебнулась
JS - самый удобный язык для кодирования чего угодно, в т.ч. йоба-алгоритмов. Во-первых, тут есть и ФП и ООП прямо из коробки, во-вторых, не надо ебаться с типизацией, в-третьих, есть батарейки типа Map, Set и даже Array, который умеет всё. Возможно будут проблемы с производительностью или параллелизмом, но в остальном всё максимально сделано для того, чтобы писать код с удовольствием.
eval(["1", "+", "3", "*", "4"].join(""))
>JS - самый удобный язык для кодирования чего угодно
голый нет
>ФП и ООП прямо из коробки
оно щас везде есть
>оно щас везде есть
Не, даже если в куда-то там завезли лямбды, то они будут пиздец какие убогие по сравнению с божественными стрелочными функциями.
>голый нет
Именно что голый. В других ЯП нужны всякие библиотеки и фреймворкки, чтобы хоть что-то начать пилить. Где-то даже надо подключать кучу всякой хуеты, чтобы тупо создать структуру вне стэка или сложить две utf-8 строки. Но только не в JS.
А чего там тяжело? К докумету обращаться надо что бы найти элемент на нем, либо создать, это две-три команды. В чем у тебя сложности?
Ну там стены текста как всю эту ебань искать, моск чому-то отказывается это воспринимать.
>с божественными стрелочными функциями.
это просто анонимная функция, она также под капотом получает свой идентификатор, в жсе нет разницы между замыканиями и просто функциями, они все замыкания это не всегда хорошо.
>В других ЯП нужны всякие библиотеки и фреймворкки
они и в жсе нужны
>чтобы хоть что-то начать пилить
условно выучив жабакор или неткор в общем то че нить написать тоже можно, на ванильной жске щас ток стремное легаси, а так добро пожаловать в рякт, ангялр и тд.
>>1992171
а че там стена то, пробежал по куску дома командой и применил, вот со всякими запросами поебешься.
Прочитай ydkj 6 книг, лишним не будет, оспринимать код будет проще
Мальчик, найди работу, посиди хотя б полгода на продакшене и потом уже сюда приходи "мудростями" своими делиться. Пока ты лишь несешь полнейшую хуету
Все по Данинг-Крюгеру
Квадрипл хуйню не скажет
Яндекс любит. Если вы не шарите в алгоритмах вас в яндекс не возьмут, они там на них помешаны, даже тётя клава-уборщица в яндексе знает пару алгоритмов.
причем на практике они могут пригодится раз в год и то не каждый.
Подозреваю что так защищаются от набегов вкатунов с курсов.
ПРОСИШЬ ВКАТУНА В РЕЖИМЕ ЛАЙВКОДИНГА РЕКУРСИВНО ОБОЙТИ ДЕРЕВО
@
СМОТРИШЬ НА ЕГО ЖИДЕНЬКИЙ ПУК И УДОВЛЕТВОРЕННО ХРЮКАЕШЬ, ОТКАЗЫВАЯ
@
ПОТОМ НЕ МОЖЕШЬ ГОДАМИ ЗАКРЫТЬ ВАКАНСИЮ, ВЕДЬ КРОМЕ ВОНЮЧИХ ВКАТУНОВ НА 120 ТЫСЯЧ В МЕСЯЦ НИКТО НЕ ХОЧЕТ ИДТИ
>ПРОСИШЬ ВКАТУНА В РЕЖИМЕ ЛАЙВКОДИНГА РЕКУРСИВНО ОБОЙТИ ДЕРЕВО
@
ВКАТУН ВЫХОДИТ ВО ДВОР И НАЧИНАЕТ НАВОРАЧИВАТЬ КРУГИ ВОКРУГ БЕРЕЗЫ
рекурсивные круги прошу заметить
Что изучать сложнее: сам джаваскрипт или его фреймворки?
Не зашкварно если там есть все что тебе нужно, если твой проект требует каких то свистелок то он уже не подойдет, надо буде в ручную настраивать вебаки и лодеры и свистелки
Ну я уже давно начал. JS вроде выучил неплохо,наделал всяких пет-говно-проектов, за фреймворки пока только собираюсь браться, но судя по тому, что я о них узнаю - это какая-то тоска уже хотя бы потому, что они не упрощают разработку (как например бэкенд фреймворки).
Ничего сложного нет в изучения js и его фреймворков, когда научишься всему - поймешь что все это хуйня ебаная, и легкая для понимания вещь, охуеть как ты раньше все это не понимал.
Сложно только одно - управлять своей волей, не отступать от пути учения, мозг тебя обманывает, не слушай его.
Извините, вы нам не подходите.
Надо спрашивать:
>Что изучать интереснее: сам джаваскрипт или его фреймворки?
Поздравляю вы приняты html-программистом на оклад 15т.р до вычета НДФЛ. Пройдет в отдел кадров к Тамаре Сергеевне, она вас оформит. Потом быстренько в офис 310 и начинайте веслать, мы вав зря деньги что ли платим?
Вообще-то я senior html developer и претендую на зарплату в 20 т.р до вычета НДФЛ. Свои копейки оставьте себе.
>интереснее
никогда не понимал это лицемерного интереса, я просто блядь делаю свою работу, как и ты хрюша ебаная, тебе сильно интересно скролить по сотне резюмех в день.
а директории правильно написаны? их браузер воспринимает а не сервер, может не отправляются.
Программирование - это не просто работа. Если тебе не нравится, то ты выгоришь.
это просто работа, уж лет 6 работаю, иди ньюфаням рассказывай про горящие глаза и прочую хуйню инфоцыган.
Песочница: https://codepen.io/pen/XWpVVvb
Два вопроса:
1) Как правильно избавиться от больших зазоров в футере?
Похоже, там два дива: col и v.input, которые дают дополнительные отступы, но не уверен.
2) Как в компонент v-textarea запихнуть текст разных цветов?
Есть пропс-массив, который в себе содержит строки.
По уникальной для каждой строки литере (A, B, C, D) надо вывести в v-textarea строку с соотвествующим цветом: например, при литере A строка будет красной, а при литере C - зелёной.
П.С. Предыдущие строки должны сохраняться при добавлении новой.
Я 20 лет работаю, у меня до сих пор глаза горят. Ты можешь продолжать дальше верить в то, что это просто крест, такой же как у всех, силиться и нести, в то время как все остальные вокруг выбирают дело по душе, и живут в свое удовольствие.
так ты нерелевантен уже, вкат максимум в 12 лет, тимлид к 16ти, в 20 уже завернутся в простыню и ползти на кладбище
в мвп тред быдло, докатились блядь
Тебе нужно передать колбэк с дополнительным контекстом, который по дефолту в этом колбэке не предусмотрен, твои действия?
вот например тебе нужно в зависимости от ввода юзера вызвать конструктор какого то блока с этим сообщением и еще чем нибудь.
На все твои вопросы есть инфа в документации. Первый вообще прекрасно видно в инспекторе. Зачем ты дрочишь vuetify, если азов не знаешь?
Ты прекрасно понял, о чём я, можешь не душнить?
мммм функциональное говно
тимлидом возьмут
Ну раз пишешь что опыт ноды есть, то подавай.
Будучи студентом обучающимся онлайн через сайт хочу с помощью уязвимости Cross-domain script include и Base64-encoded data in parameter хочу повысить уровень доступа и получить доступ к закрытому текту экзамена заранее. Какие подводные?
С первым пунктом справился.
Бамп по п.2. Я правильно понимаю, что с v-textarea не получится сделать так, как я хотел бы?
Нахуй тебе тогда нода? Пили нескучные серверы на свежем фреймворке пыхи, даром что опыт есть.
Количество колонок и рядов должно быть гибким и изменяемым.
ЖС развивается в 100500 раз активней любого другого языка, в нем есть тайпскрипт, мне нравятся воркертреды, простая асинхронщина изкоробки, изичное создание весокет сервера и куча других современных приблуд. В жс башляют кучу денег топовые компании, по сути это единственный язык как таковой, который стоит знать.
Мне не хочется тратить свое время и силы, на что-то, что не является топовым.
В общем вопрос не в выборе, а в том, скок денех я могу требовать у работодателя
>системщину на нем писать нельзя
Мне это не интересно, мы о другой сфере, которая сейчас самая топовая в среде программирования, а именно - веб. Да и кстати, чето там писать можно, есть отдельные реализации ноды, но я особо не интересовался. Жаба и сишарп, это скорее так сложилось исторически, сейчас многие джависты если не уходят в ЖС и тайпскрипт, то вынужденно преклоняются и подумывают.
Перечитай, то о чем я писал изначально. Мне интересно вкладывать свои силы и время, в что-то топовое, а жс является топом и одна из причин этому - топовые компании, которые вливают деньги. Я не говорил о том, что мне что-то перепадет от этих вливаний, но мне интересно работать с современным продуктом, который обладает современными решениями и во многом задает тренд.
document.querySelector("#search_form_input").onkeydown=((e) => {console.log(e.which); return;})
$(document).keydown((e) => {console.log(e.which); return;})
И то, и то просто не печатает кейкод для капса.
document.querySelector("#search_form_input").setAttribute("autofocus", "")
Тоже ничего не меняет.
У гугла, кстати, форма фокус не теряет.
Браузер Firefox 87, если что.
Ну я не виноват, что пришлось повторить это несколько раз, чтоб ты понял
>типа написать конструктор который будет рисовать таблицы на экране?
Вот такую хуитку надо сделать. У нее (интервьируемой) там ебейший код, но в гугле одобрили. Мне интересно, может ли анон сделать более читаемый. Если интересно могу ее скинуть.
Хуй тебе. Нода существует для переката джава/сисярп-бояр, а не пхп-обезьян. Пили свои говносайты на джумлах и не суй пятак к элите.
пиздец.
процедурщина лютая
она пытается построить матрицу а потом ее отрисовать что ли
Чел, ты... Посмотри внимательно условие.
Топовость в контексте жса - явление временное, тем более на ноде. Тот же нест использует декораторы, которые даже не часть языка, так что на нём без транспилятора никак.
А еще говорят индусы код растягивают
это настолько необходимый минимум как перед едой руки помыть
Диверсити идёт по такой шкале:
- Женщины
- Евреи/хазары
- Негры/чурки
- Геи/пидоры
Можешь считать это как специфичность в CSS, только в отличие инлайна женщины могут наращивать специфичность пониже.
Транс нига это 0.0.1.1, что ниже дефолтного женского 1.0.0.0
Роберта Каплан - 1.1.0.1, почти бинго.
Джеймс Прицкер - 0.1.0.1
Дэн Абрамов - 0.1.0.0
Рич Харрис - 0.0.0.1 (так как англичанин, то подразумевается что он как минимум гей)
Эван Ю - 0.0.0.0 (собственно именно поэтому он пилит свой нескучный фреймворк, вместо того, чтобы работать в фааге)
Линдси Грэхам - 0.0.0.1
Иосиф Джугашвили - 0.0.1.1
Обама - 0.0.1.1
Путин - 0.1.0.1
Навальный - 0.0.0.0
Трансухи считаются в категории пидоров, независимо от состояния гениталий, соответственно у MtF дефолт 0.0.0.1, когда как у FtM - 1.0.0.1.
С азиатами непонятки, но они по шкале ПОДАВИТЕЛЕЙ идут сразу после немцев, так что в основном только азиатские женщины проходят.
Правильно получается что
Редакс для больших приложений, в которых мы изменяемые компоненты пишем на классах
Хуки мы используем в маленкьих приложениях для функциональных выражений
Редакс и хуки не совместимы как я понял, ведь хуки не работают с классами, а редакс работает только с классами. Прально да?
Им бы пошло в порно сниматься, такие смазливые личики на большие нигерские бибы посадить - с руками оторвали бы, и получали бы ори в 10 раз больше чем програмисты анальники. Не туда тянки повернули
Так евреи не могут быть фашистами. Плюс он не из Львова, так что даже на хазара не тянет.
Порнопараша переоценена. Там даже в случае успеха работать только несколько лет. Дальше выкинут на помойку, так как на очереди новые молодые писюхи. В ойти же можно легко вкатиться через пуссипас, потом дорасти до какой-нибудь чаехлебской должности, поднимать бабос до старости.
Bump.
иногда вместо редукса можно просто использовать хуки и все
зачем тебе вообще редукс
>>1984611 (OP)
есть какая-то библиотека типа материала с такими пазами для кнопок
А када нада редукс а када хуки юзать?
Typescript -> Node -> React/Vue. Норм чи не норм? Что изменить/добавить?
Потому что нахуя тебе нода блять до реактов? Бэкенд это сложнее чем запросики отправлять. Ты зароешься туда и хуй пойми когда вылезешь, а потом пойдешь работать фронтом и один хуй забудешь как эта нода работает.
тру стори
Евреи отрицают холокост?
https://htmllab.ru/zadachi-po-javascript-object/
Это копия, сохраненная 27 мая 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.