Это копия, сохраненная 27 сентября 2022 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Больше пары строк кода в посте или на скриншоте ведут в ад.
Для программирования на HTML https://codesandbox.io
Для Node.js с консолькой https://repl.it/languages/nodejs
Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если/когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
Скорее истоки.
- CRA
- Tailwind
- первый ярн
- нет локфайла
Какие ещё признаки? Основным условием является определить говённость до запуска кода.
Любой устаревший на пару лет стэк уже пованивает
слышь давай выйдем
репорт доведение до суицида
Репорт малолетней мелкобуквы.
- Сливание всего кода одним коммитом или парой с ничего не говорящим описанием.
Должен знать кафку чтоб от зубов отскакивала и мог почистить железо в серверной.
От обоснуя слышу.
что не так? jquery - ынтырпрайз, всё остальное - мимолётная хипстерская дрисня.
Под не покрыт ты понимаешь какой-то процент покрытия или вообще отсутствие тестов?
Вообще отсутствие.
CODE_OF_CONDUCT.md
Есть такой Vue экземпляр для формы
el: '#form',
data: {
form: {
name: null,
phone: null,
...
}
}
Вопрос: это вообще нормально, что, когда я печатаю в поле <input type=text v-model=form.name />, то происходит перерендер всего содержимого элемента #form? К слову, в этом элементе есть мои компоненты, например <char-left maxlength=20 value=form.name>, которые показывает, какое количество символов ещё можно ввести, и я знаю, что компоненты перерендеряться только в том случае, если переданные параметры изменятся, так что тут ок.
Но вот например сами input поля - не в качестве компонентов, а обычные html элементы внутри #form.
a = b ? b : 0
Если к переменной b длинный путь, то выглядит громоздко, из-за того что приходится писать путь дважды. Это можно написать как-то поизящней?
Уже разобрался. Еще раз спасибо.
Такого в исходном запросе не было. Спрашивали за простоту освоения
все актуальные языки похожи во многом, поэтому разницы нет особо, учи сразу под цели. если фронтенд, то жс, если бек, то можно ещё подумать
Когда стану уверенным джуном или даже мидлом, это должно пройти?
А чего с ярном первым не то?
Разрешает зависимости получше ебаной ноды, постпердолинга меньше.
А второй с plug-n-play увольте -- кал, блядь.
Просто весь интернет был написан еще в нулевые, и написан на пхп + жеквери. Все, что делают последние лет десять - это какие-то немногочисленные крупные проекты и мелкие говносайты/говностартапы, которые быстро помирают.
Какие ещё тесты, кроме юнит-тестов функций/классов?
Тесты компонентов? Да идите в хуй, нихуя они не отражают и не упрощают. Тестировать всё равно нужно руками. Автоматизация здесь недостижима.
Просто тут конструктор - анонимная функция. В принципе тот же код:
let user = new (function User () { ... })
Я ни разу не видел, чтобы такой код писали, ну видимо сейчас мне тут пояснят олды зачем оно надо. Это анонимная функция конструктор, которая объявляется и сразу с неё делается инстанс. Почему бы не написать let user = {name: Vasya, isAdmin: false}
>Почему конструктор с маленькой буквы?
Спрашивай у автора статьи, мы блять откуда знаем? Капитализация - всего-лишь договор между погромистами, ничто тебе не мешает объявлять классы и их методы одной маленькой буквой.
>Разрешает зависимости получше ебаной ноды, постпердолинга меньше.
Свечку держал? У npm если что уже восемь версий вышло и три версии локфайла.
А у ярна вечно какие-то проблемы, то в докере не может пакеты поставить, то на винде, разобраться с типами пакетов тоже не может. При обсёре ярна конечно же виноват пакет.
>А второй с plug-n-play увольте -- кал, блядь.
Вот именно поэтому первый ярн - хороший детектор говнорепы.
>Это вызов функции
Да.
>Или объявление функции?
Да. И то и другое. Это объявление с вызовом.
>Почему конструктор с маленькой буквы?
Потому что анонимная функция.
Нет, муравей в улье всегда должен быть в полунервном состоянии, чтобы РАБоталось хорошо. А то если сильно расслабится, то начнёт задаваться неудобными вопросами типа "а нахуй вообще улей нужен и тем более бесконечно РАБотать на него?".
Ты или станешь типичным офисным РАБотником, или полным социопатом. Такой вот Вавиловский отбор.
Терпи, дух, дедом будешь
Причём здесь нода? Мы про нпм если что.
Доеб до каждой ошибки типа тут ты назвал переменную не "картинкаДляДиваНомерПять", а "картинкаДляДиваПять". Понятно,что код должен быть чистым и понятным, но часто до абсурда доходит. И с этиим можно было еще смириться, если бы не доебы в стиле - ты не исправил ошибку, еб твоб мать, пиздец, как можно было час над ней сидеть. Я пишу - исправил и полчаса назад сказал об этом. В ответ - а, ок
То есть Тимлилд сам бывает невнимателен, но по привычке уже бычит на меня, даже если я не косячу или давно исправил косяк.
А в ответ быкануть - не вижу плюсов в дальнейшем, только если свое чсв поднять. Негатив нарастет и меня могут выпнуть, а я еще плохой джун, чтобы так легко отказываться от первой работы.
Недавно мой коллега быканул, через неделю его попросили написать под собственному. Да, он был нубом, но он был таким же нубом как и я и единственное отличие - он бычил в ответ, а я не бычил.
ты не первый раз пишешь по этому поводу? я бы уволился с этой хуйни с таким отношением, ну если тебе норм то ок. просто со стороны как-то аж злость берёт хуйли он там выёбывается
Ну тут очевидно токсичная атмосфера в коллективе, нужно искать новое место однозначно.
Да не первый. Я прост устраивался, чтобы заиметь хороший скил и быть уверенным, что могу делать крутые вещи для крутых компаний, но лили хотя бы среднеи вещи за нормальную оплату. А пока я лишь сделал 2 АРМки на Вью и бутстрапе. Такой период, когда вроде начинаешь думать, что уже на что-то способен, но устраиваться на новую работу еще ссыкотно, потому что скилла мало
>>385088
Кстати как щас с удаленкой дело обстоит, легко ли не переезжая из своего мухосранска устроиться на работку фронтендеромс нормальной оплатой?
>Негатив нарастет и меня могут выпнуть, а я еще плохой джун, чтобы так легко отказываться от первой работы.
Терпи значит. Ещё годик-два и будешь наносеком.
JetBrains Mono охуенен.
Я сначала люто бомбанул когда они мне его насильно включили. А потом мне зашло даже больше чем всё что раньше использовад.
Насколько бэк на ноде сложен после фронтенда? Сколько времени уйдет на изучение после рякта?
попробуй warn исправить
Ты устраивался, чтобы заиметь хороший скилл, чтобы его продать подороже. А РАБотодатель взял вкатуна с улицы за низкий прайс. Чуешь конфликт интересов?
Как мне указать тип value: string или number в arr.map((value) => {return ...}) чтобы компилятор не выебывался?
так а я о чём, без тайпскрипта была бы ошибка в коде, которую тяжело искать
jQuery и Angular написаны на чистом JS. От них код не станет грязнее
Хаха, вру. Ангуляры на тупескрипте сделоны
Анон, сори, но я утрировал пиздец и случайно тебя наебал. Там не стринг и намбер, там сложные кастомные типы, вроде: Hui и Pizda, если их проверять через typeof, то там просто выдает object, это не то. Этот способ не подходит.
А, все не надо, я долбоеб блять одноклеточный, на ровном месте проблему нашел. Там вообще проблемы нет, просто функция хуево написана.
>Там не стринг и намбер, там сложные кастомные типы, вроде: Hui и Pizda, если их проверять через typeof
if (value instanceof Hui) {
return ...
}
Если там даже не классы, то тут только тайпграды писать типа:
function isHui(value: unknown): value is Hui {
...
}
https://marketplace.visualstudio.com/items?itemName=BeardedBear.beardedtheme (конкретно у меня Bearded Theme Coffee Reversed)
А шрифт Cartograph CF.
Мне надо будет написать сайт с админкой, с крутыми анимациями на реакте, что лучше для движка лучше выбрать, headless wordpress, или обычный ReactPress ?
Я не очень понимаю значимость этого хедлесса, так как не разбираюсь в бекенде.
Вообще привлекает меня некст джс, наслышан что крутой фреймворк, поэтому сомнения возникли насчет ReactPress.
Объясните, в чем конкретное преимущество хедлесс вордпресс. Преимущество в том, что вместо реакта можно будет использовать другой фреймворк? Но если я хочу именно с реактом работать, то мне тогда хедлесс и не нужен?
Спасибо
Хедлесс это значит что фронт для CMS будешь пилить сам хоть на условном некстжс.Вместо коснтурктора, предоставленного CMS.
Совсем для вкатуна - нет. Гибридный фреймворк, а значит постоянная ёбля между серверным и клиентским контекстом. Получше конечно, чем на каком-нибудь очередном маняшаблонизаторе, но не без ёбли.
Понял, я как раз вкатун, азы реакта только знаю, пожалуй тогда потом потренируюсь, воспользуюсь реактпрессом.
Спасибо.
Я вкатываюсь на реакте, мне кажется перспективный фреймворк. Однако если тебе побыстрее устроиться надо на работу, то наверное вью лучше рассмотреть. По словам людей, там попроще и платят также
Сосак, ку. Как сделать, чтобы при нажатии на кнопку проигрывался звук и при её отпускании тоже?
Должно работать, а гадать неохота.
Кто тебе такое сказал?
Я патриот, хочу патриотичную клавиатуру сделать. Напишите (только быром) скрипт чтобы буквы З и В переводились в латинские Z и V. Типа пишу Здарова, а он автоматически переводил в ZдароVа.
Бегом блядь очкарики ебаные.
> Э, не базарь куда идти, леща дам.
Дал тебе леща за щеку, проверяй.
>Мне чтобы в браузере понял да. Скачал там скрипт и все.
Браузер (даже Спутник) прекрасно может загружать крестовый код с помощью Web Assembly, так что можешь уже пиздовать.
> патриотичную клавиатуру
Разве она не наоборот должна делать - переводить латинские Z, V и прочие буквы из недружественных стран в наши родные исконно-русские?
>пиздец додики безмозглые не слышали про пунто свитчер
Дебилоид, ему скрипт нужен для браузера, а не говноприложение, которое даже на астралинуксе не будет работать.
ебучку сломать те
>Браузер (даже Спутник) прекрасно может загружать крестовый код с помощью Web Assembly, так что можешь уже пиздовать.
Очень хотел выебнуться, но все равно спизданул хуйню.
Хоть со Спутника написал свой говнопост?
>ты только что сейчас насрал сам себе на свое пиздорылое еблище. просто знай это.
Что сказатоь-то хотел, мелкобуква?
Поясните, как вы боретесь с кол-вом информации и фильтруете источники знаний.
У меня по кд открыты всякие курсы, видео-обучения, роадмапы и я каждый раз чувствую что мне чего-то нехватает в плане знаний.
Как будто источников слишком дохуя и невозможно выбрать единственно верный. Тут предлагают ментора, тут сразу углубление в верстку, тут жабаскрипт с нуля.
Как разобраться что читать и в каком объеме?
Или это все синдром самозванца? Дайте пару советов вкатуну как перестать думать и начать жить.
читай доки, потом уже шлифуй знания
Выкинь все, кроме роадмапа, придумай проект (если не можешь придумать клонируй какой-нибудь существующий) и делай. Остальное будешь изучать походу.
> Jquery
Пидор чтоле? Пацанчик на ютубе сказал, что это говно устаревшее для даунов и на вакансии с этим говно лучше не откликаться.
Ничего другого больше нет, дурачина. Пхп, жеквери и битрикс вот все что теперь осталось для вкатышей.
>Есть ли какое-то событие, которое вызывается только при первом появлении элемента?
connectedCallback/mutationObserver
Нет, хуета без задач.
КАК установить ебучий плагин ЕСлинт в ВСкодере на винде?!
Хули какие-то костыли блядь, плагин скачал активировал, а его ещё надо через какой-то левый установщик устанавливать. Ну что за долбоёбы это высрали вообще.
А его там нахуй и нет. Описание надо читать
Не заставляют конечно, но предлагается..
алсо, не пойму он уже установился или ещё нет.
Какой-то странный установщик
а все потому что ты сосешь индусский хуй
начинать надо с переезда с уебищной недопрошивки для некоторых новых игр на Операционную Систему ( читай арчик )
еще и на русском языке, фу блядь фу нахуй
свой первый мобильник я перевел на английский в 6 классе
баран ебаный, это всего лишь язык системы, в своём посте ты ссылался на пост где ничего этого не было.
Я в охуе конечн, это ж какой ёбнутой собакой надо быть, что б доебаться до языка системы там где он вообще не при чем.
>А ВОТ Я С 6 КЛАССА МОБИЛЬНИК В АНГЛЮСИКЕ ДЕРЖУ
фу блядь ну и крынж, хрррк тфу в ебало зумеру
жри говно лоу айкю чмоня - у тебя нет будущего окромя битрикса с вордпресом.
>ТВАЁ БУДУЩИЕ НЕ БУДУЩИЕ ЯСКОЗАЛ!!
Тут уже какие-то проекции пошли от опущенной всем тредом чмони.
Пиши по делу или не скули как сука. Люди сюда за советами приходят, а ты плачешь токсишь как опущенной жизнью ребёнок.
> додик так затрясся что даже ответить нормально не смог
да не трясись ты
> Люди сюда за советами приходят
ну так я тебе и посоветовал свичнуться нахуй с этого индусского высера, потому что чем дальше, тем больше гемора и вообще
но ты обиженное говно, порвался и не смог воспринять информацию - это говорит о многом, я вижу тебя насквозь, качество твоего биоматериала - крайне низкое...
>меня не обоссали и вот простыня почему это не так
Каргопидар подражающий за барином, спок
Не понимаю почему пыха и питон кривятся, а например джава и го - нет. В целом норм.
открыл для себя линукс три года назад, всё время до этого глотал индусскую сперму
@
свысока смотришь на пользователей виндовс и называешь их "индусскими хуеглотами"
@
ненуачо, тыж теперь труъ линуксоид, а не какой-то там вендовоз
шнобель представили?
Читать документацию на сайте.
Ребятушки, есть вопрос.
Проекты на нативе/жикверы обречены по умолчанию со временем стать кашей из кода?
А при правильных руках, еще и полурабочем говнов, при малейшей правке ломающей логику?
Мимо ангулярогосподин, иногда сижу на нативном проекте.
Как же заебал этот натив.
Если руки прямые можно и на ванилле писать красиво
Согласен. Правда хз сколько пхп после жс учить по времени. Это все-таки бэкенд...
Ну кто так github пишет, заебала эта ошибка уже. Как фиксить?
Скажите индусам чтобы пряморуких набирали.
Cпасиб, но я на момент написания последнего поста и так справился. Жаль время много угробил на ерунду.
Обречены. Даже если всё будешь делать по-феншую, придется писать ручками намного больше бойлерплейта, чем при использовании современных фреймворков. Ну либо ты захочешь сократить бойлерплейт и высрешь собственный adhoc недофреймворк
есть но там какие-то токсики сидят
@js_ru для жабоскрипта
@react_js для конкретно рякта, туда лучше со сложными задачами соваться, обычно вопросы по жс и нубские вопросы по рякту игнорят или отправляют в другие чаты
или там нужно общий конфиг сделать? но это сильно запутает всё
Зависит от сервера и клиента.
> т.е. в каждом по конфигу и по вебпаку
А ты как хотел? Или думаешь вебпак тебе волшебным образом и под браузерную среду и под сервер одним проходом соберёт?
Да я только читаю доку вебпака. Забавно кстати, я немного её читал ещё когда жс толком не знал, это было тяжко
Если не знаешь, как реализовывать Drag'n'Drop - пиздец как сложно, иначе тривиально.
А разве не Kotlin?
React Native например
На любой вопрос вида "стоит ли использовать в проекте фичу Х вебпака" ответ "нет".
У вебпака дохуища фич и опций и общее правило заключается в том, что при включении они увеличивают длительность компиляции/билда. Плюс если конфиг слишком сильно каштомизируешь, то миграция на новые версии превращается в боль.
Поэтому такие вопросы надо задавать как "что я хочу от вебпака и как мне нужно пропердолить конфиг для этого?".
>должен включаться див 1 2 3 4 соответственно.
В смысле?
>Но кнопки лежат в каждом из дивов.
И что?
Не понятно вообще что тебе надо
Кто не понял, тот поймёт.
>Если не знаешь, как реализовывать Drag'n'Drop
Это просто. Сам бегунок можно сделать в любых вариациях. Но как обстоит дело с кодом, который бы выводил численное значение при изменении бегунка. Это слишком большой геморрой? В т.ч без использования браузерных полей с диапазоном.
наверно простая формула типа val = range.min + (range.max-range.min) * (begunok.x / range.width)
>Но как обстоит дело с кодом, который бы выводил численное значение при изменении бегунка.
Это как раз тривиальная часть.
Interface IRangeInput {
min?: number
max?: number
current?: number
}
function onCurrentChange(current?: number): number {}
Самый гемор - реализовывать это всё во вьюхе с драг'н'дропом.
Это табы, просто они без надписи и сами переключатели круглые.
У меня есть файл с константами(цвета и миксины). На каждый компонент есть отдельный модульный файл с стилями, где импортирую этот файл с константами через детективу @import.
Я не понимаю почему в итоговом style.css такое дерьмо.
До сих пор не догоняю. Ну вот я изменил @import на @use. Энивей проблема осталась. В инспекторе стиль дублируется два раза.
Теперь читай референс юза.
В HTML/CSS опыта нет, планирую заняться ими после js, или это не очень хорошая идея?
Так вот, как мне лучше все это учить? посоветуйте какие-нибудь видеоуроки
Source map для CSS установи, что показывало в интсрументе разработчика с какого модуля стили.
MutationObserver
а как выглядит код таких комментов, вот на твиче там всё плавно, читать удобно. а на васде на каждый тик + 10коментов и твой уже где-то наверху. ну как так по уебански можно было сделать. я уж не говорю про театр мод на фул экран, С ПОЛОСКАМИ БЛЯТЬ! они даже не знаю чё такое театр мод
Есть задание для лабы: "Создайте блок и сделайте так, чтобы при нажатии внутри блока менялась заливка, текст менял свой размер."
Честно говоря, не уверен, что правильно понял, что под эти подразумевалось, но я сделал textarea с обработкой события onclick, и если любой другой элемент кроме textarea нормально реагирует на собитие нажатия мыши, то textarea вообще похую. В чем может быть подвох?
<html>
<head>
<title>javascript параметры</title>
<link rel="stylesheet" type="text/css" href="style.css">
<script type="text/javascript" src="123.js"></script>
</head>
<body>
<table><tr><td>
<textarea id="textfield" onClick="func1()";>
текст
</textarea>
</td></tr></table>
</body>
</html>
123.js
function func1(){
obj=getElementById(textfield);
a=obj.width;
obj.width=a+10;
alert ("Вы щелкнули по div-у");
document.box1.width*=10;
}
style.css
#textfield{
width:100px;
height:100px;
background:gray;
margin:10px;
}
<html>
<head>
<title>javascript параметры</title>
<link rel="stylesheet" type="text/css" href="style.css">
<script type="text/javascript" src="123.js"></script>
</head>
<body>
<table><tr><td>
<textarea id="textfield" onClick="func1()";>
текст
</textarea>
</td></tr></table>
</body>
</html>
123.js
function func1(){
obj=getElementById(textfield);
a=obj.width;
obj.width=a+10;
alert ("Вы щелкнули по div-у");
document.box1.width*=10;
}
style.css
#textfield{
width:100px;
height:100px;
background:gray;
margin:10px;
}
Если не хохол или хотя бы не готов отрезать письку ради англо-либерализма - нулевой.
Во-первых, такие портянки сюда не кидают, есть песочница для этого.
Во-вторых, это больше похоже на рофл. Если же нет, то читай основы жс, прямо самую базу вроде "что такое переменная, как объявить"
Как же у меня жопа сгорела с промисов.
Вот я получил промис результат - массив. Но сука он не хочет работать как массив. какого хуя? пишет map is not a function.
Какого хуя блять?
Мне кажется я в итоге получаю промис, вместо массива. Из-за чего мап не работает. Так что ли? а как блять велью/результат/массив получить-то
Надо фетч скорее всего вынести из сетстейта, чтобы было
fetch.then().then(res => setRespList(res.data))
Спасибо.
А где обратная совместимость, блядь? Какой-то глобалзис ебучий добавили, весь браузер обновлять что-ли? А если у меня там куча паролей всяких, а новый браузер содержи троян? Нахуй пошли со своим глобалзисом, и браузером и гитхабом тоже. 4 года не обновлял браузер, а тут срочно надо взять и обновить, когда хуйло напало, да? Сосите хуй, криворукие недокулхацкеры, диванные, подхуйловские.
Может кто ответить на несколько вопросов:
1) Какую информацию содержит сам объект? Это же хеш-таблица?
То есть там хешированые значения ключей и адреса самих своиств, которые рандомно разбросаны по всей памяти?
2)Зачем нужны смещения в этих скрытых классах?
Я понимаю если бы это было так - каждый объект содержит ссылку на скрытый класс и уже этот класс содержит типы данных этого объекта на анализе предыдущего исполнения кода. Это как бы получалось динамическое присвоение статических типов свойствам объектов.
Но там все пишут что содержаться смещения, что они дают? Смещения относительно чего?
>а как выглядит код таких комментов
посмотри через девтулзы, нахуй ты меня спрашиваешь?
>вот на твиче там всё плавно, читать удобно. а на васде на каждый тик + 10коментов и твой уже где-то наверху
Ну так напиши им с предложением, нахуя ты во вкатун тред на мейлаче срешь?
написано же блять в консоли, долбоебина тупая
потому что index это индекс в коллекции tabs, а ты обращаешься по нему к коллекции blocks
>Уже.
Хватит пиздеть. Ты не в состоянии понять, как цикл for работает и массивы. Это школьная программа, между прочим.
jquery, хуевничаю с расширением для хрома
Мне нужен банальный клик по элементу, проблема в том что он на странице динамически появляется, поэтому стандартная конструкция $(selector).click() его тупо не видит
Полдня читаю про всякие .on(), .live(), делигирование , еще какую-то хуйню но нихуя не выходит видимо слишком тупой
Как мне нажать на ебучую кнопку?
>jquery
Лучше от него отказаться в 2022. Слишком много месчта занимает для своего функционала.
>Мне нужен банальный клик по элементу, проблема в том что он на странице динамически появляется
Вешай на body или документ. $(document.body).on('click', selector, function (evt) {...})
>Лучше от него отказаться
Чем заменить?
>$(document.body).on('click', selector, function (evt) {...})
Видел эту конструкцию сегодня несколько раз, нихуя не выкупил
Здесь, когда я вручную жму на элемент у меня срабатывает функция, надо чтобы элемент появился на него сразу нажалось автоматически ну или я как всегда
>Чем заменить?
Ничем. Ванильным addEventListener и Event.prototype.composedPath, Element.prototype.matches
>нихуя не выкупил
Когда ты кликаешь на элемент, события клика начиная от самого элемента идет вверх, пока не дойдет до глоабльного объекта.
Т.е. ты ждешь событие на <body>, после чего проверяешь соответствие селектору и если все ок - вызываешь коллбек.
>надо чтобы элемент появился на него сразу нажалось автоматически
Тогда есть два варианта.
1) Сделать этот элемент web-компонентом и через метод connectedCallback или конструктор делать что тебе нужно при его вставке.
2) Следить за документом через MutationObserver и как только появится нужный тебе элемент - вызвать то, что тебе нужно.
Какого хуя так сложно, не разобрался ни с тем ни с другимда и желания маловато
Неужели нельзя сделать вот то что мне надо, но в несколько строк? Элементарные действия же
Тупой долбоеб, научись читать. На старнице про Mutation Observer четко написано, что раньше для этого были отдельные события и почему от этого подхода отказались.
>Неужели нельзя сделать вот то что мне надо, но в несколько строк?
Можно
>Элементарные действия же
Элементарные для кого, шиз? Это никому нахуй не надо, кроме очень малого количества юзеров, которые априори знают что такое обсерверы и для чего они им нужны
Ну, наверное, то, для реализации нормальной формы, которая не ререндерится на каждый чих нужно прикладывать дохуя усилий по сравнению с вуем и ангуляром?
Друг рассказывал, что собесил некоего джентльмена, который утверждал, что 12 лет на Реакте пилит.
>Чел, как насчет юзать библиотеку компонент?
Как библиотека компонентов решает проблему форм в реакте расскажешь?
В библиотеках компонент бывают компоненты форм, в которых все за тебя реализовано.
Да и формы устаревший кал имхо, для дедовского бэка без REST.
Есть меню, оно липнет кверху (position: sticky, top: 0). И есть страница, это просто div с размерами w: 1000 h: 2000. Они находятся друг по отношению к другу в таком порядке:
<div flex, column>
<Menu/>
<Content/>
</div>
Проблема в том, что даже если страница не прокручена, и меню находится на позиции top: 0, то оно все равно ведет себя как absolute, а не как static, то есть страница залазит под меню и часть ее контента перекрывается прилипнувшим меню, при этом оверфлоу нет, страница помещается в контейнер, просто ее частично перекрывает меню. Как это фиксить блять?
Наверное у твоего static-контейнера должна быть явно задана высота. Скорее всего считается, что она ноль а хуле ты собственно хотел для позишнов, которые располагают элемент вне дерева html
Нажми f12, посмотри че там, че как не родной.
sticky-контейнера, быстрофикс
Да там с виду все нормально, высота sticky-контейнера задана явно. Хз в чем дело. Столько нюансов и подводных камней у этой ебучей верстки. Баг этот ловится, когда на мобиле поворачиваешь экран (когда ширина становится больше высоты), я сперва думал, что это обычное оверфлоу, но оказалось что это нихуя не так.
Что именно там реализовано, тупица? Ты настолько глуп, что не понял, что я имею в виду стейт-менеджмент формы? Что по твоему тогда значительно отличается по формам от вуя и ангуляра? border-radius у инпута?
Стейт менеджмент как раз и реализован, я не понимаю что ты мне втирать пытаешься
>формы устаревший кал имхо, для дедовского бэка без REST.
Ебало этого senior html developer имагинировали?
>>389060
>формы устаревший кал имхо, для дедовского бэка без REST.
Речь про формы через нативные теги <form> это блядь неликвид и брейнрот по дефолту
Есть умники, которые переписали формы без использования нативных тегов, эти немного умнее, но я насмотрелся уже на эти потуги вылепить серебряную пулю из говна и вечное вставление костылей, роняя кал, на каждый кейс сложнее, чем засетать значение - сохранить
>Речь про формы через нативные теги <form> это блядь неликвид и брейнрот по дефолту
Я и говорю, что типичный.
>Речь про формы через нативные теги <form> это блядь неликвид и брейнрот по дефолту
Формошлеп, успокойся. Иди чини свои сотни ререндеров в секунду.
Манюш, пока я чиню свою методичку - советую почитать про аксесабилити. Я понимаю, что на твоей работе, где ты шаблоны битрикса шлепаешь за 100к/месяц это не котируется, но все же советую изучить, как пишут код реальные фронтендеры.
Ты ебанат иди распечатывай документацию по HTML и читай в маршрутке, долбоебина!
Охуеть манямирок. Дед, ты палишься отставанием от реальности, отмиранием нейронный связей, заученной в нулевых хуйней, вскукареками про битрикс не к месту и чсв нереальных масштабов
Открой сайт какой-нибудь известный, гитхаб например, и посмотри наконец, что такое аксесибилити. Без <form> у него оказывается аксесибилити не может быть, охуеть
>Дед
Дед тут только ты, это во времена жиквары деды писали на похуй, игнорируя любую семантику и доступность. Сейчас время поменялось.
>Без <form>
Просыпайся, ты обосрался.
>Открой сайт какой-нибудь известный, гитхаб например, и посмотри наконец, что такое аксесибилити. Без <form> у него оказывается аксесибилити не может быть, охуеть
Там буквально все формы реализованы через <form>, не смотря на то, что гитхаб это, по сути, почти SPA на реакте.
Ахуеешь нааерное, если узнаешь что гитхаб еще и с выключенным жсом работать умеет.
Как и гугл. Как и хабр.
>Дед тут только ты, это во времена жиквары деды писали на похуй, игнорируя любую семантику и доступность. Сейчас время поменялось.
Сам придумал, сам посмеялся. Как обычно не вылезаешь из своего шизобреда. Назови мне хоть один юз-кейс, касающийся аксессибилити, который требует оборачивать твои инпуты в <form> и не решается табиндексом и другими доступными способами.
>>389210
>Там буквально все формы реализованы через <form>, не смотря на то, что гитхаб это, по сути, почти SPA на реакте.
Это два разных предложения я написал. Там человек выучил пару лет назад, что нада тег форм въебать, потому что аксессибилити и ходит хуету транслирует
>>389218
>Ахуеешь нааерное, если узнаешь что гитхаб еще и с выключенным жсом работать умеет.
Похуй, если честно.
>аксессибилити
>табиндекс
Как же я проиграл с тебя долбоеба, просто пиздец. Прогугли, что значит аксесабилити в вебе, для начала. Спецификацию WAI-ARIA почитай.
>>389224
>человек выучил пару лет назад, что нада тег форм въебать
Тупое ничтожество, за пару лет ничего не поменялось, только требования к доступности стали выше, в т.ч. со стороны поисковых систем.
>Как же я проиграл с тебя долбоеба, просто пиздец.
Долбоеб, как раз табиндекс используется, чтобы наиболее важные action itemы первыми показывались при нажатии tab.
>Спецификацию WAI-ARIA почитай
А, та самая хуйня, которая придумала свою собственную семантику поверх той, которая в html5 и которую даже скринридеры не жрут.
>Тупое ничтожество, за пару лет ничего не поменялось
Дед, прекрати аутотренинги
>в т.ч. со стороны поисковых систем
Вот тут мы и подошли к сути, что семантическая верстка по сути нужна для всяких пауков, парсеров и прочей аналитики твоего сайта, с этого и надо было начинать разговор, а не пиздаболить про аксессибилити, гнида.
Вопрос про юз-кейс ты естественно проигнорил потому что нихуя кроме всратых статей на медиуме ты и не шаришь за аксесибилити, только пиздаболию гнать способен, так что залезай под шконку и не вылезай
Добавлю, вот кстати пример. На ютубе не так просто найти что-то похожее на форму, но вот. Никаких <form> и нормально все с аксессибилити.
Естественно, гуглу ведь свои приложения не надо кравлить. Так что думайте своими мозгами и не слушайте пиздаболов и пидорасов, которые тешат свое эго, размазывая лапшу молодым с умным видом
>Естественно, гуглу ведь свои приложения не надо кравлить.
Ты привёл пример страницы, которую гугл и не должен индексировать. Вот уж действительно думай своей головой.
То есть мы уже перешли от "ээ слышь леее надо инпут обернуть в <form> я скозал потому что аксессибилити" к тому, что все нужно ради индексирования сбора информации.
Прогресс, как-никак. Уровень дискуссии подымается
Про кравлить спизданул тут ты:
> Естественно, гуглу ведь свои приложения не надо кравлить.
Обосрался - обтекай, пидор с кликабельными дивами.
Нет, это ты отвечаешь разным анонимусам.
Разнмца для пользователей скриеридеров будет колоссальная между "форма" и поле, хуйня хуйня хуйня, поле, хуйняняйня поле.
Читайте спецификации. Верстайте в соответсвии с ними.
Аноны, у меня какая-то проблема с тем что сайт ложится, когда переменная не получает значение. Это случается как-то случайно 1 раз из 20. По идее если стейт меняется, то компонент должен ререндериться, но у меня даже после ререндера сайт пустой.
Во-первых, почему после получения правильного значения сайт нормально не работает?
Во-вторых, если я хочу чтобы сначала переменная получила значение, а потом прогрузила страницу, что я могу сделать? Я когда просто записываю фетч.зен у меня сайт перегружается в бесконечный цикл.
Он если что пытается img.url получить, но не получается из-за чего ломается сайт.
>Читайте спецификации. Верстайте в соответсвии с ними.
Так ему вообще поебать. Он же сам пишет, что это только "Деды" так верстают.
Да.
Вопрос номер два - такое говно в вакансиях на hh.ru теперь навсегда? И снова придется идти на галеру верстать под битрикс? Английский знаю очень хорошо, вышка по нему есть, мб пробовать зарубеж сразу, но я русський.
Учи реакт
>Поработал год и уволился
>Теперь сижу на шее у мамки, доучиваю js
Тебе не довали учить жс во время работы?
>при этом борюсь с депрой
Заключение от психолуха или самодиагноз?
>Два вопроса: какой учить фреймворк
Если ты не самый умный, то рякт.
Если поумнее, то вью.
Если гигант мысли, гигачед внешне, ментальна альфач или сигма, то ангуляр.
>Вопрос номер два - такое говно в вакансиях на hh.ru теперь навсегда?
Какое говно?
>И снова придется идти на галеру верстать под битрикс?
Если хочешь.
>вышка по нему есть, мб пробовать зарубеж сразу, но я русський.
Попробуй, пока и не думал за бугор. Там вроде нет конкретного разделения на макак и не макак, а всякие инженеры, знающие Аноры просветите, даже интересно стало.
Все равно нихуя не понятно. Если не разобрался, скинь песочницу с комментариями.
> Английский знаю очень хорошо, вышка по нему есть, мб пробовать зарубеж сразу, но я русський.
попробуй. если ты уже забугром, то большинству работодателей похуй на твой паспорт - главное, чтобы у тебя было легальное право работать в этой стране.
Получается тут сидят одни вкатыши?
Как дела у Анона с нанобордой? Выходил на связь? Допилил?
Создаёшь тханк, который дёргает соединение в лупе. Тханки могут дёргать другие слайсы и диспатчить экшоны, так что сокетовый тханк может обновлять хоть весь стор, а вьюхи так и будут через обычные селекторы и диспатчи взаимодействовать со стором.
Скорее всего под менеджмент сокетов придётся выделить отдельный слайс.
Кажется,понял.Спасибо тебе,анонче
>>вашу парашу
Это я любя.
>>деобфусцировать
Чисто в развлекательных целях, хочу не работу чужую пиздить, а посмотреть, как один наеберский сайт работает. Имхо, только такие обфускацию и будут использовать.
>Как вашу парашу деобфусцировать после прогона через obfuscator.io?
Запрет на гугл в биосе тоже стоит, хлебушек?
Открываешь файл скрипта и прогоняешь его через какой-нибудь преттифай. У клиентских скриптов очень ограниченный набор инструментов в плане взаимодействия за пределами страницы, плюс методы объектов не минифицируются. Так что просто ищешь все упоминания fetch/XMLHttpRequest/document.createElement(), а потом откуда берутся аргументы для их вызова.
пиздос. я бы посчитал этот код эксплоитом и накляузничал в вирустотал
Попробуй. Код из моего же примера выше (>>390363). Даже преттиером прогнал для тебя. https://pastebin.com/fHxxxyU5
тогда извиняюсь
У тебя блять в скрипте очевидные конструкции вида `_0x9c160c["push"](_0x9c160c["shift"]()); `, то есть перемещение первого элемента в конец массива с помощью методов этого же массива. Порассказывай мне тут про динамическую генерацию.
>И ты будешь это всё очевидное разворачивать руками?
Нет, есть волшебная тулза, которая тебе задеобфусцирует любой обфускатор. Дебил блять.
>Вопрос о том, как бороться с такой дрисней в полу(автоматическом) режиме.
Написать свой деобфускатор, очевидно же. Для этого нужно ручками обфусцировать хотя бы один сэмпл. Но это не проблема для тебя, да?
>Потому что автору похуй - он прогнал чистенький код через дристатор, а тебе разгребать.
А тебе ли не похуй, что там автор высрал? Браузер один хуй не примет невалидный код.
>Нет, есть волшебная тулза, которая тебе задеобфусцирует любой обфускатор. Дебил блять.
Какая же волшебная тулза?
Которой с тобой не поделятся, очевидно же.
>Для этого нужно ручками обфусцировать хотя бы один сэмпл.
Так они каждый по-разному дристифицируются, под выбранные автором скрипта настройки, заебешься тысячи вариаций руками дебажить и к каждой свой деобфускатор писать.
Да ты что, твой деобфускатор не сможет задетектить входные настройки? В примере выше эта настройка передаётся константой в вызов функции.
Ты наверно кинца пересмотрелся про светящихся в темноте федеральных агентов, раз считаешь, что реверс инженеринг можно проводить так же, как и клепание сайтиков под ключ.
>Его нерационально писать, потому что там будет рандом каждый раз.
То есть деобфускатор нерационально писать, но обязательно должна быть программа, которая с полпинка любую обфускацию заобфусцирует, несмотря на то, что эту программу писать нерационально?
Короче выкладывай код, который тебе пиздец как надо расшифровать, или уёбывай.
Ты мне еще про свою чудо-утилиту не рассказал. Если это залупа с пика, то она не деобфусцирует нихуя. Если нет, то на, попробуй, покажи, как твой йоба-деобфускатор справится со своим назначением на примере кода из одной строчки: https://pastebin.com/ytD3vwGf.
Во-первых, это другой человек писал про нерациональность, а не я (>>390299). Во-вторых, да, деобфускатор как таковой — это залупа, ну напишешь ты, убьешь кучу времени, копаясь в этом говне, а автор обфускатора за 10 минут алгоритм изменит, и все, пиздец. Нужна, как выше писали, утилита для того чтобы смотреть, что там внутри скрипта происходит, ведь код, так или иначе, чтобы интерпретироваться, в один момент будет приведен из _0x9c160c["push"](_0x9c160c["shift"]()); во что-то читаемое.
>Ты мне еще про свою чудо-утилиту не рассказал.
А теперь перечитай пост, дебил.
>>390454 (Del)
>Вот тебе примерный процесс, как это у белых людей делается.
Ты сейчас на серьёзных щщах сравниваешь запуск интерпретируемого скрипта в ограниченной среде против малвари в фс?
В таком случае как белый человек форкай исходники целевого браузера, меняй код так, чтобы он игнорировал опцию отключения дебага клиентом, собирай, запускай и дебаж на здоровье.
>>390462
>Во-вторых, да, деобфускатор как таковой — это залупа, ну напишешь ты, убьешь кучу времени, копаясь в этом говне, а автор обфускатора за 10 минут алгоритм изменит, и все, пиздец.
Естественно любой реверс инженеринг или спонсируется третьей строной или проводится с целью извлечения прибыли самим ниженегром. Никто не будет деобфускаторы писать и поддерживать джаст фор фан и уж тем более выкладывать это в попенсорс.
>Нужна, как выше писали, утилита для того чтобы смотреть, что там внутри скрипта происходит, ведь код, так или иначе, чтобы интерпретироваться, в один момент будет приведен из _0x9c160c["push"](_0x9c160c["shift"]()); во что-то читаемое.
В каком "внутри скрипта"? Байткод, в который этот скрипт превратится интерпретатором, будет ещё менее читабельным, чем сам скрипт. Плюс нет гарантии, что обфускатор не написан так, чтобы интерпретатор прям всё лишнее мог убрать. Он вполне может добавлять оверхед в рантайме.
Клиент терпит мегабайтные бандлы реактокода, стерпит и распухшие обфусцированные бандлы.
Печенька создаётся и валидируется на сервере.
>В браузере оно нахуй нужно, там неудобно. Нужно приляпать этот ваш в8 к чему-то и там крутить.
Наркоман? Клиентские скрипты пишутся для браузеров и дёргают браузерные апи, v8 у тебя там отвалится при первом референсе window.
>>390497 (Del)
>Нет, этот код, т.н. челлендж, ебет твой бразуер во все дыры для проверки, настоящий ли он, и устанавливает печеньку, если да.
Без запросиков на сервер он хуй что сможет там провалидировать и валидность генерируемых им ключей сомнительна.
Реакт вряд ли помрет. А вот ангуляру недолго осталось.
хех мда кек, чото вспомнил "s,t,o,p,b,r,e,a,k,i,n,g" клаудфлейра
Вот только дриснекука на скрине недоступна клиентскому скрипту. Так что говнобандл там в любом случае запрос делает.
> Да и в целом они любят это дело, как я заметил.
именно поэтому у меня на серверах все подсети китая идут сразу нахуй в DROP
>Ну как видишь, больше там запросов нет, так что доступна.
Там буквально заголовок HttpOnly, кука никакого отношения к клиентскому скрипту не имеет.
>А может это значение ещё эмбедднуто в самой странице и доступно там.
Угу, рисовать уникальные странички на сервере для защиты от ддоса/ботов - самое то.
>Редукс доживает последние дни, а ты в бункере.
А что будет вместо него? Мобкс который не в состоянии сделать нормальную документацию и тулинг для разработчиков?
Будет Recoil
Редукс свою партию отыграл. Он показал фундаментальные принципы, на которых должен строиться стейт-менеджмент для создания на его основе более удобных и оптимизированных потомков, но дальнейшее его развитие давно все. Это поняли его создатели, которые дропнули его уже давно. Потом попыталися снять часть бойлерплейта при помощи тулкита, но это сняло лишь часть проблем. Редакс остается перегруженной лапшой с излишней писаниной и усложненностью и это уже не исправить.
Нет это магическая мегахуйня, одна на все приложение. Доменный сервис ЭТО ДРУГОЕ. Там есть маленький стейт оражающий доменную область и методы работы с ним.
>Нет это магическая мегахуйня, одна на все приложение.
Так любой сервис - один на всё приложение. В этом их весь смысл.
Стор, redux, vuex - это магическая мегахуйня, одна на все приложение.
Это не когда тебе сказали: Вася сделай модуль подбора букетов для цветочного магазина. И ты берешь и пишешь доменный сервис с методами загрузить цветы со склада, загрузить рекомендуемые сочетания, подсчитать цену букета. Ты всегда занимаешься предметной областью.
Стор - это когда ты с тимлидом тратишь час дейлике обсуждая что должно вычисляться, а что должно храниться в стейте, какую библиотеку использовать для иммутабельности букетов, а ПМ плохо скрывает желание послать вас нахуй.
Поясните, почему у жаваблядей и питонистов в факах акцент на книгах, а у вас - на курсах? Кто-то занес?
Книги читать вредно для зрения.
>Стор, redux, vuex - это магическая мегахуйня, одна на все приложение.
Тыскозал?
Если у тебя два сервиса с логикой авторизации, будешь в каждом из них эту логику реализовывать или таки использовать существующий сервис авторизации?
>Стор - это когда ты с тимлидом тратишь час дейлике обсуждая что должно вычисляться, а что должно храниться в стейте, какую библиотеку использовать для иммутабельности букетов, а ПМ плохо скрывает желание послать вас нахуй.
Так это типичное обсуждение структур данных и зависимостей, к стору как сервису не имеющее прямого отношения.
>>390840
Основная деятельность жавистов и питонистов - ковыряние легасиговна, которое только стареет. В жсмирке пока книгу обдумаешь, напишешь, прогонишь через ревизии и опубликуешь, то она уже устареет, а в примерах - легасиговнокод уровня переобъявления методов в конструкторе.
Фронт потому что раз в год кардинально меняется. А там один язык, одна библиотека/надстройка/костыль.
Прям так меняется, что как пердолили DOM в прошлом тысячелетии, так и в этом продолжаем.
написал сайт очкую выкладавать
допустим я взял фоны отсюда https://unsplash.com/s/photos/designer
говорят что
>All photos can be downloaded and used for free
>Commercial and non-commercial purposes
>No permission needed (though attribution is appreciated!)
то есть захуячил атрибуцию и все ок?
допустим я ебашу 1 пикчу мне нужно атрибуцию на все страница ставить или только на главной?
>>390667
Я не вкатун. Но твой вариант с ретурн нул так и не понял.Т.е. если появится еще переменная по которой нужно смотреть, придется дописывать это условие в ретурн нул. А потом уже писать ниже иф.
А так, можно просто доп. иф написать ниже ифа.
>>390724
Увеличивается сложность условия, но читаемость тут не причем.
спсб анон
нужно модифицировать плагин noVNC для Proxmox, а конкретно - сделать запись видео.
в оригинальном noVNC этот функционал частично есть - можно записывать поток websocket через отдельный софт:
от разрабов novnc https://github.com/novnc/websockify/issues/224
или от левых челов https://groups.google.com/g/novnc/c/CiI0bEH-Eoo
а потом проигрывать видео во встроенном плеере: https://github.com/novnc/noVNC/blob/master/tests/vnc_playback.html
пишите, за сколько далларов возьмётесь это сделать.
вкатывальщикам - сможете добавить это в свой гитхаб и/или портфолио.
>Я не вкатун
> if(data) {return <Layout />} else if (loading) {return <Preloader />} else {return null}
ref.current.getBoundingClientRect
>1.jpg
>2.jpg
А теперь выкинь из первого пикрелейтеда комменты и описания типов и сравни размер. Почти таже самая хуйня поулчится.
>Ряя, ты вкатун!!!
if(!data || !otherData || !oterhOtherData) {return null}
if(data) {do smth}
if(otherData) {do smth}
if(otherOhterData) {do smth}
>двощ поясни за авторское право
Тебя ебать не должно чье-то авторкое право, оно не твое, а значит просто забей хуй. Будь альфачом и не бугурти.
>Будь альфачом и не бугурти.
но ведь можно отъехать на бутылку или как?
анонсы поясните еще за тексты допустит есть нацумэ сосеки который давно сдох и текст есть на аозоре я его оттуда копирую поидее это свободно распространяемая хуйня значит не нужно никуда ссылаться так?
Вкатун, спокойно. Когда устроишься на реальную работу разработчиком поймешь, что if(data) {} всегда пишется самым последним, потому что это в 99% случаев самый большой по логике блок.
Потому что типичный вкатун во фронт не умеет читать, он вырос на летсплеях с ютуба.
За цифровое золото могу тебе только золотой дождик устроить
Да, раз в пятилетку основные технологии меняются, раз в год доминирующее положение занимает новая вспомогательная либа, которая весьма объемная, меняет синтаксис, логику построения приложения
>логику построения приложения
Вьюшки @ модельки с данными @ дерганье бэка через протокол-нейм
Хосспаде, даже в jQuery всё это было
Ну тогда выкатываюсь с фронта, пойду в ML или дата саенс, а хули там
Пишешь код @ тестируешь @ хорошо
для этого надо сетать innerHtml
Сделаешь так - руки поотбивают, это небезопасно, читай про xss
Окей спасибо.
Нет не та же. Редьюсеры, экшены и их экспорт. Плюс к этому всему создание сторов, миддлвар для асинхронщины и кучи экстра редьюсеров. Просто куча кала для совершения даже каких-то простых операций.
>миддлвар для асинхронщины
Кокой волшебный зустанд, в котором для ассинхронщины не нужно писать бойлерплейт обработки ошибок и изменения состояния.
Это конечно хорошо что ты напиздел, но пока ты только показал сравнение хэлловорлдов.
Покажи лучше типичную "простую" операцию запроса с трансформацией результата и мерджем с данными из другого слайса в зустанде.
Таблетки прими. Если у тебя не йобо сайт с продажами, монитизацией, ты жевешь не в пендосии/европе, всем похуй, что какой-то Иван спиздил картиночку или текст.
Вкатун порвался. Иди доучивай материалы с скилбокса, а я пойду смузи попью.
>потому что это в 99% случаев самый большой по логике блок.
Если самый большой блок, то его нахуй не нужно в иф выводить, еблан.
>Если самый большой блок, то его нахуй не нужно в иф выводить, еблан.
Так ты же мне сам и пердлагал его в if завернуть, уебище тупорылое.
>if(!data || !otherData || !oterhOtherData) {return null}
>if(data) {do smth}
>>if(!data || !otherData || !oterhOtherData) {return null}
Еблан, я тебя породировал, я не понимаю нахуя явно говнокодить и лишний иф впихивать, который только мешать будет. Если и решил условиями заговнокодить проект, так будь добр, не делай хотя бы лишних.
у тебя в реальном проекте нужно на каждый пук проверки делать, если брать пример с сервера, то допустим про пост запросе проверяешь есть ли req.body (это валидатор делает, но не суть), потом при поиске в бд проверяешь есть ли результат. получается 2 проверки.
теперь сравни:
1)
if (condition1) {...
if (condition2) {...}
throw error
}
throw error
2)
if (!condition1) {throw err}
...
if (!condition2) {throw err}
...
чтобы пока запрос выполнялся, браузер мог бы продолжать выполнять код, который написан дальше. движок браузера будет выполнять синхронный код и периодически интересоваться, завершилась ли асинхронная задача
а ну и чтобы в этот период асинхронного запроса можно было кликать на кнопочки всякие
а почему говнокод то, тормозить то будет не код, а сам запрос, тогда уж протоколы говно)
В анимации часто асинхронщина нужна
Т.е. по твоей логике в запросе мне нужно делать так.
(answer) => {
if (!answer.status) { return error }
if (answer.status) { do smth }
}
Ну а теперь сравни.
(answer) => {
if (answer.status) { do smth }
else { return error }
}
И вот в этом вопрос, нахуя ставить лишнюю проверку, блять. Ну вот нахуя, я к этому приебался.
>у тебя в реальном проекте нужно на каждый пук проверки делать
Сравнил, конечно. При запросах особо без условия не попишешь, а вот в остальном можно и без условией обойтись. Точно уж не на каждый пук.
В моем варианте можно и без елса обойтись.
Запрос это текстовой файл, сам он тормозить не будет.
>>391297
Например при переборе огромных данных. Допустим у тебя есть куча селектов с кучей опций. Если все сразу отрисовывать синхронно, то пизда, либо лоадер будет крутиться сутки, либо если ты добавлешь новый селект, то страница нахуя зависает.
В случае же если ты делаешь перебор асинхронным, допустим переберая в такт процессора, то все чотко, кнопки тыкаются, опции подгружаются.
>(answer) => {
>if (!answer.status) { return error }
>if (answer.status) { do smth }
>}
эм... вообще-то
if (!answer.status) { return error }
do smth
>Например при переборе огромных данных. Допустим у тебя есть куча селектов с кучей опций. Если все сразу отрисовывать синхронно, то пизда, либо лоадер будет крутиться сутки, либо если ты добавлешь новый селект, то страница нахуя зависает.
>В случае же если ты делаешь перебор асинхронным, допустим переберая в такт процессора, то все чотко, кнопки тыкаются, опции подгружаются.
Пиздец, что ты нахуй несешь....
До этого делал змейку, вроде получилась нормальная и полностью рабочая, убил на неё дней 5. А с фантазией беда, поэтому сижу у туплю в стену, пытаясь придумать шоб её сделать. Может анон подскажет с чего начинал сам
>движок браузера будет выполнять синхронный код и периодически интересоваться, завершилась ли асинхронная задача
Ебало гуру асинхронности представили?
Тудушку. Причем не просто добавить/удалить/изменить, а прям полноценный инструмент с помидорами, календарями, планированием, разными пользоватеоями, ролями.
Похуй, покормлю
А расскажи мне, как ты собрался их рисовать асинхронно, да еще и в "такт процессора"?
https://learn.javascript.ru/event-loop#primer-2-indikatsiya-progressa
А теперь расскажи мне, ты хоть основы читал? Как ты, блять, собираешь 10к опций в селект вставить, когда есть всякие переводы, проверки, т.д. Представь ебало пользвателя, когда он ощущает твой говнокод, ждя 30минут и залипая в лоадер.
С 10к загнул, конечно, но когда пару десятков селектов с парой сотню опций в каждом, то все.
Нужно было удалять буффер.
Ты не понимаешь, что за хуйню ты несешь
>В такт процессора
>Рисовать элементы асинхронно
>Разбивать задачу на подзадачи это асинхронность
Брейнрот терминальный
- интерпретатор брейнфака
- транспилятор брейнфака в жс
- транспилятор подмножества жс в брейнфак
- обфускатор жс, работающий на транспиляции части кода жс в брайнфак, который в рантайме работает через интерпретатор из п.1
Поясняю:
>В случае же если ты делаешь перебор асинхронным, допустим переберая в такт процессора
Набор слов
>Если все сразу отрисовывать синхронно
"Рисованием" ты занимаешься в браузере с помощью BOM, который внезапно не часть js, а вопрос "синхронное или нет рисование в браузере" у человека без рака мозга вызывает недоумение а-ля "Что он блядь пизданул?"
>Разбивать задачу на подзадачи это асинхронность
Здесь нечего добавить, разбивание задачи на подзадачи не имеет отношения к асинхронности
При разработке не нужен, если не используешь в коде какие-то нестандартные фичи типа декораторов
окей спс
Писал же не про обычную. Имел в виду приложение сродни todoist. И не какой-то его отдельный функционал, а все полностью.
const data = getData()
создать стейт?
async/await
*можешь?
Есть кто strapi (backend headless cms) деплоит в нынешнее время? Где вы это делаете? хероку забанили, куча сервисов в РФ заблочены. Весь день проебал на поиск, в итоге залил на нетлифи и у меня тупа пейдж нот фаунд.
а я вообще не могу на нетлифай деплоить.
Мне честно так впадлу учить это, пиздос просто, но сколько потребуется времени примерно для создания чего-то вроде этого без ряктов и ЖСа? И вообще реально ли это?
А то я пока все настроил и сделал огромную зеленую надпись ЗДАРОВА по центру используя как я понял inline css, это допустимо?
И можно ли это залить на какую-нибудь хероку бесплатно потом вообще? Или надо впс покупать, имя доменное и в этом всем тоже разбираться?
>Мне честно так впадлу учить это
Вот поэтому я буду получать 400 000, а ты будешь сосать хуяку
Мимо вкатился пару дней назад с нуля
>Ебало гуру асинхронности представили?
Ебало этого вкатуна, не знающего как работает эвент луп представили?
>они же ещё изменятся через полгода заново придётся всё делать
Схуяли? У меня на проекте конфиг уже 2й год не менялся. Как под пятый вебпак обновил его так больше ниразу не трогал
Самый простой вариант:
const [data, setData] = useState(null);
useEffect(()=>{
fetch('https://localhost....').then(r => r.json).then(setData);
}, []);
if (!data) retrun null.
...
yandex cloud functions
>inline css, это допустимо
Тебе ли не похуй? Ты айос макака или ряктодебил-верстальщик, которого за инлайн стили будут ебать и в хвост и в гриву?
Да просто я не смог найти как в проекте этого вапора добавить(точнее куда и как) фаил с цсс. В видосе типа делаем визитку на реакте за 10 минут все органично(ну естественно епта), а тут вообще ни в пизду, ясно видно что вапор годится только для того для чего его задумали - делать апишки для своих приложений. А в книжке 20го года по нему уже все устарело и поменяно нахуй. Короче я просто решил подождать следующего вихря вдохновения и просто сделать это по гайдецу на нормальных фронтовых инструментах. Идея была в том, что фронт будет сделан на swift-ui или ui-kite, есть https://github.com/TokamakUI/Tokamak и https://github.com/SwiftWebUI/SwiftWebUI например, проект на гитхабе бы показывал 70% свифт, 20% хтмл, 10% руби и все. Но учить эти ебани тупо тупее чем выучить базово умение макакить фронт.
Файлики цсс кидать туда же, куда и прочую статику.
Рассказывай, фантазер, все ведь именно так работает, как тут написано
>будет выполнять синхронный код и периодически интересоваться, завершилась ли асинхронная задача
Лол
>>391447
Движок жиэса не "интересуется периодически, завершилась ли асинхронная задача"
Он последовательно синхронно выполняет таски/микротаски из очереди, а во время выполнения конкретной таски он нихуя ничем не интересуется.
Делаешь файл .css и в шаблоне делаешь link на него.
>фронт будет сделан на swift-ui или ui-kite
Посмотрел я тудуху на этом твоем токамаке - 3.4мб блоб для проекта уровня хелловорлд... Лучше уж инлайн стили чем такое позорище
>учить эти ебани тупо тупее чем выучить базово умение макакить фронт
Ну да, зато хуярить хелловорлды весом в 4 мб это совсем не тупо и покажет твой скилл в оптимизации приложений, ога.
Скоро здесь ит-макаки будут получать не больше кассира.
Набей себе татуировки со всеми тэгами и css-свойствами. Алсо херочки просто с руками отрывать такого кадра будут
а после выполнения очередной таски он не интересуется как там дела у асинхронной таски, которая попала в очередь?
> а после выполнения очередной таски он не интересуется как там дела у асинхронной таски, которая попала в очередь?
Нет, он интересуется лишь следующей таской в очереди.
И для него, в общем-то, нет понятия асинхронности. Асинхронность — это про то, как таска попала в очередь (или даже ещё не попала), а потом, при выполнении очереди, уже нет разницы — всё выполняется движком синхронно.
другой анон
ну и где это противоречит тому, что я сказал? вообще-то колстек пустеет и потом евент луп достаёт из специальной очереди асинхронную задачу. и всё это делает движок, у вас обработчик тасок из колстека - это чё движок? ну да обработчик умеет выполнять задачи из стека, но движок то наверное как-то узнаёт, что асинхронная задача выполнилась не, он же её как-то обрабатывает
>движок то наверное как-то узнаёт, что асинхронная задача выполнилась не, он же её как-то обрабатывает
man libuv
мимо
Смилуйся, мудрейший. Мне всего лишь нужно получить у пользователя фамилию и проверить её на корректность, а я отстающий ученик.
Ну так удали name1 == !NaN, либо объясни что ты собирался этим проверять. У меня единственное предположение, что ты какого-то говна въебал и высрал это недоразумение
А почему не работает по логике: !NaN ? Если пользователь вводит цифру, должен выполняться while, так? Или промт в любом случае возвращает строку?
И да, name1 во внутреннем скоупе у тебя перекрывает name1 из внешнего
промтом не пользуются, 2 let убери, ты уже объявил переменную, условие наркоманское я хз как правильно)
Но почему они не работают совместно?
Я хочу, чтобы браузер повторял запрос если
1) пользователь ничего не ввёл (name1.lenght == 0)
ИЛИ
2) пользователь ввёл число (name == !NaN) (нужна ведь фамилия, а не число).
>1) пользователь ничего не ввёл (name1.lenght == 0)
Это работает.
>2) пользователь ввёл число (name == !NaN)
А это нет.
>нужна ведь фамилия, а не число
Проверяется регуляркой. Алсо ты даже тут условие плохо сформулировал. Фамилия это не нечисло, а строчка из буков (допустим один дефис), начинающихся с прописной
А как тебе такое, Илон Маск?
А какие у нее могут быть дела, расскажешь? Она тупо ждет своей очереди на выполнение.
Еще раз:
>будет выполнять синхронный код и периодически интересоваться, завершилась ли асинхронная задача
Движок жиэс, если мы не говорим про процессы в ноде или вебворкеры, выполняет код в ОДНОМ ПОТОКЕ. Синхронно. выполнять синхронный код и "периодически проверять" (это само по себе хуйня звучит, что значит периодически?), не завершилась ли асинхронная таска это бред, она не может завершиться, пока исполняется другой код. придет ее время - ее достанут из очереди и выполнят
> ну и где это противоречит тому, что я сказал?
Тем, что он не "интересуется", не "проверяет", а просто выполняет задачи из очереди.
> евент луп достаёт из специальной очереди асинхронную задачу.
Что в твоём понимании "специальная очередь"? По-твоему, синхронные задачи в обычной очереди, а асинхронные — в какой-то другой отдельной "специальной" очереди?
> задачи из стека
Мы не про стек, а про очередь. Разницу знаешь?
> но движок то наверное как-то узнаёт, что асинхронная задача выполнилась не, он же её как-то обрабатывает
Если задача выполнилась, то её уже нет в очереди. Она когда выполнилась, то очередь продвинулась к следующей. А про ту, которая выполнилась, можно забыть — нахера что-то ещё с ней делать/обрабатывать, раз уже сделано всё, что надо?
> >Ебало гуру асинхронности представили?
> Ебало этого вкатуна, не знающего как работает эвент луп представили?
Думаю, он это и имел в виду. Скорее всего, "гуру" — сарказм, имелся в виду именно вкатун, не знающего как работает эвент луп. Так что твоё уточнение излишне.
а как движок узнаёт, что таска попала в очередь, мб движку нужно проверят эту очередь?
> а как движок узнаёт, что таска попала в очередь
Пока очередь до неё не дошла — никак.
> мб движку нужно проверят эту очередь?
Ему очередь не проверять надо, а исполнять. Если какая-то проверка и есть, то уровня "очередь пуста / очередь не пуста".
А проверять что-то там внутри неё, проверять, что когда добавилось — смысла нет, вот он и не проверяет.
ну движок всё же проверяет колстек на пустоту, а также проверяет есть ли какие задачи, которые можно из очереди отправить
Спасибо
ну само собой мейн функция крутится, он проверяет есть ли что-то помимо неё
> ну движок всё же проверяет колстек на пустоту, а также проверяет есть ли какие задачи, которые можно из очереди отправить
На пустоту — это ладно. Но ведь не на наличие каких-то определённых конкретных асинхронных задач, чтоб поинтересоваться, как у них там дела. Никак, раз они в очереди стоят, а не уже выполняются.
> колстек
При чём тут стек? Речь про ивент луп.
Поясните за тайпскрипт
Вот в гайдах по нему через слово типизация типы интерфейсы, но в чем прикол если он потом транспилируется в js и снова можно подавать любые данные куда угодно?
Как ты блять собрался подавать любые данные куда угодна в скомпилированном тайпскриптом коде? Дохуя манки патчингом балуешься?
Статическая проверка
Ну вот я написал кусок кода, в него допустим должно приходить число, скомпилил в js, залил на сервер, а там что-то переебалось и через раз приходит строка 'хуй'
Или такого на практике не бывает?
речь не шла про определённые задачи, а про асинхронные вообще, и если задача одна, то именно её выполнение интересно движку и он же проверяет очередь на её наличие, а в очереди находятся только асинхронные задачи, которые сначали прошли через колстек
ну чтобы само сломалось такого не может быть, а вот если юзер данные отправляет, то их всегда валидируют
>Ну вот я написал кусок кода, в него допустим должно приходить число, скомпилил в js, залил на сервер, а там что-то переебалось и через раз приходит строка 'хуй'
В такой ситуации тебе даже код на жаве не поможет, так как никакого отношения к статическому анализу не имеет.
> речь не шла про определённые задачи, а про асинхронные вообще
И у каждой интересоваться "как дела"?
> и если задача одна, то именно её выполнение интересно движку
Ему интересно выполнить ближайшую задачу, что он и делает, если она есть.
> и он же проверяет очередь на её наличие
Но не интересуется у самой задачи о ходе её выполнения, он просто берёт ближайшую задачу и выполняет (не "проверяет ход выполнения", а просто выполняет, когда надо), ни о чём её не спрашивая.
> а в очереди находятся только асинхронные задачи,
Но они выполняются синхронно. И их не называют "асинхронные задачи" (от этого только путаница в головах, как мы видим на твоём примере про бредовой фразе "интересоваться, завершилась ли асинхронная задача"), их называют микро-/макротасками, а выполняются они все синхронно.
> которые сначали прошли через колстек
Как они прошли через колстек? Это как вообще? Раз прошли, то почему до сих пор не выполнены, а лишь стоят в очереди на выполнение?
Или ты про то, что async-функция когда-то была в колстеке? Так это другая макро-/микрозадача, она давно выполнена (выполнена задача, а не вся функция), у неё тоже не о чем интересоваться.
> Здесь нечего добавить, разбивание задачи на подзадачи не имеет отношения к асинхронности
Почему это? Разве не именно так работают асинхронные функции — используя await разбивают себя на подзадачи (таски)?
При нажатии на кнопку в одном компоненте, нужно вызвать метод в другом компоненте. Как это сделать?
как это заменить тогда?
const [selectedOptions, setSelectedOptions] = outerSelectedOptions
? [outerSelectedOptions, setOuterSelectionOptions]
: useState<ISelectOption[]>([]);
У меня реюзабельный компонент, но в одном случае мне нужен стейт снаружи, мне новый компонент ради этого создавать без внутреннего useState что ли?
Спасибо, чет такое придумал
const [innerSelectedOptions, setInnerSelectedOptions] = useState<ISelectOption[]>([]);
const [selectedOptions, setSelectedOptions] = outerSelectedOptions
? [outerSelectedOptions, setOuterSelectionOptions]
: [innerSelectedOptions, setInnerSelectedOptions]
>"useState" is called conditionally
Раньше всех ебали за Function.caller, а теперь на таких костылях целые фреймворки делают и норм
Какой же ты тупой. Разработка это не твое, явно.
const [inner, setInner] = useState([]);
const opts = outer ?? inner;
я же так и сделал, только ?? не юзнул
Да и так setState не переопределяется же, а он мне нужен разный в разных случаях
так vue 2 жи
Если доебаться, то и await не имеет отношения к асинхронности)) Это тупо способ записывать асинхронный код так, чтобы он выглядел, как синхронный, а под капотом те же промисы.
Ну типа при многопоточном программировании мы тоже разбиваем задачу на подзадачи, целые дисциплины информатики изучают как это правильно сделать. Мы ж не говорим что разбить задачу на части это многопоточное программирование.
Дохуя что пытаются высрать про асинхронность и вписать туда, непонятно зачем.
Дополню, что основная задача асинхронности это не разбить что-то на подзадачи, это так, ответвление небольшое ради лучшего UI экспириенса.
Основное все же то, чтобы страница нахуй не зависала, когда браузер тупо ждет респонза на http запрос и прочие подобные случаи
> Если доебаться, то и await не имеет отношения к асинхронности)) Это тупо способ записывать асинхронный код так, чтобы он выглядел, как синхронный, а под капотом те же промисы.
Это понятно, но ведь и в промисах нужно на подзадачи разделять. Promise((res, rej) => {
//...
}).then(
подзадача1
).then(
подзадача2
).then(
подзадача3
) и т. д.
> Мы ж не говорим что разбить задачу на части это многопоточное программирование.
Но это его необходимая часть.
>>392302
> Основное все же то, чтобы страница нахуй не зависала, когда браузер тупо ждет респонза на http запрос и прочие подобные случаи
Сложные вычисления тоже не должны зависать страницу, поэтому их и разбивают на подзадачи, запуская асинхронно (или делают воркер, что по идее лучше, но мы сейчас не об этом). Об этом тот анон и говорил (правда, приправив какой-то хуйнёй про такты процессора, поэтому его и обосрали, но основная его мысль всё-таки в целом правильная).
Скорее всего нет, впервые слышу подобное название
>Тебе не довали учить жс во время работы?
Были лютые переработки и под конец дня у меня не оставалось сил учить что-то новое. Конечно, сейчас я понимаю, что надо было просто работать вполсилы и параллельно учиться, но меня постоянно преследовал синдром самозванца и казалось, что вот-вот уволят, хотя это была лишь моя паранойя.
>Заключение от психолуха или самодиагноз?
самодиагноз, да( Психиатр поставил невроз и расстройство адаптации только, это я чтобы не вдаваться в подробности
>Если ты не самый умный, то рякт.
Понял, а если в двух словах, чем вью сложнее? На прошлой работе джун фронт вкатился именно через вью после опыта версталой и советовал вью, якобы он проще.
>Какое говно?
в дс2 пару дней назад было только 36 вакансий для чуваков с опытом до года, 50: из которых были верстальщики под битрикс. Но мб алгоритмы хх спецально под мое резюме что- то шаманят
Спс за развернутый ответ
>а если в двух словах, чем вью сложнее?
Легче и понятнее, как минимум мне.
На рякт вакансий раза в 3 больше было, как минимум год назад. Если пожелаешь вкатиться, то будет больше материала, будет больше вакансий.
Сам я рякт вообще не переношу, параша полная.
Сейчас сижу на ангуляре. Порог входа выше, вакансий меньше чем у вью.
>в дс2 пару дней назад было только 36 вакансий для чуваков с опытом до года, 50: из которых были верстальщики под битрикс. Но мб алгоритмы хх спецально под мое резюме что- то шаманят
Проебался во всех пункта.
Во первых, не ищи галеру в пределах города. Компаниям где только удаленно вообще похуй где ты, хоть в Воркуте, главное подстройся под их принятое время и греби(но лучше им говори, что дс/дс2).
Во вторых, нахуй ты ищешь вакансии до года? Ищи год-два, а если еще точнее, то вообще без галочки "Опыт", просто по джуну и по стеку, некоторые галеры не ставят опыт, а ты и не видишь эти вакансии.
Дополнение ко второму, ты поди еще и правдивый опыт говоришь? Если да, то через пару лет и найдешь что-нибудь. Тебе пиздит компания о многом в их вакансии, так что и ты пизди.
3.. Хотя, тут ты не проебался. Ищи нормальную галеру, без всяких битриксов, это игрушка дьявола.
>Были лютые переработки и под конец дня у меня не оставалось сил учить что-то новое. Конечно, сейчас я понимаю, что надо было просто работать вполсилы и параллельно учиться, но меня постоянно преследовал синдром самозванца и казалось, что вот-вот уволят, хотя это была лишь моя паранойя.
Со временем пройдет, просто хуй забьешь. Когда поймешь, что перекатиться в другую галеру не будет чем-то сложным, просто будет похуй.
Как-то через гитхаб или еще какие-то варианты есть?
Извините за тупой вопрос, я только учусь.
Системы контроля версий для того и создавались. github + инструкция по работе с github в vs code. Достаточно.
Я хиккан 30лвл+, хочу на жизнь зарабатывать - а ножками на работу ходить не хотет.
Да и с людьми разговаривать тоже особо не хочу - разве что по переписке (ибо язык совсем не подвешен).
Ладно, попробую ду-вайл.
> Как заставить консоль показать семь цветов, а затем No more colors available?
А зачем ты используешь для этого рандом? С рандомом оно будет выдавать рандомные цвета, есть даже вероятность, что оно 15 раз выдаст "синий" — первый раз запишет в консоль, а остальные разы не сделает ничего, и будет у тебя в консоли "синий", а потом сразу "No more numbers available." нихуя, ибо haveIt.length никогда не будет >= 15, оно вообще больше 7 не может быть у тебя.
С чего ты вообще решил, что при использовании рандома оно все 7 цветов обязательно покажет?
И зачем тебе пустая строка в массиве? Она всё равно не используется.
Так у тебя рандом неправильный. Он может несколько раз подряд один и тот же цвет выдавать. А ты просто делаешь continue. И какой-то jumpHere намудрил, который ничего не делает, без него continue будет работать точно так же, ибо нет вложенных циклов.
Раз цвета не должны повторяться, то зачем ты выбираешь из 7 цветов каждый раз? Если, например, сначала выпал "жёлтый", то дальше нужно не из семи цветов рандомно выбирать, а из шести, ибо уже без жёлтого. А ты зачем-то снова из семи выбираешь.
И ты так и не ответил:
> И зачем тебе пустая строка в массиве? Она всё равно не используется.
Доктор, поздно. Я уже сдал домашнее задание.
Работает, ровно так, как было задумано. Хотя логика, может, дефектная и для больших чисел не подходит, но для семи работает.
>И зачем тебе пустая строка в массиве? Она всё равно не используется.
Массив не мой. Я просто разместил объяву. Он изначально был дан таким.
> Массив не мой. Я просто разместил объяву. Он изначально был дан таким.
Ну тогда это хуета какая-то. Это где такие задания?
Оно было бы уместно только в упражнении "найдите признаки того, что код писал дегенерат", чтоб тренироваться отсеивать на собесах долбоёбов. А писать такое в обычном ЖС-учебнике (и создавать у учащегося впечатление, что такой код писать допустимо, и что вообще кто-то так делает) — это пиздец, мягко говоря.
> Доктор, поздно.
Да, такое не лечится, сразу в морг. Эту функцию, по-хорошему, не "дорабатывать" надо, как в задании написано, а стереть всё к хуям и заново написать по-нормальному.
Либо общаться через Телеграм, сообщениями.
В какую сторону двигаться?
Например на ютубе можно просто грузить контент и получать деньги с партнерки или Патреона, на Envato можно получать деньги за купленный у тебя продукт - а в программировании так можно?
Или все равно придется ходить на работу и общаться с коллективом?
test
Это копия, сохраненная 27 сентября 2022 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.