Это копия, сохраненная 2 декабря 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Больше пары строк кода в посте или на скриншоте ведут в ад.
Для программирования на HTML https://codesandbox.io
Для Node.js с консолькой https://repl.it/languages/nodejs
Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
А что за последний фреймворк на Байдене? зумеры, я за вашими фреймами уже не поспиваю, иди лучше займите делом и перепишите калбэки в асинки!
Svelte.js
Он давно уже, вроде.
Тудушка как-то так выглядит.
https://svelte.dev/repl/7eb8c1dd6cac414792b0edb53521ab49?version=3.20.1
Интим будет, если да пиши в лс
Как бы вы реализовали такую штуку в реакте:
Есть дивка, внутри неё может быть любое количество элементов, заданной высоты, но произвольной длины, как пустые блоки пикрил. И есть один блок управления, который всегда должен быть на своём месте в углу. Перенос элементов по строкам я сделал с помощью флекса. Но блок управления у меня сейчас просто висит там с позишн абсолют. И если совпадает так, что пустые блоки совпадают по длине, то они налезают на этот блок управления. Каким образом можно сделать так, чтобы блок управления висел на своём месте, а остальные элементы огибали его и переносились на другую строку? Брать размер каждого блока рефом, вычислять длину блока управления и потом вставлять невидимый элемент под зеленый блок это оверкилл? Есть какой-то способ это проще/лучше?
Хуярить гридами?
Ето нагуглилось, похоже на твое, но хз поможет нет
https://stackoverflow.com/questions/57407672/flex-items-with-right-aligned-static-items-on-first-row
Как насчет float?
Спасибо, очень похоже на моё
Почему?
ну там типа рекурсия применяется к соседям при прищёлкивании на клеточку
можно все делать на обычных дивах, или на канвасе
попробуй для начала змейку сделать - попроще будет
cors-anywhere нихуя не работает
а змейку серез канвас делать? как проще?
Флоат не пробовал?
>Брать размер каждого блока рефом, вычислять длину блока управления и потом вставлять невидимый элемент под зеленый блок это оверкилл?
Чё ты как не реактомакака? Пиздуй вычислять размеры элементов вручную, как идиы на жиквери делали.
Можно сделать с помощью grid-area: Область под элемент управления назвать одним именем, а все остальные другим(Одинаковым разумеется). Потом уже в стиле для блока объединяющего все остальные уже сделать flex с wrap-ом
Смотрите, во время поиска, когда некоторые элементы скрыты, при нажатии на удаление происходит пик.жпг.
Если удалить тразишн груп, то все норм, ошибки нету.
Или ошибка не в транзишн?
Удали у transition-group атрибут key. Ошибка будет также появляться? Как у тебя выглядит функция removeTodo? У тебя браузер ругается на функцию getBoundingClient...
Я уже понял. Написал не прочитав ответы
Так вот, вопрос. Стоит в перспективе обмазываться джавой до фуллстека? Вроде БАРИН любит фуллстеков, и платит $$$. А мне очень надо $$$, я готов даже эти ебучие деревья вертеть и плясать как в ЕПАМе, только дайте $$$.
Короче, как закатиться к $$$Джону$$$ на 4-5к зелени?
Ессно, через 2-3года, лычкой мидла.
> transition-group атрибут key Ошибка будет также появляться?
Ага, тоже.
>Как у тебя выглядит функция removeTodo?
Хм, вот тут ты попал, смотри: пик1 жпг.
С крестиком ошибка(что была в первом посте), там где галочка, там элементы не удаляются.
Я хоть и могу просто вырезать транзишн груп, но вот что-то пока не понял этот момент, чому так.
Есть подозрение, что это как-то связанно с тем, что я использую вуекс, завтра гляну, разберусь с этой тудушкой, опишусь как найду решение.
>там элементы не удаляются.
не удаляются из state.todos, они просто прячутся по атрибуту .show, когда поиск сбрасывается, они показываются.
там где filter все не так, офк, менял входные данные, забыл поправить
что-то я криворукий, пора спать
Тоже pull
До чего же мутабельно всё выглядит. Хоть бы копировал Исходные данные, делал с ними преобразования и присваивал в state, который тебе нужно
Он вкатился месяц назад. Сколько он вкатывался - неизвестно. Возвращайтесь к чтению.
Бамп вопросу
Есть. Поймешь, что да как на классах - будет проще разобрать на хуках. Плюс старое говно на классах переписывать придется.
Приветствуешь composition API?
Есть бесплатный бьютифаер для sql-кода: https://sql-formatter.online/
В нём можно настраивать форматирование, оно сохраняется в локальном хранилище + при каждом изменении отправляется пост-запрос, т.е. оно ещё хранится где-то у них.
Вопрос в чем. Если задать нужное форматирование, вытащить жысон с ним из локального хранилища, как сэмулировать поведение пользователя, сразу загружая настройки? В идеале написать прогу, которая будет заходить на сайт с преднастройками, отдавать стену сгенерированного sql-кода и обартно забирать отформатированный.
Или вопрос такой. Можно ли как-то локальное хранилище подменять? Если куки почистить или с другого браузера/компа заходить, настройки форматирования будут слетать. Можно ли как их подменять?
>>138283
Ок, кажется я нашел решение, возможно костыльное, да и ладно.
Во время поиска у элементов добавлялся атрибут todo.show = false.
Кликая по тем, которые видны, появлялась ошибка. Ошибка же не появлялась если нету транзишн груп.
Элемент прятался по v-if="todo.show", поменял на v-show="todo.show".
Походу v-if не работает с транзишн груп.
>Ок, кажется я нашел решение, возможно костыльное, да и ладно.
Хотя похоже я мудак, который плохо гуглит.
https://stackoverflow.com/questions/50528921/vue-js-transition-doesnt-wok-with-v-if-condition
Всё нормально, пчол. Зато благодаря твоей проблеме другие узнают о такой штуке
Потому что тем, кому это надо, удобно руками всё делать, но настройки каждый раз настраивать не хочется.
Я так понял, что тут достаточно значение ключа, которое содержит json с форматированием, через localStorage в консоли браузера подменять.
>удобно руками всё делать
>В идеале написать прогу, которая будет заходить на сайт
Сначала с требованиями определись
Типа пакеты с sideEffects: false будут гарантированно тришейкнуты, если их явно никто не импортирует? Или как?
Это я хотел, а им и так норм.
Никакого, если ты не передаешь промежуточные функции куда-то еще, переизобретая ООП.
GUI программирование без фреймворков вряд ли найдешь. А так, можно верстать сайтики на Жикури и Бутстрапе в веб-студиях каких-нибудь но и там Реакт присобаивают ни к селу ни к городу.
Возможность асинхронного вызова функции например. Вместо того чтобы сразу вызвать функцию со всеми аргументами, ты как бы создаешь замыкания на разных шагах, которые уже запомнили предыдущие аргументы. Цепочка из лямбд не атомарна по времени в отличие от цепочки команд. ну и банально вопрос для собеса проверить, насколько хорошо ты понимаешь тот инструмент на котором пишешь
ты запросто можешь устроиться на работу, где один из проектов окажется с легаси в виде классов. так что не советую скипать, это не самая большая проблема, которая тебя ждёт в разработке))
балииииин точняк
Шото сложно, я думал что-то попроще есть, типа как джуновские тз, где тебе пишут че сделать, какая должна быть верстка минимальная, какие инструменты/библиотеки юзать и какой результат должен быть. Я же нулевой
Фулстек - дно. Будешь сайтики по продаже китайской поебени для ашота за 120-180к пилить. Никакими там $$$ не пахнет мидлу-фронтендеру в крупном банке и то больше платят. Тырпрайзный фронт сложный.
>я готов даже эти ебучие деревья вертеть и плясать как в ЕПАМе
EPAM - галера где будешь пахать как папа Карло. Если вращать деревья то лучше целиться уже на FANGM. Платят даже на начальном грейде в разы выше чем синевору в галере.
Довольно распространенный пример: всякие шаблонизаторы для писем (пример такого интерфейса - `template(html)(context)`) и пр. Будешь ли ты каждый раз перекомпилировать шаблон, когда нужно отправить письмо, или все же будешь компилировать только тогда, когда текущая версия инвалидируется (например, админ поменял шаблончик в своей CMS-ке или шаблон используется первый раз), а при отправке письма использовать только скомпиленный?
Мемоизация? Если аргументы в add передаются асинхронно (например, первый известен сразу, а второй - только после отклика в каком-нибудь интерфейсе например), то add(x)(y) тут будет как раз кстати. По жабапидорски это выглядело бы как создание объектов типа:
```
var adder = new Adder(x);
// ... где-то дальше
adder.calc(y);
```
И в чем собсна багор? Замыкания - простая вещь, для применения которой не нужно городить всяких фабрик, стратегий и пр.
Начинай с easy/medium. Те же круды. Что-то уровня CRT пушки на Паскале, которую я в детстве писала.
Под "ванильным жс" понимается клиентский жс. У серверного жс свой манямирок, но даже и туда просачивается рякт через NextJS.
Из инструментов достаточно голого ЖС и HTML/CSS для их решения. Никаких там библиотек не нужно если и нужны, лучше самому написать для лучшего понимания. Ты же не корпоративный сервис какой-нибудь пишешь.
А что скажешь про прямой ремоут в иностранной компании?
Там и оплата в деньгах, и есть небольшой шанс на помощь в релокейшене.
>FANGM
Там наверное конкурс ебический и бонус баллы за пофильную вышку. Но я все равно свалю, вот увидите!
>Замыкания - простая вещь, для применения которой не нужно городить всяких фабрик, стратегий и пр.
Для создания объектов тоже не нужно ничего городить, берешь и создаешь без задней мысли. Собственно этим ты и занимаешься, когда сохраняешь стейт в замыкание и возвращаешь новую функцию. add(x) - это и есть та самая страшная фабрика, которой тебя пугали в детстве.
In class-based programming, the factory method pattern is a creational pattern that uses factory methods to deal with the problem of creating objects without having to specify the exact class of the object that will be created. This is done by creating objects by calling a factory method—either specified in an interface and implemented by child classes, or implemented in a base class and optionally overridden by derived classes—rather than by calling a constructor.
Спс
рутракер
Стейт хранят в функциях, в твоём примере никакого
Есть ли что-то бессмысленней в 2021, чем делать аналог фронта даунлоадмастера, да ещё и на электроне. Где наверное даже бэк для него не сделаешь на чистой ноде.
>Где наверное даже бэк для него не сделаешь на чистой ноде.
Нода разучилась читать и писать файлы в файловой системе?
Тут конечно больше для фулстэка РАБотка, но гуй всё равно будет на html/css, можно даже рякт запихнуть.
И кстати рякт намного лучше для электроноподелий подходит, чем для веба, так как не нужно пердолиться с синхронизацией состояния между неизвестным количеством вкладок.
Инглишь мазафака, аре ю андестенд?
Ну или можешь учить все три фреймворка, остальное говно говна, учится за неделю +-.
>я всё вплоть до красной линии отмеченное фиолетовой галочкой должен освоить
Ну типо. Выбираешь, естественно, что-то одно, а не вообще все. Самое сложное там фреймворки.
И лучше после кантора сразу навернуть фреймворка с scss/less.
>Нода разучилась читать и писать файлы в файловой системе?
А как на ноде перехватить момент загрузки файла. Чтобы у тебя не окно загрузки браузера вылезало, а твоего приложения. Тут скорее всего только какие-то хуки в винапи.
sass\less это такие штуки для css, удобнее писать, быстрее, код короче. Попробуй, за вечер вникнешь в суть.
Разницы между ними не так много. Почти во всех вакансиях есть требования знания одного/всех. Там всей информации на пару вечеров. Лично я предпочитаю scss(иначе называется sass).
Про постксс не скажу, не щупал.
Рендеринг на сервере - серв получает запрос, что то там вычисляет, результат сует в html, отправляет готовую html клиенту
Рендеринг на клиенте - клиент получает шаблон html, скрипты и уже скрипты на клиенте делают запросы, вычислют и тд
Похоже нет и где взять проекты? Типо сам себе задание придумай и делай чтонибуть?
тудушки, мувисерчи, слайдеры, все-все-все, что придет тебе на ум.
Не советую делать йобо-большие пет проекты, делай маленькие, средние. Чтобы разработка и отлов багов, рефакторинг не занимал больше месяца. Все равно через некоторое время взирая на старый код ты будешь ловить кринж.
>>140464
>В смысле задачами в конце главы?
Толсто, давай тоньше.
таблицы с пагинацией еще популярны, всякие страницы корзин.
Спасибо за советы!
бамп
разобрался.
Глянул я в общем то задания, и немного не понял. Они вот допустим в первом задание дают html academy для изучения базы html css и гит. Во втором же задание дают сверстать полностью сайт при этом ещё дают сверстать всплывающие менюшки. И типа здесь смысл в том, что я должен сам искать весь материал который мне понадобиться и приступать к изучению или я чего то не вижу у них?Я к тому что курс academy там показывают ну максимум как пользоваться css, при этом чего то углублённого там нет. В общем какой то очень странный прыжок, я бы понял если бы дали сверстать хотя бы одностроничный сайт, покидали бы доп инфы, а потом уже следующим шагом к более масштабному проекту.
Ты не вкатишься.
Как-то можно это красиво придумать? Наивный подход работает, но мне не нравится, как он выглядит.
https://ideone.com/5ftPJE
Хочется красиво.
хз мб у меня обман восприятия, я тоже прочитал кантора и поклевал хтмл цсс, вот месяц ковыряю реакт и думаю, что лушче бы я сразу с него начал и по мере всё остальное узнавал. мб ошибаюсь
хороший из тебя советчик, мудрый.
представляю твое лицо, если бы без жса на рякте начал бы писать.
ну вот какие темы из жс используется в реакт приложухах: деструктуризация, стрелочные функции, контекст, функции, переменные, цикл через map, условия, switch case, интерполяция строк, колбеки, промисы, импорт экспорт. я бы любого ньюфага за неделю научил на реакте писать на уровне джуна
Наоборот, сервак прогоняет контекст запроса через шаблоны, чтобы высрать html, а клиентский рендер просто получает голый html и там уже суёт в него что надо.
Серверный рендер может работать вообще без клиенстких скриптов, когда клиентский вообще не будет работать без них.
А, на английском гуглится, все, не надо
Помогите с datalist
Что надо: нужна страница, в которой вводится идентификатор машины, после чего заполняется нужные поля заполняются значением из базы данных. (в БД 30 тысяч строк)
Я сделал input с обработчиком input, datalist и вложенным select, который при вводе ищет значение в БД, и на основе полученных данных формирует option с value и data-value, после чего, по data-value формируется запрос на строку в БД.
В теории всё нормально, но иногда всё это странно работает, например выбираю в списке одну позицию, а выбирается совершенно другая, как будто выбирается самый первый option.
{quote: "Life isn’t about getting and having, it’s about giving and being.", author: "Kevin Kruse"}
console.log(this.state.quotes[0].quote);
TypeError: Cannot read property 'quote' of undefined
ЧЗХ?
Найди и сверстай макет одностраничного сайта, ты тупой?
На основе прочитанного, я могу с неполной уверенностью заявить, у тебя где-то ошибка.
Гит, песочница, скриншоты. Хз. Лучше, если возможно, песочница.
Ваше мнение? Почему?
https://www.typescriptlang.org/play?#code/MYGwhgzhAEBKYBMCWB7AQgVwC5ZQOwCgBvAgSGgGEALAU2AGsaFoAuaAIxRRBrD2gC80AGZgQEGgQC+BAqEgxqdephz5iZSrQZM2nbr35DR4yTIJI8WGgCdRwGtACSShmHY9oJaD63LdHFw8fNKywhh4wFio-H4MrvQAFNDA2vTuPGwuaRk0AJTePmK2WImpyrkAdAlMeQDcoQQ8WNBYAIyC0Hg0AO5wiKiquHiJ9QTt1WlMnVg2GDQNTTQtWABMnd19CUP4ow1rk-7MQrPziwkJie1jF2lXq-VAA
Мне не обязательно разбирать мой ход (пока что), мне хотя бы примерную схему, как это реализовывают опытные разработчики. А дальше я сам попробую додумать.
Пользователь должен только ввести ссылку и ожидать результат.
Все это для того, чтобы мой айпишник не забанили на стороне сайта с контентом, т.к. там будет много запросов. А при схеме, которую я описал, меня не спалят.
Современный браузер заставишь так сделать без гимнастики?
>можно сразу на клиенте тогда склеивать
Для склейки изображений я использую библиотеку libvips. Ее только на серверной стороне можно использовать.
Ищи другую. Пусть клиент трудится, а не свои вычисления и трафик сливать просто так.
Где-то советуют вкладывать.
В общем, я уже не знаю, что делать, поэтому и решил спросить здесь.
В общем у меня настроена работа webpack так, что я добавляю атрибут styleName для тега, чтобы потом вебпак сгенерировал scoped-стили для компонентов, определяясь на этот самый styleName. С этим всё нормально (проверил на js, всё работает). Проблема в том, что тайпскрипт ругается, мол, что это за непонятный атрибут такой styleName у тэга, я такой не знаю. Собственно вопрос, как это решается? Залазить внутрь реакта и прописывать там тип styleName не вариант офк
>В общем у меня настроена работа webpack так, что я добавляю атрибут styleName для тега, чтобы потом вебпак сгенерировал scoped-стили для компонентов, определяясь на этот самый styleName.
Зачем этот костыль, когда в вебпаке можно CSS модули подрубить?
Можно, но мне не нравится концепция, что ты стили импортируешь из переменной. Я стремился ближе к тому, как это выглядит в Vue и Svelte (ну и вообще хотел узнать получится ли)
А зачем операторам видеть id в строке, если их интересует только VIN, и ищут они машины именно по нему?
Спасибо большое. Хотел это завтра погуглить. Выручаешь
Повторю: мне не нужно дословное решение, мне хватит хотя бы направление (какие функции, какие события) куда копать, для реализации динамического списка.
Объясние пик, как это работает. Всмысле как работает это форматирование, что такое тут count и maxCount? Это переменные или функции или что вообще?
Я хочу её подменить, но не понимаю как она работает.
Библа https://cdn.jsdelivr.net/npm/semantic-ui@2.4.2/dist/semantic.js
Строка 8171.
Мне надо поведение изменить, потому что из коробки оно работает не так, как мне надо.
Я не знаток жса, но раз никто умнее пока не ответил
Да, это переменные. Но там можно писать и функции и вообще блоки кода. В питоне это бы называлось форматированными строками, в баше подменой команд. В js ты можешь внутри строки в фигурных скобках написать команду, и она будет заменена на результат её выполнения. То есть в твоём случа {count} будет заменён на содержимое переменной count.
Может быть, я с жсом знаком только до той степени, чтобы он мой васм запускал.
https://pastebin.com/hVt6tu1c
Мне нужно подменять {count} длиной массива selectedList.
Я его длину регулирую внутри коллбеков onAdd и onRemove.
Но на место count всегда попадает 0.
Как мне надо в этом случае делать, чтобы selectedList был глобальным и содержал текущее состояние?
Так я же не прошу посмотреть код. Я прошу подсказать, как правильно это реализуется.
Т.е. если компонент принимает {test: SomeType, test2: SomeType2}[] и ему передают пустой массив, то ошибок не будет?
Ты же понимаешь, что таким способом ничего не выйдет? Вообще не понятно что тебе нужно. Расписать последовательно выполнение? Зачем? И как ты себе это представляешь? Вопрос поставлен плохо, вообще не понятно как на него ответить.
Мог бы уже сам накидать пробную реализацию, ее в песочницу, там бы уже и можно было бы поправить, если надо.
Как-то устно/текстом описывать, ну это сложно/непонятно.
>Вопрос поставлен плохо
Вопрос поставлен отлично.
- Я использую жквери и колбеки в 2021, чому я мудак?
- Тому что ты используешь жквери и колбеки в 2021.
>>141668
>ообще не понятно что тебе нужно. Расписать последовательно выполнение? Зачем?
Просто принцип реализации динамических даталистов, можно даже без кода.
>Мог бы уже сам накидать пробную реализацию, ее в песочницу, там бы уже и можно было бы поправить, если надо.
Да мне не нужен код, пока сам пытаюсь разобраться. Да и без контролера и БД он будет не особо информативным?
https://staratlas.com/
Зайдете на него, потом надо мышкой по центру щелкнуть и то что меня интересует откроется. И дальше крутите вниз мышкой до бесконечности, можно вверх крутить. Контент как бы не скролится тупо вниз/вверх, а исчезает/пропадает/меняется/останавливается в любом состоянии и может перематываться назад. Можно даже мышкой вправо влево крутить и вся инфа вращается
Тяжело описать, че это вообще за еба технологии такие?
>Подскажите, благодаря каким фреймам и прочему делаются такие мясные сайты как этот?
Хуйню какую-то я написал
Благодаря каким технологиям это вообще реализовывается, я бек учил, в фронте только базу знаю
Мне кажется ты тредом ошибся
Раньше такое поведение реализовывалось через библиотеку scrollMagic. Сейчас пользуются scrollTrigger. Я говорю именно про привязку движения анимациий к скроллу
Красивый сайт. В будущем еще круче поди будут, а если еще VR подключить, то прям целые мини игры/фильм/вселенные.
Тут надо чтобы на сохранение в headless cms летел запрос на api твоей билетов системы, которая запустит решил gatsby.
Сделано на GSAP.
>Тяжело описать, че это вообще за еба технологии такие?
Это называется хранить состояние в переменной и обновлять её по мере необходимости.
Всё верно, либо Expo-cli, либо React Native CLI (Иногда его называются Bare workflow, потому что это по факту голый проект без предустановок, expo лутше)
Информация вот тут https://reactnative.dev/docs/environment-setup
забудь кликнуть на таб "React Native CLI QuickStart"
большое спасибо за оперативный ответ. А то я начал изучать, везде делают на expo, а мне тимлид сказал никакого expo. Люблю я этот тред, постоянно помогаете, аноны.
Да ну, нет проблем.
Но вот то, что у тебя Expo запрещают - это поминки, конечно. Будет много пердолинга. Надеюсь у тебя там всё хорошо будет, няша.
Не, не он. Пару дней назад я был на свадьбе брата
getContext('2d') в getContext('webgl')? Чтобы я просто взял, тупо заменил все эти beginPath(), moveTo(), stroke() на примитивы или сниппеты webgl, и оно нарисовало то же самое?
Производительность на начальном этапе не интересует, хочу сначала заменить drop-in, а потом поэтапно рефакторить и заменять на производительные функции. Знаю, что библиотеки так могут, но есть ли такая табличка или гайд для ручной замены?
Сделал с помощью float, но вот проблема, нужно сделать так, чтобы последний элемент всегда заполнял всю оставшуюся длину строки. Без flex я не знаю как это сделать, потому что если для инлайна задать 100% длины, то элемент сразу же становится длиной во всю строку, и переносится на новую. Есть ли для этого решение? grid-area имеет нулевую поддержку в ie. Flex в этом случае не позволяет использовать float
Хоть подскажи тогда, какие события использовать? Для ввода input. а для отправки?
Либка для того, что не городить event emitter "лапшу" и велосипеды как во всяких Qt. Очередной дроч на верстальное декларативное погромирование, как и сам Реакт и иже с ними. Кабану же нада быстра, но чтобы при етом код не превращался в спагетти с запутанным порядком изменения состояний.
Хотя при росте сложности программы и том же темпе, реакт/редукс-говно все равно превращается в спагетти которое надо рефакторить пока не сожрало.
Давай более приближенный к реальности пример
Пиши сам. Никто за ручку вести не будет. Напишешь говнокод, сделаешь рефакторинг. Мы посмотрим на результат.
Я даже не знаю какими инструментами ты орудуешь, как тебе подсказать какие события нужны?
Насколько я понимаю, там работы на пару часов, уже бы давно сделал, уже бы давно получил ответ. Но ты уже третий день пытаешься получить ответ на вопрос, на который никто не отвечает, называя тебя наркоманам и отправляя в песочницу.
Твой вопрос целенаправленно игнорят, слишком абстрактный, не понятно что тебе нужно. Тут иногда сидят умные люди, даже они тебе не отвечают.
именно изображение воспроизводится на canvas
а чем expo лучше? помню у меня сложилось впечатление что expo тебя ограничивает в каких то вещах и тебе приходится сильно пердолиться. была какая то проблема с отслеживанием положения скролла или что то подобное. хорошо что я на раннем этапе это заметил и пересел на rn-cli. не знаю бед
мимо пишу на react-native третий год
Да, ошибок не будет, ты же только знаешь, что в массиве могут быть эти элементы, а не гарантированно должны быть
Запилил тебе пример, как это работает и как можно зафорсить проверку длины массива + в конфиге ТС стоит включить noUncheckedIndexedAccess для требования проверок существования элемента при обращении по индексу
https://www.typescriptlang.org/play?ts=4.4.2#code/C4TwDgpgBAogtmUAVArmANtAvFA2gXQG4BYAKDIGMB7AOwGdgoIFk1MBhKgJy4guABcsFiFQZseIpVoMmIsZhg9uQ+IlFsJuAExTypUJCgA5FHABGELgBkAlrJwBBHgEMQAHhpnLXAHyEoAHpAqCwwqC8LKwIocxRGMF4AMysIABMoJO4oF1cQOigqJKgAcwgaK1sKOjJpekZInzsGIVMom3tGHAIA4Kg4WxKAC0ZLOXUAGgiqKEwaEuAhqF4GLirgWxla0lsaYCsklwpoADFbAA9063KFoebgdyQp6-nFpnP9mjSCxqtfd8+3ygzi4bjsAGsII9-gBvMhQBHLCAuNK0dAgWY3RZCF63EikAC+ZEM0AAanxgNkcGdLmlcYt7p5vFYpgBmfzbaj1KAANwp3E4PApQnJ-CpeAAjFNtGz8DkClyGPjFYw+WKuEouCooKLKVxQpLpWypgAWOUuBUyYD4oA
>Я даже не знаю какими инструментами ты орудуешь, как тебе подсказать какие события нужны?
А что, в JS их дохуя? Или для даталиста их надо десяток выбрать
>Твой вопрос целенаправленно игнорят, слишком абстрактный, не понятно что тебе нужно. Тут иногда сидят умные люди, даже они тебе не отвечают.
Вопрос "как люди реализуют динаический даталист с выбором" для тебя слишком абстрактный?
>А что, в js их так много?
Для ввода как минимум input или change
>А что, так много вариантов?
Нет, поэтому и спрашиваю верный вариант.
Лучше тем, что не надо ебаться с установкой некоторых пакетов, есть готовое приложение на телефон Expo Client, чтобы наглядно смотреть как у тебя всё выглядит на твоём телефоне (без провода), а не открывать эмуляторы/симуляторы на разные разрешения телефонов. Можно делиться приложением, которое загружено в Expo, чтобы удалённо его можно было посмотреть в Expo Client, не устанавливая APK (правда на IOS нельзя такое уже проворачивать, к сожалению) Помню ещё что-то было, но на вряд ли вспомню.
Насчёт скролла. А какая там у тебя могла проблема возникнуть? Отслеживание скролла у Animated.ScrollView происходит с помощью Animated.Event ( неважно, чем ты пользуешься, API от самого react-native или reanimated). Оттуда из коллбэка можно отслеживать координаты скролла. Я думаю тут вообще Expo не причём, либо я возможно что-то не так понял.
Но ты тоже не слушай меня сильно, я просто свой самоличный опыт без менторов рассказываю
Ну и прекрасно, теперь сравни варианты и выбери тот, который тебе подходит
Не совсем понял тебя. Можешь кинуть скрин как выглядит объект, пожалуйста?
Это для мультиселекта
Ну так не совсем понятно, что там еще булеаны об их выбранности содержаться или это и не нужно, хз
В какой ИДЕ работаете?
Скажем в Index.module.css:
.someContainer { color: white };
А в Component.tsx:
import styles from "./Index.module.css"
export const Component = () => <div className={styles.someCo|}></div>
Чтобы вот там вот в styles.someCo| (это курсор типа в конце) выводились варианты автокомплита
Что за хуйню ты несёшь? Пиздуй в свой загон байтики оптимизировывать дальше.
Ты откуда знаешь? У меня там ебанутые вычисления. В 2019-ом всем тредом оптимизировали с помощью побитовых сдвигов вместо умножений и сравнивали с тем же кодом на C++.
>Да и без контролера и БД он будет не особо информативным?
То что у тебя вюха захардкожена на контроллер и БД ужзе о многом говорит.
А какой-нибудь, скажем, треш на борту браузера, замедляющий работу. Или так не бывает?
Как вы делаете верстку, если у вас в нарисованном дизайне версия для десктопа сильно отличается от версии для мобилок? Настолько сильно, что вся структура документа меняется и стандартным css эти изменения не запилить.
Пишу на реакте, если че.
>Настолько сильно, что вся структура документа меняется и стандартным css эти изменения не запилить.
Сказать заказчику, что очень сильно меняющийся лэйаут - плохой юзер экспириенс, так как один и тот же юзер может и с мобилки и с ПэКа заходить на сайт. И обкашлять изменение дизайна.
Вьюха у тебя получает джейсон, а не "значения из БД". Получением значений из бд должен заниматься отдельный модуль, а вьюха только потреблять результат этого процесса.
Сами вычисления будут проходить идентично
Треш на борту браузера разве что забивает эвент лупу рендером, но все равно И/О задачи в какие-нибудь 100 асинхронных запросов браузер не почувствует, и если че можно выделить отдельных веб воркеров
Ну и если ты там какие-то миллисекунды дрочишь то заворачивай веб ассембли
В веб ассембле не осилил как сделать math.random, а там на него очень много завязано.
>Вьюха у тебя получает джейсон,
Как бы это очевидно, что AJAX получает или JSON или XML?
>Получением значений из бд должен заниматься отдельный модуль
Ты про контроллер?
>Как бы это очевидно, что AJAX получает или JSON или XML?
Не совсем очевидно для тебя, учитывая, что даже песочницу не можешь сделать, не затягивая весь сервер и БД.
>Ты про контроллер?
Контроллер на сервере, мы говорим про вротенд.
Как вы справлялись\справляетесь с депрессией от того, что для вката во фронт нужно так дофига изучить?
Я уже немного охуеваю от обилия инфы. Каждая тема в отдельности вроде не особо и сложная, но их так много, что ни конца ни края этому не видно.
HTML\CSS - ладно, похуй. JS - иногда мудрено, нюансы сложно запоминаются, но больмень понятно. WEB API - не сложно, но обилие методов, свойств и прочей ботвы уже начинает вываливаться из башки.
А дальше ебучие фреймворки. А дальше ебучие плагины к ебучим фреймворкам. А дальше библиотеки. А потом системы сборки. А потом тестирования. А еще гит-хуит. А потом оказывается, что еще и алгоритмы знать неплохо бы. А потом всякие методологии.
И ты такой - ебааать! И чем больше, тем сложней все это запомнить. И уже начинаешь забывать что-то базовое из ебучего JS. Как в нем работает, например, неявное преобразование и прочая хуета, за которую нужно будет уметь пояснить на собесах.
Вы все такие суровые, успешные и уверенные в себе люди или как-то себя поддерживали в минуты сомнений?
Охуеть же!
>Не совсем очевидно для тебя, учитывая, что даже песочницу не можешь сделать, не затягивая весь сервер и БД.
Потому что мне не нужен код, мне нужен метод построения динамических даталистов.
>Как вы справлялись\справляетесь с депрессией от того, что для вката во фронт нужно так дофига изучить
Не вкатывался во фронт
двачаю
Ебанашки все никак не могут взять в толк что жс сложен не синтаксисом (лол) и не промисами (которые вообще одно из самых доходчивых представлений асинхронных операций) а своми нюансами блять, когда углубляешься в ЯП понимаешь насколько решают нюансы (и какое же все-таки говно этот ЖС, но альтернативы не шибко лучше).
И что же в итоге пишешь на этом JS? Мне как-то казалось, что в остальных местах JS не сильно нужен
>мне нужен метод построения динамических даталистов
Ничем не отличается от построения любым других элементов в доме динамически. Конкретно в твоём случае ты жиденько обосрался в коде, который естественно не можешь показать, потому что у тебя там неебаться новейшие технологии, а не круд, выплевывающий джейсон в шаблон.
Все так, такие вот нюансы работы ф-ции call.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call#parameters
Перечисли, что ты изучил. Мне кажется, ты уклонился в сторону не совсем нужного для джуна. Тот же гит осваивается за один вечер, как коммиты делать.
А вообще полезно вдобавок к пройденному курсу посмотреть какой-то другой, а еще пересматривать курсы. Повторенье - мать ученья. Пара-тройка курсов по JS, столько же по фреймворку. Но не те, что по 50-60 часов. Параллельно решаешь задачи на Leetcode и Codewars и смотришь необходимую теорию на ютубе. Ну и пет-проекты, а также собесы. Чем раньше, тем лучше, наверно. На первые 5-10 собесов сходи чисто поглядеть, как сам процесс происходит, не воспринимай это, как нечто судьбоносное.
>как-то себя поддерживали в минуты сомнений?
Худшее, что может произойти, это то, что твой вкат растянется еще на месяц или два. Тогда придется идти на какую-то работу, если не на что жить.
А так, все эти сомнения ерунда. Когда изучишь нынешний источник информации, скачай какой-нибудь хороший англоязычный курс и будешь при прохождении ощущать, что многое почти все тебе уже известно. Когда на пет-проектах попрактикуешься, то все встанет на свои места.
>Все так, такие вот нюансы работы ф-ции call.
Учитывая, что ESM автоматом подразумевает строгий режим, такой себе ньюанс.
Я даже хер знает, как перечислить. Каждая тема - как бездонный колодец, в который можно падать вечность.
Сказать что знаю CSS? Ну вроде знаю. Но насколько глубоко, как оценить? Напишу ли с закрытыми глазами какую-нибудь сложную разметку на гридах? Херов. Напишу ли простую, где не нужно вспоминать всякие хитрости - да, напишу. Умею ли писать сложные анимации - не особо. Отличу ли червя от опарыша flex от float - не вопрос.
И так по всем пунктам. Вроде знаю всякое, но не мастер ничего.
Если перечислять все, во что успел погрузиться:
HTML, CSS, JS, WEB API, Vue\CLI, Vue-router, Vuex, потрогал Mocha + chai. Использовал пару раз SASS на пол-шышечки. Плюс опыт написания шаблонов и плагинов для Wordpress и Opencart.
Дальше планирую, если не хвачу белую горячку от всего этого безумия, пощупать SSR, TypeScript, может быть издалека посмотреть на React. Чтобы быть в курсе и в случае чего иметь возможность сравнить с Vue (и перепрыгнуть, если понадобится).
>Использовал пару раз SASS
Углубись в это, после того, как углубишься - затянет, больше не будешь css юзать. Как минимум я перестал.
Мимокрок.
Чтобы не пердолиться с неймспейсами. И для обхода блокировщиков рекламы.
Можешь это глянуть для закрепления
Лаврик
https://nnmclub.to/forum/viewtopic.php?t=1425274
https://nnmclub.to/forum/viewtopic.php?t=1414408
Климов про тестирование
https://nnmclub.to/forum/viewtopic.php?t=1481151
Vuemastery
https://rutracker.org/forum/tracker.php?f=1565&nm=vuemastery
Мне даже не углубляясь понравилось
Css юзаю когда нужно поправить что-то на уже существующих проектах. В каком-нибудь cms шаблоне или типа того. Если пишу что-то с нуля, то, понятно, с SASS-ом. Хоть и пользуюсь только малой частью его возможностей. Никаких миксинов и прочих премудростей.
Да, Климова с Лавриком на ютубчике посматривал (вместе с Мининым и прочими). Каждый, конечно, в своем роде.
За ссылки спасибо, качну. Но еба. Тестирование Климова - 10 часов! И это только 10 часов инфы. А потом, по хорошему, нужно еще 20 часов практики, чтобы это все хоть как-то в голове осело. Ужс!
Почему не работает?
https://codesandbox.io/s/trusting-silence-fkl5m?file=/src/App.js
Забыл подробности:
Если с маленькое окошко (уже 1080px) раздвинуть, то вызовется setIsMobile(false), стейт isMobile соответственно станет false, и на экране будет написано "desktop".
Но если с большого экрана сузить обратно до маленького, оно даже не заходит туда...
Почему? Без проверки компонент будет ререндериться каждый раз, когда тригерится ресайз эвент.
Мне нужно, чтобы он не вызывал изменение стейта, если размер экрана маленький, а isMobile уже true
В смысле зачем? Чтобы организовать глобальный стейт для всего реакт приложения, тем самым стейт доступен в любом компоненте проекта. Это решает проблему props drilling со стороны разработчика
Нужен, если его логика не выходит за рамки этого самого компонента. Своего рода инкапсуляция.
Проблема, как таковая, в выборе данных по id из динамического выбор.
>Конкретно в твоём случае ты жиденько обосрался в коде, который естественно не можешь показать, потому что у тебя там неебаться новейшие технологии, а не круд, выплевывающий джейсон в шаблон.
Конкретно, ты за три дня так и не смог высрать нормальный ответ, кроме "покажи код".
Теперь понял
if (!isMobile && width <= 1080)
Никогда не выполнится после первого прока десктопа
Что ты хочешь сделать и че у тебя там ререндерится хз
Да ты абсолютно прав, но я уже четыре часа не могу разобраться, почему.
Вот у меня стейт isMobile === false
Тогда вот это
if (!isMobile && width <= 1080)
должно быть истинным, если я дергаю окошко в пределах меньше 1080
Но так не происходит o_O
>Конкретно, ты за три дня так и не смог высрать нормальный ответ
Хуя предъявы, пердолик запутался в доме, а виноват тред на дваче.
Прикинь, но если люди что-то не понимают, то они спрашивают совета, что я и сделал.
И если тебе нечего сказать, то можно спокойно не отвечать, прикинь.
Какой нахуй стейт isMobile, ты ебанутый?
>Прикинь, но если люди что-то не понимают, то они спрашивают совета, что я и сделал.
Ты и не спрашивал, изначальный вопрос был "бля у меня что-то не работает как пофиксить???".
Так я потом уточнил.
Если ты не знаешь, то может просто промолчишь, может умные люди найдутся и просто подскажут.
Пиздец. Я не понимаю. На ванильке все работает:
https://codesandbox.io/s/agitated-dust-l13hf?file=/src/index.js
Там в примере с реактом кложуры какие-то хитрые или что? Я же не могу быть настолько тупым, чтобы за пять часов не вкурить???????
Ладно, оно заработало каким-то образом
Да в хероку динамические порты
Лучше всего заврапь все одним сервером в контейнере и оставь релейтив /post
>heroku
чувак, это не серьезно
Если ты хочешь быть полноценным веб разработчиком, то оплати vps(200 рублей в месяц примерно) и разберись как там все настроить и выложи туда свое говно, можешь потом сказать на собеседовании как ты ахуенно освоил nginx и линукс
а в чем смысл деплоить одной кнопкой свой учебный проект?
нужно же развиваться и учить новое
И правда, окзывается можно просто оставить путь к папке без указания хоста. Спасибо, помог.
расскажите про jamstack
Он несет хуйню
Сегодня все закидывают контейнеры на платформы, впс только в полупокерных продакшенах
>платформа содержит конейнер, который содержит ос на которой работает сервер который отдает статический js файл
Я правильно тебя понял?
https://codesandbox.io/s/misty-glade-nuxsq?file=/src/App.js
Короче:
- хук useWindowSize берет и чекает размер окна без всякого троттлинга
- к нему подключается useIsMobileWidth - он в себе хранит стейт isMobileWidth<boolean>, который правильно переключается: если посмотреть вывод в консоли, стейт меняется лишь во время перехода через брейкпоинт ширины окна.
- к useMobileWidth подключается App, и App рендерит в зависимости от этого текст "Desktop"/"Mobile"
Но если посмотреть на консоль, App ререндерится каждый раз, когда тригерится resize эвент окна
Как запретить ему ререндериться, если isMobileWidth не меняется?
Другая работа есть, которая забирает много времени
Поэтому школьники и студенты, учитесь пока много времени и родители кормят
чтобы писать
.parent {
.child {}
}
вместо .parent .child {}
Чтобы освоить это много времени не потребуется
Дай бох здоровья
Блядь лол, я же написал что пару часов на всю хуйню уйдёт, вопрос в том будут ли требовать препроц вместо цсс
На собесы ходил? Как учишь? Какие проекты писал?
Ты не понял
Тебя на собесе выебут этим вопросом. Сколько бы ты ни копротивлялся про ESM и великий 2к21 где давно уже нет того же var, тебя обоссут
Платить за несколько килобайт? Как же глубоко засунули капиталисты свой сапог в жепу разработчикам... За домен плати, за хост плати. А нормального коммунистического p2p-интернета так и не завезли (i2p говно).
Всё просто - this говно, и его использование в коде - признак макаки и антипаттерн.
>АРЯЯЯ НИНУЖОН! НИНУЖОН THIS ЯСКОЗАЛ!
>Мы вас выслушали и повторяем: мы вам перезвоним, всего хорошего
>АНТИПАТТЕРН! МАКАКАКИ КРИВОРУКИЕ! НИНУЖООН!
>Очень хорошо
Речь не о трудоустройстве. Речь блядь о том, что платишь за воздух, за ебаные буквы в строке браузера. Тебя наебывают, гой. Можешь сказать спасибо ICCAN.
>ебаные буквы в строке браузера
От создателей "напиши мне убийцу пейсбука, бюджет 0р" и "что значит неделя работы, там же просто два поля и кнопка логина".
Хероку удобен только тем, что можно двумя командами в сосноле задеплоить.
Мимо пользуюсь хероку.
>адрес node.js изменится с localhost:5000 на какой-то другой. Заранее благодарю.
Забрать адрес из строки браузера религия не позволяет?
Но какие инструменты сейчас принято использовать? Вопрос не про фреймворки, так что nest не предлагайте
мимо
1. Сначала типизированные ООП язык, вроде Java или C#
2. Потом паттерны проектирования
3. Потом опыт коммерческой работы на чем-то из первого пункта
4. Только потом Нода
Не знаю. Почему ты так думаешь?
Правильный ответ: никто не знает
Потому что в экспрессе и в жс на бэке просто нет нахуй выработанных методик и архитектурных паттернов. Все хуярят так, как вздумается. Поэтому многие и плюются нахуй от Ноды и не желают с ней работать - потому что код ебаное говно. А так Нода могла бы изи потеснить тот же Питон на бэке (бля на Питоне вакансий больше чем на Ноде нахуй, пиздец)
А я его поддержу, разве что третий пункт не думаю что обязательный. Просто если у тебя нету опыта нормального программирования, то я боюсь на ноде ты будешь писать лютый говнокод.
И главное, ни на одном курсе тебя не научат как этого избежать. Ведь, как только что написал анон >>143681, никто и сам нихера не знает.
А вот на шарпе, джаве, питоне, да даже на пыхе, ты изначально окован в рамки фрейворка, и либо сделаешь что-то нормально, либо не сделаешь никак.
Экспресс никаких рамок не предлагает, необходимо иметь некий опыт чтобы самому себе их придумать и им следовать.
Как вакансии назывались? Я как не посмотрю, джуны у них там от мидлов отличаются только названием вакансии и зарплатой.
>Настолько сильно, что вся структура документа меняется и стандартным css эти изменения не запилить.
Если https://developer.mozilla.org/en-US/docs/Web/CSS/order не помогает, удваиваю >>142826
Молодец, нашел вакансию, учи, отзывайся.
Если не хуйлоад пилить, то с чего это? Вполне себе ок платформа, не хуже Джанги и PHP сервера.
2 скрин: проект на React Native без TypeScript VSCode тупо молчит и шлет меня нахуй. в чем трабл? почему он мне ничгео не подсказывает ? (там на скрине показывает только то, что уже написано в документе)
забейте. все починилось после перезапуска приложения.
я заметил, что вылетает ошибка "Extension host terminated unexpectedly" из-за этого падают все плагины, как я понял, даже базовые и нихуя не работает. (настолько, что даже автозаполнения строки нет) в итоге вскод предлагает перезапустить extension host и все начинает работать. Надеюсь, больше не вылетит эта ошибка, если вылетит - буду чинить посерьезнее.
Попробуй перезапустить приложение.
const объявлена ниже другой const (на скрине function declaration, но expression тоже самое) получаем по идее ReferenceError. Я походу ебнулся, но не догоняю
А свойства comtainerStyle передаются?
По поводу твоего вопроса- я думаю всё дело в обёртке Stylesheet.create({}). попробуй её убрать и просто оставить стили как обычный объект. Будут стили применяться?
Да дело совсем не в ней, ты же видишь обычный объект containerStyle, его стили применяются. Хех, в такие моменты понимаю, насколько я все таки зелёный
А, тогда всё понятно стало
На вряд ли он сможет это сделать. Это же react native
Задай вопрос на Stack Overflow. Ты думаешь тут гении сидят штоле?
К концу интерпретации файла у тебя внутри функции App будет название перемнной и сама переменная заинициализирована, т.к. функцию ты ещё не успел вызвать, то и ошибки референса ты не словил, а вызвав App позже (но не до инициализации) у тебя уже есть эта переменная
Держи пример:
https://www.typescriptlang.org/play?#code/PTAEGMHsDsGcBdTQJbQKagLygDYEN40BJFeZPHZALwORgG5QRQ0AnVyVgKCjkQHM08AJxZQACgCUWAHy4CxUuUo0yDLl2a9YkHGgB0OSP3GCRUyY2ZsO3HjATzCJZGQrVaMMcPobtugyMTM2ELKzAAM1Q0LiA
По хорошему во всех дефолтных настройках линтера бьют по рукам за объявление после места использования
Пробовал так: if (shit in usersshit[0]){} не получается. В чем ошибка?
Нет, это не то. Это подсвечивание css темплейт строках styled-components.
Кстати styled-components я бы с удовольствием использовал, но эта хуета с next.js дублирует селекторы при раздаче статического стиля (то есть каждый селектор пишется по два раза). Иссуи по этой теме с 2018 года висят закрытыми и без ответов.
мимо не хочу работать официально по определённым причинам
Если будет достаточно бесплатного firebase
ах, действительно. понял, спасибо, анон)
Штирлиц домрощенный, слей говно из башки
https://ru.wikipedia.org/wiki/Игра_«Жизнь»
Конечно забавно как оно мигает на экране консоли, но хотелось бы запилить хоть какую-то графику под это. Что юзать для ЖСа?
В консоли же символы. Возьми для начала фиксированный шрифт и сделай то же самое на символах в обычном div.
Потом можно взять таблицы, canvas и даже svg.
Ну а вообще жизнеспособная "архитектура"? Или за такое уволят нахуй
>в обычном div
Зачем сразу в браузер лезть? У жс достаточно хорошие варианты с графикой для десктопа
Можешь хоть весь редаксовый стор перетащить на бэк, вот только придется каждый геттер и экшен обернуть асинхронные запросы.
[[HomeObject]]
Object
If the function uses super, this is the object whose [[GetPrototypeOf]] provides the object where super property lookups begin.
>Есть ли кейсы что бы уйти от всяких стейт менеджеров типа редакса вьюекса?
Зачем?
>Что бы источник "истины" был в одном месте
Он и так в одном месте, если у тебя один стор.
>на сервере
Во-первых конечный источник истины у тебя и так на сервере и он один, во-вторых, зачем и как ты себе представляешь отказ от клиентского стейт менеджера и замену его на "серверный стейт менеджер"? Пришел тебе с сервера ответ "пользователь вася залогинен", что ты будешь с ним делать без стейт менеджера на фронте? В жопу себе пихать?
Во-первых речь не про это, а про желание заменить "стейтменеджер на фронте стейтом на бэке" без малейшего представления о том, как это будет работать и нахуя это нужно, во-вторых "ненужная бойлерплейтная хуета", по сравнению с чем? Если по сравнению с другим не-бойлерплейтным стейт менеджером, то используй его, разрешаю. Если по сравнению с твоими маняфантазиями, которые основываются исключительно на "мне нинравится, сделойте чтобы мне понравилось", то иди нахуй.
Так не пиши бойлерплейтную хуету.
Ну так давай, пользуйся этим и потом расскажешь, как прошло, сколько приложений написал и как отрасль революционизировал.
ну такие себе плюсы. по сути они мало чем влияют на разработку.
насчет скролла. я в курсе как с ним работать. все максимально просто. так вот в expo как раз был баг что делать это было невозможно. я за день буквально перевел проект в rn-cli и все тут же стало работать. честно не помню что там именно было, но что то базовое типа скролла. или ref'ы не работали. связываться с expo я больше не буду. это же тупо лишняя абстракция из-за которой ты можешь столкнуться с какой нибудь неведомой хуйней. мне повезло что я столкнулся очень рано.
я сам без менторов и не сильно глубоко шарю в rn. так что нехуй меня слушать
Эта задача может совершенно неожиданно но очень сильно взорвать вашу жёппу.
Задача выглядит очень простой, до тех пор пока вы не начнёте её решать.
Итак:
Есть контейнер произвольной длины, в нем есть 2 зеленых элемента, которые всегда должны оставаться на своих местах, с первым по сути никакой проблемы нет, он всегда первый и на него можно забить. А вот второй - должен обтекаться оранжевыми, и оранжевые элементы должны переноситься на новую строку минуя его. Последний элемент это инпут, который должен всегда расстягиваться на всю оставшуюся длину, либо переноситься на новую, если для него мало места, условный минимум 150px.
И вот в чём проблема простых решений, к которым я пришел (изображение связано):
1. display: inline-block - с пощью float left и right я могу разместить зелёные элементы на своих местах, всё переносится на новую строку без проблем, НО, голубой элемент не может расстянуться на оставшуюся ширину строки, и я не нашел никакого решения, которое это могло бы сделать, этот вариант решает задачу на 99%, но последний элемент может быть либо любой фиксированной длины, либо с width: 100% он просто расстягивается на всю ширину контейнера и создаёт новую строку, занимая всю ширину строки.
2. display: inline-flex - второй зелёный элемент не может занять свою позицию на первой строке, flex-end свойство указанное для него работает только до тех пор, пока у нас не появятся 2 и более строки, уже на конце которых этот зеленый элемент и будет находиться. А нужно, чтобы он всегда был только на первой.
Position: absolute/fixed очевидно выбьют зелёные элементы из флоу и оранжевые будут их игнорировать так, как будто их там вообще нет.
grid-area из советов выше по треду имеет нулевую поддержку во всех ie.
Как сделать это всё гридами я вообще не понимаю.
Хочется решить эту задачу максимально простым способом, без излишнего применения js, но похоже такого решения найти не получится.
Не понял, но вот держи тайпскрпт тайпинги
https://www.typescriptlang.org/docs/handbook/declaration-files/templates/module-d-ts.html
>Эта задача может совершенно неожиданно но очень сильно взорвать вашу жёппу.
>Задача выглядит очень простой, до тех пор пока вы не начнёте её решать.
>
Прям замотивировал, завтра утром попробую.
Может ты для последнего блока просто через js посчитаешь длину? Или надо только css?
В итоге так сейчас и пилю, но много подводных камней, там правый зеленый блок может отсутствовать, нужно считать длину для пустой строки если она 2+ и для первой. И может ли быть чем-то чревато чрезмерной использование рефов в рякте?
>>145029
>>145033
Я бы кодпен запилил, но я заебался уже сегодня, там по сути даже интерактив не нужен, можно прям в хтмл это запилить и обычными стилями обзамать. Это конечно если решение не предусматривает жс
>много подводных камней
Да и вообще меня всегда корёжит, когда решение, которое как будто бы почти на 100% решается стилями приходится вилкой чистить и нагромождать ебейшие костыли, еще и корнер кейсы потом отлавливать.
Чем тебя первый вариант не устраивает, наркоман?
https://codepen.io/Jumpy_Bunny/pen/oNwbGMv
Там конечно будут всплывать свои подводные, как и у всех списков на инлайн блоках, но тут проблема в дизайне, а не технологиях. Ты хочешь запихнуть три отдельные секции в одну, что не есть хорошо в плане семантики и юзер экспириенса (да и сео тоже). Как я понял, зелёные элементы не часть основного потока, так и не должны быть в нём, ни визуально, ни семантически. Последний тоже не часть списка, соответственно должен быть вынесен в отдельный элемент. А список уже можно будет хоть на хуегридах построить.
Еблан-пердолик, выучи жс для начала. Кроме примитовов из типов есть только функции и объекты.
Ну вот понимаешь в чём проблема, сделать как-то похоже я и сам могу, что я собственно и сделал. Мало того, представь что у тебя контейнер может быть в 2-3 раза шире. Делать очень широкий фиксированный инпут и переносить по сути пустую строку каждый раз, или делать его маленьким, что будет несоизмеримо с контейнером. В обоих случая будет всрато
бля, ты в EPAM работал чел? Я работал. Все от проекта зависит, можно и попасть на такой, где хуи пинаешь(пинал)
Таки функция это тип. Это терм состоящий из списка аргументов и тела, которые в свою очередь так же принадлежат каким-нибудь типам. Если что-то является термом (данными), то его можно обобщить в тип.
В спецификации что угодно можно написать, вот только в теории типов любые данные можно обобщить до типа.
Другими словами кто угодно может что угодно типом называть, а вот спецификация языка с ним не согласна. Интересно, на что будет обращать внимание нормальный человек - на выдуманные абстракции анона или на ECMA-262?
>Делать очень широкий фиксированный инпут и переносить по сути пустую строку каждый раз, или делать его маленьким, что будет несоизмеримо с контейнером.
Ну да, лучше этот ебаный инпут запихнуть в конец длинющего контейнера заместо стандартного теченщия. Такое-то юзер интерфейсище.
Нет-нет, на выдуманные абстракции, которые выдумались якобы основываясь на существующие правила. Но тебе ведь похуй, что до тебя этими же самыми правилами пользовались при разработке языка, и все это зафиксировано в спецификации, где четко написано: никаких функций нет, есть function object'ы, отличаются от обычных имплементацией [[Call]] и [[Construct]], плюс содержит в себе ряд внутренних слотов.
Предложение лучше всего дочитывать до конца, тогда из контекста становится понятно, какие именно выдуманные абстракции подвергаются осуждению. Подсказка: ключевое слово в предложении "якобы". Пиздец, не удивительно что говорить тут о спецификации очень странно, чукча не читатель.
А давай на чистоту. Ты сказал, что функция это не тип. Это не так. Что там js творится решительно поебать, но лямбда это тип данных. По определению. Хочешь поспорить - пиздуй в тред хаскелла и лиспа, там тебе объяснят, что с тобой не так.
Сейчас бы ссылаться на спецификацию если она не соответствует общепринятым терминам. Если я сделаю свой язык и все типы данных нахоыу хуйней, то это типо норм?
Для преобразования хуйни в хуйню вам понадобится:..
>жс-тред
>выучи жс для начала. Кроме примитовов из типов есть только функции и объекты.
>Что там js творится решительно поебать
Хорошо маневрируешь, годно.
Сейчас бы думать, что отсылка к большинству не логическая ошибка, и можно неиронично считать себя не дебилом, пользуясь мнением большинства, когда в свободном доступе источник истины по теме. Охуеть.
Это не логическая ошибка, если это не отсылка к опыту или мнению. Есть термины, ну такие слова, которые люди договорились применять для лучшего понимания друг друга.
Ты сказал, что функция это не тип данных. Но это, сука, тип данных. Чем она в спецификации JS обзывается решительно похуй. На заборе тоже много чего написано.
Никто не запрещает термин "функция", пользуемся и понимаем друг-друга на здоровье. Называть функцию типом данных в жсе ошибка, даже если её делают все вокруг. Тип данных - object, который становится callable object/function object если выполняет несколько простых требований.
Ну вот ты на заборе всякую хуйню и пишешь. Нет в жсе такого типа как "функция", есть callable object.
Объясняю: в спецификации четко описано поведение typeof, где указано, что если объект имплементит [[Call]], то возвращаемая строка будет 'function'. Поведение представлено в виде таблички, где закреплен, к примеру, древний баг, из-за которого null вернет object.
Другими словами нет никакой удивительной связи с типами напрямую, а есть простая табличка с аутпут стрингами, в которую можно внести что угодно (и внесли, по сути, что угодно).
Теперь ты объясняйся: The ECMAScript language types are Undefined, Null, Boolean, String, Symbol, Number, BigInt, and Object.
>а есть простая табличка с аутпут стрингами, в которую можно внести что угодно (и внесли, по сути, что угодно).
То есть система типов.
>Теперь ты объясняйся: The ECMAScript language types are Undefined, Null, Boolean, String, Symbol, Number, BigInt, and Object.
Половина из них - конструкторы, наследованные от класса Object. Такой-то самоотсос. Странно при этом, что ты про Function не упомянул.
> Ну вот ты на заборе всякую хуйню и пишешь. Нет в жсе такого типа как "функция", есть callable object.
Ну ахуеть теперь. От того, что X назвали Y'ом, X'ом быть не перестает.
Поясняю для не очень смышленных, что такое тип данных.
Вот имеем мы некоторые разнородные данные, но имеющие общие черты:
x => dohuyna(x)
x => y => x + y
Их всех обобщить до:
A => B
"A => B" это и есть тип функции. Эта хуйня вообще не зависит от того, что внутри языка используется. Это свойство любых термов.
Мы так же можем взять:
[1, 2, 3]
[4, 3, 7]
И обобщить эти данные до типа [Int].
Иначе говоря тип - нотация описания данных.
Нет, строчка, которую тебе отдает typeof вовсе не система типов, лол. Вот смотри, сама табличка: типы слева, строки справа.
>Половина из них - конструкторы, наследованные от класса Object. Такой-то самоотсос. Странно при этом, что ты про Function не упомянул.
Это никакие не конструкторы, а типы, описанные отдельно. И Function я не "упомянул", потому что просто скопировал предложение из спека: никакой Function там нет, в этом и дело.
Я очень рад, что ты берешь и обобщаешь в тип все, что тебе нравится. Но есть нюанс: в жсе до тебя все прекрасно обобщили, и у функции с объектом общего столько, что считать её отдельным типом как минимум странно. Это как массив и объект разными типами считать. Можно конечно, но ошибочно с точки зрения языка и того, как он работает. Не нравится как работает язык? Не пользуйся, но выдавать своё понимание и свои выдумки за правду, когда, повторюсь, в открытом доступе источник истины по теме, это пиздец.
>Половина из них - конструкторы, наследованные от класса Object.
Подожди, я только что понял. Ты читаешь спеку и всерьез думаешь, что если написано Boolean, это тот самый конструктор Boolean, который ты в консоль себе выведешь? Такой-то хихик. Вот глупая спека, конструкторов Undefined и Null-то нет!
> Это как массив и объект разными типами считать.
Да это разные типы.
В JS массив это:
{(Number: Any)}
А объект:
{((String | Symbol | Number): Any)}
Вещи как бы разные, но массив в жс является частным случаем объекта. Однако это не одно и тоже. Это разные типы с разными определениями.
Я отлично понял, что твои определения ничего общего с реальностью не имеют, все в порядке. Продолжай считать массив и объект в жсе разными типами.
Как-нибудь нажми ф12 и запиши значение в массив, используя стринговый ключ. Охуеешь! Оказывается, разница проявляется только на этапе iterable, а массив отлично хранит данные с теми же ключами, что и объект.
Учитывая, что все Number в жсе 64битные флоаты, то конечно, лол.
>Вот смотри, сама табличка
Показывай мне реализацию в коде условного V8, а не фантазии спекописателей.
>потому что просто скопировал предложение из спека
Вся суть спекодрочеров - копировать предложения из спеки.
>>145346
>Ты читаешь спеку
Я читаю твои высеры, а не спеку. Если у тебя на работе баг появится из-за того, что какой-то хуйлан поменял прототип инстанса класса после его инициализации, будешь верещать про спеку и [[Prototype]]?
>фантазии спекописателей.
Какой большой хихик! Тебе надо, ты и показывай, впрочем. Пока от тебя только кукарек "я так вижу" и ничего больше.
>Я читаю твои высеры, а не спеку.
Единственное, что ты написал верно. Спеку ты не читал, читать не будешь, потому что знатное уебище по своей сути, невежественное и тупое. В этом плане все нормально, поведение соответствует твоему, хехе, типу.
>Если у тебя на работе баг появится из-за того, что какой-то хуйлан поменял прототип инстанса класса после его инициализации, будешь верещать про спеку и [[Prototype]]
Да-да, ведь дополнительные знания о подкапотной работе языка, которым я пользуюсь, естественно ПОМЕШАЮТ мне знать все то же, что и ты, и даже больше. Обязательно зациклюсь на них и не буду думать ни о чем другом!
>Вещи как бы разные, но массив в жс является частным случаем объекта.
Наоборот же, объект - частный случай ассоциативного массива. Так что ООП в жс - на самом деле Array-Oriented Programming.
Да, но только это уже не будет массивом в общем смысле. Данные уже не проходят под требованию типа Array, потому в могут возникнуть ошибки в рантайме. Enjoy your dynamic types.
>>145378
Типы данных изоморфны. Т.е могу представить один тип данных, как любой тип данных. Я могу представить число в виде строки, строку в виде массива, массив представить как граф, а граф представить как хеш-таблицу. Т.е это всё разные формы одной и той же информации.
>Какой большой хихик! Тебе надо, ты и показывай, впрочем.
Так ты же тут верещишь про спеку, а весь смысл спекодроча, как и талмудического пилпуля - доказать свою правоту в сраче. Свои таблички будешь на скрамах-хуямах всяким эффективным менеджерам показывать, а у нас тут форум по программированию.
>Спеку ты не читал, читать не будешь, потому что знатное уебище по своей сути, невежественное и тупое. В этом плане все нормально, поведение соответствует твоему, хехе, типу.
Нихуя спекодебила порвало, пиздуй дальше просвящаться по спеке, евнух-протестант.
>Да-да, ведь дополнительные знания о подкапотной работе языка, которым я пользуюсь, естественно ПОМЕШАЮТ мне знать все то же, что и ты, и даже больше. Обязательно зациклюсь на них и не буду думать ни о чем другом!
Так будешь верещать или нет? Неверещание не по спеке будет. Плюс чем больше погромисты забивают хуй на спеку, тем меньше её авторитет как источника истины по конфликтующим вопросам.
>Данные уже не проходят под требованию типа Array, потому в могут возникнуть ошибки в рантайме. Enjoy your dynamic types.
"Требования типа Array" - именовать ключи в виде чисел, чтобы итератор мог по ним пробегаться. Так что нечисловые ключи в методах этого класса будут просто игнорироваться, а не крашиться, как в твоём борщеязыке.
>Т.е это всё разные формы одной и той же информации.
Представь тогда, что любой тип в ЖС - на самом деле другой тип. Так и расширишь систему типов, даже код писать не надо.
> Представь тогда, что любой тип в ЖС - на самом деле другой тип.
Изоморфность типов не означает, что они одинаковы. Это означает, что с помощью любого типа можно представить любую информацию. Просто какой-то тип лучше (с точки зрения человека) подходит для представления какой-либо информации, чем другой. И язык должен уметь работать типами, и в случае чего говорить кодеру, что он долбоеб, и его код корректно работать не будет.
Да. Оба класса явно не реализуют интерфейс чекабле, но из за утинной типизации их можно передавать в метод которые этот интерфейс принимают. В языка с строгой типизацией ты бы получил ошибку компиляции.
var jopa = 5;
console.log(this.jopa);
то выходит 5
А когда я ввожу
let jopa = 5;
console.log(this.jopa);
то выходит undefined
И ещё когда я ввожу
const jopa = 5;
console.log(this.jopa);
то выходит undefined
Объясните, плес, в чём разница?
Нахуй тебе это нужно?
скачать либу, которая все сделает сама, тебе только адрес подставить
когда вар, то ты записываешь в глобальный скоуп, а когда лет и конст, то не в глобальный скоуп, а this у тебя в обоих случаях - глобальный скоуп, в браузере это объект window. а лучше видос посмотри
Понятненько, спасибо большое
https://youtu.be/wWd73WDBxzs
https://codesandbox.io/s/busy-sound-ew9qt?file=/src/index.js
Собсна тут всё обламывает Object.freeze, из за него нельзя в явном виде получить массив с аргументами (которые бы потом легко через flatten вытащились)
Нужно как то изъебнуться со встроенным в Folder утилитами read и size
Жаль что алгоритмы нинужны, так бы можно было просто обойти дерево. Ну штош
Шариат.
Если что-то не шаришь - набери это в другой раскладке. ШРИ - это IHB, очевидно же.
<Page>
<Modal1/>
...
<Modal10/>
</Page>
Модалки все уникальные по контенту, в основном формочки.
Менеджер модалок нужен по аналогии с notistack? Может пакет уже готовый есть, подскажите?
Осиляторы это такие люди, которым надо диктовать как и что делать, ведь если стек будет анопинионейтед, то как осилятор справится? Никак. А вообще в ангулярщиков надо харкать уже за то, что классики повсюду в жсе, фу блять.
>классики
Неосилятор классиков закукарекал.
>диктовать
"КОКОКО МНЕ НИНАДА ДИКТАВАТЬ!!111 ВОТ МОЙ МЕШОК С РАНДОМНЫМ ГОВНОМ - ДЛЯ СЛЕД ПРОЕКТА ДОСТАЮ 10 ГОВНЯШКОВ. А ТО НА ПРЕДЫДУЩЕМ ГОВНЯШКИ НАДОЕЛИ. КОКОЙ Я НИЗАВИСЫМЫЙ И НИПРАДИКТОВАННЫЙ. АХ ДА, ВСЕ ТАК ПРОСТО ЧТО АЖ НАДА ОБМАЗАТЬ ВСЕ ГОВНОРЕДАКСОМ. СПОСОБ ОБМАЗЫВАНИЯ ГОВНОРЕДАКСОМ - ЩА МОНЕТКУ КИНУ"
Ты ебу дал, классы это никчемный сахар? Стадия отрицания своего же дыбилизма у тебя?
Это абсолютно никчемный синтаксический сахар. Говорю же, вся суть ангулярщиков, мам мои классики.
Чет я охуел. Ладно, братишка, все хорошо, только не пускай слюни в мою сторону и отойди.
Конечно охуел, для тебя ведь это новость. Классики в языке с прототипным наследованием, пиздец.
>прототипным наследованием
Да, да, таким хорошим, что классы в нативном ЖСе добавили.
Все, иди нахуй, у тебя мозг сгнил от твоих реактов "шобпапроще"
Ты в курсе, что наличие классов никак не меняет тот факт, что в жсе прототипное наследование? И это глупенький сахарок для людей, которые не смогли из гофа достать и запомнить одну фразу про композишн овер инхеританс? Ебать ангулярщики дебилы, каждый раз удивляюсь.
>композишн овер инхеританс
"РЯЯЯ ЭТО НЕ ЛАПША А "композишн овер инхеританс""
Знаем, видели.
Композишн нормальный, кста, не через твои гвонопрототипы делается, а через ИоК.
> глупенький сахарок
Разоблачитель века. Ну я бы еще такое перетерпел от функциональщиков, но от одыбелевшей макаки, которая все в одном файле хуярит - нет.
ой, кажется осилятор ангуляра не знает ванильный жс
Дебил-ангулярщик не может понять, что если наследование реализовано и так через композицию, то не надо пользоваться не имеющим смысла сахаром чтобы замаскировать его под еще более хуевую практику, можно писать нормальный код. Дебил-ангулярщик начинает нервничать.
А что тебя интересует кроме основ js и документации какого-нибудь фреймворка? Думаешь есть какие-то тайные знания, завладев которыми становятся тру-фронтендерами?
Тем более, если ты не нуб. Значит всякие алгоритмы и архитектуры уже и так знаешь. А больше в программировании ничего и нету.
У тебя от диабета сейчас голова отгнивать начнет, осторожно. Гной накапает, новая версия ангуляра получится.
Шизик блять, семантика - это одна из самых важнейших вещей в коде, чем меньше тебе нужно написать хуйни и быть понятым, тем лучше. И написать одно известное всем слово "class" гораздо лучше и проще, чем высирать "ну у нас тут решили сделать классы через прототип, куда все пишется, и откуда потом все копируется, хуярь в него через тонну бойлерплейта, но по сути это классы обычные". Разница несоизмеримая и только долбоеб будет ее отрицать. И да, все высокоуровневые языки - это "сахарок" над ассемблером и сишкой, хочешь писать "нормальный" по твоему шизоидному определению код - переходи с них скорее.
мимо
чел, ты понимаешь, что хоть класс это сахарок в жс, что иок. Это все не ложится на нативный жс, это все игры в смотрите жс нормальный язык, как c#.
Никто уже много лет не пишет классы через прототип проперти, привет. Удивительно, как дебы не улавливают, что альтернатива классам далеко не код из 2010ого, и если классы это не имеющий смысла сахар (теряется семантика, привет! класс-то на деле не класс!), то это никак не делает ООП через функцию-конструктор и её prototype чем-то хорошим. С чучелком весело воевать, да?
>что хоть класс это сахарок в жс
Ну да, но обмазанный тайпскриптом он и норм. В чем-то даже выразительней C#
>что иок
Нет, ИоК там ничем принципиально не отличается, за реализацию все равно язык же не ответственен.
>Никто уже много лет не пишет классы через прототип проперти, привет.
А как пишут?
Дай угадаю - лапша + говноредакс .
По-разному пишут, можешь начать с крокфордских объектов, задуматься зачем тебе вообще в жсе что-то больше фэктори функции.
Вот вуй реально какое-то не нужно
"НЕБАХАТА ЖИЛИ НЕЧА И НАЧИНАТЬ!111"
ну не знаю я уже, просветление это или дебилизм. пока склоняюсь к второму
Раздался пронзительный голос со стороны финтеха
>Никто уже много лет не пишет классы через прототип проперти
Через что пишут, расскажи, шиз? Неужто через class?
>теряется семантика, привет! класс-то на деле не класс!
По какому критерию не класс и для каких целей, рассказывай.
>По-разному пишут, можешь начать с крокфордских объектов
То есть просто хуярят конструктор-функцию(ака класс для бедных) и пихают свое говно в сырую хешмапу со стейтом в замыкании, получая в итоге дидовскую реализацию ООП с нулем семантики и кучей бойлерплейта, причем реализацию, которая еще 30 лет назад как раз из-за этих проблем и перетекла в полноценное ООП? А нахуя, если можно просто написать слово class и получить то же самое?
Что сейчас на собесах спрашивают? По жысу и ангуляру?
инбифо: юморок от реактеров
Не знаешь - не лезь. rebase - это "красивый" мерж через переписывание истории коммитов. Тебе он наверняка нахуй не нужен, просто мержи и все.
Rebase переставляет комитет с одного паренька на другой
Там анальная магия с css используется. Причём стиль не будет адаптироваться под количество элементов в меню.
На ютубе поищи "circular (или radial) menu css".
На собесе за такой ответ с двух ног в ебало не пробъют? Я собственно и хочу "знать". Лезть или нет уже по ходу там решу
Чел...
А ты как думаешь тру фронтендером становятся? Сделав тудушку? Знания не тайные, приобретаются с опытом, уверен кто-то уже оформил их в курс/мастер-класс или тому подобное.
Конкретно интересуют примеры проектирования чего-то сложнее тудушек, варианты решения каких-то сложных, реальных задач.
У Ильи Климова на сайте есть анонс такого курса, но когда он будет неизвестно. Ещё видел от сбера курс, но у них по договору штраф (лол) если после курса к ним не трудоустраивается и год не отрабатываешь (просто вахуе с такой наглости)
Ну да, поэтому даже компании, которые уже писали на ангуляре перекатываются на реакт, вот это я понимаю перспективная технология
Вообще не понимаю почему ангуляр до сих пор упоминают в качестве 1 из 3 популярных библиотек/фреймворков. Сейчас новый положняк - React, Vue, Svelte
>от сбера курс, но у них по договору штраф (лол) если после курса к ним не трудоустраивается
Изи вкат. Пиратишь курс 100% трудоустроился
На реакте. Один хуй потом на вью перекатишся. Что бы полюбить вью нужно начать с реакта
сап котики, в первый раз здесь, но у меня такой вопрос:
как мне теперь сказать интерпретатору, что я хочу достать элемент с индексом i из строки str, сравнить его с римскими цифрами, и прибавить к нулю в первой и к результату каждой последующей итерации (в кол-ве, равном длине строки). То есть, если моя логика - правильная, то как теперь сказать функции, что сравнивать нужно итый элемент, а то он ругается, что не знает, что такое i. а если логика неправильная - то обо что мне биться головой
Мне показалось, что это ред флаг. Если подобный иссуй не пофикшен, значит дальше еще хуже будет.
Плохо тем, что бесполезный мусор отдается юзеру, который и так должен качать кучу всего.
на питоне я эту логику реализовал, все работает как надо. а за джаваскриптом сижу первый день, синтаксиса не знаю даже. Дедлайн - сегодня, иначе карму на курсах попорчу и меня отправят в петушиный угол. Помоги, анончик
Блядь как ты собрался что либо делать не зная даже синтаксиса, на питоне сделал зато. решение в инете нашел только на питоне? Циклу фигурные скобки, в условиях заменить интчто это вообще на стр
Если работает то ок, но скорее всего к стр ищи метод который будет брать первый символ, вообще не шарю в строковых операциях но пробуй самому мне лень проверять чё то
function kursiGovno(str) {
str = str.toLowerCase()
let int = 0
str.split("").forEach((elem, index) => {
if (elem === 0) int += 0
if (elem === "i") int += 1
if (elem === "v") int += 5
if (elem === "x") int += 10
if (elem === "l") int += 50
if (elem === "c") int += 100
if (elem === "d") int += 500
if (elem === "m") int += 1000
})
return int
}
kursiGovno("In next time skidivay v pesochnicu ili idesh nahui")
За логику не ручаюсь, да и за такой говнокод просто убивают, но логику как в питоне я, кажется, передал. Можешь потестить.
>Дедлайн - сегодня, иначе карму на курсах попорчу и меня отправят в петушиный угол.
>Курсы
>Петушиный угол
Ты уже.
Ну как сказать, я в вузе учусь, поэтому просто иногда поглядывал на хх вакансии и на некоторые откликался в течение года и несколько раз присылали отклик.
По сути схожи с Промисами, тоже после создания Observable надо на него подписаться (subscribe почти как then работает), но вижу что их создавали для того чтобы "подписываться" на ивенты и оперативно получать из них информацию. Как это можно сделать? Например произошло событие click по какой-то кнопке, я подписался на него и сам как хочу верчу информацию, что получил из него
Все просто: учи английский блять, нахера берешься за прогинг если даже Intermediate не освоил?
Если поднятие до родителя, наверное.
>Алл симпле лен инглиш бич, вай он ирз ю гоу инто прогинг нот ивен беинг Интермедиат.
Фиксанул ерроррсы у этого Интермедиат, не сумевшего освоить русский, не сумевшего перевести два слова и поэтому подорвавшегося под спойлером.
Твоя суть в том, что ты знаешь слова, но не понимаешь их значения. Тебе кажется, что ты думаешь на английском, но на самом деле ты тупишь на английском, а не думаешь.
>>146681
Запуск события
Данные получаются от промиса когда происходит вызов then. Все. В других кейсах Потребитель от промиса ничего не получит, как бы ни усирался, где тут блин push? Это типичная pull-система, несмотря на то что работает она асинхронно, Потребитель это вызов then
Зен это твоя заявка, твое желание знать что будет когда промис разрезолвился.
Типа ты мне говоришь. Эй анонче, ты вроде на союбес пошел? Доложи о результах.
А я, такой, через два дня ТЕБЯ дергаю и говорю. Ты спрашивал? докладываю, устроился на 500кк наносек в хуяндекс
Итак, я нашел кусок рабочего примера про бесконечное каррирование но Я НЕ ПОНИМАЮ откуда берутся аргументы физически
вот эти вот ...args и ...rest
const doCurry = fn => {
const curried = (...args) => {
if (args.length >= fn.length) {
return fn(...args);
} else {
return (...rest) => curried(...args, ...rest);
}
};
return curried;
};
Как по мне тру push система это когда инициатива передачи данных целиком исходит от Producer-а, а Consumer лишь выбирает что с этими данными делать. Например произошел некий ивент, Producer высирает объект Event а Consumer уже смотрит что с ним делать. Consumer может отписаться от ивента и тогда ему уже ничег осбрасывать не будут.
Или когда по вебсокету от сервера приходят данные и клиент их интерпретирует, при этом он не знает когда появятся новые данные, он их не запрашивает.
ХХ + линкедин. Но важно грамотно составить резюме.
Ну так ты как консумер то должен сам для себя решить какие ивенты тебя интересуют.
В чем отличие от промиса?
На работе стоит комп, на котором стоит другой ssh key, привязанный к тому же репозиторию. Как мне это использовать? Вот я сейчас продолжу делать проект дома, запушу на репозиторий коммиты, приду на работу, что мне там сделать? прописать git pull ? просто я сейчас на своем пк пытался клонировать репозитоирй по ssh ссылке, но меня послали нахуй. Скажите, я вообще все правильно сделал ? или на оба компа надо ставить 1 ssh key ? :(
>Module not found: Can't resolve 'firebase'
ебать это что, раньше работало. я даже проект новый создал, установаил файрбейс и всё равно ошибка
в Сhroma есть такой фичер: https://bugs.chromium.org/p/chromium/issues/detail?id=907167
Кратко, если пользователь не взаимодействует с редирект страницей, то backpage button пропустит такую страницу.
Т.е: есть у меня 1 станица, которая ведет на 2 страницу, где редирект на 3ю страницу.
Нужно это для вылавливания ошибки и возврата на проверку, если у юзера что-то не так с оплатой.
Допустим сделал юзер заказ на 1й странице. 2я страница проверяет данные и пропускает на 3ю страницу. (именно так должно быть, не спрашивайте). Но, вот если с первой страницей юзер взаимодействует, то на 2й просто редирект и если юзер передумает и со страницы 3 - где оплата, перейдет на страницу 2 - где был редирект через backpage button, то Хром это пропустит и перейдет сразу на 1ю страницу, а так не надо.
Есть ли варианты как это обойти?
Ваши тернеты пусты на этот вопрос, так что, подозреваю, ебись с этим и переделывать все по другому?
А у code.mu легко объясняется все. Может сначала его прочитать, а потом с этими знаниями и кантора прочитать, шоб полехче было? Ононы подскажите.
Удали package-lock (или yarn-lock, в зависимости от того, чем пользуешься). Перезайди в проект. Если ошибка сохраняется - переустанови пакет firebase
так я уже 2 проект начал для тест, всё равно бъёт ошибку, мб старую версию поставлю. но буквально пару недель назад не было ошибки
Оч странно. Надо гуглить и смотреть. Поставь версию постарее. Потом скажешь, ошибка будет сохраняться или нет
Устроился в компанию с react+effector (муравейник порриджей)
Какой же это пиздец! Я такое спаггети еще нигде не встречал, это самая макаронная технология которую я только видел
Пишу простую фичу в результате получаю 30 сторов
Пытаюсь поддерживать чужую форму и получаю хуй в рот с 100000 сторами зависимыми друг от друга натянутые на 1000 событий! Вы еще каждый символ в стор выводите!
Логирую - получаю хуй в рот от багов библиотеки + лаги на 1000000 сторах
Разбиваю на модули - получаю хуй в рот от split
Использую sample и получаю хуй в рот от split(sample(guard(sample(guard(sample))))
Увольняться?
РИАКТ РУЛЕЗ!111
> split(sample(guard(sample(guard(sample))))
КАМПАЗИШН ОВЕР ИНХЕРИТАНС!!!111
>Какой же это пиздец! Я такое спаггети еще нигде не встречал, это самая макаронная технология которую я только видел
Мое увожение, у тебя есть вкус. Остальным - пахую.
Нет, так везде
effector создавался что бы перекатить всех людей в angular через ненависть
У меня есть функция, которую я вешаю на несколько обработчиков.
В функции есть i = 0;.
Допустим, есть два дива.
Жмёшь на див, i += 1;
Теперь i = 1;
Но, если нажать на второй див-обработчик, с тем же i += 1;
Теперь будет i = 2;
Как мне унифицировать этот i в n-число обработчиков, что бы каждый див, ввёл свой отчёт.
Кликнул на первый див, получил i = 1; кликнул второй раз, получил i = 2;
Кликнул на второй див, получил i = 1; кликнул второй раз, получил i = 2;
function myFunction(elment,clr) {
elment.i = elment.i ? elment.i + 1 : 1;
}
Ну или через дата атрибуты.
Хуй знает, может и лучше решение есть
Ангулятор создан на подобии архитектуры нормального бека жава/шарпа, а реакт создан пыхерами, у которых только говно в голове.
Если тебе не нравится бек, то и ангуляр не понравится.
Ну и ты тупое говно и/или вкатун ниослятор
Расскажите, как подключать по-кошерному файл с переменными через @use? Чтобы не пихать его каждый раз в каждый файл (так ведь и устать можно!)
>Расскажите, как подключать по-кошерному файл с переменными через @use? Чтобы не пихать его каждый раз в каждый файл (так ведь и устать можно!)
Вопрос уровня "как мне импортировать модуль в жс, не импортируя его в файл".
>что в SASS удОлили @import
>Sass является наиболее развитым и стабильным расширением CSS профессионального уровня.
>Black Lives Matter
>Всратейший официальный сайт
Ты пидофил или пидорас?
Найтив-господин.
>cat
Ой, олдфаг попался. Я знаю про cat - это по-английски котъ.
Есть что пояснить по существу?
vertex / canvas_width - vec2(1.0,1.0)
Выглядит как хак, может что-то встроенное есть, просто я найти не могу?
ты уже вижу привык, маня
>catenate
Мне как бы не нужна конкатенация.
Мне нужно именно то, о чем я написал - переменные в глобальном скоупе sass-a "без ебли".
Или я тебя не понял.
> Мне нужно именно то, о чем я написал - переменные в глобальном скоупе sass-a "без ебли".
Просто склей два файла. Если нужна более сложна логика просто регекспами подставляй нужную логику в файлы (ручной препроцессинг).
Понятно.
Как ты себе это представляешь?
Отодвинуть вотчер sass-a и такой "погоди-погоди, не конпелируй, я тут сейчас коечо тебе на горяенькую в файлах передерну и там уж конпельнеш"
Звучит дико же.
> Отодвинуть вотчер sass-a и такой "погоди-погоди, не конпелируй, я тут сейчас коечо тебе на горяенькую в файлах передерну и там уж конпельнеш"
Процесс до того как компилировать будешь, умник.
Вотчер вотчит, умник
Или ты предлагаешь мокрописить через галп с каким-то своим прескриптом?
И типа это удобней, чем вставлять @use в каждый модуль? Кул стори, конеш.
Ну отключил.
А дальше то что, что именно ты мне советуешь?
Каждый раз руками запускать?
Запускать свой вотчер с запуском сначала своего кода, который будет автоматом пихать всюду переменные, а потом запускать компиляцию sass?
Мего удобно, конечно. И ни разу не костыль.
ну, если не ебут индустриальные стандарты, а так, для себя - то чебы нет.
Но это выходит за рамки моего кейса. Мой кейс - "без ебли" вернуть в sass (как було) глобальные переменные. Написание своего препроцессора явно подпадает под категорию хорошей такой "ебли".
Композишн овер инхеританс. Очевидно же.
есть в том что я поставил <=arr.length, он тупо к андефайнд обращается и складывает его с другим числом и ломается скрипт. Понял это за 15 минут
Молодец, что понял. Предлагаю тебе без объяснения проблемы всегда самому разбираться.
Алсо посоветуйте книги по алгоритмам и архитектуре, пожалуйста.
code mu, learnjavascript
let i и let j кто объявлять будет?
В обработчиках не может быть общих переменных, то по умолчанию будет «унифицировано». У тебя хуита какая-то.
https://www.youtube.com/watch?v=8aGhZQkoFbQ
Мало того, к нему прилагается интерактивный сайт http://latentflip.com/loupe/
где визуализируется call stack/event loop/callback queue
Я очень рад.
они оказывается высрали новую версию, теперь там по-другому надо всё делать((
>Расскажите, как подключать по-кошерному файл с переменными через @use? Чтобы не пихать его каждый раз в каждый файл
Не юзать глобальные переменные в принципе. @use в сассе - это нахуй лучшее, что случалось в мире css за последние пару лет, там просто пиздец как не хватало нормальной модульной системы вместо глобального месива из переменных. Осталось только дождаться, пока все sass-фреймворки на это перейдут и можно кайфовать.
Ну вон жирный Гейб не влепил.
Чаю. Если кто умеет нормально перекатывать, а не как я или невидимый тред, то перекатите, плес.
И поясните для ньюфагов, как надо правильно. Скриншот формы было бы неплохо.
Он невидимый. И нумерация считай уже проебана. Нужен новый.
За циклы форами, да еще и вложенными нужно уже в ебало влетать с двух ног без разговоров
Ну на самом деле круто. Молодец. Я вот искал визуализацию евент говна этого и не нашел был
640x360, 0:24
Слышал ли кто нибудь о такой конторе как reelmotion games?
Дали оффер, в гугле инфы о ней ноль, очковато как то
Не понял в чем вопрос. Тебе надо, чтобы у ползунка была анимация? Залазишь в shadow dom ползунка, присваиваешь ему свойство transition с нужной тебе анимацией. Я бы привёл пример практический, но у меня только телефон
Я вот хз, инфы о них ноль, вдруг кидалово какое, еще с релокацией тем более в дс2 для меня, я из мухосрани
Даже не знаю что подсказать тебе. Действуй так, как подсказывает твоё сердце
я так 6к риелтору отдал
Вот вот)
>Не понял в чем вопрос. Тебе надо, чтобы у ползунка была анимация?
Не у ползунка, а у другого элемента. Ползунок должен выбирать этап перехода/анимации. Например, у div есть анимация:
0% {
opacity: 0;
background-color: tomato;
}
25% {
opacity: 1;
background-color: red;
}
75% {
width: 200px;
height: 200px;
}
100% {
color: white;
}
Это просто пример. И если ползунок выкрутить например на 80% то у div выбирается 80% этап анимации, если выкрутить на 20%, меняется этап на 20% у div
Понял тебя. Слушай. Хороший вопрос конечно. Не было такого кейса. Я бы через либу какую нибудь делал. Вообще попробуй погуглить что-то вроде interpolate colors js. Мне кажется в этом направлении идти надо
Тут столько ошибок, что мне лень с тилибона писать
Может ты не заметил, но у тебя был косяк ещё с j <= 2. Надо было j < 2 тогда ставить
Я накидал это в наглядном примере. Может будет понятнее.
При итерации по массивам используй методы массивов, типа foreach/reduce и т.п. Если у тебя вложенные циклы или еще какие-то вычисления внутри, то выноси колбеки в отдельные функции и как-нибудь их вызывай. Можешь погуглить про функциональное программирование https://www.youtube.com/watch?v=2QAUAZ5qgJM
Конечная цель такой работы с циклами в том, чтобы твой код при чтении не нужно было фактически писать второй раз у себя в голове, а можно было бы просто понять всё взглянув на него поверхностно.
Например вместо твоего цикла могло быть что-то вроде
const sum = arr.forEach(sumAllNestedNumbers)
И соответственно если внутри этого коллбека sumAllNestedNumbers нужно еще разделять логику, то и там создавай отдельные именованные функции и вызывай их. Т.е. такой код можно понять всего лишь посмотрев на названия методов и коллбеков.
Заодно сразу скажу на будущее, поскольку это относится к тому же правилу по сути, не используй "магические переменные", т.е. если у тебя где-то в коде есть что-то вроде input.height + container.height - 20, то вот это вот "20" нужно вынести в константу, и назвать как-то отдельно, например const INPUT_SPACER = 20, и использовать уже эту переменную, чтобы потом ни ты сам, ни твои коллеги не думали о том, а что же это число значит и откуда его вообще взяли.
Чел у тебя жизни нету?
>const sum = arr.forEach(sumAllNestedNumbers)
Типичный вкатывальщик, который шизу про МАМ ЦИКЛЫ НЕ НУЖНЫ подхватил, а навыков программирования не подхватил. Как ты собрался ФУНКЦИАНАЛЬНО суммировать массив в forEach, чучело ебаное?
>const sum = arr.forEach(sumAllNestedNumbers)
Я тут мимо крокодил, но и то в курсе, что .reduce()
какой блядь форыч, назачем?
Это копия, сохраненная 2 декабря 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.