Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
>>2027028 Положняк на текущий момент такой: В почете фронтенд гречневые работяги под ними ходят бэк энд шахтеры тестеры чистят говной вилкой на параше продакты кумаются с начальником сизо, занимаются просветительской деятельности вне колонии лиды наварачивают лобстеров в пресс хате, иногда приходится марать руки за мужиков(зашкваром не считается)
Все вкатыши которые залетают в тред по ныть или с тупыми вопросами - априори записываются в опущенцы. Отправляются на парашу, работают сучками(их трахают мужики).
Вкатыши которые задают обдуманные вопросы - записываются в касту стремящиеся.
Подскажите, как на чистом JS в браузере дождаться завершения добавления элемента с помощью append?
Нужно удалить класс (classList.remove) после того, как завершится добавление элемента с помощью append, чтобы сработал transition в момент удаления класса. Но элемент появляется сразу без этого класса, как будто его никогда и не было, и transition не срабатывает.
setTimeout(() => elem.classList.remove('some-class'), 0) не помогает.
Нет ли чего-нибудь наподобие elem.onappend, чтобы написать elem.onappend = function () {this.classList.remove('some-class');} или как-то так?
>>2027069 Спасибо. Его надо обязательно ставить на parentElement? Или есть способ сделать, чтобы всё было завязано на сам элемент, без привлечения посторонних сущностей?
>>2027092 > Так элемента не существует, только папка узнает о его появлении. Ну класс ведь я к нему как-то прикрепляю до появления. Вот думал и коллбэк на собственное появление прикрепить заранее. Сначала пытался в elem.onload, но результат немного предсказуем.
Я не могу понять как язык учить: до верстки или после? Стоит ли сначала сверстать пару сайтов или можно сразу лезть? Расскажите на своем опыте, пожалуйста.
>>2027109 А вёрстку на каком уровне знал, чисто основы или пытался детально изучать? Я скачал курс по фронту, так там только видео на 20 часов, хотя базу уже знаю. До седых мудей буду к джаваскрипту ползти.
>>2027105 > Ты можешь хоть все хтмл атрибуты определить, пока элемент не сунут в дом, его нет. Но ведь это не мешает, например, назначать ему различные listenerы до того, как сунуть в DOM.
> Каскады-каскадики. Ну в моём случае, как мне кажется, это наиболее простое и очевидное решение. Или это может влиять на transition? Сейчас назначил transition прямо в стиле элемента, ничего не роменялось.
>>2027069 > Наверни MutationObserver Сейчас всё сделал, но transition всё равно не работает (хотя сам MutationObserver работает нормально, например может вывести элемент в консоль).
Когда убираю класс вручную, то всё работает. Когда ставлю значительную задержку в setTimeout, то всё работает. А сделать, чтоб класс убирался сразу после append, не получается, проёбывается transition.
>>2027263 > setInterval Зачем? Это ж для многократно повторяющихся действий. А мне при добавлении одного элемента надо один раз ему класс поменять (но так, чтоб сработал transition). Для однократного действия есть setTimeout, его я уже пробовал, но он помогает только при длинных задержках, а если я ставлю задержку 0 (чтобы он сразу после append сработал), то не получается (видимо, срабатывает раньше).
Сейчас пытаюсь разобраться с @keyframes, надеюсь это поможет.
> Сейчас пытаюсь разобраться с @keyframes, надеюсь это поможет. Да, помогло. Вместо класса прописал всё в @keyframes {from {...}} (он же 0%), а в to (он же 100%) ничего не прописал, таким образом всё само плавно отменяется по мере анимации (отменять что-либо какой-нибудь командой по типу classList.remove (а именно с этим изначально была проблема) теперь вообще не нужно, всё автоматически делается), даже отдельно transition назначать не нужно (соответственно, вместо времени transition теперь время animation). >>2027266
Хочу сделать кастомное поле поиска по сёрчэнджинам для своего проекта. Как реализовать подсказки когда вводится какой-то текст для условных гугла/яндекса? Для гугла нашёл модуль только для определения мест по картам для конкретно поиска нихуя нет.
>>2027317 Это я тоже видел, спасибо. Но платить я не собираюсь. Идея была читать ввод в поле и в новой вкладке открывать https://www.google.com/search?q={запрос} Мне просто нужно реализовать подсказки для поиска как на скрине.
>>2027312 > Попробуй рефлов перезапустить, как только добавишь элемент в дом. Как это лучше сделать? Сейчас погуглил, он вроде как должен автоматически запускаться при добавлении элемента.
Проблему я уже решил (точнее, пошёл другим путём (вместо transition сделал animation), где эта проблема вообще не возникает), но всё равно интересно, какие ещё варианты есть.
>>2027315 Когда пользватель вводит текст, отправляешь его на апишечку гуглояндекса и там наверняка в ответе будет что-то типа предложений, которые запихиваешь в `<datalist>`. Если это вообще не отдельный эндпоинт.
>>2027414 >Энджой ёр капча. Думаешь гугол не знает про таких хитровыебаных? Передаёшь капчу пользователю, в чём проблема? олсо подразумевалось, что ключ для апишечки он уже получил.
А скажи мне, скриптач, почему event-loop организован именно вот так, как он есть. Ну типа: один стек, очереди, макротаски по одной за тик берутся, микро- сразу кучей. Почему именно так? Почему именно такие структуры данных?
>>2027765 Ну это ты совсем верхнеуровнево описал. А меня интересует почему именно потрохи так устроены, как устроены. Можно было бы по-другому реализовать?
>>2027741 Event Loop это не часть ECMAScript. Это Browser Object Model. К языку это отношения никакого не имеет - это элемент рантайма, и реализован он может быть как угодно. Микротаски это это спека Promise/A+ В node.js, например, event loop построен поверх libuv, и кроме очередей микро и макро тасок, там еще есть process.nextTick, а в фотошопе свой эвент луп, а в quickjs его вообще нет.
>Почему именно так? Почему именно такие структуры данных? Потому что есть соглашения, которые рождаются из эволюционного развития и закрепляются в спецификациях. Программирование - это контрактная дисциплина.
>А в других языках какие реализации этого есть?
Эвент луп- это абстракция. Ты можешь его где угодно и как угодно написать, как и все остальное. В операционной системе тоже есть эвент луп. И на уровне железа, есть своего рода эвент луп в виде прерываний. В жс ты тоже можешь навернуть свой собственный эвент луп, с блек джеком и шлюхами. Разумеется, еще одним слоем абстракции.
>>2027769 Так можно было в браузере реализовать его по-другому или нет?
> Потому что есть соглашения, которые рождаются из эволюционного развития и закрепляются в спецификациях.
Ну они такие типа думают "так ну стэк у нас есть....о а давайте три очереди туда прихуярим: таски/микротаски/и рендеры???" Так что ли? Откуда взялись соглашения такие?
А что будет, если выяснится что, например, префиксные деревья (не знаю как) лучше подходят для этого? Будут движки браузеров допиливать?
>>2027773 При чем тут префиксные деревья? Это детали реализации, они не имеют никакого отношения к сущности очереди. Ты почему путаешь уровни абстракций?
>Ну они такие типа думают Никто ничего не садится и не думает. Вчитайся в слово ЭВОЛЮЦИОННОЕ развитие, с последующим закреплением соглашения. Установи себе браузер Mosaic, Firefox первой версии, Chrome первой версии, и посмотри, что, как и когда появлялось.
Открой википедию хотя бы, и прочти вообще историю развития веба.
>>2027779 > При чем тут префиксные деревья? Как причём? И то, и то структуры данных. Со своими характеристиками типа скорости доступа, вставки, сортировки итд.
>>2027784 Ты понимаешь, что очерели и сейчас могут быть реализованы на основе префиксных деревьев или не понимаешь? Понимаешь, что это более низкий уровень абстракции, не имеющий отношения к твоему вопросу или не понимаешь? Не понимаешь, что конкретная имплементация вообще не декларируется спецификацией и за нее отвечает конкретное окружение, движок, рантайм. Ровно как и структуры поверх которых построены объекты, массивы и вообще всё. Ты отличаешь, сука, ПОВЕДЕНИЕ/ИНТЕРФЕЙС от РЕАЛИЗАЦИИ, или нет?
>>2027814 Я понял. Хуль ты агришься так? Ты мне лучше на вопрос ответь: почему так нахуй, почему эвент луп в браузере именно так реализован? Почему он исторически именно в такую форму эврлюционировал(покемон ебучий). Ответ «так исторически сложилось» – это ответ уровня «так хотел бог»
>>2027773 Микротаски появились относительно недавно, их пытались вхуярить в уже готовую архитектуру и получилось как получилось. Без них все было в общем-то просто и логично.
>>2028007 Потому-что блять надо впихуть невпихуемое: Сделать один поток исполнения параллельным самому себе Естественно это все побилось на маленькие атомарные сегменты (таски) и выстроились в очередь. Других вариантов это сделать то и нет.
>>2028007 Это эмуляция одновременного выполнения кода, 1таск выполняется сразу, другой с задержкой, по факту в основном потоке они идут подряд, js по другому не умеет работать, поэтому в браузеры вставили типо костыль - самописную помпу, которая помогает js стать асинхронным.
Если бы в теории две таски выполнялись одновременно, отпал бы принцип наследования и зависимости кода, так как таски не видели бы друг друга, или видели бы но была куча ошибок. Ошибки были бы потому что JS язык ООП, у которого один из принципов работы это наследование.
В теории можно такое провернуть, на языках не ориентирующихся на ООП, но сайты работают только на js, поэтому все браузеры подстраиваются под условия его работы.
Анонасы, дарова. Есть вопрос. Когда вы приступаете к написанию реакт-приложения - вы используете create-react-app или сами настраивайте вебпак со всеми зависимостями? Как вообще принято в серьёзных и не очень организациях. Может многие вообще приложение сразу делают на Next.js, чтоб в будущем с ssr не ебаться и т.п.
>>2028185 Для прототипа можно и CRA, а потом его за эжектить. Next.js - тот же CRA, который идёт вместе с кривым конфигом вебпака. Учитывая, что у некста очень специфические требования к проекту, вплоть до хостинга, ебаться с SSR всё равно будешь.
>>2028185>>2028191 Легче уж самому даже неделю ебаться с вебпаком и прочими настройками, чем тащить в проект говнину под названием create-react-app, от которой ты потом и за два месяца не избавишься. Я вообще думал, что это чисто для ньюфагов реакт потыкать, а нет, оказывается в реальных проектах кто-то это дерьмище использует. Особенно весело после эджекта, когда весь спрятанный до этого говнокод вливается прямо тебе в проект. Один конфиг вебпака там чего стоит.
>>2027902 > Чтобы уменьшить задержку Как? Поставить в setInterval проверку на то, что элемент добавился, и когда она сработает, выполнить действие и отменить setInterval? Это уже совсем костыльный костыль получается.
>>2027019 (OP) Пацаны что-то я тут не нашел треда по верстке, может вы сможете помочь:
Слева фаерфокс, справа vivaldi(считай хром) Объясните плиз схуяли такая разница в размере шрифта, где начинатеся текст Шары 30 шт.... Сами эти 3 надписи это ul>li*3, font-size: 14px; задан для li Это я уже попробовал подключить normalize.css - ничего не изменилось
Анонасы привет! Поступила на первый взгляд простая задачка, с манипуляцией данных. Вкратце о ней, отобразить один Тег и под ним задачи которые относятся к этому тегу. Если задача закреплена за двумя тегами то естественно задача отображается два раза. Все бы ничего но изначальная структура данных это [{task, [tags]}] Задачу то решил и все работает, но все равно не покидает подлое чувство что я наговнокодил и можно было написать это в 1 строчку.
>>2028439 >Задачу то решил и все работает, но все равно не покидает подлое чувство что я наговнокодил и можно было написать это в 1 строчку. Так одна строчка и будет говнокод.
Смотрю один из миллиарда видосов по реакту и ПРОГРАММИСТ говорит что верстка не нужна, это реально так? У меня в голове всегда было представление что есть html-css-js, дизайнер в фотошопах делает макет, а яваскрипт кодер это все превращает - верстает в сайт. Где проеб?
>>2028489 Контекст нужен. В каком плане не нужна? Не нужна в теоретических материалах, где упор сделан на изучение js или на рынке не нужна верстка от кодеров, или что-то другое? Пожалуйста, постарайся корректней доносить свою мысль до читателей.
>>2028489 Всегда ржу с немощных фреймворк-нэйм-программистов, которые не могут самостоятельно свой говнокомпонентик из 3 полей и четырех лейблов сверстать
анон, надо установить babel/core, babel/cli, babel/preset-env в макоси глобально. при локальной установке проект он спокойно без проблем тянет за собой все зависимости и пакеты, но при установке глобально он шлет меня нахуй со словами что вот мол идика-ты нахуй и ставь ручками. как фиксить ? ставлю через sudo npm install -g естественно
>>2029075 Бля два дэбила сверху хуйни понаписал. Keydown, это событие нажатия на любую клавишу на клаве, чаще всего нужна чтобы клавишу ESC обработать чтобы из модального окна выйти. Input срабатывает каждый раз когда у тебя изменяется текстовое поле, дохуища прям раз, его можно юзать во всяких конвертерах, динамических калькуляторах и т.д.
Где почитать историю веб (особенно фронтенда) последних 5-6 лет? А то я смотрю как обстоят дела и охреневаю. Ламповой MVC как я понял больше нет. Теперь куча всего делается на клиенте, на серверах какие-то микросервисы, докеры. Что происходит вообще?
Тимлид из одной крупной компании предложил протащит меня на должность разработчика с полноценным оф. оформлением (я внештатник самозанятый через подрядчика)
Компания одна из топа в телекомуникациях, не российская
По итогу, высшее руководство отказывает, т.к вышка у меня дропнута
Один из живых примеров, когда наличие бумажки может все порешать
И да, есть тут в треде, кто в иностранную компанию без образования пролезал? Тратить время, когад тебе скоро тридцатник, на получение корочки в вечерке и тп ради того чтоб через 5 лет тебя может быть возьмут в йоба компанию нет никакого желания
>>2029211 В России вышка - это что-то вроде справки по дееспособности, а вовсе даже не привилегия. Если ты ее не получал или тем более дропнул, то кабан сразу делает вывод, что ты дурачок. Отсутствие вышки это почти как дропнутая школа, вызывает множество вопросов.
Можно ли отдать тяжелый рендер реакта какому-нибудь веб воркеру, чтобы он на заднем плане его отрендерил не блокируя сайт, а потом быстро вставил в хтмл?
>>2029118 MVC это же вроде руби он рэйлс популяризировал, но это было до большой тройки фреймворков теперь уже SPA уходят медленно, сейчас, как я понимаю перспективными считаются pwa и ssr
>>2029306 >Можно ли отдать тяжелый рендер реакта Да.
>какому-нибудь веб воркеру Лолнет, это не так работает. Ты даже нормально не можешь делегировать воркерам сериализацию/десериализацию, чего уж там говорить про доступ к дому.
То, что ты хочешь, называется SSR и легкий способ его получить - использовать какой-нибудь пререндер сервис, если не хочешь на уже имеющимся проекте городить костыли.
>>2029546 >Как? При первой проверки же тупо спалят. Хехехе, именно на этот случай в некоторых говновузиках существуют т.н. "мертвые души". Хотя, если ты спрашиваешь об этом здесь, тебе это не особо интересно.
>>2028559 ЧСХ, такая ситуация, преимущественно, в рашке (ноу хейт), где испокон веков были разработчики и верстаки. На швитом западе даже названия толком-то и нету для последних, разве что PSD-to-HTML developer, лол.
>>2029574 Я живу в Израиле и тут одна подруга работает чисто с css в одной компании. Она только стили допиливает для корпоративного сайта У нее зп 3000 долларов
Есть всякие люди, которые учатся за деньги. Есть дипломы, которые не в системе, но они до первой проверке. Если покупать диплом, то скорее всего только по связям. А у меня их нема. А придти к дяденьке декану(или кто там) и сказать: "продай диплом!" Выглядит скорее забавно. Но если честно, то не совсем понятно, насколько это вообще жизнеспособная тема, как покупка диплома.
Про мертвые душе, кстати, в первый раз слышу. Но примерно понял про что ты.
>>2029568 То что ты этого не видел, говорит о скудности твоего опыта.
MVC изначально GUI паттерн проектирований, который появился и популяризовался в средах Smalltalk. Позднее MVC стали применять вообще во всей гуйне на десктопе. А до серверов он добрался разве когда ты родился только.
Блин, как правильно убрать event listener на элементе? В большом проекте есть одно поле, куда навешивается много разных event listener-ов, один из них (blur) херит мне правильную обработку поля, которую я добавил. Мне бы убрать его, оставив все остальное, но как? Я не ебу где то место, когда он добавляется
Пизда, переболел короной, две недели лежал в отключке, щас пытаюсь писать код и понимаю что нихуя не помню, лол, т.е. просто сидя за компом не могу вспомнить как его писать, только ковыряясь в старом коде приходят воспоминания о том как его писать.
Короче до короны я норм все помнил, щас как. Уд то с нуля начинаю, есть быстрый текстовый экскурс по реакту какой то ? со всеми фичами актуальными, чтобы прочитать и вспомнить че к чему
>>2029693 Зачем тебе индексировать интранет-портал, банковский кабинет пользователя, дашборд, wysiwyg-редактор, CRM, видео-плеер, мессенджер, инструменты для совместной работы (построители графиков, канбан-доски, онлайн-офисы), графические редакторы, видеоредакторы, майндмапы и прочие приватные базы знаний (notion, evernote, etc). Что ты собрался индексировать в современном вебе, какую ценную информацию ты хочешь предоставлять поисковикам, которой у них до сих пор нет? Ты часто переходишь из поисковой выдачи на какие-то рандомные ресурсы, чтобы каждый раз новый? Или ты зиждешься надеждой что трафик на визитку твоего ООО принесет поисковая выдача? Действительно веришь в то, что переиграешь релевантность контекстой рекламы конкурентов и прочих маркетплейсов?
>>2029562 Я с SSR не очень хорошо знаком, но он разве не только при первой загрузке помогает? Типо отрендерил spa и отдал клиенту готовую страницу, а дальше уже клиент все делает. У меня сейчас такой кейс, что пользователь жмет кнопку и рендерится тяжелый блок, оптимизировать там уже не получиться из-за большого количества элементов и виртуализацию тоже не подключить. Вот я и думаю как можно изъебнуться, чтобы не блочить сайт на эти секунду-две. Может можно отдать кому-то рендер этого элемента и потом быстро вставить на страницу, либо сделать какой-то тротлинг, чтобы небольшие элементы внутри него рендерелись постепенно.
Аноны я могу использовать ts как отдельный фильтр на js данных ? То есть не писать все приложение на ts, а сделать отдельный модуль который например типы будет проверять. Это вообще возможно или я мухоморов объелся ?
Ты по-моему еще не поправился, и болен по дизни на голову. Люди годами могут не кодить (служить в армии, сидеть в тюрьме, лежать в коме, пинать хуи) и ничего вспоминать им не приходится, только прочесть доку к появившимся API.
Тебе правильно говорят, заучивая что-то, вместо осмысленного понимания, что ты вообще нахуй делаешь - ты ничему не научишься.
Это все равно, что изучить таблицу умножения наизусть, как стихотворение. А потом каждый раз силиться вспоминать чему там равен семью пять, и сетовать, что забыл.
> Лучший учебник на JavaScript на русском языке — Кантор . Ультраплатиновая ультрагоднота. У многих с нее пригорает, поэтому палим фишку: читаем про сам язык, скипаем особенности работы всякого дрянья в IE6, задачи делаем избирательно. И будем вам щастье. А еще лучше - читать англ.версию (см ниже)
> Английская версия поддерживается автором в более актуальном состоянии. Сразу дается ES6, убрано всякое говно мамонта, пугающее ньюфагов. Там все так? Не поменялось ничего в русской версии?
А есть какие сайты\гайды\фреймворки просты для дизайна для пет проекта? Типа какие цвета подобрать, как тени правильно бросать? А то делаю что-то, а как дерьмо выглядит.
>>2029751 Но при этом SPA от силы 2% в вебе. Рякт - в первую очередь либа от лицокниги, а потому служит целям лицокниги - превратить интернет в ботнет фейсбука, в котором сервера пропукивают джейсоны от рекламных скриптов, а всё остальное крутится на клиентских машинах.
>>2029693 >SPA А не всегда так, иногда бывает что Vue/React используют для того чтобы написать логику для части страницы, пример корзина, фильтр товаров с кучей чекбоксов, просмотр товара на детальной странице, формочки мы вам перезвоним и прочая логика на фронте. А если прям совсем SPA и нужна быстрая поисковая выдача, то пилят серверную часть на ноде, где нода дёргает ручку апи и реакт на сервере генерирует html. А так как писали выше есть много мест где поисковики не нужны, а быстрый и удобный фронт да.
>>2029693 1) Отделить фронт от бэка, клиенты разные бывают, и не все фулстэк мастера. 2) Уменьшить задержки на отрисовку, блики от перехода страниц 3) Компонентный подход, надо разделять, чтобы властвовать, да >не индексируются нормально Для этого используют SSR, заодно живее бустрапится
>>2029296 Зато зарплаты одни из самых высоких и вкатиться легко. Это же идеальный вариант для тех, кто презирает ойти, программирование, но хочет побольше зарабатывать. То есть для людей вроде меня
>>2030057 Я не кабанчик, кабанчик это мой работодатель, а я жулик-приживала, для таких как я js и go - убийственная комбинация. И да, меня вполне легко можно попустить на собесе, я ведь трачу меньше времени и сил на прокачку скиллов, чем энтузиасты, но на собесах это делают достаточно редко
Парни, обладаю определенным фетишем - реверсингом всяких JS апп. Доставляет ковырять все то, что разрабы так заботливо прятали от посторонних глаз - всякие ресурсы, обфусцированные куски кода, ключи, обращения к приватным АПИ и всякое такое. Со стороны все это выглядит, как избиение младенцев. И вот я подумал, что внедрение WASMa в клиентский код могло бы существенно затруднить подобные анальные игры, т.к. дебажить васм - то еще удовольствие, особенно если в него были скомпилены мегабайты какого-то иностороннего кода (какие-нибудь либы шарпа со своим рантаймом). Вот для ноды, например, уже применяют JSC (жыэс перегнанный в байткод для V8) и реверсится такое, все-таки, не в пару кликов (да-да, есть божественная Ghidra и кастомные плагины к ней, но все же). Как вы думаете, в ближайшем будущем стоит ожидать увеличение использования васма на клиентской стороне для сокрытия какого-либо чувствительного кода? Был ли у вас опыт дебага достаточно объемного и сложного васм кода (именно таргета, а не в виде исходника)?
>>2030163 >внедрение WASMa в клиентский код Ерунда. WASM не может нормально работать с ДОМ и прочими интерфейсами, и, в отличии от нашего любимого жса, слишком прост для нормальной обфускации. То есть, во-первых, писать на нем классический чувствительный код (который или куда-то стучится, или вызывает какую-то либу) нельзя, а во-вторых такие вещи, как их не обфусцируй, палятся через галочку "break on xhr request" или через поиск названия функции (ни разу не видел, чтобы тот же вебпак разбивал или переформатировал строки, чтобы этого избежать, хотя вещь вроде элементарная).
>>2030170 >WASM не может нормально работать с ДОМ и прочими интерфейсами Это да, но это и не всегда нужно. Например, намедни я ради фана потрогал сервис intickets - упрощенно говоря, там на клиенте генерируется уникальный ключ и потом используется для шифрования полезной нагрузки при общении с сервером. В дебаггере это не заметит только слепой, ну или ленивый, что, в общем-то, и можно считать за достижение поставленной цели (часть ламовых скраперов отвалятся). Но вот будь такая же процедура написана где-то в кишках многотонного васм кода, дебаг бы значительно осложнился (т.е. ты в инициаторах запроса видишь код с конечной шифрованной строкой, в постмессаджах - соответственно, вход и выход, а васм код здесь уже фигурирует как черный ящик). Думаю, что отреверсить в васме даже какую-то примитивную хуитку, которая была бы написана на шарпе, было бы проблематично, не?
>>2030182 Согласен полностью, поэтому и доставляет фан. Но речь в вопросе зашла про васм, и тут же дела с дебаггингом, по сути, будут приближены к таковым при работе с бинарным кодом, как прям крацкеры в своих софтайсах орудуют.
>>2030163 Причём здесь сокрытие? Обфускация - сторонний эффект минификации. Сейчас бы что-то обфусцировать в скрипте, который полностью хранится на клиентской машине, лол.
> Обфускация - сторонний эффект минификации. Частный случай.
> Причём здесь сокрытие? Здесь - буквально, зашить в код, который хуже поддается отладке и реверс инжинирингу как следствие.
Бтв, парни, вы так ополчились, будто я на другой стороне воюю. Я-то не собираюсь таргетить васм ради этих целей, лол, у меня интерес больше в плоскости - "а насколько хорошо инструменты разработчика позволяют отладить ВАСМ код".
>>2030205 >потом используется для шифрования полезной нагрузки при общении Ну я о чем-то таком думал, да. ЧСХ прикол чисто антиотладочный, шифрование от внешних перехватчиков наш любимый SSL обеспечивает. Но васм код всё еще можно дебажить, примерно как ассамблер. Думаю если он обретет популярность - появятся средства обратной сборки, как сейчас для асма и си, и соответственно это перестанет быть совсем уж большой проблемой. Даже если авторы будут конченые и реализуют свой собственный алгоритм с обфускацией - против упорного аутиста это не поможет.
мимо когда-то по работе с наслаждением потрошил протокол обмена данными для буквенных мониторов десятилетней давности
>>2030216 >Частный случай. Не частный случай, так как обфускация - не цель минификации. Иначе бы минификация давно бы уже скрывала названия методов объектов. >Здесь - буквально, зашить в код, который хуже поддается отладке и реверс инжинирингу как следствие. Ты вебпак или бабель хоть раз запускал? >Бтв, парни, вы так ополчились, будто я на другой стороне воюю. Я-то не собираюсь таргетить васм ради этих целей, лол, у меня интерес больше в плоскости - "а насколько хорошо инструменты разработчика позволяют отладить ВАСМ код". Никто на тебя не ополчился, параноик. Ты просто хуйню несёшь про какой-то блять реверс инженеринг клиентских блять скриптов. Приватные блять апишечки с фронта, чё вообще несёшь?
>>2030103 После прочтения стопок тех.лит/доков - ты бы не так заговорил, залетыш из 1С треда. >ЖС МАКАКИ У нас миллион фреймворков/диалектов/рантаймов/подходов. Здесь только профи разберется, ваши го и пистоны на фоне - игрушки для детей.
>>2029927 Это понятно, но надо же наверстать красиво, чтобы показать в резюме что-то.
>>2029940 Да есть, я же знаю, тот же mui вроде. Но мне что-то по проще. Чтобы можно было например просто цвет основной дать, а фреймворк высчитает цвета второстепенные для текста, тени там прочее.
Разбираюсь тут с редаксом. Если мне нужно выполнить какой-то простой экшн, то я могу по сути передать в диспатч либо просто объект, с типом и передаваемыми данными в редъюсер, тут всё вроде бы понятно.
Но если мне нужно выполнить экшн, который ссылается на предыдущее значение к примеру, почему передается функция, возвращающая анонимную функцию, которая еще раз вызывает метод диспатч принятый в качестве аргумента анонимной функции? Это по сути такой костыль? Метод диспатч передает в коллбек еще раз функцию диспатч и гет стейт, чтобы такое можно было провернуть? Или я просто хуйню несу и не понимаю как это работает? Гетстейт есть у стора к примеру тоже, но мы-то этот гетстейт берём как аргумент у диспатча, а не вызываем её у объекта стор. Я запутался.
>>2030406 > ваши го и пистоны на фоне - игрушки для детей. Двачую, сам выкатился из фронта в бекенд на го, это как глоток свежего воздуха, такая лёгкость, здесь всё намного проще, а на фронте дохуя ньюансов надо знать, прямо сверхдохуя, а на ламповом огрызочке го маленький уютный мирок
>>2030424 Хуй знает что там хочешь, но ты запихнул два экшона в тханк-хуянк, что является нарушением основополагающего принципа флюкса - больше бойлерплейта богу бойлерплейта. И этот фрагмент ничего не говорит о том, как у тебя мидлварь переваривает `dispatch()` в аргументах диспатча. Ты лучше заместо экшонов тудулиста запихнул бы какую-нибудь ассинхронщину, тогда сразу смысл существования тханков и мидлварей станет понятен, и, что самое главное, добавится бойлерплейта, так как очередной тханк - это как минимум 3 экшона в кодовую базу проекта, что очень флюксово и кошерно.
>>2030456 Не всегда, но чаще да, тем более на ноде или особенно на го, там меньше неожиданного поведения, больше строгости, нужно больше знать в глубину и меньше в ширину как на фронте обычно нужно
>>2030505 >на ноде >там меньше неожиданного поведения Чёт проиграл, на мультиплатформенном движке у него больше строгость и меньше неожиданного поведения, одна история охуительней другой. Я уж молчу про экосистему. Го такой приятный и нарядный потому что в него мегакорпорация вливала бабло и усилия спецов, как и тайпскрипт тащемта, а не потому что он какой-то там волшебный хороший сам по себе.
>>2030692 И что не так? Это же тупой бойлерплейт, что может быть проще? Думать особо не надо. После фронтенда мозги отдыхают.
>>2030659 Спроси у тех, кто называет. Наверное завидуют тому, что в го самые высокие зарплаты за такой огрызок вместо языка, вот и рвутся на пустом месте, хотя могли бы взять да перекатиться сюда.
>>2029574 Особенно на собесах смешно, приходит такой дядя синьор-помидо (с 3 годами опыта, конечно) и такой "А у вас верстать нужно? А то я верстать не умею". И сидишь такой с лицом лица, формулируешь вежливый ответ
>>2030923 Щито поделать. Некоторые годами сидят на одних и тех же проектах, а там какой-нибудь кит типа ant.d, smentic или, упаси Б-же, Material UI. И все, приехали. Хотя, справедливости ради, сейчас с повсеместным внедрением дизайн систем типа Zeplin, Invision, Figma и им подобных, верстка, по сути, сводится к тупой копипасте свойств элемента.
>>2031134 Ну тип httpOnly ты можешь прочитать только если сервер между собой и источником поставишь. Кто то на сервере видимо собирался читать эту куку, но вот пусть и читает, это не особо твоя забота
>>2031139 ну по идее как то же можно ставить, везде вижу, что нужно сохранять токен в httponly, и указывать в хедере при запросе, а как его взять и поставить в хедер - пустота. Я мб конечно не знаю чего, не занимаюсь фронтом особо
>>2031044 >>2031030 Проще всего сделать шифрование по сдвигу Цезаря. Даже теоретически невозможно расшифровать эти кракозябры в нормальный текст, если не знать ключ. Мимо тимлид отдела безопастности в Роскомнадзоре.
>>2030963 Я надкюсь, что когда-нибудь сделают хороший, годный графический редактор для верстки, в котором эта самая верстка будет проходить интуитивным оборазом, как и любая другая работа в графических редакторах, а не через писанину простыней.
>>2031030 Нечто подобное было в QuokkaJS когда я ее реверсил. Так эти долбаебы всю логику запихнули в какой-то левый нод модуль и напейсали типа "plz dont hack this". Ну и да, там ключи использовались с ассиметричным шифрованием, поэтому пришлось патчить файлик и хучить в нем вызовы к модулю crypto. Получился на выходе patch + keygen.
>>2031143 Чтоб все охуели, что так можно! Там исходник на Сишечке, а 8к - это последствия перегона через llvm или emscripten. Можно только догадываться, какая жопа творится в выхлопе CLR какого нибудь Блазора.
>>2031211 >>2031206 >>2031217 >>2031223 >>2031225 Ты последние лет пять спал? На ноде давно уже бекенды активно пишут, и бизнес-логику вполне удобно на ней писать, по мне так удобнее пхп и питона, да и вообще она буквально во всём лучше пхп и питона для бекенда.
>>2031211 Нода едва ли не единственный способ легко сделать пререндер, например. А также, по сути, монополизировал нишу всяких Serverless/lambda, SSG и тому подобные сервисы, на которые сейчас в странах Запада наблюдается определенный хайп.
>>2027019 (OP) Нужен срочный внутривенный гайд как из spa на реакте сделать pwa в как можно более короткие сроки (часов 12). С меня нихуя. Есть ряктоприложуха, нужно чтобы она открывалась как псевдоприложение с телефона, рякт нейтив не предлагать.
VScode'ры webpack'щики, можно как-то это ide заставить предлагать все файлы в подсказках к импорту? А то вот он в основной папке предлагает дополнить g например потому, что это .tsx файл. А в Styles всякие .scss файлы он уже не предлагает, приходится руками писать как плебей.
Какие есть способы прекомпилить код жса? Ну, допустим, как такое: //something.js export const a = 1 + 2 + 3+ 4 + 5; export const b = returnFoo(); Превратить в //something.js export const a = 15; export const b = 'foo'; Чтобы, когда код уже запускали, некоторые вещи были прощитаны и записаны как литералы, а не высчитывались в рантайме. Для вебпака вроде бы есть val-loader, который что-то как-то делает похожее, а без него для серверной части как это сделать?
>>2030935 Угу. А вебпак настраивают webpack Developer И для настройки vscod'a наймем отдельного человека И для написания комментов в задачах в жире должен быть отдельный комментописатель А программист только код должен писать и больше ничего
Где и как хранятся пути приложения? Ну например двачные /pr, /b, /m, /me или обычные там /messages, /cart, /checkout. Они прямо в какой-то жс файл захардкожены? Или они в дб лежат, чтобы админ, не вызывая программистов, мог их добавлять\изменять\удалять? А как мне убедиться, что все эти пути уникальные, чтобы не получилось, что какие-то разные по логике части приложения не оказались с одинаковыми путями, типа show и shop указывают на \s? Это уже тесты писать надо, автоматически как-то ide\вебпак\ts не заставить на такое проверить? А для этого используют какие-то фреймворки?
>>2031685 пути так и так являются уникальными, как ни крути, если ты зажашь два уникальных путя - будет работать только один, тот который будет указан последним в коде. А если тебе надо переходить по указанной ссылке, только когда ее путь совпадает с указанным тобой - нужно вешать атрибут exact.
на все остальные вопросы - изучай router там все это есть
>>2031741 Хуйню какую-то несешь, есть только хок withRouter, и я вообще не про это.
>>2031747 Нет, не являются, если я, как ебаный дебил, напишу в файле два одинаковых. Вот и спрашиваю, как сделать проверку на их уникальность, чтобы не смотреть самому, это можно как-то тайпскрипт надрочить на это, или уже время изучать и включать тесты для такого? Нихуя в роутере нет, это простая библиотека для дроча локаций, я вообще про другое спрашиваю.
>>2032009 Нет, мне написали какое-то говно про реакт роутер. Я спрашиваю как и где хранить сами пути, как убедиться, что они уникальные. Это к ебаной навигации роутером вообще никак не относится.
>>2032173 Роутер и есть самое удобное место для хранения путей. Если все же паранойя побеждает, ты всегда можешь сделать свою коллекцию для роутов со всеми нужными проверками
Хочу на странице свое пет проекта change log оформить с описанием новых фич, багфиксами и т.д. Можете подкинуть пример как это можно удобно реализовать в плане UI
Аноны,хочу сделать раздачу карточек рандомом-10шт например те надо сделать 10 жпг картинок,привязать их к переменной, потом запустить ГСЧ,потом IFом проверить,если выбтьая цифра соответствует переменной,то выбрасить нужную карту с эффектом раздачи(пока не знаю как это сделать) Верные ли мысли?
>>2032035 Вебшторм неудобно перегруженное тормозящее говно, ну а что ещё можно ожидать от жидбрейнс? Вскод намного удобнее и приятнее, и тормозит меньше, при том что сделан на электронне (!!!)
Я не видел более убогого говна чем ебучий реакт нейтив. Попытка блять натянуть сову на глобус. Мне надо чтобы часа через 4 все охуенно (хоть как-то) работало, я уже охуеваю здесь с этим говном. У меня буквально утром возникла необходимость соприкоснуться с миром этого невидонного говна, посылать изучать документацию бесполезно, я изучил все что мог за такой ничтожный промежуток времени. Почему он срет мне ошибкой? Где там могло возникнуть undefined? Как правильно заставить работатить этот код? Вставлять ему в жопу тайпскрипт просто физически нет времени, я не успею еще 100 страниц читать, как в этом говне которые компилируется из лиспа в паскаль из паскаля в эффель, прописывать типы.
Какие же гении, зачем создавать язык со слабой типизаций, чтобы потом писать те же типы TypeScript, как же замечательно нахуй. Ещё ты только выучил js, а на собесе говорят, у нас тут TypeScript по дефолту, надо выучить ещё заодно пук среньк. Как будто зоопарка до этого не хватало
>>2032399 >Какие же гении, зачем создавать язык со слабой типизаций, чтобы потом писать те же типы TypeScript, как же замечательно нахуй. Те ж мысли. Удивлен, что его везде стали спрашивать. Зато блядь в иде автокомплит получше стал!
>>2032376 Да, действительно через жопу, ide хуй пойми откуда взяла импорт. Короче. нужна помощь реакт нейтив отцов, нужно сделать меню-шторку (drawer), чтобы при тапе на бургер в хедере слева открывалась менюшка. Кто-нибудь знает как по-быстрому такое сделать? Пользуюсь react-native-elements, но там нету шторок. Нашел шторку-навигатор в реакт навигаторе. Подойдет? И еще: как мне вызвать андройдовскую функцию закрытие-приложения чтобы его можно было закрыть?
>>2032408 Хм, что лучше потратить время на redux или продвинутый реакт, или учить очередной надстроенный велосипед. Сразу бы тогда писали на java весь фронт, или С++. Типизация это же так заебись
>>2032414 Когда ты джун всё быстро освоить можно конечно, скоро на собесах будут спрашивать про умение жонглировать, ибо каждый слесарь уже в Айти. Выбора много.
>>2032399 Его создавали чтобы писать скрипт типа формочку подстветить, намного позже уже додумались писать уеб-приложения, поэтому этот скриптовый язык пришлось доделывать до чего-то приличного и обвешивать инструментами.
>>2032421 >Его создавали чтобы писать скрипт типа формочку подстветить А сейчас что изменилось? Я понимаю дрочь на типы в приложухе, где расчетный срок службы кода лет 30, в одних слоях абстакции можно запутаться, нужно валидировать каждое сообщение по схеме итп.
>>2032399 Уже несколько лет серьёзные проекты пишут только на TS. Я после того как попробовал TS больше никогда не вернусь к жс-параше. Сейчас бы на динамикодрисне писать.
>>2031946 ну ка достань мне пути текущей страницы что бы отправить часть названия пути в гет запрос, а не можешь сын шлюхи? РЕАКТ РОУТЕР НУЖЕН, ДА? вот и соси хуй, ребенок бляди
Наполняю портфолио фронта. Мне сервера к приложениям обязательно надо пилить, или достаточно клиента, я же фронт? Какие-то знания по беку у меня все равно есть, какие-то минимальные.
>>2032629 А я обратное что ли утверждал? Дебич, я тебе про то, что проекты пишут на TS, это значит, что исходный код — TS, а не устаревшая динамикодрисня.
>>2032633 Пиздец. Гуй десктопных приложений переписывают на электрон, qt везде пропихивает qml, в больших приложениях сплошь и рядом скриптинг на пистоне и луа. Реактодебилы же обмазываются декораторами и фабриками бобов, при том что из профитов линтер и автокомплит в иде получше. Просто гениально!
>>2032693 Для чего? Если тебе нужно полгода гуй разрабатывать, мог бы сразу на нативных контролах и логике все расписать уже. Преимущество динамики - хуяк-хуяк и у тебя мвп уже практически готов.
Расскажите без тролленга, как вы работаете без тайпскрипта? Все тестами покрываете? пиздос же, заебешься, все равно что-то пропустишь и потом бабах method not found
>>2032896 Jest, Enzyme. При написании тестов, надо меньше думать о коде который тестируешь, а больше о том, что делает данный код. Это означает писать тесты, имитирующие поведение пользователя. Даже на самом низком уровне. Просто поддерживать и писать тесты это тоже оплачиваемая работа программиста, поэтому покрывать бесконечно всё тестами, нет смысла.
>>2032911 Все правильно, но ведь тесты еще запустить надо. И если их дохера то это может быть несколько минут. А TS компайлер мне сразу скажет, что иди как ты нахуй, типы не совпадают.
>>2032828 Ну линтер же есть. Если иногда проебываю название метода - ну и что? Тестами покрываю нетривиальные куски, типа трансформации сложных данных. Потом фичу протыкивает ручной тестер на соответствие тз. В чем великая нужда в тс? Просто кодеры присосались к проекту на большой зп и выдумывают хуиту.
>>2032913 Поидеи каждый дрочит как хочет конечно, кто-то ругает TS за лишний код и потерю времени, кто-то хвалит за отлов ошибок. Как мне кажется TS нужен когда у тебя большое приложение, которое трудно дебажить, а когда небольшая хуйня тащить туда TS это тупость.
>>2032828 > заебешься Тяжело в тестировании, заебись на продакшене. У меня вот охуенные тесты, я могу на изи херачить ковровый рефакторинг, и ничего мне за это не будет.
>>2032919 Я в принципе могу представить проекты, где тс прям засияет, мне просто непонятно нахуя оно в буквально каждой вакансии? Нехочу я на нем писать блядь! >>2032920 Круто. У нас только самые критичные места на 80-90% покрыты.
>>2032921 На проде никак, до проды, но с TS код более понятный, не надо думать, какой тип тебе пришёл, всё чётко и ясно, архитектура более выраженная. Если бы настолько хуйнёй был, не использовали бы.
>>2032925 Тоже не хочу на этой хуйне писать, но если все требуют куда денешься, жрать то хочется. А не то зумерки типизированные придут, быстро твоё место займут.
>>2027019 (OP) Есть, значит, HTTP. И есть форма регистрации. Клиент, вводит туда регисрационные данные, ну там логин, и главное - пароль. Клиент отправляет эти данные POST-запросом. Как защитить пароль, при передаче по открытому каналу, помимо HTTPS, подверженному MITM-атаке?
Первое, что приходит в голову - это выслать клиенту ключ, чтобы он им зашифровал свой пароль, а на сервере - расшифровать. Но перехват ключа - выдаст пароль. Поэтому не симметричное шифрование должно бы быть, а асимметричное, то есть можно выслать публичный ключ, клиент ним зашифрует пароль, а расшифровать его - приватным ключем.
Хуй знает как всю эту поебнятину имплементировать, мне чёт впадло ваще, и хотя интересно, но заебало уже гуглить, бляьд. Есть ещё варианты годные?
>>2033088 Прост хотелось бы чё-нить поверх HTTP, ну или ещё и поверх HTTPS. Ведь HTTPS могут и замитмать, если подсунут левый сертификат, а так поверх него ещё хуёвина будет какая-нить. Но городить целую конструкцию из говнокода, реализующего рса, как-то не очень охота, поэтому и спросил, какие варианты - попроще, да ещё и попижже.
Ты говоришь, что если митмщик доебался к моим коммуникациям, то нихуя не поможет, типа. Почему же? Смотри... Допустим, сервер юзает рса. Пусть публичный ключ сервера - общедоступен, а приватный - скрыт на сервере. Приватным ключем, сервер может как шифровать данные, так и подписывать их.
Пусть клиент коннектится на сервер, и пусть сервер шлёт ему свой пабкей, который общедоступен и ещё и известен каждому, а значит его можно сравнить. Он может быть вшит в код клиента, без передачи. Дальше, клиент генерит свой пароль, и шифрует его паблик-кеем сервера, отправляет шифр на сервер, и сервер приватником - дешифрует этот пароль. Перехват шифра, митмщику, нихуя не даст. Дешифровать шифр, без приватника сервера, митмщик не сможет. Подменить данные на свои, митмщик тоже не сможет, покуда установлено TCP-соединение с тройным рукопожатием.
Что тут ещё можно замитмать?
Но если паб передайтся в ответе от сервера, то да митмщик может подсунуть свой паб.
>>2033107 Так а если данные от клиента закриптованы общедоступным пабом сервера, как митмщик раскриптует шифр без прива? Он может разве что перехватить шифр, и попытаться взломать его, но там пиздец как дохуя итераций надо, разве что на квантовых компах как-то, или хз. Митмщик может рвать соединения, подсирая исподтишка, из своих ебеней дегенератских, ну и подменить данные может, чтобы они хуёво декриптнулись. А так-то нихуя больше он не получит, разве что хуй за щеку, тварь такая, поганая.
А где хранится всякое говно? Ну например вот на главной двачи приветствие текстовое. Или потом правил список. Или информация контактная. Это же не быстроменяющиеся вечно приходящие данные вроде постов\заказов\записей для sql. Но и в код напрямую их не оч писать, если вдруг админ какой захочет это поменять без программиста. Где такое хранят?
>>2033125 >хардкод в исходниках Говорю же, это хуйня, если админ захочет что-то потом поменять без похрамистов. >цмс Лол блять, а она их где хранит? > конфиг от шаблонизатора Да это тот же хардкод >база наконец Реально в sql такое кладут?
Как можно переопределить дефолтные цвета в бутстрапе? (реакт-бутстрапе). В на одном уровне с node_modules создаю папки css и scss, делаю все по инструкции из доков, в файле custom.scss переопределяю переменные, делаю импорт бутстрапа в конце файла, потом делаю sass --watch scss:css, он ругается на хуевый импорт.
>>2033244 Короче если я в соло пишу стартап и ожидаю что он выгорит и придётся расширять тиму девелоперов то я могу писать на чистом жсе и не выёбываться?
>>2033247 Вообще не сложно. Прикручиваешь поверх приложения тс-парашу и по одному файлу переписываешь, там только типы описать и раскидать эти типы по сигнатурам функций.
>>2033341 Окей, ладно, проблема не в laragon. Есть дефолтнейший проект на реакте, созданный с помощью create-react-app, сделаный по большей части из компонентов react-bootstrap. Собранный через run build (с дефолтным create-react-app конфигом, я ничего не еджектил). В dev режиме работает отлично. После билда, если открыть html файлик в браузере, то будет просто голая страница, без текста, без ДОМа (дом есть, но в рут компонент нихуя не засунуто), без нихуя. Скрипты, которые вебпак сует в конец файла, на месте, но в девтулзе светятся серым. Во всех браузерах все одинаково. Где я обосрался?
Йобанный час я потратил на то, чтобы понять почему огромная форма высирает ошибку если билдить на моём кудахтере. Оказалось что там есть компонент Component.js и еще один такой же более новый Component/index.js, импорт офк происходит через ./Component. Уу сука не понимаю почему у автора этого кода йобаного приоритет был у индексового файла в папке
>>2033463 Ну подожди, хорошо, я не знаю, щас пойду читать. Но я до этого писал проекты, созданные не через create-react-app, т.е. с конфигом вебпака, со всей этой хуйней сделанной мною вручную, точно так же билдил и прямо "из файла" все заебись было. В чем разница?
>>2033493 Так блэт. Какая-то хуйня. Он не подхватывает конфиг вебпака. Он кладет билды в дефолтную папку dist, хотя у меня прописано в build. И файлы ложит под дефолтными именами, а не как по конфигу положено с хэшами етц. Что за хуйня? Это я про "образцовый" проект. И точно так же нихуя не пихает в рут, хотя вчера у меня там хэллоуворлд видно было. Пиздец блять опять какое-то ебаное колдовство случилось с этим вебпаком.
>>2033093 Ты не понимаешь как работает митм, но при этом используешь этот термин.
Я человек по середине. Ты сервер, ты передаешл пубоичный ключ, я его подиеняю и передаю клиенту свой ключ, вместо твоего. Клиент шифрует данные моти ключем, думая что он твой. Я приниммаю данные клиента, расшифровываю своим приватным ключем, подменяю что мне нужно, шифрую твоим публичным и передаю тебе.
Https на стадии рукоподатия именно так и паботает с ассиметричными ключами.
>>2033497 Короче блять я создал совершенно новый чистый дефолтный самый обычный проект через yarn create react-app, и сразу же сбилдил его через yarn run build, ничего в нем не изменяя, ни единой строчки кода. И он сука не заработал, опять чистая белая страница и пустой рут. Пиздец какой-то.
>>2033523 Да все доступно. Я уже выяснил, что он вообще ничего не билдит. И дело тут 100% не в моем коде, потому что даже не проекты, которые вчера отлично билдились, сегодня не работают. Даже чистые не билдятся. Я хуй знает что тут делать, пропробую ребут.
>>2033561 >ты его случаем глобально не ставил? Нет >Нет, проблема в том, что ты не знаешь, как работают урлы. Это не мешало мне до сегодняшнего дня локально запускать файлы, просто прописывая путь до файла в браузере. Еще раз повторюсь, меньше 24 часов назад все работало заебись. Конфиги подхватывались, проекты запускались, билд работал как надо. Я хуй его знает что изменилось. Злой колдун порчу навел, это самое рациональное объяснение этой хуйни, которое у меня есть.
Есть какая-то библиотека для работы с аудио треками на сайте?
Надо сделать типо как плеер вконтакте, что бы было например три трека, на каждом кнопка плей и перемотка по времени.
Так то можно запилить через стандартный <audio>, а есть ли для реакта какая-то либа что бы кастомить этот тег? Или свои мож какие плюшки уреката для медиа есть?
>>2033500 Я тебе об этом же и писал, в этом месте: >>2033093 >Но если паб передайтся в ответе от сервера, то да митмщик может подсунуть свой паб. Но если публичный ключ не передаётся, а известен клиенту заранее, вшит скажем в исходник как >var pub = "base64"; и этот исходник клиент скачал заранее, и он имеет хэш, который висит публично, и который можно сверить, то тогда ты долбоёб, и ты нахуй иди, и подмена паба здесь исключена.
>>2033903 Подменяешь приложение, подменяешь сервис проверки хэшей, подменяешь небо, подменяешь аллаха. Если челик уже встал между сервисом и пользователем то ГГ. Надо канал передачи контента и передачи секретов разделить, приложение почтой федерации отправлять или закладками там, вот тогда можно говорить хоть о каком то файер резисте.
>>2033906 Эти api нужны для синтеза музыки, реализации эффектов и прочих микшеров и фрутилупсов. Чтобы сделать простые плееры, достаточно объекта Audio.
>>2033903 Что блядь за заранее? СОрцы твои он по тому же транспорту получает, который в твоем сценарии замитмлен, и ничего злоумышленнику не мешает их подменять.
ТЫ пониммаешь, что это никак ровным счетом не отличается от корневых сертификатов. Даже менее надежно, потому что в случае с https надо установить серт в ситсему\браузер, в твоем случае, ничего этого не нужно. В случае с сертвами доменов они могут быть распределенными и чекаться децентрализованно, - в твоем сценарии достатоно одного единственноо вектора атаки.
>>2033903 Алсо, ты пытаешься в секурити бай обскурити, допуская типичную ошибку - ты считаешь, что твой способ более надежен, в то время когда все наоборот. Еще и предъявляешь притензии к уже имеющимся технологиям, в той части, в которой твоя идея уязвимее в десятки раз. Можешь начать вести дневник и чекать, как скоро тебе в голову придет идея разработать свой собственный алгоритм шифрования хэширования, неба и аллах.
>>2033912 >>2033962 >>2033964 А если тупо на гитхаб выкинуть исходники с хэшами, как митмщик замитмает гитхаб? Ему придётся пилить свой гитхаб штоле?
Алсо есть вопрос по авторизации через куки. Куки могут тупо перехватить снифферами, ну всяким там WireShark, и так далее, и тому подобное. И зайти в акк юзера по кукам перехваченным. Чтобы этой хуйни не было - надо выкидывать из акка, если другой ип, но когда клиент заходит через митмщика, то у него ип митмщика, и митмщик может залезть в акк. Значит, надо куки криптить асимметричной криптографией, штоле блядь? Или может на клиенте просто сгенерить два ключа, и пускай клиент своим приватником криптит, скриптами, а паб - серверу отправит при регистрации, и этим пабом серв будет расшифровывать криптоговенный шифр клиента, а митмщик - соснёт хуйц.
>>2033903 >Но если публичный ключ не передаётся, а известен клиенту заранее one time pad так и работает, и он невзламываем, но вот проблема, ключ передать никаким способом нельзя
>>2034042 >надо куки криптить асимметричной криптографией Опять ключи передавать, хм, а что если ключи криптить асимметричной криптографией? Но тогда надо ключи передавать, хм. >Или может на клиенте просто сгенерить два ключа У меня от тебя DIFFIE-HELLMAN просто уже
От того что ты сейчас переизобретешь TLS, а потом положишь его в уже существующий HTTP over TLS, защищенность у тебя сильнее не станет и будет равняться одному стандартному HTTPS
>>2034048 >one time pad Шифр Вернама, имеешь в виду? Ну так там ключ длиной в данные, но можно его не передавать, а обменяться семенем для PRNG, и с помощью PRNG генерерить синхронно, и на клиенте, и на сервере, ключ вернама, любой длины, и шифровать и дешифровывать трафик ним.
>>2034061 >У меня от тебя DIFFIE-HELLMAN просто уже Диффи-хеллман - митмается, пикрил.
>>Значит, надо куки криптить асимметричной криптографией, штоле блядь? >Опять ключи передавать, хм, а что если ключи криптить асимметричной криптографией? Но тогда надо ключи передавать, хм. Говоря о шифровании кук, я имел в виду возможность их перехвата митм-атакером, с возможностью залогиниться по этим кукам-хуюкам. Но как их криптить - хз, если просто пабом сервера, то митмщик без прива не узнает что внутри шифра, но сможет перехватить шифр и зайти с шифром этим ебучим.
Ты говоришь передать ключи... Если речь о пабе сервера, то он общедоступен, и заранее известен, он может быть даже вхардкожен в скрипт, со съёмом хэша файло и диверсификацией этого хэша.
Но обмен ключами - довольно интересная проблема. На каждом этапе митмщик может сунуть свои ключи ебучие. А что если, на этапе регистрации, обменяться ключами в оффлайне или по другому каналу связи?
Или гнать клиенту, подписанное приватным ключем сервера, сгенерированное случайное значение rand, которое клиент, после проверки подписи, должен будет приклеить к новосгенерированному на клиенте паблик-кею ClientPub, эту пару значений, зашифровать известным ему - пабом сервера ServerPub, и подписать своим привом секретным ClientPriv. Получается, клиент шлет два значения: 1. encrypted = encrypted(ClientPub+rand, ServerPub), 2. signed = sign(encrypted(ClientPub+rand, ServerPub), ClientPriv); Которіе нихуя не дадут митмщику, идущему в хуц.
>>2034070 Лень читать последний абзац, но мне кажется что если заменить "клиент" и "сервер" на "челик", то вернемся к тому же, потому что там похоже все паблик ключи передаются, а приватные челик сам сделает
>А что если, на этапе регистрации, обменяться ключами в оффлайне или по другому каналу связи? Да, но проблема с долгоживущими ключами в том, что если они были скомпроментированы, то вся ваша прошлая и возможно будущая секретная переписка внезапно станет несекретной.
В следующей серии добавь еще тайм коды, чтобы челик не успевал атаки проводить
>>2034080 >Лень читать последний абзац Ну, как будет не лень - прочитаешь. Я не спешу никуда. >мне кажется что если заменить "клиент" и "сервер" на "челик", то вернемся к тому же, >потому что там похоже все паблик ключи передаются, а приватные челик сам сделает Тут вообще не понял нихуя, что ты сказать хотел.
>Да, но проблема с долгоживущими ключами в том, что если они были скомпроментированы, >то вся ваша прошлая и возможно будущая секретная переписка внезапно станет несекретной. Да впринципе пофиг, всё-равно инфа не актуальная. Вот скажем торгуешь ты на онлайн-бирже, тебе важно, чтобы никто не влез в твой акк и не стырил бабло с биржи, а что там с историей торгов и историей транзакций будут делать кулхацкеры, когда таки-вскроют суперстойкий ёба-шифр, квантовыми компами какими-нить, через год скажем, тебя уже не ебёт особо, ведь это же не бабло, это просто инфа, и ещё и неактуальная.
>В следующей серии добавь еще тайм коды, чтобы челик не успевал атаки проводить Тоже не понял что ты сказать хотел здесь. Можешь объяснить?
Шоб куки не спиздили, я пока придумал пока вот что: >SessionID = hash(username + UserAgent + IP) И это лезет в базу данных, к юзеру, после логина, и пишется в куки ему, и как только что-то меняется - SessionID не совпадёт с тем, что хранится в базе данных, и произойдёт перелогин. То есть сосед васян каким-нить wireshark'ом, перехватит куки и спиздит их, и попытается зайти - хуй ему. Но если этот васян - митмщик, и через него пиздует подключение, то у него и юзерагент будет и ип его, а значит перехватив юзерагент, он может поставить такую же ось-хуёсь, браузер-хуяузер, и зная логин-хуёгин, сможет залезть в акк по кукам пижженным, И вот тут вот, где-то, в этом месте, и вертится ассимметричное шифрование кук, потому что в открытом виде, куки-хуюки могут спиздить тупо, блядь.
>>2034764 Хватит тралировать. Тот факт, что джва объекта стрингуются в одно и то же, не значит, что они равны между собой. У тебя в exit ссылка на какую-то старую хуйню, а в ивенте - совершенно другой объект. Очевидно, что они не равны даже с приведение типов.
Помогите плз с вебпаком. Картинка вставляется только с указанием полного пути до неё, больше никак. Ввожу что-то подобное: background-image: url(checkmark.svg); и сразу ошибка can't resolve
Шалом, анон. Есть один слайдер из материал юай. У него есть два элемента: rail и track, который перекрашивает rail на столько, на сколько двинули переключатель.
Хочу чтобы было так: Делаем rail черным. Track градиентным. Градиент рассчитывается от длины rail. Таким образом, черное выглядит как сдвигающаяся заставка, за которой постепенно открывается градиент.
Проблема: Градиент рассчитывается от размера элемента track. Это выглядит как растягивающаяся резина. Надо чтоб считалось от размера rail и обрезалось в месте переключателя.
Анчоусы, а почему в react-router NavLink только включает на себе дополнительный класс, когда целевой и текущий пути совпадают, а не отключает себя (т.е. не убирает проп href). Я знаю, как это сделать правильно, обернул NavLink в свой компонент, но просто интересно, почему по умолчанию он так не делает. Зачем, находясь на /x/y/z иметь активную рабочую ссылку на /x/y/z? Кстати, какой смысл в трэйлящих слэшках? Вот у Route есть проп strict, чтобы отличть x от x/, а зачем?
>>2035033 >Зачем, находясь на /x/y/z иметь активную рабочую ссылку на /x/y/z? Скорее вопрос, зачем эту ссылку не иметь, когда можно иметь? Функционально она ничего не меняет, если ты на нее нажмешь, то нихуя не произойдет, а так ты сейчас сделал лишнюю бесполезную работу и при этом добавил неожиданное для пользователя поведение, что у него ссылки пропадают между страницами. >Вот у Route есть проп strict, чтобы отличть x от x/, а зачем? Он не для этого, а в первую очередь для того, чтобы один роут не матчил неожиданные совпадения, например пути /users и /users/123 будут оба матчиться в <Route path="/users">, если ему не прописать strict
>>2035062 >зачем эту ссылку не иметь, когда можно иметь? Перфикционизм? Семантика? > если ты на нее нажмешь, то нихуя не произойдет Меня немного раздражает, когда на сайтах имеются такие кнопки бесполезные, без шуток. >неожиданное для пользователя поведение, что у него ссылки пропадают между страницами Не пропадают, а не могут нажаться. Ничего неожиданного нет. >например пути /users и /users/123 будут оба матчиться в <Route path="/users">, если ему не прописать strict Это делает exact. strict в документации именно про слэши в конце путей.
Добрый вечер, господа. Вопрос по поводу сопутствующих приблуд для верстки/жс. Решил составить список того, а что вообще нужно из всяких дополнительных штук. Список такой: 1. Препроцессоры. Прежде всего Sass. 2. Минификаторы html/css/js 3. Сборщики. Прежде всего Webpack Ничего не пропустил?
>>2035070 >Перфикционизм? Семантика? Семантически как раз правильно иметь ссылку со ссылкой, а не пустую. Что перфекционисткого в лишней бесполезной работе - хуй знает. >Меня немного раздражает, когда на сайтах имеются такие кнопки бесполезные, без шуток. Навигационная ссылка - бесполезная, держи в курсе. >Не пропадают, а не могут нажаться. Ничего неожиданного нет. Они и так не могут нажаться, возвращаемся к бесполезной работе, которую ты проделал, чтобы сделать ненажимаемые ссылки ненажимаемыми.
>>2035071 Забыл все плагины вебпака Забыл все либы реакта Забыл тайпскрипт Забыл иде Забыл плагины иде А также системы контроля версий Специальный приз: смуззи
>>2035104 >Навигационная ссылка - бесполезная, держи в курсе Которая ссылается на саму себя - да. Представь кнопку в лифте, которая дрочит его туда-сюда, и возвращает тебя обратно, откуда приехал. >Они и так не могут нажаться У меня нажимаются
>>2035071 Если ты используешь вебпак, то первый пункт это лоадер для вебпака, а второй это какой-нибудь mode: 'production' для него же. Ну и sass уже не модно, либо css in js либо если уж совсем плохо postcss
>>2035303 >>2035318 >>2035371 А npm scripts это что за зверь? Когда используется она, а когда вебпак? Есть вариант во всех проектах использовать что-то одно (речь не про фреймворки)?
Аноны, могли бы подсказать, как можно расширение автоматически запускать при открытии vscode?
Недавно перешел с сублимки на вскод, пока доволен. Но чет не кошерно каждый раз лезть и писать говно чтобы лайврелоад запустился. Можно как-то автоматизировать чтобы оно само писалось? Если да, то куда копать? В настройках такой штуки нету.