Больше пары строк кода в посте или на скриншоте ведут в ад.
Для программирования на HTML https://codesandbox.io
Для Node.js с консолькой https://repl.it/languages/nodejs
Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если/когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
Мертвый тред мертвого языка
Это трупный яд
Репорт за шитпостинг
Лучшая в чём? Самая простая и понятная? Самый свежий материал? Самые новые техники программирования? Самая академичная? Самая попсовая? Самая подходящая для устройства на работу?
Что вообще подразумевается под "лучшая книга" блять. В моем понимании лучшая книга - это которая рассказывает о последних новинках в индустрии, о незнакомых фишках о которых я не знал.
Недавно кстати видел книгу "Программирование микросервисов на Node.js", где без всякого ворнинга сходу используется тупоскрипт, а на js нет ни строчки.
Потому что жс это сорт оф ассемблер. Хуйня, в которую должен компилироваться код и чтобы это работало.
Пиздец толсто. В рантайме все равно крутится js, а не ts. Зачем нам развивать сопромат и создавать новые марки бетона и стали, если дома все равно строят из панелей, кирпичей, болтов - примерно настолько же тупо выглядит твой посыл.
Даже добавление сахара в язык даёт преимущества - итоговый код будет компактнее при той же функциональности и снизят время компиляции тс в жс (если конечно реализация не ухудшается перфоманс рантайме). Я уже не говорю про фичи наподобии bigint или async/await, которые неоспоримо расширяются возможности языка.
тс-дебилы продолжают воображать, что тс это отдельная сущность
После того как засахарили жс, в тс смысла не особо, завезут хинты типов и будет тс как чекер и все.
С чего ты взял что null и undefined взаимозаменяемы в жс?
Если хочешь null так и пиши
interface Person {
name: string | null
}
а не
interface Person {
name?: string
}
Нормально, потому что undefined === null вернет false, при этом семантически разницы мало
WebRTC это и есть протокол.
Чат гпт с гуглом в другой вкладке, чел
>>03675
Да, ёпта, если надо явно вернуть значение, которое типа камк- бы нет обычно возвращают null, а не undefined. Во всяких сторах, когда нет данных переменная состония ставится как null, а не undefined. И если такие переменные пробрасывать в опциональные пропсы, то все норм работает в js, но ts уже явно требует = undefined делать. Во всяких лучших практиках всегда пишут не присваивать undefined, а использовать null.
Тогда тебе придется каждое поле инициализировать в null вместо дефолтного undefined, в библиотеках и фреймворках могут использовать null из соображений перформанса, в приложениях лучше делать упор на читаемость и отсутствие потенциальных ошибок.
В целом, можешь и null использовать у себя на проекте, тут главное чтобы все было однозначно либо undefined либо null
Хочу чанками разбивать файл и передавать на сервер
Делаю через blob.slice(start,end)
И отправляю в formData. В formDatу добавляю formData.append("file",blob)
Но на сервер мне приходит поврежденный файл, может неправильно как-то выгружаю?
На серваке то всего лишь паршу что пришло и пишу в файл
Смогу ли найти работу?
У меня хитрый план: посижу несколько лет на Upwork и Fiverr, набью опыта на фрилансе - а потом с этим опытом попытаюсь найти работу.
Все правильно сделаю?
Имеется в виду на полноценных заказах, а не «сделаю за отзыв»
Заведи на яндексе аккаунт и шли нодемейлером через него.
1. Если только ты не из раши, рашу забанили на обоих платформах
2. А так план НОРМ
3. Какая разница, что популярно а что нет. На фрилансе можно найти абсолютно любую работу, кроме какой-нибудь пайки микросхем
В гугл "transactional emails services". Использовать сторонний сервис обязательно, иначе ты охуеешь от жалоб "памажите регистрируюсь ничё не приходит". И ты будешь им всем отвечать "посмотрите в папке спам".
Да не в чем, просто большой файл загружаю
С прошлой проблемой разобрался
Но теперь просто браузер всю память сжирает и у меня взрывается комп
Я так понял буферится файл, можно как-то обойти это?
В дропмифайлс и яндекс диске такой херни нет
>может неправильно как-то выгружаю?
У тебя должно быть у формы <form action="/экшн" enctype = "multipart/form-data" method = "post">. На бекенде есть специальные парсеры мультипарта, по типу busboy. На кой хер вообще делать formData.append, если можно просто сделать <input type = "file" /> и на бекенде принимать. Ты какой-то блять цирк развел.
Например ограничение на размер файла на вебсервере, например nginx из-за секурных соображений.
мимо
Другое соображение чисто из-за UX. В браузере нет индикатора выгрузки файла, как при скачивании. Пользователь будет 15 минут смотреть на зависшую форму
Сработает рейтлимитер и тригернет фейлтубан
>Другое соображение чисто из-за UX. В браузере нет индикатора выгрузки файла, как при скачивании
Ты можешь добавить его с помощью axios или написать обертку над фетчем через стримы
Добра тебе, анон!
Проблема такова: Я не могу определиться я идиот или мне стоит все таки использовать стейт менеджер
Суть:
У меня на странице выводятся комментарии, у каждого комментария есть сбоку кнопка, которая раскрывает меню в котором есть кнопка, отправляющая репорт. По нажатию на эту кнопку должно открываться модальное окно, где пользователь вводит необходимые данные.
В компоненте с модальным окном у меня должна выполняется функция, которая отправляет репорт.
Мне добавлять к каждому комментарию компонент с модальным окном и в него закидывать функцию, которая будет генерироваться для каждого комментария при выводе комментариев или реально лучше использовать для такого стейт менеджер?
Или просто создать 1 модальное окно на страницу из через стейт менеджер туда перекидывать состояние? Алсо я еще ни разу не пользовался менеджерами состояний так что могу ща херь написать про них
Стейт менеджер не нужен
Функция в каждом комментарии для модального ока не нужна
Делаешь компонент модального окна с двумя состояниями - открыто, закрыто. В состоянии закрыто отображается как кнопка для открытия, все данные получаешь из компонента комментария, но не в виде функции, а в виде данных.
если у тебя некст, хз есть ли в рякте контекст, можешь в контекст пихать саму компоненту с пропсями.
ну и соответственно потом просто рисуешь компоненту.
context.elem = <ReactGovno/>
ну и где-нибудь в корне.
{context.elem}
ну и саму компоненту можешь обернуть в компоненту модалки, т.к. сама компонента будет являть собой форму с функциекй, либо сделать сорт оф алерта где ты просто пикаешь функцию которая триггерится внутри алерта и возвращается в парент, ну и в это алерт компоненту форму пихаешь, хз, куча вариантов.
>если у тебя некст, хз есть ли в рякте контекст,
Чел, просто любопытно, нахуя ты изучал и работал с некст, если нихуя не знаешь про реакт? Это щас у зумеров такой хайп-дривен-эдюкейшен?
мимо
>изучал
Проиграл.
Зачем вы че-то там изучаете, фреймворки все одно говно. Я и на вуе с светлом пилил ком. проекты считай доку не открывая.
Ну а вообще я ангуляр господин, просто кидают иногда на разные проекты.
Тру обезьяна, тру тяп-ляп формошлеп.
вуеёб в треде с попытками въехать в реакт\некст.
Есть крейзи идея совместить в 1 приложении динамику данных SPA и скорость поставки страниц со статической инфой от SSG.
Суть какая:
Каталог с товарами; все страницы генерятся на сервере при помощи ISR, но revalidate не по таймеру, а по триггеру - есть эндпоинт который принимает запрос от CMS и инициирует ревалидацию страниц item'ов.
В каждой карточке товара - айтеме - вся инфа статична, кроме price: number и in_stock:boolean.
я хочу создать контекст вокруг всего каталога, который будет слушать вебсокеты с обновляемыми данным о цене и наличии товара, провайдить их на все карточки item'ов и там Цена и наличие будут встраиваться в предварительно сгенеренный на сервере шаблон.
Это вообще похоже на живой концепт? Какие подвводные?
Это похоже на какой-то пиздец, в котором ты пытаешься преждевременно оптимизировать совершенно не то, в чем у тебя узкое место
А можешь подсветить где тут узкое место?
Это учебный проект, а не реальное приложение и, как я написал о своём опыте с реактом, какие-то ключевые концепты могу понимать неверно. SSG я кроме легасятины blade+Jquery не встречал в живых проектах.
>совместить в 1 приложении динамику данных SPA и скорость поставки страниц со статической инфой от SSG
SSG никак не запрешает тебе бандлить SPA на клиент
>Это вообще похоже на живой концепт?
Ты переизобрел обычный SSR, но с кэшом в виде файлов, поздравляю.
>Какие подвводные?
В том что SSG в этой цепочке костыль. Как минимум придется еще в CDN инвалидировать кэш. Нагрузка будет при ревалидации на пустом месте даже при нуле запросов(важно если платишь за cpu/io, иначе похуй).
>который будет слушать вебсокеты с обновляемыми данным о цене и наличии товара
Ну и нахуй тут вебсокеты, если ты ничего в него отвечать не собираешь? Звучит как задача для обычного event bus или очередей(если нужно шарить между инстансами)
>но revalidate не по таймеру, а по триггеру есть эндпоинт который принимает запрос от CMS
тогда еще проще дергать прям из клиента эту ручку, проверив в SPA, если цена отличается. Тогда вообще не нужен вебсокет\ивентбас\очередь - оператор прямо из CMS инициирует revalidate() после сохранения шаблона и превью этих изменений.
>Есть крейзи идея совместить в 1 приложении динамику данных SPA и скорость поставки страниц со статической инфой от SSG.
Это никакая ни крейзи идеая, это обычная типовая задача для некста, которая реализуется на каждом втором проекте. А динамика данных SPA вообще в каждом приложении на нексте, он же в себя реакт включает и у тебя после загрузки приложения в браузере по сути обычное SPA.
И вообще для магазина есть годные готовые решения типа medusajs и payloadcms, они оба на нексте сделаны.
{
"type": "module",
"dependencies": {
"@sequelize/core": "^7.0.0-alpha.37",
"@sequelize/sqlite3": "^7.0.0-alpha.41",
"axios": "^1.7.7",
"dotenv": "^16.4.5",
"express": "^4.20.0",
"sequelize": "^6.37.3",
"sqlite3": "^5.1.7"
}
}
При попытке выполнить npm install получаю ошибку
error Cannot read properties of undefined (reading 'spec')
Гугл по этому поводу не помог. Почему не удается поставить сраные зависимости, что ноде не нравится в package.json?
А нехер было вагон зависимостей тащить, которые с годами обязательно протухнут. У меня есть нодовый проект 2013-го года, так вот его вообще нереально сейчас запустить, потому что нужных ему зависимостей в живых осталось хрен да маленько.
>(собираю на тачке без доступа в Инет, доступ только к npm registry, требования политики безопасности)
быстрофикс
Действуй как антисемит, прогинай команду на половину таба.
С чего ты взял, что ругается на json? Ошибка про получение поля из undefined, типично для JS, когда какая-то используемая либа сменила API.
>Cannot read properties of undefined (reading 'spec')
Had this issue too. The problem turned out to come from package.json not having a name property. Adding that in solved the issue for me.
Хмм, ошибка пропала. Но непонятно почему на виндовом ноуте все собирается и без "name", кажется меняли что-то в ноде. Большое спасибо
разные версии ноды/нмпа может по разному обрабатывают.
Там и тс поддержка была и нода и всякие другие свистоперделки.
https://habr.com/ru/amp/publications/228479/
Поверхностно знаю JS (читаю книгу, чтобы закрыть этот пробел), прочитал гайд от Vue о базовой функциональности фреймворка, есть опыт написания компонентов на Vue.
Одна проблема.
Я не понимаю философию Vue и бест практис в JS.
Вроде как в JS теперь популярны модули?
Если да, то как их создавать?
Например, у меня есть идея, я иду ее реализовывать, пишу большую портянку, как мне ее разделить на множество модулей. Какая логика тут применяется для разделения?
У меня также сложилось впечатление, что Vue это тоже про модули. Но я также не понимаю как имея идею, разделить ее реализацию в виде кода на несколько компонентов. Я вообще не понимаю философию компонентов. Что это? Что они из себя представляют? Просто сейчас мои компоненты это почти вся страница (тестовая, если что я не фронтенд и не верстальщик, эта страница очень примитивная).
Но наверное я должен как-то делить компоненты на более мелкие компоненты.
Было бы полезно, если бы знающий человек расписал свой ход мышления, когда ему дают задачу что-то написать на Vue, прям шаги, чтобы я мог посмотреть со стороны как все это делают профессиональные люди.
Меньше шанс, что меня возьмут на работу с таким уровнем Vue и JS.
Если на твоей странице нет повторяющихся элементов, то да, это один большой компонент. Но ты можешь найти куски, которые повторяются, и вместо повторения оформить их компонентом для переиспользования. А завтра ты сделаешь еще одну страницу и чтобы не повторять код, найдешь нужное на предыдущей. Ты как дебил можешь его скопировать, или как большой человек догадаться, что это общий компонент и выделить его соответствующим образом. В общем основа модулей, компонентов и тд - переиспользование кода
У тебя есть разные версии H1 тега?
Берешь и выносишь в компоненту.
Есть красивый отступ с бордером - "карта"?
Компонента.
Есть кнопка с разными состояниями и цветами?
Компонента.
И т.д.
А вообще запили какую-нибудь тудушку на вуи и залей в песочницу.
Ну там не простую, а с свистоперделками, хз.
>В общем основа модулей, компонентов и тд - переиспользование кода
Это очень узкий взгляд. Компоненты и модули могут вообще не переиспользоваться. Компонент может разделять сложную\разную логику на мелкие части(инкапсуляция) или отделять её от других слоев(принцип единой ответственности, например в популярном раньше разделении на контейнеры и презентационные компоненты). Компонент может реализовывать паттерны(например тот же адаптер для обертки над какой то либой). Компонент может расширять\дополнять возможности или логику других компонентов(тот же саспенс, баундари, провайдеры\консюмеры, обертки анимаций м тд и тп).
Отличие модулей от компонентов в разрезе реакта\вью в том, что модуль может быть применен как угодно и где угодно, а компонент, как правило, только в композиции. Каждый компонент является модулем, но не каждый модуль компонентом.
мимо
Ну вот условно для определённой языковой школы адаптировать
Все что я перечислил служит для поддержания архитектурного стиля и архитектурного дизайна приложения. Дохуя ты переиспользуешь провайдер роутера или баундари сентри например?
Ты снова перечисляешь баззворды, означающие организацию кода для его переиспользования
> Дохуя ты переиспользуешь
Да, они переиспользуются в миллионах приложений. Благодаря "архитектурному дизайну", ага
Где это спиратить? Насколько я понимаю там просто готовые tailwind шаблоны. Или где спиратить подобное
Наркоман, ты это спрашивал пять постов назад, ты забыл уже? Ты не ответил на наши вопросы
Ты опять выходишь на связь?
Он хочет спиздить девайс и толкнуть кабану.
Хотят чтобы я такую штуку в частную школу поставил, там этот модуль настроить надо будет подключить, тип чел какой-то пытался но обасрался
Как вы поступаете когда не знаете насколько сложная работа предстоит
И сколько денег взять за нестандартную задачу
>Как вы поступаете когда не знаете насколько сложная работа предстоит
>И сколько денег взять за нестандартную задачу
Разобраться с предстоящей работой и дать ей оценку?
Вижу компонент перевалил за 1к строк. Делю его на 2-3. Все эти компоненты будут в дереве уникальными в любом состоянии приложения. Где тут переиспользование чего либо?
В большинстве случаев компоненты создают для переиспользования, но это не единственная причина.
Композиция - это составление целого из частей. Всё.
>перечисляешь баззворды
>cам говорит об абстрактной "организации кода для его переиспользования" без примеров
>Да, они переиспользуются в миллионах приложений.
Твой кастомный враппер с роутером используется в 1 приложении 1 раз. Твой компонент с инициализацией сентри используется 1 раз. Твой рутовый компонент (какой нибудь App.txs\jsx) используется один раз. Примеров миллион.
Не так давно был на сорт оф конференции по светлу. Пару часов шла.
Так и не понял нахуй он нужен этот ваш светл.
>В большинстве случаев компоненты создают для переиспользования
О чем и разговор, а с чем ты споришь тогда? А, до тебя только дошло?
> используется в 1 приложении 1 раз
Но он переиспользуется в миллионах приложений.
Еще через пять сообщений до тебя дойдет.
Ненужная хуйня, о которой только знают в твиттере.
Не понимаю с чем ты споришь. Твой пост дополнили тем, что компоненты стоит разделять не только ради переиспользования. Ты же серишь себе в штаны маневрируя тем что это якобы тоже некоторого рода переиспользование, но в каком то твоём неуловимом смысле. Ты подменяешь причину и следствие.
Компоненты разделяют для более удобной композиции. Переиспользование вторично и не является обязательным свойством компонента, это способ(не единственный) для более удобной композиции а не её цель. Точка.
>в каком то твоём
Тебе пять раз объяснили, что компонент, который используется один раз, но в миллионе приложений - переиспользуется.
Я прикидывал что через пять постов до тебя дойдет, ждем еще три.
В каком блять миллионе, упоротый? Вот простой пример - есть у тебя страница, она может выглядеть для админа и для юзера по разному, просмотр и редактирование. Ты извлекаешь всю логику для админа и выносишь в отдельный компонент - там форма и вся ебанина по её отправке. Так же извлекаешь компонент для юзера - там только просмотр. Все блять - у тебя 3 компонента вместо 1 запутанного - ZalupaPage, ZalupaView, ZalupaEdit. Где тут переиспользования кода? Это просто композиция.
>Ты извлекаешь всю логику для админа и выносишь в отдельный компонент
И можешь использовать его в другом приложении. Похуй, что в этом приложении он используется один раз.
> просто композиция.
Это какой-то баззворд, чтоб перед кабанчиками набивать себе цену. А человек выше вон не понимает, какую блять композицию ему надо играть и зачем, а если объяснять через то, что первоочередная цель - переиспользовать код, а не дублировать его, то все становится предельно понятно.
асуждаю
>а если объяснять через то, что первоочередная цель - переиспользовать код, а не дублировать его, то все становится предельно понятно.
При чем тут нахуй дублирование кода если его там не было изначально? Зачем ты натягиваешь сову на глобус? Компоненты разделили потому что у них разная ответственность - один показывает данные, второй позволяет их редактировать.
>Это какой-то баззворд
Маняотрицание действительности
Включаешь впн и качаешь с офф сайта. В чем проблема то?
У меня в приложении есть уникальный провайдер, который не используется в других приложениях. Он в принтере не переиспользуется, потому что он оборачивается корневой компонент моего приложения только один раз, тут нет никакого переиспользования, тут просто использование.
Мимо
Но компонент так или иначе reusable, это его основное свойство, не ебет сколько раз ты его используешь
Под такое определение reusable подпадает вообще любой код, дебил. При чем тут компоненты и их разделение?
Что скипнул? Я цитатнул натурально конец твоего поста. Не толсти. Мне теперь каждый твой абсурдный тейк надо цитатнуть и разобрать по косточкам? Дохуя чести.
https://rutracker.org/forum/viewtopic.php?t=6227767
Впн чтобы зайти не забудь.
Как скачаешь активируй как описано.
И будет тебе счастье.
Раньше еще обновление с их сайта работало, активатор годный.
Правда возможно китайцам майнишь.
> ряяяя абсурдные тейки мам скажи им
Ясно, то есть с пяти итераций до дурачка так ничего и не дошло
Под какое определение? Ты что доказываешь? Вон тот дурачок сначала доказывал, что переиспользование хуйня, потом сказал да, в большинстве случаев оно и есть, потом опять сказал хуйня, потом понял, что тупит и начал бессвязно визжать на собеседника. А ты что хотел сказать?
>или как большой человек догадаться, что это общий компонент и выделить его соответствующим образом
Тогда придется проводить регресс старой страницы. Ну нахуй, лучше скопировать.
>Вроде как в JS теперь популярны модули?
Ну, да, лет 10 уже как.
>Если да, то как их создавать?
Кликаешь правой кнопкой в папке, создать -> текстовый документ, module.mjs.
>я иду ее реализовывать, пишу большую портянку, как мне ее разделить на множество модулей
Нахуя тебе свое говно на что-то делить? Ты всерьез думаешь, что если килограмм говна разложить кучками по 100 грамм, оно будет меньше вонять?
>У меня также сложилось впечатление, что Vue это тоже про модули
Во Vue нет модулей, так, держу в курсе.
>Я вообще не понимаю философию компонентов. Что это? Что они из себя представляют?
Изолированные самодостаточные куски функционала.
>Просто сейчас мои компоненты это почти вся страница
И в чем твоя проблема?
>Но наверное я должен как-то делить компоненты на более мелкие компоненты.
Кому должен?
>если бы знающий человек расписал свой ход мышления
Если бы у бабушки был хуй, она была бы дедушка
Очередной анальник держащий какашечку жмется потратить 15к на улучшение единственного инструмента который делает ему деньги и который он не может спиратить.
Подсветка буковок и автоподставление умных слов есть и вскоде. Что там в этой жирной скотине есть такого, что нужно из-за нее греть комнату?
У меня изначально 700-800 мб жрёт на Линухе. Но со временем разжирается до 2-3 гб.
>проводить регресс старой страницы. Ну нахуй, лучше скопировать.
Если это вызывает боль, значит твой говноязык/говнофреймворк/иной говноинструментарий недостаточно развиты и удобны
Как минимум в шторме почти все есть из коробки и он будет понимать все о проекте(даже какие нибудь алиасы в конфиг вебпака). В вскод на каждый пук ты будешь ставить плагин, вдобавок копаясь в миллионе конфигов каждого плагина.
Анализ кода и поиск проблем - лучший из всех иде. В вскоде в лучшем случае у тебя будет внешний линтер и хинты из lsp.
Работа с гитом - лучшая, возможность разделять изменения вообще меняет весь подход(некое подобие независимых changeset). Я даже не понимаю почему в других IDE нет такой фичи даже в виде плагинов.
Рефакторинг и переименование по проекту - лучший на рынке.
Поддержка тест-раннеров - из коробки.
Дебаггер - из коробки.
Да, конечно за это приходится платить чуть большим потреблением памяти(кому не похуй?) и временем старта(если для работы нужно открывать/закрывать миллион проектов в день чтобы просто посмотреть то тут вскод будет удобнее, но всегда можно иметь его под рукой именно для этого)
На днях буквально чел из команды с вскод на полном серьёзе предлагал затащить в проект прекоммит хук чтобы делать eslint --fix. Т.е. чел годами работает на IDE и не понимает что такие вещи как фикс на сейв можно настроить в принципе, потому что из коробки такое не предусмотрено(в шторме это делается одной галочкой).
Менеджер жидбрейнс, съеби отсюда:
> плагин
У тебя методичка устарела, для жс все есть из коробки, чего нет - "вам скачать это?" и в один клик оно уже есть, ровно так же как в жидбрейнспараше
> Анализ кода и поиск проблем - лучший из всех иде
Да, и за счет этого жидбрейнс позволяет себе кормить пользователей говном
>У тебя методичка устарела, для жс все есть из коробки, чего нет - "вам скачать это?"
Только что скачал свежий вскод. Создал чистый проект с турбопаком + next.js. Удалил node_modules.
При старте вскод подсвечивает весь синтаксис красным с какими то ошибками JSX. Потому что очевидно не установлен typescript, но сообщить об этом явно он не может, попросить установить зависимости тоже не может.
Ок, ставим зависимости. Создал папку, переместил в новую папку button.tsx мышкой, импорты в других файлах не обновились. ШТА?
Линтер не работает. Нигде и никто не предлагает его поставить.
Работы с гитом нет от слова совсем.
Запускаем вебшторм:
Сразу детектит что какой то непорядок с зависимостями, предлагает провести инсталл. Линтер сразу заводится автоматически, все проблемы подсвечиваются как со стороны тс, как со стороны eslint, так и со стороны анализа IDE. При перемещении файла предлагает отрефакторить все импорты. Все изменения в гит добавляются автоматически. Всё блять просто работает и никто не предлагает качать и настраивать миллион говна под каждую особенность проекта.
>Он и предлагает это сделать глобально, кретин
Он предлагал сделать глобально хуком то, что должна делать его IDE или он сам руками. При этом у остальных никаких проблем не возникало. Чел просто заебался на CI ловить проблемы от проверки линта и решил скинуть свой skill issue на команду, чтобы у всех теперь коммит проходил на 500-1000ms дольше, ахуительно конечно придумал. Я уже даже не говорю о том, что юзать прекоммит хуки в 2024 это в принципе тупая затея.
>должна делать его IDE
Ты скозал, менеджер жидбрейнсговнища?
Именно потому, что твоим проектом занимается житбрейнсодебил и в нем ничего не настроено, потому что "единственно верная IDE все сделает", у тебя из коробки и не заработало
>>06812
У меня для вскода стоит штук 40 расширений, но я скачал их очень давно, и настраивать большинство из них даже не нужно, и это всё синхронизируется через гитхаб аккаунт, купил новый ноут и всё автоматически установилось со всеми настройками. По-моему мой вскод уже может всё то, что может вебшторм, а возможно и больше.
В вскоде абсолютно ебано сделаны вкладки в колонку и разделение области с кодом на разные региончики.
У вебшторма много минусов, в размер поста не поместятся, но я их готов терпеть только ради удобных вкладок.
320x240, 0:12
>у тебя из коробки и не заработало
Так не заработало нихуя как раз у вскод-нищука. Ты что то путаешь, старина. Найс перефорс.
Не понимает, что такое индексация и зачем она нужна
Не знает, что сейчас плашки на 64 Гб стоят примерно, как день - два работы
Рассуждает об оперативке, сидя под виндой, которая ржёт её, как двочер мамины котлетки
Не заработал у жидбрейнсодебила пустой проект, потому что ему его жидбрейнс не "настроил", ты не дерейли обсуждение, сам же написал про пустой проект
Так он не заработал в вскоде. В вебшторме все прекрасно из коробки. Получается дело не в "жидбрейнсодебиле", мм?
Вскод это сорт оф редактор, уже выяснили что чтобы он стал похож на полноценную IDE нужно установить(а иногда еще и настроить) под 40 плагинов, иначе эта хуйня не умнее и не функциональнее обычного блокнота. В таком случае зачем сравнивать голый вскод с коробочным решением? Вскод так же может надуть до 2-3гб по памяти(а еше и потечь запросто, потому что все мы знаем на каком языке пишется сам вскод и плагины от Кумаров и Кришнасвами к нему)
>В вебшторме все прекрасно из коробки
А если что-то случилось, например, клятые враги переключили бранчи в гите и жибрейнсокал сломался, то всегда можно сделать: invalidate caches, invalidate and restart, just restart, удалить настройки, перезагрузиться, переустановиться, в общем красота.
С тобой, дурачок. Поставь чистый vscode, чистый turbo, на него чистый next и проверь сам.
В итоге ты получишь следующее:
Линтер не работает
На зависимости ему похуй
С гитом ебись сам как хочешь
Импорты при переносе файлов он не рефакторит
Это только то что за 2 минуты обнаружилось
О какой нахуй настройке проекта ты говоришь? Если в IDE это все блять ожидается и работает из коробки, а в твой говноредактор надо для этого 40 плагинов поставить. Заговор разработчиков turbo/next, не иначе, да шиз? Они специально сделали так, чтобы их проекты заводились в ws, но не заводились в vscode? Ару с дебича.
>О какой нахуй настройке проекта
Которую твоя "IDE" делает заново каждый раз, когда их проебала, кек
Multiple internal errors in the file system cache have been detected. They may lead to instability, freezes, and potential data loss. It is highly recommended to restart the IDE.
Сейчас так:
//store.js
store = {
list: {
array: Signal([]),
subscribe() {
WSAPI.subscribe("array", this.array.set)
},
sendAction(action) {
WSAPI.send(action, this.array.set)
}
},
}
//view.js
Effect(store.list.array, (data) => {
List.render(data)
});
onRemove() {
store.list.sendAction("remove")
}
Открой настройку и удивись что жб так же тянет плагины и в случае идеи мне постоянно приходилось так же подгружать нужные плагины и еще при этом выключать пачку, потому что именно по дефолту там общая чепуха всегда..
О да
Дублирование в WSAPI. WSAPI будет точно так же как и стор иметь подписки и отправлять данные в стор, который отправляет данные и сигнал рендеру.
"Выразительный JavaScript"
Вообще, смотри в сторону книг/туториалов заточенных на практику
Как книгу закончишь - ебашь собственные проекты
Тогда что ты дурочка включил и пугаешь всех расширениями, когда разница в том что жб они просто уже пред-установлены?
Жб нынче экономит на СэМэМэнщиках.
Че-то последние дни срач по жидбрейнсам и иде-редакторы в целом на /b, /pr и /s растянулся.
https://2ch.hk/s/res/3534595.html#3547165 (М)
Уже 10 тысяч раз в том же пр обсуждали различия иде от идешки.
Если тебе только подсветка нужна, то ты хоть в неовиме формы рисуй, никто не запрещает.
Сидеть и бугуртить на то, что идешка жрет много, пока соседний процесс - докер под сотку в простое может сжирать рам, ну такое.
>Если тебе только подсветка нужна
Объясните мне, что там вам всем нужно то? Серьезно что кроме автокомплита и подсветки там вам нужно?
Да никто никого не пугает. Просто сравнивать жб с голым вскодом по памяти как божий дар с яичницей. Именно потому что голый вскод это редактор и все, никто в таком виде для разработки им не пользуется. Как уже сказали выше вскод может спокойно отжирать по 2-3гб, тут паритет и нечем хвалиться.
Ну а насчет плагинов в жб из коробки - это решения от самих жб. Как минимум это безопаснее собирания коллекции мусора с непонятных маркетплейсов и сайтов. Так же можно расчитывать на полную интеграцию и продуманный UX при работе с ними, а не какой то костыль, запускающий скрипт с кучей зависимостей, с чертями, небом и аллахом под капотом.
>Как уже сказали выше вскод может спокойно отжирать по 2-3гб, тут паритет и нечем хвалиться.
Ох, мой хороший, это на хеллоуворде жб жрет 3гига, на реальном проекте может 8-14гб поесть.
что за конфа? где будет?
Multiple internal errors in the file system cache have been detected. They may lead to instability, freezes, and potential data loss. It is highly recommended to restart the IDE.
Multiple internal errors in the file system cache have been detected. They may lead to instability, freezes, and potential data loss. It is highly recommended to restart the IDE.
data {
array: {id: '0x1', signal: Signal([]) }
metadata: {id: '0x3', signal: Signal([]) }
}
send(data.metadata.signal)
Тогда опять будут ебаные подписки через подписки, у меня жопа с этого горит. Подписываться сначала на стор из вью, а стор подписывается на апи вебсокета. Параша же. Параша нахуй.
Ща я получше подумаю и высру идеальный вариант стора который будет с вебсокетом работать заебись, без лишнего создания всяких объектов, подписок и прочего кала. Вроде бы нашёл путь.
Нужен, чтобы с кабана больше бабла стрясти на базвордах. Для магазина хватит жиквери.
Или все в банках невыездные сидят пердят?
>Объясните нюфане, для чего вообще нужен Vue
Как и любой фреймворк - чтобы сделать программирование приятнее.
>а вот как и где его применять
Верстка и фронтенд.
Приложение Vue состоит из компонентов. Компонент состоит из js переменых, функций, верстки и css-стилей. Делишь приложение на несколько компонентов, описываешь их и потом собираешь вместе.
Мне лично нравится Vue тем, что не нужно взаимодействовать с DOM. До этого писал на нативном JS, а Vue мой первый js фреймворк.
Ты только вчера родился? Они туда рандом хуярят и эта практика причем взята из США. Я подобное от Портнова слышал.
Какие например компоненты могут быть у сайта-магазина?
И что вообще пишется на js на сайте, раз уж на то пошло? Я попробовал в верстку html+css, сделал лэндинг по макету, и сайт как будто бы и готов уже на 100 проц. Что там на js делать то?
Рили рандом? Типа устроишься к ним, а у них vue и нету?
Существует, например в Профи.ру, Skyeng, Авито, во многих компаниях поменьше
>что вообще пишется на js на сайте
Действительно. Что.
Ну, js это язык, чтобы сделать страницу интерактивной.
Вот ты нажимаешь "обновить" в треде на дваче, кто эту магию делает? Js отправляет запрос на сервер, забирает новые посты в треде и вставляет их в страницу.
> Js отправляет запрос на сервер, забирает новые посты в треде и вставляет их в страницу.
Это аякс делает?
Допустим, сайт состоит из хедера, футера и секций. Они и будут компонентами Vue. Какой смысл делать хедер в Vue, если в хедере не нужна реактивность никакая? Ну типа зачем делать компонент, где в Script будет пусто, а код будет только в Template и Styles
Во нахуй. Идеально. Упоротую шизоту с шестнадцетиричными числами можно выкинуть и заменить, но и так сойдёт.
Не знаю что ещё сюда добавить, чтобы это было достаточно просто и производительно. Есть идеи?
написал такое
tmp = window['fetch']
fetch = function(url, params) {
if (url == "/porno") {
return Promise.resolve({ json: () => Promise.resolve({porno: true})})
}
return tmp(url, params);
}
>Допустим, я захотел сделать сайт-магазин типа днса
И для этого не нужно программировать вообще, нужно взять готовый движок типа битрикса (чем сайт днса и является) и прикрутить к нему свой дизайн (да и для начала даже необязательно). Сразу будет результат, кабанчик сразу начнет торговать и получать прибыль. Если кабанчик же наймет долбоеба, решившего писать с нуля, он проебет кучу времени и денег с нулевым результатом.
юзай асинх аваит.
но ты все равно не вкатишься пока не напишешь кастомную реализацию промиса.алл.
Так мне нужно понимать базу.
mirajejs
>Объясните нюфане, для чего вообще нужен Vue.
>И где мне там Vue применять, для чего?
Все фронтенд-фреймворки созданы чтобы удобно биндить данные на документ(не только на DOM, могут быть и другие структуры - canvas, 3d, экран терминала и тд).
Чтобы понять какую сложность они абстрагируют попробуй написать на ванильном жс такую игру в крестики-нолики, где можно управлять историей ходов:
https://harman052.github.io/react-tutorial-solutions/
Потом добавь к ней 2 страницы - страница приветствия(с кнопкой начать игру или лучше условной формой логина) и страница результатов. URL должны переключаться без перезагрузки страницы(single page apllication). Можешь использовать MVC для разделения данных.
Теперь перепиши свою игру на Vue/React/Svelte - до тебя сразу дойдет насколько проще управлять данными и их отражением в DOM с помощью них.
Пытался рыться в исходниках в девтулзах, но не получилось найти.
Да вроде нет. Это максимально просто, никаких редюсеров и итераторов, никаких хуков и прочего. Единственная сложность это шестнадцатиричные коды писать правильно на сервере и на клиенте.
Сложно будет если нужно будет добавить отмену локальных изменений, если сервер это изменение отклонил. Это можно сделать записывая в стор предыдущие значения для каждого изменения, но это лишнее. Сейчас это выглядит как полностью авторитарный сервер, таким и останется в проде.
Вместо JSON.parse можно сделать работу с бинарными данными, но хуй знает как в js это сделать производительно и правильно. Не уверен что это будет проще JSON.parse потому что он очень быстр. Можно выиграть ??% трафика используя бинарный протокол, но если это будет важно, то можно переписать всё на ZIG, включая DOM, и не работать с JS вообще.
>>07512
Выглядит как хуйня от студента второкурсника, который погромирование изучал по книжкам Кнута.
Во первых - crud пихаешь в вебсокеты. В чем цель?
Во вторых тут перемешано все сразу - и транспорт, и хранение данных, мапинг данных на твой выдуманный протокол, нормализация. Не проще все твои цены запросить сразу с сервера одним списком и не ебать мозги? В чем смысл этих апдейтов через сокеты? У тебя там онлайн-биржа где цена меняется каждые 100мс?
В третьих вынеси свои шизоидные коды в объект и обращайся по читаемым именам к их значениям, заодно избавиться от комментариев
В четверых - нет валидации, не обработаны дисконекты/ошибки/невалидные данные
В пятых - возьми любую топ10 из нпм либу для сокетов и вокруг неё наворачивай свой протокол. Возьми любой стор популярный и храни стейт там - zustand или mobx. Не изобретай велосипед, если это не проект в целях обучения, а даже если в целях обучения то он не должен состоять из одних велосипедов.
В шестых раз ты уже решил держать буфер данных в сторе, то апдейты в стор нужно тротлить. Что если у тебя придёт 500событий
мимо
>мнение?
Тут должна быть картинка с капитаглистом-производителем RAM и в ресторане союз вебшторм и ОЗУ и подпись этот разраб уплатит за все.
А если серьезно, то она и бесплатно нахуй не нужна.
>Выглядит как хуйня от студента второкурсника, который погромирование изучал по книжкам Кнута.
Не, я вообще погроммирование не изучал. Просто пишу не думая, хз зачем что-то изучать.
> Во первых - crud пихаешь в вебсокеты. В чем цель?
Чтобы было быстро. Почему нет? Логично вроде, стор запускает экшены, в экшенах круды. Куда их пихать-то ещё?
> Не проще все твои цены запросить сразу с сервера одним списком и не ебать мозги?
Так они и запрашиваются с сервера одним списком, нахуя там data существует, а потом обновляются индивидуально. Когда нужно запрашивается обновления списка. Когда обновления товара на сервере - приходят обновления товара на клиенте.
> В третьих вынеси свои шизоидные коды в объект и обращайся по читаемым именам к их значениям, заодно избавиться от комментариев
Ниет, тогда это будет ещё одна ссылка на ссылку и лишние чтение данных, а у меня в 60 фпс всё обновляется. Читаемые имена для джунов.
> В четверых - нет валидации, не обработаны дисконекты/ошибки/невалидные данные
Дисконект уже написал, валидация на стороне вью. Стор будет хранить равдату, нахуй иначе.
> В пятых - возьми любую топ10 из нпм либу для сокетов и вокруг неё наворачивай свой протокол
Зачем? Это медленно.
> Возьми любой стор популярный и храни стейт там - zustand или mobx. Не изобретай велосипед, если это не проект в целях обучения, а даже если в целях обучения то он не должен состоять из одних велосипедов.
Уже пробовал такое. Все эти либы сжирают цп, на мобилах начинаются просадки если есть какие-то крупные обновления приходят.
> В шестых раз ты уже решил держать буфер данных в сторе, то апдейты в стор нужно тротлить. Что если у тебя придёт 500событий
Вот об этом не подумал. Но даже 500 событий это всего лишь 500 микроциклов на полтора запуска функций рендера, а на рендере уже есть тротлинг с приоритетами. Даже 5000 событий единовременно будет обрабатывать за 5мс. Смысл устанавливать тротлинг на вебсокете, если у меня mobx нет.
>В третьих вынеси свои шизоидные коды в объект и обращайся по читаемым именам к их значениям, заодно избавиться от комментариев
А, я понял про что ты, думал ты про ключи в сторе. Для крудов GET_DATA и прочих есть словарь с utf8, в словаре всё это будет, да.
Вчера новую версию накатил с рутрекера и обновил кряк.
Похуй + похуй.
С 23.х.х версии нихуя и не изменилось по первому впечатлению. Разве что фонтсайз мелкий у меня теперь не только на дерево проекта встал а на все элементы управления.
>Чтобы было быстро.
Ну давай-ка объясни, чем вебсокеты быстрее чем SSE.
>у меня в 60 фпс всё обновляется
У тебя скорость обновления не разверткой монитора, а net latency ограничена, дебс.
>валидация на стороне вью
Ловите наркомана.
>Зачем? Это медленно.
Ты измерял? С чем сранивал? Бенчмарк твоего говнеца где увидеть можно?
Multiple internal errors in the file system cache have been detected. They may lead to instability, freezes, and potential data loss. It is highly recommended to restart the IDE.
>Чтобы было быстро. Почему нет? Логично вроде, стор запускает экшены, в экшенах круды. Куда их пихать-то ещё?
Ну смотри. Ты отправляешь команду BUY_ITEM к примеру. Твой бэк не выполняет это. Твои действия? Как известить фронт что его BUY_ITEM свалился и по какой причине? Нужно будет вводить ид транзакции, по которому ждать ошибку, обрабатывать таймауты на это ожидание, пихать в эти ошибки внятные пейлоады.
Для крудов есть рест, но ты зачем то упоролся в вебсокет. В лучшем случае ты переизобретешь свою реализацию модели акторов, когда просто нужно было 4 ручки вывалить в рест и не ебать мозг.
> Ну давай-ка объясни, чем вебсокеты быстрее чем SSE.
Тем что это вебсокеты, гений. Меньше данных отправляется.
> У тебя скорость обновления не разверткой монитора, а net latency ограничена, дебс.
Причем тут вообще задержка, если речь про то что кучу эвентов нужно тротлить. Похуй вообще на задержку.
> Ловите наркомана.
Нормально всё, не пизди. Но вообще можно и в стор занести, в экшены, не принципиально.
> Ты измерял? С чем сранивал? Бенчмарк твоего говнеца где увидеть можно?
Всё что там есть это итератор по массиву. Итератор гораздо быстрее любая возможная либа.
>>07737
> Ты отправляешь команду BUY_ITEM к примеру. Твой бэк не выполняет это. Твои действия? Как известить фронт что его BUY_ITEM свалился и по какой причине? Нужно будет вводить ид транзакции, по которому ждать ошибку, обрабатывать таймауты на это ожидание, пихать в эти ошибки внятные пейлоады.
Что значит не выполняет? Он выполняет и обрабатывает любое сообщение, success или reject. Можно для каждого типа сообщений сделать сигнал, а можно какой-то один сигнал для каждого компонента/контейнера. Ошибки, транзакции на фронте, вся эта поебота для среактов, вью и ангуляров нужна, в которых всё через жопу сделано.
> Для крудов есть рест, но ты зачем то упоролся в вебсокет. В лучшем случае ты переизобретешь свою реализацию модели акторов, когда просто нужно было 4 ручки вывалить в рест и не ебать мозг.
Какая разница через что круд отсылать? У меня на беке если что не стандартная либа, а LMDB на ноде, один хуй все круды буду руками писать, благо это довольно быстро.
Кастомную реализацию промис олл сделать просто, а вот кастомную реализацию промиса как-то сложновато
Как ты это понял? Где это видно по исходникам в devtools?
Чел, тебе правильно сказали, проще взять какой-нибудь socket.io и писать данные в zustand или mobx через троттлинг, получится со всех сторон лучше твоего велосипеда.
Получится такое же говнище, только ещё непонятнее и гораздо хуже по производительности.
Ты посмотрел на мой говняк и понял как он работает через секунду, потому что там вообще нихуя сложного нет, даже комментарии излишни. Теперь посмотри продакшн на зустанде, быстро разберёшься?
>Получится такое же говнище, только ещё непонятнее
Получается намного меньше кода и он будет проще, если учитывать весь функционал, который ты пока ещё не накостылял
>и гораздо хуже по производительности.
С чего там производительность будет хуже?
>Теперь посмотри продакшн на зустанде, быстро разберёшься?
Да
> Получается намного меньше кода
Нет конечно, это же анонимные функции через анонимные функции. Чтобы сделать хранение переменной в моём говне нужно только poezda = SIgnal("HUI"), чтобы сделать эффект для неё Effect(poezda, () => {}). Чтобы подключить это к DOM вообще никухя не нужно - h('content', poezda) и реактивность работает уже вчера. Чтобы это же самое сделать зустанде нужно всякие set гонять туда-сюда, делать несколько анонимных функций для простого стора, подключать объект с состояниями, хуи писать, оборачивать всё это в функции и компоненты. Ебануться нахуй.
> если учитывать весь функционал, который ты пока ещё не накостылял
Больше не нужно, этого достаточно для всего.
> С чего там производительность будет хуже?
Потому что процессор будет работать больше. Если че, производительность измеряется когда процессор меньше работает, а не больше.
Чтобы написать один и тот же компонент нужно больше кода, больше функций, больше вызова функций, и конечно же когда этот зустанд подключаешь к серверу через вебсокет/фетч, то понадобится ЕЩЁ больше кода для хранения состояний, для тротлинга, ещё какой-то хуйни. Нахуй это всё просто, нахуй.
Покажи как ты свой костыль к вью/ангуляру/реакту будешь подключать
Какой зустанд на сервере? Это глобал сетейт для клиента
Процессор будет работать больше возможно в твоём костыле, когда ты добавишь весь функционал, который в socket.io из коробки. Только в любом случае это разница на уровне 0.04% vs 0.08%, ну типа в два раза больше допустим одно решение жрёт, только есть нюан
> Покажи как ты свой костыль к вью/ангуляру/реакту будешь подключать
Никак, у меня своя функция рендера DOM.
> Какой зустанд на сервере? Это глобал сетейт для клиента
Речь про то как подключать апи на клиенте. В зустанды и всякие мобохи нужно вставлять ресты, к каждому пуку серить подключениями, в каждом сторе нужно что-то там выебыватсья и реализовывать. Ебанёшься ебли.
> Процессор будет работать больше возможно в твоём костыле
Нет, не будет.
> когда ты добавишь весь функционал, который в socket.io из коробки
Этот функционал не нужен. Всё что нужно уже сделал на пике, немношк модифицировать и всё.
> Только в любом случае это разница на уровне 0.04% vs 0.08%, ну типа в два раза больше допустим одно решение жрёт, только есть нюан
Нехуя. Разница будет в несколько раз отличаться, потому что у меня запускается на 20 функций меньше чем у сокетио+зустанд. Конечно же размер пакетов тоже будет меньше и меньше данных отправляться, но это зависит от конкретного кода. Впрочем, все эти различия вряд ли будут больше 10% всего процессорного времени затраченного на рендер страницы и логику приложения, вот это действительно нюанс.
Но ведь эти всякие вуе и ангуляры не игрульки делать создавались. Че вообще делают в компаниях, которые все эти вакансии кидают на hh? Можете примерно хотя бы объяснить, чем там занимаются фронтендеры?
Они двигают и красят кнопки. И благодаря фреймворкам их код хорошо читаем, и специалисты легко заменяемы. Вон выше наркоман придумывает какую-то нестандартную хуету на вебсокетах - таких на работу не берут, а людей со знанием стандартных фреймворков - да.
Вместо работы можно переиндексировать кэши
Уже писали выше:
лучше рефакторинг
есть анализ кода
автокомплит и частичный вывод типов для js(да, да, без тс)
удобная работа с гит(changes list, конфликты) и остальным(тесты, зависимости, линтер и тд)
продуманный и цельный ui/ux
готов к работе из коробки(собственно это и есть отличие IDE от редакторов)
>Никак, у меня своя функция рендера DOM.
Ну в таком случае ты должен знать что любой, даже малейший, атомарный, рендер в дом настолько сжирает ресурсы и блокирует стек, что все твое байтоебство делится на ноль. Ты занимаешься преждевременной оптимизацией, ещё и там где она не требуется. За такое пальцы ломают на любом ревью.
>Можете примерно хотя бы объяснить, чем там занимаются фронтендеры?
Хе-хе, повторить? Ну, значит, берут реакт, json'ы и перекладывают их в ui...
>нюфане
Уже за одно слово возникает неиллюзорное желание разбить тебе ебало. Тьфу, блять.
>для чего вообще нужен Vue
Для декларативного описания реактивных интерфейсов.
>И где мне там Vue применять, для чего?
Конкретно тебе - ни для чего, съеби.
> любой, даже малейший, атомарный, рендер в дом настолько сжирает ресурсы и блокирует стек, что все твое байтоебство делится на ноль.
Почему тогда самый быстрые фронтенд фреймворки, например свелт и солид, работают как раз напрямую с DOM, а не с виртуал DOM как реакт, ангуляр, вью?
Потому что они занимаются тем же чем и ты - преждевременной оптимизацией ценой костылей и убогого апи(тот же свелт по сути в последней версии пришел к тому, что переизобрел хуки из реакта). Нельзя и рыбку сьесть и нахуй сесть. Если в 0.0001% случаев оверхед в виде виртуал дом как то замедляет производительность, то я беру ref и работаю напрямую с DOM, для этого не нужно через весь проект тащить солид или свелт.
const image = new Image()
image.src = "..."
// Прошло время.
// Создаём div:
const div = document.createElement('div')
// Можно ли рассчитывать, что соурс будет закэширован, и картинка не станет грузиться по-новой?
div.style.backgroundImage = `url('${image.src}')`
Я же написал, что прошло время. Картинка загрузилась.
Просто думаю, достаточно ли будет такого кэша, или всё-таки ебаться с toDataURL.
> рендер в дом настолько сжирает ресурсы и блокирует стек, что все твое байтоебство делится на ноль.
Единственная функции которая меняет DOM это replaceWItch, textContent и hide, они довольно эффективны. Никакого виртуального dom и прочего дерьма, для всех проходов по дереву (есть событие isRender для элементов и is и switch, получается дерево для isRender) есть связанный список. Чтобы не рендерить все события в одном кадре, можно переносить изменения DOM в разные кадры. Никаких значимых блокировок нет вообще.
Если брать всё это байтоёбство в целом, то это будет примерно в два-пять раз быстрее чем react + mobox, весь код не отличается от ванилы.
> Ты занимаешься преждевременной оптимизацией, ещё и там где она не требуется. За такое пальцы ломают на любом ревью.
У меня игра, тут такое можно и нужно. Но на ревью скажут "охуенно, но это готово должно быть 2 года назад, ты ебанутый что ли сука". Печаль.
Любые картинки кэшируются браузером, не требуется для этого хранить их в переменных или в blolb. Не важно каким образом они будут загружены - они будут кэшированы. Настрой на сервере хедеры для файлов и этого хватит.
1) Сервер не мой.
2) Кэшируются, но в произвольный момент их может прибрать GC, в фаерфоксе я как-то писал хак против этого. Там картинка грузилась заново даже если загруженный элемент имадж просто долго был с дисплей ноун. Это даже не отсутствие ссылок.
>1) Сервер не мой.
Тогда посмотри какие там хедеры Cache-Control приходят.
>2) Кэшируются, но в произвольный момент их может прибрать GC,
Нет, кэшируется на уровне браузера, а не в жс, кэшируются картинки по урл. В жс ты можешь просто прогрузить эти картинки и сразу же удалить, чтобы они закэшировались быстрее чем когда происходит рендер на странице.
> Там картинка грузилась заново
Нет, не грузилась, она бралась из кэша браузера.
Подскажите. В самом же html и css, согласитесь много различных тегов и свойст, но в html Всё построенно по сути классах и их удобном распределении, а основная роль css- это всё таки сетки и макеты. Те, кто пилил проекты на этапах обучения на js без фреймворков. Опишите принципы вашей работы с js в web поектах.
Почему-то я считаю, что основная роль js и главная часть, что нужно учить в нём - это dom для того же взаимодействия с html.
dom не имеет отношения к js
>Если в вакансии php разработчик пишут "Знание hml css js"
Это значит, что тебе придется верстать. Учти, что это скорее магия, нежели ремесло.
>т.к в случае html css bootstrap можно понимать что изменяется когда ты что-то пишешь.
В случае с CSS - очень сомневаюсь.
>в html Всё построенно по сути классах и их удобном распределении
Что, блять? Каких нахуй классах?
>основная роль css- это всё таки сетки и макеты
Основная роль автомобиля - стояние на парковке.
>Опишите принципы вашей работы с js в web поектах.
Давай-ка ты просто сразу нахуй прогуляешься?
>Рутрекер
>Кряк
Мда...
Качайте с оф сайта через прокси и делай патч OpenJDK. Воистину, мартыханам цвет кнопки поменяй, они уже не знают куда тыкать. Поросят дяденьку пирата им всё решить в обмен на зонд анальной жопы ануса
> для всех проходов по дереву (есть событие isRender для элементов и is и switch, получается дерево для isRender) есть связанный список
О, кстати, эта хуйня так и не заработала нормально, так что даже этого не будет, зато будет иерархия сигналов, которая работает через true+true+true+true. Байтоебство, лолд
Часто воображаешь как какой-нибудь грозный и волосатый пират взламывает тебе жопу? Тебя возбуждает эта фантазия?
Я бы спросил в чем разница между скачиванием на офф. сайте и раздаче на рутрекере, но все твои мысли, похоже, направлены на влажные фантазии с пиратами трогающие твою попу, ведь раздачи на рутрекере - страшные штуки, какие-то непонятные файлы от грозных пиратов.
Ну а слово кряк, наверное, вовсе вызвало в тебе бурю эмоций.
Кстати, кряк - опенсорц, к тому же имеющий сотни форков и можно почитать коды, но ты продолжай трогать себя в неприличных местах, фантазируя о взломе жопы.
До чего же держание какашек и геморрой с анальными трещинами доводит...
пиздец, обнови комп уже себе, ты видимо с 2008 сидишь пердишь на сборке которую тебе мамка оплатила
Поработав какое-то время на вебшторме, вскод кажется ебаным блокнотом. Не вспомню конечно многие различия, потому-что свой переход осуществил аж в 2020, но то что мне в вебшторме практически НИКАКИХ плагинов не нужно ставить говорит о многом, вскод же нужно обмазывать с ног до головы чтобы сделать из этой хуйни редактор.
Но если находишься в РФ, то нужно только пиратить, покупать в обход их ограничений будет только куколд. Спиратить можно легко - https://3.jetbra.in/, выбираем сервак, сверху инструкция, один раз настроишь, потом можно активировать любой их продукт
Жидрейнсобот, тебе забыли методичку обновить, ваш кал теперь бесплатен. Алсо:
> Multiple internal errors in the file system cache have been detected. They may lead to instability, freezes, and potential data loss. It is highly recommended to restart the IDE.
Паста против жидбрейнсоботов, они сразу исчезают
Ничего себе, оказываться вебшторм это софт в котором тоже могут быть баги, а не волшебная коробочка где всё происходит магическим образом.
Гринтекст это конечно хорошо, но решение пользоваться софтом или нет должно приниматься за счет твоего личного опыта. У меня лично хром с мозилой чаще тупят чем шторм, и что теперь, мне этими браузерами не пользоваться чтоли.
Всем похуй что происходит у тебя лично, жидбрейнсобот, сегодня без зарплаты
> хром с мозилой чаще тупят
И как ты спасаешься, жидбрейнсобот?
Invalidate caches?
Invalidate caches and restart?
Just restart?
Удаляешь профиль?
Или переустанавливаешь?
Юзаю вебшторм уже 6 лет каждый рабочий день, кэш сбрасывать приходилось раза 3 за все время. Рестарт делал только когда пытался воспользоваться UML-диаграммами, они подвешивают наглухо IDE во фронтендовых проектах, эта фича скорее для галочки наследуется из других IDE от JB. Каких то багов что "кровь, кишки, невозможно работать, все сломалось" и даже мелких не припомню.
Насчет вскода. Бесплатный сыр бывает только в мышеловке. Особенно от MS. Как минимум если ты ничего не платишь за продукт\услугу - то и тебе как минимум никто ничего не должен, отсюда и вытекает качество\удобство и на любые баги\улучшения забивается болт. Как максимум - твое использование чего то бесплатного монетизируют другим неявным образом(например тренируют свою нейросетку на твоих исходниках. я не утверждаю что МС этим занимается, но кто знает что там придет в EULA с очередным обновлением, которое никто не читает, а без пары десятка лет опыта в международной юридической практике для обывателя содержание там представляется какой то околесицей)
мимо вебшторм енжоер
> простыня оправданий житбрейнсобота
Ты не ответил:
> Multiple internal errors in the file system cache have been detected. They may lead to instability, freezes, and potential data loss. It is highly recommended to restart the IDE.
>Ты не ответил:
Кто "ты" епта? Я же написал что мимо
>простыня оправданий житбрейнсобота
За что мне оправдываться? Я говорю о своем опыте
>Multiple internal errors in the file s
Ни разу не было такой ошибки в вебшторме за 6 лет использования
> а вот клятый микрософт
>Проиграл с опущенца
Опущенец я, а телеметрию собирают почему то у тебя. Интересная позиция.
https://code.visualstudio.com/license
>Я говорю о своем опыте
>Пронес простыню дичи про микрософт
Ойвей, жидбрейнсобот, опять без зарплаты сегодня
> ни разу не было ошибок
Ясно. Швятой жидбрейнс не ошибается.
Жидбрейнсодебил, у меня собирают телеметрию и это делает продукт лучше с каждым днем. А твои хозяева годами кормят людей Invalidate cache, invalidate and restart, just restart, дурачок.
И это при том, что жидбрейнс точно так же собирает телеметрию. Только ничего не делает, продолжает кормить людей говном и дальше.
Какой же ты тупой.
>Я бы спросил в чем разница между скачиванием на офф
Ты не можешь задавать вопросы, потому, что ты макака, не способная в мышление. Это как ребёнок, который спрашивает: "Если шоколадка серая, то почему птичка пукает?". Это не вопрос, это шиза, демонстрирующая отсутствие интеллектуальных усилий.
Сломаешься ты на первом же вопросе. Как ты проверяешь, что то, что ты качаешь с рутрекера это то же самое, что поставляет JetBrains? Единственный способ проверить, это скачать с оффсайта и взять хеш. А теперь вопрос, нахуя качать с трекера, если ты уже с офф сайта скачал
> кряк - опенсорц
Тебе не нужен кряк. Тебе надо патчить JDK. Другое дело, что ты в силу обезьяней конструкции мозга, не способна при изменеии цвета кнопочки сориентироваться. Для тебя что-то поменять в системе на твоём же компьютере - недоступный навык. Поэтому ты идёшь и берёшь то, что за тебя сделали другие. Поэтому ты несёшь херную про какие-то форки, потому, что за неимением возможности, ты вынуждена искать подтверждения в обществе и верить, что за тебя кто-то код прочитал
На сегодняшний день единственное публичное рабочее решение на свежие версии IDEA написано тупым китайцем, и работает через com.sun.tools.attach.VirtualMachine (мне его ещё, пришлось чинить, чтобы хотя бы собрать). А это и есть тот самый патчинг, только он патчит байткод на уровне запущенного инстанса виртуальной машины, а я рекомендую патч на OpenJDK накатить
Только жб спрашивает при первой установке(либо она по дефолту отключена, уже не припомню точно) отправлять ли эту статистику. И её можно отключить полностью одной галкой.
Судя по тексту лицензии даже сами МС допускают что телеметрию полностью юзер вскод отключить не может. Так же лизензия не ограничивает никак сбор персональных данных(кроме пользователей из стран ЕС подпадающих под GDPR). Жб не собирает так же никакой чувствительной инфы об содержимом исходников. В лицензии же вскод явно написано, что они могут ставить в твои исходники даже свои закладки, лол.
Ну и варианты как может использоваться телеметрия компанией которая кроме разработки IDE ничем не занимается, и как компанией которая борется на рынке софта во всех нишах думаю прикинешь сам, не маленький.
Кстати каждый плагин вскода может еще сам собирать и отправлять данные как ему вздумается. Никакие настройки самого редактора на это не влияют.
Я уже не говорю про такое дерьмо с плагинами:
https://www.baldurbjarnason.com/2024/vscode-extensions-are-insecure/
https://www.bleepingcomputer.com/news/security/malicious-vscode-extensions-with-millions-of-installs-discovered/
Это все понятно, жидбрейнсобот, только вскод не принуждает меня invalidate caches, invalidate and restart, just restart, смекаешь?
Мы ведем разговор за качество продукта, оно у Микрософта есть, а у кала от жидбрейнс - нет, хотя казалось бы, годы доминирования и миллиарды заработанных с таких как ты дурачков денег, куда они дели все это, почему не могут починить кэши? Не надо пугать телеметрией, ты за кал, который пытаешься людям продать, отвечай
Ору чет с этого шиза, который считает что юзеры жб целыми днями кэш инвалидируют и иде рестартят. Видимо детская травма - у папаши наверное на первых версиях idea эта ошибка выскакивала и он за сигаретами ушел.
>>08854
Что за дебильную хуйню ты только что высрал? В вебшторме без покупки лицензии нет возможности отказаться от отправки статистики. Если ты думал что наебал всех и взломал свой шитшторм - уверен в него встроили закладки для таких как ты и статистика собирается с удвоенным рвением. Уверен там не только это есть, куча троянов и уязвимостей присутствует в полном объеме.
Поставь emacs doom и не фантазируй о великих жидбрайнсах, они тебя наебывают так же как и все остальные.
Какое мощное врети
> Ты ничего не понял
> Ты ничего не проверял
> Кругом вирусы, удобнее через впн скачивать 10 минут
> Ваш кряк не кряк а патчинг!
> А вообще надо другой патчинг использовать
Шизик, таблетки прими.
>Если ты думал что наебал всех и взломал свой шитшторм
Так у меня куплена лицензия. И там есть эта галка. Что там у юзеров на триале или с кряком - сугубо похуй, я уже выразил свое мнение насчёт бесплатного сыра.
>куплена лицензия
Каково это, за свои деньги чинить кал жидбрейнса, регулярно invalidate caches, invalidate caches and restart, just restart? ты платишь и ты же работаешь, хорошо придумали, хороший гой
Нет такой проблемы, ты несёшь хуйню, шизоид, угомонись. Это из разряда что мол у всех пользователей винды синий экран вываливается по несколько раз на дню.
Нет такой проблемы, поэтому эти кнопки вынесены в главное меню. Плохо работаешь, жидбрейнсобот, опять сегодня без зарплаты
Зачем вы тратите деньги на СММ в России, да еще на двочах, если кинули всех на купленные лицензии? ты же не бесплатно носишься с чужим платным продуктом заставляя народ вендерлочиться? На котлине уже пописали, лол. Ты хочешь превратить js в котлин и жабу с их монолией на IDE?
> Так у меня куплена лицензия.
И этот человек что-то пиздит про телеметрию, лол. За свои деньги купил троян на свой пека, исходников которого в опенсорсе нет, конечно же отправив тонны телеметрии в процессе покупки, а потом рассказывает что-то про телеметрию в других продуктах.
>>08961
Это классический пример куколдства. Шиз платит деньги и чтобы оправдать свой выбор, почему он платит деньги, он начинает насасывать продукту. Что-то вроде эплодаунов, только он жидбрейнсодаун. Фанатик, хуле.
Это так не работает, как видишь суммарно тут не 100%
Это откуда такая щедрость?
Когда они делали котлин, они официально поддерживали плагины, тогда еще популярных IDE, чтобы показать что котлин не вендерлок одной IDE. А потом, набрав массу, они резко прекратили ментейнить. После такого мува я в эту щедрость не верю. Наберут массу и завернут гайки.
Гоферы соснули. У шарпов теперь 3 IDE
Меня коллеги тоже ругали, когда я переменную Web Context до wc сократил 😞
Вебсторм может триггерить шиза, у которого батя за сигаретами вышел в 2008. Вьетнамские флешбеки ловит как его папаша джавист кэш инвалидировал. В целом уже это стоит денег за подписку, любо дорого смотреть как шизика корежит и припекает от хейта к чему то, чем он даже не пользовался никогда(нормальными IDE конечно же).
>забирают одну планку оперативы и ускоряют износ ssd
Вообще похуй. Ноутбук то кабан покупает, а не я.
>Поработав какое-то время на вебшторме, вскод кажется ебаным блокнотом. Не вспомню конечно многие различия, потому-что свой переход осуществил аж в 2020, но то что мне в вебшторме практически НИКАКИХ плагинов не нужно ставить говорит о многом, вскод же нужно обмазывать с ног до головы чтобы сделать из этой хуйни редактор.
А в чем проблема один раз установить плагины и забыть про это? Я много лет назад установил необходимое и всё.
Ну да, вспоминаю как в году 2021-2022 вебшторм просто не мог работать с последней версией еслинта. Лучше уж руками поставить, чем вендорлокнутся на вендора, который ложит хуй на обновление свооих плагинов.
Это фигня, у лет 5 назад комп bsod'нул во время закрытия программы и все настройки к херам слетели. То есть, эти гении берут и сохраняют настройки не во время правки, а каждый раз во время закрытия, даже если не трогал их.
>Наберут массу и завернут гайки.
Тоже думаю хотят подсадить на свои продукты и потом отменить халяву
Скорее всего не отменят, это будет удар по репутации, а скорее придумают какую-нибудь замануху, что де-фактом будет отменой.
>удар по репутации
Что же мегакорпорация выберет: мнимую репутацию или возможность стричь гоев?
> удар по репутации
Чел ты в манямирке живёшь. Удар по репутации, че несешь просто.
Хоть одну компанию назови которая бы разорилась от этого или хотя бы просила достаточно сильно.
О, я вижу ты старший жидбрейнсобот. Что купить, чтоб перестать инвалидировать кэши, рассказывай
А в чем сила, брат? Сила в инвалидном кэше, братан?
Они уже ударили по репутации в последнее время, не удивлюсь если добрая половина заморских пользователей окажется россиянами под VPN, которых они начали банить
>Хватит воровать компы с помойки
Ну давай, покажи как ты вставишь твои пикрилы в макпук про. Ведь давно известно - что все фронтендеры обязаны иметь макпук, что бы дебажить новый интернет эксплорер, ака сафари.
Вставляю обычный тег видео
Но видео не воспроизводится, идет только звук и белый экран..
От сервера content-type video/mp4, в source к видео тоже указан
h265 нигде не поддерживается нормально, не только в браузерах. Кодируй все в mp4 h264 или шебм
Оправдывайся, жибрейнсобот:
> Multiple internal errors in the file system cache have been detected. They may lead to instability, freezes, and potential data loss. It is highly recommended to restart the IDE.
Сафари можно через playwright дебажить на винде/линуксе
В вс коде при работе с тайпскриптом ts server заново пересчитывает все типы приложения на каждом вызове подсказок автодополнения, тогда как шторм пересчитывает в момент изменения самого типа и то только по построенному графу зависимостей типов, а дальше результат кешируется.
Из-за этого в приложении чуть больше туду листа вс код по скорости появления подсказок автодополнения на порядки медленнее, чем шторм.
Также поиск по всему проекту, включая node_modules - в шторме на порядки быстрее, чем в вскоде. Опять же благодаря кешированию.
Поэтому непонятны претензии некоторых инвалидов на потребление памяти. Естественно шторм больше сжирает, ведь он старается кешировать все возможное, чтобы пользователь тупо быстрее получил требуемый результат подсказок, поиска, etc.
Также интерфейс работы с гитом в шторме удобнее, чем в вскоде. Удобная история файла, удобный шелф, удобный мерж - то, чего в вскоде тупо нет или в плагинах все равно сделано через одно место.
Единственное, в чем вскод для меня лучше, чем шторм - это удобный плагин для фигмы. На много отзывчивее, чем в браузере, да ещё автодополнение в стилях работает. Всё, больше плюсов не замечено.
А потом у тебя наступает момент инвалидного кэша и всё, приплыли. Кайф просто. Или ещё какой баг появляется, который годами не фиксят, лолд
Твой аргумент звучит как:
Ты конечно пользуешься стеклоочистителями на машине, но вот раз в год тебе приходится открывать капот и заливать омывайку. А вот у меня такой проблемы с заливкой омывайки нет, я просто открываю окно, достаю руку с тряпкой и протираю лобовое стекло тряпкой прямо на ходу, ещё у меня в салоне ведро с водой стоит, тряпку полоскать.
Сам то понимаешь, что твой аргумент мягко сказать идиотичен?
Ну перезагрузить раз в год шторм, раз в пять лет запустишь ревалидацию кеша (было 1 раз за 8 лет моего опыта фултайм работы фронтом). И всё. А вот с реальнымм плюсами и минусами ты ежедневно тысячи раз сталкиваешься.
Не корми этого долбоеба. Его дяденька в детстве заманил конфеткой в укромное место, а по факту показывал как в ранних версиях idea кэш ломался.
У тебя логическая ошибка, жидбрайнсобот. Аналогия не аргумент. Но это нормально, ты же бот, у тебя вместо логики логические ошибки.
> А вот с реальнымм плюсами и минусами ты ежедневно тысячи раз сталкиваешься.
Самый большой для меня реальный минус - крайне уебищный гуи. Мне неприятно смотреть на гуй вебшторма и сделать я с этим ничего не могу. Ой ну да, я могу просто не пользоваться этим куском кала
Или вот баги, например. Знаешь как я исправляю любой баг в вскод? Просто правлю исходники. Это не сложно, я просто беру и онлайн без смс правлю скрипты, через минут 15-30 любой баг пофикшен. Знаешь как я правлю баги в вебшторме? Никак. Их годами не закрывают.
>>09333
Полгода назад в фирме работал, примерно раз в три дня у меня были какие-то затупы с тайпскриптом. Конечно же оказался инвалидный кэш, ну просто охуеть, какое-то говно в шитшторме сломалось и он мне выдавал неправильные подсказки.
Ебануться просто, ты можешь это представить? Чтобы редактор кода не мог адекватно подсказки выдавать. Честно, я не представлял что такое возможно, пока не начал пользовать шитштормом.
>в ранних версиях
Нет, жидбрейнсобот, он ломается в самых актуальных версиях и кнопки Invalidate caches, Invalidate and restart, just restart, Repair IDE - все находятся в главном меню твоего любимого куска кала. Давай рассказывай, что эти кнопки добавили просто так и просто так не убирают.
И да, кэш ломается элементарными действиями - например, переключением веток в гите.
Вебшторм для чедов.
Курсор для беток.
Вскод для омежек.
> кнопки Invalidate caches, Invalidate and restart, just restart, Repair IDE - все находятся в главном меню
Не могу представить на сколько этот кал должен быть сломанным, что для этого сделали кнопки, лол. Это же абсурд просто. Так ещё какие-то безумные лошки за этот кал отдают деньги.
>>09347
А вот и перефорс жидбрайнсобота от бессилия. Больно, да?
>У тебя логическая ошибка, жидбрайнсобот. Аналогия не аргумент
Ты дурак?
Это я привел аналогию на твой аргумент, показывая, что твой аргумент абсолютно идиотичен. Впрочем, далее по тексту комента ты ответил на мой вопрос. Ты дурак.
> Это я привел аналогию
Жидбрайнсобот, повторяю ещё раз, слушай внимательно. Аналогия не аргумент. Использовать аналогию как аргумент - логическая ошибка.
Для тебя это слишком сложно, бот?
Ты ведь даже не можешь понять, что тебе написали. Не удивительно, вскодер же.
Multiple internal errors in the file system cache have been detected. They may lead to instability, freezes, and potential data loss. It is highly recommended to restart the IDE.
>Аналогия не аргумент.
Аналогия являет собой описания схожести двух явлений/вещей, связь между ними.
Аргумент - утверждение приводящееся в доказательствах.
Применяя аналогию, мы как будто скрываем аргумент, описывая это утверждение, которое хотим привести - аналогией.
Т.е. для вскодеров сложно построить у себя в голове дополнительный уровень абстракции и увидеть там аргумент приводящийся аналогий?
Вскодеры как реактодауны с тайлвиндерами, пиздец.
So if we present an analogical argument explicitly, it should take the following form :
(Premise 1) Object X and object Y are similar in having properties Q1 ... Qn.
(Premise 2) Object X has property P.
(Conclusion) Object Y also has property P.
Хуя ты там затроил, мелкомягкий ботяра. Даже бота не могут нормально сделать.
Ты отвечай за свой кал, жидбрейнсобот, мы повторим еще, если опять проигнорируешь. Пытаться зеркалить не выйдет, дурачок
Да я тебе даже больше скажу, я вообще не читал оправдания бота.
Смысл читать жидбрайнсоботов которые реальность отрицают чтобы доказать что они не лошки с кривой IDE за которую они платят жидбрайнсам?
>>09510
Бот, заебал, аналогия не аргумент. Сколько ты не пытайся оспорить это, у тебя не получится переспорить реальность.
>Жидбрайнсобот, повторяю ещё раз, слушай внимательно. Аналогия не аргумент. Использовать аналогию как аргумент - логическая ошибка.
>>09338
>У тебя логическая ошибка, жидбрайнсобот. Аналогия не аргумент. Но это нормально, ты же бот, у тебя вместо логики логические ошибки.
>>09547
>Бот, заебал, аналогия не аргумент. Сколько ты не пытайся оспорить это, у тебя не получится переспорить реальность.
Чел, я не вебшторм-шиз, но ты не прав. Использование аналогии в аргументации не является логической ошибкой, использование аналогии в качестве аргумента вполне допустимо и логично. Ты путаешь с тем, что аналогия не может быть доказательством, вот это уже действительно так.
Если аналогия не может быть доказательством, то аргументы, из которых и состоит доказательство, так же не могут является аналогиями.
У тебя ошибки с логикой. Подумай хорошо, бот ли ты? Возможно ты просто лингвистическая модель имитирующая живого человека, с целью доказать что жидбрайнсоботы способны думать и не обосраться в процессе.
То есть, вместо описания класса и его инстанцирования делают некий объект в одном экземпляре с методами описанными в виде таких вот делегатов или как их назвать
В чём смысл? Почему обычные функции, классы и и методы не используются?
У тебя windows 95?
Так пишут дегроды, которые думаю что пишут в функциональном стиле. Глобальное состояние зло, даже если ты все равно один раз используешь в коде new MyClass - ты с таким подходом замучаешься тестить.
>аргументы, из которых и состоит доказательство, так же не могут является аналогиями.
Представь себе, не все аргументы являются доказательствами, не всегда аргументы являются частью доказательства. Так что теперь ты задумайся, не бот ли ты, которого забыли обучить мышлению, отличающемуся от бинарного квадратно-гнездового.
>А где оно тут появляется?
В ООП это называется синглтон, один объект и он везде.
Проблема глобального состояния это большая тема, поэтому синглетон антипатерн (если надо гугли прям так - почему синглетон антипатерн, желательно на англ).
По хорошему ты везде создаешь классы и внешние объекты ты прокидываешь через конструктор. У тебя получаются "чистые классы" с dependency injection (это можно загуглить)
Получается ты создаешь аппу и в него прокидываешь все зависимости, нечто типа:
const app1 = new Application(window, chrome)
const app2 = new Application(globalThis, firefox)
const app3 = new Application(global, nodejsMockBrowser)
Сам класс изнутри уже не дергает внешние состояния, а работает с тем что передали (dependency injection)
>И да, с таким подходом будет просран this
>Поясни?
Гугли различия между обычной и стрелочной функцией.
Ожидаемо от бота. Буквально всё сообщение состоит из логических ошибок и неверных суждений.
> не все аргументы являются доказательствами
Аргументы вообще не являются доказательством. Доказательство выводится из аргументов, это логическая операция.
> не всегда аргументы являются частью доказательства
Всегда. Если ты что-то доказываешь, то ты создаёшь доказательство состоящие из аргументов.
Только в одном случае аргументы не являются частью доказательства. Если эти аргументы случайны и их пишет бот. Жидбрайнсобот. Боты пишут случайные аргументы которые не относятся к доказательству и к дискусии вообще, но что взять с ботов, они не могут в логику.
Тупые жидбрайнсоботы решили самоутвердиться в треде, но получили галлон мочи в ротовое отверстие. Зачем они это делают из раза в раз?
Этот NPC не способен понять, почему аналогия может быть аргументом. Выразим ему наши соболезнования.
И почему же аналогия может быть аргументом, жидбрайнсобот? Пока что ты не привёл ни одного аргумента к этому (логические ошибки аргументом не считаются).
>>А где оно тут появляется?
>В ООП это называется синглтон, один объект и он везде.
>Проблема глобального состояния это большая тема, поэтому синглетон антипатерн (если надо гугли прям так - почему синглетон антипатерн, желательно на англ).
А, понял, спасибо
То есть, делаю такой запрос:
return r[own_key][page_id][msg_id];
И хочу получить не ошибку компиляции:
Uncaught (in promise) TypeError: Cannot read properties of undefined
А undefined или null какой-нибудь
>return r[own_key][page_id][msg_id];
>
>И хочу получить не ошибку компиляции:
return r?.[own_key]?.[page_id]?.[msg_id];
А вот как такие иерархии создавать - я хз
Используй optional chaining.
>В чём смысл? Почему обычные функции, классы и и методы не используются?
Смысл в том, что это не класс, а просто обьект с функциями. Просто репозиторий\удобная структура чтобы иметь к ним доступ. Никакого отношения к ООП данный код не имеет.
>>09671
>И да, с таким подходом будет просран this
А где ты увидел там обращение к this?
>>09824
>Проблема глобального состояния
Это не проблема
>поэтому синглетон антипатерн
Антипатернов не существует, существуют более подходящие и менее подходящие паттерны для конкретной проблемы
>Получается ты создаешь аппу и в него прокидываешь все зависимости
>а работает с тем что передали (dependency injection)
Какая у тебя каша в голове, просто пиздец. D injection это отвязывание кода использующего зависимость, от кода где эта зависимость инстанцируется(так можно упростить замену реализации в рантайме - тестирование, паттерн стратегия, инициализация извне и т.д.). D inversion это отвязывание кода от реализации и связывание через контракт(так можно работать над разными частями кода разным людям\командам, пока соблюдается контракт). Как правило эти 2 техники используются вместе и никакого отношения к "проблеме глобального состояния" не имеют, это техники для отвязывания(decoupling) кода.
мимо
В чём твоя проблема? Истинная (не ложная) аналогия является классическим инструментом неполной индукции. Может пора уже взять и почитать учебник по логике вместо того чтобы позориться на двачах?
Так неполная индукция вообще не является частью доказательства. О чем и была речь, бот просто не понимает логику. Реально чатжпг какой-то.
Вот так пиши, не ошибёшься, а у тебя на пике ебала полная и бессмысленная.
Что за construct, наркоман? Ну если стесняешься назвать это props, то пиши Socket({store, server, reconnections, onclose, onerror}) { ... } и не засирай код своим конструктом.
Это чтобы переназывать переменные, если сильно хочется. Но можно и так как у тебя.
>чтобы переназывать переменные
Переназывать переменные можно и при деструктурировании, тогда же можно и дефолтные значения присваивать.
export function Socket({
store = {},
netdown: ondown = null
}) {
...
}
>>09647
Я так пишу, когда мне нужен именно какой-то объект с методами, а не фабрика таких объектов. Присваивать полям обычные функции или стрелочные - уже дело вкуса, в зависимости от того, планируется ли использовать this.
Ваще, если тебе нужна фабрика объектов, юзай класс, сейчас не 2010 год, чтобы вызывать обычную функцию через new.
>у тебя на пике ебала полная и бессмысленная
Как и у тебя. В js используют camelCase. Подучи что такое деструктуризация и почему const предпочтительнее let, там где тебе явно не потребуется перезапись, вкатунец. Нахуя ты инициализируешь в теле набор неиспользованных переменных и возвращаешься набор пустых функций? Твой код на пике не делает вообще нихуя полезного, абсолютно.
В ахуе с шизодов-интернов этого треда, ещё и советы какие то не стесняются раздавать таким же недоучкам. Боюсь даже представить что за говно он напишет, если его реально посадить на проект, где используются вебсокеты(коих 1% от всего веба, где творится некоторое дерьмо, которое реально требует организацию передачи данных по такому протоколу с открым соединением).
мимо
Да нахуй нужно, так быстрее работать будет, я класс переписал в функцию. Доступ к методам класса в несколько раз дороже чем то что на пике.
>>10130
Похуй на это, потом переназову это всё нормально.
>>10150
> Как и у тебя.
Зато у меня есть приватные методы без лишней ебалы и полифилов.
> В js используют camelCase.
Мне нравятся змейки.
> Подучи что такое деструктуризация и почему const предпочтительнее let, там где тебе явно не потребуется перезапись, вкатунец.
Всё уже переписал как нужно, не трясись ты так.
> возвращаешься набор пустых функций? Твой код на пике не делает вообще нихуя полезного, абсолютно.
Ты шиз? Это пример того как ограничить область видимости.
Что не так? Нормально всё работает, все баги хромонога и чмозилы учтены.
Ты тот же шиз что носился тут с шестнацдетиричными ключами в сторе? Узнал тебя по твоим высерам
Что не так-то? Работает быстро, это то что мне нужно. Или ты предлагаешь всё переписать на socket.io, чтобы у меня страничка тормозила на смартфоне 2020 года?
>у меня есть приватные методы
Это не методы, а набор функций с сайд-эффектами, которые обращаются через замыкание к какому то стейту. Удачи тестировать и дебажить такой кал.
Лол, ещё скажи что глобалстейт это плохо потому что разобраться в 30 переменных это очень сложно.
Я в качестве пет-проекта сделал небольшую социальную сеть, где можно постить статьи, писать комментарии, сообщества создавать и у меня не возникало проблем, когда где-то у меня преобразовывались числа в строки.
Но когда смотрел парсеры для данных из текстового редактора там была куча проектов на тайпскрипте, а значит это зачем-то нужно и поэтому я задался таким вопросом, да и в вакансиях часто встречаю.
Когда начнёшь любить такой код, тогда и учи тайпскрипт. Я терпеть не могу эту парашу. Плохой программист на TS способен написать такое, что не разберёт даже 500к сеньор.
//@ts-ignore
function x(y:<L>):<G><B, T>{} // NOSONAR
TypeScript придумали долбоебы, которые не осознали суть JS и его динамическую природу. Люди просто скучали без ограничений и нахуярили себе анальных шариков. И "компиляция" в динамический язык просто как вишенка на торте этого долбоебизма. Оставались бы в java или откуда они там пришли, а не ебали мозги сообществу
Мимо_вкатун_в_js_из_сишечки
Никогда в принципе. В TS чтобы нормально писать придётся сражаться с TS, в JS уже такого дохуя, в TS будет ещё больше. Разработка на TS ОЧЕНЬ замедляет проект и многие фирмы отказываются от TS потому что это безумно дорого. Остаются только вакансии на которые лично тебя никогда не пригласят без 5 лет опыта, но даже если ты наберёшь этот опыт, ты уверен что вместо TS тебе не придётся изучать ZIG к этому времени? А ведь придётся, писать на ZIG куда легче чем на TS.
>>10304
Проблема тайпскрипта в том, что 500к сеньёр пишет такой же неподдерживаемый шизоидный код. И никто не разберёт что это.
Так вот как мне найти, что происходит дальше? Должен быть какой-то файл, где сопоставлены эти пути и обращения к ядру? Как примерно его искать?
Долбоебы переизобрели инлайн-стили через имена классов. Казалось бы, что может пойти не так?
Самое забавное как это говно форсится из каждого утюга маркетологами лишь бы монетизировать свой ui-kit.
Ума им не хватает. И не в js. В эпоху гигагерцовых машин толерантность к долбоебским фреймворкам огромна. Но не бесконечна
Пока склоняюсь к Angular из-за того, что многое есть из коробки, тот же Material.
Ранее был опыт с jQuery и чистым js, но это было очень давно.
>>10554
Эй умные, насоветуйте что дальше делать. Как приложение-то запускать вообще? Нужно юзера создавать, брать его с локалсторейж, отткуда же загружать какие-то сохранённые данные. Но где и когда это делать? Юзер в сторе вроде как не очень и нужен, но очевидно нужно передавать токен. В сокете передавать токен?
Видимо нужная функция AppRun, которая и будет это всё делать, управлять токенами, юзерами и локалсторейж. Но тогда нахуй нужен отдельный сокет? Явно не нужен.
Короче, как архитектуру делоть, имея стор и вебсокет который пишет прямо в стор?
Ну в среднем тв помогает сократить время вёрстки процентов на 30
Во vue 3 намного проще вкатиться, имхо наиболее интуитивно понятный фрейм
angular мне эстетически больше нравится и если потом ещё будешь учить nest, то будет намного проще
Бля, это пиздец, я уже не хочу быть фронтендером. Ебать себе голову этими ребусами с перспективой вкатиться на 60к джуна через 3 года, да и то не на удаленку.
Интегрированного "фреймворка", чтобы жс сам по себе был полон, чтобы не было нужды терпеть ебаные жиквери с ряктами.
Полный бан тайлвида.
Поддержка типизации. Хочешь - пиши малопонятное, мало поддерживаемое говно. Хочешь - типизируй все дырки.
Полный бан сервер сайд рендеринга. Рак покруче тайлвиндопораши.
Единой поддержки всех браузеров. Я ебал этот сафари. Ради одного процента страдаем, пидарасы конченные.
Еще все и на английском, ваще ниче не понятно че эти тупые пиндосы хотят от тебя)))
Ну вот я нагуглил решение, хз насколько это задача для новичков, выглядит сложно.
https://github.com/freeCodeCamp/freeCodeCamp/blob/main/curriculum/challenges/english/15-javascript-algorithms-and-data-structures-22/build-a-cash-register-project/build-a-cash-register.md
У меня примерно такая же каша в голове была, когда я несколько лет работал на vue без понимания общего устройства фреймворка. Тупо посадили за 30к ковырять vue-компоненты, я их и ковырял три года без понимания, где всё начинается и куда уходит. Теперь вот на новой работе смотрю видео для новичков по vue, открываю для себя много нового.
Тебе могу посоветовать разобраться, как вообще устроены веб-сайты.
И как тебе курс? Нравится? А то столько заданий что выглядит как дрочьба
мимо другой вкатутосик
> 0x01
> 0x02
Ты в курсе, да, что ключи объекта в JS могут быть только строками и "символами"? Твои ололо-шестнадцатеричные ключи приводятся тупо к "1" и "2".
Раньше было лучше, потом решили переписать часть курсов. Окно с донатом заебало, местами условия невнятные (это отзывы с их же форума, не мои визги), часть с реактом устарела. Но для самого начала пойдет, потом можно дропнуть где-то после алгоритмов и пилить свои тудушки.
Могу сказать, что универсально хороших решений по части визуальных новелл для веба нет. Есть неплохие конструкторы, вроде TuesdayJS, но это для тех, кто боится кода. Есть попытки заюзать тот же реакт, как в Pixi'VN, но там всё ещё очень сыро. Есть ренпай, который вроде бы стандарт, но имеет вес пустой веб-сборки в сорок мегабайт, и заебешься встраивать туда какую-нибудь миниигру на JS. Собственно, мне это даже удавалось (не без полезных советов в дискорде ренпая), но в итоге я начал для своей ВНки пилить свой движок.
На /gd/ уже светил его, вот: https://github.com/uteal/novelwrapper/
Только сразу предупреждаю, он ещё очень сырой, а многих фич, типа нужной тебе анимации, не планируется вовсе.
2. Как в первом варианте сделать несколько объектов, как при использовании Class?
3. Можно ли смешивать два этих варианта в коде?
Кстати, если ты надеешься сделать визуальную новеллу совсем без движка, на голом вью или реакте, то вскоре ты обнаружишь, что фактически сам пишешь движок.
Поэтому бери готовое решение на Unity/Godot/RenPy и ебошь, а для веба потом скомпилишь.
Я скорее про то хватит ли голого реакта или лучше что то с рисованием на канвасе брать? Я вот хз, с одной стороны много графоуни не планирую, с другой толком канвас никогда не видел
Этого NPC заклинило?
Неполная индукция может использоваться в аргументации, речь шла именно об этом.
По-моему, ты не о том беспокоишься. Я не знаю, что у тебя за задумка, но самое сложное в ВНках - это грамотно управлять стейтом, чтобы ничего не поломалось ни после сохранений/загрузок, ни в случае отмотки назад (если будет такая опция). И надо, чтобы сам автор мог легко протягивать нужную ему разветвлённую логику.
А для визуала можно взять хоть threejs.
>всё переписать на socket.io, чтобы у меня страничка тормозила на смартфоне 2020 года?
Ты ебанутый? С чего ты взял, что будет тормозить?
Не совсем то, о чем я.
Пишу класс Vector3D, предполагая, что он будет импортироваться как объект с методами и, вероятно, полями (необязательно). Тогда 1-й вариант мне подходит.
Но так же нужно создавать несколько экземпляров из объекта.
Можно ли создать несколько копий объекта из первого варианта? И будут ли функции в нем каждый раз копироваться?
>Никогда в принципе. В TS чтобы нормально писать придётся сражаться с TS
Только если ты тупой и неопытный. Я вот не сражаюсь с тайпскриптом.
>в JS уже такого дохуя
Какого такого? Обычно у недалёких проблемы с пониманием приведения типов и с this. Это не дохуя и это не сложно один раз изучить и больше не сражаться с этим.
>Разработка на TS ОЧЕНЬ замедляет проект
Только если ты тупой лоускилл. Даже для средней макаки нет никакого сильного замедления.
>многие фирмы отказываются от TS потому что это безумно дорого
О, пошёл толстый троллинг. Одна компания предавшего рубиста отказалась с публичным шумом, это "многие"?
>Остаются только вакансии на которые лично тебя никогда не пригласят без 5 лет опыта, но даже если ты наберёшь этот опыт
Пиздёж, вакансий очень много без требований 5 лет опыта в тайпскрипте.
>ты уверен что вместо TS тебе не придётся изучать ZIG к этому времени?
Zig на фронтенде, конечно.
>А ведь придётся, писать на ZIG куда легче чем на TS.
Ты уже стал настолько толстым, что вытекаешь из треда.
>Проблема тайпскрипта в том, что 500к сеньёр пишет такой же неподдерживаемый шизоидный код. И никто не разберёт что это.
Зачем ты проецируешь свою глупость на остальных? Я работал с реально заурядными фронтенд макаками и даже у них не был проблем с пониманием тайпскрипта.
>По-моему, ты не о том беспокоишься
Я 10 лет опыта джава Энтерпрайз сеньор, со стейтом я как - нибудь подилю, ты будь уверен, тем более у меня все будет линейное, а в визуале точно я нуль, полный. Вот я и спрашиваю, на чем писать двадэ графон чтобы быстро просто и желательно чтобы не гонять по сети 40 мегабайт ну ты пони
>Можно ли создать несколько копий объекта из первого варианта?
Нельзя. Точнее, можно, тупо скопировав все поля, но это пиздец. Если собираешься делать несколько экземпляров, используй класс.
Когда ты неосилятор, то выход очевиден - запретить
Мне нужен не вебсайт для интерпрайза, а высокопроизводительная игорь. Максимальные потери которые я могу допсутить это несколько циклов и функций на один подвспук апи.
Так-то я представляю как всё сделать, но как сделать КРАСИВО - хуй знает. Накатать рабочий и уберпроизводительный говнокод я за секунду могу, но он не будет доступен ньюфагам которые, возможно, будут разбирать мой говнокод.
>>10665
Это по спецификацииям JS. Но мы в реальности, а не в спецификациях. Браузеры обрабатывают числовые ключи как Int32, другое дело что у меня в сторе смешиваются числовые ключи и строки - V8 может иногда проебываться и не обрабатывать их как инты. Вот тут уже хз что делать, может нужно и вытащить инты из стора, создать отдельный стор для этого. А может V8 уже научился обрабатывать числовые ключи и строки отдельно. Хуй знает.
>>10664
Единственное что нужно для визуальный новеллы - ацикличное дерево, которое будет твоим стейтом. В принципе в реакте уже есть AST дерево, когда компоненты юзаешь это оно. Всё что нужно - подключить стейт для хранения всех состояний всех компонентов. Это будет довольно громоздко и ебануто, но зато написать его довольно просто.
Потому что у меня 60 обновлений в секунду может быть. Твой кал-калч на сокете с таким не справляется.
>Потому что у меня 60 обновлений в секунду может быть
И?
>Твой кал-калч на сокете с таким не справляется.
С чего ты взял?
> Я вот не сражаюсь с тайпскриптом.
Значит ты пиздишь. Дальше не читал.
Нет ни одного тайпскриптера который бы не охуевал при создании сложных сетевых интерфейсов.
Ну если тебе нужны тренды веба, то в 2D сейчас рулит PixiJS, а в 3D three.js, это дефолтный выбор. При этом с реактом или Vue это не пересекается никак, графические либы со стейтом не работают. Поэтому можешь юзать реакт + pixi, например.
Вот что MDN пишет на эту тему. И нашел интересную штуку - new.target, почитаю.
>И будут ли функции в нем каждый раз копироваться?
Можно ли в принципе скопировать функцию в JS (именно скопировать функцию, а не ссылку на неё) - вопрос интересный. Мне кажется, что без жутких костылей типа eval - нельзя.
Глаза вытекают от такого кода. Похоже на пример, взятый хуйпойми откуда и применяемый без понимания его эффектов, в том числе и побочных. Продолжай искать в интернете подходящий. Разбираться в скачанном и прочитанном - не для тебя
> И?
Что и, даун? Сокетио такое не вывозит.
> С чего ты взял?
Потому что я писал на сокетио. Этот кал на сервере сжирает 20-30% процессора, тогда как другие либы сжирают 1%.
На клиенте похуй, но 5-12% времени кадра на обработку сообщений - то ещё ебланство.
Какие побочные эффекты, шиз? Ты вообще не можешь мыслить вне парадигмы среакта и текущего мейнстрима?
Лучше не пользуйся этим хаком с Object.create(), хотя бы потому, что кто-нибудь по привычке сделает проверку на animal instanceof Animal - и внезапно получит false.
Нет, это ты дебил, которому очень нужна строгая типизация. Иначе ты через месяц не сможешь запустить свой код. Хотя понятие типа - чистая абстракция, существующая только в голове.
Ещё раз, как отсталому, поясняю. TS всёравно "компилирует" в JS. Там внутри всёравно в итоге динамическая каша и соответствующая производительность. JS - это как изолента, проволока и скотч. А TS-дебилы почему-то считают, что из этого можно сделать вещи уровня цемента и кирпича. Возьмите другие языки, дебилы. Проблема строгой типизации - это проблемы из 1970-80 годов, когда не было современных IDE и средств анализа кода. НАХУЯ ЕЁ РЕШАТЬ В ДИНАМИЧЕСКОМ ЯЗЫКЕ ДЛЯ БРАУЗЕРОВ? Кретины, блядь
Мимо_вкатун_в_js_из_сишечки
Я вижу, что ты не можешь написать простой класс на сокете, а взял какую-то вырвиглазную хуиту в качестве примера. Ещё и с числовыми ключами вперемешку с текстовыми.
>Можно ли создать несколько копий объекта из первого варианта?
Используй structuredClone(). Делает полную копию объекта
В TS слабая типизация и компилятор TS просто не в состоянии обработать типы код, TS такая же динамикопараша с any и кривым компилятором.
Хочешь попробовать нормальной типизации - добро пожаловать в ZIG и Dart.
>>10769
>класс на сокете
Щас бы с нихуя производительность терять, когда можно не терять.
>Ещё и с числовыми ключами вперемешку с текстовыми.
Вот это реальная проблема, кстати, хз что с ней делать. Но самая большая проблема это как запускать приложение.
>TS слабая типизация и компилятор TS просто не в состоянии обработать типы
Дрочую, ещё интерфейс нельзя динамически проверить в объекте. Что жс убогий цирк, что тс убогий цирк, но с претензией что он не убогий, а целый сука дюсолей, по факту тот же хуй в другой руке, если хоть один еблан заюзал в своем говнокоде any то все, никакой статический у анализ не поможет. При этом нет ни множественных контакторов, ни нормального способа switch по типу объектов, да нихуя нет кроме абсолютно эзотерических фичей типа union типов и автокастов переменных, на которых пишут потом не читаемое говно.
Что блять я имел ввиду, динамически проверяемых, ебаный в рот, простите великодушно заработался. Вы представляете как меня заебал этот тс? Я просто хочу нормальный паттерн матчинг, хорошую типизацию, иерархии классов как в нормальных языках, надо закрыть этот тс и пойти поспать.
Впрочем голый жс ничем не лучше, даже немного хуже, еси без нормальной IDE разрабатывать. Я тут почитал код jest , мне стало больно, тут даже идея не поможет понять откуда эти методы берутся, они все динамически сгенерировано по сути, тоже не читабельно говно. Но по другим причинам.
Нет, это ты пиздишь. Вот я как раз не знаю ни одного тайпскриптера, который бы охуевал при работе с тайпскриптом. Возможно дело в том, что я не анскилльная тупая макака, и профессиональный круг общения у меня состоит из таких же качественных инженеров. Тайпскрипт это не хаскелль, чтобы с него охуевать.
>>10763
>Нет, это ты дебил, которому очень нужна строгая типизация.
Мне нужна в первую очередь статическая типизация.
>Там внутри всёравно в итоге динамическая каша
Мне в первую очередь важно что в исходном коде, а не в итоговом.
>соответствующая производительность.
Соответствующая это какая? Высокая?
>Возьмите другие языки, дебилы
Зачем, если для моих задач тайпскрипт отлично подходит?
>Проблема строгой типизации - это проблемы из 1970-80 годов, когда не было современных IDE и средств анализа кода. НАХУЯ ЕЁ РЕШАТЬ В ДИНАМИЧЕСКОМ ЯЗЫКЕ ДЛЯ БРАУЗЕРОВ? Кретины, блядь
Я не использую тайпскрипт в браузере, да и джаваскрипт тоже.
>>10787
>В TS слабая типизация
Пробовал не использовать any не по назначению?
>Хочешь попробовать нормальной типизации - добро пожаловать в ZIG
Чтобы скорость разработки снизилась в 10 раз? Нет, спасибо. И если мне потребуется, я возьму раст, а не зиг, и возьму не из-за типизации, а из-за максимального перформнаса.
>>10808
Тайпскрипт один из лучших по типизации среди мейнстримных языков. Если для тебя его типизация недостаточно крутая, то ты наверное профессионал в написании программ на хаскелле? На его фоне что угодно будет смехотворным.
И никто не заставляет писать any или работать с дебилами, который игнорируют конвенции на проекте, или работать в тир 3 помойках, в которых нет конвенций и любой макаке дозволено срать any в коде.
Нет, это ты пиздишь. Вот я как раз не знаю ни одного тайпскриптера, который бы охуевал при работе с тайпскриптом. Возможно дело в том, что я не анскилльная тупая макака, и профессиональный круг общения у меня состоит из таких же качественных инженеров. Тайпскрипт это не хаскелль, чтобы с него охуевать.
>>10763
>Нет, это ты дебил, которому очень нужна строгая типизация.
Мне нужна в первую очередь статическая типизация.
>Там внутри всёравно в итоге динамическая каша
Мне в первую очередь важно что в исходном коде, а не в итоговом.
>соответствующая производительность.
Соответствующая это какая? Высокая?
>Возьмите другие языки, дебилы
Зачем, если для моих задач тайпскрипт отлично подходит?
>Проблема строгой типизации - это проблемы из 1970-80 годов, когда не было современных IDE и средств анализа кода. НАХУЯ ЕЁ РЕШАТЬ В ДИНАМИЧЕСКОМ ЯЗЫКЕ ДЛЯ БРАУЗЕРОВ? Кретины, блядь
Я не использую тайпскрипт в браузере, да и джаваскрипт тоже.
>>10787
>В TS слабая типизация
Пробовал не использовать any не по назначению?
>Хочешь попробовать нормальной типизации - добро пожаловать в ZIG
Чтобы скорость разработки снизилась в 10 раз? Нет, спасибо. И если мне потребуется, я возьму раст, а не зиг, и возьму не из-за типизации, а из-за максимального перформнаса.
>>10808
Тайпскрипт один из лучших по типизации среди мейнстримных языков. Если для тебя его типизация недостаточно крутая, то ты наверное профессионал в написании программ на хаскелле? На его фоне что угодно будет смехотворным.
И никто не заставляет писать any или работать с дебилами, который игнорируют конвенции на проекте, или работать в тир 3 помойках, в которых нет конвенций и любой макаке дозволено срать any в коде.
>, мне стало больно, тут даже идея не поможет понять откуда эти методы берутся, они все динамически сгенерировано по сути, тоже не читабельно говно. Но по другим причинам.
Прям как руби,МАГИЯ
Паттерн матчинг добавят. Для джеста типы должны подхватываться, у меня в вскоде всё работает. И вообще уже давно актуален vitest.
Но не в 2025г
Неправда, он в дефолтной конфигурации не жрёт ресурсы даже на слабой машине, тем более есть возможность использовать uWS, который будет ждать 0.01% ресурсов
TS позиционируют себя как "типизация без головной боли" или что-то вроде того, они не хотят делать строгую типизацию потому что тысячи идиотов обосрутся при нормальной строгой типизации.
>>10817
> Нет, это ты пиздишь.
Нет, ты. Ты наверное местный шиз-фанатик, то жидбрайнсов защищаешь, то тайпскриптокал. Любому кто писал на TS достаточно долго и писал достаточно сложные проекты очевидно что писать нетривиальные задачи буквально невозможно, но ты продолжаешь это отрицать.
>Пробовал не использовать any не по назначению?
Будто проблема только в any. Тайпскрипт ненадёжная система типов, он БУДЕТ компилировать и допускать ошибки, если где-то что-то неправильно написать.
> Чтобы скорость разработки снизилась в 10 раз?
Проблема отсутсвтия библиотек, как и в NIM.
> Неправда, он в дефолтной конфигурации не жрёт ресурсы даже на слабой машине
Жрёт. Он всегда жрёт ресурсы.
> использовать uWS
У меня uWS и стоит, переехал с сокетио и прочей дряни.
>Тайпскрипт ненадёжная система типов, он БУДЕТ компилировать и допускать ошибки, если где-то что-то неправильно написать.
В тех самых 0.01% случаев, которые потом в новых версиях чинят?
Аналогия с ведром в салоне и тряпкой - просто про тебя.
>один из лучших по типизации
Таблетки прими
Понимаешь, лучшая типизация не может иметь Одновременно типы, классы, интерфейсы, из которых в рантайме существуют только классы
Юнион типы бульдог|носорог|рыба
Магическое заклинание в типах на динамическую генерацию иерархии типов для редьюсера
И тд
Лучше бы Гоф паттерны учили. Наворотили хуйни и рады.
>Жрёт. Он всегда жрёт ресурсы.
Если потребление ресурсов на уровне 1%, то это не "жрёт", а просто потребляет.
>У меня uWS и стоит, переехал с сокетио и прочей дряни.
Так одно другому не мешает.
https://socket.io/docs/v4/server-installation/#usage-with-uwebsockets
Мне просто интересно, зачем ты строишь из себя шиза и говнокодишь велосипеды, когда можно было взять готовое производительное решение?
>>10833
Пикрелейтед это слишком сложно?
А нахуй там документация, всё примитивно, отправка, tls, события и всё. Всё просто, думать не над чем.
>>10842
>Если потребление ресурсов на уровне 1%,
Нет. Если бы было так я бы вообще ничего другое не использовал У меня на сервере 25% сжирает сокетио, нахуй мне такая "производительность".
>Так одно другому не мешает.
Возможно, но оно просто не нужно, смысл зоопарк устраивать.
> usage-with-uwebsockets
А вот это интересно. Но всё равно бессмысленно.
> Мне просто интересно, зачем ты строишь из себя шиза и говнокодишь велосипеды, когда можно было взять готовое производительное решение?
Не на столько производительное. Это во-первых. А во-вторых каждый подобный велосипед это куча мозгоебли которая замечательно бустит мышление. Конечно проблемы уебищные, страшные и на первый взгляд нерешаемые (как например сейчас с функциями запуска приложения, я до сих пор хз что делать), но в конце всё это выстраивается в стройную картину.
Это проект который буду использовать я и возможно продам кому-нибудь (офк с поддержкой) так что почему бы и не сделать простой и понятный, даже для джунов, велосипед.
Никого не волнует что там в рантайме кроме отдельных персонажей с особенностями вроде тебя. И тебе кто-то запрещает что ли Гоф паттерны применять в тайпскрипте?
>>10829
>Нет, ты. Любому кто писал на TS достаточно долго и писал достаточно сложные проекты очевидно что писать нетривиальные задачи буквально невозможно, но ты продолжаешь это отрицать.
Нет, ты. Работал в тир 1 компании из КОТВАСЯ, ни у кого там не было проблем с пониманием тайпскрита. Работал в крупном банке, тоже не было проблем. Работал в аутсорсе, тоже не было проблем. А у тебя проблемы с пониманием, тебе такой простой язык как тайпскрипт трудно понимать, то есть ты просто-напросто не очень умный, да ещё и на остальных это проецируешь. Нет, нормальным людям не сложно понимать не сложный язык. А в нетривиальных задачах тайпскрипт так вообще сильнее обычного упрощает работу.
>Ты наверное местный шиз-фанатик, то жидбрайнсов защищаешь, то тайпскриптокал.
Может тебе нужно принять таблетки? Никогда не любил вебшторм и остальные их продукты. Ты уже галлюцинируешь, тебе жидбрейнсошизы мерещатся в собеседниках, которые вообще об этом не говорили.
>Будто проблема только в any. Тайпскрипт ненадёжная система типов, он БУДЕТ компилировать и допускать ошибки, если где-то что-то неправильно написать.
Я уже понял, что использовать нормальный конфиг это слишком сложно для людей вроде тебя.
>Нет, ты. Работал в тир 1 компании из КОТВАСЯ, ни у кого там не было проблем с пониманием тайпскрита. Работал в крупном банке, тоже не было проблем. Работал в аутсорсе, тоже не было проблем.
Либо ты пиздишь, либо ты верстал кнопки. Я тебе ещё раз говорю, ЛЮБАЯ нетривильная задача это бесконечная ебля с TS, типами, кучей непонятного кода от хуй знает каких людей в котором ни у кого нет компетенции.
> А в нетривиальных задачах тайпскрипт так вообще сильнее обычного упрощает работу.
Ясно, ты просто пиздишь.
>Щас бы с нихуя производительность терять, когда можно не терять.
Какую производительность можно потерять на чистом сокете? Обертка на сокете быстрее голого сокета?
> У тебя сокетио сжирает 25% скорее всего из-за говнокода
Нет, там была отправка бинарных данных, всё очень примитивно, минимум функций. Именно по этой причине сокетио вылез на первое место, потому что весь остальной код очень примитивный. А сокетио хуйня кривая.
>>10856
Речь про класс. Класс в жс просирает производительность, по сравнению с функциями и объектами. Вот и нахуя он нужен, если можно без него?
Вёрстки в работе было на уровне 1%, почти везде был ui kit, внутренний в продуктовых компаниях, который разрабатывала отдельная команда, mui и подобное в аутсорсе. Я тебе повторю, что ЛЮБАЯ нетривильная задача не вызывает никакой ебли с TS, если разработчик не дебил. Я, как оказалось, работал не с дебилами, а с нормальными людьми. Хотя повторять бессмысленно когда разговариваешь с человеком с интеллектом стены. А казалось бы, тайпскрипт довольно простой язык, практически ничем принципиально не отличающийся по сложности от других мейнстримных языков. Но для людей с особенностями развития даже это слишком сложно, лол.
>Я тебе повторю, что ЛЮБАЯ нетривильная задача не вызывает никакой ебли с TS,
У всех вокруг вызывает, а у тебя не вызывает. Вывод один - ты пиздишь.
Небось ты вообще вкатун в ТС, работал максимум полгода или вроде того, серьёзных задач не писал, вот и дрочишь-фанатеешь от ТС, доказываешь свою хуйню итт.
Откуда же я знаю что там криво. Главное что оно жрёт больше ресурсов чем голый вебсокет на клиенте и uWS на сервере.
Наоборот ТС практически у всех вокруг не вызывает никакой ебли, это у тебя вызывает, поэтому ты и пиздишь. Большинство вакансий содержат в себе ТС, то есть в рынке уже много лет ТС является нормой для средней линейной макаки. От ординарных линейных макак я очень редко слышу визги о сложности ТС, от сильных инженеров тоже, только полтора шиза на двачах ноют какой он сложный.
То хвалят сокет ио,то хейтят,вы уже определитесь
>Класс в жс просирает производительность, по сравнению с функциями и объектами. Вот и нахуя он нужен, если можно без него?
Может, ты не знаешь, как устроены сокеты? Может, ты не знаешь, как отключить Нейгла на сокете? Может, ты не умеешь пользоваться select/poll? Причем тут socket.io?
А что ты хотел, я не знаю почему сокетио хуйня, мне это не интересно даже.
>>10873
> Может, ты не знаешь, как отключить Нейгла на сокете? Может, ты не умеешь пользоваться select/poll?
Чего, блядь? Причем тут сокетио вообще? Он жрёт процессор не из-за этого, а из-за того что он говно.
> Причем тут socket.io?
Да причем?
Такое только в манямирке джунов. Когда пойдёшь работать узнаешь что такое ТС в продакшене.
Джунам как раз иногда бывает трудно с ТС, но большинство из них нормальные люди и быстро вникают. Я работаю уже 8 лет, уже перечислял примеры мест работы. Сожалею, что тебе так не повезло, даже ТС тобой воспринимается как тяжёлый. Второй критик ТС в этом треде хотя бы на си и на зиге писал, для него очевидно ТС будет довольно детским языком по сложности, а ты похоже кроме чистого жс ничего не знаешь, да и ума нет чтобы познать.
>Остаются только вакансии на которые лично тебя никогда не пригласят без 5 лет опыта
Что за чушь? С 2021 года ни одного проекта на ванилле не видел.
>ты уверен что вместо TS тебе не придётся изучать ZIG к этому времени?
Zig на фронте? Кулсторибоб.
>>10689
Не очень понятно, чего ты в принципе хочешь этим кодом добиться. Еще менее понятно дальше:
>Пишу класс Vector3D, предполагая, что он будет импортироваться как объект с методами и, вероятно, полями (необязательно)
Зачем? Импортируй как класс и инициализируй инстансы при необходимости.
>Тогда 1-й вариант мне подходит.
Ну если тебя устраивает то, что этот объект будет существовать в приложении в единственном экземпляре и любая мутация будет распространяться на все места, где он импортирован, то да. Тогда я еще больше не понимаю, зачем это нужно.
>Можно ли создать несколько копий объекта из первого варианта? И будут ли функции в нем каждый раз копироваться?
Чувак, у тебя каша в голове. Покури функции-конструкторы, классы и прототипное наследование.
>Zig на фронте?
Да тут растошизы уже начали прогревать фронтедеров своей сектой - rspack, swc и прочее начинает набирать обороты
Зачем эти проекции? Ты же буквально сам не можешь вкатиться в ТС, для тебя он слишком сложный.
> Что за чушь? С 2021 года ни одного проекта на ванилле не видел.
Статистика говорит именно об этом. Популярность тс падает, отказы в компаниях происходят всё чаще, новые проекты и компании не выбирают тс.
>Zig на фронте? Кулсторибоб.
Зиг готов к продакшену, зиг компилируется в васм без проблем, зиг компилируется на всех платформах без проблем. Всё что не хватает зигу - нормальных библиотек. Как только нормальные библиотеки появятся - жс тупо вымрет нахуй за ненадобностью.
Всё из-за приложений. Во всяких ватсапах, телеграммах и прочей хуйне очень модно стало встраивать свои приложения. И было бы неплохо чтобы они работали сопоставимо с нативной скоростью и были в принципе компилируемыми, чтобы до исходников никто не добрался. И было бы ещё лучше, если бы эти же приложения компилировались в натив одной кнопкой. Зиг это может предоставить.
Это всё, конец. Появится что-то в стиле реакта на зиге и конец этому треду.
>А что ты хотел, я не знаю почему сокетио хуйня, мне это не интересно даже.
Зачем тогда кукарекать, что он кривой, если ты не разбираешься в вопросе?
>Популярность тс падает, отказы в компаниях происходят всё чаще, новые проекты и компании не выбирают тс
Какой же толстый троллинг. Ты же ни одно из этих утверждений не сможешь пруфануть.
Какие проблемы?
Прекрати эту истерику. Если socketio жрёт 20% ЦП, а uWS 0.07% ЦП - очевидно что socketio плох. Для этого не нужно понимать почему дерьмокод socketio плох и почему так всё хуёво.
Если ты хочешь - можешь разобраться и рассказать мне почему socketio такой калище. Ты в дерьме привык купаться, думаю ты не будешь против окунуться в эти помои.
Не очевидно. Вполне возможно, что дело в твоём говнокоде. Если не в нём, то есть пример кода, из-за которого у тебя 20% ЦП жрало? Думаю сейчас начнутся манявры, что ты его уже удалил. И с socketio + uws проблем точно нет.
> Не очевидно.
Так ты просто даун, вот тебе и не очевидно. Безумный фанатик который полтреда доказывает мне какой-то кал, типо socketio не кусок дерьмища, лолд
>>10933
Этот код прост и понятен даже для джунов, предназначен для маленьких проектов которым важна скорость. Он идеален.
То что ты безумный фанатик и у тебя весь тред жопу рвёт что никто не использует твои каловые фреймворки размером в мегабайты, классы и прочий шизоидный бред - только твои проблемы. Лечись, что тут сказать. Такой фанатизм к калу это явно не что-то здоровое.
>Остаются только вакансии на которые лично тебя никогда не пригласят без 5 лет опыта
Что за чушь? С 2021 года ни одного проекта на ванилле не видел.
>ты уверен что вместо TS тебе не придётся изучать ZIG к этому времени?
Zig на фронте? Кулсторибоб.
>>10689
Не очень понятно, чего ты в принципе хочешь этим кодом добиться. Еще менее понятно дальше:
>Пишу класс Vector3D, предполагая, что он будет импортироваться как объект с методами и, вероятно, полями (необязательно)
Зачем? Импортируй как класс и инициализируй инстансы при необходимости.
>Тогда 1-й вариант мне подходит.
Ну если тебя устраивает то, что этот объект будет существовать в приложении в единственном экземпляре и любая мутация будет распространяться на все места, где он импортирован, то да. Тогда я еще больше не понимаю, зачем это нужно.
>Можно ли создать несколько копий объекта из первого варианта? И будут ли функции в нем каждый раз копироваться?
Чувак, у тебя каша в голове. Покури функции-конструкторы, классы и прототипное наследование.
>>10745
>Можно ли в принципе скопировать функцию в JS (именно скопировать функцию, а не ссылку на неё) - вопрос интересный. Мне кажется, что без жутких костылей типа eval - нельзя.
Если тебя не интересует замыкание, то легко. С учетом динамического this - вообще проблем нет.
Ты можешь использовать либу tw-merge, а также еще накинуть туда clsx для добавления классов по условиям и благодаря этому разбить свою длиннющую строку на логические блоки типа:
twMerge(
'обычные стили',
'disabled стили',
)
twMerge(
'обычные стили',
'disabled стили',
'hover стили',
'medua-query стили'
)
и т.д.
Ебаная макаба, случайно преждевременно отправил пост
>Лучше не пользуйся этим хаком с Object.create(), хотя бы потому, что кто-нибудь по привычке сделает проверку на animal instanceof Animal
Такие вещи вообще-то через прототип проверяются.
>>10763
>Хотя понятие типа - чистая абстракция, существующая только в голове.
Шизоид, блин.
>TS всёравно "компилирует" в JS
У тебя энивей все компилируется, если только ты в 2024 не пишешь на ванилле.
>Там внутри всёравно в итоге динамическая каша и соответствующая производительность
При пряморуком написании кода, производительность JS в 95% кейсов сопоставима с Java, держу в курсе.
>НАХУЯ ЕЁ РЕШАТЬ В ДИНАМИЧЕСКОМ ЯЗЫКЕ ДЛЯ БРАУЗЕРОВ?
Ты там, это, на досуге почитай что ли про мономорфность и инлайн кэши, что ли, дурачок. ТС при грамотной настройке соответствующего инструментария решает как минимум ту задачу, что рядовая макака не может написать код, ухудшающий перфоманс твоей аппки в 50 раз.
>>10771
>Используй structuredClone(). Делает полную копию объекта
Отлетаешь, очередняра.
Ты сам видел про что твой график? Он про потрбление памяти во-первых, а речь была про ЦП. Во-вторых, там дефолтный сокетио используют, у которого пакет ws под капотом, а не uWS. И я тебе ничего не доказываю, это ты ты полтреда утверждаешь, что сокетио жрёт много ЦП и написан, при этом не можешь доказать ни одно из своих утверждений. А про код совсем смешно получилось, потому что на сокетио код намного проще и понятнее получается. Ты вкатунец, который никогда не работал на нормальном проекте с адекватным лидом. Тебе бы по рукам надавали за такие манявелосипеды говнокодерские, потому что адекватный лид всегда старается брать готовые решения чтобы новый человек на проекте мог быстрее вкатиться в проект при устройстве.
Алсо, вот график, который показывает потребление памяти в 100 МБ на 10к соединений. На втором графике тоже видно, что дефолтный сокетио (ws под капотом) жрёт 100 МБ памяти на 10к соединений, сокетио с uWS под капотом жрёт 60 МБ, голый ws жрёт ~45 МБ.
> Ты сам видел про что твой график? Он про потрбление памяти во-первых, а речь была про ЦП.
О ну конечно, байтики-то волшебным образом сами туда-сюда перемещаются, ЦП в этом не учувствует.
Ну и дегенератище..
>>10950
> Алсо, вот график,
Дай угадаю, этот график с сайта сокетио? Ну да, они-то не будут врать, зачем им это.
Какой же ты безумный фанатик, пиздец просто...
>Любому кто писал на TS достаточно долго и писал достаточно сложные проекты
Ну ты же не писал, че пиздишь-то? Мой опыт работы с либами, написанными на JS однозначно гласит, что в 90% случаев это полуюзабельный кал. И как раз таки на сложном проекте это говно затаскивать в код - просто полный пиздец.
>очевидно что писать нетривиальные задачи буквально невозможно
ТС в 90% процентов кейсов решает задачу того, чтобы макака не могла передать в твой компонент Button какие-то ебанутые значения пропсов.
>Тайпскрипт ненадёжная система типов, он БУДЕТ компилировать и допускать ошибки, если где-то что-то неправильно написать.
Чел, блять, любой компилятор будет допускать ошибки, если где-то что-то неправильно написать. Обычно люди осознают это в первые несколько часов занятия программированием.
>>10838
>Таблетки прими
Чел, блять, очнись, ты серишь.
>лучшая типизация не может иметь Одновременно типы, классы, интерфейсы,
Сейчас бы сравнивать рантайм сущность с элементами статического анализа.
>Юнион типы бульдог|носорог|рыба
База любого функционального языка.
>Магическое заклинание
Когда программировать не умешь, да, все становится магией.
Пруфы про нагрузку на ЦП будут?
>Дай угадаю, этот график с сайта сокетио? Ну да, они-то не будут врать, зачем им это.
А в чём они конкретно врут по-твоему? Чел, ты больше похож на безумного фанатика, потому что ты делаешь утверждения, которые ничем не подкреплены, и даже не особо в теме разбираешься. Когда вебсокеты жрут ЦП, то это почти всегда твой говнокод, который создаёт утечку памяти, которая со временем начинает выжирать ещё и ЦП.
>ТС в 90% процентов кейсов решает задачу того, чтобы макака не могла передать в твой компонент Button какие-то ебанутые значения пропсов.
Это да, тут не спорю, если ты макакич который делает интерфейсы с буттанами - всё очень хорошо и прекрасно.
Но если ты начинаешь с чем-то серьёзным работать - наступает пиздец. Полный. Однажды прислали микросервис на ТС который отвечал за построение графиков и работу с сетью. Мне пришлось месяц его рефракторить в удобочитаемый вид с нормальной архитектурой. Месяц, блядь, разбирать весь тот кал который туда написали. И это писали сеньёры, многолет опыта. После этой хуйни я с ТС завязал.
> Чел, блять, любой компилятор будет допускать ошибки, если где-то что-то неправильно написать.
Нет, не будет. В других языках строгая типизация. У ТС нестрогая. Он будет обсираться в типах и компилировать хуйню.
>Популярность тс падает, отказы в компаниях происходят всё чаще, новые проекты и компании не выбирают тс.
Эти проекты и компании с тобой в одной комнате?
>Зиг готов к продакшену, зиг компилируется в васм без проблем,
Вот когда васм научиться работать с DOM, поговорим. Пока что - это пук в муку.
>зиг компилируется на всех платформах без проблем.
Да насрать куда он там компилируется, доставлять ты свое говно как будешь? Предлагать юзерам скачать apk-шку? А на iOS?
>Всё из-за приложений. Во всяких ватсапах, телеграммах и прочей хуйне очень модно стало встраивать свои приложения.
Давай начнем с того, что там, где нужны нативные приложения - там пишут нативные приложения. С вебом это пересекается примерно никак.
>Это всё, конец. Появится что-то в стиле реакта на зиге и конец этому треду.
Этой мантре уже лет 10, как придумаешь че-нибудь посвежее, приноси, нам очень интересно почитать (нет).
На графике показан перформанс при утилизации 100 ЦП, или что? Ничего необычного на графике не вижу. Но твой проект тут при чём? Ты говоришь, у тебя 20-30% ЦП жрёт. Тут сокетио + uWS 38 раз в секунду броадкастит 100 сообщений 100 клиентам при загрузке ЦП в 100%, голый uWS около в 2.5 раз больше. У тебя клиентов сколько, 1, 3 с половиной, лол? Ну или сколько, 5? Если ты броадкастишь 60 итераций в секунду и сокетио у тебя жрёт 20-30%, то uWS должен жрать 8-12% при том же количестве клиентов. Что-то не сходится по цифрам.
>научиться работать с DOM,
Нахуя нужно работать с DOM вообще? Этот кусок кала должен умереть и побыстрее.
>Да насрать куда он там компилируется, доставлять ты свое говно как будешь?
Онлайн без смс же, в васме всё работает. И ссылка на сторы, если нужно.
>Давай начнем с того, что там, где нужны нативные приложения - там пишут нативные приложения. С вебом это пересекается примерно никак.
Если бы это было действительно так, то никто бы не писал flatter, webapp и прочее дерьмище. Реальность такова что всем нужно чтобы всё работало и в вебе и в нативе.
> Этой мантре уже лет 10, как придумаешь че-нибудь посвежее, приноси, нам очень интересно почитать (нет).
Чего, блядь? Зиг только недавно в васме стал нормально компилироваться, первый нормальный язык который это делает без говна.
>Эти проекты и компании с тобой в одной комнате?
Тот шиз скорее всего только об одном примере слышал, который раздули в медиа. Поехавший, но известный рубист из своей никому не нужной либы выпилил тайпскрипт https://world.hey.com/dhh/turbo-8-is-dropping-typescript-70165c01
Прошёл год, а неосиляторы ТСа до сих пор коупят, ссылаясь на этот случай. Тем временем в 99.99% компаний в индустрии используют тайпскирпт.
>Это да, тут не спорю, если ты макакич который делает интерфейсы с буттанами - всё очень хорошо и прекрасно.
Фронтенд на 90% состоит из интерфейсов с буттанами, дальше что?
>Но если ты начинаешь с чем-то серьёзным работать - наступает пиздец.
Define серьезный.
>Однажды прислали микросервис на ТС который отвечал за построение графиков и работу с сетью.
Причем здесь тайпскрипт? Бэкэнд на ноде - это в любом случае
> пиздец. Полный.
Другое дело, что ТС + еслинт позволяют хоть как-то держать под контролем веб-мартышек, 90% которых вчерашние версталы, не понимающие программирование от слова совсем.
>И это писали сеньёры, многолет опыта.
Ну если это писали сеньеры по типу местных дурачков, которые принадлежность к классу проверяют через instanceof, а объекты клонируют через structuredClone, то что здесь удивительного? ТС тут не причем, тут skill issue в чистом виде. И да, заебался уже повторять, что многолет опыта в современных реалиях - это чаще всего один год опыта повторенный много раз. Пора бы уже это понять.
>Мне пришлось месяц его рефракторить в удобочитаемый вид с нормальной архитектурой. Месяц, блядь, разбирать весь тот кал который туда написали.
Ты тут типа намекаешь на то, что в случае с кодовой базой на ванилле рефактор прошел бы по волшебству за два дня? Что, блять?
>В других языках строгая типизация.
В каких, блять, других? Че у тебя там другое?
>У ТС нестрогая.
Строгость ТС зависит от настроек компилятора и линтера, держу в курсе.
>Он будет обсираться в типах и компилировать хуйню.
В каком месте? Давай примеры или пиздабол.
>Нахуя нужно работать с DOM вообще? Этот кусок кала должен умереть и побыстрее.
Вот и выросло поколение реактодебилов, как ты без работы с DOM собрался рендерить? Открою секрет, реакта тоже с DOM работает и сам его генерирует
Понял, а как тебе этот график? Не очень хорошие показатели у сокетио, да?
>Фронтенд на 90% состоит из интерфейсов с буттанами, дальше что?
Это совершенно не значит что ты с ТС будешь тольок 10% времени ебаться. 5% на кнопки и 95% на еблю с логикой.
> Define серьезный.
Не буттон.
> Причем здесь тайпскрипт?
Это был фронт.
> Другое дело, что ТС + еслинт позволяют хоть как-то держать под контролем веб-мартышек, 90% которых вчерашние версталы, не понимающие программирование от слова совсем.
Да похуй мне на макакичей, чел. Речь про что-то сложнее кнопок.
>ТС тут не причем, тут skill issue в чистом виде.
Это связано с нехваткой времени тоже, если ты пишешь на ТС - тратишь больше времени. По этому пишут говнокод, который мне отсылают на рефракторинг за миллион.
>Ты тут типа намекаешь на то, что в случае с кодовой базой на ванилле рефактор прошел бы по волшебству за два дня? Что, блять?
За неделю-две, потому что там нет безумной системы типов с безумными зависимостями.
> В каких, блять, других? Че у тебя там другое?
Ты не в курсе какая в ТС типизация или решил в клоуна сыграть?
> Строгость ТС зависит от настроек компилятора и линтера, держу в курсе.
В ТС нет полной строгой типизации. Нету в компиляторе ТС строгой типизации. Просто нет. Прими это.
> В каком месте? Давай примеры или пиздабол.
Если ты с таким не сталкивался никогда и не в курсе - ты просто джун или вроде того. Подрастёшь, попишешь проекты, напишешь что-то кроме кнопок- узнаешь сам.
>Нахуя нужно работать с DOM вообще? Этот кусок кала должен умереть и побыстрее.
Как ты рендерить свое приложение собрался? Во что?
>Онлайн без смс же, в васме всё работает. И ссылка на сторы, если нужно.
Стесняюсь спросить, а ты вообще когда-нибудь пробовал модерацию в каком-либо сторе пройти?
>Если бы это было действительно так, то никто бы не писал flatter, webapp и прочее дерьмище
Так и есть, на них пишут 2% шизов.
>Реальность такова что всем нужно чтобы всё работало и в вебе и в нативе.
Реальность такова, что те, кому это нужно, имеют команды для разработки под веб и отдельно 2 команды для разработки под мобилы.
>Чего, блядь? Зиг только недавно в васме стал нормально компилироваться, первый нормальный язык который это делает без говна.
Ну стал он в васм компилироваться, дальше-то что? Для рендеринга тебе энивей жс нужен. Твой зиг тут как 5-е колесо.
>>10975
>Поехавший, но известный рубист из своей никому не нужной либы выпилил тайпскрипт
Выпилил, но есть несколько нюансов:
1) Rails в 2024 не просто мертв, а уже воняет
2) весь стэк этой конторы нацелен на SSR, и даже фронтовые интеракции они реализуютв парадигме HTML-over-the-wire.
3) DHH сам писал, что современную клиентскую разработку не умеет и не понимает. Что тут еще обсуждать?
>Тем временем в 99.99% компаний в индустрии используют тайпскирпт.
Все так. Писать на ванилле в 2024 году - удел селюков.
Да, WebGPU с недавнего времени начало работать нормально. Но только частичная поддержка. Высокоуровневых либ под это нету, но это не на долго. Через годик-полгода будут поддерживать все, вот тогда и начнётся.
> Как ты рендерить свое приложение собрался? Во что?
Зашептал аш с этого макакича! Ты реально не в курсе что можно рендерить без хтмл в современном вебе?
Это что, скачивания в npm? Ну тогда нормальные, не удивительно, ведь sockjs и ws это низкоуровневые либы, они много где являются зависимостями, а socket.io это хайлвльная либа. Когда кто-то устанавливает socket.io, то у него и ws, и sockjs скачиваются. Это как сравнивать пакет qs и express, или rxjs с ангуляром/нестом.
>Это что, скачивания в npm?
Бля, а ты умён, фанатик. Погуглил прежде чем отвечать. Ручки не тряслись пока отвечал и гуглил?
Нихуя себе, макакич, оказывается формочки можно рендерить не только в хтмл. Поразительно, не правда ли, макакич?
Зачем мне гуглить, если это и так понятно по графику, тем более он похож на npmtrends. Вот что я не понимаю, почему ты так горишь, почему тебя так корёжит от злости и желчи, что ты не можешь общаться как адекватный человек. А по делу, на >>10992 и >>10972 тебе нечего ответить, наверное поэтому и рвёшься.
То есть рендерить формочки не в хтмл по-твоему нормально? Нормально когда так рендерят фигму, а не очередное формошлёптство
> полтреда доказывает что сокетио не дерьмо
> нееет нееет это ты горишь, это тебе нечего ответить!1
Окей, фанатик
Но это же ты полтреда как попугай повторяешь, что сокетио дерьмо, при этом рвёшься, когда у тебя просят пруфы.
>будут
Вот тогда и приноси эти фантазии, не удивлюсь если окажется ещё тормознутее рендера html, над которым работают десятилетия
Оглянись вокруг, макакич, тысячи приложений рендерят в гпу и чувствуют себя прекрасно. Веб ничем не отличается и он так же будет рендерить в гпу.
>>11001
> не удивлюсь если окажется ещё тормознутее рендера html, над которым работают десятилетия
Манямечтай дальше, макакич. Нет ничего тормознее жс, хтмл и всякой срани вроде тс.
>Оглянись вокруг, макакич, тысячи приложений рендерят в гпу и чувствуют себя прекрасно. Веб ничем не отличается и он так же будет рендерить в гпу.
Примеры кроме фигмы?
>>11005
Макакич, обезумел, лол, примеры какие-то, че ты несешь, шиз? Вебгпу ещё не выпустили в сфинктерфоксе и срафари, потому что над ним работают полтора пидераста.
Как выпустят - сразу же будут писаться либы на нормальных языках программирования, вроде Zig.
Как выпустят либы - сразу же TS, JS и DOM подохнут жидко пукнув напоследок, потому что этот кал никому не нужен.
То есть вот это никому не нужное поделие выпустят лет через 10? И его никто не будет юзать потому что нахуя если есть жс/тс? Зиганутый, ты совсем поехал со своим зигом, на нём скорость разработки будет в 10 раз меньше обычной.
Можешь продолжать манямечтать про нужность жс/тс, макакич, но единственное что действительно никому не нужно - современный веб с жс/тс. Каждый год трафик падает.
Создание мультиплатформенных фреймворков и мультиплатфоремнных рендеров на нормальных языках программирования это неизбежность. Жс, тс и dom будут попущены. И очень скоро.
>Это совершенно не значит что ты с ТС будешь тольок 10% времени ебаться. 5% на кнопки и 95% на еблю с логикой.
В чем ебля-то заключается? Если твоя логика не дружит с типами, тут не в типах проблема, очевидно же.
>Не буттон.
Пример в студию. Серьезно, скинь хоть одну серьезную функцию, которая на ванилле проще описывается, чем на ТС.
>Да похуй мне на макакичей, чел. Речь про что-то сложнее кнопок.
Чел, у тебя на фронте и будут макакичи. А если ты пишешь бэк на ноде - то ты просто даун.
>Это связано с нехваткой времени тоже, если ты пишешь на ТС - тратишь больше времени.
Один раз тратишь чуть больше времени, потом кайфуешь.
>По этому пишут говнокод, который мне отсылают на рефракторинг за миллион.
Все дружно сказали: ВЕРИМ!
>За неделю-две, потому что там нет безумной системы типов с безумными зависимостями.
За неделю-две на ванилле ты высрешь неюзабельный неподдерживаемый никем кроме тебя говнокод, поддержка которого будет в конечном итоге стоить в 10 раз больше, чем твой рефакторинг за миллион. Впрочем, если ты собирался так заджобсекьюриться - это да, лучший способ.
>Ты не в курсе какая в ТС типизация или решил в клоуна сыграть?
В ТС практически максимально возможная типизация для языка, который в итоге компилируется в динамикодрисню.
>В ТС нет полной строгой типизации. Нету в компиляторе ТС строгой типизации. Просто нет. Прими это.
Дальше что? Как это мешает писать код? Или ты хочешь сказать, что полное отсутствие какой-либо проверки типов лучше, чем ее наличие? Ты что, совсем дегенерат?
>Если ты с таким не сталкивался никогда и не в курсе - ты просто джун или вроде того.
Если ты не можешь дать ссылку на playground ТС с примером того, где тебе стреляет в ногу отсутствие строгой типизации или она работает не так как надо, то ты просто пиздабол-неосилятор вот и все.
>Это совершенно не значит что ты с ТС будешь тольок 10% времени ебаться. 5% на кнопки и 95% на еблю с логикой.
В чем ебля-то заключается? Если твоя логика не дружит с типами, тут не в типах проблема, очевидно же.
>Не буттон.
Пример в студию. Серьезно, скинь хоть одну серьезную функцию, которая на ванилле проще описывается, чем на ТС.
>Да похуй мне на макакичей, чел. Речь про что-то сложнее кнопок.
Чел, у тебя на фронте и будут макакичи. А если ты пишешь бэк на ноде - то ты просто даун.
>Это связано с нехваткой времени тоже, если ты пишешь на ТС - тратишь больше времени.
Один раз тратишь чуть больше времени, потом кайфуешь.
>По этому пишут говнокод, который мне отсылают на рефракторинг за миллион.
Все дружно сказали: ВЕРИМ!
>За неделю-две, потому что там нет безумной системы типов с безумными зависимостями.
За неделю-две на ванилле ты высрешь неюзабельный неподдерживаемый никем кроме тебя говнокод, поддержка которого будет в конечном итоге стоить в 10 раз больше, чем твой рефакторинг за миллион. Впрочем, если ты собирался так заджобсекьюриться - это да, лучший способ.
>Ты не в курсе какая в ТС типизация или решил в клоуна сыграть?
В ТС практически максимально возможная типизация для языка, который в итоге компилируется в динамикодрисню.
>В ТС нет полной строгой типизации. Нету в компиляторе ТС строгой типизации. Просто нет. Прими это.
Дальше что? Как это мешает писать код? Или ты хочешь сказать, что полное отсутствие какой-либо проверки типов лучше, чем ее наличие? Ты что, совсем дегенерат?
>Если ты с таким не сталкивался никогда и не в курсе - ты просто джун или вроде того.
Если ты не можешь дать ссылку на playground ТС с примером того, где тебе стреляет в ногу отсутствие строгой типизации или она работает не так как надо, то ты просто пиздабол-неосилятор вот и все.
>единственное что действительно никому не нужно - современный веб с жс/тс
Пиздец как толсто, cовременный веб с жс/тс это буквально 99.99% проектов. Можешь более тонко попробовать?
Ебать манямирок фанбоя зига, писать будут на том где можно хуяк хуяк и в продакшн, а также на тех языках и фреймворках где можно максимально быстро найти людей за минималтный оклад. Тут реакт 95%, и немного ангуляра для банков с жиквери для лендосов на цмс.
Вот если уже потребуется что-то специфичное, то уже тогда будут писать уже на компилируемых языках и то не факт что будут брать модный молодежный зиг в котором кроме хайпа нихуя нет, вместо тех же проверенных годами крестов с шарпами.
Пиздец ты конечно диванный эксперт, который не работал ни дня
>>11016
Макакичи, плиз. Реальности бизнеса немного другие.
Если бизнес увидит что сайты с красивыми кнопками и шейдерами привлекают больше внимания (а так и будет) чем обычное говно на жс, тс и дом - бизнес моментально забудет про всё остальное и начнёт внедрять компилируемые языки уже вчера.
Ну а зиг будет популярен просто потому что он нативно компилируется в васм без рантаймов. Всё просто.
Ебать ты конечно накатал маняфантазий, макака. Кнопки уже сверстал, вкатун?
>только частичная поддержка
>Высокоуровневых либ под это нету
>будут
Ясно.
>>10991
>Зашептал аш с этого макакича! Ты реально не в курсе что можно рендерить без хтмл в современном вебе?
По остальным пунктам вспукнуть вообще ничего не смог? Понимаю.
>>10995
>Нихуя себе, макакич, оказывается формочки можно рендерить не только в хтмл.
Канвасо-куколд, проясни такой момент, почему даже либы с графиками рендерят в HTML, когда есть такой гениальный способ рендерить в канвас, а?
>>11003
>Веб ничем не отличается и он так же будет рендерить в гпу.
Шизоид, DOM и так рендерится на гпу.
>>11010
>То есть вот это никому не нужное поделие выпустят лет через 10?
Да не выпустит это никто. Даже если и выпустят, это нахуй никому не нужно.
мне короч нужно вывести селектор с количеством инпутов, которое задаётся массивом, у каждого инпута должен быть свой уникальный айди, каждый инпут должен вызывать функцию при изменении содержимого и менять атрибут value (я планирую его передать в другой компонент)
в итоге value не меняется, console.log(layer, number) возвращает 'selector${i}' и 1 вне зависимости от того, что я пишу в инпут.
чё делать
а ебать я дебил, я s.defaultValue передавал в функцию, уже ухожу, извините, извините...
>Реальности бизнеса немного другие
Реальности сейчас такие, что 99.99% проектов это жс/тс
>Если
>Будет
Ты ещё забыл слова вроде "когда", "скоро"
>Макакичи, плиз. Реальности бизнеса немного другие.
Реальности бизнеса в том, что веб - это екоммерс, финтех и всякая маркетологическая параша. Ну и госуха. И твои
>сайты с красивыми кнопками и шейдерами
там нахуй не нужны.
>бизнес моментально забудет про всё остальное и начнёт внедрять компилируемые языки уже вчера.
Шизоид, рендеринг в канвас и WebGL доступен уже 10 лет. Где эти бизнесы с компилируемыми языками? Еще раз спрашиваю, они в одном с тобой интернете? Ты их видишь?
>Ну а зиг будет популярен просто потому что он нативно компилируется в васм без рантаймов. Всё просто.
Че там с растом, который туда уже лет 5 компилируется?
1) Java-апплеты
2) Flash
Все это сдохло, но нет. Угомониться не могут, теперь новая мулька wasm рендерить в canvas. В отличие от первых двух это говно даже не взлетит.
>Всё просто, думать не над чем.
То то я и смотрю как ты уже неделю свои портянки тут с говнокодом высираешь. Неделю обертку над сокетом пишет, пиздец. Тебе все правильно сказали - возьми готовую либу, а проблемы с производительностью(если они вообще будут) решай по мере появления. У тебя же типичный analisys paralisys, помимо того что ты в принципе нихуя не понимаешь в жс.
>>11026
>>11031
Ебать нибомбит у макакича, лол. Кнопки хуево сверстал опять, на тебя манагер накричал что ты тупой джун?
> и всякая маркетологическая параша
Именно тут нужны пиздатые интерфейсы. Продажи, макакич.
Твои хуевые кнопки, которые ты бесконечно на TS пишешь за 50к/мес, продают очень хуево. А ведь чем красивее реклама, чем красивее кнопка - тем больше вероятность что товар купят, красивые и быстрые интерфейсы справляются с продажами очень хорошо.
Стоит этой волне подняться и это будет не остановить. Будет то же самое что и с JS в 13-18 годах - новые фреймворки и новые языки каждый день. И это будет даже хуже, потому что профит каловой параши на js и прогрессивном WebGPU приложении на С/С++/Rast/Zig будет отличаться в разы.
>>11036
> Все это сдохло, но нет.
Именно так, JS и TS сдохнет так же как сдохла Java и Flash в вебе. JS и DOM нахуй не нужен, это ограниченная и кривая хуйня давно отжила своё время. Пора двигаться дальше, призаглохший онлайн-бизнес как никогда раньше нуждается в новом глотке мочи свежей технологии.
Не знаю почему безумные шизы-фанатики с треда не могут угомониться и фантазируют что их кривой TS-кал будет вечен.
🤡💊💊💊
Просто поразительно насколько глубок может быть манямирок у человека. Давно такой отборной шизы не было в треде.
Сколько бы ты не визжал врёти и сколько бы не топал ножками - тебе это не поможет. Реальность в том что JS/TS и DOM это отсталое дерьмо.
Да ты тут один визжишь врёти и отрицаешь реальность. В реальности все приложения делают на жс/тс, а WebGPU юзают полтора землекопа на всю планету.
Что ты ему доказываешь? Он пукнет "миллиарды мух" и продолжит нести свою шизу дальше
>такой отборной шизы
Чел, этот тред всегда плотненько набит шизой Особенных Шизиков, которые борятся с клятой системой и носятся с каждой нерабочей хуйней, пиарящейся в твиттере.
Какая обёртка над сокетом, что ты там себе фантазируешь про меня? Последние дня три писал AST дерево, функцию h() со всеми параметрами. У тебя от такого в штанишках мокро будет, если когда-то доведётся писать что-то подобное.
Если ты такой даун что тебе для простой отправки сообщений через вебсокет требуется библиотека. Хуй знает что тут сказать. Выкатывайся из программирования, ты буквально не в состоянии писать программы.
Вкатился недавно из языка где всё ок с многопоточностью и вот эти сквозные принудительные async/await делают всё только хуже, чем было раньше на том языке
Почему бы им не разрешить делать promise.resolve() чтобы дождаться в удобном месте асинхронного значения?
Тру стори, сначала думаешь что динамико-дрисня для вкатунов и неучей, вкатываешь в статик, проходят года и потом с гига опытом приходит понимание насколько динамика сильна и удобна.
Да, чтобы писать качественно на динамике нужен большой скилл, но зато какая гибкость, просто обосраться.
Если ты сам себе кабан и тебе нужен поисковой трафик оставайся в jquery, все эти базворды придумали чтобы разводить кабанов имитацией работы. фронтенд реально не требует столько времени, сколько абстракций туда натянули
>Zig на фронте? Кулсторибоб.
Уже очевидно что будущее за WASI. Тут зиг не причем, это мульти языковый байткод, тут больше вопрос как сам js будет собираться в wasi и проблема js это отсутствие нормальных чисел. Скорее всего будет какой-то отдельный js-wasi, который будет совсем другой js. Но скорее всего выстрелят больше другие языки, там у шарпов сейчас большая движуха веб ассембле мягкие что-то чуют, вроде у раста тоже, но он очень неудобный.
>Вот когда васм научиться работать с DOM, поговорим. Пока что - это пук в муку.
ДОМа больше не будет. Ты мало понимаешь что такое wasm
https://beta.unity3d.com/jonas/AngryBots/
>>Вот когда васм научиться работать с DOM, поговорим. Пока что - это пук в муку.
>ДОМа больше не будет.
А как оно там будет?
Тоже жду когда яваскриптопараша сдохнет
Коллеги, подскажите плз вопрос по камере HikVision iDS-TCM203-A. Не могу разобраться, как с неё вытянуть номер автомобиля
https://stackoverflow.com/questions/79141957/how-to-capture-car-license-plate-by-using-hikvision-isapi-ids-tcm203-a-camera