Это копия, сохраненная 13 мая 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Больше пары строк кода в посте или на скриншоте ведут в ад.
Для программирования на HTML https://codesandbox.io
Для Node.js с консолькой https://repl.it/languages/nodejs
Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Руководство для вката: https://developer.mozilla.org
Конечно же различаются:
https://stackoverflow.com/questions/34134741/what-is-the-difference-between-php-regex-and-javascript-regex
Различия в деталях реализации, вместе с блевотным синтаксисом - вся ссуть регулярок.
Вечер в хату. Есть здесь гуру js?
Ситуация такая:
Устроился в компанию, которая разрабатывает гигантский продукт, а команда наша работает над несколькими компонентами. Поковырялся в коде и чувствую, что там есть проблемы с архитектурой. Компонент, по классике, имеет контроллер (манипуляция данными) и представление (все то, что мы показываем пользователю). Но проблема в организации хранения и обработки данных внутри компонента. Есть данные компонента, состояние компонента, состояние представления и ещё непонятно что.
Вопрос:
Какие книги/статьи почитать по организации данных внутри компонента, датафлоу. Может быть вы знаете крутые опенсорсные проекты, где бы это было реализовано на пять с плюсом? Ну или может кто-то опытом может поделиться, как быть в этой ситуации
тут есть мастера js вообще?
Написаны на его отсутствии, потому и возникли проблемы со структурой данных, как мне кажется
Я знаю и пишу (на webgl). Зачем тебе кодить с кем-то совместно? Так медленнее же, ебошь сам.
Много просишь, если честно. Ты ищешь няньку, которая будет тебя учить всему, а взамен ничего не предлагаешь
Рендер в canvas происходит. Есть варианты адекватно с таким рендеринга из реакта работать?
Смотря что вы там рендерите. Проще всего в useEffect обновлять canvas императивно. Но если хочется прям реакт-компоненты рендерить в канвас, то это или биндинги использовать (если к pixi и three.js) либо свой реконсилер писать. В любом случае, легко точно не будет и подводных камней там тонна. Pixi это сама по себе сложная либа, а тут еще и куча абстракций поверх.
Ничего плохого в этом нет, но пару часов человека, который шарит, это 5-6к рублей, которые он может заработать уделяя это время работе. Тебе лучше научиться задавать вопросы в треде или на том же стековерфлоу. А вообще, лучше пойти в компанию, которая решает схожие с твоими задачи. Они тебя научат, да ещё и заплатят
ну мне типо надо написать канвас по которому можно перемещаться с помощью мышки и приближать его
все
Ну так задавай вопросы свои, люди ответят. Писать и разбираться за тебя никто не будет.
>Смотря что вы там рендерите
Да все рендерим. Весь интерфейс приложения - суть рендер на канву через pixi
Проект супер большой и я боюсь, что даже реакт туда вот так с ходу не встанет. Самое простое и правильное, на данный момент, это организовать уже написанный код так, чтобы он отдаленно напоминал реакт
Буду в понедельник обсуждать с командой
Как написать клон reddit place
или pixel battle
Суть такова у вас есть канвас (а точнее два, один для контента а второй чтобы смотреть его )
все пиксели хранятся в imagedata обьекте
соотвественно после mousedown мы его рисуем
но как сделать перемещение по такой штуке (перемещение это приближать канвас в любую точку, нажать и перемещаться, с помощью клавиатуры двигаться по нему) ну и соотвественно отдалять и приближать колесиком
я попытался сделать все это с помощью ctx scale и зум у меня получился а вот все остальное нет
зум у меня получился не в точку а просто приближается и отдаляется центр канваса
>но как сделать перемещение по такой штуке
translate
>отдалять и приближать колесиком
scale
Еще вопросы?
Канвас - это же рендер обычный. Мне с дивана это видится так:
1. Имеем стейт с данными зума и координатами центра экрана
2. При зажатой левой кнопки мыши и перемещении указателя высчитываешь координаты центра экрана
3. Перерисовываешь канву или на что ты там выводишь изображение
вот что у меня получилось на данный момент
https://codepen.io/ivaosi/pen/oNYLVyq?editors=0010
может великий фронтендер сжалится и допилит это
я уже хз как
если что там надо нажать и двигать
>допилит это
Суть этого процесса для тебя в чем? Ты научиться хочешь или просто получить готовый проект? Если первое, то никаких "допилите" здесь быть не может, потому что лично тебе это ничего не даст без пояснений почему и как был допилен этот код. А если второе, то иди на биржу фриланса и там индус тебе за пару К за вечер накидает то, что тебе нужно
В программировании, как нигде актуальная поговорка про удочку и рыбу. Вот ты рыбу хочешь, а тебе надо научиться рыбачить самому. Бей задачу на мелкие части и последовательно их решай.
Максимум на что меня хватило, это найти для тебя опенсор проект https://github.com/dynastic/place
Смотри код там
Ты охуеешь впихивать либу (реактпикси) для либы (реакт) для либы (пикси) в уже сущестующий проект.
Да, все так, я уже это понял. Буду колхозить своими руками
для начала хотелось бы понять почему он не работает...
типо сделал все по логике вещей
ладно я вас понял пойду ебаться дальше
>для начала хотелось бы понять почему он не работает
Что именно там не работает? Ты ведь даже вопросов никаких конкретных не задавал. Работает там все так, как ты написал в коде. А как ты хотел чтобы это работало, я хз
Лол, рили? Приведи пример хоть одной задачи, которую решает реакт и при этом её не решает ангуляр.
Различия незначительны, как и в любых других языках.
Очевидные TypeScript + Angular для фронта. Для бэка ASP .NET, для десктопных приложений Electron.
Ангуляр, конечно, но он сложнее в освоении и реактомакаке придётся еще и TypeScript учить. Обычно в него приходят люди из языков с статической типизацией и грамотной архитектурой (Java, C#), т. е. уже с хорошим бэкграундом. Реакт это участь васянов, которые всю жизнь проработали кассирами, а теперь хотят после курсов вайти в айти.
Их харча попала в мамкин борщ, который они доедают уже неделю.
Могу привести пример задачи, которую решает ангулар, но не решает реакт. Я хз, думал это всем уже давно известно, но для тебя повторю: ангулар - это MVC комбайн 10000 in 1. Ты берёшь его и пишешь приложение по минимуму используя сторонние решения. Реакт - это та самая буковка V из MVC. Берешь реакт и к нему надо будет дособрать ещё пару либ или написать их самому, чтобы было комфортно.
Ну тут кастомный eventbus нужен. Видел такой, там при регистрации обработчике приоритет указывался и все работало как тебе надо
Что значит "приоритет"? Ивенты баблятся, значит тебе нужно сделать "задний" компонент родетелем переднего и на нём перехватывать клики.
Что подразумевается под приоритетом?
Лови эвенты в верхнем компоненте, делай .dispatchEvent в нижнем.
Такое унылое тестовое, что даже сложно представить каким червем-пидором нужно быть, чтобы получить его.
Очевидно, что для страницы ты будешь использовать HTML + CSS или у тебя это два отдельных языка программирования, которые нужно было отдельно упомянуть?
Мелкобуква опять горит.
>Нихуя не очевидно блять
Поздравляю, результаты твоего IQ теста показали наличие у вас слабоумия, теперь вы можете подавать документы на получение пенсии по инвалидности.
>результаты твоего IQ теста показали наличие у вас слабоумия
>твоего
>у вас
А ты от него не сильно далеко ушел в развитии
еще и вас с маленькой буквы,что значит не персональное обращение на вы,а обращение ко множеству людей
Ну, во-первых, не с маленькой, а с строчной, раз уж ты решил за умного сойти, во-вторых, с прописной пишут только в личной переписке, так как это публичный тред, то писать с прописной при обращении на 'вы' будет только умственно отсталый дегенерат вроде тебя.
ты обращаешься к одному человек на ты, потом к нему же на вы. иди галоперидола наверни
Мелкобуква даже про королевское вы не знает, а у кого-то ещё и тупизну детектирует.
А, извини, забыл с кем говорю: ангулар имеет средства для управления состоянием приложения, а реакт - нет
ну ладно
Да нет здесь проблем, просто я говорю о крупных приложениях, а ты о тудулистах и прочей мелочи
Да кто такая ета ваша магия блен
Не юли, ангуляродебил. Ты сморозил хуитку про реакт и обосрался.
В ангуляре ты не сможешь нормальный менеджер состояния использовать, так как тебе пихают встроенный колхоз.
>>39739
Если ты пишешь крупное приложение на веб-говнеце, то твоему кабанчику просто лень платить настоящим программистам, макаки и так склепают задёшево.
Льют тут только два дебила, и не постоянно, просто у них какое обострение со вчерашнего дня произошло.
В данный момент работаю в компании, где реакт отвечает за часть ui. Ещё вопросы?
>>39753
>В ангуляре ты не сможешь нормальный менеджер состояния использовать, так как тебе пихают встроенный колхоз.
В ангулар он идёт из коробки, когда как реакт предоставляет инструмент для расширения функционала и подключения сторонних state manager’во внезапно, к ангулар тоже можно подключить что-то сторонне, но разговор о том, что у него есть свой, родной
> Если ты пишешь крупное приложение на веб-говнеце, то твоему кабанчику просто лень платить настоящим программистам, макаки и так склепают задёшево.
Это очередная порция троллинга тупостью?
Создаёшь тикеты в релевантных репах. Ненамного сложнее, чем ковыряться в куче постов к древней либе и выискивать правильные ответы, которые работают в нынешней версии.
А чем конкретно тебя мой ответ не устроил? Есть большой проект и реакт в нем присутствует.
>В ангулар он идёт из коробки
Хуки в реакте тоже.
>внезапно, к ангулар тоже можно подключить что-то сторонне, но разговор о том, что у него есть свой, родной
Сейчас бы ставить ангуляр, чтобы подключать к нему что-то.
>Это очередная порция троллинга тупостью?
Разве что только твоей, тому шо кабанчик тебя люто наёбывает на даллары.
Забыл кстати упомянуть Rome заместо сборщика.
>Хуки в реакте тоже.
Хуки != стейт менеджер
> Сейчас бы ставить ангуляр, чтобы подключать к нему что-то.
Шиз, это мой тезис, которым я аргументирую принципиальное различие реакта от ангулар. Если ты со мной согласен, то к чему вообще разговор?
Я сливаюсь
как ты его приложил
>Хуки != стейт менеджер
Так и ангуляр использует свой колхоз заместо божественного флюкса.
>Шиз, это мой тезис, которым я аргументирую принципиальное различие реакта от ангулар. Если ты со мной согласен, то к чему вообще разговор?
Твой тезисвысер был в том, что в реакте нету встроенного управления состоянием, что очевидный пиздёж.
1. Учу Js, читаю кантора, стараюсь побыстрому все сделать уже месяц его дрочу, понимаю где то 60-70% материала, на сложные вещи забиваю хуй, знаю что потом дойдет, щас важно понять синтаксис. Вопрос, после синтаксиса идет этап практики, как посоветуете лучше тренироваться - найти на ютубе проект на Js и повторять за автором, или дрочить задачки на cdewars? Как вы оттачивали практику что бы потом работать полноценно?
2. Сколько времени у вас заняло с момента изучения синтаксиса до написания уже полноценного рабочего кода, с каким уже можно по собесам ходить?
Остальное учится через бест практикс.
Синтаксис это первые две главы у кантора, что бы разговаривать на другом языке -надо сначала выучить его алфавит, и тут так же, понять функции, методы, массивы и т.д. после чего писать большие куски кода
В файрфоксе реально из расширения просто запустить экзешник с параметром?
Может быть просто не надо запускать екзешник просто? Или может быть не писать расширение для браузера, а решить вопрос по-другому? Ты лучше распиши что за задачу решаешь
>что за задачу решаешь
да вот решил написать расширение которое майнер устанавливает на комп, а тут такое дело понимаешь
Скрыто, в смысле устанавливает?
Все просто - я хочу заходить на страничку с видео аниме, выковыривать ссылку на видео и запускать его в mpv. Не понимаю почему такие элементарные вещи в 21 веке так сложно делать.
>Не понимаю почему такие элементарные вещи в 21 веке так сложно делать.
Очевидная защита от ушлых хакеров, которым день уязвимости искать. Если для себя пишешь исключительно, то можешь развернуть небольшой сервер, на той же ноде, который будет принимать адрес и открывать его как тебе угодно. А если планируешь, что другие будут этим пользоваться, тогда надо уже сервер свой городить и клиентскую часть, которая будет локально ждать запрос на запуск
Сколько требует для этого задача, очевидно. Ты, наверное, и не слышал, что базы данных разные бывают
Дурачок, сначала надо установить, что приложению действительно нужно "больше одной базы", а потом уже спрашивать про "какие".
То есть ты согласен с тем, что надо исходить из требований задачи, а не “ну там типа все просто, поэтому постгресс»?
> Что ты там собрался искать,
Сообщения на форуме. Работа с текстом в целом. Поиск говна в чатах. Что там еще не помню даже, хммм.
> возможностей постгреса?
У него взможностей минимум. Даже кластеризации и шардинга нет.
Я же выше ответил
>что приложению действительно нужно "больше одной базы"
Представь как тебе ставят задачу, где надо выбрать оптимальную базу для хранения огромного графа и ты такой: ну там всего одна база данных, поэтому постгресс и тебя увольняют
"Все просто - поэтому постгрес(номер один БД в мире)" - одно из другого не следует, попробуй еще раз.
>>39988
>Сообщения на форуме. Работа с текстом в целом. Поиск говна в чатах
С головой покрывается полнотекстовым поиском постгреса. Еще варианты?
>Даже кластеризации и шардинга нет.
Во-первых есть, во-вторых зачем тебе кластеризация и шардинг в постгресе(!) нахуй? Давно утыкался в потолок перформанса на уровне БД? Что писал, твич или дискорд?
Представь ситуацию, что ты жидко пукнул и обосрался на лекции. Представил? Стыдно?
Что из чего там не следует? Вот твой пост:
> Дурачок, сначала надо установить, что приложению действительно нужно "больше одной базы", а потом уже спрашивать про "какие".
То есть ты сам сказал, что задаешься вопросом «какая база нужна» только если нужно больше одной. А во всех остальных, похоже, выбираешь постгресс
Жидко пукнула тебе в носик. Так что на счёт работы с графами в постгресс? Сможешь по делу что-то сказать?
Ну на самом деле любую kv базу можно под любые графы запердолить. Так что по сути база-то всегда одна будет.
>>39997
> С головой покрывается полнотекстовым поиском постгреса. Еще варианты?
Меджленный же.
> Во-первых есть
Есть репликация и прокси-сервер вроде, не? Этого нидастатачна. Хотя и приемлимо, не спорю, 95% серверов так и живут.
> во-вторых зачем тебе кластеризация и шардинг в постгресе(!) нахуй? Давно утыкался в потолок перформанса на уровне БД? Что писал, твич или дискорд?
игры хехе, пару успешных рекламных компаний и постгресс складывается нахуй кхуям, если заранее репликацию и несколько проксей не сделать минимум
>Давно утыкался в потолок перформанса на уровне БД?
То есть ты ни разу не сталкивался с проблемами производительности базы? Что ты там пишешь? Тудушки и хелоу ворды?
>Ну на самом деле любую kv базу можно под любые графы запердолить. Так что по сути база-то всегда одна будет.
Мы вам перезвоним. Ты бы ещё на бумаге предложил граф хранить
>только если нужно больше одной
Не нужно. Ты собираешься размазывать хранение основных данных тонким слоем говна по нескольким серверам на этапе прототипирования нахуй, это настолько нонсенс, что постыдился бы высираться.
>А во всех остальных, похоже, выбираешь постгресс
Разумеется я по умолчанию выбираю номер один БД в мире, если на выбор другой нет каких-то охуенно редких причин. У тебя какие-то проблемы с этим?
>>40004
>игры хехе, пару успешных рекламных компаний и постгресс складывается нахуй кхуям
Держи в курсе, фантазер.
>>40005
>То есть ты ни разу не сталкивался с проблемами производительности базы?
99.999% "проблем производительности базы", который ты сможешь вспомнить из своей целой жизни - это проблемы говнокода приложения. Чтобы упереться в потолок производительности постгреса как такового я даже представить не могу, что нужно сделать.
> Держи в курсе, фантазер.
Вот и врёти началось.
Спрашиваешь про кластеризацию и шардинг - ВРЕЙТИ НЕНУЖНО ТАКИХ НАГРУЗОК НЕ БЫВАЕТ У ОБЫЧНЫХ ЛЮДЕЙ!!1 ЭТО ТОЛЬКО У ГУГЛА!11
Типичное поведение любителей постгресса кста
Называй конкретные цифры, которые у тебя вызвали проблемы производительности на уровне постгреса, которые без кластеризации решить никак нельзя или иди нахуй, шизик-фантазер.
>на этапе прототипирования наху
Виляние жопой. Мы не говорили о прототипировании, но если уж и говорить, то в этом случае надо брать то, что тебе знакомо лучше
> 99.999% "проблем производительности базы", который ты сможешь вспомнить из своей целой жизни - это проблемы говнокода приложения
Проекции своего субъективного опыта на собеседника. Ты, может, и упираешься из-за говнокода, а я работаю со специалистами, которые предпочитают выбирать инструмент под конкретную проблему.
>>40009
Какая разница на чем они там построены? Решают проблему обработки графов на порядки лучше постгресс и ладно
>а я работаю со специалистами, которые предпочитают выбирать инструмент под конкретную проблему.
Все еще жду "конкретной проблемы", которую постгрес решить не может. Только давай в этот раз без скатывания в клоунаду "а что если тебе придется хранить не-реляционный тип данных, а ты выбрал реляционную БД, что делать будешь".
>Только давай в этот раз без скатывания в клоунаду "а что если тебе придется хранить не-реляционный тип данных, а ты выбрал реляционную БД, что делать будешь".
Очень удобная позиция. То есть ты предлагаешь назвать задачу с которой постгресс справится плохо, но выбирать я могу только из тех задач, для которых он был создан? С тобой все хорошо?
Нет, я предлагаю тебе называть, чем ты собрался забивать гвозди, если не лучшим доступным молотком, а не выдумывать арбитрарную шизу "а что если мне придется ногти полировать, тоже молоток предложишь?". Если ты собрался хранить бананы, а не реляционные данные, то вопрос "постгрес или ящик деревянный?" даже не встанет, и обсуждать его смысла нет.
> врётиии не бываееет, фантазируете всё!11
Как-то слабо.
Лучше бы просто пояснил за шардинг и всё. Он кстати в постгрессе не такой и плохой, много популярных решений.
>>40023
> Какая разница на чем они там построены?
Ну это я к тому, что действительно можно решить всё одной базой. Правда не постгресом, а кв.
>Если ты собрался хранить бананы, а не реляционные данные, то вопрос "постгрес или ящик деревянный?" даже не встанет, и обсуждать его смысла нет.
Ну наконец до тебя дошло
А то тебя не дошло, шизло, потому что именно ты вклинился в разговор с абсолютно идиотским вопросом "а пачиму написан пастгрес, что елси мне бананы надо хранить, тожи в пастгрес сувать???".
Но ведь это ты подал постгресс как серебряную пулю. Тебя закономерно обоссали
Для 95% задач действительно нужен либо постгресс либо мария. Что-то другое нужно только есть серьезный архитектор, серьезные программесты и бизнес-план.
Пока обоссал ты только свои штаны, попытавшись выдумать ситуацию, в которой ответ на "в чем хранить данные приложения?" не будет без вариантов "постгрес". Но разумеется такую ситуацию ты смог выдумать только через дикую эквивокацию "под данными приложения я на самом деле подразумеваю бананы, поэтому такой ответ не подходит", так что ты был пойман за руку как подлец и дешевка, и отправлен на свалку истории.
>>39447
>>39456
>>39584
>>39959
Вот, четыре «сеньора» на эту толстоту уже попались. Ладно бы просто промолчать, но нет, с пеной у рта отстаивают свой «стек», лол. Подмойтесь лучше
>этот залетыш из /b/, который во всём видит подвох
Сочувствую, тяжело тебе живётся с таким отношением. Человек спросил для того чтобы не объебаться, узнав, что выученный реакт нигде кроме галер из макак не нужен, а для того чтобы попасть к белым людям ему нужно было учить ангуляр.
Чел, постгресс просто медленный на продакте. Ты думаешь просто так выдумывают всякие носкл базы, а не пользуются склами?
носкл базы придумывают для того чтобы "хуяк хуяк и продакшн", потому что для их использования достаточно знать ЯП и не нужно ебаться с изучением SQL.
Постгрес - это одна из самых производительных баз в мире, дружок. Сравнивать его с черепашьей носкл-парашей типа монги - это либо троллинг, либо дикое непонимание вопроса в приницпе.
>Ты думаешь просто так выдумывают всякие носкл базы, а не пользуются склами?
Ты не поверишь...
Найдешь одну БД, которая может выполнять функции потсгреса и будет производительнее него - весь мир будет тебе благодарен и сразу же на нее перейдет. Монго сразу мимо, пробуй еще.
Дело не в данных даже, нормализовать можно всё. Дело в производительности.
>>40060
> изучением SQL
Неделя времени.
>>40061
> Постгрес - это одна из самых производительных баз в мире, дружок.
Любое KV будет производительнее.
> Сравнивать его с черепашьей носкл-парашей типа монги - это либо троллинг, либо дикое непонимание вопроса в приницпе.
Нет, это шиза. Твоя шиза. Ты первый про монгу заговорил, лол.
> Ты не поверишь...
Дело в производительности.
Не понял, если честно. Почему мимо?
>Любое KV будет производительнее.
Проиграл. Может тогда сразу в памяти будешь данные приложение хранить, тут уж точно производительнее некуда, чего мелочиться со всякими редисами-хуисами?
Ну так зачем тебе редис для этого, храни сразу в хешмапе и будешь купаться в производительности. Правда сравнивать с этим полноценную БД может только поехавший шизик, у которого кончились аргументы, а пукнуть хочется.
> Правда сравнивать с этим полноценную БД может только поехавший шизик, у которого кончились аргументы, а пукнуть хочется.
Ну почему же, я всё еще могу использовать ACID. И кластеризацию. И шардинг. И иметь производительность несравнимую с постгресом.
>Ну почему же, я всё еще могу использовать ACID
Пока ты можешь только пердеть и фантазировать на диване, потому что ни разу не писал приложение с KV стором вместо БД. Если бы писал, то такую бы хуйню не порол.
Хз чел, я постгресс не изучал, у меня полторы строчки sql`а, которые я скопировал с стака. Этого хватает для 99% задач. Для 1% задач я зарегистрировался на стаке.
Правда, всё омрачено тем, что я еблан с производительностью, которой в постгрессе не хватает
А, я понял. Ты бекенда никогда даже не писал и тролишь тупостью с постгрессом. Ясн.
Мань, sql это простая логика. Если ты не мог это осилить, понимать и требвалось "изучение" - чекни учебник логики и подрочи матешу.
Логику иди читай. Изучение постгресса, лол.
Такое чувство что документация для тебя это что-то слишком сложное.
Топовые специалисты:
>Изучают исходники постгресс, ездят на конференции, сдают аттестацию
Какой-то хуй с двача:
>Да чо там учить то!? Там же только sql и у него простая логика))
> >Изучают исходники постгресс
Проиграл.
Покажи мне, в каком посте хоть кто-то говорил про изучение исходников?
Топовые специалисты:
>имеют перед собой конкретные задачи и принимают конкретные действия для их выполнения(изучают исходники)
Какой-то хуй с двача:
>имеет перед собой конкретные задачи и принимает конкретные действия для их выполнения(копипастит SO)
Шизик-неврастеник:
>ты нипанимаеиш у тибя дененигкругер нада изучать исходники патаму чта так делают дяди взрослые если не изучаешь то ты ни взрослый ти бахтерт дененингкругер!!!
Так здесь и специалистов такого уровня нет. Только дебилы вроде тебя, что сложнейшем инструменте ничего кроме sql не видят, да и тот считают простым
Просто смешно, что ты тут постоянно вылезаешь с недавно открытым для себя даннингом-крюгером и лепишь его не к месту как попало, подкрепляя это шизоидной неврастенией "нужно знать все, если ты не знаешь все, то ты ничего не знаешь". К врачу не думал записаться?
Постгресс может быть и хорош, но ровные пацанчики в этом itt треде всё пишут на жаваскрипте: и фронт, и бэк, и бд.
Бд на жабаскрипте нет. К сожалению.
const db = [];
{{{{{{{никакого () бойлерплейта}}}}
obsrever((((((((({{{{{{{{{{{{state}}}}}}}}}}))))))))}}}}
{{{{{{{{{зачем.использовать.zustand?.huita}}}}}}}<div>puk</div>}}}}
все же очень леко читается в пару строк__}}}}}}}}
болят голоса в голове?
Нахуй вообще этот конст нужен и для чего его использовать вместо лета? Он ресурсов меньше жрет? По-моему проще ебашить везде леты, если надо перезапишешь, если не надо, так и оставишь.
Смысл в иммутабельности и чистоте. Если кто-то использует переменную 'a', то он всегда будет получать 5, не волнуясь о том, что кто то изменит её и вместо ожидаемых 5 он получит 10.
>Нахуй вообще этот конст нужен и для чего его использовать вместо лета?
Не нужен, ни для чего. Просто вытащенное из жопы соглашение, которое принимается бездумно и на веру, с периодическими попытками защитить его через шизу "а что если джун придет в проект и переназначит мне все переменные".
>По-моему проще ебашить везде леты, если надо перезапишешь, если не надо, так и оставишь.
Поздравляю, ты только что открыл истину, недоступную 90% жс-коммьюнити, далеко пойдешь.
нихуя ты меня приложил, тебе нужно попробовать себя в стендапе вместо кодинга успех гарантирован
const a = { hui: 123 }
...100 строк кода
a.hui
Что выдаст? Неужели ты не можешь ответить на этот вопрос, и о ужас, тебе придется смотреть сам код, чтобы понять, что этот код делает, одного const недостаточно? А вдруг там 50 строками выше проклятый джун переназначил хуй? Срочно проверяй.
дело конечно же не в етом
но в чем ты понять не сможешь т.к. ты слишком туп
и ленив чтобы узнать истину полистав 2 треда назад
Вот тебе простой, но часто встречающийся пример. Представь теперь, что это счёт в банке и вместо 10 тысяч ты списал у кого-то 20 тысяч, хотя вроде по коду никаких ошибок нет и всё скомпилировалось нормально.
Спок, шизло мелкобуквенное, лучше иди проверяй, что у тебя под кроватью никто переменные не переписал.
один единственный раз какой-то залетный гений четко пояснил зачем и почему ето нужно и его пост потонул в потоке бессмысленных высеров всяких даунов
а жаль
>const a = { hui: 123 }
Смотря на эту строку, я понимаю, что ниже в этом скоупе a не будет переназначена. Перехожу сразу к 1000 строке и пишу знаю, что у меня 'a' это объект
>let a = { hui: 123 }
Смотря на эту строку я не смогу перейти к 1000 строке и сказать с уверенностью о том, что 'a' всё еще объект.
Чувствуешь разницу, дегрод?
чини детектор даун
я отлично знаю зачем нужны конт и никак не отрицаю необходимость их наличия
дело в том что ты не понимаешь зачем они нужны. хотя старательно делаешь вид что понимаешь и даже думаешь что понимаешь. вот в чем вся запутка
>Перехожу сразу к 1000 строке
Обнаружил твою основную проблему - 1000 строк говнокода в одном скоупе. Не благодари.
Я вкатун, который изучает программирование несколько месяцев, и может я чего то не понимаю, но мне кажется пример тупая хуйня. Сам своими руками все портишь на ровном месте. Зачем туда пихать этот трай кэтч, ты не вкурсе, в блоке трай все выполнится до возникновения ошибки?
а вот хуй тебе! иди и ищи сам а я так и останусь хранителем тайного знания
Любой пример, пытающийся объяснить нужность const вместо let - это тупая вытащенная из жопы хуйня по определению. У const юзкейсов нет, только подобные шизоидные выдумки с тысячей строк кода, где в середине ВНЕЗАПНО переопределяются нахуй все переменные как попало.
Да-да, жаль, что твой розовый манямирок на реальный мир не натянешь. Ну ничего, ты и дальше можешь жевать мамкин протухший борщь, пребывая в нём, пока психически и физически здоровые люди принимают реальность и зарабатывают х20 от пенсии твоей бабки на которую ты живёшь.
Илон Маск, спок, ты конечно успешный дохуя, но если ты хочешь участвовать в споре, то предоставлять надо аргументы, а не количество своих биткоинов. Попробуй еще раз.
Не понимаю твоего вкатунского высера, но вот пример для тех кого смущает try catch. Как видишь, даже без него ты получаешь верный результат и сообщение об ошибке, т. е. несмотря на наличие ошибки программа не испортила своё состояние и не допустила ничего, что могло бы как-то навредить её пользователям. В то время как при let ты бы просто получал неверный результат ровно до тех пор, пока явно его не увидел.
И это пример на 3 строки, в реальности блок кода будет намного больше и ты даже не заметишь, как насрал себе в штаны используя let вместо const
Аргументы тебе предоставили в первом посте, ты же остался на своём уровне тупорылой скотины и хрюкнул "у вас просто код говно".
>какой-то залетный гений четко пояснил зачем и почему ето нужно
Я всё еще тут, но ничего не пишу по этой теме, чтобы посмотреть как вы тут друг другу глотки перегрызете нахуй }}
Главный юзкейс const это семантика. Но вкатуну-долбоебу вроде тебя это еще более непонятно, чем const и let, именно поэтому твой мозг взрывается и заставляет тебя нести бред, лишь бы ты перестал его напрягать.
"Что если у меня 1000 строк кода, и на 521 строке я переопределяю все переменные в скоупе" - это не аргумент, а арбитрарная шизоидная выдумка.
Object.defineProperty(globalThis, "variable", { value: 5});
С семантическим использованием конст, вроде const BABEL_ENV = 'test' у меня проблем нет, пользуйся на здоровье. Но если ты объявляешь все свои переменные через конст, то ты долбоеб без вариантов.
Дебил? Хуй как раз таки может поменяться, если вообще будет на момент вызова. А вот `a` всегда будет объектом, даже если вызовешь из своей мамки.
>А вот `a` всегда будет объектом, даже если вызовешь из своей мамки.
И? Я знаю отличное решение, если ты хочешь, чтобы что-то переменная всегда была одним и тем же объектом - не переопределяй ее значение. Охуеть сложно, без анальной затычки не справиться, правда?
Во-первых какая нахуй "воля случая", шизло, у тебя переменные в коде случайно переопределяются через рнг генератор или что? Во-вторых при чем тут коллеги, если мы говорим о твоем ебаном коде, ответственность за работу которого лежит только на тебе? Если кто-то потом придет в твой код и переопределит переменную, сломав все нахуй, то это его проблемы. Жопу за коллегами не ходишь подтирать случайно?
> консты
Это нигде не нужно, кроме матана, ХАКОВ))) и дикого говнокода.
Ну тогда и PR, в котором он ломает код через переопределение let переменной он тоже смержить не сможет.
В линтере нет правила которое бы запрещало переопределять let — потому что это тупо, let для этого и предназначен. А вот правило форсящее const очень даже есть.
Ну так он поменяет твой const на let и переопределит что ему нужно, и хули ты сделаешь? Если твоя итоговая защита от проклятых джунов - это на самом деле пулл-реквесты, а не магический конст, то нахуя он тебе нужен? Аргумент за конст развалился, придумывай новый.
>при чем тут коллеги, если мы говорим о твоем ебаном коде, ответственность за работу которого лежит только на тебе
Ну так сразу бы сказал, что ты вкатун-кукаретик, никто бы на тебя время не тратил.
Аргумент "конст это защита от джунов" придумала твоя больная фантазия.
Вкатун-кукаретик - это скорее тот, у кого настолько банальная очевидность "твой код - это твоя ответственность" вызывает подобную реакцию.
>скорее
Теперь откинь свои маняфантазии в сторону и прими тот факт, что над кодом, который принадлежит не тебе или вон тому сениору, или вашему тимлиду, а компании, т. е. код компании, а не твой код, могут работать сотни человек, поэтому если сейчас ты работаешь над участком в 500 строк, то это не значит, что ты всегда будешь работать над этим участком, также как и не значит, что над этим участком не будет работать кто-то другой.
Надеюсь ты не надеешься вкатиться в коммерческую разработку и используешь JS только в личных целях, ведь у тебя шансов ровно 0.
>Ты не поверишь, но в куче языков так и делают, и джуны им говно в штаны почему-то не заливают.
Знаешь почему? Потому что джунов в этих языках нет.
>var протекает в другие скоупы и ведет себя вообще не так, как все остальные переменные в других языках, так что аналогия неверна.
Хочешь сказать, что не можешь уследить за скоупами?
Ты все еще забыл сказать, на ком, если не на тебе, лежит ответственность за работоспособность написанного лично тобой говнокода(включая изменения уже существующего кода). Пока ты на этот вопрос не ответишь, твои фантазии о "у нас 500 человек одновременно весь код меняют" и ad hominem выпадки можно отправить только в мусорку.
>Хочешь сказать, что не можешь уследить за скоупами?
Хочу сказать, что нет смысла пользоваться кривой жопоскриптовской реализацией переменных, когда есть возможность воспользоваться нормальной.
Это ответ на вопрос "на ком, если не на тебе, лежит ответственность за работоспособность написанного лично тобой говнокода"? Если нет, то попробуй еще раз.
Как думаешь, зачем пишут тесты? По твоей логике, они не нужны, ведь ответственность за работоспособность кода всегда на ком-то лежит и можно будет всегда с него спросить
На вопрос опять забыл ответить, какая незадача. Попробуй еще раз.
>Как думаешь, зачем пишут тесты?
Кто пишет? Фея с горы или твоя мамка? Или может быть их пишет человек, который хочет убедиться в работоспособности своего кода?
Вопрос не в том кто их пишет, а в том, зачем. Тесты пишут, чтобы не ебать себе голову по поводу и без. Чтобы можно было вносить изменения в код и не бояться, что там что-то отвалится. Вот по той же причине употребляют const там, где это необходимо: просто это ещё одна точка отказа, которую можно прикрыть и больше о ней не вспоминать долгое время. Ты же предлагаешь в каждый pr вглядываться, чтобы не дай бог переменную не переопределили. Это очень не эффективно. Ты же программист, можешь автоматизировать рутину, но нет, буду жрать говно и выполнять лишнюю работу
Хочу смотреть твитч не на твиче, а на своей домашней странице, для этого нашел сей скрипт:
<script src='https://unpkg.com/react-player/dist/ReactPlayer.standalone.js'></script>
<script>
const container = document.getElementById('container')
const url = 'https://www.twitch.tv/videos/910014585'
renderReactPlayer(container, { url, playing: true })
function pausePlayer () {
renderReactPlayer(container, { url, playing: false })
}
</script>
хтмл я зная очень базово, и просто вставляя его в боди страницы оно не фурычит, подскажите как его обвернуть чтоб зафурычило
Вопрос не про тесты, вопрос, на который ты в пятый раз забыл ответить: "на ком, если не на тебе, лежит ответственность за работоспособность написанного лично тобой говнокода". Отвечать будешь сегодня или продолжишь жопой вилять?
>на ком, если не на тебе, лежит ответственность за работоспособность написанного лично тобой говнокода
Очень странная формулировка. Можешь раскрыть вопрос и особенно интересна та часть, где про говнокод
Поменяй говнокод на просто код, если тебя это смущает. Проблем в формулировке не вижу, вопрос простой как палка, но вызывает такие большие проблемы почему-то.
Ну хорошо: у нас в компании за каждой частью проекта закреплена определенная команда. К чему ты ведёшь?
> Представь как тебе ставят задачу, где надо выбрать оптимальную базу для хранения огромного графа и ты такой: ну там всего одна база данных, поэтому постгресс и тебя увольняют
Гуглишь Hasura, после чего жидко обсираешься в собственные уже изрядно обделанные портки.
Не во всех компаниях есть код-ревью. Не во всех компаниях на код пишутся тесты. Ты со своими претензиями очень похож на школьника-максималиста, который отказывается понимать проблемы бизнеса. Очевидно, const - это инструмент, который позволяет оградить проект от просто неумелых программистов и от человеческого фактора, случайной опечатки, если тебе так будет легче. Даже если за все время существования, это спасёт от всего лишь одного бага, это будет уже в плюс. Так же const и let при чтении кода позволяет получить больше информации о происходящем в нем. И ты вот так с пеной у рта отрицаешь пользу от использования const? Удачи тебе, парень, но людям об этому лучше не рассказывай больше
«Сеньору» неприятно
>Очевидно, const - это инструмент, который позволяет оградить проект от просто неумелых программистов и от человеческого фактора
Не позволяет. Все остальные "аргументы" из той же категории фантазирований на пустом месте, начинающихся с "а что, если". А что, если джун придет. А что, если баг будет. А что, если посреди кода переопределят. А что, если в жопу выебут. "Что если" - это арбитрарная фантазия, и до тех пор, пока ты не покажешь конкретные основания в реальности для своего "что если", в поле знания оно не попадает и никакие действия принимать на основе данной фантазии нельзя. Через "что если" код не пишется, конвенции не принимаются и инструменты не создаются, арбитрарные фантазии без основания можно плодить бесконечно.
Удачи тебе с такими убеждениями
Нахуй он тебе на странице с тормознутыми браузерными кодеками и реактоговном, когда можно через streamlink в плеере смотреть?
Выучил давно, и в русском нет слова, передающего смысл и значение слова arbitrary, так что ничего другого использовать не получится.
>Очевидно, const - это инструмент, который позволяет оградить проект от просто неумелых программистов
Проекты не надо ограждать от неумелых программистов. Если вы занимаетесь расстановкой защит от идиотов, то очевидно вы делаете что-то не то и в пустую тратите время.
Надо не заборы ставить вдоль газонов, а учить людей ходить по тропинкам.
Не берите на проекты неумелых программистов, не придется с ними бороться.
Просто делай всё правильно, а неправильно не делай!
> [0, 1].concat(['a', 'b', 'c'])
[ 0, 1, 'a', 'b', 'c' ]
> [0, 1, ...['a', 'b', 'c']]
[ 0, 1, 'a', 'b', 'c' ]
> [0, 1].concat(['a', 'b', 'c']) == [0, 1, ...['a', 'b', 'c']]
false
Почему так нахуй?
"Произвольная" означает "необязательная" и негативного оттенка у данного слова нет. Домашка произвольная, на ваше усмотрение.
"Arbitrary" означает не основанное ни на чем, выдуманное, взятое из воздуха по желанию левой пятки и слово имеет ощутивный негативный оттенок. Your decision was totally arbitrary and thus unjust
Ты сегодня такой адванствующий!
>Домашка произвольная, на ваше усмотрение.
Так никто не говорит.
>негативного оттенка у данного слова нет
Произвол.
>Произвол.
Только это совсем другое слово и в том же контексте его использовать нельзя никаким образом, умник.
>"Произвольная" означает "необязательная" и негативного оттенка у данного слова нет.
Знаток русского в треде, все в няшу!
>Домашка произвольная, на ваше усмотрение.
Вот только так не говорят.
>"Arbitrary" означает не основанное ни на чем, выдуманное, взятое из воздуха по желанию левой пятки и слово имеет ощутивный негативный оттенок.
Абсолютно однохуйственно, какой базовый оттенок у слова в англюсике, главное что в контексте исполнения произвольного кода у перевода такой же негативный оттенок.
Это как тащить жабовские повадки написания отдельного класса для одного метода-функции в жабоскрипт, когда можно просто обьявить функцию.
>в контексте исполнения произвольного кода у перевода такой же негативный оттенок.
Во-первых контекст не "исполнение произвольного кода", а "произвольная идея". Во-вторых, ни в том ни в том случае негативного оттенка нет, вторая фраза вообще звучит корявее некуда, относительно идей это слово не используется, в отличие от arbitrary.
>>40099
>>40302
А что именно там плохо? Собирался как раз из редакса в мобикс перекатываться. Хотя я редакс никогда не хейтил, на тайпскрипте даже норм пишется, как-то бойлерплейт не напрягает. Больше напрягает необходимость ручной мемоизации, а в мобикс она встроена. С редакса кстати не особо пересели, он намного популярнее, мобикс вроде бы в районе 10% проектов юзают
>хочу запилить простенький плеер с подгрузкой фрагментов видео
>сразу подключает реакт
Откуда вы беретесь блять?
Как эти стейт менеджеры вообще работают? Чому просто контексты тогда не использовать, если там все равно что-то через контекст передается?
я тролю жс тред
Они реактивность дают жежь. Скорее всего там куча хуиты уровня update(shiiiit)
Ну хотя у кого как, у некоторых реактивность отдельно.
Механизм позволяющий реагировать на изменения в данных
Скоро
Потому что ты сравниваешь два разных, но абсолютно идентичных массива. А они не равны, это два разных объекта.
В чем смысл слушать мнения рандомных анонов? Открой hh и сравни сам.
Ты можешь передать результат useState или useReducer контекстом вниз и, в принципе, базовый стейт менеджер получится. Однако у тебя не будет никакой реактивности, асинхронных экшенов, обновлении при изменении данных извне и прочих удобств. Тебе каждый раз придется вручную вызвать setState или dispatch. С mobx-state-tree, например, можно удобно сериализовать стейт и отправить JSONом, удобно прикрутить Undo и т.д.
Под капотом все современные реактивные стейт менеджеры работают на Proxy. Они отслеживают любое изменение и запускают ререндер
Мне не нужон ваш помойный пузырёк потому что у меня есть собственный лалгоритм O(n).
Ето ты молодец. Хорошо придумал
Да, что в этом сложного? Если ты без гугла не можешь написать два вложенных цикла, то тебе нет места в IT. Я и методом выбора могу написать и методом вставок напишу. Также как и сортировку слиянием и быструю сортировку. В этом ничего сложного нет, если ты знаешь принцип работы алгоритма и базовый синтаксис языка.
ты дебил
Чтобы не хуячить O(n3) алгоритмы там где тебе приходят данные которые нужно спроецировать на интерфейс пользователя и в зависимости от его действий преобразовывать их, кэшировать, дополнять.
Также чтобы выбирать нужный алгоритм в зависимости от текущих требований, например, быстрая сортировка потребует меньше вспомогательной памяти чем сортировка слиянием, но при этом может отработать медленнее.
>Чтобы не хуячить O(n3) алгоритмы там где тебе приходят данные которые нужно спроецировать на интерфейс пользователя и в зависимости от его действий преобразовывать их, кэшировать, дополнять.
Если тебе приходят данные, на которых заметны O(n3), то у вас в бэкэнде долбоёбы сидят.
Нет, они просто сгружают свою работу на тебя или у вас совсем шаражка/тырпрайз, где на пользователей абсолютно похуй.
Redux плотно не пробовал, больше нравится mobx (или MST, если надо больше удобств).
У mobx более простой интерфейс, ты работаешь со стором как с обычным объектом напрямую, не надо диспатчить экшены аля "ADD_TODO", что даёт лучшую поддержку TypeScript. Для проектов средней сложности зайдет хорошо.
Mobx делает магию прям как Vue.
Как обычно, алгоритмошизик написал пост воды о пользе алгоритмов в жизни рядового жопоскриптера, но ни разу не привел конкретный пример.
Увидишь когда/если вкатишься, только уже поздно будет, пм прибежит и скажет почему хуйня тормозит и дергается, а ты будешь как дурень репу чесать и мямлить.
Ты опять забыл привести конкретный пример использования алгоритмов в своей обширной жопоскриптерской практике, попробуй еще раз.
Обычно, задачи без знания алгоритмов и там, где скорость выполнение не критична, отдаются даунами, а все что сложнее, уже миллим и сеньорам. Ты откровенно говоря палишься, утверждая, что алгоритмы не нужны. У меня, например, в проекте есть сложный интерфейс, который отрисовывается на канве. И компоненты должны перерисовываться своевременно, без лагов. Получается большой массив данных и много кола, который с ним работает. Код должен быть максимально быстрым и читаемым, и в этом случае алгоритмы и паттерны, это как раз то, что решает эту проблему.
Мимо
И снова забыл рассказать, какой именно алгоритм и для чего ты используешь, какая незадача. "алхартим шобы многа данных быстра рисовалось и без лагов" - это как жиденького в штанину пустить.
>У меня, например, в проекте есть сложный интерфейс, который отрисовывается на канве.
Ну да, сперва нахуярят дебильных идей, типа рисования всего сайта на канвасе, а потом не менее героически борются с ними через алгоритмы.
Даже не знаю каким нужно быть дегродом, чтобы не найти применения алгоритму СОРТИРОВКИ в веб-интерфейсе. Скотина тупорылая, в твоём сельпо нет ни одного интернет магазина с карточками товаров и всевозможными фильтрами этих товаров?
Может тебе еще исходники выложить и проект полностью описать? Не слишком ли много чести для вкатуна с обосранными штанами?
Дурачок, смотри, нашел для тебя сортировку, для использования которой не нужно знать ни одного алгоритма. Можешь не благодарить: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
Не проецируй, маня. Я просто хочу от тебя услышать один пример одного конкретного алгоритма, который тебе потребовалось знать и применить, а не твои шизоидные диванные фантазии о "сложна мноха данных алхаритм производительность" без какой-либо связи с реальностью. Неужели это так сложно?
>Даже не знаю каким нужно быть дегродом, чтобы не найти применения алгоритму СОРТИРОВКИ в веб-интерфейсе.
Что ты там собрался сортировать, когда достаточно большие списки, где ШВЯТЫЕ АЛГОРИТМЫ дают заметный для клиента буст, один хуй разбиваются на страницы, то есть без запроса к серверу хуй ты что посортируешь на клиенте. Или у вас бэк высирает всю бд джейсоном, а потом ты на мобилке клиента тимсортиров очку хуяришь?
Твои предложения по отрисовке нескольких тысяч интерактивных компонентов?
Как на счёт того, алгоритм, это не код из книги, а последовательность действий: несколько циклов, условия и прочее. И под знанием алгоритмов я больше говорю о написании собственного алгоритма, чем об использовании какой-то заготовки «сортировка-нейм»
Бек на ноде. Там ещё перспектива переката в какой-нибудь го или джаву, где ещё больше денег
Чтобы устроиться на работу в гугл/фейсбук и перекатиться в США на 350к баксов/год
Ну значит ты понятия не имеешь, о чем идет речь и вклинился в разговор, не прочитав его. Я разговариваю с алгоритмошизиком - человеком, который считает, что для программирования необходимо знание конкретных математических алгоритмов и прошу его назвать хотя один такой алгоритм, который он использовал в своей повседневной работе, а не на лабе2. Если потом в разговор приходишь ты и говоришь "алгоритм - это процедура, а значит я пользуюсь алгоритмами когда пишу if-else", то ты как минимум не очень умный.
Я тебе дал полный контекст обсуждения и почему "алгоритм - это процедура" туда не подходит никак, ты мне дал выдранную из своей жопы висящую воздухе цитату. Съеби.
>дал полный контекст
Ты встал в позу и сказал, что алгоритмами считаешь только те, что имеют названия
>>41158
>алгоритм - это процедура
Очень удобная позиция. Но алгоритм не станет процедурой, просто если ты ее так назовёшь. Ты спрашивал где трубется знание алгоритмов, я привёл пример: реализация своего алгоритма
>>41158
>выдранную из своей жопы висящую воздухе
Воо ещё пушка. Ума не хватило весь скрин прочесть?
В смысле неподкреплённый? А как ты собрался таблицы сортировать? Как ты собрался данные в последовательность выставлять? Как ты матан применять собрался, чтобы построить, хз, кривую на канвасе?
Ты точно программированием занимаешься или просто верстальщик зачем-то залетевший в тред? Уебывай тогда в свой тред вёрстки.
Дурачок, повторяю в третий раз, если ты говоришь "программисту нужно знать алгоритмы" и потом уточняешь "алгоритм - это набор команд", то ты нихуя не сказал, просто в воздух пукнул, и твое заявление сводится к "программисту нужно знать циклы и if-else". Ну охуеть откровение.
>Ты спрашивал где трубется знание алгоритмов, я привёл пример: реализация своего алгоритма
Ну вот рассказывай, как знание конкретного математического алгоритма сортировки пузырьком поможет тебе написать "алгоритм" с инструкциями для вывода залуп на экран или иди нахуй, заебал кривляться.
>А как ты собрался таблицы сортировать?
sort
>Как ты собрался данные в последовательность выставлять?
map/reduce
>Как ты матан применять собрался, чтобы построить, хз, кривую на канвасе?
Через знание функции этой конкретной кривой.
>>41169
>программисту нужно знать алгоритмы" и потом уточняешь "алгоритм - это набор команд",
Ну так только ты сможешь сказать. Я все же предпочту обсуждение задачи, которую надо решить
>>41169
>Ну вот рассказывай, как знание конкретного математического алгоритма сортировки пузырьком поможет тебе написать "алгоритм" с инструкциями для вывода залуп на экран или иди нахуй, заебал кривляться.
Траллишь тупостью? Знание алгоритмов, это опыт, который человек может использовать для написания чего-то нового. Как ты будешь писать производительные алгоритмы, если ни одного типового не знаешь и вообще с темой сложности алгоритмов не знаком?
Какие есть встроенные средства в js для работы с графами?
> Ну вот рассказывай, как знание конкретного математического алгоритма сортировки пузырьком поможет тебе написать "алгоритм" с инструкциями для вывода залуп на экран или иди нахуй, заебал кривляться.
Тебе уже несколько раз написали как, зачем ты продолжаешь маняврировать?
>>41170
> sort
> map/reduce
Ты хоть раз это использовал или просто слышал?
Что если мне нужно json перебирать на несколько полей и укладываться во время кадра? А если бинарные данные? А если мне график нужно преобразовать, тогда как, ждать три секунды при каждом обновлении кадра?
> Через знание функции этой конкретной кривой.
Это и есть алгоритм.
const если переменная не будет reassignиться, let если будет. В принципе, можно юзать let везде, const лишь считается хорошим тоном и подчеркивает намерение разраба в коде.
>Я все же предпочту обсуждение задачи, которую надо решить
Именно поэтому ты кривляешься десять постов подряд, но не смотря на все вопросы до сих пор не назвал ни одной конкретной задачи, которую решил "алгоритмом", и максимум, который ты смог высрать, это:
>Может тебе еще исходники выложить и проект полностью описать?
>Как ты будешь писать производительные алгоритмы, если ни одного типового не знаешь
Ой, то есть теперь алгоритм - это не просто набор любых команд и "знание алгоритмов" внезапно начало в себя включать некие "типовые"? Клоун ебаный, не устал на хуях скакать туда-сюда?
>Что если
Что если тебе придется провести открытую операцию на сердце, а ты не знаешь, как? Срочно беги в медицинский изучать. Если ты начинаешь свой так называемый аргумент с "что если", то это не аргумент, а ебаная арбитрарная выдумка, которая тебе просто так стукнула в голову.
>ждать три секунды при каждом обновлении кадра
Чел, современные map/reduce из той же ramda.js реализованы максимально перфомансно через while'ы, какие три секунды? Скорости JS более чем достаточно для того что ты описал, на фронте ты упрешься в 99% случаев в скорость обновления DOM или перфоманс девайсов, которые канвас отрисовывают.
Ну про графы написали уже. Мне вот с ними тоже довелось однажды работать. Считается?
ну и что? это никак не относится к тому что я думаю насчет конст
Не считается, до тех пор, пока а) ты не покажешь, что работа с графами - это неотъемлемая часть работы программиста-жопоскриптера и встречается постоянно б) не назовешь конкретный алгоритм, который тебе пришлось знать заранее, а не найти в гугле/в готовой библиотеке
ты математику в школе любил?
Лол
Лол, т.е. ты никогда не решал задач за пределами верстки, никогда даже списки и данные не сортировал, и думаешь что это и не нужно?
Еще раз - уебывай в своей тред верстки. Это не тред верстальщиков.
>>41191
Пчел, обычный for лучше map/reduce/filter в десять и более раз. Это незаметно если ты перебираешь какую-нибудь хуйню, но стоит только использовать сложную сортировку килобайт на 100 - моментальная просадка и невозможность попасть во время кадра.
Ты не забывай что кроме самого мапа/фильтра есть и куча другого кода, который тоже работает.
Претензии предъявляй к тем, кто считает арбитрарные выдумки уровня "что если меторит упадет и сломает мне код" аргументом, и пытается предъявлять их в споре как основу для неких действий.
Лол, т.е. ты никогда не оперировал человека, никогда даже грудную клетку не вскрывал, и думаешь что это и не нужно?
Еще раз - уебывай в своей тред верстки. Это не тред верстальщиков.
А что если есть что-то кроме верстки?
>пока а) ты не покажешь, что работа с графами - это неотъемлемая часть работы программиста-жопоскриптера и встречается постоянно
НАЧАЛЬНИК-НЕЙМ, ВОТ ТУТ НАДО С ГРАФАМИ РАЬОТАТЬ
@
НО ЭТА ЗАДАЧА НЕ ВСТРЕЧАЕТСЯ ПОСТОЯННО ПРОГРАММИСТУ ЖАБАСКРИПТЕРУ
@
ПУК
@
СРЕНЬК
@
ТОЛЬКО НЕ БЕЙТЕ
>я сортирую данные не через готовые решения, а каждый раз пишу свой уникальный алхаритм из кнута!
А шизик всё про своё, лол.
Действительно, ведь ни в коем случае нельзя начать работать с графами, если ты до этого просто так не вызубрил сто алгоритмов по их построению на "авось пригодится", шиз.
Какие еще "топовые решения", что за арбитрарные выдумки?
Есть конкретная проблема - укладываться сортировкой во время кадра на сложных данных. А свои арбитарные выдумки про "топовость" оставь при себе.
>знать алгоритмы не обязательно
>ну точнее обязательно, но не заранее
>ну всегда же можно узнать в процессе
О, стадия принятия пошла
Верстальщик, ты уже выучил асемблер, что оптимизировать свой говнокод? А что если к тебе начальник придет и скажет оптимизировать, тоже пук среньк начнется? А, верстальщик? Ну-ка пиздуй учить.
Всё что сложнее todo - для тебя будет сложно.
>знать алгоритмы обязательно
>какие конкретно я не скажу, просто надо знать все попало, например графы и сортировку пузырьком, чтобы если попросят сразу из жопы выхватить и использовать
О, стадия шизы пошла.
Верстальщик даже не понял, что его арбитрарная выдумка про "знание алгоритма на построение графа" находится в той же категории, что и арбитрарная выдумка про "знание ассемблера чтобы оптимизировать говнокод" и жидко насерил себе в штанишки.
>какие конкретно я не скажу
Так ведь выше сказал, но ты упёрся в то, что у тебя в работе это не встречается, значит не надо. Я говорил об алгоритмах обработки графов
Верстальщик даже не понял, что его арбитрарная выдумка про "топовые алгоритмы" находится в той же категории, что и арбитрарная выдумка про "алгоритмы никому не нужны в js" и жидко насерил себе в штанишки.
Ты не назвал ни одного конкретного случая или алгоритма за весь ход обсуждения, шиз. Ни одного единственного, так что фантазировать про "выше сказал" не надо.
>арбитрарная
Что это за болезнь у тебя? Ну, когда каждый пост вокруг одного слова строится. Шиза?
Требовалось определить не зациклен ли граф. Название алгоритма сам найди, пригодится
Как определил-то, рассказывай? Наверное нашел у себя в голове вызубренный три года назад алхаритм и использовал его сразу же?
Уймись, шиз. По делу ты больше ничего не скажешь, похоже
На тебя уже всем тредом ссут, а ты не уймешься, лол. Классно затралил ты всех, да?
ТИПОВ ТО НЕТ
Сидел в треде несколько месяцев, думал что тут все его друзья, думал что все будут алгоритмы с ним отрицать. А оказалось что все его поехавшим шизлом считают.
Фронт логика минимальная, тс нужон, тхёрд парти стейт менежменты не хочу
Ангулар лень, реакт геморрно, вуй не люблю
Анончики выберите из этих трех за меня
Свелтошиз соси бибос
переманная = "переманная"
Двачую адеквата. Реактошизики со своими next.js забыли, что в таких случаях проще вообще не брать реакт, а быстренько сделать на рельсах и темплейтах. Еще и работать быстрее будет.
Чем проще? На next.js всё делается быстро и просто, и работает оно быстрее, потому что медленнее рельс наверное только питон, и то не факт, возможно нет ничего медленнее рельсов. Да и главное, что next.js позволяет делать SPA с рабочим клиентским роутингом со всеми преимуществами SSR. Рельсы так просто не умеют.
Нет и вряд ли буду
Зачем их использовать в 2021?
Кто о чем, а рисователь на канвасе - о протыкании.
Именно поэтому редакс все еще в 80% реактоприложений используется. Потому что стейт менеджмент должен был прозрачным и с четким потоком данных, а не магическими переменными, которые хуй знают где и когда обновляются.
Т.е. инициацию запроса понятное дело можно делать при маунте компонента. Но вот сам запрос дальше, должен быть например прописан в компоненте и из него записывать данные в стор. Или в самом сторе создать экшн, который будет тянуть данные и сразу же записывать в стор? или вообще похуй откуда их в итоге запрашивать?
Делаю отдельный api.ts там все фетчи аксисы, в action creator вызываю функцию из апи
Если бы было все хорошо то даже шизик бы более менее сверстал работоспособное, вон на всяких среактах норм все
Не, среакт это вообще кокой-то ужос. Там виртуальный дом же, шо значит он будет на таком же коде еще медленнее любого светле.
Вообще не обязательно. Минус виртуального дома только в большем потреблении памяти. Но в наше время память дешёвая, поэтому всем похуй на этот минус
И еще вопрос. Можно ли использовать мутации? Видел одного индуса который исполльзовал пуши. Это плохая практика или так можно делать?
Еще как обязательно, лол. Это лишние функции, а значит лишнее процессорное время, а значит увеличение времени кадра.
А причем тут память вообще?
Увеличение с 2 мс до 3? Я надеюсь ты понимаешь что кадров в секунде не бесконечное количество?
А чем ты их заменишь?
> Увеличение с 2 мс до 3?
1мс это очень много. Хотя ирл с двух до двадцати бывает.
> Я надеюсь ты понимаешь что кадров в секунде не бесконечное количество?
Так и я о том же. Даже 1мс это очень много для скриптов.
Ты в стейт не правильно добавляешь, cartItems:[...state.cartItems, action.payload], прямые мутации это плохо, по крайней мере в реакте, я делал так как на пик
const list = [{5: 4}, {5: 4}, {3: 3}, {3: 3}, {"j": 5}, {"j": 5}]
console.log([...new Set(list.map(JSON.stringify))].map(JSON.parse))
Ну например.
И что в мапе для стейта не так, ебанько?
То есть, filter, который возвращает новый массив норм, а map, который возвращает новый массив - не норм?
Былины тупорогих вкатышей, которые тут себя уже дохуя икспертами нарекли, не могут не веселить.
>в интернете: сиймон кидает боевую картиночку, приправляя ее фрагментарной шизой, не имеющей отношения к тому, о чем шла речь
>ирл: сиймон джун в мухосранской веб галере, потупив глазки в пол, стоит и слушает от техлида про тасочки и боится пукнуть лишнего
> вкатыш
Но ведь это ты зачем-то вкатился в js, хотя твоя профессия верстальщик. Иди верстай дальше, чего ты в этом треде забыл?
Изначально думал делать через map и includes
Я вкатывальщик и ваши срачи мне непонятны, но я так понимаю твое рещение лучше чем мое?
Блять, ты ебанутый? Нахуя ты со своей матерью разговариваешь так? Она же сдохла блять. Пожалей ее чувства на том свете.
>реально кашляю сижу уже
Ты поаккуратней там, а то говорят, мамка у тебя от рака сдохла. Повторишь ее путь как делать нехуй.
Еще чуть от кашлся не откинулся.
Ебанутый же.
Там хоть есть проверка на наличие элемента
Бля, отвечу за твою сдохшую мамку, а то ей уже на том свете плохо походу.
Пруфаешь с листочком, что ты работаешь в ойти и я пишу что делаю. Соглы?
Ахах, это так не работает, сычуш. Если ты первый пишешь про слив, это не значит, что я слился, а не ты.
Но таки да, слив засчитан.
Вкатыш ебаный, ахахах.
>Как в редаксе сделать, чтобы в корзине лежали только уникальные итемы?
Пчел, боюсь в твоем случае стоит реализовать отдельную функцию, в которую будет передаваться стейт и пэйлоад. Внутри функции алгоритм, который делает проверку и добавляет в массив только уникальные значение. Ну и эта функция возвращает массив с уникальными значениями, соответственно. Я бы это так делал
Зачем микросервис? Просто предпочитаю скрывать логику, а не лепить её всю в редюсер. Да и этот пример показателен.
>правильно написал
>3 цикла когда можно обойтись одним
Потом люди удивояются почему у них страница сайта грузится дольше чем игра ААА уровня, а интерфейс замирает и дергается как эпилептик при любом пуке.
Это местный шизофреник, который алгоритмы отрицает, можно внимания не обращать, только проигрывать. Отличается отсутствием логики, диким отрицанием алгебры и, собственно, алгоритмов.
> страница сайта грузится дольше чем игра ААА уровня, а интерфейс замирает и дергается
У него на каждый пук создаются и уничтожаются массивы, лол, еще бы не лагало. А он не понимает этого даже.
>Тем более, что аргументов никаких ни у кого нет
Во-первых аргументы есть, во-вторых, если бы их реально не было "ни у кого", то на свалку отправляться должны как раз те, кто выдвигает какое-либо утверждение(например о нужности алгоритмов) и при этом не подкрепляет его аргументами.
И да, бог - отличная аналогия, если ты говоришь, что бог существует, но аргументов и фактов в доказательство его существования у тебя нет, и это надо просто принять на веру, то такое заявление можно выкинуть только в мусорку, рассмотрению, спорам и обсуждениям оно не подлежит.
Svelte риальне раздражает. AppRun же. Его делает китаец-инженер. На ts можно писать не напрягаясь. Да и можно писать не напрягаясь вообще.
Мнения?
На твоем любимом пикабу остался, неужели ты его с собой позвать забыл?
Очередные маргинальные сиюминутные технологии, которые либо уже заброшены и нахуй никому не нужны, либо станут таковыми через полгодика. Пишешь на них продакшен-код в не принадлежащий лично тебе проект - безответственный долбоеб.
Тем более, что аргументов никаких ни у кого нет, кроме субъективного опыта
То, что ты вот так выдираешь из контекста слова, а потом отвечаешь на них, говорит о тебе очень многое
>Т.е. если тебе не нужны алгоритмы, то никому не нужны?
Нет, т.е если ты произносишь громкое заявление уровня "программисту нужно знать алгоритмы", то тебе лучше иметь за пазухой аргументы получше, чем "вот лично я по какой-то ебанутой причине пишу сортировки пузырьком каждый день, мне этот алгоритм нужен, значит и программистам в целом нужен".
> кроме субъективного опыта
В смысле, объективно алгоритмами пользуются все. Это объективная реальность.
Если выбираешь что-то для серьезного и долгоиграющего проекта, то ничего из того, что ты привел. Если просто по фану хочешь поиграться этим, то выбирай просто на свое усмотрение
> Если выбираешь что-то для серьезного и долгоиграющего проекта, то ничего из того, что ты привел.
Чому это? Вроде неплохо. Если будет бабло, то можно отсыпать этому инженеру, чтобы работал дальше.
Нужно ввести js капчу, чтобы версталы тут не срали
> по какой-то ебанутой причине
Ну знаешь, эта причина называется производительность, отзывчивый интерфейс, всё такое. Слышал?
>У продакшена жесткие требования по размеру бандла и перформенсу
Берешь нормальный сервер-сайд фреймворк и рендеришь html на сервере с 50кб жопоскрипта в довесок, если сильно нужно. Производительнее не придумаешь.
Это не причина, это твоя не подкрепленная ничем выдумка, что свой собранный на коленке уникальный АЛХАРИТМ будет быстрее встроенных в язык/либу готовых решений.
Нужно по размеру комьюнити смотреть, по инструментам, с которыми придется работать и все такое. Куда выгоднее взять инструменты, которыми владеют многие, чем:
>AppRun вроде не заброшен более-лимении, svelte тоже.
Какую пробему они решают лучше остальных? А если никакую, то почему, как ты думаешь, их будут поддерживать еще 5-10 лет? А если их не будут поддерживать еще 10 лет, то зачем их использовать? Чтобы потом перекатываться на реакт или ангулар?
Но ведь он не изменяет существующий, а значит создает новый
Приложение нужно на клиенте через кордову.
Плюс уменьшение трафика с сервера, кому нахуй нужно в 2к21 году тратить миллионы на сервера?
>>41715
> Куда выгоднее взять инструменты, которыми владеют многие,
И которые не проходят по производительности.
> Какую пробему они решают лучше остальных?
Производительность конечно же! Вопроса такого не стоит, если бы реакты-ангуляры работали нормально.
>Производительность
Эта проблема решается не фреймворком для фронта, а разрабами браузеров и железа
Не, это как раз ответственность фреймворка. На железе 10летдавности вполне можно иметь 60фпс. Но не среактом.
>Производительность конечно же!
Что производительность? Вот так, произносишь это слово и весь код становится быстрее? О какой именно производительности идет речь? Об отрисовке изменений в dom? Ну так и говори, что эти инструменты решают проблему скорости отрисовки в дом. Но теперь ответь на вопрос: действительно ли скорость отрисовки в дом является проблемой с которой реакт не справляется? Или все же справляется, но ты хочешь дрочить на циферки?
Я хз, даже какой код надо писать, чтобы отрисовка в dom была бутылочным горлышком в проекте
Нихуя у тебя не горит до сих пор, лул. Но я никакой не шиз, а анон что по фану вкинул решение с Set().
Но ты быстренько слился от того, чтобы пруфануть, что работаешь в ойти. Хотя на это я пообещал запилить нормальный алгоритм на 100к элементов, лично для тебя.
Но что же делать, когда ты пиздабол? Правильно, уйти в слив, а потом подпердывать на посты других анонов, дескать, это шиз, а я в белом пальтишке и вовсе не вкатун!!!
Прикольно. Наверное, модель поведения у истеричной мамки позаимствовал?
> Что производительность?
Что, блядь, что? Фпс, понимаешь?
> Вот так, произносишь это слово и весь код становится быстрее?
Он становится быстрее, если меньше кода при цикле рендера запускается.
>>41743
> что реакт не справляется
Так-то реакт никогда не справляется. Виртуалдум, всё такое. Его даже под производительные приложения никто и не рассматривал.
ПЕРЕКАТ >>1941748 (OP)
ПЕРЕКАТ >>1941748 (OP)
ПЕРЕКАТ >>1941748 (OP)
ПЕРЕКАТ >>1941748 (OP)
ПЕРЕКАТ >>1941748 (OP)
ПЕРЕКАТ >>1941748 (OP)
ПЕРЕКАТ >>1941748 (OP)
>что то не гуглится
Сениор гугл запрос девелопер, ты? Реализация зависит от конкретных данных, такое не гуглят, а открывают IDE и пишут код.
Пользуешься нормальным фреймворком/ванилой - 60фпс есть даже на старом железе. Пользуешься среактом - 10фпс.
Что не так?
Окей, дай пример любой реализации на любые данные. Если это какой-то более ли менее известный алгоритм, наверняка его ни раз использовали в профессиональном сообществе в каком-либо виде и ты просто можешь вкинуть ссылочку.
Да не кинет он тебе ничего. Просто хочет показатьсяя умным. Максимум кинет тебе грин текст, смешную картинку и ололоканье
Эх, да я уже заметил, что тут сплошь пиздаболы некомпетентные сидят.
Эта функция, как и 99% других которые тебе пригодятся в редаксе и функциональном программировании, уже написана.
>>41420
import uniq from "ramda/es/uniq";
import append from "ramda/es/append";
// ...
return {
...state,
cartItems: addUniq(action.payload, state.cartItems)
}
// ...
const addUniq= pipe(append, uniq);
Может пиздеть про опыт и таким образом набираться опыта? ДС
Это копия, сохраненная 13 мая 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.