Это копия, сохраненная 8 июня 2023 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Больше пары строк кода в посте или на скриншоте ведут в ад.
Для программирования на HTML https://codesandbox.io
Для Node.js с консолькой https://repl.it/languages/nodejs
Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если/когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
> Со временем сам научишься так делать.
Но я за годы не научился, аж 3 года работаю, но не научился. Сейчас буду собеседоваться и уничтожаться на собесах и если у меня не получится сменить работу на более денежную, то выпиливаюст, что-то не задалось у меня, не моё...
>>2647994 →
> надо понять принцип создания массивов и преобразования обьёктов к строке
Сейчас погляжу, что там. За 3 года что-то не поглядел, пиздос, теперь за мелкий прайс работаю.
> Это не забудется если ты не даун
Возможно, я даун...
Не, это кринж
Версель же вроде умеет серверный код гонять, да? Там правда ограничение в 10сек. Или он гоняет только статику?
Есть какие то более честные раннеры как реплит но которые запускаются хотя бы почти сразу, я готов на ограничение серверного кода типа не больше 3 сек на ответ от сервера. Или можно как то хероку наебать на фри лицуху?
кринж, но хрюшкам ли не похуй ?
они не будут смотреть че там, увидят и заебись, передадут техлиду, а тот уже чекнет твой реплит
Только сегодня смотрел, что там есть. Посмотри Glitch.io, может подойдёт.
Самое лучшее это когда прямо задеплоенная ссылка, без всяких видео
Скриншоты, видео это все слишком палит вкатуна, типа вопрос а что, не мог задеплоить?
Впску купи просто и хости там все что хочешь.
А что если поднять сервак временно со своего домашнего компа? Просто не выключать его когда будешь идти на собес. Офк без доменного имени, просто голая айпишная ссылка http://92.32.162.62 какая-нибудь.
Да, можно. Юзай ngrok
Не ну ясен хуй, я сравнил просто с теми работами что есть вообще, а то вы пишите про зп от 100к я сразу вспомнил видео с Эдином Россом
https://www.youtube.com/watch?v=tmKGZaIx7DE
Да, это работает но я не хочу его держать 24/7 только из ха хрюши. Я так продержу зря 30 дней когда никто не посмотрит например. Не варик
https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight
Моя не понимать, а нафига там в функцию, как в свойство, засовывают хтмл элемент?
function checkReading().....
.....checkReading.noticeBox = document.createElement("span")......
В этом есть какой-то смысл?
Ну я имею в виду, что тот же результат можно получить более обычным путём без засовывания в функцию.
А вот конкретно в таком подходе есть какой-то смысл?
Смысл такой же как если бы ты создал глобальную переменную рядом с функцией. Это очень древнючий код, ему наверное лет десять, если не больше. Сейчас так никто не пишет.
Деды-перды наворотили, а ты разгребай!
Это htmlacademy.ru. Я уже разобрался, что там ещё подключён файл setting.css, который нигде не отображается и невозможно посмотреть, что в нём. Дебилы, блять.
Ну и говнокодище
В палату мер и весов
Прям типичное легаси
Нихуя не понятно, еще и невнятные неявные приведения к 0 и 1, я чуть не блеванул
rules.onscroll = () =>
rules.scrollTop + rules.clientHeight === rules.scrollHeight &&
agree.removeAttribute("disabled");
Вот правильное решение
Если надо мгновенную иницализацию бд, делай провайдера. Экспорт сработает только когда сработает импорт, это очень непрочный способ. Замучаешься потом понимать что и как. Никогда не инициализируй основываясь на импортах, я так уже на грабли наступил с файрбейсом.
По моему опыту в вузе сидят старые пердуны и алкаши, которые просто зарплатку получают, не учат нихуя
Импорт это самый простой и четкий способ. Импортировать надо в начале файла, а не внутри условий и функций. Если подключение нигде не импортируется то оно и не нужно, как бы очевидно. В несте в нутрь провайдера пихают чтобы БД было доступно через DI.
А блядь прочитал нест вместо некст. Понаделают одинаковых названий.
Я тебе привел дефолтный пример. Если у тебя есть требования на вcю ту логику, которую ты описал - тогда, конечно, нужно делать. Если нет - пойди по самому простому пути.
Ну вот тебе пример что учат на вышке. Выдержка из методички. Решай нужны или нет.
но вот почему то всех пугают что мол миллионы вкатунов каждый год, а цена их знаниям? они и слово реакт то не знают
Там ещё всякие .bat-сценарии обучают писать. А на возражения в стиле "сейчас питон для этого есть, нахуя батники нужны" возражают в стиле "20 лет назад когда я в банке работал никаких питонов не было и мы всё на cmd писали, вот вы тоже пишите."
Лол. Да я уже вкатился, 3-4 года опыта. Просто такое ощущение что рынок мертв, а вакансии остались на лидов и помидоров-фуллстаков.
Тут все изи мод и хард мод. На изи моде люди просто крутят опыт и устраиваются джуном, правда как правило не дистанционно. В хард моде (или те кто боятся врать) делают ебливые задачи уровня фоксфорд курс трушина по математике чтобы их отобрали на стажировку, где ещё будет собеседование, где ещё только решат что тебя берут. Так что рынок не мертв, но порог стал гораздо выше.
Анчоусы, подскажите плиз, как можно верифицировать npm пакет уже скачанный в проект? У меня серьезные проблемсы с интернетом, поэтому я не могу прогуглить как следует.
Вот в dist.integrity у него записан Subresource Integrity (SRI)
https://registry.npmjs.org/react-slick/0.29.0
sha512-TGdOKE+ZkJHHeC4aaoH85m8RnFyWqdqRfAGkhd6dirmATXMZWAxOpTLmw2Ll/jPTQ3eEG7ercFr/sbzdeYCJXA==
это хэш тарбола, сам тарбол лежит в
dist.tarball
Если я установлю пакет в проект и скачаю его из node_modules, и разархивирую скачанный из dist.tarball тарбол, то у них будет немного другая вложенность папок.
Файлы в тарболе лежат в: /react-slick-0.29.0/package
Файлы в node_modules лежат в: /react-slick/
Тогда я создаю папки /react-slick-0.29.0/package и кладу в них файлы из скачанного через npm пакета.
Потом я делаю из него тарбол командой
sudo tar cvzf doc.tar.gz ./react-slick-0.29.0
и достаю хэш
cat react-slick-0.29.0.tgz | openssl dgst -sha512 -binary | openssl base64 -A
который получается не таким как в dist.integrity.
Гугл говорит, что это из-за даты формирования оригинального тарбола. И это судя по всему так, потому что, если я снова создам нужный каталог, скопирую туда файлы, сделаю tgz и достану хэш, он будет опять другим.
Вопрос такой, каким образом тогда можно найти дату создания оригинального tgz и применить его к созданному из node_modules. Для применения вроде бы есть атрибут --mtime у команды tar, но я не уверен, что он работает как надо. Алсо, я проделываю это на linux и если посмотреть размер файлов без папки, то он одинаковый, как на винде, но если посмотреть размер с папками, то на linux размер больше, это норма? Алсо, может быть есть какой-то другой способ как можно верифицировать пакет?
Я нашел инструкции к 2-м онлайн способам, это сверка PGP подписи и ECDSA (написано, что npm мигрирует с 1-го на 2-й).
В 1-м случае ты скачиваешь себе PGP подпись и dist.integrity и сравниваешь по ним, что npm, откуда ты будешь его качать, оригинальный.
Во 2- случае, если я правильно понял, npm по одной команде автоматически формирует строки для каждого пакета
${package.name}@${package.version}:${package.dist.integrity}
подписывает её, используя видимо какую-то свою Key Management System, и генерирует подпись, которая лежит в dist.signatures[0].sig и сверяет эту подпись онлайн.
Делается это одной командой npm audit signatures, но это никак не верифицирует файлы, уже установленные у тебя в проекте. То есть, если я открою любой пакет в node_modules и напишу что-нибудь в код, эта команда всё равно выдаст, что все пакеты верифицированны.
Естественно, оба этих способа не вариант.
пик-нейчакэ
Анчоусы, подскажите плиз, как можно верифицировать npm пакет уже скачанный в проект? У меня серьезные проблемсы с интернетом, поэтому я не могу прогуглить как следует.
Вот в dist.integrity у него записан Subresource Integrity (SRI)
https://registry.npmjs.org/react-slick/0.29.0
sha512-TGdOKE+ZkJHHeC4aaoH85m8RnFyWqdqRfAGkhd6dirmATXMZWAxOpTLmw2Ll/jPTQ3eEG7ercFr/sbzdeYCJXA==
это хэш тарбола, сам тарбол лежит в
dist.tarball
Если я установлю пакет в проект и скачаю его из node_modules, и разархивирую скачанный из dist.tarball тарбол, то у них будет немного другая вложенность папок.
Файлы в тарболе лежат в: /react-slick-0.29.0/package
Файлы в node_modules лежат в: /react-slick/
Тогда я создаю папки /react-slick-0.29.0/package и кладу в них файлы из скачанного через npm пакета.
Потом я делаю из него тарбол командой
sudo tar cvzf doc.tar.gz ./react-slick-0.29.0
и достаю хэш
cat react-slick-0.29.0.tgz | openssl dgst -sha512 -binary | openssl base64 -A
который получается не таким как в dist.integrity.
Гугл говорит, что это из-за даты формирования оригинального тарбола. И это судя по всему так, потому что, если я снова создам нужный каталог, скопирую туда файлы, сделаю tgz и достану хэш, он будет опять другим.
Вопрос такой, каким образом тогда можно найти дату создания оригинального tgz и применить его к созданному из node_modules. Для применения вроде бы есть атрибут --mtime у команды tar, но я не уверен, что он работает как надо. Алсо, я проделываю это на linux и если посмотреть размер файлов без папки, то он одинаковый, как на винде, но если посмотреть размер с папками, то на linux размер больше, это норма? Алсо, может быть есть какой-то другой способ как можно верифицировать пакет?
Я нашел инструкции к 2-м онлайн способам, это сверка PGP подписи и ECDSA (написано, что npm мигрирует с 1-го на 2-й).
В 1-м случае ты скачиваешь себе PGP подпись и dist.integrity и сравниваешь по ним, что npm, откуда ты будешь его качать, оригинальный.
Во 2- случае, если я правильно понял, npm по одной команде автоматически формирует строки для каждого пакета
${package.name}@${package.version}:${package.dist.integrity}
подписывает её, используя видимо какую-то свою Key Management System, и генерирует подпись, которая лежит в dist.signatures[0].sig и сверяет эту подпись онлайн.
Делается это одной командой npm audit signatures, но это никак не верифицирует файлы, уже установленные у тебя в проекте. То есть, если я открою любой пакет в node_modules и напишу что-нибудь в код, эта команда всё равно выдаст, что все пакеты верифицированны.
Естественно, оба этих способа не вариант.
пик-нейчакэ
Не мучай жопу и используй yarn zero-installs https://yarnpkg.com/features/zero-installs
Тогда все пакеты будут лежать рядом с кодом и никакие дополнительные проверки не будут нужны.
А что не так в ответе? Тебе нейронка прямо сказала, где телок зацепить, просто вначале сделала оговорку о корпоративной этике.
Вроде много вакансий мидлов. Я на них не откликался, может они мёртвые, но вакансий много
Можешь сказать звоночки того что ты мидл? вдруг я дома так задрочил фреймворки и стеки что я всерьез по уровню как типичный миддл, но считаю себя джуном и этим пользуются хрюши. только давай без учета опыта коммерческой разработки, чисто по техническим навыкам откуда начинается миддл?
Откликнулся на пару-тройку. 1 мгновенный отказ, остальные даже не смотрели. А когда опыта было нихуя, звонили в тот же день, не успевал собесы по дням раскидывать.
> Можешь сказать звоночки того что ты мидл?
Не знаю, я сам в себе не уверен иначе бы уже откликнулся на пару вакух. А так с силами собираюсь, гашу тревожность, морально готовлюсь к попусканию на собесах у меня даже уважительная причина есть, так время тянуть - мне очки только к концу месяца сделают, а без них некомфортно за монитором работать уже 2 года, но только сейчас я заказал очки, пиздос, вот очки получу и сразу начну отклики отправлять и собеседоваться, вотувидити 🤡... Вроде могу всё, что надо, реализовать, вроде самостоятелен в решении задач, вроде не творю хуйню, но я ж несостоятелен, как разработчик, я сольюсь на любом каверзном вопросе по теории, хотя и учил её, чатгпт лучше меня...
Если смотреть, в какой роли я веслал на работе - однозначно мидл. Если смотреть на то, что я вчера не знал, что new Array(3) и new Array(1, 2, 3) работают по-разному - я и в трейни не гожусь.
> чисто по техническим навыкам откуда начинается миддл?
Без понятия. Но вакансий мидлов, вроде как достаточно.
Вот только год назад моё убогое резюме за сутки смотрели 10+ контор, если я его публиковал и хрюши писали, мол го собеседоваться, вилка от 200к естественно я не собеседовался, ведь я конч. Один собес провел, в начале февраля, а потом меня война из колеи выбила и я в ахуе отработал до конца года за мелкий прайс , а за эту неделю 2 просмотра и никто не пишет. Раньше я считал, что нет смысла откликаться, контора, которая в тебе заинтересована, сама тебе напишет, а сейчас представляешь ебало?
> вдруг я дома так задрочил фреймворки и стеки что я всерьез по уровню как типичный миддл, но считаю себя джуном и этим пользуются хрюши.
Может ты даже лучше какого-нибудь мидла, только главное то собес пройти. Прошёл - мидл после успешного прохождения испытательного срока.
> только давай без учета опыта коммерческой разработки
Я думаю, что коммерческая разработка таки важна. Там другие скилы получаются, которых без коммерческой разработки ты скорее всего не получишь. Хотя кто я такой, чтоб меня слушать...
>>48563
> А когда опыта было нихуя, звонили в тот же день, не успевал собесы по дням раскидывать.
Ну так довоенные времена, все дела. То ли ещё будет.
> Можешь сказать звоночки того что ты мидл?
Не знаю, я сам в себе не уверен иначе бы уже откликнулся на пару вакух. А так с силами собираюсь, гашу тревожность, морально готовлюсь к попусканию на собесах у меня даже уважительная причина есть, так время тянуть - мне очки только к концу месяца сделают, а без них некомфортно за монитором работать уже 2 года, но только сейчас я заказал очки, пиздос, вот очки получу и сразу начну отклики отправлять и собеседоваться, вотувидити 🤡... Вроде могу всё, что надо, реализовать, вроде самостоятелен в решении задач, вроде не творю хуйню, но я ж несостоятелен, как разработчик, я сольюсь на любом каверзном вопросе по теории, хотя и учил её, чатгпт лучше меня...
Если смотреть, в какой роли я веслал на работе - однозначно мидл. Если смотреть на то, что я вчера не знал, что new Array(3) и new Array(1, 2, 3) работают по-разному - я и в трейни не гожусь.
> чисто по техническим навыкам откуда начинается миддл?
Без понятия. Но вакансий мидлов, вроде как достаточно.
Вот только год назад моё убогое резюме за сутки смотрели 10+ контор, если я его публиковал и хрюши писали, мол го собеседоваться, вилка от 200к естественно я не собеседовался, ведь я конч. Один собес провел, в начале февраля, а потом меня война из колеи выбила и я в ахуе отработал до конца года за мелкий прайс , а за эту неделю 2 просмотра и никто не пишет. Раньше я считал, что нет смысла откликаться, контора, которая в тебе заинтересована, сама тебе напишет, а сейчас представляешь ебало?
> вдруг я дома так задрочил фреймворки и стеки что я всерьез по уровню как типичный миддл, но считаю себя джуном и этим пользуются хрюши.
Может ты даже лучше какого-нибудь мидла, только главное то собес пройти. Прошёл - мидл после успешного прохождения испытательного срока.
> только давай без учета опыта коммерческой разработки
Я думаю, что коммерческая разработка таки важна. Там другие скилы получаются, которых без коммерческой разработки ты скорее всего не получишь. Хотя кто я такой, чтоб меня слушать...
>>48563
> А когда опыта было нихуя, звонили в тот же день, не успевал собесы по дням раскидывать.
Ну так довоенные времена, все дела. То ли ещё будет.
Фреймворк это замечательно, а зайти по ssh и посмотреть логи докера сможешь? Разгрести баги в чужом десятислойном говнокоде? Провести ревью кода? Размотать огромный мерж-конфликт?
Мидлов не бывает без коммерческой разработки.
Это буквально коммерческая градация.
Сколько лет ты проработал в команде, сидя дома? Это один из критериев миддловости. Если меньше трех - ты зелень.
Создаёшь новый type и используешь его там где нужен новый или старый аргумент. Что тут сложного?
Вообще мидловость, она как-то от фреймворка зависит или это просто общая компетентность, а фреймворки вторичны?
Там просто всё через ебучий extends и вот так просто нельзя
Хз, но вообще во многих вакансиях указывается что нужен опыт в похуй каком фреймворке. То есть потери при конвертации есть конечно, но наверняка не великие.
Где ты его поменять хочешь, в одном месте?
Можешь сделать производный тип через type DerivedType = Omit<Govnotip, "poleNaMinus"> & {
poleNaMinus: NovyiTipPolya
}
Если задача найти работу, доучи фронт и ищи, зачем еще бэк? С одной только версткой можно устроиться, вакансии есть.
Двачую. Если нет образования (понимания общего), то бек слишком сложный и долго вкатываться будешь, если вообще вкатишься. Если приоритет на работу залететь, то это верстка, базовый js + react и работа с репозиторием git. Всё тащемто.
>С одной только версткой можно устроиться, вакансии есть.
Лол, верстаков давно уже попускают. Как минимум верстак должен быть ещё и дизайнером, чтобы его взяли, ну и база в полном знании html/css и всяких инструментов для их сборки.
>на работу залететь, то это верстка, базовый js + react и работа с репозиторием git. Всё тащемто.
Давно этого недостаточно.
Нет, есть только в финансовой сфере.
>>48903
Понял. Ну я уже подучил JS, react, redux, алгоритмы самые популярные, немного ноду, немного Typescript. Я и буду вкатываться во фронт. Но хочу паралельно бэк подтягивать. Вот и выбираю на каком стеке подтягивать его. Начал на ноде, но не уверен что стоит с ней связываться а не начать учить ту же гошечку. Скажем набираться фактического опыта работая во фронте а паралельно бэк подтягивать на джанго условном.
Ванила для чэдов.
>я уже подучил
Без опыта работы умножай на ноль, данниг-крюгер тут. У меня тоже было подобное, а потом реальность рабочая дала по еблу. Лучше сфокусируйся на одном стеке и всё: react, next, js, верстка + базовое понимание redux, ts. Этого хватит сейчас, но конечно готовься к множественным отказам, просто перебирать надо и писать очень много людям.
Ну кинь сюда гит оформленный с проектами, резюме, посмотрим что не так. Скольким людям писал? Сколько откликался? На скольких собесах был? Если был на собесах, то пробелы свои знаешь уже
Либо ноду продолжай пердолить немного, либо слишком распылишься в особенности языков.
// pages/profile.tsx
import { useAtomValue, atom } from 'jotai';
const hui = atom('pizda');
export default function Profile() {
const pizda = useAtomValue(hui);
console.log('pizda: ', pizda);
return <p>SUKA</p>;
}
>Всё плохо, да?
Да, ты не вкатишься, не пытайся. +еще чатжпг. Лучше вкатывайся в сварщики/плиточники
Это, возможно, накрутка от рекрутеров чтобы показать важность вакансии и то что у них есть из кого выбирать.
Глубоко не знаю. Сам отказался от строгого режима из-за этой особенности, почем зря.
Возможно сначала конпеляет для проверки, потом отрабатывает.
Но на проде же все норм?
> Они просто посмотреть.
Как я, получается 🤡
Не могу же я откликнуться на вакансию, где хотя-бы одна технология из требований мной не изучена. По крайней мере сегодня не могу.
Ну чел, я не умею продавать себя, я тревожник, не откликаюсь - есть что-то, что говорит о том, что моя зарплата будет быстро улучшаться?
Судя по тому, что я делал на работе, я мидол, буду пытаться на 150к запрыгнуть, вдруг дадут.
Для меня 150к это охуеть сумма, все, кого я знаю, работают за 25-35к.
Я просто приложение делаю пока, на проде хз как. Я знаю, что в стрикт моде, дважды выполняются рендеры, но вопрос в том, что без него дважды консоль лог срабатывает - это норма? Думал, может у меня что-то провоцирует один ререндер, но сейчас пустой проект создал только с реактом, некстом и жотаем и там тоже 4 срабатывания в стрикт моде и 2 без него. Видимо, так и должно быть
А зря. Может ты работал на похожей или они готовы к тому что ты её уже в процессе выучишь.
Умом я это понимаю, но откликнуться, другое дело.
А так, я видел вакансии, на которые получал офферы - там и опыта хотели больше, чем у меня по факту было и технологии перечислены, которых я не знал и понимание всяких штук заявлено, которые я только недавно изучил и то плохо.
>дважды консоль лог срабатывает
А без стейт менеджера?
Вообще странное применение, есть же реактовский useState.
Я не питаю иллюзий что знаю это хорошо. Разумеется не сравнить с рабочим опытом. Просто к тому что не посыплюсь на интервью на элементарных вопросах по этим темам.
Рестрикт мод отрабатывает 2 раза в девиоде, чтобы отлавливать говно ререндеры и кривые эффекты. В доке это описано. В прод билде такого поведения нет.
Это элемент который создал эвент.
https://developer.mozilla.org/en-US/docs/Web/API/Event/target
Можешь ответить на вопрос, пчему ты не читаешь документацию?
Я третий тред подряд спрашиваю таких залетных как ты. Почему вы не осилите открыть ман по примитивному вопросу и вместо этого лезете на форум.
Серьезно. Читать - это сложно?
У них в апишке нет параметра для категорий, а сами категории у книг, блять, есть. Норм ли практика - запрашивать с сервака все данные и фильтровать их перед выводом в dom?
потому что в основном по документации сложно понять как это применять на практике
Ты спросил ЧТО это, ебос вонючий, а не как это применить. В learn javascript все есть, не мешай людям норм вопросы решать.
Серьезно? Ну давай проверим и перейдем по ссылке, которую тебе скинули.
Прочтем статью целиком. Доскролим вниз. Увидим секцию - смотрите также. Перейдем по ссылке. Увидим сравнение всех существующих таргетов и примеры использовнаия на практике.
Я спрашиваю еще ра. Читать - это сложно? Если да, то что ты собираешься писать.
Ты не научился искать информацию, впитывать ее и осознавать. Чемы ты пытаешься научиться изучая инструмент для выражения чего-то?
Благодарю за ответ!
Ну на созвоне то вебку включаю, если нужна, но фото в резюме, это другое, тут качество, как на вебке, не подойдёт же
Зависит от страны.
Нет. Не фото, не даты рождения.
Я без делал. Нахуй?
Хотя слышалу пендосов это мастхев.
Хотя на созвоне, офк, вебку надо включить.
Наоборот. В штатах фото в резюме это признак залетного. А за вопрос о возрасте до оформоения документов вообще можно засудить.
Там в резюме даже пол не нужно указывать.
Есть проект в котором нужно реализовать файловую систему, типо как яндекс диск, но на сайте.
Насколько вижу у Яндекс диска есть апишка для этого.
Какие еще есть варианты? Или лучше самописную писать?
Я без делал. На моё ебало они и в линкедине посмотрят и на собесе, если позовут.
Ты можешь хоть кернел форкнуть и допиливать.
>у Яндекс диска есть апишка для этого
Как ты собираешься ее использовать?
>Какие еще есть варианты?
Ты плохо описал задачу.
courses.ics.hawaii.edu/ReviewICS332/morea/110_FileSystem/ics332_filesystem2.pdf
https://github.com/trekhleb/javascript-algorithms/blob/master/src/data-structures/doubly-linked-list/README.ru-RU.md
https://ru.hexlet.io/courses/basic-algorithms/lessons/double-linked-list/theory_unit
>Как ты собираешься ее использовать?
>Ты плохо описал задачу.
пользователь при регистрации получает папочку на сайте. в эту папочку админ может закидывать файлы. так же пользователь может закидывать свои файлы и создавать там папки.
почему-то сейчас начал склоняться к кастомному решению. если так рассуждать, то ничего сложного в этом нету, напротив, достаточно просто.
в случае же с апишкой яндекса, придется ебаться с ней и разбираться в нюансов.
Реализация каталога довольно простая задача. Особенно если вложенных папок будет не очень много.
Не сложно, ебля пойдёт с нюансами.
Права доступа: чтение/запись. Пошарить что-то на чтение чтобы не взломали жопу и не отредактировали файл/каталог.
Соответственно метки: публичный/частный, етц.
Зависит от того что ты там решил склепать.
> пройтись по нему линейным поиском или отсортировать и провести бинарный?
Первое. Сортировка в любом случае будет проходить по всему массиву, плюс непосредственно сортировать, а потом ещё и искать надо. При линейном поиске ты просто пройдёшься по элементам (и не факт, что всем) и всё.
Второй спооб может быть быстрее если само сравнение элементов занимает дохуищща времени. Т.е. log(n) сравнений будут настолько быстрее n сравнений, что даже сортировка окупится (правда тогда возникает вопрос почему бы сравнение не сделать быстрее).
Хотя не, пизжу, сортировка же использует те же самые сравнения.
Зависит от объёма данных. Если данных относительно не много - линейный.
Если данных много - имеет смысл отсортировать их и искать через бинарный поиск.
Если данные меняются, но их всё ещё дохуиллион, то, например - сортированный список с бинарным поиском.
Сначала подумал ебать какой тупой вопрос, нахуй вообще такую тупизну спрашивать.
Но потом увидел ответы и совсем охуел какая же тут безмозглая параша собралась в разделе пиздос.
Еще небось эти тупорылые дауны высирают свое охуительно важное мнение по всем возможным вопросам.
Я сказал тупость, значит тупость. Я тут самый умный.
В том что очевидно для сортировки тебе нужно всё сравнить как при линейном поиске хотя бы раз, если ты не пишешь какую-нибудь особую поразрядную сортировку. Очевидно это+бинерный поиск877 будет дольше линейного поиска
А, понял. Я просто тоже именно сегодня решил почитать про алгоритмы и знаю только один бинарный поиск, до сортировки не доходил ещё
Только если поиск нужно выполнить один раз. Если искать нужно будет постоянно, то поиск по отсортированному массиву выигрывает.
духотаа
У меня так было на говноваке на пхп за 15-40к вилкой. Я сделал тестовое, деплойнул, но там по логам увидел что валидацию обманул тот кто проверял и я подумал что это все. Смотрело 16 человек в основном.
Но меня таки позвали и даже сказали выходить на работу. Я отказался, ибо пхп дерьмо, и я просто по фану сделал.
Да 150к это дохуя, если ты зоо. Просто в ит и в треде преимущественно натуралы которые постоянно отдают деньги своим тянучкам или парням (если кунчики). Я вот зоо, мне и 100к хватало бы чтобы жить как царю салтану.
Еще события постоянно используются для детекта ботов
event.isTrusted - это клоудфлайр проверяет когда он на своей странице антибота ждет чтоб ты кликнул "я не робот". Если жал через скрипт, то будет ложь. Если жал сам, то будет истина.
Легко, кстати, обходится селениумом
Щас тебе этот жопоглазый >>50005 расскажет (((нет))) как надо и пойдёт на каждый чих делать линейный поиск.
Идея не в том, чтобы каждый раз сортировать данные, а иметь отсортированные данные. Тогда по ним бинарный поиск будет быстрее.
Из прикладного, например - работа с диапазонами IP адресов. Ты его один раз сортируешь, дальше гоняешь через бинарный поиск, а не гоняешь по милиону строк линейно.
Да я вообще ноулайфер, мне эти 150к вообще ебовейшими деньджищами кажутся. Я не знаю, как так вышло, что тут для всех это гроши, но для меня это очень много. Я готов даже работать за эти деньги.
Интересно, джаваскриптезёры, так же треды путают?
Да, познавательная ветка получилась
Говнокодеры, хуле.
скорее всего валидация телефона отвалилась
Отправил за него.
> Это ещё норм,
Так это много, до этого по 1 просмотру было. Сегодня прям как в довоенные времена насыпало просмотров.
Смотря какая книга, если в ней какие-то фундаментальные знания которые в принципе не поменялись за десятки лет, то читать её стоит. Ну вот как раз Кормен тот же или любая другая книга по алгоритмам - наиболее оптимальное решение уже математически доказано и тебе дают в этом убедиться. А вот какой-нибудь прикладной "Выразительный Javascript" может и подустареть, т.к. технологии не стоят на месте и стандарты JS тоже меняются, хотя базовые вещи останутся валидными в какой бы день ты не взял эту книгу.
А я только что из какого то треда узнал что саблайм четвертый вышел.
Обновлять я его конечно же не будут. У меня еще горит от того как при переходе с 2 на 3 поменялось поведение временно открытой вкладки. И теперь это еще блядь стало стандартом де-факто каким то хуем. Потому что каким то блядь даунам было чего то там блядь не понятно какая вкладка открыта или хуй знает что.
Если хочешь изучить что то серьезное то все равно лучше выбрать какой-нибудь курс лекций. С Корменом только сраку себе разорвешь. Реально я не могу себе представить человека который бы сел и осилил бы с нихуя тыщу страниц какого-нибудь подобного талмуда по какой то нетривиальной теме почитывая на изичах по XX страниц в день и не забив в процессе и чтобы это не растянулось на годы.
Если у тебя человеческий партнер то вам и миллиона в месяц будет мало. А у кобылы, у собаки желания лишь одни - чтоб ты их любил и не обижал. Выгоднее в 100 раз, причем буквально.
Потому что книга оторвана от реальности, рекомендуют книги душные техлиды на собеседе и тролли чтоб ты дольше вкатывался.
Ясен хуй, но речь не о том что эффективнее даст тебе знания, а об актуальности книг как источниках знаний. А так да, туда имеет смысл лезть только чтобы проследить за ходом мысли доказательства, разобраться как работает алгоритм под капотом так сказать, если есть понимание тех разделов математики которыми там оперируют.
>Потому что книга оторвана от реальности
Кстати действительно есть такое. В видео гораздо сложнее напиздеть. (Хотя конечно же можно если специально задаться такой целью) Ух я помню как у меня пригорело от того что код в книжке Хаттона по хачкелу не работает и в принципе не может работать так как написан потому что синоним типа не может быть объявлен инстансом тайпкласса но это отдельная история. Видео это как бы прямой репортаж с полей, а книга это уже фантазии автора на тему с соответствующими подводными.
У тебя на хх лимит какой-то на отклики? Вопрос один охуительней другого. Заинтересовался - отликнулся, нет - иди мимо, зачем спрашивать чьего-то разрешения?
Ну мне просто интересно. Просто вакансии интересные нашёл, а они старые, аж 20го числа - явно уже всё, хрюша просто закрыть забыла.
> Вопрос один охуительней другого.
Есть ещё озуительней - снежинка на скрине означает игнор или какой-то негатив?
Хабр карьера как себя зарекомендовала, кстати, в плане поиска работы? С хх конкурирует, чи не? Я текущую работу на хабр карьере нашёл вернее меня спылесосили - во времена были...
Условно, у меня есть сервер, к нему подключены 20 VPSов, и мне нужно,чтобы каждый пополнил один и тот же сайт
Возможные сервисы:
киви
юмани
трс20
>пополнение
В семье.
>есть сервер, к нему подключены 20 VPSов
VPS это и есть сервер.
>мне нужно,чтобы каждый пополнил
Тебе нужно научиться выражать свои мысли. До сих пор ты бессвязно складываешь слова в шизофаические предложения.
Какой счет, какие смс, какие деньги. Что ты несешь.
Если уже знаешь реакт, то за день-два поймёшь основы некста и сразу же его сможешь нормально использовать по пути изучая всякие авторизации и прочее, ну и натыкаясь ограничения SSR (хотя с новым каталогом app тут попроще).
Ссылка на код http://pastie.org/p/5PxT0G8YPddHLpiMGxm8Ad
Функция принимает набор параметров и фильтует массив игр (пик)
game.title
.toString()
.toLowerCase()
.includes(query.toString().toLowerCase())
Title и query могут быть чем-то кроме строки? Зачем явный конверт в строку?
query можешь вынести в отдельную константу до начала фильтрации, чтобы не конвертить её на каждую итерацию в нижний регистр заново.
*
Я тебя молю, посмотри что такое early return. Ебонумба с такой вложенностью, пиздец, просто пиздец.
if (selectedSort == "ascending") {
filteredGames = tmpArray.sort((a, b) =>
a.title.localeCompare(b.title)
);
} else if (selectedSort == "descending") {
filteredGames = tmpArray.sort((a, b) =>
b.title.localeCompare(a.title)
);
} else {
filteredGames = tmpArray;
}
return filteredGames;
===>
if (selectedSort == "ascending") {
return tmpArray.sort((a, b) => a.title.localeCompare(b.title));
}
[else] if (selectedSort == "descending") {
return tmpArray.sort((a, b) => b.title.localeCompare(a.title));
}
return tmpArray;
Можно этот кусок вообще вынести отдельно как функцию сортировки, оно повторяется 3? раза.
Вообще, фильтрация на фронте, ожидаемо. Крути спиннер пока фильтруешь.
game.title
.toString()
.toLowerCase()
.includes(query.toString().toLowerCase())
Title и query могут быть чем-то кроме строки? Зачем явный конверт в строку?
query можешь вынести в отдельную константу до начала фильтрации, чтобы не конвертить её на каждую итерацию в нижний регистр заново.
*
Я тебя молю, посмотри что такое early return. Ебонумба с такой вложенностью, пиздец, просто пиздец.
if (selectedSort == "ascending") {
filteredGames = tmpArray.sort((a, b) =>
a.title.localeCompare(b.title)
);
} else if (selectedSort == "descending") {
filteredGames = tmpArray.sort((a, b) =>
b.title.localeCompare(a.title)
);
} else {
filteredGames = tmpArray;
}
return filteredGames;
===>
if (selectedSort == "ascending") {
return tmpArray.sort((a, b) => a.title.localeCompare(b.title));
}
[else] if (selectedSort == "descending") {
return tmpArray.sort((a, b) => b.title.localeCompare(a.title));
}
return tmpArray;
Можно этот кусок вообще вынести отдельно как функцию сортировки, оно повторяется 3? раза.
Вообще, фильтрация на фронте, ожидаемо. Крути спиннер пока фильтруешь.
Ну ты понял. Но отклик тормозит скорее всего потому что ты перерендериваешь под сотку элементов.
В 2015-2017 гг. нельзя было помыслить ВЁРКФЛОУ без этого говна - попробуй только скажи где-нибудь в приличном барбершопе, что галп джээс ненужное говно, так ламберсексуалы сразу на смех поднимали. Почему сегодня никто даже не знает, что это такое, а последние коммиты в код там четырёхлетней давности? Что такого полезного в нём было 8 лет назад, что вдруг стало бесполезным сейчас? Что-то мне подсказывает, что здесь замешан тайпскрипт?
Экономия в 130 строчек примерно. А отклик тормозит скорее всего потому что ты перерендериваешь под сотку элементов (и фильтруешь на клиенте).
Его заменил webpack, со своими плагинами, потом его частично заменил vite, сейчас идет разработка turbopack
Так эта хуйня ж себя позиционировала как СТРИМИНГ БИЛД СИСТЕМ. Она разве умела сама по себе без плагинов джээсы компилировать? Этим там в основном browserify какой-нибудь занимался или тот же вебпак.
> Она разве умела сама по себе без плагинов джээсы компилировать?
Она вообще ничего не умеет, кроме как вызывать сторонние компиляторы (а всю логику конпеляции ты пишешь сам ручками). В итоге вебпак и прочее с более плотной интеграцией всех инструментов и убили гульп.
Думаю как таск-раннер Gulp использовали в ограниченном числе случаев, в основном только как сборщик, потом его вытеснил Webpack потому что у него именно для сборки было больше фич чем у Gulp прямо из коробки, а сейчас и сам Webpack вытесняют другие сорщики, хотя пару лет назад о таком и помыслить не могли. Технологии не стоят на месте.
Да что там говорить о каких-то инструментах, сейчас уже есть мнение что SSR нахуй не нужен, а поисковики разрешают отдавать роботам отличающиеся от страниц на клиенте HTML и тихонечко шёпотом говорят что роботы могут парсить JS. А ведь пару лет назад все пиздели про изоморфные приложения, смузи-гидратацию и т.д.
Что-то типа такого что ли?
class ListItem<T>{
value: T;
next: null | ListItem<T>;
constructor(value: T, next: null | ListItem<T> = null) {
this.value = value;
this.next = next;
}
}
Вы где работу ищете? На HH для джунов на Vue только полтора вакансий, либо fullstack. Придётся изучать ещё и React с Angular?
Я не хочу быть фуллстеком! :(
Так это надо, а не список. Список ты можешь написать сам. Тебе анон такую-то расширяемую библиотеку дал, а ты нос воротишь, гнида.
Реакт на нынешнем рынке изучать, скорее всего, придётся. Твоя задача - вкатиться в индустрию (а за это подтянуть знания в паре библиотек/фв - не такая большая цена), а кем ты в итоге будешь даже через 2-3 года - загадка.
грязно, неоптимально, ты мутируешь массив и зачем-то запихиваешь рекурсию туда, где это совсем ненужно.
const max = Math.max(...array)
const findMax = (arr, start = 0) => start === arr.length ? null : Math.max(arr[start], findMax(arr, start + 1) ?? -Infinity).
и зачем здесь рекурсия, если максимум и без неё ищется за О(N)? эта говнореализация сделает оверфлоу на большом массиве.
Ну задача в книжке такая
Рекурсия есть? Есть. Значит задача выполнена.
const findMax = ([first, ...rest]) => first === undefined ? null : Math.max(first, findMax(rest) ?? -Infinity);
из разряда программисты шутят
arr => ((f, arr) => f(f, arr, 1, arr[0]))((f, arr, i, max) => (i === arr.length) ? max : (max < arr) ? f(f, arr, i + 1, arr) : f(f, arr, i + 1, max), arr)
Ну добавь условие для пустого. Или можно типа с -Infinity можно так:
arr => ((f, arr) => f(f, arr,0, -Infinity))((f, arr, i, max) => (i === arr.length) ? max : (max < arr[ i ]) ? f(f, arr, i + 1, arr[ i ]) : f(f, arr, i + 1, max), arr)
Там ещё куда-то индексы проебались.
export async function getServerSideProps(ctx) {
const token = ctx.req.cookies['TOKEN'] || '';
try {
await validateToken(token);
return {
props: {
isLoggedIn: true,
},
};
} catch (e) {
return {
redirect: {
destination: '/login',
},
};
}
}
Если делаешь для себя, используй бета-версию app-каталога. Там это можно делать прям внутри серверного компонента.
Подскажите по Node.js, можно ли как-то собрать нативный аддон без node-gyp? Что за дрисню вы там выдумали? Почему я не могу просто собрать либу и прилинковать? Я даже готов руками писать биндинг на js, лишь бы убогий node-gyp не использовать. А то написали какую-то костыльную систему сборки, не поддерживающую современные компиляторы крестов из 2023 года, а я ебаться должен.
А нахуя ты прилинковываешься? Используй какой-нибудь RPC через http и всё будет норм.
> Используй какой-нибудь RPC через http
С таким же успехом можно и на js писать, если производительность сразу в помойку выкидываем.
мимосамозванец
Можно конкретнее? Последняя фича, при написании котрой ты заюзал алгоритм? В общих словах.
https://nodejs.github.io/node-addon-examples/build-tools/cmake-js
>>51318
>Используй какой-нибудь RPC через http и всё будет норм
lol
>>51323
>wasm используй
Он медленнее нативного JS
> Он медленнее нативного JS
Только если активно использовать браузерные API, вроде DOM. А так, например, блокировщик реклами uBlock Origin частично написан как раз на WASM для скорости.
Для прохождения интервью. У меня голова от этих алгосов взорвется скоро. Вроде и понимаю все и эти деревья, алгоритмы дийкстры и сортировки эти пупырчатые и прочие но сука запомнить не могу. Надеюсь хоть дадут на собеседовании с ноута своего напечатать где есть подсказки
Я видел на вышке в методичке слово "простата" в обьяснении как работае хтмл форма. И вообще там текст написан будто бы тем у кого проблемы со связыванием слов, либо как будто вбили через переводчик. С таким даже охуенный сеньор начнет сомневаться в своих знаниях. От таких методичек тупеют.
Не дойдут. К слову у нас даже в мухосранске в школе проганья где на стажировку отбирают прямо сейчас в фигме в онлайн десяток человек. И так уже весь день. Страшно представить сколько человек делают тестовое в открытых вакансиях, тысячи.
Фриланс это худший выбор для омежки, туда идут как раз быдлопрограммисты которые умеют в харизму. Клиент наебет, не заплатит, обманет, уйдет, и еще куча ништяков. Если подал слабину - что то да случится. И это даже у крутых кабалов случается, но они говорят "охуел? Я работал, время потратил, а ты ушел? Плати!".
А компания делает как бы прокси, перекладывая разговоры на пм где клиент не сможет тебя наебать, он вообще не знает что ты существуешь. Хотя есть ебанутые компании заставляющие общаться с клиентом напрямую, по сути тот же фриланс.
При написании какого кода, ты не используешь алгоритмы?
Вложенные фильтры
>В JS - есть
В смысле? В JS нет структуры данных список как таковой.
>Дом ноды это линкед лист
Что?
>Миддлваре
И тут я сразу иду нахуй. Где он выполняется? На сервере или на клиенте? Я так понимаю, что на сервере? Но я в мидлваре пытаюсь запустить функцию серверную (которая использует bycrypt), а мне пишет на клиенте (и на сервере тоже) Module not found: Can't resolve 'fs'. Хули он на клиенте-то работает. Подзаебал меня этот некст уже.
540x960, 0:15
Сегодня своей командой ходили в бар, там тянка спросила меня чем занимаюсь на выходных, есть ли у меня девушка? (нет) На автомате соврал что есть, она дальше спрашивает, а че не женат.
А потом говорит что ей всегда казалось что это не так.
Сука, как меня это взбесило. Да мне 30 лет, да нет девушки, да можно сказать и не было баб, отношений, хотя я не листва, но щас придя домой пиздец у меня подгорело.
На сервере, но использовать ноду нельзя потому это эдж функция https://stackoverflow.com/questions/71106759
Тогда походу посос, можешь пойти почитать как nextauth они сделали что у них это работает через миддлвару
Нет, просто меня взбесила эта хуйня, когда зашли в бар об этом думать не было времени, а щас дома накатило.
Сука, тварь ебаная.
> тянка спросила меня чем занимаюсь на выходных, есть ли у меня девушка
> На автомате соврал что есть
> Сука, как меня это взбесило
> Да мне 30 лет, да нет девушки, да можно сказать и не было баб, отношений
Ну слишком толсто же
Блять, обидно что идешь на двач выговориться, а ты типа троль.
Зачем мне тролить в 22-30 в пятницу?
Так тянка подкатить к тебе хотела, сходить с тобой куда нить на выходных, а ты разозлился.
Нет, она замужем, с ребенком. Прост какая-то форма пассивной агрессии. Сучка блять.
Нахуй они вообще это спрашивают? Проецируют свои страхи? Типа им нечем заняться на выходных и они это српшивают у других?
ЧТо?
В голос проиграл. Типичный фронтенд. У меня был проект на кра и кучей зависимостей (от которых я решил избавиться или заменить на свои велосипеды) и начал на некст переписывать, а тут свои приколы.
Ну так то твоя проблема решилась если бы ты не изобретал велосипед и использовал готовое решение.
Тебя взбесила эта ситуация именно потому что ты тупой.
>двусвязные
Можешь показать где речь шла про двусвязные списки? Илиты не знаешь, что такое связный список?
>готовое решение.
>issuses 131
Ахуенно. Я думал некст - серьёзная вещь, а оказалось, обычный костыль, которому самому нужны костыли...
Да прости хуйню посоветовали, как вообще можно пользоваться сср фреймворком, где авторизация делается отдельным пакетом да еще и с 131 тикетом на гтихабе. Рекомендую перейти на серьезную вещь с уже готовой авторизацией и без открытых issues на гитхабе —https://www.ucoz.ru/
Linked list это связный список, может быть односвязным, может быть двусвязным, может быть кольцевым, может быть каким хочешь.
Вот это норм. Патриотично, одобряю.
есть такое
да блять их дохуя в гугле нах вы их пишите, я просто хотел узнать хуйли какой-то околобазовой хуйни нет в жсе, вангую появится с очередным апдейтом
Жабаскрипт позволяет на лету без всяких классов делать любые листы или деревья, потому что всё передаётся по ссылке, а ноду создать это просто {value:"хуй", next:null}, конструктор или какой-то класс для этого не нужен.
Ну и обычно нужно какое-нибудь дерево ебаное, а не лист энивей.
ебало завали
А в чем ирония? Я о том что в очной школе по набору где еще и тест надо было вступительный пройти отобрали 200 из 500 заявок. На каждой лекции сидит 70 человек минимум. Очно тоже ходят.
да вкатятся единицы банально потому что есть направления гораздо круче айти, конечно то что эта профессия так хайпится мерзковато от этого факта
Ну эта школа сделана чисто чтобы на стажерку потом забрать особо успешных. Я туда хожу чтобы посмотреть какие вопросы и как они задают вопросы, которые я могу встретить на собеседе накрутив опыт.
А что за направления круче айти? Только разве что перекупка, и то на старте надо вложиться неплохо плюс иметь тачку и уметь общаться с клиентами. Хуйня. Порносайтоделинг мертв.
Чем ты будешь отвлекать?
Ты не работал никогда в жизни или что. Не знаешь, что люди прочтут то, что им нужно прочитать по работе в рабочее время?
А вдруг хрюша работает в выходные, если ей пишут по работе? Я не хочу, чтобы из-за меня кто-то перерабатывал.
И мне было бы неприятно увидеть в пятницу/выходные оповещение о том, что мне по работе написали.
> Ты не работал никогда в жизни или что
Я тревожник...
Эйчаркам пох, ты для них лишь ресурс. Как ты ищешь хорошее порно для дрочки, и пропускаешь что не нравится, так и они.
Захотелось поныть в треде на счет долбаебов-фтронтендеров.
У нас небольшая но достаточно сильная компания. Отдел фронта по факту состоит из 2 человек, и главный в нем я. Мне нужен помошник. Необходимые навыки:
1. Не быть долбаебом, уметь разбираться в новых вещах, работать на результат.
2. TS, React и всякие библиотеки типа redux, css.
3. Web3 желательно но не обязательно.
И с такими прямо скажем не большими требованиями, уже полгода нихуя никого не можем найти. Только долбаебы и кончи находятся
>Web3
Неудивительно, что никого не можете найти.
Завязались на какой-то маркетинговый булшит и на что расчитываете.
Помню как в нулевых искали "разработчика социальной сети". Вот из той же оперы.
Ну типа не наговнякать и сосите хуй, а наговнякать и исправить если что
>>51911
У нас криптоскамерский проект, так что с веб3 так или иначе надо будет взаимодействовать
С другой стороны я же говорю: основное это просто хуячить нормальные сайты которые не будут разваливаться и знать ТС, а остальное приложится. И таких всеранво нет, т.к. воркуг одни говноеды. Даже за 5-8к всеранво говноеды лезут (наверное только поэтому и лезут лол)
Если вы криптоскамеры, то почему бы вам не заскамить и меня? Я бы не стал в таком работать.
Сформулируй вопрос.
>криптоскамерский проект
>Не быть долбаебом
>Только долбаебы и кончи находятся
Мне кажется что-то здесь не так
Спецификацию читать не пробовал? Там настолько популярно все написано, что тупее быть не может. Даж с картинками.
Нууу эээ объект наследует методы из своего прототипа, а прото депрекэйтед дискоуражед етк етк. Всё, что тебе нужно знать.
Это ненужное говно, лучше бы тайпскрипт с реактом учил.
У объектов есть прототипы, это тоже объекты, если ты обращаешься к свойству объекта, а его у объекта нет, то жабаскрипт ищет его у прототипа, потом у прототипа прототипа и т.д.
У объектов есть свойство __proto__, в котором этот прототип лежит, но его лучше не использовать.
Задать прототип можно при создании через Object.create(прототип)
Задать прототип можно при создании при помощи конструктора.
Конструктор это особая функция, вызывается при помощи оператора new, в конструкторе обычно задаются какие-то свойства у твоего нового объекта, обращаясь к ним как this.foo.
Чтобы конструктор создал объект с прототипом нужно положить этот прототип в свойство prototype конструктора или добавить свойства к свойству prototype (лучше второе, чтобы не проебать свойство constructor).
А теперь забудь это и пиши классы, тайпскрипт всю эту муру всё равно нормально не поддерживает.
Но вот есть у меня компонент в реакте, в нём реактивная переменная. Эта переменная меняется при событии, но она же НЕ МЕНЯЕТСЯ внутри функции, которая внутри компонента.
Там асинк функция делающая фетч запрос с параметром из этой переменной. И этот параметр не меняется, хотя за пределом функции меняется.
Я всю башку сломал уже. Просто пиздос
Можешь считать что твоя функция видит состояние окружения в момент своего вызова
Можешь передавать указатель в функцию или функцию которая бы новый стейт подсасывала в момент вызова: инлайновую или отдельную.
Вообще тебе стоит почитать про область видимости функции и вообще как код работает, т.к. у тебя в голове явно 0 инфы на этот счет.
ДРУЩИЩЕ , ТЫ НЕ ПРЕДСТАВЛЯЕШЬ КАК Я ТЕБЕ БЛАГОДАРЕН!!!
СПАСИБИЩЕ ОГРОМНО
Я даже толком ничего не объяснял, а ты указал на проблему. Низко кланяюсь и лобызаю ножки.
Я ведь про это читал когда-то, но в голове вообще не отложилось из-за того, что на практике не применял и не встречал подобное. Не думал никогда про это.
Заходишь на ДВАЧ и тебе добрый анон всё подскажет. Меня уже не первый раз выручают.
Обожаю борды.
Кури замыкания (closure) и useEffect с зависимостями. А больше я не понял нихуя сто у тебя там происходит
Рано ты реакт начал трогать, scope это буквально основа основ, а реакт только всё усложняет
мимо
Рано было бы, если бы я вообще ничгео не понимал. А тут небольшой совет и всё, я дальше могу двигаться.
Ебанулся что ли? Базовая хуйня это строки, числа и ссылки. Ну и все базовые типы данных которые вместе с этим.
Линкед лист это уже здоровенная йоба-структура данных, которую нужно переписывать в зависимости от обстоятельств. Её разные версии могут иметь разную производительность, например я писал версию которая приспособлена чаще для чтения, а запись в неё гораздо меньше, плюс она итерабельна. Можно переписать и у неё был бы совершенно другой паттерн взаимодействия. Так же это всё зависит от тех типов данных которые ты хранить собрался. У меня была версия для чисел.
Иди выучи что такое линкед лист для начала что ли. Ты чот совсем ньюфажина.
Ну да а то как же мы без функций map, reduce, классов и прочего. Но линкед листы это вам не это, сами пилите. Такая логика что ли?
Хз, может для этого есть спидди-аналоги встроенные в движок, у них всё же однозначный функционал. Хотя та ещё шиза конечно.
А как ты встроишь линкед лист? У него десятки реализаций в зависимости от использования и нагрузок.
Да я не знаю, возможно действительно глупый вопрос. Для контекста как он у меня появился, я встречал задания на этот лист на сайте где задачки по жс и ещё теперь в книжке про грокаем алгоритмы. Вот и подумал как это так я уже сколько язык изучаю и не слышал про эту структуру данных, хотя те же колстеки, очереди знаю
https://academy.yandex.ru/schools/frontend
Думаю главная проблема этого линкед листа - он совсем не связан с парадигмой жс или вроде того. Кроме всех прочих проблем.
А ещё, что самое главное: линкед лист нахуй никому не нужен, лол. Всё что решает ликнед лист другие структуры данных решают лучше.
В теории у линкед-листов есть некоторые плюшки. Но на практике все эти преимущества убиваются о медленную память, а с кэшем линкед-листы принципиально не дружат.
Полная залупа. В лучшем случае устроят к себе на галеру за еду с отстёгиванием им процентов зарплаты за столь щедрое одолжение в течение последующих n лет, если такое оговорено. В худшем просто деньги и время потратишь, вкатуны после курсов никому нахуй не нужны, особенно в последние годы когда их стало как грязи.
Списки используются часто, в разных задачах, в разных языках. В хороших книгах учат самостоятельно их реализовывать, даже если они есть в языке. Это хорошая прокачка. Только эти книги обычно не про JS. Один из наиболее крутых источников на мой взгляд это Хекслет.
https://ru.hexlet.io/courses/basic-algorithms/lessons/linked-list/theory_unit
https://ru.hexlet.io/courses/sequences/lessons/list/theory_unit
Возможно это не единственный контент связанный со списками на их сайте.
Я понимаю какие-то там деревья ебаные, которые крутить надо и раскрашивать, или мапу свою написать, тоже не тривиально.
Но списки? В чем прекол то? Разве что когда си учишь чтобы объяснить как указателями пользоваться.
>Думаю главная проблема этого линкед листа - он совсем не связан с парадигмой жс или вроде того.
Равносильно заявлению, что JS не связан с программированием.
>линкед лист нахуй никому не нужен, лол. Всё что решает ликнед лист другие структуры данных решают лучше
Типичный парадокс Блаба. Ты не знаком с какой то областью знаний и поэтому считаешь, что она не несет никакой пользы.
https://nestor.minsk.by/sr/2003/07/30710.html
Ну хуй знает, даже с регистровой памятью не вижу каких-то преимуществ. Есть всегда лучшие структуры, которые подходят к задаче лучше, выполняются быстрее, занимают меньше места и т.д.
>>52408
>Равносильно заявлению, что JS не связан с программированием.
Чего? Жс сейчас делают функциональным. Парадигма жс - объекты. Линкед лист тут вообще хз нахуя.
>Типичный парадокс Блаба. Ты не знаком с какой то областью знаний и поэтому считаешь, что она не несет никакой пользы.
Ну, речь не про какие-то функциональыне преимущества лиспа, я скорее говорю с точки зрения эффективности вычислений. Любая функциональщина, вклюая лисп, тратит слишком много процессорного времени и дополнительных вычислений в никуда. Ну и линкед лист туда же.
Скорее всего вне asynс-функции вызываешь
Не слушай этого >>52383, всё что он написал не относится к Яндексу. Дрочат они нормально, знания дают. В последствии таким образом к себе заманивают неплохих начинающих разрабов за довольно низкий прайс. Подводные - ты скорее всего не попадешь туда. Чтобы пройти все тесты и записаться в школу, у тебя должна быть уже хорошо сформированная база знаний. Некоторые яндекс-разрабы сами часто иронизируют что не могут пройти вступительные экзамены, лол.
И где в твоем лиспе двусвязные списки например? Я чет в коммон лиспе такого не нашел. Потому что если они тебе нужны, ты либо сам их пишешь (это просто), либо тащишь какую-нибудь библиотеку, в стандарте то они нахуя? А списки там есть, потому что язык на них построен, а жабаскрипт построен на объектах да массивах, там и без списков можно отлично жить.
> В последствии таким образом к себе заманивают неплохих начинающих разрабов за довольно низкий прайс.
Пфф, сотрудник практикума, ETO TI? Там 90% ПРОФФЕСИОНАЛЬНЫХ РЕВЬЮВЕРОВ, которые проверяют работы - это бывшие ученики того самого практикума, которые не шмогли найти работу и теперь РАЗБИРАЮТСЯ В ЧУЖОМ КОДЕ вкатышей за мелкий прайс. Вот это и будет его будущее в лучшем случае. А знания там - это копипаста с документации, которые можно получить и бесплатно.
Учиться в команде и наставниками всё равно результативнее и даёт буст к мотивации, чем в одно рыло. Да и возможность получить оффер в яндекс пусть даже за небольшой прайс, всё равно это жирный плюс.
Главное что школа бесплатная, и только поэтому я вообще защищаю её. Другое дело что там вступительные экзамены бывают такого уровня, что поступающий уже наверное с этими знаниями может на джуна куда-нибудь залететь и получать зп. Но если нет необходимости уже начинать зарабатывать, то как интересный и полезный вариант для времяпровождения.
> Да и возможность получить оффер в яндекс пусть даже за небольшой прайс, всё равно это жирный плюс.
Ты ведь в курсе, что они с самого начала прямо говорят, что никаких офферов в сам яндекс не гарантируется и это вообще сторонняя фирма у которой от яндекса только название?
Техлид увидит что ты сыпешься и заебет тебя вопросами. Тема очень важная. Сразу же отсеивает 90% людей
Недавно был набор на стажировку в одном городе. Так вот, тестовое задание там просто пиздец. Серьезно, легче опыт накрутить и выставить себя ждуном, чем заниматься таким мазохизмом.
А с хуяли они вообще ОБЯЗАНЫ кого-то нанимать? В бесплатной то школе то.
Ясен хуй они самых выслужливых и старательных рекомендуют.
Уверен это всё равно интересная опция для некоторых.
Уж лучше свою карьеру начать в сторонней фирме у которой от Яндекса только название, чем в подзалупной галере где начинающего разраба наебут на зп.
> В бесплатной то школе то.
Они и в платной не обязаны. Буквально. Платишь несколько сотыжек, тебя проверяют бывшие ученики, а потом ты сам становишься ревьювером за нащепрайс. Яндексовая человеческая айти-многоножка.
Ну вот я щас учусь в школе где я ни копейки не плачу, делаю дз, проверяют задания, лекции рассказывают, даже есть практика. В чем наебка? Старательных возьмут на стажировку. Полуочно.
Начнем с того что гитхаб палит вкатуна. Если ты деплоишь КРУД то над тобой скорее посмеются.
Помог, на гитхабе был проект с курса, магазин, заметочник на электроне и простая игрушка(типа 2048). Все кроме электрона было задеплоено.
Ни разу никто не смотрел за пять мест работы и за семь собесов.
>>52594
Будем честны, что все кто обижен на яндекс, всегда обижены по одной причине: их смешали с говном у них на собесе
Не спорю, Яндекс пользуется своей популярностью, и выкручивает любой собес на максимум, т.к. могут позволить себе отсеять много желающих. Но настолько обижаться из-за этого на яндекс, это довольно жалко.
Другой причины хейтить Яндекс не вижу. Эта компания на голову выше любой компании в РФ, а их вклад в популяризацию программирования вообще бесценен (хотя это возможна вторая причина для обиды на яндекс от бородатых-сеньоров, из-за повышенной конкуренции с молодыми)
Я не хрюша яндекса. Я безработный, на данный момент, фронтендер, с 4 годами опыта. В яндекс особо не старался пробиться, как раз из-за их анальных собесов. Но культура их компании, за которой я могу наблюдать на ютубе, и их конференции, меня всегда восхищают. Единственная в РФ компания, от которой не веет колхозом и которая создаёт ориджинал продукт.
inb4: то что идеи их продуктов не новы никак не уменьшает их технологическую компетентность
>Будем честны, что все кто обижен на яндекс, всегда обижены по одной причине: их смешали с говном у них на собесе
Будем честны, ни один уважающий себя специалист не идет в чмондекс, где людей систематически пытаются прогнуть на -40% от своей рыночной ЗП, проводя до 6-ти собеседований в поисках косяков, который нет. Иногда тупо врут "решил не оптимально" - см. случай челика, которого яндекс попытался наебать таким образом, а он не зассал, сделал тред в твиттере, где (яндекс был обоссан) и ушел на должность лучше в микрософт.
Человек, который соглашается на работу в чмондексе на -40% зп - это опущенный лох с нулевой самооценкой (на поиск таких весь HR брен чмондекса и работает)
>Не спорю, Яндекс пользуется своей популярностью, и выкручивает любой собес на максимум, т.к. могут позволить себе отсеять много желающих. Но настолько обижаться из-за этого на яндекс, это довольно жалко.
Да, именно поэтому в чмондекс с недавних пор открыт найм с 14 лет, а стримеры ходят в офис чмондекса с попыткой пропиарить это говно среди детей (потому что взрослые люди в чмондекс не идут)
>Другой причины хейтить Яндекс не вижу. Эта компания на голову выше любой компании в РФ, а их вклад в популяризацию программирования вообще бесценен (хотя это возможна вторая причина для обиды на яндекс от бородатых-сеньоров, из-за повышенной конкуренции с молодыми)
Ага, видели исходный код, знаем. Говно на говне, каждую неделю сервисы падают на час-другой, воровство и слив перс. данных - ОХУЕННАЯ КОМПАНИЯ, НАМНОГО ЛУЧШЕ МЫЛО.СРУ, КОТОРУЮ ВСЕ НЕНАВИДИЛИ В СВОЕ ВРЕМЯ. А так контора пиздатая, футболки красивые, ага.
Яндекс-лахта, съеби на парашу.
В общем боль только на собесы. Уровень ЗП это дело каждой компании, они никому ничего не должны если платят минималку, Тут ты уже сам решаешь, стоишь ли ты больше, или нет.
А про их слитую кодовую базу, где ты сделал вывод что можешь лучше - это уже хваставство уровня малолетнего дебила.
>Да, именно поэтому в чмондекс с недавних пор открыт найм с 14 лет, а стримеры ходят в офис чмондекса с попыткой пропиарить это говно среди детей (потому что взрослые люди в чмондекс не идут)
Нет, потому-что они действительно занимаются популяризацией программирования, на что государство в основном положило
Не проще ли отсортировать массив и взять последний элемент из него, который будет либо макс, либо мин, в зависимости от сортировки?
Я не Яндекс.Лахта. Я безработный, на данный момент, фронтендер, с 4 годами опыта
>Такое-то завидное упорство, отказываюсь верить, что этот патриот чмондекса бесплатно здесь копротивляется.
Просто я, в целом, восхишаюсь тем что они делают.
А тебе я не завидую, ты наверное живешь в режиме что все вокруг говно и пытаются только тебя наебать. У тебя нет ориентиров, кумиров, тебе всегда кажется что ты лучше других. Ты всегда будешь стагнировать на том уровне котором ты есть, а в итоге и деградировать начнёшь.
Ну а ты думал, дураков идти туда с каждым годом все меньше и меньше.
Типичная картина - когда лох из яндыкса понимает, что получает на 40% меньше своей рыночной ЗП (потому что ему надурили голову), начинает срываться на всех, кто не из чмондекса:
"РЯЯЯЯЯ ВЫ НЕ ДОСТОЙНЫ
ЯНДЫКС ЕДИНСТВЕННАЯ ДОСТОЯНАЯ КАМПАНИЯ РФ
ВЫ ПРОСТО НЕ ПРОШЛИ СОБЕС А Я ПРОШЕЛ"
Уход в манямир, короче.
>Жс сейчас делают функциональным
В каком смысле? Он рожден функциональным, если речь о ФП.
>Парадигма жс - объекты
Функции.
>Линкед лист тут вообще хз нахуя
Список прежде всего АТД. У него другая по сравнению с массивом семантика.
https://en.wikipedia.org/wiki/List_(abstract_data_type)
https://en.wikipedia.org/wiki/Array_(data_type)
>речь не про какие-то функциональыне преимущества лиспа
Я во вообще Лисп не упоминал. Просто в той статье говорится про парадокс Блаба.
>Любая функциональщина, вклюая лисп, тратит слишком много процессорного времени и дополнительных вычислений в никуда.
Это не правда. Некоторые реализации SML очень близки по производительности к Си, а иногда даже быстрее. Тот же Раст туда же.
Эта разница в производительности вообще ничего не значит. Очень мало задач где требуется производительность уровня C/C++/Rust. При этом код на них писать тяжело. Он получается объемный и сложный, поэтому и поддерживать его тяжело. Поэтому предпочтительней писать на функциональном языке. Код намного компактней, проще для понимания и поддержки, пишется значительно быстрее. Узкие места всегда можно оптимизировать или переписать на C/C++/Rust.
>лист туда же
Кто сказал, что списки имеют низкую производительность?
Про -40% вы полную хуйню несёте. Если кому-то, тому же Владу Тену предложили меньше чем он ожидал и меньше чем он заслуживает (это действительно так) это не означает об их системе. Просто они пытаются нанимать разрабов постоянно, фоном, но судя по всему не всегда выделяют бюджет на разрабов рыночной стоимости. Просто они пытаются играть в гугл, но всё же до них конечно не дотягивают.
>>52650
Я говорю о компании, я говорю об их вайбе и продуктах, об их активности на ютубе и ирл. То как они пытаются купить дешевле/продать дороже меня не ебёт, потому-что понимаю как устроен рынок, и здесь в целом справедливость сложно найти. Уж извините что я не разделяю вашу обиду, за то что Яндекс не целует разрабов в попу и не кидает в них деньги, а просто относится к ним как к ресурсу, кем собственно и является любой наёмный рабочий
> cmake
Вместо говна советуешь мочу. Даже нормальной поддержки модулей нет. Я в итоге на расте буду писать, похуй, мне не принципиально, биндинги на всё нужное есть. Сегодня ещё пол дня с электроном проебался чтоб вычистить говняк и всё собиралось одной командой. Понаделали комбайнов, которые работает нормально только если обмазаться ещё пачкой фреймворков.
Если ты лояльно относишься к мясобойне, которая относится к тебе как к скоту - ты и есть самый настоящий скот. Для людей, которые не уважают даже сами себя чмондекс и существует, нормальным людям с ними делить нечего.
Как же нажористо.
Ты описываешь любую крупную корпорацию, дитя. Так устроен рынок. Ну сиди в своих ооо рога и копыта, никто тебя и не приглашает никуда. Создают культуру и двигают прогресс именно такие корпорации, а не твои подзалупные конторки, где таким, потухшим людям без интереса к своей професии как ты, и место
А вы настолько обиженки, что готовы засирать корпу только за их анальные собесы, полностью игнорируя их технологически сильный коллектив
Он ничего умнее "чмондекса" не придумал за десяток с хуем сообщений, зачем ты вообще пытаешься?
И да, >>52336 это я, и мне уже жаль что я завел разговор на эту тему. Бтв попробую, они по идее должны хотя-бы общагу организовать, получится - проведу лето в Мск с бесплатным жильем, еще и с шансом сразу в крупную компанию попасть, пусть и не за 300к/наносек.
Занимаюсь с начала года, хтмл ксс поверхностно изучил, теперь ебусь с жсом. Думаю знаний уже достаточно, уже ООП знаю и всю эту ебаторию, с api работать научился. Думаю те пару месяцев с ментором дадут ультрабуст, т.к. часто возникают вопросы и получить дельный ответ неоткуда, на stackoverflow обычно уже кейсы с проблемами, а не вопросы по синтаксису или в духе "какого хуя это работает вот так".
>В каком смысле? Он рожден функциональным, если речь о ФП.
Обычный императивный язык с объектами, ООП. По крайней мере изначально так было, сейчас функциональщины хуярят.
>Функции.
Тоже объекты.
>Список прежде всего АТД. У него другая по сравнению с массивом семантика.
В жс-то он нахуя?
Функция это тоже объект, кстати.
>Это не правда.
Это правда.
>Некоторые реализации SML очень близки по производительности к Си, а иногда даже быстрее.
Если писать императивно - да. Если функционально - нет.
>Тот же Раст туда же.
Если писать императивно - да. Если функционально - нет.
>Эта разница в производительности вообще ничего не значит.
Если ты говноед ебаный - да. В реальности производительность один из главных критериев успеха среди пользователей.
>При этом код на них писать тяжело.
Знаю. Иди улицы мести, программирование в принципе сложная хуйня.
>Он получается объемный и сложный
Наоборот, он получается маленьким и менее сложным, выполняется быстрее, меньше нагружает устройство и вообще топ.
>Кто сказал, что списки имеют низкую производительность?
Реальность.
Если это не зеленый - то дебил с Даннинг-Крюгером, занимается с начала года, а уже знает ООП и
>всю ебаторию
Я вкатыш. Пытаюсь в фулстак или фронт с беком по отдельности.
Что хотел сказать? Функции это объекты. Без функции JS не имеет смысла. Вывод: функция наиболее важный элемент в JS.
>Если писать императивно - да. Если функционально - нет
Императивно в SML? Как?
>Наоборот, он получается маленьким и менее сложным
Изменяемое на каждом шагу состояние не может быть простым. Комментарии тут излишни, очевидно, что ты даун.
>Императивно в SML? Как?
Лол, да как угодно там тысячи возможностей импартивщену писать. Когда ты меняешь внешние данные, например.
>Изменяемое на каждом шагу состояние не может быть простым.
Во-первых никакого состояния нет. Это ооп-хуита, такая же как и функциональная хуита. Есть функции и данные.
Во-вторых у тебя типичный парадокс Блаба. Ты не знаком с какой то областью знаний и поэтому считаешь, что это очень сложно и вообще невозможно.
>Комментарии тут излишни, очевидно, что ты даун.
Аргументация уровня функциональщика, пынямаю.
Ты продолжаешь кидаться говном как тупая макака и при этом упрекаешь в недостаточной аргументации? Очевидно - даун.
То что функциональный подход много раз копирует данные, переписывает их в целом делает бесполезные операции чтения-записи это не кидание говном, это правда. И то что из-за этого функциональный подход имеет низкую производительность это тоже правда.
Есть специальные высокопроизводительные парадигмы, data-oriented design например и какие-то пограничные подходы, сочетающие объектные и реляционные походы. Это куда проще и легче понять, они требуют писать в десятки и сотни раз меньше кода, просто потому что не работают с абстракциями. Они императивные, но имеют чистые функции. И они дико производительны, в тысячи или десятки тысяч раз производительнее функционального кала. То что тебе трудно такое понять - ну так нахуй ты вместо обучения программированию изучал функциональный кал?
Это не какое-то кидание калом. Это просто описание реальности.
> Обычный императивный язык с объектами, ООП. По крайней мере изначально так было, сейчас функциональщины хуярят.
Ну не, идеи лиспа там изначально были, а ООП до сих пор странное, а раньше, ES6, было ещё своеобразнее.
Ну да, не ооп, а просто объектная хуйня. Объектно-ориентированное.
>>52840
Так тут только ты говоришь про трудности, ты забыл что ли? Это ты не осилил писать в императивном стиле и порвался что это сложно.
Но не переживай, я не отрицаю функциональщину. Лисп для научно-исследовательских задач и бизнеслогики заходит. Для программирования программ и повседневного использования - нет.
Даун, сложный код - это про качество кода, про хороший и плохой код, а не про то, что код сложно писать, типа сложно осилить. Ты конечно все равно нихуя не поймешь, потому что вообще не способен мыслить на уровне понятий о плохом и хорошем коде. Типичный школьник-байтоёб. В реальной жизни твоя мнимая производительность ничего не будет значить, потому что ты тупо не сможешь написать веб-приложение на C++. Или напишешь его, но оно будет совершенно неподдерживаемым.
Код бывает простой и сложный, слабо и сильно связанный. Императивный код априори сложный, а такие как ты пишут его еще и сильно связанным. Такой код ты можешь написать только себе в стол. На работе за такое по рукам надают.
>В реальной жизни твоя мнимая производительность ничего не будет значить,
Хихи, ладно.
>потому что ты тупо не сможешь написать веб-приложение на C++.
В моём приложении на жс 3 вызова функций. В твоём приложении на жс 7468 вызова функций. Догадаешься на каком сайте пользователь задержится дольше? На размышления 12 секунд, пока твой сайт загружается.
>Или напишешь его, но оно будет совершенно неподдерживаемым.
Конечно, три вызова куда сложнее чем 3457.
>Код бывает простой и сложный, слабо и сильно связанный.
И бывает функциональным говном на библиотеках.
>Императивный код априори сложный
Иди газоны стричь, домохозяйка. Зачем ты вообще пошёл программировать? Тут сложно.
>Такой код ты можешь написать только себе в стол. На работе за такое по рукам надают.
Ты функциональщик. Ты нигде не работает. У тебя справка по шизе. Очнись.
>Это ты не осилил писать в императивном стиле
>не осилил писать в императивном стиле
Но ведь ИМПЕРАТИВНЫЙ СТИЛЬ как раз есть отсутствие всякого стиля и маркер туповатой посредственности с IQ 90, генетически неспособной стать хорошим программистом, но на волне популяризации питухонов и ололо-бигдатамашинлёрнингов среди максимально далёких от айти людей решившей заделаться наносеком и срубить бабла. К счастью скоро это говно вымрет и ты попиздуешь на завод за 300 баксов, где тебе и место.
по своему опыту 99% глупых постов это реально глупые посты, зря на тролей грешите. троли они вообще чаще всего не в теме и пишут про чат гпт или типа того
А, ну да. Какое может быть приложение у функиональщика? Разве что консольное. И то вряд ли.
>>52979
Найс порвался. Только вот в твоём приложении по прежнему 4567 вызовов функций и эта хуйня по прежнему никому не нужна.
И всё потому что ты не осилил сложность, оказалось что программирование сложно, а ты просто не смог.
Может перекрутишь тратить своё время на ерунду и начнёшь изучать программирование?
>>53095
Типичный код функционального шизика кста. Он потом рассказывает как всё понятно и если писать не так, то пойдёшь назавод. Ебало шиза представлять не стоит.
>>53096
Ты чего, функционалошиза, это же ЛИСП, а не скобка. Не уважаешь лисп штоле?
Чел, ну ты же там ни дня не работал, что ты несёшь?
Сап Анон. Объясни пожалуйста ньюфагу в JS за код:
Это решение задачи: создает случайное значение, сверяет его со значениями в массиве, если значение уникально, добавляет в массив.
Объясни 29 и 31 строчку.
что за переменная "'arr"? Я не могу понять где мы ее объявляем/присваиваем значение.
31 строчку я понимаю +- Мы создаем новый массив, чтобы старый не мутировать, но блять ,где этот массив arr?
так ты эту arr сам укажешь при вызове функции, странно что ты знаешь про блядский спред, про мутацию, но не знаешь про параметры лол
ты мне объясни откуда этот arr взялся, Я знаю что он тут как аргумент, но нигде не сказано что он из себя представляет массив
MIN и MAX мы задаем, они в глобальной области, arr где блять ? Где значение его? Как узнать что там находится
Там не в позиционных аргументах дело. Суть в том, что функция создаёт копию массива ( в строке 31), чтобы не модифицировать оригинальный. Вот это его и вводит в ступор. Он просто не знает, что объекты (а массивы в жс - разновидность объектов) передаются по ссылке и модифицирующие методы такие как push их и меняют.
А, стоп, я не читал его пост. Оказывается он тупее чем я думал. Такое даже в самых удалённых шарагах проходят на первом курсе. Что такое формальные и фактические параметры (они же просто параметры и аргументы).
блять, я знаю что массивы это тот же объект, но ключи у него нумерные, в объекте ты их сам задаешь. Я знаю что означает push, shift, un shift и тп базой. Откуда arr?
Yу тут как бы логично можно было догадаться, что массив у тебя называется arr внутри функци и при вызове ты неявно присваиваешь переменной/параметру функции значение массива. Т.е. const arr = myNumbers
Ответь, откуда в 25 строчке ты взял min и max? И как ты эти "переменные" используешь в 26? Вот по той же логике у тебя и arr - ты ее можешь обозвать хоть huyArr, если будет ее использовать в функции.
Ты чет хуй пойми куда забежал, так и не поняв просто функций. Это база, это знать надо!
Он там абсолютно явный. Никакой магии в стрелочных функций нет ("магия" есть касаемо работы с this, но тут это не важно).
переменные min и max заданы в 17 и 18 строке. Далее randomNumber идет ссылка НА ЭТИЖЕ параметры и так работает. Смысл писать код с разными переменными и аргументами, снижается читабельность кода же или нет?
> переменные min и max заданы в 17 и 18 строке. Далее randomNumber идет ссылка НА ЭТИЖЕ параметры и так работает
Что так работает? в 17 и 18 заданы MIN и MAX, а на 25 уже min и max, как так получается, откуда они взялись?
при объявлении аргументов в функции, программа будет искать эти переменные в локальной области ( в теле функции), если не найдет, пойдет в глобальную область.
где то на жестком диске, не ебу. Обычно при создание переменной присваивается значение, если нет- undefined. Все мои познания
Ну вот видишь получается что у нас нет не только arr но и min и max. Как хорошо было бы если бы у нас где то в коде была строчка где есть все три этих слова, наверное бы это значило что там происходит что то, что пока ускользает от нас.
Смотри, начнём с того, что объявление функции это не её вызов. Строки 29-41 это её объявление, 43 - это вызов и присваивание результата вызова переменной. В момент когда ты её вызвал ты передал функции аргументы, которые, скажем так, подставились на те места и в том порядке, в котором ты перечислил параметры в объявлении функции. То есть твой arr это переменная, которая объявлена, но пока она undefined, а значение ей передаётся по ссылке в момент вызова функции. Она нужна чтобы сказать функции "сделай вот со штукой которая будет стоять на месте вызова в этом месте вот такие операции".
>вызов и присваивание результата вызова переменной. В момент когда ты её
сука точно, бляяяяяя . Я что то забыл вообще напрочь, что когда используем 1 раз функцию, мы ее должны описать, а потом вызываем ее со всеми аргументами
Теперь сходится все, это "условные" переменные, предназначенные для описание "логики " этой функции
я по кантону и учусь, сначала смотрю его https://www.youtube.com/watch?v=CxgOKJh4zWE&t=4347s&ab_channel=BogdanStashchuk , потом полирую знания кантоном
Тогда ясно, почему у тебя возникают вопросы на, блять, функциях. Хорошо учит, главное заполировать качественно.
Значит невнимательно смотришь, этот курс конечно очень куцый, у него нет нихуя про DOM тот же, но про такие фундаметальные вещи как функции он достаточно понятно объясняет для людей которые вообще не знают что такое программирование. На замыканиях ты наверно вообще с магии охуеешь, хотя про области видимости он тоже объясняет там.
В данной ситуации на рынке, если только-только решил познакомиться с тем что такое программирование, на твоём месте я бы рассмотрел другую специализацию или даже отрасль. А уж если есть военник, то какое-нибудь АСУ, ЧПУ и т.п. в какой-нибудь промке вообще заебись было бы. Но там часто требуют инженерное образование, однако и бронь дают и деньги отличные, местами даже больше чем в веб-разработке.
А еще место машоб треда - "нейронки все захватили мы все умрем"-тред. Где вообще блядь CS и прочие хачкели? В какое же говно раздел рухнул.
Я закончил авиационку, инженер по авиационному оборудованию, события закончатся и нахуй от туда. На гражданки всю авиацию уже угондошали и международную тоже, запчастей нет. Буду стараться Front освоить и UE5 ( Это как увлечение) и английский со всеми вытекающими ... На завод не хочу тк заебало все это, ни чуть не лучше то где я сейчас. На оборонке люди увольняются из за 3-х смен....
так хорошо же, пусть нормисы ебаные даже не думают про вкат в айти
Блять, да, только до самого дошло. Чет не подумал что у меня тут сразу возвращается значение, думал аккумулятор будет АККУМУЛИРОВАТЬ
>>53495
вот ты вовремя написал, я сегодня пару часов тупил в разные варианты этой функции, там вот так можно, но не для пустого массива:
arr.reduce((max, cur) => (max > cur ? max : cur));
а ещё лучше через цикл
Стыдно признать - я не мог вспомнить как цикл писать, и не хотел заходить чекать... Память просто пиздец, если учил что-то больше недели назад, то уже вспоминаю с большим трудом. Редюс оказался ближе...
И да, твой метод явно приятнее глазу :)
Какой редьюс нах? Нахуя он нужен?
Читается проще чем твоё говно, сразу видно что эта хуйня делает. А за --i+1 в условии я бы захотел дать тебе по ебалу.
>>53551
Ты реально не можешь прочитать while и if? Эти слова действительно вводят тебя в заблуждение? Это реально?
Без шуток, это реально?
> в две строчки
С такой логикой любой код можно в одну строчку записать. Точки с запятой позволяют.
Нет, там реально две логические строчки.
>>53558
0 в js в логическом значении false, положительное число true, хз что там с отрицательными.
i-- возвращает число, а потом уменьшает его. --i сначала уменьшает число, а потом возвращает его.
>>53559
В теории да, должно. Хз что там на практике. Кстати можно ещё вот так сделать, чтобы преобразования типов не было. Хз вообще это имеет смысл или нет? Пусть будет так, мне кажется компилятор это будет куда лучше компилировать.
>>53564
> мимо
Там нет --i. Не трясись.
Я тостер и получил задачу наладить автоматизированное тестирование на проекте с typescript.
Решил начать с оформления unit-тестов, т.к. разрабы забили хуй.
Какие есть варианты запилить юнит тесты? Что брать, если не Jest?
Ну я сделал, но есть проблема.
<<<< Написал вот такой код, он работает, но в Стрикт Моде Реакта элементы в массиве дублируются. Это из-за двойного срабатывания (второго) useEffect.
Если стрикт мод выключить, всё ок.
И чё тут делать?
Я пробовал в useEffect делать return () => setPostList([]), но нифига.
intersectionRef это реф на элемент, setPostList это обычный сеттер состояния, PostList это массив.
new IntersectionObserver это для срабатывания колбэка, когда страница до конца вниз прокручена.
Если сделать, как у меня там закоменчено: // setPostList([...postListObject, ...response.results]); то вообще хз что начинается.
Может подскажете что-нибудь?
> Там нет --i. Не трясись.
Ну и прекрасно, а то начинают со своими
for (let i = 0, j = zalupa.length; ... ; zalupa[i++] = --j) {}
Читаемость повышают.
Чётность тоже на постоянке через побитовое И определяешь?
Ой блядь, кому я отвечал
> 0 в js в логическом значении false, положительное число true, хз что там с отрицательными.
Ты же блядь байтоёбишь и не знаешь как твои байты работают.
Но да, отрицательные числа конвертятся в true
Апи получения постов должно работать не так.
У тебя должен быть вызов getPosts, который принимает offset числом.
getPosts() => [посты 1-10]
getPosts(10) => [посты 10-20]
Офсет у тебя по дефолту 0, когда доходишь до конца ты инкрементишь его и фетчишь новую пачку. Все пачки складываешь в массив массивов. Таким образом при повторном вызове getPosts с тем же офсетом у тебя просто перезагрузятся последние 10 постов, а не продублируются.
Не очень понятно...
И у меня там посты на страницы разбиты. Страница 1 = 10 постов и так далее...
Попробую через массив массивов.
Читаемость повышают.
Так это реально читаемо, две переменные объявленные в цикле, топчик просто. zlupa++ не ставить в скобочках цикла и это будет идеальным синтаксисом - обявление переменных и условие, идеал просто.
> Чётность тоже на постоянке через побитовое И определяешь?
Почти никогда не требуется. Хз даже как её определять, реально через побитовое и? Ну ладно.
>>53627
>Ты же блядь байтоёбишь и не знаешь как твои байты работают.
Разные типы никогда не сравниваю. (--i > -1) хорошо и понятно выглядит.
>Но да, отрицательные числа конвертятся в true
Чел....
Ну да. Чай с мочой - традиционный напиток джаваскриптеров.
Короче, я не могу разбивать свой массив на массив массивов, потому что мне с ним потом много работать нужно. Это слишком много вложенности создаёт.
Вот такая штука помогает избегать двойного наполнения
if (!isLoading.current) {
fetchPosts();
isLoading.current = true;
}
}
Но это фигня какая-то
Говорю, что ты придурошный аутист, который не освоил статью про равенство на mdn. Так понятнее?
Твои труе/фалсе в данном случае конвертятся в числа 1/0.
Да ты и так уже обосранный, если так рассуждаешь.
есть типа архитектура mvc модель и контролер понятно зачем, view я так понял отдает html, а если фронт на реакте каком то например то View не нужен ? или за что он отвечает ?
не стукайте вкатуна
Я тебе написал уже, обмудок. Конверсия идёт в булево значение. Явно ты это можешь сделать вызовом функции Boolean(value). Внутри твоего while в проверке условия это происходит неявно.
bump
Да что победой то? Ты начал про байтоёбство, но не знаешь как эти байты работают. Да, у меня сгорело от такой хуйни.
=== не приводит типы. Если типы не совпадают он сразу возвращает false.
Могу ебать байты и не зная что там в жс происходит! Не пользовался из этой хуйни ничем кроме --i и вообще никогда проблем не было.
Если подумать зря конечно было, вот тупой бля. let i = lenght; while (--i > -1) вообще топчик для перебора, если не требуется каких-то дополнительных переменных. Новые открытия каждый день. Кстати, мне как раз для sparse set нужно перебирать с конца, вот это годноту-то открыл для себя! 10/10, хорошо что в тред зашёл.
Я делал тестовое на отьебись, по логам даже видел как валидацию обманули и занесли хрень вместо номера телефона в бэк. Я подумал все, я обосрался. Через неделю захотели взять, но я отказался ибо там пхп во первых, во вторых джикверик, в третьих 15-40к вилка, но очевидно что платить будут 15к. Зато удаленка. Но я не дешевка, в ит смысла нет с такой уебищной зп и плюс с пыхой.
К слову пхп я до этого вообще не тыкал, всю ночь провел со сборником cheatsheet и наверняка моя архитектура ввела бы в шок любого кто в пхп хотя бы полгода.
> 15-40к вилка
А собеседовался на джуна?
> и плюс с пыхой
Работал с пыхой и мне кажется, что основные проблемы не в пыхе, а в том, что таких, как я, пускают работать с пыхой и из-за этого там говнокод...
На проект однажды завалился чел, который был реально компетентен, мы с командой его сломали, он ушёл на х2 поди, но его наследие было не забыто, я осознал, что он реальные вещи делал и углубился в пыху, понял, почему он писал так, как писал и начал также писать.
На, на джуна. Я не пошел ибо во первых я обосрусь на собеседе, пхп за ночь выучил. Во вторых трудовую не стали заводить, то есть это тупо подработка, и соответственно мне нет выгоды, мне ведь надо опыт.
С пхп все хорошо было, я уже в реакте отлично научился в архитектуру. Но мои решения скорее всего были ужасные. Я фреймворк использовал пхпшовский.
> Я не пошел ибо во первых я обосрусь на собеседе, пхп за ночь выучил.
Да поди взяли бы, с расчётом на то, что выучишь при работе то, что нужно. За 15к то чеб не взять, меня взяли, в свое время, фуллстечить.
> Во вторых трудовую не стали заводить, то есть это тупо подработка, и соответственно мне нет выгоды, мне ведь надо опыт.
А зачем трудовая? Опыт же и без неё получишь. Вроде опыт не по трудовой смотрят, а на веру принимают
Все равно хочется с трудовой. Попасть с накруткой, и там уже реального набраться.
Ну да,вопрос как.
pwa можно разместить в маркете? почему нет смысла то. в маркете овердохуя простых приложений. впрочем я нашел какой-то онлайн конвертер https://www.webintoapp.com/ . надеюсь он туда лишнего говна не напихает.
Да, Jest и testing library.
Раньше я был убеждён, что реакт гораздо фуфлыжнее вью - признаю, был неправ, с новым для меня. Я это этого 3 года назад на вкате реакт трогал синтаксисом, с функциональными компонентами и хуками он вполне себе ничего, а уж редакс тулкит после редакса, моё почтение.
Если ты хорошо знаешь вью, то что мешает по читшиту повторить и приготовиться к собесу?
Нет, подсматривать на собесе - хочется таких обоссать. Идеально ты это не сделаешь, либо как даун будешь уводить взгляд на шпоры и залипать, либо девайсы будут на ебасосину отсвечивать.
Если у интервьювера язык не в жопе - может ещё и прямо спросить, а не пытаешься ли ты его наебать?
> Если ты хорошо знаешь вью, то что мешает по читшиту повторить и приготовиться к собесу?
Так и сделаю. Было бы круто оффернуться на желаемую сумму, я был бы радостным пару месяцев...
>Но как быть с тем, что я последние 2 месяца дрочу реакт и не прикасаюсь к вуе, я ж сольюсь на собесе
Если ты сольёшься на собесе потому что вместо работы на одной высокоуровневой абстракцией над языком работал на другой высокоуровневой абстракцией над языком, то ты, должно быть, и первую не очень хорошо знаешь. Фреймворки и придуманы для дурачков, для того чтобы ты прочитав их документацию сразу начал делать продукт, а уж если ты знаком с принципом работы и основным функционалом, то на то чтобы более менее восстановить знания тебе одного дня за глаза хватит.
>то ты, должно быть, и первую не очень хорошо знаешь
Причём ладно ангуляр с его строгой архитектурой и синтаксисом, но вью и реакт это brothers from another mother, у одного просто в папке node_modules будет чуть больше директорий.
Так а чего я думаю ноду и основные алгоритмы тоже нужно знать для собеса как минимум, а ноду в плане клиент-сервер отношений, в чём я не прав? Но меня кстати ещё понесло немного и я прочитал доку секвалайза когда начинал делать свой учебный интернет магазин, хз это лишнее или как было
мимо
Не слушай вот этого >>54299 пидора, он тебя троллит. Вкатываться в веб-дрисню и особенно во фронт в 2023 с абсолютного нуля это дохлый номер. Твоё резюме будут посылать нахуй не глядя, а если и повезёт попасть на собес и не быть посланным нахуй уже оттуда, то лучшее, что тебе предложат - ебашить за зарплату кассира в магните. Если не готов так следующие 3-4 года провести, то лучше поищи что-нибудь другое.
Скрипт должен каждую минуту проигрывать аудио-файл.
const audio = document.getElementById("audio")
const timerId = setInterval(()=>audio.play(), 60000)
Типа того если на странице.
Я удвою анона выше. Выбери для начала что-нибудь одно. Или фронт, или бэк. В твоём случае по накатанной это уже будет фронтом. Поработаешь, наберёшься опыта. Повысишь общую компьютерно-кодерастскую грамотность - прыгать по технологиям будет проще.
После работы тебе никто не запрещает что-то учить и пилить для себя.
В некоторых конторах иногда можно расти в фуллкека.
Если интересно именно в связке с нодой - такое на отечественном рынке найти крайне сложно. Могут ещё и php за щеку предложить.
const audio = document.getElementById("Glow.mp3")
const timerId = setInterval(()=>audio.play(), 60000)
Я сделал так, но аудио не играет. Я так понял, у меня ошибка.
Я полный нуб, я извиняюсь.
Нет, это будет плюс в резюме, несомненно, особенно если можно посмотреть на гите что ты делал. Это будет несомненный плюс на фоне остальных. Но ты либо jack of all trades master of none, либо знаешь хоть что-то. Фулкеки зачастую тоже с уклоном в одну из сторон.
Я в свободное время пилю на голанге. И прям мечта на нем писать. Но говорят что туда уже с опытом берут. Вот я и подумал может на ноде набраться пока серверного опыта. А во фронт так и так скоро начну откликаться на вакансии.
Приходишь в столовую:
> - Здратути, мнеб пожрать!
> - У нас есть коклетки и картошечка на гарнир
> - А как же омары и лобстеры?
> - Ну это вам в хрюсторан на другом конце города
> - Но туда же идти надо? Пиздос!
И программирование ни при чём, экстрасенсов не завезли. Формируя мысли, описывай задачу, никто а душе не ебёт что и где ты делаешь, как и для чего.
Может тебе надо видео с паузы на ютубе снимать, так поискал бы сначала аддоны для браузера.
Никто кроме тебя не знает что у тебя в коде, если тебе очень нужно, то в твоих интересах предоставить свой код.
const audio = document.getElementById("Glow.mp3")
const timerId = setInterval(()=>audio.play(), 60000)
Ты должен в html создать тег <audio src="{путь к твоему файлу относительно страницы}" id="audio"/>. В ноде я хз как запускать аудио, никогда не интересовался, думаю есть библиотека какая-то.
Это вообще самое простое, что есть в JS
У тебя в принципе есть всё и даже больше, можешь просто создать минимальный html, вешать обработчики, клонировать и удалять узлы, в общем смотреть чё происходит и развлекаться, ну вот как вариант тоже.
https://www.w3schools.com/js/js_htmldom.asp
Спасибо, прочитаю и пойду тыкаться сам. Хуй знает, наверное жопой слушал лекции относящиеся к этой теме, ну и сам вовремя разбираться не пошел.
блинки, и такой вариант у меня не работает (((
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<audio src="Glow.mp3"></audio>
function createAudioElement() {
for (i = 0; i < 3; i++) {
var audio = document.createElement("audio");
audio.src = "Glow.mp3";
audio.play();
};
setTimeout(createAudioElement, 600000);
}
createAudioElement();
</body>
</html>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<audio src="Glow.mp3" id="audio"/>
<script>
const audio = document.getElementById("Glow.mp3")
const timerId = setInterval(()=>audio.play(), 60000)
</script>
</body>
</html>
>Нет, это будет плюс в резюме, несомненно, особенно если можно посмотреть на гите что ты делал. Это будет несомненный плюс на фоне остальных
Ура
Этот вариант, к сожалению, тоже не работает.
На Ютубе погляди как это делают. Повтори, сам что-нибудь прикути, попрыгай по элементам, хуйню какую-нибудь с ними сотвори. Я сам у кантора про дом нихуя не понимал пока по видосам что-то не поделал. Он там методов за главу штук по 20 сыпет и забить хуй на разбор этого всего и перейти на главу дальше оказывается проще, чем самому в консоли что-то смотреть и придумывать. В Ютубе это за тебя делают.
О, заработало, ПАСИБИИИИИ!!!
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<audio src="Glow.mp3" id="audio"/>
<script>
const audio = document.getElementById("audio")
const timerId = setInterval(()=>audio.play(), 6000)
</script>
</body>
</html>
мы рады
Так, ребята, новый пиздец нарисовался.
Скрипт идеально работает в Firefox, но вообще не работает в Chrome.
Это как так?
Дело в этой команде?
const timerId = setInterval(()=>audio.play(), 6000)
Будет ли разница от того, когда я готов выйти на работу, в плане шансов на оффер - через 2 недели технически я работаю, надо же уволиться, отработать или в кратчайшие сроки ведь я в отпуске и из отпуска на бенч выйду - меня без проблем одним днем уволят, мне нечего отрабатывать? Может ли быть такое, что раз я через 2 недели только смогу начать работать, возьмут другого чела, который уже уволился и работать хоть сегодня готов?
Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first. https://goo.gl/xX8pDD
Когда я нажимаю F12, и появляется эта штучка, типа консоль, скрипт начинает работать.
Защита в браузерах от автоплея рекламы и прочего говна. Пока юзер не начнёт взаимодействовать с документом, автоплей чего-либо со звуком не будет работать.
Подожди, там написано, как отключать вроде, только я не понимаю, куда какой код вставить в файле?
Но в принципе достаточно начать на белое окно и скрипт запускается.
Ток это неудобно каждый раз запускать вручную.
Отключать эту защиту можно только в настройках браузера (в firefox - точно, в хроме хз). Как вариант, можно вместо обычной веб-страницы сделать pwa, где таких ограничений вроде нет.
ок, пасиб, за помощь!
Хороший вопрос с собеседования. Очевидно не использовать жест а что то другое, что поддерживается 12. Семеро одного не ждут и не обязаны подстраиваться под твои хотелки.
Расскажите как лучше всего справляться с маржинами/паддингами в реакте если юзаешь обычный ксс с импортом обьекта стилей и класснейм? Например я хочу пиксель перфект, там в итоге получается ебучая каша с лефт и топами чтобы подогнать пиксель в пиксель.
Чувствую, что я не так работаю с ксс. Я юзаю сасс, если что, это кто шарит за верстку.
Ну так вот, я знаю что контейнер задает паддинг, а ребенок задает маржу. Или наоборот? Отрицательная маржа это плохо? Я слышал что другу миддла рассказывал дизайнер что за маржу по рукам бьют. Ну так как правильно верстать? Киньте где почитать, только пожалуйста, не старперские книжки. В инете ничего не нашел по этому поводу. Я хочу ксс со скейлингом.
>Расскажите короче про юз кейсы маржи/паддинга, за что меня отпиздят, а за что похвалят.
Это достаточно древний холивар и какого-то единого мнения на этот счёт нет, если мы берём случаи когда выбор неочевиден. Кто-то топит за системный подход и говорит "марджины только вниз и вправа, паддинги - вверх и влево", кто-то обращается к CSS Box Model и говорит "ну вот же написано для вас всё, не изобретайте велосипед - паддинг нам нужен для отступа от границы блока контент которого мы хотим отодвинуть, на то он и внутренний, а марджин для отступа от других блоков". Я считаю второй вариант самым убедительным. Что касается грид, то там по-моему марджины вообще не нужны, есть же гэпы.
Я просто знаю что дизайнеры фигмы говорят что за маржу бьют по рукам, юзайте паддинги. То есть это какой то третий кейс. Вот я хочу подробнее о нем почитать, кто его придумал, откуда оно пошло вангую с хабра
> есть же гэпы.
Плюс в гридах можно делать пустые ячейки для отступов, уровня:
grid-template:
"header header header"
". . ." 10px
"side . content"
". . ." 15px
"footer footer footer"
/ 1fr 20px 3fr;
И это гораздо удобней потому что все отступы задаются в одном месте - в родителе.
Я знаю о гэпах, я тут скорее говорю на абстракции контейнер-содержимое. А там танцуем мы от марджинов и от паддингов. И это важно, ибо потом надо будет делать адаптив.
Например нельзя делать маржин лефт для отступа слева, но можно паддинг лефт. Это как дизайнеры советуют.
> Я знаю о гэпах
Всё же это не гэпы. Просто в гридах (и флексбоксах) есть отдельное понятие гэпа, который задаётся правилом gap: ...;
У меня в примере полноценные ячейки, хоть и без имени. И браузер вполне может запихнуть в них контент, если у кото-то из дочерних элементов забудешь указать имя ячейки куда ему вставать.
Когда верстаешь на отьебись потом возникают очень плохие последствия. Например при сжатии вьюпорта элементы начиная с какого то момента включают паразитный скролл и не хотят дальше уменьшаться. Этому содействует маржа/паддинг с неправильным применением.
Да, гапы отличное решение всех проблем маржы и падов. С гридом делаешь паддинг и гап одинаковыми, вуаля красота. Но вот с часто встречающимися исключениями, например кнопочка 20пикселей слева в форме логина, тут возникают траблы.
> Семеро одного не ждут и не обязаны подстраиваться под твои хотелки.
Вопрос новый: а как тогда заяснять за повышение версии ноды?
Типа, разве чем выше версия -> тем современнее продукт, легче рефакторить и т.д.?
В общем, хочу обсудить вопрос "при каких обстоятельствах можно убедить разрабов поднять версию ноды, но чтоб не подставить никого и не получить проблем".
Никак. Жри что дают. Не нравится ищи другую вакансию. Перенос и рефакторинг это всегда фейл. Проверено много раз. Работает не трогай.
Т.е. идею о переносе проекта на новую версию ноды может выдвигать только руководитель и даже когда это делает именно он - это предвестник беды?
Уточню свою идею: тестировщик говорящий "а давайте изменим версию модуля на котором пишем проект, а то у меня тесты как-то не так работают" - это кринж смертельного уровня?
>>54895
Окей.
Тогда такой вопрос: а норм, если у меня через nvm будет jest работать на, например, 18-ой ноде, а сам проект будет крутиться на 12-ой?
Типа, главное ж, чтоб jest запускался на отдельном ресурсе и прогонял тесты.
Ну да, если ты законтейнеришь и сделаешь хитровыебанную систему. Главное чтобы никому не пришлось ничего переделывать.
Кринж в том что ты пытаешься большинство заставить сделать то, что может сломать обратную совместимость. У кого то модуль полетит который работал на том самом баге 12 у кого то методы надо будет переименовывать, либо вообще переделывать всю структуру, ибо новая версия ноды решила что так лучше. Нода нестабильна. Так что никто тебе этого сделать не даст. К тому же си сд придется полностью менять, девопёс тебе фурри флаг в жопу вставит и в фурьсют посадит.
> и сделаешь хитровыебанную систему
Тогда последний вопрос по этому варианту: а насколько хитровыебанной должна быть система, где я разворачиваю проект с тестами на 16-18 ноде (допустим, немного можно деграднуть по версии), к проекту, который пишут 3 прогера на реакте с 12-ой нодой?
>>54899
> Кринж в том что ты пытаешься большинство заставить сделать то, что может сломать обратную совместимость
А вообще, насколько часто в проектах поднимают версию ноды и вообще версии модулей/библиотек?
Это уже чисто из принципа интересно.
В виде модуля подключаемого.
Никто не поднимают. Это задача уровня переехать в другую квартиру. Может найдется 2,5 извращенца но большинство будет недовольно. Если бы ты в треде пхп задал вопрос переезда то ты и вовсе бы троллем прославился.
>В виде модуля подключаемого.
Это как? Сорян за нубский вопрос. Я сам не ожидал, что буду этим заниматься.
>Если бы ты в треде пхп задал вопрос переезда то ты и вовсе бы троллем прославился.
- ПАСАНЫ, Я НЕ ТРАЛ1 ЕСТЬ ПРОСТОЙ ВОПРОС
@
- ХОЧУ ЗАВЬОА УБЕДИТЬ НАЧАЛЬСТВО ПЕРЕЕХАТЬ С ПХП 5.2 НА 6. КАКИЕ ПОДВОДНЫЕ КАМНИ?
>>54907
> на стейджинге
А у нас нет стейджинга. Все сервисы команды раскручены на серваках команды.
Я работаю в банке, если чо.
Нпм пакет хаски, на каждый коммит сделать свой личный стейдж с блекджеком и костылями. В докер завешать джест на минимально поддержиывемой ноде, прокинуть волюм с файлами гита, и запускать тесты.
Ага... Ну че-то мне подсказывает, что я со своим нубоскиллом такое не вывезу просто и либо заебу кого-нибудь, кто это знает-умеет, либо тупо сольюсь.
Окей. Тогда пойду гуглить, какой фреймворк работает на 12 ноде.
А... ну лида нет. Т.е. он так-то есть, но мне ему нужно рассказывать, что зачем и почему.
Т.е. я - самый опытный тестер в нашей команде.
Общался с ещё одним тестером, но он по другим задачам работал.
ну так расскажи. он же главный на проекте.
а вообще лучше на созвоне всем коллегам скажи, что вот есть такая проблема. никто тебя ссаными тряпками не погонит, офк, если ты уже не неделю сидишь и только сейчас этот вопрос всплыл.
Этого бэкграунда достаточно?
офк тему, что т "СЛАБО ЗНАЮ CSS" лучше не поднимать.
> а вообще лучше на созвоне всем коллегам скажи
Всем похуй. Разрабы сами в шоке были от идеи, что это ИМ нужны юнит тесты.
>офк, если ты уже не неделю сидишь и только сейчас этот вопрос всплыл
Да я ещё на испыталке, пытаюсь процесс тестирования наладить, чтобы не было совсем уж парашей.
Сейчас пошел ва банк - начал пинговать тестеров команды через приватный час, где веселухи обсуждают.
Не слушать этого >>54893. Можешь поднять версию сам, если ничего не разъебыется при этом.
>а как тогда заяснять за повышение версии ноды?
>Вы долбоёбы сонные, зайдите на https://nodejs.dev/en/about/releases/ и найдите там свою 12 ноду. Нету её там? Это потому что она даже не в maintenance, ей дохуя лет. Вы думаете, нужен только жест? Да нихуя, тут не пердни лишний раз, а то развалится. А остальные зависимости у вас под 12 ноду, да? А npm audit если сделать, сколько critical будет, мм? Можешь не отвечать, пиздуй обновлять ноду.
Как-то так. Насчет аргументов:
> Семеро одного не ждут
Если на проекте привыкли делать хуйню спустя рукава - можно хотя бы попытатся изменить ситуацию.
> работает - не трогай
Относится к проектам, которые нужно саппортить, а не к тем, что в активной разработке. Более того "работает" - это когда npm audit выдает moderate и ниже. Всё остальное - это бегом фиксить, а фиксить - это поднимать версию пакетов, а часто это тянет за собой версию ноды.
Дополню >>54938
>а давайте изменим версию модуля на котором пишем проект, а то у меня тесты как-то не так работают" - это кринж смертельного уровня
Да, если проект в адекватном состоянии. Когда зависимости выпадают из maintenance - уже можно шевелить команду.
>>54902
>а насколько хитровыебанной должна быть система, где я разворачиваю проект с тестами на 16-18 ноде (допустим, немного можно деграднуть по версии), к проекту, который пишут 3 прогера на реакте с 12-ой нодой?
Да без проблем такое сделать. Ставишь себе nvm, на него 2 версии, 12 и 14-16-18, какую нужно. Если нужно запустить проект - запускаешь на 12 ноде. Перед запуском тестов переключаешься на 14. И всё. Если нужно на CI это развернуть - это уже проблема девопса, он тогда сам пизды ряктерам даст, чтобы они ноду обновили и расхождений не было.
нужно сделать запрос в БД (pgsql) и если значение, с которым я прихожу, больше значения в БД, нужно обновить запись БД
как это сделать в один запрос, а не два?
с меня святое нихуя
CJS, ESM, различия. Как указать что использовать.
Инб4 открываешь длку годы и не черрипикаешь.
>Какие технологии у вас?
>Ну там реакт 14, нода 12 и вебпак 3
>А почему такие, почему не обновляете?
>Ну кек-пук, нам так удобно, работает - не трогай.
Лол, да пусть не звонят. Джунов этой хуйней пугай.
Полно проектов где и миддлы будут разгребать легаси. Ща бы идти со своим уставом в чужой монастырь.
>Как указать что использовать.
Да я это еще фронт изучая помню как указать, когда ноду присобачивал.
>Инб4 открываешь длку годы и не черрипикаешь.
Доку имеешь в виду? Думаешь это стоящий подход? Не сродни тому как тот же инглиш учить вызубривая слова наизусть из словаря?
Каким своим уставом? Есть maintenance, active и current. Общепринятая практика держать ноду в этих пределах. Если проект выпадает из этого - должна быть веская причина. Если причины нет - то это повод держаться от таких проектов/контор подальше. Я уже могу позволить себе выбирать и продавливать. Более того, когда ты приходишь на сеньор-лид позицию, от тебя ожидается, что ты должен двигать проект в лучшую сторону. От джуна-тестировщика не ожидается, но если он упругий и зубастый зумер с горящими глазами - ничего не мешает ему попробовать.
Ты помидор, а не какой то тестер. Если у тебя фреймворк требует поднятие версии это проблема фреймворка а не команды. Давай я приду с синтаксисом 2023 екмы и буду требовать чтоб все юзали, ибо мне НИУДОБНА
>давай я приду с синтаксисом 2023 екмы
Для начала, не надо тут доводить до абсурда. Затем, если настроишь сам и, если будет разъебывать поначалу, будешь сам чинить - хоть proposals тащи.
Вопрос только в том, ты готов взять ответственность за свои инициативы или нет. Если тот тестер сможет обновить и ничего не сломает - то почему нет. А он не узнает, сломает или нет, пока не попробует.
> первая же ссылка из списка: CJS модули в шоке ноды
Остальное не вырезанное не перекодированное размазанное на 3(4) источника + видео на ютумбе.
Половина ссылок повторяется с соседнего блока слева.
Ну, думай сам.
Инб4
> дрочь инглиша
Не путай мягкоё с тёплым. Тебя не заставляют ЗУБРИТЬ доку ноды, но там и нет какого-то рокет саенса на 10 страниц расчётов.
Описание алгоритма импортов - ну ознакомься, что такое есть.
Посмотри на __dirname __filename, посмотри как это имитировать с модулями, слови путь который начинается на file:/// и охуей с резолва, когда оно нормализуется в file:/
Дрочь слов на то и дрочь слов, что из условных 100 слов через неделю ты будешь помнить 60-70%, и дальше эта цифра будет постепенно снижаться, если не повторять.
Здесь тебе надо понять механизм и отличия
Короч, с поднятием версии я пососу: вся банковская инфраструктура на ноде 12.
Т.е. если поднять её для одного проекта, то нужно во всех связанных поднимать. А там их до пизды.
Че-то мне кажется, что НЕ СТОИТ ВСКРЫВАТЬ ЭТУ ТЕМУ.
>Если на проекте привыкли делать хуйню спустя рукава - можно хотя бы попытатся изменить ситуацию.
Ну вот буду поднимать тему.
Как я понял, никто во всем банке не делает юнит тесты, кроме одного маааленького приложения для мобилок.
>Относится к проектам, которые нужно саппортить, а не к тем, что в активной разработке
У нас разработка. Вот вот выкатим С2С, а через пару месяцев Б2Б.
>Да без проблем такое сделать
Я попробовал - на 18 проект не запускается.
Попробую с остальными версиями, но, как я понимаю, там дело не только в том, что что-то не "скомпилиться", а в том, что могут быть баги, так ведь?
То есть чтобы утвердить "проект работает на ноде 14", мне нужно сделать полный регресс, верно?
ну и залил.
всем было похуям.
команда +-6 людей.
а вы тут демагогию развели, притворись дурачком и меняй без задней мысли, если проект крутиться будет.
> А ты джун или миддл?
Миддл. Ну по крайней мере пытаюсь им быть, 3 года как в сфере все-таки, тут люди через год синьоры 300к, пора бы мне хотя-бы мидлануться нормально.
Работал все 3 года на галерах, сначала в веб-студии стартапе, потом уже на полноценной галере но работал на одном продукте 99% времени, почти не прыгал между проектами, так что хз, получил ли я галерный опыт. Я б хотел разные проекты на нормальных стеках поделать, а не огромную легаси парашу, которая не вызывает у меня тёплых чувств, по типу "вот в магните на полке стоит товар Х, а я сайт для компании этой сделал, заебися" .
Ну сначала ты пишешь пост, потом незначительную часть текста решаешь выделить в спойлер, тк это нерелейтед инфа, для большего понимания А потом текст в спойлееюре ращрастается и становится больше самого поста, но уже ничего не поделать, рефакторить поздно и ты уходишь с проекта, оставляя весь свой говнокод другим людям и вот так вот получается. Функционал есть, чеб не пользоваться.
Делает юниттесты, выебывается, что он йобо анальник, а не какой-то там двачер, решает поднять тему по изменению версию ноды, рабочий чат обзмеял, главный надзиратель предлагает поискать работу до оканчания испыталки... PROFIT!!!
>вся инфраструктура на ноде 12.
Ну по идее тебе не всю инфру нужно поменять, а для своего сервиса. Должно быть реально, но могут быть проблемы, что это нужно утверждать с тем, кто для всех сервисов лочил версию.
>там дело не только в том, что что-то не "скомпилиться"
Чаще всего в этом. Да, могут быть и другие проблемы, но если компилится - это 90% успеха.
> мне нужно сделать полный регресс, верно?
Вообще да, но ты не понял, что я тебе говорю. Тебе с другой версией нужно запускать тесты, а не проект. Зависимости всё равно будешь мокать, а код не должен быть такой чувствительный. Так что проект запускай на 12, а тесты - на какой удобно.
> дохуиллион тестов отработал на ура
> прод упал, прод упал, АХАХХАХАХА, ПРОД УПАЛ, ВСЕ В ПОЖАРНУЮ МАШИНУ БОЕВОГО ФИКСИБОТА
Проставить scroll snaping (опциально/нет) и делать скролл через scrollIntoView?
Звучит как-то странно, если честно. Ещё чуть-чуть и пойдёшь все скролл события preventDefault'ить
Вакансий для джунов практически нет. Для джавы и какансии и стажировки и фулстаков на крайняк джава+ангулар какой
Мое предложение так не делать. Как именно надо делать я тебе не могу сказать без понимая зачем ты вообще это пытаешься сделать.
Ага, узнает он проверив лично 1000 тестов на 500 модулей и после. Наебнется что нибудь, его же нахуй выпнут из компании.
А нет библиотеки, которая решит данную проблему за тебя?
Ты объяснил условие на уровне макаки, которой сказали "сделай", мне нужно объяснение зачем это делать.
> при первом скроллинге экран улетал на определенную координату
Какую практическую задачу это решает?
Бамп. Что выбираете, по каким критериям?
> Ну по идее тебе не всю инфру нужно поменять, а для своего сервиса
Там достаточно плотная интеграция. Типа, я отвечаю за выдачу кредитов для беременный ветеранов Первой Мировой, а при заполнении заявки дергаются и данные паспорта, и данные из налоговой, и формирование ПДФ-документов. Короч, до пизды всякого постороннего.
>а код не должен быть такой чувствительный
Ну прост если у меня проект воооообще не запускается на той же 18-ой, то что поделать?
Типа, через какой-нить там Байбл пытаться уровнять?
Прост KPI тут жесткий и очко расфальцуют за падение прода, как нехуй делать.
>>55340
> чему там падать, если зависимости ты мокаешь всё равно
Я хочу уточнить, как я вижу:
Вот есть класс, в котором метод, например, отправлять данные, по тому, насколько клиент объебос.
Я пишу тест, который вызывает этот класс, подставляет нужные моки и принимает ответ.
На время теста запущен 18-ый нод. А как код сможет отработать, если он не работает под 18-ый?
> Ну прост если у меня проект воооообще не запускается на той же 18-ой, то что поделать?
У всех запускается, а у тебя не запускается.
Ну раз ни у кого не запускается, вам нужно созвониться и решить вопросик. А если не можете, нужно эскалировать. А если и это не получается, то остаётся только эскапировать...
Какие 500 модулей, что ты несешь вообще? Только что открыл ПР соседней команды полугодовой давнойсти. Апгрейд с 14 до 16 ноды - это апгрейд одного, блять, модуля - node-sass. Реальный кейс - это тот пчел просто поднимает мажорные версии у ~3 пакетов в package.json в коммите setup tests и всё работает и всем просто поебать. Да, может что-то отвалиться, но тогда можно поделить ответственность с тем, кто это ревьювил.
> дергаются и данные
Они дергаются по АПИ? Тогда эти сервисы могут быть написанны хоть на джаве, хоть на го, хоть на хачкеле, им поебать на твою версию ноды.
>Я хочу уточнить, как я вижу:
Неправильно ты понимаешь. Твой код в 99% случаев работает на 18 ноде, а проект не собирается из-за зависимостей, которые несовместимы с этой версией ноды. В тестах ты зависимости мокаешь и вызываешь только код я так понимаю, что реакт компонент в тестовом окружении. Не пытайся запустить проект на 18 ноде, только jest. Напиши уже один юнит тест и попробуй, хватит в треде вопросы задавать.
А корочки у тебя есть? Если только ты не планируешь вкатываться в ЭНДРОИД ДЕВЕЛОПМЕНТ, где джуны нужны ещё меньше чем в жс - они тебе очень пригодятся.
Что за банк, если не секрет? Хочу знать куда не стоит идти на работу.
424x346, 0:01
`молоко
сметана
хлеб
`
Надо превратить её в ["молоко", "сметана", "хлеб"].
Как правильно сплитить, чтобы на каких-нибудь линуксовых переносах проблема не вылезла?
Линуксовые переносы в отличие от виндовых просты и понятны, никаких кареток в корму.
string.split("\n") //если там ещё пробелы то добавить
.map(s => s.trim())
Мань, я вкатился во времена когда только реакт появился (кажись 2014). Когда брали всех с улицы. Я даже цсс не знал. Тупо на базовом уровне. Единственно жабаскрипт более менее подучил и интервьюер охуел когда я пузырьковую сортировку ему замутил. Говорит что предыдущие еле как жаву от жаваскрита отличали. В Иркутске это было. Сейчас времена не те. Сейчас порог высочайший а людей все больше. И дальше хуже
https://2ch.hk/pr/res/2656042.html (М)
https://2ch.hk/pr/res/2656042.html (М)
https://2ch.hk/pr/res/2656042.html (М)
зачем второй перекат шизик?
Думаю заебашить себе винду под себя.
Добавить голосового ассистента, чтобы батники запускал по запросу. Типо "Машина, включи тивач" - запускает браузер или вкладку с тивачем.
Всякие скрипты навешать по нажатиям на кнопки, типо просто нажав кнопку "2" фокусить запущенную программу из панели задач, как если бы нажал "WIN+2".
Для этого нода подойдет? Или лучше в плюсы или пайтон пойти?
Последний раз пайтон второй версии тыкал, не зашел. На третьей вроде получше.
По моему тут нужен C.
Это копия, сохраненная 8 июня 2023 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.