Это копия, сохраненная 1 февраля 2022 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Больше пары строк кода в посте или на скриншоте ведут в ад.
Для программирования на HTML https://codesandbox.io
Для Node.js с консолькой https://repl.it/languages/nodejs
Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
Ну или я не понял что такое resp api, у меня есть библиотека с гитхаба для нужного мне сервиса, мне надо дописать то что будет тягать через него с сервера нужную инфу.
я хочу, чтобы у меня был репозиторий сука нах клиент и чтобы там блять были папочки клиент сервер например, какого хуя всё через жопу я того маму рот ибал сука гавно блять неинтуитивное, каждый раз блять у меня горит от говногита
при чём тут основы, основы это гит комит или гит адд. это уже advanced
Напоминаешь того парня, который не хотел читать основы ксс, бомбил от того факта, что он не мог поправить верстку за пару часов, мне же хватило взгляда. Чисти, чисти, раз не хочешь читать.
Ну все равно чел откроет девтулы -> нетворк и увидит урл запроса, в query которого будет тот самый ключ
В общем сделал приложуху на nodejs уже, все нормально
Как незашкварно писать на ванилле на фронте? Вернее как там хранить стейт и базовые параметры? Вот например я открывают вебсокет-соединение которое по идее должно висеть пока клиент находится на странице, где мне его хранить?
ws = new Websocket('ws://myhost.com/ws');
Просто положить в глобальный скоуп это не по понятиям?
Используй модули, очевидно.
Для чего тебе его хранить, для каких целей? По умолчанию "храни" там же где используется, если нужна потенциальная возможность доставать откуда угодно, то в глобальном скоупе, где еще.
Закончил в этом году вышку по инженерной специальности, работал по ней во время учебы, и понял, что это не совсем мое. В школе немного дрочил питон решал олимпиадные задачки, делал простые сайты на хтмл/цсс, устанавливал линуксы и проебывал архивы с фоточками одноклассниц, потому что зафакапил разделы жд, вообщем какой-то красноглазый бэкграунд у меня есть.
Недавно наткнулся на рекламу www.microverse.org/, это интенсивный буткемп на 8+ месяцев по 8 часов в день с пикрилейтед программой. Особенность обучения - отсутствие учителей и лекций, но есть обязательный код ревью перед переходом на следующий уровень если не сдал проект до дедлайна/не усвоил материал - повторяешь блок, программа построена на создании проектов и peer coding смешно звучит с такими же вкатывальщиками из стран третьего мира, менторством и прочей залупой.
За обучение хотят 15к баксов, но только после того, как выпускник начнет получать зарплату больше 1000$ работая непосредственно девелопером, т.е они мало-мальски заинтересованы в моем трудоустройстве Through our ISA, you agree to pay 15% of the income that you earn as a software developer, but only if you are making over $1,000 a month, or $12,000 a year.
Параллельно за пару лет могу получить вторую вышку уже с нормальной базой, алгоритмами, матаном, парадигмами и прочей поеботой.
Английский С2
Собственно вопрос - на какой стул мне сесть? Работая по специальности, могу в течении 5 лет выйти на 5к+, но придется переступать через себя, потому что мне эта сфера вообще не интересна. На втором стуле вкат в фул стек веб дев, и перспектива быть нищим еще год - полтора. Реально ли вкатышу с огромным желанием и горящей жопой, несколькими пет проектами и клеймом курсов найти работу в офисе/на удаленке? Благодаря ингришу географически не ограничен в теории, хотя мне кажется в 2к21 это уже не преимущество, а БАЗА.
Полгода самостоятельно дрочишь жопоскрипт/реакт/ксс, потом идешь джуном как можно скорее и куда возьмут. "База через математику и алгоритмы" - это шиза и бесполезная трата времени, алгоритмы с математикой в работе тебе нужны будут примерно никогда. Курсы не нужны, тем более платные, ресурсов полно, сел и занимайся. Следующий.
Очевидно учиться с в группе таких же вкатышей, с четкой программой и каким-то контролем легче, чем самому, нет?
Вышка как дополнение, а не основа, чтобы не остаться макакой которая копипастит сортировку пузырькомили как она называется со стакофверфлоу.
>Очевидно учиться с в группе таких же вкатышей, с четкой программой и каким-то контролем легче, чем самому, нет
Не очевидно, курсы могут оказаться какие угодно, и в 90% случаев они окажутся говенным пересказом общедоступной информации, которая еще и будет пережевываться как для дебилов и подаваться никчемным лектором.
>Вышка как дополнение, а не основа, чтобы не остаться макакой которая копипастит сортировку пузырьком
Макака как раз будет переизобретать алгоритм сортировки, вместо того, чтобы взять готовый отточенный и сфокусироваться на реальной задаче, которую надо решать. Если ты не планируешь реализовывать эти алгоритмы на постоянной основе в качестве своей профессии(а такие профессии конечно есть), то они тебе нахуй не нужны. Вообще.
Там как раз и нет лекторов - только дайджест материалов и платформа где ты учишься с такими же вкатывальщиками.
Я хотел бы заниматься именно разработкой, а не остаться привязанным к одному стеку и технологии, в перспективе перекатиться во что-то более фундаментальное, как тут без базы.
Профильная Вышка это как минимум плюс в толпе бывших таксистов и менеджеров по продажам.
Насколько легально его использовать в своих петпроектах? Потом на работе кабаны не будут запрещать?
Пиздец, ты ебанутый или как? Сейчас бы за платформочку подписать контракт на долбление тебя в жепу на 15к долларов. В Киеве была похожая параша, школа 13 или 15 (или хуй его знает что), юнит залупа короче. Там хотя бы давали помещение, аймаки за которыми ты мог жить и кодить. А тут что? Платформа блядь. Я хуею.
Какая впизду вторая вышка, какая база? Ты сам не сможешь осилить курс алгоритмов и структур данных? Тебя нужен дед, который с умным еблом будет читать это говно с бумажки?
>Я хотел бы заниматься именно разработкой
Так иди и занимайся, ебаный в рот. Открывай гайд и шуруй по списку.
Я в ахуе с этих вкатышей.
Ну юзай underscore.js тогда, про него кабаны не слышали.
children: React.ReactNode; // best, accepts everything (see edge case below)
Мне что, везде ReactNode тип пилить для children?
И в тип того что функция возвращает я везде пишу JSX.Element, насколько это хуево?
Любая подобная хуйня это маркер долбоеба. В интернете тонны бесплатной информации, при этом расписанной подообно а не в виде краткого пересказа от васяна, возомнившего себя преподом. Если ты не способен её самостоятельно найти и усвоить, то айти это явно не твоё.
>легче
Не на 15к баксов же.
На ютубе те же видосы, но бесплатно, на торрентах - разные спизженые курсы, везде одно и то же, смотри - не хочу.
>профильная вышка
У тебя уже нет этой самой профильной вышки, курсы - не вышка, ты чуть лучше таксиста сейчас. Нахуй ты вообще ее упоминаешь?
> Мне что, везде ReactNode тип пилить для children?
Да.
> И в тип того что функция возвращает я везде пишу JSX.Element, насколько это хуево?
Что должно возвращаться, то и пишешь. Ждешь jsx, значит пишешь jsx.element.
Потому что я пытался поменять внутри return то что я возвращаю и ни разу на тип JSX.Element ругательств не было
У меня есть некий объект-словарь, я посылаю запрос на получение некого элемента из этого объекта. Если мы смотрим в него и на данный момент не видим такого элемента то "засыпаем" и ждем его появления, как только он появляется, отдаем его. Подозреваю тут на асинхронках и ли коллбеках ивент-лупа надо ебошить, но вот как именно?
А, так вот зачем он нужен, спасибо.
>Профильная Вышка это как минимум плюс в толпе бывших таксистов и менеджеров по продажам.
То есть ты настолько отчаялся выделиться в толпе таксистов, что готов потратить несколько лет времени и возможно денег, получая абсолютно бесполезные навыки(бесполезность алхаритмав с математикой в работе программиста ты так и не попытался оспорить), чтобы в конце у тебя была бумажка, которая якобы отличает тебя от таксиста? Ну такой себе план, хуевенький, особенно учитывая альтернативу - работать все это время и набирать реальные навыки, которые тебя от таксиста и отличат.
Функции, которые число возвращают, или строку, или вставить нужное, для тебя не функции, что ли? Все написанные тобой в жизни функции исключительно jsx возвращали?
Многие программисты нетрадиционной сексуальной ориентации, ничего зазорного в этом нет. Кури на здоровье.
Ты раскусил меня. Да, я боюсь омегана без яиц, без собственного мнения, который пришёл на двачи искать одобрения для своей дегенератской идеи, вместо реального изучения технологий.
>вы просто боитесь конкурента, причем годного
Так, что там у нас?
>Шиз
>21-23 лвл
>Ненужная вышка какого то там инженегра
>Нулевые знания и опыт
Годный, просто пиздец. Бегом заливай резюме на все площадки, херки уже выстроились в очередь за таким красавцем
Я не пайтонист-чулочник, а уважающий себя вротенд разработчик, одну купил, другая еще приедет, недавно в треде общался, грят из-за кальянов и прочих тупеют. А мне не хочетя тупеть.
чисто в теории от никотина сосуды головного мозга страдают, но я не думаю, что сильно
Я так курить бросаю периодически. Вроде приятно, а вроде вредно сцук. Раз 5 бросал уже
Ты не бросаешь, а занимаешься какой то хуйней. Нет такого понятия «бросать»
Ты или куришь, или не куришь. Все остальное для чуханоидов без силы воли.
Так питон в среднем более гетеросексуален, чем вротендожс.
ебать ну ладно я курю раз в год 1 неделю хуль ты доебался
Рассказывай про задачу, чё
Чел ты документацию тоже жопой читаешь?
Чего злой такой? Вторая вышка получается заочно за два года, в свободное от работы время.
Курсы за 15 к, где платишь постфактум - это суть бесплатные курсы.
Инженерная специальность у меня не бесполезная, я уже получаю 1,5к на околостартовой позиции.
Нахуя мне с тобой об алгоритмах спорить? Я коммерческой разработкой не занимаюсь, но даже мне блять понятно, что если ты работаешь в подобной сфере, то нужно иметь БАЗУ, чтобы хотя бы понимать о чем говорят люди, которые в профессии дольше и знают больше.
Или вкат по твоему начинается и заканчивается на JS? До конца жизни пилить формы и анимации в студии на 20 человек? Ахуенная перспектива.
Вообщем не злись, злость разрушает. особенно на дваче
>Я коммерческой разработкой не занимаюсь, но даже мне блять понятно
То есть ты очередной шизик без опыта, который вообще не знает, о чем говорит, обосновать позицию не может даже в виде диванной теории, но мнение имеет? Так и запишем. Ну и раз теперь все прояснилось, то в принципе можешь идти платить и за заочку, и за курсы, и еще пару платных лекций для вкатывальщиков можешь посетить в свободное время, даю тебе свое разрешение.
Завалил бэкенд. Сочувствую твоему горю.
>грят из-за кальянов и прочих тупеют. А мне не хочетя тупеть.
ошибка вижевшего то-есть корреляция между тупостю и кальяном. Не факт что причина и следствие.
Анон выстраивал логическую цепочку умными словами, если человек курит, то меньше воздуха - меньше воздуха - больше кислородной недостаточности, больше недостаточности - глупее арбуз.
Что-то типо если часто курить, то постоянная недостаточность появляется.
Я в 16 лет 5 кальянов за вечер выкурил, это я теперь из-за этого не могу понять ооп?
Что конкретно ты не понимашаешь?
Да есть такие, гугли. William Candillon, например, годный контент на RN делает.
2880x1244, 0:10
Например, как это сделано на странице apple. Блоки "застревают", потом опять прокручиваются, внутри других при скролле происходит подсветка, какие-то изменения.
https://developer.apple.com/tutorials/app-dev-training/using-stacks-to-arrange-views
Посмотрел через wappalyzer - говорит, что сделано на Vue. Вряд ли поверх сделали свой велосипед, вероятно какая-то библиотека есть под такого рода анимации. Можете что-то подсказать?
Так уже запилили, C++ называется.
В HTTP-онли куках. Пэйлоад можешь отдельно передавать, если он тебе нужен для чего-то.
>А с новой вкладкой шо7
https://developer.mozilla.org/en-US/docs/Web/API/Broadcast_Channel_API
ашо
Можно ли сделать из них одну гибкую, если при присваивании не передать аргументы?
А можно мне библиотеку которая будет за меня все таски закрывать пока я буду аниме смотреть?
Сам пиши
Intersection observer
Чел для такого есть хекслет 3к в месяц и вся инфа собрана в 1 месте, ща 3к код ревью ты не получишь, зато денег сэкономишь (а можно за месяц проклинать все уроки и дальше бесплатно сидеть пердеть)
Спасибо.
Скажем так, использовать его можно, и иногда нужно с целью экономии времени, но ты должен спокойно в любой момент времени мочь написать реализацию любого метода оттуда. В некоторых командах/проектах могут запрещать.
Зачем тебе типизировать то, что и так имеет типы? Сделай AuthFormItem: FC = ({children}) и всё
Само собой, просто запрет иметь более 1 листенера на один эвент - не абсолютное противопоказание, я лишь к этому.
Парни, надо нафигачить long-polling со стороны клиента, вот моя функция poll которая это делает. В общем-то все ясно - делает запрос на эндпоинт, проверяем ответ и если он валидный обрабатываем данные. Вне зависимости от результата делаем новый запрос на тот же эндпоинт (ну это long polling все-таки), но если были ошибки то увеличиваем таймаут чтоб не спамить
В общем-то все работает но загвоздка в том что у меня не простой эндпоинт а с query-параметрами (token). В общем-то все работает до поры до времени пока этот token не поменяется. Как в таком случае оперативно проводить long-polling? Даже если я ебну новый вызов poll с обновленным token то старые запросы так и будут продолжать херачить вхолостую
https://ideone.com/mgGo5n
Листенеры для того и были сделаны, чтобы их пачками можно было вешать.
>В общем-то все работает до поры до времени пока этот token не поменяется.
Очевидно же при таком результате вызова зафетчить новый токен и продолжать поллить свою хуитку.
>Даже если я ебну новый вызов poll с обновленным token то старые запросы так и будут продолжать херачить вхолостую
Передавай в аргументы объект со свойством `token`, а там уже можешь хуевертить значение как хочешь.
Ну все, уебывай тогда отсюдова
ну рассказывай, куда, как, что писал в сопроводительном, есть ли что-то на гитхабе, короче все подробности выкладывай
junior frontend на react. В сопроводительном писал что нет опыта, но компенсирую трудолюбием. В резюме ссылки на приложения в heroku и github. Думаю, что нужно побольше проектов написать себе в портфолио и один из главных критериев - приложение должно быть красивым. А лучше отдельно сделать сайт-портфолио, где по нажатию на страницу проекта переходишь, там описать функционал с картинками и ссылки приложить на гитхаб и хероку.
Вроде не гейство
Cейм, но только не в яндекс а в говноконтору, так что похуй впринципе.
Тебе чтобы элемент привязать к скроллу нужна отдельная библиотека? Ты совсем тупой?
Какие старые, ебобос? У теья новый запрос начинается только в конце старого. Всё что тебе нужно это обрабатывать ошибку вида "токен экспайред" и обновлять его.
Задавали вопрос про жизненный цикл вью.
Про нюансов булеан значений.
Как теперь жить?
На первом я просто ничего не сказал.
На втором говорил какой-то бред.
На третьем сказал, что будет ошибка из-за const. На этом интервью и закончилось.
Я себя тупым чувствую. Так оно и есть.
Ну если это первое интервью, то в принципе нормально тебя хотя бы на собес позвали
Будут еще такие же, если так же нервничать будешь и не готовиться. И будут еще успешные, но без реакции.
Первое интервью. К технияеском не готовился. Нам нужно больше оправданий. Особо не нервничал, но под конец голосок начал дрожать.
Да и вообще только выиграл.
Круто что позвали, но не смог ни на один вопрос ответить. А у меня ещё интервью на английском будет, думаю там совсем пиздец будет.
>А у меня ещё интервью на английском будет, думаю там совсем пиздец будет
Срочно надо пообщаться с носителями, в чатрулетке например. Ну или прямо с разрабами какими-нибудь.
С тянкой какой-то в приложении Tandem общался, грит 6/10, за минут 20 нашел, удобное, кстати. Балакать могу, но с временами хуево. Еще R пиздец как звучит.
Дерьмо.
И чтобы не сильно запарный, подходящий для быстрой и чистой разработки несложного API.
Для твоих целей - да.
>Закончил в этом году вышку по инженерной специальности, работал по ней во время учебы, и понял, что это не совсем мое
У тебя тех. вышка уже есть, зачем тебе еще? Полно всяких физиков и математиков вкатываются в ит без задней мысли, а ты чому не можешь? Хочешь ит вышку, иди в магистратуру. Поступать на ит бакалавра в не-топ вуз (мфти, вшэ) считаю полной хуетой. Сам сейчас учусь на ит говно в одном из известных вузов ДС, качество образование в целом хуета полная, лишь изредка встречается годные предметы, которые можно было бы и самому изучить.
Алгоритмы очень редко в каком вузе преподают на достаточном уровне, чтобы хорошо в них ориентироваться и разъебывать алгоритмические задачки. Понятно, что ты напишешь пару лаб уровня сортировки слиянием, обхода дерева в глубину, ну может еще что-то про стеки списки и очереди поймешь, но не более того. Матан не нужен от слова совсем, кроме первого семестра, где рассказывают про о-малое и О-большое, но это ты и так должен знать, у программистов матан даже более урезанный, чем у инженегров. Парадигмы как правило преподают хуево везде, и вообще парадигмы это не то, на что ты должен сильно обращать внимание. Какие-нибудь паттерны ООП из книжек ты и сам можешь узнать, но они тебе и не понадобятся толком.
Курсы платные нахуй не нужны, сиди учись сам. И будь уверенней, у меня знакомые, которые толком нихуя не знают и не умеют, просто и без задней мысли ходят по собесам и вкатываются. И кстати, учебный план в твоих курсах за 15к долларов тоже хуйня. Руби и рельсы можно выкинуть нахуй, они уже считай мертвы. Хочешь во фронтенд - изучай хтмл, ксс, жс, реакт и ищи работу. Хочешь бекенд - бери пхп/python/джаву/сишарп, базы данных, немного алгосов, один популярный фреймворк к твоему языку и иди пиши круды. Все очень просто и легко, было бы желание и какие-никакие мозги.
>но даже мне блять понятно, что если ты работаешь в подобной сфере, то нужно иметь БАЗУ, чтобы хотя бы понимать о чем говорят люди, которые в профессии дольше и знают больше
>>59618
>Я хотел бы заниматься именно разработкой, а не остаться привязанным к одному стеку и технологии, в перспективе перекатиться во что-то более фундаментальное, как тут без базы.
Что по твоему БАЗА? Вот у меня в вузе были курсы и по базам данных, и по компиляторам, и по операционным системам, и по сетям, и по архитектуре пк. И что с того? Все это исключительно для общего развития, как мне кажется, за исключением БД.
На предметах нет сильного углубления, чтобы, например, когда ты придешь после выпуска из вуза писать драйвер какой-нибудь сетевой хуитки, тебе было хоть что-то понятно. Если тебе дадут такую задчу ты по факту будешь с нуля изучать все кишки линукса, про то как там работают протоколы ip и tcp на уровне ядра. Так как после вуза ты максимум будешь понимать самые общие принципы того, как работают ОС и сети.
Да и к тому же, пойми, ты никогда не будешь программировать свою ОС, никогда не будешь писать очередной движок для БД, ты не будешь проектировать свой процессор. Компиляторы тебе тоже не пригодятся, максимум напишешь петпроджект с мини интерпретатором своего ЯП. И графический движок ты тоже никогда писать не будешь, так как сейчас намного проще и дешевле взять свой, чем пилить что-то с нуля. И вот то, что я перечислил, пилится специальными людьми с PhD из топовых вузов США в разных ресерч отделах Гугла/Microsoft/Apple, а не где-то в РФ на аутсорсе, лол. Если тебе охота заниматься именно фундаментальными вещами и создавать продукты, которыми будут пользоваться остальные программисты по всему миру, то тебе стоит изобрести машину времени и вернуться к своему 16 летию, чтобы начать готовиться к поступлению в стенфорд или в самом худшем случае - мфти.
>взять свой
Взять готовый, конечно же. Unreal/Unity покрывают все задачи на сегодняшний день. Свое пишут только очень богатые конторы для AAA проектов, которые в последнее время скатились в парашу, в отличие от индюшатины.
http://localhost:8080/light/Green
как во время загрузки получить вот это?
this.$route.params.color
Во время загрузки во всех хуках жизненного цикла он undefined.
Куда смотреть?
Я на первом интервью не ответил ни на один вопрос, зато потом, когда начал активно ходить по интервью через несколько месяцев, получил 4 оффера в течение 2х недель. Это нормально
Ты сначала сформулируй нормально, потом бампай. Кто у тебя засыпает, кто отдает. А лучше не пытайся, а просто скажи явно что тебе нужно.
Хочу получить элемент при вызове
const elem = await asyncObject[key]
Чтобы в случае его отсутствия в asyncObject мы не вощ\зврашали undefined и не блочили код, а засыпали о ожидали его появления, а когда он появится - вернули бы его
А если хочу мобилки? Почему ты не упомянул их?
>когда начал активно ходить по интервью через несколько месяцев
К сожалению не могу себе столько позволить, похоже придется начинать карьеру с версталы, а там через пару месяцев подтянув все что надо уже в вротенджс..
Чувствую себя как в школе, когда не единственный получил двойку.
Да.
Приложение состоит из двух больших модулей, которые только делят общие компоненты между собой, поэтому хочу чтобы они находились в одном проекте. Но не хочется, чтобы они сразу оба грузились, когда пользователь использует только 1.
но естественно это надо в роутах писать, а не в начале файла
Это ты тугодум, все прозрачно пиздец, а ты зачем-то вертишь очком
asyncObject.setElem(key, elem) // установили, операция установки вполне может быть синхронной
elem = await asyncObject.getElem(key) // в другом участке кода дождались этого элемента и получили его
обыкновенный интерфейс Mapping-а, слыхал о таком?
Ну так и писал бы, способов как оно там появляется может быть тысячи.
import * "rxjs";
Выглядеть твой asyncObject будет так:
asyncOnject = {
elements: new Map()
setSubject: new Subject();
getElement(key): function() {
if(this.elements.has(key)) return of(this.elements.get(key));
return this.setSubject.pipe(first(k => k === key),map(()=> this.elements.get(key)));
}
setElemet(key, value): function() {
this.elements.set(key, value);
this.setSubject.next(key);
}
}
О блин, забыл про rxjs, все думал как это на голых промисах реализовать и что-то не прокало
что интересно в Питоне таки есть способ это сделать на объектах Future (маняпромисы) потому что можно установить value для Future извне, таким образом любой кто ожидает объект Future через await мгновенно получит это значение при следующей итерации ивент-лупа
В жс тоже можно, просто выглядеть будет не очень:
asyncObject = {
waiters: new Map();
elements: new Map();
async getElement(key): function() {
if(this.elements.has(key)) return this.elements.get(key);
return new Promise(res => this.waiters.set(key, [...(this.waiters.get(key) ?? []), res]));
}
setElement(key, value): function() {
this.elements.set(key, Promise.resolve(value));
if (this.waiters.has(key)) {
this.waiters.get(key).forEach(res => res(value));
this.waiters.delete(key);
}
}
}
А нет, всё норм
Без TS делал это так:
this.setState({[name]: value})
Как и предлагают в доках по реакту
Но ебучий TS ругается на несовместимость типов. Хули делать? Вешать на каждый инпут свой обработчик?
https://ideone.com/nLeDxC
почему ideone такое уебщие когда дело доходит до жс? ошибки мне еще насерил, лол, код прекрасно работает
Хм, а как пашет вот это:
...(this.waiters.get(key) ?? [])
?
Я думал что spread-оператор выкинет ошибку если будет применен на объекте который не итерирурем
Учить TS сначала и понять, что у интерфейса или класса могут быть необязательные свойства.
Мимо тот вкатышь, который опыт контента называет версталой.
Пройтись ещё раз по тому, что спрашивали, и по всему остальному. Я понимаю, когда в моменте ты отвратительно себя чувствуешь после разъёбного интервью, но зачем оставаться в этом состоянии? Ты в любом случае получил опыт, к следующему интервью будешь чуть лучше и в плане знаний и в плане эмоций/волнения. Не надо воспринимать собес как экзамен, воспринимай его как дейт в Тиндере, один из многих. Пройдёшь десяток-другой - вспомнишь мои слова.
Ты вместо того, чтобы сразу бежать с тупым вопросом, почитай доку и сходи на СО. Откуда вы такие берётесь?
Ты сейчас за кого говоришь? За все компании? Если никто не возьмёт верстальщика без опыта, откуда верстальщики в принципе берутся, с Марса прилетают? Может быть, их выводят про программе генетической памяти предков-верстал под IE6? Выполни несколько заказов по вёрстке на фрилансе, выложи свой код. Для начальной позиции этого достаточно.
Ой, это такой пиздеж, людей без опыта берут куда угодно, а пиздят об этом те, кто просто по скиллам не вывозит, и потом везде ноет о том, какие все вокруг ужасные и как абсурдно несправедлив мир. Можно подумать, если тебя взяли на работу, то скиллы появятся волшебным образом. Точно так же будешь сидеть и разбираться, читать доки, смотреть курсы. Повышай скилл, учи базу, это требование ко всем людям на любом собесе, если только ты не сеньер конечно какой, но и у сеньеров порой бывают проблемы из-за того, что они подзабыли базу и делают из-за этого критические ошибки
> Выполни несколько заказов по вёрстке на фрилансе
где брать их
Двачую
Ага. Вот этот факт печалит. Хотя может что-то изменится через пару лет. React Native тоже не сразу зашёл в СНГ - рынок
Я просто почему про Flutter спросил - это наверный один из самых простых примеров вката, если до этого не имел дел с программированием. Не нужно знать так много технологий и нюансов как в вебе. Там есть свои нюансы, без них никуда, но ни в какое сравнение это не идёт с тем же вебом.
Вот тут я не знаю, есть ли вакансии для флаттеронли разработчиков, посмотри, поищи
А что ты хочешь сделать, стать фронтэндщиком за 1-2 дня или тс выучить? Ну без практики всё равно будет обсираться, хоть и самый базовый ТС там довольно простой
За 1-2 дня ты только научишься объявлять базовые интерфейсы и добавлять тип переменным. Для освоения тс нужна практика и бэкграунд в виде опыта в строгом ооп языке типа джавы или шарпа.
>>61270
Я хочу стать верстальщиком. Я лазал по ютуб. И увидел видео, где челик использовал materialUI, он заходил на сайт materialUI и там заходил в какой-нибудь компонент, нажимал вкладку ts и оттуда копировал код.
Я хочу прочитать всю основную доку typescript, чтоб общее получить восприятие.
А затем я хочу скачать через npm materialUI и там внутри посмотреть что за там ts, что это дает, что там внутри написано. Вернее, я уже заглядывал, но нихуя не понял. И решил сначала доку прочитать. Но что-то она пиздец большая для меня. Я хочу за 1-2 успеть прочитать. Я успею? Или я хуй пососу впрочем как и всегда?
KISS - пиши код настолько просто, насколько это возможно, чтобы он был максимально понятен другим программистам. Ну охуенно, если другой программист не знает ОПП, или что-то может быть очень удобно в использовании и максимально точно подходит под задачу, нужно пилить свои костыли, чтобы не дай бог никто не запутался и не насрал себе в штаны? Ну охуенно конечно. Давайте прямо в html будем писать весь код и целиком страницами нахуй отдавать клиенту новые данные, ну а что, простенько же? CI/CD и докеры тоже нахуй, слишком сложно, и так далее уберём всё сложно и пойдём в пятерочку работать.
YAGNI - не используй ничего, что не нужно в ТЗ (все остальные подробности опять какая-то магическая астральная хуета которую можно натянуть на любой глобус, я этого принципа рот ебал)
TS это обёртка над JS добавляющая типизацию, и позволяющая в работе использовать более полноценный ОПП, в рантайме никакого тс фактически не остается, он нужен только программистам во время написания кода, если ты не знаешь JS, то тебе понимание тайпскрипта не даст ничего
1 - не оверинжинирь
2 - делай только то что написано в задаче, хочешь сделать что то ещё - заведи отдельный тикет и делай
ООП говно для дебилов, особенно в жсе, если от тебя его требуют - отказывайся от оффера
нарушение KISS это:
if (42 === getCurrVal()) {
action();
}
по KISS код должен быть таким:
const meaningOfLife = 42;
const currentValue = getCurrentMeaningOfLife();
const meaningOfLifeReached = meaningOfLife === currentValue;
if(meaningOfLifeReached) {
resetWorld();
}
Т. е. чтобы его понял даже тупой, а не тот кто знает про 42 и что там твои методы делают.
YAGNI это когда ты из когда выше попытаешься сделать генерик функцию, которая принимала бы значение и два метода, один для получения значения для сравнения, а другой для того чтобы его вызвать в случае если два значения равны. Вроде как звучит хорошо, но если другого кода нет который бы использовал эту функцию и шанс того что он появится очень мал, то писать такую функцию будет нарушением принципа YAGNI.
>>61280
Вот сферический пример из палаты мер и весов. Особенно второй пост, очень интересный конечно принцип, наверное полное его описание это занимает 800 000 страниц и объяснят как действовать в каждой конкретной ситуации? Один скажет, что иф в первом случае понятней, а я например сказал бы, что во втором случае он куда понятнее. И так блядь про каждую строку кода можно сказать. В общем оба принципа хуета и говно
Мда, если ты таких элементарных принципов не в состоянии понять, то смашно представить что будет когда до принципов SOLID дойдешь.
>>61319
Вот тут и проблема в том, что с SOLID и ООП у меня никаких вопросов и нет, в т.ч. я сюда не включил и DRY, который очень конкретно говорит о том, что нужно делать. С этими паттернами/принципами всё очень понятно и очень конкретно. А KISS и YAGNI бессмысленное говно не означающее буквально н-и-х-у-я
if (undefined == null) console.log('NULL');
То выйдет сообщение NULL
Объясните, плес, почему undefined равно null?
>А KISS и YAGNI бессмысленное говно не означающее буквально н-и-х-у-я
Тогда в чем проблема просто заявлять, что ты так же используешь это эфемерное говно? Смузиебы в шоке, эйчарки задумчиво кивают.
Мимо.
Кисс - это как коммунизм для дураков, считающих, что коммунизм означает взять все и поделить.
А почему NaN == undefined - это false?
Ладно, ты меня в гугл отправишь, я уже понял. Пошёл я нахуй.
Да и типы приволятся к String и Number
Ну да, ведь коммунизм для умных, это взять всё и поделить себе)))
Реверсить чужой труд полезнее чем придумывать велосипеды. Тебе не нужно досконально изучать эту либу изнутри, просто выяснить вещи которые тебе кажутся сходными или полезными.
Наровинг это просто. Конпепелятор сужает область значений типа в каждой токе программы. В это главе перечисляются случаи когда такое происходит.
let a = 'abibas' | 'dolchi' | 'glav_prom_tekstil'
if (a != 'abibas') {
<-- здесь у а тип dolchi' | 'glav_prom_tekstil'
}
type a = 'abibas' | 'dolchi' | 'glav_prom_tekstil' канешно
const someFunc = () => // ... someCode
<button onClick={someFunc}>Button</button>
от:
const someFuncCallback = useCallback(() => // ... someCode, [])
<button onClick={someFuncCallback}>Button</button>
Он нужен только если в коллбеке используются какие-то внешние переменные?
Оно нужно если у тебя в колбек от пропсов зависит
Ты на полном серьёзе хочешь почти без опыта вкатиться в технологию за 2 дня? Максимум, чего ты добёшься, - нахватаешься по верхам и заделаешь нормальную такую кашу у себя в голове.
Ответь на вопрос, зачем ты это делаешь, в первую очередь - себе самому.
>>61400
Нет, никто тебе помогать не будет. Твой случай - типичная история, когда без знания основ механики чувак берётся делать двигатель. Не надо дтак. Надо делать то, что на тебе хватает знаний + чуток выше. Если ты будешь хвататься за свистелки и перделки без понимания базы, будешь сосать.
Так сложно открыть доку по базовым хукам, или одну из сотен статей про useCallback?
звуки некрофилии
Во-первых Deno. Во-вторых ты имеешь в виду перепилить виртуальную машину/среду исполнения именно под ТС? Так делают уже наверное. Тем более что в таком виде его уже можно и в натив пересобирать при некотором колдовстве...
А Deno понимает типы в рантайме? Ну типа можно сделать DI как в джава спринг?
прокидываю проп со строкой с одним из значений обьекта вроде
obj = {
2ch: '2ch',
abu: 'abu',
}
<Child prop={obj.2ch}>
в чайлд компоненте тип сделал
prop: keyof typeof obj
в итоге в родительском компоненте ругается что
Type 'string' is not assignable to type '"2ch" | "abu" | undefined'
Как пофиксить это?
ты в родительском компоненте передаешь произвольную строку в пропс, а тип пропса определил как "2ch" | "abu" | undefined
Я понимаю, но ни ! ни || что были на стаковерфлоу не сработали, но 2й анон уже подсказал почему так
>>61510
логично, хотя с родителя я только эти варианты передаю, но все равно логично что он не знает об этом.
А если я string ставлю, то он в Child ругается на dispatch(obj[prop])
Element implicitly has an 'any' type because expression of type 'string' can't be used to index type '{ 2ch: { type: string; }; abu: { type: string; };
Ага, от ОПП и солида не горит, только от кисс сгорел
Видел такое, да, но не понял как это засунуть к dispatch(obj[prop])? (obj у меня из другого файла импортится)
То же самое
Type 'K' can't be used to index type '{ 2ch: { type: string; }; abu: { type: string; };
и куда я эту функцию должен закидывать?
спасибо что помогаешь
функция эта для обращения к объекту как obj[prop]. у тебя что-то где-то не типизировано.
{ 2ch: { type: string; }; abu: { type: string; } - хрень, а не структура данных, зачем повторяющийся type, который не тайп, а стринг? почему не массив тогда?, {type: string, name: string}
Вот где хз - там хз. Но скорее всего нет, это ж весь движок перепилить надо.
Я с jsx на tsx ещё не все переписал, файл который obj импортирует все еще jsx, видимо из-за этого так?
ну представь себе, что именно ты делаешь. ты в типизированный файл приносишь какую-то неведомую штуку и ожидаешь, что ТС сам за тебя всё сделает? импортировать ts в js обычно можно безболезненно, обратно - нет. можно временно заткнуть с помощью as, но это так себе решение.
Не ожидал, я надеялся внутри полученного файла затипизировать как-то временно, но вообще да, ты прав, туплю
А как на пикриле джава понимает, какая реализация должна быть у свойства calc?
Это никак на DI не влияет. В любом языке есть типы данных, даже если предположить, что у тебя есть просто тип объекта, то добавив ему свойство type или любой другой классификатор, который позволит определить его к определенной группе, то это уже позволит тебе реализовать DI.
Ну вот в тайпскрипте мы должны для свойств, в которые инжектируются объекты, указывать определенный токен. Так как после компиляции, в рантайме никаких интерфейсов нет, то только по токену можно сопоставить конкретную реализацию с конкретным свойством.
А в спринге мы никакой токен не передаем, а просто декорируем свойство Autowired, и получаем нужную реализацию по интерфейсу. Разве нет?
После компиляции есть классы. Если у тебя интерфейс или абстрактный тип, то да, используется специальный токен, который этот тип обозначит.
Речь шла не о конкретных реалищациях DI, а в том что реализация не зависит от типов в рантайме.
Так же в htmlacademy есть профессия Фронтенд-разработчик за 100500 денег, там изучают только базовый js. То есть не касаются паттернов проектирования. И там изучают "вёрстку Реакт-компонентов". И typescript вообще не изучают.
В связи с этим у меня появился вопрос. Вот если верстальщик знающий только js будет верстать Реакт-компоненты. То насколько трудно будет реальному react-фронтенедру после этого всё переделать за верстальщиком на typescript?
Ни один реальный не возьмется разгребать дерьмо. Он либо заново напишет, если заплатят больше рынка, либо выберет нормальное место.
Кто сколько опыта имел, когда на ~200к вышел?
2 года фулстеком шарп+ангуляр, около 4 лет js 2 из которых с использованием ts.
Сервис закрылся, неизвестно почему... Было очень удобно, особенно режим echo.
Ребята из скиллбокса подсуетились, после меня взяли тимлидом в яндекс. Не зря же я 200к отдал им.
И ты конечно не скажешь почему для аватарок пользователей это плохое решение. Потому что слышал звон, да...
Для хранения любых файлов это хуевое решение - писать их в БД. Либо пиши на диск в файловую систему стандартными методами и доставай оттуда же, либо вообще используй облачные сервисы, для этого и сделанные. БД для хранения файлов не предназначены в принципе, во многих конечно сейчас есть костыли для хранения блобов всяких, но в целом это бесполезная и контр-продуктивная хуйня, тем более если ты сам ебешься с Base64 и даже не используешь встроенные в БД методы.
>И ты конечно не скажешь почему для аватарок пользователей это плохое решение
Объяснять, почему это хорошее/удобное решение должен как раз ты, ведь по элементарной логике: у тебя есть файл и есть ФАЙЛОВАЯ система, так и почему ты не хочешь писать файл в заточенную для их хранения систему, а хочешь писать его в хранилище текстовых данных?
Все что у тебя есть на беке это текст в body запроса, в запросе нет файловой системы. Аватарка запрашивается с другими данными пользователя и не имеет самостоятельного смысла.
Моей первой мыслью было: хранить файлы на серверы и доставать их оттуда же. Но, к сожалению, я разрабатываю приложение на React Native (сам знаешь какое-это забаганое дерьмо) и там есть проблема с этим методом на мобилках. Поэтому пришлось изучать Base64 (Это было полезно кстати) и в итоге всё получилось, но появились проблемы с тем, что профиль весит несколько МБ + он грузится пару секунд. Облачное хранение звучит хорошо, но я никогда с ним не связывался.
>Все что у тебя есть на беке это текст в body запроса
Любой серверный фреймворк или библиотека работают с загрузками файлами нативно и отдают тебе именно файл/стрим, а не текст.
>Аватарка запрашивается с другими данными пользователя и не имеет самостоятельного смысла.
Ссылка на аватарку может запрашиваться вместе с другими данными. Если ты отдаешь целую аватарку в объекте пользователя в каком-нибудь base64 и заставляешь клиентов ее дрочить самостоятельно, то просто съеби.
>>61869
>Но, к сожалению, я разрабатываю приложение на React Native (сам знаешь какое-это забаганое дерьмо) и там есть проблема с этим методом на мобилках
Клиент может тебе отправлять файлы хоть в виде чиркашей на жопе, ты не обязан их в этом виде хранить. Ну и мне кажется это пиздеж, что react native не может в обычные multipart/файловые загрузки файлов.
Ясно ты очередная манька заучивная разные табу и не понимающая из области применения. Зачем тебе отдавать аватарки в базе64, отдавай ссылку на кортинку. Зачем в простом случае городить костыли с файловой системой? Знаем, плавали: проебался файл, зато осталась невалидная ссылка в БД.
>Зачем тебе отдавать аватарки в базе64, отдавай ссылку на кортинку
Так а зачем тебе отдавать файлы в json-объекте вместо ссылок на эти файлы? Забыл объяснить, только пукнул.
>Зачем в простом случае городить костыли с файловой системой
Костыли городишь именно ты, потому что используешь для хранения файлов не ФАЙЛОВУЮ СИСТЕМУ(почему она так названа, догадаешься?), а хуй знает что.
>проебался файл, зато осталась невалидная ссылка в БД.
Это проблемы лично твоего говнокода, который не чистит удаленные ссылки, где их надо чистить, а не проблемы файловой системы как таковой.
Если бы я мог автоматически заливать куда-то файлы, то я бы с радостью этим пользовался. Но я без понятия как можно программно загружать куда-то файлы и потом как-то алгоритм должен понять по какой именно ссылке этот файл выгружать. Вне моего опыта.
Это раздувает бд и снижает её эффективность, это не кешируется, это раздувает готовую страницу, что хуево для тебя и для юзера.
Это навскидку, думаю, есть ещё минусы.
Чтобы использовать файловую систему нужно обеспечить в коде ее нормальное использование, а не просто в бд пихать пути к файлам в папке публик
Вот и я говорю, если у тебя аватарки хранятся в месте с другими данными пользователя необязательно тащить файл в запрашиваемый джсон. Запрашивай аватарку по ссылке с id пользователя.
В самом простом виде: добавляешь в пользователя поле avatar_filename, туда пишешь случайную uuid строку и расширение загруженного файла, например 123e4567-e89b-12d3-a456-426655440000.jpg, сохраняешь сам файл в какой-нибудь папке вроде uploads/user_avatars/{avatar_filename}, и сервишь файлы из этой папки со своего сервера. В объекте пользователя отдаешь соответствующие ссылки. Все.
А данными БД не раздувается? Чел ты не видел гиговых xml
Это не не кешируется, а ты не знаешь как отдавать иншу о кэше, за тебя это сервер делает.
Он утверждает, что нужно использовать только их и их задрачивает. А я чет вообще не вдупляю как эти классы работают и написал бы всё просто на функциях.
Классы действительно так важны и их нужно задрачивать или не особо? Если да, то где можно подучить теорию и поупражняться?
Чел тебе менеджер че сказал? Там просто хттп метод дернуть..., а ты будешь проектировать сервис для удаления побитых ссылок в бд
Во-первых не написал("ну там проблемы" - ты ебанутый?), во-вторых с вероятностью 99% могу сказать, что ты что-то не так понял или не так сделал и на самом деле все работает.
Что в коде мгновенно детектит опуща в 2021:
this
class
var
let
function
Запомни это и обходи стороной чуханов
Грохнешь папку с аватарками
Место на диске закончится, а в бд запишется пошто на другой ноде
Джуну дадут задание исправить баг с обновлением аватарок
...
А еще метеорит упадет на диск с аватарками, а на диск с базой не упадет. Шизик блять.
Вопрос не о хранении любых файлов вообще?
Просто почему низя низя, грех грешно, велоцираптор сожрет
Чел блять, ты хочешь использовать для хранения файлов нестандартный костыльный способ вместо стандартного и обкатанного, ты и объясняй, чем он должен быть лучше.
Что происходит?
фронтопетух не палится
Ты молодец.
const a = (b) => c
Это ЕДИНСТВЕННЫЙ способ описывать логику, если ты не хуесос
Кто юзает классы тот дебил, очевидно
Поясняю для чушкарей, а то больно много визгов и непоняток с их стороны:
>this
Марание об эту херь это огромный рудимент а также мгновенный детектор неумехи-макаки
>class
Пиздует вслед за this и маня-ООП. Сейчас 2021, ФП всем ссыт на ебло
>var
Без комментариев. Правда дедам из 2012 похуй, ну и хуй с ними
>let
Переменная не должна переопределяться бля. Иммутабельность наше все, даже если мы и не можем полноценно достичь ее юзая const, но let лишний раз показывает, что прогер невежественен и туп
>function
Камон блять, уже давно есть божественные стрелочные функции
Только вот жс не хачкель
Это? А что тут читать, смотреть? Там просто наглядный курс, а тут что?
Он хуёво пошутил. https://learn.javascript.ru/ жуй, сам по нему учил. Но за практическую часть не скажу - практикой меня тогда на работе как раз параллельно грузили.
Нормально пояснил, сразу все вопросы отпали.
Ангуляродебил, ты? Как там иметь 80% бойлерплейта в кодовой базе? Читабельно, нравится? ООП блядь нахуй ебать
Именно поэтому ООП имеет смысл только в том, что прямо отражает реальный мир, то есть в геймдеве
Да, отличный курс. Недавно пошел на повышение, обязали изучить Минина, Хаудихо. Сам после хтмл-академии вкатился.
хаудихо друзья) сегодня я покажу вам ах####ый способ выучить жс за час))
Да не обязательно. Есть, например, у тебя видюшечка в ютубе. Легче представить его как объект у которого есть свойства "длительность", "наличие субтитров", и у которого есть состояния вроде "текущий момент воспроизведения", "воспроизведение/пауза", "вкл./выкл. субтитры" и методы, которые позволяют с этим состоянием оперировать. Легче воспринять то, что ты меняешь состояние видео с воспроизведения на паузу в ООП, чем получаешь новое воспроизводящееся видео или как там в ФП
https://youtu.be/T6Os27MKUCQ
Что за сервис?Зайди на этот сервис, может там есть вкладка "API", потом куришь доку по апи, и через fetch делаешь запросы на фронте, в таком случае никакая нода нинужна.
Ты идиот?Ну вот признайся, идиот?Тебе дали единственный полезный совет за все 224 js тредов: курсы хуета.Нет, не просто хуета, а ху-е-та.15к баксов за обучение, лол, ты бы еще сертификат iq купил бы.Сука, 2021 год, документации это уже не 10 томов книг, это легкие статейки с смехуечками и примерами, читай зачитайся, нет, не хочу, хочу 15к баксов за пересказ документации от индуса отдать.
Все что тебе нужно для вката: 1)https://learn.javascript.ru/
2)Любая дока фреймворка на выбор https://v3.ru.vuejs.org/ru/guide/introduction.html , https://ru.reactjs.org/docs/getting-started.html , https://angular.io/docs
3)Пишешь код на каждом из этапов в большом кол-ве.
Поздравляю, можешь сказать маме что ты программист.И хрюшке тоже.
>вы просто боитесь конкурента, причем годного
Смотри:
packtpub.com - тратишь $1к, покупаешь подписку на 10 лет.
Читаешь. Оставшиеся $14к тратишь на ноут авиабилеты до бали, там целый год живёшь как боженька, фрилансишь.
Считай, я тебе $14к сэкономил.
>Все что тебе нужно для вката:
>1)
>2)
>3)
А как же typescript? И всякие вебпаки, стейт-менеджеры? А ещё ты только учебник js и доки фреймворков запостил, а как же вёрстка? А как же паттерны проектирования?
А как же знание Paint, Word и Excel?
Я сам разобрался с этим. Следующий вопрос: когда один пользователь состоит во многих группах (например в вк), но каждая группа может иметь в подписчиках каждого пользователя только 1 раз. Со стороны группы это one-to-many отношение? А со стороны пользователя many-to-one?
Да
Смержить дев в фичу и пушить с мерж реквестом в дев
Я так делаю и мне нравится, позволяет избегать конфликтов
Какая разница, делай все в монге и не еби мозг себе, ты тут в первый раз?
А вообще зависит от того что является главной сущностью
В случае ВК это юзер, значит все делается относительно него
Анонычи, а есть какая-то книга или видео курс по JS для скажем Java разрабов, ну вообще похуй, можно и с питона, Шарпа, Плюсов, я уже в универе насортировал массовичиков и мне не надо объяснять что такое функция, мне б как-то побыстрее , есть варианты для таких как я? Хочу освоить JS а так же ноду и что-то для фронта(чтоб не стыдно было епт)
Возьми какой-нибудь олдовый учебник по JS, чтобы вдуплить в прототипное наследование, потом кури официальные доки ангуляра или реакта, смотря что тебе ближе.
Many-to-many же.
В каждой группе может состоять много юзеров.
Каждый юзер может состоять в множестве групп.
Потому что всех ЗАЕБАЛИ миллиарды фреймворков на каждый пук, фронтендеры повзрослели, хочется стабильности как в других областях, где есть 3 хороших, поддерживаемых, разных фреймворка с большой юзербазой, из которых надо выбирать
>с большой юзербазой, из которых надо выбирать
У одних мощный комьюнити девелопмент от двух гигантских корпораций, у третьего мощный коммьюнити девелопмент от дядюшки ляо. К тому же вью на первых этапах был нагло спизжен с рактива, который, в свою очередь, был предшественником свелт от того же автора. Создаётся впечателние, что не рынок решает какой инструмент ему лучше использовать, а крупные игроки рынка говорят девелоперам что им нужно использовать, чтобы не оказаться на свалке, как какой-нибудь коммон или бэкбон.
>какой-нибудь коммон или бэкбон
Я писал на бэкбоне, когда ещё первый ангуляр не завезли, и это была боль.
— Ты функциональщик! - прокричал Сергей на весь оупен-спейс-рум номер 14. Комната притихла в ожидании развязки. — Я видел, как ты вчера вечером каррировал и декаррировал прямо за рабочим компьютером!
Неодобрительный ропот и возгласы удивления прокатились по комнате. Кто-то громким шепотом сказал “какой ужас, а я с ним за руку здоровался”. — Знаешь что, Сергей, — сказал Денис, вставая из-за рабочего стола, — любой нормальный мужчина, если у него всё в порядке, может позволить себе позаниматься функциональным программированием. Это естественно. Каждый хотя бы раз, да пробовал. Зачем только об этом кричать на всю комнату? Я же не кричу, что ты объектно-ориентированный! Девушки захихикали, кто-то снова громко пробормотал “ну надо же, а по нему и не скажешь”.
Присутствовавший при этом Игорь Матвеевич сильнее вжался в кресло. Только бы никто не узнал про его процедурные наклонности!
Хау ту центер э див вертикалли он интернет эксплорер 8.
Решил понюхать TS, но vuex нихуя не работает... Проблема на 4 пике.
Короче пики 1-2 сгенерировал quasar. 3 пик спиздил, но он все равно не работает, и так и по-нормальному без доп. интерфейса.
На 2 пике кста если в модуль заходить тоже не видит геттеров.
В гугле совсем пусто... Короче как сделать чтобы работало?
Готовишься к собеседованию в яндекс?
Вуе тоже может быть для работы, зависит от региона, но овералл скорее да, чем нет. В своём мухосранске я заметил, что челов с задроченным вью ищут плюс-минус столько же, сколько и челов на реакте. ЗП тоже не отличается.
Это победа или я обосрался?
Ты себе взял? Ну норм раба урвал.
Если нельзя, то как обычно поступают? Никто же не заводит цвета и какие-то общие вещи каждый раз в каждом компоненте, очевидно.
Ну так ты погугли
./_globals.scss
$bgColorMain: red;
$bgColorHeader: green;
./something.scss
@import "globals"
.header {
background-color: $bgColorHeader;
}
А если просто гуглить вопросы уровня "how to define functions in js" ? Так ты сразу попадаешь на mdn, там же идешь по смежным ссылкам про scoupe и т.д.
— Да что тут думать?.. А то пишут, пишут... фруймворки, библиотеки какие-то... Голова пухнет. Взять всё, да и поделить...
База
точнее даже не так, я прокидываю как строку sortType, а затем делаю запрос к обьекту
dispatch(sortActions[sortType])
и там в обьекте
export const = {
name: {type: 'SORT_BY_NAME'},
lastName: {type: 'SORT_BY_LASTNAME'}
}
Резонный ответ, однако, понятно функция массовчик хуивчик , до этого можно догадаться. Однако, есть же много того, о чем я не знаю, например откуда до JS я должен знать про промиисы ? Получается такая ситуация как в Гарри Поттере, : "Если не спросить - никогда не узнаешь, если знаешь, нужно лишь спросить"
Я и спрашиваю. Почему классы в js работают как структуры?
приведите пример я не понимайт
>откуда до JS я должен знать про промиисы ?
Promise и Future - довольно известные паттерны. Если ты о них не слышал до знакомства с жс, можно сказать, что ты свой изначальный язык толком-то и не знаешь. А значит надо хуярить жс с самого начала.
>откуда до JS я должен знать про промиисы
Из википедии, например. Как и овсех остальных концепциях, приемах, методолгиях, паттернов в программировании.
Вы почему никто не читаете википедию? Почему не ходите по смежным ссылкам от статьи к статье? Потому что вам это нихуя не интересно.
А как ещё это можно сделать? Ну заведи enum с типами сортировки и вынесы экшены из своего сраного объекта просто в разные экшен креаторы, будет чуть чуть читабельнее
learn.javascript.ru
Всякие статьи типа "что такое массив" просматриваешь побыстрее, чисто с синтаксисом ознакомиться, на незнакомые концепции обращаешь более пристальное внимание.
И еще например описано это так, что у REST нет сеанса. Не совсем опять же понимаю, что это означает.
Да я на самом деле просто так спизданул первое, что в голову пришло, я JS плохо знаю. Лучше ты расскажи, почему не нужна.
Как будто функциональные языки как-то исключают объектно-ориентированный подход, лол. ООП можно даже на лишпе делать.
Затем, что этот ваш язык с функциями наебка для дурачков которые верят, что фн-стайл можно решить все вопросы и не париться.
Всю дорогу ору как JS макаки судорожно переизобретают ООП потому, что фн-стайл на самом деле более ебаный и не тянет.
var все ломает, сделаем let и const
ой, нам ВДРУГ понадобились модификаторы доступа, а их нет. Ой придумает ДЕКОРАТОР на поле
В следующей версии языка вон уже static обещают, а всё равно найдется ЖэЕс шизик который рассказывает что ооп нинужна
Бля да они просто тупые, я тебе искренне говорю. Я решил в жс вкатиться после нескольких лет на дотнете и просто угораю с этих макакенов нон стоп.
ООП нинужна, мы не хотип писать классы с полями и все это.
А то что у них функции по сути инстансы класса обжект с полями их нисколечко не смущает.
Вместо
let govno = new Govno();
они лепят let govno = BuildGovno() с переменками внутри, ведь у них есть ЗАМЫКАНИЯ.
А что замыкание по сути ссылка на ОБЬЕКТ контеста обезьяны не понимают.
Но ООП им нинужно, да...
Бля да они просто тупые, я тебе искренне говорю. Я решил в жс вкатиться после нескольких лет на дотнете и просто угораю с этих макакенов нон стоп.
ООП нинужна, мы не хотип писать классы с полями и все это.
А то что у них функции по сути инстансы класса обжект с полями их нисколечко не смущает.
Вместо
let govno = new Govno();
они лепят let govno = BuildGovno() с переменками внутри, ведь у них есть ЗАМЫКАНИЯ.
А что замыкание по сути ссылка на ОБЬЕКТ контеста обезьяны не понимают.
Но ООП им нинужно, да...
Совсем вкратце, это когда ты пишешь АПИ с использованием ХТТП глаголов используя их семантическую нагрузку.
Типа ГЕТ это только для получения данных, а ДЕЛЕТЕ для удаления.
А создаешь ты типа только ПОСТом.
На самом деле всю дорогу просиходит
this.httpClient.post(deleteSomeShitUrl, payload)
ровно также как
this.httpClient.post(getSomeShitByFilter, filter) тому що писать квери в строку гета довольно ебано, а пейлод в гет еще не добавили...
У меня тут отдельный багор с реактомразей.
Им там в функциональном реакте настолько опп нинужно, что они придумали хук useState где хранят обьект состояния и функцию его обновления.
В этом есть глубокая ирония, потому, что писать истинно фунционально ( стейтлес приладу на паттерне с потоками данных ,например на обсерваблах) у 99% реакт макак ума не хватает но зато хватать новый реакт ПАТАМУШТА ОН ФУНКИОНАЛЬНЫЙ это у них милое дело.
Хуки хватают не потому что дохуя функционально, а потому что требования в вакансиях + сам реакт в документации новые проекты рекомендует на хуках пилить. Макакам похуй на чем писать, главное чтоб работало и чтоб за это платили.
Так о том и речь.
Просто реактомакаки хватаются за реакт ПАТУМУШТА ПРОСТА И НЕОПИНИЭЙТЫД, а потом начинают обвешивать его сторонней хуйней чтоб хоть както работало, и приходят к такой же навороченной хурме как ангуляр из коробки.
Только ангуляр из коробки единая экосистема с вменяемыми людьми у руля, а реакт - чортов зоопарк.
Семён, плиз, твое маняООП давно признали легасиговном, я уже не говорю о бесполезности наследования и инкостыляции
Ты серьезно считаешь что если я использую ОБЪЕКТ ЗАМЫКАНИЯ, то я использую твое маняООП? То есть ООП это когда в языке есть блядь объекты?
Ты совсем ебнулся в своем проперженом офисе, СВИТЧЕР ебаный из дотнета?
Дебил ебаный, ты сначала узнай, что такое ООП и что его отличает от не-ООП, а то по-моему у тебя в твоей пустой башке просто звенят три баззворда и три буквы и ты на них триггеришься по условному рефлексу без малейшего понимания. В принципе, стандартный шизик-жопоскриптер, возомнивший себя функцианальщиком, потому что функции костылит, но на деле ни одной строчки функционального кода в своей жизни не написавший.
мимо
>>62913
>>62914
>>62915
>>62916
>>62918
>>62921
>>62939
>>62943
Семён, плиз
Съеби в свой загон или можешь пойти с джавистами в свои древние жопы поебаться, я тебя ИНКАПСУЛИРУЮ отсюда нахуй, как обычно поступают с легаси говном на ООП, чтобы не смотреть на него слишком часто
Тебе как в университете в 2004 сказали что ооп заебись так ты и не развивался с тех пор
Самое смешное, что дотнет это копия жабы, а сам автор ООП признал их реализацию ооп хуетой
Ало говноед, это не я тут 10 постов насеменил, а ты
Пиздуй поддерживай свое энтерпрайз говно за 50к, пока я буду незашоренным умом и взглядом продумывать простую и расширяемую архитектуру на РЕАКТЕ с ХУКАМИ и ЧИСТЫМИ ФУНКЦИЯМИ, без маняООП, ведь у меня нет синдрома утёнка и я могу в мыслительный процесс
Дурачок, твои триггеры на вещи, которых ты даже в базовом виде не понимаешь, смешат весь тред уже в какой раз. Для начала попробуй хотя бы для себя определить, что такое ООП, а потом разбирайся со своими претензиями к нему, пока только выставляешь себя агрессивным религиозным дебилом-догматиком и позоришься.
>постит 10 постов, разговаривает сам с собой какое жс говно и разрабы дауны, а вот в шарпе... в шарпе ооп, и вы так делайте я скозал потому что в дотнете так! ынтырпрайз стондарты!
>называет кого то религиозным догматиком
Платина
С кем разговариваешь, шиз? Я сейчас зашел в тред, увидел очередного религиозного жс-дурачка(тебя), который истерит по поводу ООП, и из "аргументов" предоставляет только любимое жс-дурачкми "да это старое, да все знают что говно, да всем понятно" и дальше переходит на натуральную желчь и истерику, и пописал ему(тебе) в рот, указав на это. Все.
>сам автор ООП признал их реализацию ооп хуетой
Алан Кей ничего не говорил про джаву или шарп. Он говорил про плюсы, что они не ООП.
Мань, тут тебе минимум 3 человека пишут что ты клоун.
>ХУКИ
>ЧИСТЫЕ ФУНКЦИИ
Как перестать орать?
>Пиздуй поддерживай свое энтерпрайз говно за 50к
Фулстак мидл .нет + нагуляр в мск это примерно 250к на руки ...
Хуки позволяют делать композицию, хоть они и не чистые функции, зато удобно, а это главное
Ооп - никогда не было удобным и требует 50% бойлерплейта
Ты большую часть времени тратишь на абсолютно бесполезный код, который ничего не делает, тебе там за написанные строчки платят?
Ну ниче, когда тебя выпизднут с единственной существующей вакансии дотнет ангуляр за производства неподдерживаемого говнокода, как милый пойдешь хуки использовать, или игры три в ряд клепать на юнити
Выбирай что больше нравится
И да, 3 твоих личности в твоей шизанутой голове не могут считаться тремя постерами, сема
> я уже не говорю о бесполезности наследования и инкостыляции
Не подскажешь, почему все пишут на TypeScript тогда?
А не на ванилле
Потому что типизировать можно что угодно и это удобно
Те же аргументы функций, их результат и т д
Интеллисенс пиздатый ещё
И enum удобные
>И да, 3 твоих личности в твоей шизанутой голове не могут считаться тремя постерами, сема
А если у меня в памяти висит 3 логгер сервиса или 3 хттп клиента, они тоже не считаются за 3 разных сервиса? Пиздец ты тупой, впрочем именно поэтому я здесь.
Дотнет, скажу честно, для меня слишком сложен. Я там просто средней руки разраб. А в окружении дебесов типа тебя я чортов гений...
>Интеллисенс пиздатый ещё
Ох, кажется в твоей тупой башке начинаются позитивные сдвиги.
А ответь еще на два вопроса, прежде всего для самого себя.
Вот чтоб твой пездатый интеллисенс работал что нужно?
Какие ДВА механизма тебе нужны чтоб показать что-то от типа/интерфейса и НЕ показать то что ты не хочешь? мм?
Ты уже не отрицаешь что семенил
Ты не отрицаешь свою шизу
Молодец, принятие - путь к успеху
Конечно гений, только галоперидола ебни, ещё гениальней станешь, и все будут юзать ООП во всех языках, даже в хаскеле, только не сопротивляйся и глотай
>Потому что типизировать можно что угодно и это удобно
>не может распарсить жсон в типизированный объект без тонны бойлерплейта
>Какие ДВА механизма тебе нужны чтоб показать что-то от типа/интерфейса и НЕ показать то что ты не хочешь? мм?
Ты на простой вопрос ответить в состоянии?
Мне поебать совершенно на реализацию утилитарных фич иде, пусть хоть абстрактные фабрики залуп используют, главное чтобы работало
А свой код я пишу так как хочу я, а я хочу придерживаться функционального стиля и иммутабельности, где это возможно
Мне не нужен ни один из этих механизмов
Они нужны разрабам иде, а я не разраб иде
И только в таких специфических ситуациях твои два блядских механизма имеют смысл
Вы же суете их вообще везде, у вас же кнопка это объект, пральна? И вообще все объект, и все надо наследовать, да? А вот хуй тебе
>Они нужны разрабам иде, а я не разраб иде
Да судя по твоим ответам ты не разраб, а обезьяна.
Яб тебя даже джуном не взял, потому, что джун должен быть открытым к новому, и хотеть учиться.
А ты промытая религией макака.
>Вы же суете их вообще везде, у вас же кнопка это объект, пральна?
Напомни, бай зе вей, как там расшифровывается DOM и JSON.
Кнопке текст или хендлер клика ты как определишь, дружочек?
Я тебе уже отвечал, кто тут религией промыт
К себе на реакт тебя точно не возьму, будешь три в ряд на юнити клепать, по всем паттернам
И как я понял ты конструктивно ничего не можешь аргументировать, перешел на обычные оскорбления
Так что буду вести с тобой диалог на твоём языке, сема
>пук среньк
Или можно попробовать?
React. ДС1.
Меня не ебет и ебать не должно, ИНКАПСУЛЯЦИЯ ЖЕ, вставлю в JSX и реакт сделает все сам
А доебы до жсона это вообще пиздец, на уровне
>если в языке есть объекты то в языке есть ООП и надо его юзать!!!
Расшифруй мне yaml, много полезного в расшифровке будет?
Снова нужно внутривенное пояснение касательно typeorm и sql-бд.
Вот у меня есть отношение one-to-many между пользователем и постом. Когда я его делаю, я ссылаюсь в посте на поле user.posts, а не user.id. И в пользователе на posts.author, а не id. Почему так? Typeorm при запросе сам айдишки в "выходную таблицу ю" проставит? Достаточно указать отнишения между сущностями и полями?
>я ссылаюсь в посте на поле user.posts, а не user.id.
Мимо-архитектор-бд
Почему так, а не наоборот? Вы там нормальные?
Надо делать в общем случае
entities.ownerId --> owners.id и не в коем случае не наоборот.
Если конечно мы говорим о реляционной бд, а не файлопомойке типа монго.
Аноны поясните это такой троллинг? Ты же не можешь все держать в window? Это вроде объект не для всего подряд.
всмысле не развился? я на твоем сайте админом себя назначу и накидаю тебе хуйцов негритянских прямо на дне проверке
куда там развиваться? обратно в функциональную мартыху что-ли?
Вот мои js и дто надо чтобы объект создался джексоном. Сейчас все падает, т.к. скорее всего не может десериализоваться вот эта конструкция
let role = {};
let setRoles = new Set();
первый массив создается в него кладутся роли, вторая шняга тоже создается, но в json-e нет Set, поэтому она не может сконвертироваться.
Тебе никто не запрещает держать все в window, но это некрасиво и тупо
Хокку про советы с двачей знаешь?
Зашёл ты на двач,
Хочешь советов мудрых.
Сосни ка хуйца
>JSON.stringify[setRoles]
Ты скобки куда проебал? И я тебе написал ведь блядь, конвертируй сет в массив и пересылай сериализованный массив, на бэке обратно сделаешь из него сет
Создаёшь сет
const setRoles = new Set()
...
Добавляешь в сет свое говно
...
Сериализуешь
const jsonSetRoles = JSON.stringify([...setRoles])
Все нахуй ебать
JSON.stringify([...SetZalup]) эта конструкция вот так в алерте выглядит.
Не вижу такой конструкции в твоём коде
Вижу только проебанные скобки и отсутствие ... (спред оператор)
Да, речь идет о реляционной бд. Но во всех гайдах и мануалах ссылаются именно на стороннюю колонку, а не на колонку с id, хотя так логичнее. Почему так нахуй?
Ну ты не видишь что у тебя в 400 не совпали типы? Я хуй знает, можно ли в жаве нормально создавать сеты из массивов, если нельзя, накостыляй чего то
То есть ты когда парсишь сериализованный сет, который привел к массиву на клиенте, ты и получаешь обратно массив
После парсинга результат приведи к сету и используй полученный сет
В жсоне сеты не передаются, поэтому вместо него ты передаешь то, из чего можно собрать сет на бэкенде, то есть простой массив, так понятнее? Вот и собирай блять
Заметил что ты вообще не парсишь жсон
Так вот, жсон сам по себе это строка и ее блядь надо парсить, чтобы получить что то
Пиздец, тебе в жава треде ниче не сказали чтоли? Почему я в этом должен разбираться
>Почему я в этом должен разбираться
Больше некому, джависты сказали что они бессильны, это слишком сложно. Как парсят джсон? И какую сторону ты имеешь ввиду?
В общем если ты джаву совсем не знаешь (а ты не знаешь) и так сильно хочешь быть фулстеком, перекатывайся в ноду
Спроси у своих бекендеров контракт.
Сделай на своей стороне объект соответствующий контракту.
Засылай с фронта на бэк соответствующим методом.
Const payload = MapShitDto(data)
Ну или payload = new ShitDto(data)
Ну и потом
..this.someHttpClient.post(processShitUrl, JSON.stringify(payload))
Пиздец, это ж азы...
Спроси у своих бекендеров контракт.
Сделай на своей стороне объект соответствующий контракту.
Засылай с фронта на бэк соответствующим методом.
Const payload = MapShitDto(data)
Ну или payload = new ShitDto(data)
Ну и потом
..this.someHttpClient.post(processShitUrl, JSON.stringify(payload))
Пиздец, это ж азы...
Либо ты что-то не так понял либо ты неправильно поясняешь.
Если у тебя связь один-ко-многим то многие должны ссылаться на одного. Это, дружочек, называется "нормализации"
Прям рекомендую посмотреть что такое "нормальные формы бд" с 1й по 5ю. Дальше вряд-ли пригодиться в реальной жизни.
У меня в основном так и есть, просто здесь из-за того что одна кнопка для 3 действий так получилось, хотя я так и не понял как мне 3 actionа на одну кнопку навесить
неправильно выразился, 3 экшена на 1 компоненту кнопки, которая для 3 кнопок существует
<SortButton onClick={() => dispatch(toggleColumnSort({ column: 'biba' }))} />
<SortButton onClick={() => dispatch(toggleColumnSort({ column: 'boba' }))} />
Потому, что ты JS макака без фундаментального образования, как бОльшая часть JS макак.
Но это не беда, раз ты хочешь развиваться.
>в функции можно передавать аргументы!
>у меня есть профильная вышка и без нее это сакральное тайное волшебное знание элит недоступно!
Прикол в том что в другой компоненте я так и сделал, а здесь зачем-то динамический тип добавил, видимо выпендриться решил, а теперь с тайпскриптом мучаюсь для этого решения прекрасного
kek я распостранил эту ересь про window потому что спросил препода на лекции об этом. Теперь человек 20 будут так делать.
Веду переписку на двачеке
Пиздуй из говноаутсорса в божественную продуктовую компанию и не еби мозг себе лол нахуй ебать
>Какой же пиздец эти подготовки к собесам
3 недели подряд готовлюсь к собесам и это правда пиздец.
Учитывая что все понимают, что то что на собесах обсуждается нахуй не сдалось держать в голове потому, что есть справочники.
Дело говоришь, хуячить на аутсорсеров себя не любить.
Матан так сдавал. Инфы было так много что приходилось придумывать механизмы архивации чтобы удержать.
Удаленка для джуна - это хуево? Или миф?
Как вы считаете должен ли front разработчик охуенно верстать?
На что? На null? Тогда ругаться не будет, как и на строки и числа. Попробуй false/true или объект вернуть, увидишь ошибку
А не, вру, на строки и числа тоже будет ругаться, это ReactNode не такой прихотливый
А сможет ли верстальщик так верстать компоненты, чтоб за ним не переделывать/доделывать? Верстальщик ведь может не знать всех этих typescript'ов и серверных рендерингов. При этом компоненты желательно иметь на typescript'е и сделать так, что при серверном рендеринге косяков не было.
В моем понямире верстальщик даёт тебе таблицу стилей и гаедлайн что как верстать в фигме. Соответственно ты как колер просто копипастишь стили с фигмы ив сё крутится как надо.
Так блэт, сравнение двух массивов например будет давать false если они не ссылаются на один и тот же массив
А как тогда проверить равенство двух массивов? Итерироваться по ним что ле? А равенство 2х произвольных объектов?
Ну сходу итерировать тупо, например если массивы разной длины то очевидно разные.
С объектом тащемта тоже самое. Совсем в лоб, можно сериализовать и сравнить джейсоны или их хеши.
Правда в жс я хз полностью ли объект сериализуеься или нет.
Короч такие задачи надо решать итерационно.
Это специальный сервер для ошибок с клиента, очевидно же
А как разработчики узнают, что в клиентском коде баг? Что цель не выполняется.
>А если на клиенте случилась ошибка, то как известить сервер?
НИКАК БЛЯТЬ НЕ ИЗВЕСТИТЬ!
Нахуй изобретать велосипеды? Есть готовые сука сервисы, просто бери блять и используй! Или вы тут все нищие сидите? Лишних 4-8 долларов нету?
https://raygun.com/
https://sentry.io
https://logrocket.com/
https://rollbar.com/
https://www.appsignal.com/
https://airbrake.io/
https://firebase.google.com/products/crashlytics
https://www.datadoghq.com/
Мегатонны злоебучей ненависти.
onerror
Скажу так, что лучше все таки прокачивать верстку. По сути надо просто нон стопом поверстать месяцок, набить шишки и все. Просто скучно оно, да.
Ну я как бы не джун, у меня 7 лет опыта в JS, просто раньше всегда имелся отдельный верстальщик.
А ещё я рисую не очень, т.к. в проектах всегда имелся отдельный художник.
Вообще это не прям так обязательно, но очень во многих конторах умение верстать это само собой разумеющееся, а верстальщиков как таковых нет, все делает фронтентер. Или некоторые настолько объебались, что ищут верстальщиков с парой лет опыта разработки на реакте со всем остальным багажом технологий.
Ты понимаешь, что это работать не будет, если ключи двух объектов/элементы массивов не будут одинаково чередоваться?
>как тогда проверить равенство двух массивов
По своему опыту скажу, что в нормальном коде такой задачи возникнуть не может. Что вообще такое "равенство массивов"? Чтобы у них были одни и те же элементы в одном и том же порядке? А если внутри сравниваемых массивов есть пара идентичных по структуре объектов, которые ссылаются на разные экземпляры Object? Такие массивы будут "равны"?
Короче, сам вопрос уже попахивает быдлкодом.
Wait! What's illegal
С массивами то ясен хуй разные. Это лишняя конкретика. Ты с объектами проебёшься, если ключи в разном порядке будут
бля, какая же мелкая капчав дашчане
Для массивов лодаш, для объектов внутри них должны быть уникальные id, если ты хочешь их сравнивать, вот и сравнивай по ним
Ну или итерируйся, но порядок свойств в объекте не гарантирован, поэтому придется по очереди сравнивать каждое свойство
>Это лишняя конкретика.
Да нет, это условие поставлено говённо.
>Ты с объектами проебёшься, если ключи в разном порядке будут
У объектов нет "порядка" ключей, наркоман.
Показывай свою спеку, у которой в словарях упорядоченные ключи.
Гарантирован. ПО спеке. Уже три года как. Вот принятый пропзал еще в 2019 году https://github.com/tc39/proposal-for-in-order
https://tc39.es/proposal-for-in-order/
>>63795
Вам и перезвоним, да
const obj = { '2': 'integer: 2', 'foo': 'string: foo', '01': 'string: 01', 1: 'integer: 1', [Symbol('first')]: 'symbol: first' };
При for in выведется не по порядку, значит твой пропосал работает не очевидно, выводя сначала числа, потом строки, потом символы
Значит ты не прав и на это полагаться все так же хуевая затея, да и не нужно это было никогда
Ничего там не приняли
> The mechanics and order of enumerating the properties is not specified
https://262.ecma-international.org/12.0/#sec-enumerate-object-properties
В спеке так и написано, мань. Что сначала выводятся все числовые ключи, которые соответсвуют диапазону uint32 (от 0 до 0xFFFFFFFF) по возрастанию, потом выводятся не числовые ключи, в порядке добавления.
Я понял, что ты тупой.
Так браузеры реализовали это дело или нет, спекодрочер? По спеке ты можешь и дилды из браузера запускать, но что-то вендор с самой подходящей ЦА так и не добавил этот механизм.
Ну вот запоминай, пока я запоминаю фичи из новых фреймворков и инструментов и принципы архитектуры и систем дизайна
Возьму тебя стажёром потом, уговорил
Реализовали, долбоеб. Уже давным давно. Еще до спеки.
В браузера у всех объектов есть hidden classes, для jit. И эти скрытые классы опираются в том числе на порядок ключей.
У объектов {a: 1, b: 2} и {b: 2, a: 1} разные скрытые классы.
Под порядком имеется ввиду точный порядок в котором пропсы создавались. У мапов и сетов по спеке такой есть, у объектов - нет, даже наоборот из того что ты скинул следует, что порядок вставки будет нарушаться. Если по очереди навставляет строковых/символьных пропсов, то сначала проитерирует по строковым, потом по символьным.
Под порядком имеется ввиду, ПОРЯДОК, явно описанный, шиз.
Ты понимаешь разницу между - в порядке возрастания, в порядке убывания, в хронологическом порядке, в алфавитном порядке, или нет, блядь?
В спеке явно описан порядко - сначала все числовые ключи которые соответсвуют индексам массива (беззнаковое 32 биттное целое) по возрастания. Потом все отсальные строковые ключи в ронологическом порядке, потом символы в хронологическом поряке.
Это ГАРАНТИРОВАННО ОПИСАННЫЙ ПОРЯДОК.
А ты виляй жопой дальше.
>В браузера у всех объектов есть hidden classes, для jit.
В твоём спекомирке спека даже жыты описывает?
>И эти скрытые классы опираются в том числе на порядок ключей.
>У объектов {a: 1, b: 2} и {b: 2, a: 1} разные скрытые классы.
Молодец, назвал реализацию V8, но какое это имеет отношение к словарям и не гарантированным порядком ключей в них? По твоей логике перечисленные объекты - разные. Зато гарантированный порядок, да.
Разумеется разные. Ты мудак? В них ключи в разном порядке.
>Молодец, назвал реализацию V8
В JavaScriptCore и в SpiderMonkey тоже есть скрытые классы у объектов.
Пиздуй учиться.
JSON шлёт нахуй все значения с undefined, держу в курсе, чел пчел. Опять же, ты в один объект может добавить метод, а в другой не добавить, и они будут равны. Особенно хорошо ты обосрешься с геттерами и сеттерами
Ну если уж на то пошло, объекты с цикличной структурой ты таким образом даже преобразовать в строку не сможешь
Зачем нужен порядок свойств объектов? Почему объекты с одинаковыми свойствами должны быть разными только из за разного порядка? Ты долбоеб? Они одинаковые и должны быть одинаковыми, иначе нелогично, для упорядоченных данных существуют массивы
Вот когда решите что такое "одинаковое" тогда и спорьте за реализацию. Я к примеру без проблем могу придумать кейс когда
{ state: 'huy' , name: 'op'} и {name:'op', state:'huy'} вполне себе равны.
>>63882
>Зачем нужен порядок свойств объектов?
Я не он, но можно предположить что "одинаковыми" ты можешь считать об'екты только порожденные конкретным механизмом. И типа архитектор настолько тупой был, что это никак не отследить. И ты единственное что точно знаешь, что из одного клиента приходят поля А Б В а из другого Б В А но это прям ппц ебанина.
Так-то ты прав
Я уже все определил
Равные ключи соответствуют равным свойствам, количество ключей совпадает, каждый ключ из одного объекта есть в другом - значит равны, все
Вапросы???
> { state: 'huy' , name: 'op'} и {name:'op', state:'huy'} вполне себе равны.
Да, вот только какой-то дурачок сверху хотел подобные вещи пропустить через JSON.stringify (по факту оборачивание в строку), сравнить и получить результат true, вместо false. Для подобных случаев нужен итерационный метод сравнения ключ-значений объекта.
Стрингифай работает не как просто оборачивание в строку, но все равно метод говно
И перекатите тред уже блять
Как я писал, для подобного в лодаше уже есть из эквал (а в нормальных языках есть методы расширения там где это применимо, и нет этих методово там где сравнивтаь нельщя)
Как я писал, для подобного в лодаше уже есть из эквал (а в нормальных языках есть методы расширения там где это применимо, и нет этих методов там где сравнивать нельзя)
Компонент это существительное мужского рода, самурай ебаный
Ты понимаешь что тебя по блядь словам в интернете вычислить можно за секунду?
о, я уже так ошибался, кстати, это, наверное, ты меня и ругал, но я так и не научился про компонент писать правильно. А почему самурай?
Это был не я
https://www.youtube.com/watch?v=UMw_hbNMIAA
Видеорил курсы самураев, кринжово немножко
Ну вот оттуда ты и стал называть компонент компонентой
+number.toFixed(2)
Так можно делать всегда?
ПЕРЕКОТ >>2164004 (OP)
ПЕРЕКОТ >>2164004 (OP)
ПЕРЕКОТ >>2164004 (OP)
ПЕРЕКОТ >>2164004 (OP)
Это хоть кто-то не гуглил?
>всегда имелся отдельный верстальщик
А что делал отдельный верстальщик? Он прямо на типизированном js верстал компоненты под фреймворки? Или как выше было написано просто делал таблицу стилей в figma?
Норм компания такое не предложит, тк это нарушение ТК и потенциальное очень крупные штрафы и проблемы + репутационный риск
Это копия, сохраненная 1 февраля 2022 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.