Это копия, сохраненная 15 июня 2023 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Больше пары строк кода в посте или на скриншоте ведут в ад.
Для программирования на HTML https://codesandbox.io
Для Node.js с консолькой https://repl.it/languages/nodejs
Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: «что я хочу получить, что я для этого делаю, что я вместо этого получаю». Если/когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Документация - https://developer.mozilla.org
Руководство для вката - https://github.com/acilsd/wrk-fet#javascript
>Что за дебил периодически делает перекат, который неспособен нормально шапку оормить Ни тег треду поставить?
>Так ты напиши, как это сделать и что тебя не устраивает, он увидит сообщение и исправится
Для того, чтобы перекатывать тред с одной и той же шапкой, и верно проставлять треду тег, дабы он попадал в каталог, а потом в архив, достаточно всего-лишь...
БЫТЬ В СОЗНАНИИ.
> , достаточно всего-лишь...
> БЫТЬ В СОЗНАНИИ.
Ага, я помню какой-то тред перекатил и все жаловались, что тег пропал и никто не сказал, что за тег и где проставлять.
Бумп. Сообщение из-за ссылки на плейграунд, схлопнулось.
Всё ясно, я думал тег должен быть в заголовке, ведь в дашчане нет поля ввода тега
Сложно пиздос...
Устроился с хуевым тайпскриптом про редакс и SQL знаю только на словах ниразу не юзал, скюл очень примерно понимаю че это, из алгоритмов знаю только сортировки, задрочил только 1 навык это реакт
А я вот не понимаю зачем фронтендеру знание баз данных или некст джса, ладно графкл под себя там настроить данные, но твоя задача отправить на бэк запроосы из формы и запросить данные с бэка, нахуя знать как там оно на бэке работает, неужели это прям маст хэв знания, чтобы работать?
Некст жс это фреймворк для SSR и на фронте юзается.
А базы знать надо для фулстакинга. Сейчас все больше их на жс. Конечно хватает и вакансий чистых фронтов но на них много макак. По 70 человек только в онлайне наблюдает вакансию, кидал уже скрин с HH. Соответсвенно можно умножить на 10 число откликов в общем.
Нет ну понятно, что на фулстак работы больше, но работу чистым фронтом точно можно найти, там же тестовые задания дают, можно просто отсеять на тестовом уже кучу народу, просто по стилю кода(там кеширует ли он данные, оптимизирует ли запросы, да даже по верстке уже многое ясно будет), потом на собесе пару задачек медиум дать и на выходе получаем формошлепа, который точно может уже закрывать таски, можно отправлять на аутсорс.
А фигма, photopea, onlyoffice, vscode и тому подобные вещи - в твоем понимании - фронт или бэк?
Чистых фронтов не существует в природе. В сегодняшних реалиях фронтам никто не будет ставить задачи с точностью до запятой. Обычно нужно сделать фронт к таким-то апишкам по такому-то макету. В процессе вскрывается множество мелких деталей в реализации этого АПИ, которое фронтэндер может понять либо задалбывая серверного программиста, либо самостоятельно глядя в серверный код.
У нас все фронты читают питон, и это считается нормой.
>но работу чистым фронтом точно можно найти
Это называется "берём тебя за владение JS, а базовый питон освоишь в процессе".
Вскод это чистый фронт, да забыл сори, onlyoffice не юзал, но это синьёрская технология как и фигма, а мы про джунов говорим же
Хз у нас за фигму и за вскод сразу, зп синьёрскую дают, ты наверное из маанга, конечно у вас там все по другому
Нет человек который знает реакт и может работать с данными с бэка это уже фронтендер, который может закрывать кучу тасков
>синьёрская
Хуньерская.
Все дело в том, что нет никакого бэкенда и фронтенда.
А точнее, бэк и фротн есть в абсолтно любой программе. Хоть веб это, хоть нет. Хоть графическая она, хоть консольная.
Программирование делится на системное и прикладное.
Практически весь веб - это прикладное программирование.
При это написание какого-нибудь udp/tcp/websocket сервера - это системное.
Написание сервиса кэширования - системное.
Написание сервиса который из базы данных перекадывате в базу данны - прикладное.
Написание пользовательского интерфейса на фронте - это прикладное.
Написание сервис-воркера на фронте который занимается кэшированием и синхронизацией - системное.
Всё. что обрабатывает бизнес ЛОГИКУ - прикладное программирование.
Все что обрабатываетлогику вспомоготельную - сервисную, отвечающею не за UX, а за DX - системное.
Мне хочется разбить всё это добро на кучу отдельных маленьких файлов (один файл - один предмет/существо/абилка), и при старте сервера динамически их импортировать: просто подключать все файлы с таким-то расширением, найденные в таких-то папках. Такое можно в ноде сделать без особых костылей? Это как-то сочетается со статическими импортами ES6?
Я просто не понимаю, как это сделать.
Мне ведь нужно указывать import ... from ... до, так сказать, компиляции. А если я хочу менять набор предметов в игре, добавляя и убирая файлы из папочки (без правки кода), то с этим же облом?
Мой вопрос был в том, что неужели человек который умеет в:
>Написание пользовательского интерфейса на фронте - это прикладное.
>Написание сервис-воркера на фронте который занимается кэшированием и синхронизацией - системное.
И не умеет пользоваться базой данных или не умеет писать:
>написание какого-нибудь udp/tcp/websocket сервера - это системное.
такой человек может написать в резюме фронтендер и найти работу, потому что это полноценная боевая еденица способная закрывать определенный набор задач
У тебя есть top level await
Пишешь модуль, который сканирует папочку, и реэкспортит все из нее заэвеченным динамическим импортом.
Во всех остальных местах программ, используешь статический импорт этого модуля.
> вскрывается множество мелких деталей в реализации этого АПИ, которое фронтэндер может понять либо задалбывая серверного программиста, либо самостоятельно глядя в серверный код.
Ого, а про стоплайт или сваггер слышали? Или если другие сервисы с вами интегрируются, то у них тоже выбор
>либо задалбывая серверного программиста, либо самостоятельно глядя в серверный код
мм?
Я еще раз отвечаю, никто не ищет никакого фронтендера в вакууме. Их не бывает. Ищут программиста на конкретный проект.
Чтобы пилить фронт для круда нужны знания верстальщика и не более того.
Чтобы пилить фронт для какой-нибудь графаны, нужны совершенно иные скиллы и знания.
Абсолютно с вами солидарен сэр, мне думается так же, приятного дня.
Я так понимаю, что динамический импорт похерит весь интеллисенс, и писать придётся как в блокноте?
Уж лучше тогда скриптом обходить файлы и дописывать статический импорт...
>Я так понимаю, что динамический импорт похерит весь интеллисенс, и писать придётся как в блокноте?
Какие хипстеры нынче изнеженные.
Главная задача программиста - это писать такой код, который не надо держать в уме, чтобы развивать и поддерживать. Поэтому видеть список доступных методов, полей и флагов жизненно необходимо.
Озвученная тобой цель достигается грамотным проектированием, с применением принципов разделяй и властвую и слабой связанности. КОгда у тебя вся программа состояит из независимых между собой модулей, которые не требуют для своего анализа чего-то сверх того, что программист может удержатьв голове.
Когда же у тебя проект написан так, что без интеллисенса ты строчки написать не можешь - это значит что ты проебал всю архитектуру на свете и написал тучу переусложненной заоверинжиниринной лапши.
>>56914
>>56958
>>56975
В годных компаниях фуллстеков почти нету, потому что фуллстеки это полнейшая хуета, которая не знает ни фронт, ни бек на глубоком уровне, а нахваталась по верхам. В лучшем случае это сеньор фронт который знает бек на уровне джуна, или наоборот. Узкий специалист намного лучше.
Тащемта никаких противоречий. Сеньор знает условно фронт на уровне сеньора и бэк на уровне джуна. Джун знает фронт на уровне джуна и бэк на уровне джуна.
> При это написание websocket сервера - это системное.
> Написание сервиса кэширования - системное.
> Написание сервис-воркера на фронте который занимается кэшированием и синхронизацией - системное.
Лол, проиграл! В этом ничего системного, всё прикладное. Системные разработчики пишут что-то вроде драйверов для железа или СУБД или модули операционных систем на лоу-лвл языках.
Это не фуллстек, это T-shaped фронтендер или бекендер
Меня всегда в ступор вводят вот такие требования в ваканисиях:
-база
-база
-ПАТЕРНЫ ПРОЭКТИРОВАНИЯ, МАСШТАБИРОВАНИЯ, УМЕНИЕ СРАТЬ НЕ СНИМАЯ СВИТЕР
-база
-база
В том плане, что какое-то требование я понимаю, что не смогу в деталях с хорошими примерами а не инфоциганскими из интернета по первой ссылке рассказать. Вот про масштабируемость. Тут иной раз пытаешься писать переиспользуемый код/компоненты/типы, но это никак не помогает в масштабировать. Сделал ХОК с формой, что бы использовать чаще один компонент, так в трёх местах его применил, в четвёртом форма должна быть другой, лезешь меняешь апиху компонента формы возможно ломаешь использование в предыдущих трёх местах и т.д
Да хз. Видимо для объема накинули. Вакансия и так жиденько выглядит в сравнении с другими. Это кстати сбер
20 минут собес от галеры и тебя коллег берут на аутстафф, если не совсем звонко, Что-то видел и знаешь как называется. Хотя у них тоже не угадаешь с собесами. Будет ковыряться в некрофильских монструозных релакса, где в кодобазе лежат sibgleyon, transient, но нигде не используются.
>
Как же лень т9 переправлять, ох щии.
> Будет ковыряться в некрофильских монструозных релакса, где в кодобазе лежат sibgleyon, transient, но нигде не используются.
Будешь ковыряться в некрофильских монструозных редаксах, где в кодобазе лежат singleton, transient, но нигде не используются.
Да похуй, сейчас надо любую более менее работу брать. Там и может перекатиться куда еще получится.
Насколько годная вещь и сколько займёт её поддрочнуть для всяких забав с iot, если я знаю жс совсем минимально?
*UI ивенты. Сраный т9
Если конечная цель вкатиться в коммерческое айти и стать наносеком - подход совершенно негодный.
Сразу после понимания жаваскриптового ""ООП"", эвент лупов промисов асинх/авэйтов например, на собесе могут спросить чё раньше выполнится резолвнутый промис или сеттаймайт ноль и немножко ДОМ АПИ следует немедленно начинать учить реакт+тайпскрипт. Умения хорошо программировать формошлёпу не нужно - почти любой жс-сеньёродебил за пределами своей узкоспециализированной веб-дрисни абсолютный ламер и ничем не отличается от бабы Сраки. Как ни посмотришь в код таких персонажей - там убогая вымученная императивщина-процедурщина от обладателей двузначного IQ, которую так неспроста лоббируют на серьёзных щах некоторые в этом итт треде, и тем не менее такие действительно зарабатывают бабло своим говнокодом.
tl;dr: учить фреймворки и пить больше смузи
Да ето так
Спасибо за ответ
>Пробовал кто NodeRED?
Прочитав главную страницу, вообще не понял, для чего это всё. Чтобы программировать микроконтроллеры в браузере на блюпринтах?
верстай и используй фреймворки. большего не нужно.
делай логику всяких тудушек, пизди проекта с гитхаба и повторяй, смотри как сделано и почему.
>Меня всегда в ступор вводят вот такие требования в ваканисиях:
а потом приходишь на проек и тебя говорят, вот уже через месяц дедлайн, заказчик уже волнуется, пили быстро и забей хуй на все.
всякие требования - маняфантазии лида и пма. чаще всего ты обычный гребец, который просто пишит хуй пойми что и всем в кайф.
база. если бекендер мудак, то фронту мастхев знать бек.
а если еще на проекте нет стандартизированной, описанной апишки, то фронту еще и апишку придется описывать в самом проекте, чтобы через неделю не забыть хули там ебанат бекендер понаписал.
1080x1080, 0:24
Ванила для сигм.
Один хуй будешь использовать то, за что платят.
Выполнимо? Или всё-таки придётся сделать ебучий гитхаб и накидать туда чё-нибудь туда? И вообще как там отнесутся к тому что гитхабу будет пара недель или типа того?
>Выполнимо?
Конечно, звучит норм. Пиздишь с техлидом, говоришь всё что умеешь и всё как есть, описываешь все эти проекты и чо делал, тебя отправляют на мидла. На сеньера только после 10 приложух пойдёшь.
Для дополнительной убедительности неплохо было бы показать код, и тебе не обязательно выдавать всю бизнес-логику твоего приложения, важны технические детали и то как ты организуешь код, а не MVP какое-то которое кабанос у тебя спиздит и монетизирует, а как бизнес-логику спрятать ты уже сам решай. Но всё зависит от интервьювера, может ты сможешь его и так убедить в своих компетенциях.
Как убрать все эти энтеры? В браузере на месте этих энтеров стоят пробелы. Если я просто уберу энтеры, слова соединятся. А если я заменю энтеры на пробелы, то будут лишние пробелы со знаками препинания. Prettier не помогает
(можно специально делать замену для знаков препинания без пробела, но может есть какой-то более простой способ? Мне нужно очень много html файлов так обработать)
В гугле смог найти только нерелевантную инфу
Ангуляр самый легкий фреймворк, дальше по увеличению сложности идет вью, потом реакт
Сразу видно синьера.
Смысл в том, что в реальной конторе кабан тебе скажет: напиши-ка авторизацию, только серверный программист пока занят, так что сделай всё с фейковым бэкендом.
Делаешь.
Приходит бэкендер, выкатывает совсем другое АПИ.
Снова делаешь.
У меня есть локальный сервис, если на него приходит неизвестный запрос, мне нужно его перенаправить на другой сервис с заголовками+телом и вернуть ответ.
Не хочется в ручную все такие ресты описывать, хочется что-то типа
app.all('*', function(req, res) {});
Ну кстати на первый взгляд может показаться толстотой, но в плане организации какой-то минимально устойчивой архитектуры это реально так - высокопроизводительное приложение на реакте сделать сложнее, чем на ангуляре. Та ли эта сложность которая нам нужна это уже другой вопрос.
Так значит советы во вкат в реакт первым фреймворком это троллинг вкатунов?
не пиши тут такое. тред полон реактомакак.
сейчас как налетят и начнут тебе объяснять, что чем меньше архитектуры, тем лучше и проще тырпрайз писать.
нет. реакт проще. больше вакух. но и вкатунов больше.
для того чтобы ангуляр освоить надо будет думать, ну и вакансий меньше, но и вкатунов меньше.
крч аксиома эскобара.
но лично я после ангуляра не соглашусь об реакт пальцы марать.
Я сам реактомакака и горжусь этим.
>>58469
Просто вакансий больше и при изучении и в последующем разработке на реакте ты перелопатишь такое количество разномастной документации и постов на стэковерфлоу, что при условном перекате на другую платформу при должной усидчивости это много времени не займёт. Особенно это касается копания в легаси - реакт 4 года назад пиздец как отличается от реакта сейчас. Сложность ангуляра в том чтобы освоить его первоначально не зная нихуя о фреймворках, для реакта для первого микроприложения, может без стейт-менеджера, но с роутингом, хватит пары вечеров.
Как объявить двумерный массив 10х10 и инициализировать его нулями в джаваскрипте?
Только что задеплоил успешно бэк сюда https://render.com/ буду смотреть на стабильность
>Как объявить двумерный массив 10х10 и инициализировать его нулями в джаваскрипте?
Array(10).fill().map(() => Array(10).fill(0))
Это панчлайн
тоже не так давно рендер использовал. админка с апишкой на nest.
единственный минус - бесплатная версия медленная пиздец.
там кажется после 15 минут аппа умирает и при запросе собирается.
Сложность вката и сложность в разработке - это не одно и тоже. Ангуляр проще в разработке, потому что там уже задана архитектура, в которую надо один раз въехать и делать крупняк без проблем (то, что вкатывающиеся версталы не знают про ООП и все иже с ним это проблема самих верстал). Вью прост для вката и создания простых приложений, но если тебе надо будет сделать сложную архитектуру или реализовать что-то, чего во вьюхе нет, то начинается хардкорное костылестроение. Реакт сложен, потому что всю архитектуру надо делать с нуля, примеров хорошей архитектуры мало, так как даже на крупных проектах встречается лютый кал, а делать ее, если ты пришел делать нормально а не "слепил говно и свалил" все равно придется.
Ну, как видишь больше минуты грузился. День не заходил.
Повторное обновление страницы потребовало от ответа ~полторы секунды.
кажется это только в бесплатной версии. на форуме где-то это описывалось.
но точно не скажу будет ли такое же при платной, вроде нет, но не точно.
про сокеты хз.
Есть ебанина типа этой:
/
@public
@template {keyof Foo} T
@param {T} bar Bar.
@returns {Foo[T]} T of Foo.
/
foo(bar) { ... }
Которую нужно сконвертить в такое:
/
@param bar Bar.
@returns T of Foo.
/
public foo<T extends keyof Foo>(bar: T) { ... }
Ну вы понели. Есть такое? Онлайн, коммандлайн, etc - вообще похуй. Пиздец неохота руками лопатить.
Учи R, собирай и анализируй статистику "вкатунов" и "успешных вкатунов" - найди устраивающую тебя корреляцию и учи Python.
Когда то работал с БД и мне нравилось это. Хочу попробовать. Еще на досуге почитал пару книг по Го и очень заинтересовался. Но говорят Го дохлая вещь и смысла нет учить для вкатунов(
Ну типа туда мидлов всяких берут а джунов мало. про питон кстати тож так говорят но питон мне не интересен
попробуй оба. что зайдет то и бери.
но скорее всего, если фронтом будешь, шанс того, что нода будет как плюсом в вакухе - выше.
знание ноды дает для фронта больше плюсов чем знание го.
для го нужно допом учить дохуя остального, типо как с жсом.
выебнуться на собесе, что есть опыт в го лишним не будет.
Спасибо за ответ. Я ноду в принципе уже сейчас на простеньком уровне знаю. И экспресс ковырял. Думаю забить уже пробелы все и вкатиться в фронт или фулстак. Я с фронта начал но если честно больше хочется в бэк но для бэка много чего еще подучить надо но раз с голангом тяжело с ноги сразу попасть в бэк то попробую с реактонодой во фронт
Делаю await axios.get(URL, { headers: { Cookie: `token=${user.token}` } }) - работает.
Делаю await axios.post(URL, { headers: { Cookie: `token=${user.token}` } }) - кука не доходит до сервера...
Почему с POST не работает? Сервак на экспрессе, через постман все работает.
вкатись уже во фронт, сиди перди, пизди проекты с кодом помидоров и плавно перетекай в бек.
ничего необычного в этом нет.
Звучит логично. Пытаюсь во фронт да. Ща тайпскрипт добью и буду откликаться на вакансии. Вот думаю тратить ли силы на ноду или нет. С одной стороны JS уже знаю (новый язык не придется учить), саму ноду с экспрессом ковырял, порядка 10 учебных проектов с ними делал. Но с другой даст ли реальное преимущество? Вбил node.js в HH и в моем городе 60 вакансий с его упоминанием. Для сравнения у Джавы и пхп по 180 а у реакта аж 144.
Нода это не только сервер, но и свистоперделки для разработки, а-ля линтеры, , етц. Но и кастомные скрипты.
мимо
Да да, еще всякое учебное дерьмо для гитхаба пилить с нодой на порядок выше получается. Хотя чего мозги ебать я уже и так использую ноду практически всегда. Добью просто пробелы и впишу в резюме.
Некст очень плох на самом деле. А ртк уже перестает быть хорошим решением, когда эндпоинтов переваливает за сотню.
Чтобы программировать микроконтроллеры на урезанной ноде.
type TMethods = 'POST' | 'PUT' | 'DELETE' | 'GET';
type TBoardReducerBody = {
POST: { wtf: string };
PUT: { body: object };
DELETE: {};
GET: undefined;
};
type TMethodBodyMap = Record<TMethods, TBoardReducerBody[TMethods]>;
const func = <T extends TMethods>(method: T, body: TMethodBodyMap[T]) => {
if (method === 'POST') {
body.; // нихуя. 'body' is possibly 'undefined'.
}
};
Чем некст по-твоему очень плох?
И почему это ртк перестаёт быть хорошим решением? Какое тогда хорошее решение? Я работал на проекте с ртк и 100+ эндпоинтов, всё норм было.
Привет, я тяночка 18 лвл, вкатываюсь во фронтенд, есть пара вопросов к уже работающему разработчику-фронтендеру, спасибо :з
Потому что тайпскрипт - это и есть джаваскрипт в 2023. Джаваскрипт - не язык, но собирательное название всей экосистемы говна, которую без тайпскрипта сегодня уже никто не использует. Давно последний раз ванильный жс-код видел где-то кроме индусских говнотуториалов?
Не нужен ибо это обвес статической типизации, исполняться-то будет один хер ЖС по правилам ЖС.
Тайпскрипт не существует в отрыве от джаваскрипта. Без понимания работы JS пол треда будет содержать вопросы вокруг 'X' Only refers to a type, but is being used as a value here.
так он все запросы через прокси так проведет, а мне нужно только по неопределенным роутам.
типо того
app.get(...)
app.post(...)
...
app.all('*', ()=>{ if(!hasRoute()) return proxy(); });
чел, бля, подумай. Если впишешь ноду, то тебе на собес могут притащить не лида фронтендера, который тебя спросит про реакт и js и хуй забъет, а чсв бэкендера, который полезет в залупу nodejs, начнет дрочить по БД, протоколам и давать алгоритмы.
Фуллстак джун - это звучит смешно, такое возможно только в макак конторах, где роста никакого нет, как и зп.
на полном серьезе поизучай возможность записаться на какие нибудь курсы. только не от всяких скиллбоксах, а от гугла, может мелкомягких, если у них есть.
можешь глянуть есть ли у них слитые курсы.
выдрочить css и html, я серъезно.
большая часть изучает их на отъебись, на уровне простеньких селекторов и чем div отличается от span. С анимацией мало кто работал, семантическая верстка, мета тэги, влияние css селекторов и свойств на производительность.
А правда что первым, кому в скором времени пизда - это фронтендеры?
Ладно еще открытые коды в Гитхабах - и по остальным языкам их много наберется, и т.д. Даже тут обучить ИИ не сложно, как говорят некоторые.
Но все сайты - это же буквально HTML+CSS+JS в открытом, пусть и порой обфусцированном виде.
Короче, чет мне страшно пиздец. Вкат во фронтенд вообще щас оправдан? Или взять Ноду? В какую сторону вообще двигаться?
фронт это зоопарк из технологий, как на таком говне ИИ обучать? Каждый лепит своего голема, а то что в открытом доступе - манякурсы оторванные от жизни.
Потому что это сегодня нихуя не надо, никто не пишет ничего с нуля за пиздецки редким исключением. Макак будет дёргать готовые UI-либы, где все анимации и адаптивные компоненты уже есть, и максимум менять две переменных чтобы кнопочки покрасить, а остальное время дрочить реакты и серверсайдрендеринги блядь. Ты приходишь на собес и и тебя спрашивают а вы владеете смузи драйвен солюшен девелопмент сиайсиди интегрэйшон докер гироскутер.tsxxx говно моча? Да? Заебись, сеньёром будешь. Нет? Пошёл нахуй. Никто там не спрашивает про основы хтмл ксс, если только ты не на джуна за 20к собеседуешься.
> семантическая верстка
Сео сдохло.
да, все так, из-за ui либ все скатилось, поэтому эти знания и стали цениться. По твоей логике и про кишочки js только джунов спрашивают, ведь есть ts и реакт.
>Даже тут обучить ИИ не сложно, как говорят некоторые.
Для фронта очень много решений, это работа с интерфейсом, с визуалом и с функционалом на стороне клиента, и сценариев может быть хуева туча. Бизнес может и сможет объяснить нейросети что ему нужно, но устроит ли результат сам бизнес если он и общаясь с людьми иной раз не понимает какой ему нужен результат? Всё упирается в язык, а не в мощности.
>Отборый гавнокод же ты пишешь
А как нормально писать? Есть обработчик запросов на одном роуте, на него приходят запросы с разными методами. Как ты предлагаешь это хэндлить, что бы не говнокод был? А так хотя бы, будет типизированный body под каждый метод.
Роут TODO.ts как мне хэндлить получение всех тудушек, добавление одной, удаление одной и т.д? Мне надо с клиента в некоторых запросах передавать данные, в некоторых просто гет запрос отослать. Как мне на сервере это обрабатывать?
В Нексте? Алсо, в експрессе такая же хуйня, что и я пишу, просто у меня в одной функции с ифами, а в експрессе разделены на разные функции.
Тогда все эти ифы будут в самом хэндлере. Плюс у меня функция "редьюсер методов" возвращает разные типы в зависимости от методов (это без проблем сделал, а вто типизировать боди нормально не могу) и возвращает сразу данные и статус с которым передавать ответ пользователю, нахуя хэндлер перегружать логикой.
const {status, data } = zalupaLoshadi(req.method, req.body) // можно даже просто реквест один передавать
res.status(status).json({data});
Почему говнокод? Ну и в catch статус с ошибкой и данные об ошибке.
Это само собой
>>59158
А на какую тему курсы?
>>59156 (Del)
Я уже сеньор тимлид, так что мне норм
Почему так? О каких суммах речь?
Ну насчет БД честно скажу что их не знаю. Noda с монгохуйней идет как правило а элементарный запрос на добавление, редактирование, создание коллекций в монго и подобную хуйню я знаю. Ясное дело если начнут дрючить по реляционным базам то я просяду но во-первых я не собираюсь вписывать их знание в резюме, во-вторых я собираюсь изучать SQL и postgresql. Алгосы опять же не страшно если они будут приемлемого для джуна уровня а не харкорные сложные задачки.
Я фронтовичок, я не знаю, что ещё за комплексные числа.
>>59262 (Del)
> TMethods
> TBoardReducerBody
> TGovno
> TMocha
Этим T вроде дженерики префиксят. Нахуя их лепить в название самодостаточных типов?
Что бы при использовании сразу был видно, что к тайпскрипту относится в мешанине кода.
...раздался голос из прошлого
Паскаль головного тайпскрипта и привет от Андерса Хейльсберга.
Как знаешь, по опыту могу сказать, что фулстак подразумевает уровень мидла, с небольшими просадками по одной из областей. Если говорить о продуктовых компаниях, а не о шарашках, где фулстаков набирают,чтобы их как 2 разработчика продать и на уровень всем плевать. Но сейчас много таких смыло из-за сложности искать проекты.
Гугл выдаёт только вопросы челов, которые хотят в линтере конфиг подправить, чтоб он принимал форматирование от volar, но vetur то пиздаче...
Prettier тоже лажово форматирует.
Пока что вижу один вариант - использовать vetur + volar, вроде нет ошибок никаких.
Учти, что при прочих равных с равным опытом работы, мидл фронт либо бэк, будет выигрывать у мидла фуллстака. А набирают часто именно в определенный отдел.
То есть если я, например, фуллстечил на галере, но с уклоном во фронт, лучше говорить, что я просто фронт?
Чел, давай посерьёзнее.
>>59890
Понял вашу точку зрения. Но в вакансиях часто вижу
>предпочтительно знание node.js
это во фронтовакансиях. А так я буду на фронт откликаться как советовали выше и перетекать оттуда в бэк плавно. Ну и план б еще если во фронт не получится то хотя бы запасной вариант в виде бэка иметь через полгодика активной учебы. Просто не очень уверен в ноде если честно. Вакансий мало. Вообще по анализу вакансий я пришел к выводу что реальный сформированный рынок на бэке есть только сисярпе, пхп и джаве. Но как сказали выше именно для фронта нода может стать хорошим преимуществом. Поэтому ломаю голову куда уткнуться по итогу. Ноду то прочту по докам все равно, это не сложно. Все равно базы данных те же учить потом а они универсальны относительно. И ту же Джаву я знаю поскольку учился на ней программировать. Поэтому пока план у меня такой, подучить ноду но откликаться только на фронтовакансии и после ноды начать плотно налегать на бэк с базами данных и выбором стека (джава, пхп, голанг или сишарп) и когда доведу до ума знания в бэке уже откликаться на бэковакансии.
Около 60 процентов - боты.
Около 30 процентов - вакансии, которые являются пустышками.
Около 20 процентов - настоящие люди.
Из этих 20 процентов - 90 процентов тебе в подметки не годятся, там буквально люди не понимающие ассемблер, которые не могут даже свой драйвер написать, так что ты будешь конкурировать с такими же интеллектуалами-специалистами, которых всего ничего.
Всегда был.
Нет, не надо, лучше изучи хорошо основы. Потому что брать тебя будут с понимаем, что ты зеленый без образования, следовательно и нагружать какими-то задачами серьзными не будут. В основном будет верстка, написать одну функцию, и учиться-учиться-учиться.
Могу ещё метод двойного указателя применять и через рекурсию задачи решать, хз причём здесь алгоритмы, но на литкоде это в комплекте идёт.
И какие структуры данных я, фронтовичок, должен знать? Линкед лист?
Хочу приходить в магнит за продуктами с пониманием, что я коллега всех этих людей
все базовые структуры, как и бэковичок. Списки, очереди, простые деревья, графы, хэш-таблицу и уметь написать их реализацию на доске.
Стыда набрался тогда пиздец... просто потому что уже забыл эту хуйню и даже не собирался повторять.
Зато знал кишочки react, fiber, js и фазы отрисовки браузера, но это даже не собирались спрашивать, просто прогнали по этому чек-листу вопросов и досвидос.
То есть знал абсолютно бесполезную с точки зрения хуйню и жалуешься что спрашивали релевантную для работы тему? Пздц чсв у тебя конечно
хуивантную
я большую часть времени на митингах сижу, делаю кодревью и придумываю задачи на техдолг
Ну сосни, потом крути
Какое ты код ревью можешь сделать если потерялся на вопросах уровня вкатывальшиков?
качественное, отписываю по 1-2ч
нах запоминать значения полей и аргументы, когда это автокомплит подсказывает, главное суть метода знать
Проиграл с твоей жирноты.
А где модный молодёжный реактивный фреймворк?
Логика такая же, как у того версталы с собеса, который только верстал. На вопрос пользовался ли он флексами и что такое флекс, сделал жидчайший пук среньк и начал внаглую гуглить, выдав что-то нечленораздельное, но так и не ответив.
А ведь нахуя? Можно же загуглить. Загуглил @ не помогло.
Ну так про флексы я отвечу как нехуй делать. И концепцию того, как получить данные формы в жиес я тоже расскажу ну там это метод есть, в него форму передаешь, он возвращает объект с данными формы, что-то такое, но зачем кому-то нужно, чтобы я знал, как именно метод называется? лучше не называть это методом, да? Создаём объект класса формы короче
> А ведь нахуя? Можно же загуглить.
Мне ж загуглить нужно только метод, с помощью которого я данные формы получу, formData или как его там. Да освежить в памяти, что ему передать надо, только и всего.
Я вот сейчас взял, загуглил - используем new formData(хэйчтимээльЭлементФормы) - ну и что толку с того, что меня можно подловить на том, что я не помнил, как это использовать?
> как у того версталы с собеса,
Какого?
> который только верстал
Очевидно он пользовался флексами, раз верстал.
>Помню меня на собесе как-то спросили, как с помощью js получить значения полей формы - у меня кишка выпала.
@
>И концепцию того, как получить данные формы в жиес я тоже расскажу ну там это метод есть, в него форму передаешь, он возвращает объект с данными формы, что-то такое, но зачем кому-то нужно, чтобы я знал, как именно метод называется?
Что? Я ж не ответил, по мнению собеседущих, не назвал же, как именно получить данные формы, так, в общих чертах что-то спизданул, а на листочке бы не написал.
Только и всего, закономерно был попущен и остался ещё на бенче сидеть.
> А вопрос то всё ещё открытый, в форм дату ты их собрал, а значения полей то как достать?
Ну так берёшь и достаёшь, в чем вопрос то? В знании того, что у объекта есть метод get для получения свойства по имени? Можешь ещё про append спросить. Ты понимаешь, что я эту хуету не практике использовал, но по прошествии времени могу не помнить наизусть, как что называется, но если мне понадобится, я за пару минут освежу знания? Лучше уж про хуистинг спросить.
> А если мы не там 2 инпута из 7 надо?
Ну так и собери нужные значения, с помощью гета в том виде, в котором хочешь, хули меня на собесе то это спрашивать?
А лучше в стейте держи эти значения и оттуда дергай.
Спрашиваешь у чела конкретные методы и практические задачи - он прибегает и ноет, что его спрашивают точные названия методов, а не суть работы.
Че вам надо-то, как вас собеседовать?!
>Спрашиваешь у чела конкретные методы и практические задачи - он прибегает и ноет, что его спрашивают точные названия методов, а не суть работы.
Деб, ты сам понял, что написал?
> Это не мне надо, это вам надо
Доставать тоже из форм даты?
Хорошо, что тебе работа не нужна, нам больше достанется.
Я спросил у телеграм бота связанного с чатгпт, вышел ответ, что надо учить шесть фреймворков для тестирования:
Jest, Mocha, Cypress, Vue Test Utils, Karma, Ava
А почему так дохуя надо учить? Целых шесть тестовых фреймворков? Почему так много?
> Че вам надо-то, как вас собеседовать?!
А я ебу?
Я бы вообще проверял общую адекватность и если она есть, принимал бы на испытательный срок сотрудника, если что, можно будет выпнуть. Гарантирую, куча времени сэкономлена будет, а качество работников не ухудшится.
Я вот на текущей работе насосался хуев на собесе по кишочкам хоистинг, ивент луп, всё было, ктоб скучно спросил..., не помню, чтобы хотя-бы на треть вопросов ответил - мне, по неизвестной причине, оффер дали, в итоге испытательный прошёл, 2 года веслаю, пора валить от них, но суть в том, что смысл собеса то в чем был? Оффер давайте, а на практике увидим, что из этого выйдет. Или тестовое можно давать людям, только желательно прям реальную задачу из жиры - выполнил, получи оффер и не нужно сотню кандидатов собеседовать.
>>60648
> Доставать тоже из форм даты?
Метод есть для доставания? Можешь достать из неё. Проблемы? В стейт же не хочешь запихать данные, доставай из объекта формы и не бухти.
> Хорошо, что тебе работа не нужна, нам больше достанется.
Нужна, с понедельника вхожу в активную фазу поиска.
тут только три сущности
кипресс это одно, карма это другое, все остальное это третье
На Vue Test Utils и другой фигне что использует jsdom не потестируешь то что имеет размер, например страницу не поскролишь. Нужен кипресс. Карма для тестирования мультибраузерности.
> 2 года веслаю
> думаю, что сейчас залететь так же просто как до Самой Великой Операции
пиздец, просто пиздец
> Метод есть для доставания? Можешь достать из неё. Проблемы? В стейт же не хочешь запихать данные, доставай из объекта формы и не бухти.
Ты только дрочишь вокруг да около, со своим "это вам надо", но даже не приблизился к тому, чтобы ответить. Охуенная адекватность, 0/1
> > 2 года веслаю
> > думаю, что сейчас залететь так же просто как до Самой Великой Операции
Я где-то это писал?
> Ты только дрочишь вокруг да около, со своим "это вам надо", но даже не приблизился к тому, чтобы ответить.
Я ответил.
Не видел чтобы эту хуйню на собесах спрашивали. Просто используй в своем пете и все.
>быстро прикрутить на коленке сервер к своей тудушечке
Частая задача за пределами команда-из-30-человек-на-проект. Слепить на коленке бизнес логику, и посмотреть, как оно продаётся.
Если ты перестанешь воспринимать себя как придаток кабана, то посмотришь вокруг какие есть востребованные ниши и начнешь их окучивать как специалист. Есть такая ниша - проекты на ноде у мелко и средне кабанов. Не надо ломится туда куда все, надо смотреть по обстоятельствам, где тебе легче стать чуть лучшим спецом чем в среднем по нише.
Да мы уже поняли про твою форм дату. Кроме форм даты же это никак не сделать, и в стейт положить, лол.
Короче, гит гуд.
> Кроме форм даты же это никак не сделать
Сделать, но вопрос то был про получение данных формы в жиес. Очевидно, что вариант с получением значений инпутов не катит, мы ж всю форму хотим.
Про документ.формс я б не вспомнил на собесе, тк хуй ты это в практике встретишь.
Думаю в первую очередь должен волновать вопрос куда ты с этим стеком пойдешь. Если есть вакансии - то можно брать, если их 0-5 то нет.
Ок, берем с hh вакансии строго с моего двухмиллионного города и с опытом 1-3 года (поскольку удаленку пока не трогаем).
nodejs - 12 вакансий
c# - 39
java - 44
php - 45
golang - 13
Вот и думаю куда податься
А ты фильтровал выборку по названию должности в вакансии? А то у тебя может быть мусор типа вакансии на фронтенд, а в теле указана нода/питон и так далее
Нет, но я понял к чему ты и да там и есть мусора (например тупорылые эйчарки пишут Java script из-за чего джаваскрипт вакансия попадает в выборку джавы). Ну вот посмотрел щас ноду и го. Там половина вакансий либо фулстак, либо всякие питон и пхп разработчики где упоминается о знании го или ноды как преимущество. Короче как я понимаю работа относительно много работы только на пхп джаве и сисярпе потому что остальное после отсева 5-10 вакансий от силы
Пикрил - вот так у меня выглядит кусок их сайта. Я бы подумал, что стили отвалились или сайт слишком крутой, но картинка получена в 100-каком-то хроме где максимум ublock стоит. Им сайт верстал ChatGPT или это какой-то новый тренд веб-дизайна, о котором я не знаю? Ну пиздец же, вкатуны в верстание лендосов 5 лет назад такое говно показывать постеснялись бы.
Не тот пик, извиняюсь.
>Ну пиздец же, вкатуны в верстание лендосов 5 лет назад такое говно показывать постеснялись бы.
open вовсе не обязательно free, если что. Если опубликуют и скажут "запускайте на своих можностях, или вот у нас ¢6 запросик", то это вполне себе open
У Character AI вообще сайт по моему на голом бутстрапе. Решили не заморачиваться, да и правильно сделали, суть проекта не в сайте, а ИИ, который реально крутой.
двачую, тут сам продукт за себя говорит, нет необходимости чёто впаривать при помощи модной обёртки
с одной стороны согласен, такие детали запоминаешь только когда работаешь по многу с с формами или другой какой-то фичой, но с другой стороны, должен же ты быть ценен как специалист, так то в гугле всё найти можно, специалист тем и ценится что он в голове эти моменты щёлкает и сразу знает что ему делать без надобности гуглить
> должен же ты быть ценен как специалист, так то в гугле всё найти можно, специалист тем и ценится что он в голове эти моменты щёлкает и сразу знает что ему делать без надобности гуглить
Так я знаю, что конкретно мне гуглить и как этим пользоваться. Это для меня не новым чем-то будет, а просто освежением знаний. Я ценный специалист, кабаныч меня продаёт за 300к и платит 80к.
Про это я бы рассказал, но там вопрос был поставлен именно как получение всех полей формы сразу, может я его плохо запомнил, но там однозначно следовало, что получать инпуты и смотреть их значения, это не вариант, тк от меня хотели конкретный объект formData услышать или document.forms.форма. А может я не одуплил, что от меня хотят, такое тоже бывало
Земля пухом, за 3 года опыта джунская зп это эпик фейл. За 3 года можно стать мидлом и зарабатывать 200-250. Правда, на вью вряд ли, столько в основном платят на проектах на реакте и ангуляре.
Зачем, если можно взять express и реакт/вью?
Ты неправильно ищешь вакансии на ноже. Во-первых надо писать node, а не nodejs, потому что могут в тексте вакансии написать без js, во-вторых надо добавлять express, например, чтобы отсеять нерелеваниные вакансии, где слово node в тексте означает что-то другое. Я ищу "node express" и "node nest"
есть фильтр цен и хрючева. Что мне нужно дописать, чтобы фильтр работал так и на цену так и на еду, а не по отдельности?
export default function Food() {
const [foods, setFoods] = useState(data)
// Clear filter/ Фильтр, чтобы вывести все
const setData = () => setFoods(data)
//Filter foods/Фильтр бургеров/пицц/так далее
const filterType = (category) => {
setFoods(data.filter ((item) => {
return item.category === category
}) )
}
//Filter price / Фильтр по цене
const filterPrice = (price) => {
setFoods(data.filter ((item) => {
return item.price === price
}) )
}
//Filter of exact food / Фильтры по опр. еде
const filterBurger = () => filterType('burger')
const filterPizza = () => filterType('pizza')
const filterSalad = () => filterType('salad')
const filterChicken = () => filterType('chicken')
//Filter of exact price / Фильтр по опр. цене
const filterPriceOneDollar = () => filterPrice('$')
const filterPriceTwoDollars = () => filterPrice('$$')
const filterPriceThreeDollars = () => filterPrice('$$$')
const filterPriceFourDollars = () => filterPrice('$$$$')
есть фильтр цен и хрючева. Что мне нужно дописать, чтобы фильтр работал так и на цену так и на еду, а не по отдельности?
export default function Food() {
const [foods, setFoods] = useState(data)
// Clear filter/ Фильтр, чтобы вывести все
const setData = () => setFoods(data)
//Filter foods/Фильтр бургеров/пицц/так далее
const filterType = (category) => {
setFoods(data.filter ((item) => {
return item.category === category
}) )
}
//Filter price / Фильтр по цене
const filterPrice = (price) => {
setFoods(data.filter ((item) => {
return item.price === price
}) )
}
//Filter of exact food / Фильтры по опр. еде
const filterBurger = () => filterType('burger')
const filterPizza = () => filterType('pizza')
const filterSalad = () => filterType('salad')
const filterChicken = () => filterType('chicken')
//Filter of exact price / Фильтр по опр. цене
const filterPriceOneDollar = () => filterPrice('$')
const filterPriceTwoDollars = () => filterPrice('$$')
const filterPriceThreeDollars = () => filterPrice('$$$')
const filterPriceFourDollars = () => filterPrice('$$$$')
1920x1020, 0:15
Нужно чтобы фильтр цены сохранялся вместе с типом хрюачача
Спасибо за замечание.
node - 13 вакансий
node express - 3 вакансии
node nest - 1 вакансия
Теперь поиск по резюме
node - 74 резюме
node express - 23
node nest - 3
Для сравнения с laravel
вакансий - 21
резюме - 48
Asp.net
вакансий - 7
Резюме - 48
Java Spring
вакансий - 9
Резюме - 114 (WTF)
React
вакансий - 31
Резюме - 152
Django
вакансий 9
резюме 136
Поставил фильтр на город и 1-3 года опыта. Негусто. Короч доучу на базовом уровне ноду а усиленно бэк учить буду либо на php или сисярпе. Других вариантов не вижу. На сисярпе и пхп более менее сбалансированные спрос и предложения.
Спасибо за замечание.
node - 13 вакансий
node express - 3 вакансии
node nest - 1 вакансия
Теперь поиск по резюме
node - 74 резюме
node express - 23
node nest - 3
Для сравнения с laravel
вакансий - 21
резюме - 48
Asp.net
вакансий - 7
Резюме - 48
Java Spring
вакансий - 9
Резюме - 114 (WTF)
React
вакансий - 31
Резюме - 152
Django
вакансий 9
резюме 136
Поставил фильтр на город и 1-3 года опыта. Негусто. Короч доучу на базовом уровне ноду а усиленно бэк учить буду либо на php или сисярпе. Других вариантов не вижу. На сисярпе и пхп более менее сбалансированные спрос и предложения.
кого ебет
ASP.NET никто в вакансиях не пишет, обычно просто C# / .NET разработчик. Сейм с джавой, никто не пишет Spring в вакансии
мимо .нет фуллстек
>Introducing ChatGPT
>запись с экрана windows
Теперь я знаю, какой сорт людей делает эти блядские конструкторы хрючевных доставок.
Так вообще поебать. Думай как кабан: у тебя продукт с рандомным кеглем и без контейнера бьет все рекорды. Ну нахуя тебе нанимать ещё разработчиков и дизайнеров, которые будут что-то улучшать, рефакторить, архитектуру придумывать, если ты уже в лидерах рынка?
эта поебота даже не помогла. Точнее помогла, но там все настолько через жопу, что только дебилоид будет искренне верить что эта хуита заменит хотя бы самого обоссаного джуна
Ньюфаги, очевидно. Если бы я записывал экран, я бы открыл вкладки
>gay porn with hats on
>топзашквар
>/a
и ещё что-нибудь, чтобы повеселить анона.
Но если писать C# и .net то там же все подряд будет вываливать типа геймдева и прочего
Я на хх когда ищу то добавляю NOT unity NOT qa NOT desktop чтобы не шквариться об нерелейтед кабанычей
Тот, который на хх вылазит, очевидно же!
Ну так в Казахстане и цены дешевле
Добавить голосового ассистента, чтобы батники запускал по запросу. Типо "Машина, включи тивач" - запускает браузер или вкладку с тивачем.
Всякие скрипты навешать по нажатиям на кнопки, типо просто нажав кнопку "2" фокусить запущенную программу из панели задач, как если бы нажал "WIN+2".
Для этого нода подойдет? Или лучше в плюсы или пайтон пойти?
Последний раз пайтон второй версии тыкал, не зашел. На третьей вроде получше.
И кстати, можно ноду сконвертить в shell или батник с нулями и единицами?
Хз понятен ли вопрос.
Нужно запускать скрипт написанный на ноде на устройстве без ноды.
Когда ии меня заменит? Я заебался этой хуйней заниматься.
Лень с мобилой заморачиваться. Надо свободные номера искать, а их считай нету.
А в рашке порезали доступ.
В телеге порезанный бот что ли?
> Лень с мобилой заморачиваться. Надо свободные номера искать, а их считай нету.
60 рублей лишние есть? Просто виртуальный нормер делаешь и всё. 1
Сейм. Я просто создал тестовую апку и написал тесты на все случаи жизни.
onlinesim.io - я там номер покупал. Британский подошёл, номера подешевле пробовал покупать если смс не пришло хорошо, что не приходит смс о том, что номер занят 🤡, деньги возвращаются, они были заняты.
>винду под себя
В голосину, нахуй. Спермоблядок, ты совсем из ума выжил? Виндус уже идеален, не надо в нём ничего менять! Кастомизации - это всё говно для пердоликов красноглазиков, которых в школе чморили, ровному пацану западло об такое шквариться. Иди лучше в клуб сходи пивка попей под рэпчик ёпту бля.
>Для этого нода подойдет?
Нет конечно, только ассемблер. Ну, можешь сделать гуй к своим говноскриптам на сисярпе/питухоне, но на этом потенциал кастомизации виндуса заканчивается.
>Нужно запускать скрипт написанный на ноде на устройстве без ноды.
Не знаю насчёт ноды, но у перла есть такие тулы как PAR::Packer, fatpack, staticperl. Суть их в том, что скрипт вместе со всем говном, на которое он опирается (включая интерпретатор языка), пакуется в здоровый архив, который затем делается исполняемым и снаружи выглядит как standalone-бинарник. Зашифровать ещё можно от пиратов, вообще красота, короче. Возможно, для ноды тоже что-то похожее есть, но учитывая какой контингент ей пользуется и какие задачи решает - вряд ли.
Благодаре. Сохранил.
Откуда это чсв? Пёрл == нода
1) Динамикодрисня. У ноды хотябы тайпскрипт есть.
2) CPAN помойка как npm
3) Работа в основном уебразработке. У ноды есть и десктоп и мобилки хотя бы.
4) С++ расширения. У ноды также и несколько видов апи для их написания.
Я папочку с боевыми картинками про линуксоидов открыл, но пока не пока не использую.
>Виндус уже идеален, не надо в нём ничего менять!
Хочу допилить. На shell уже допиливал, но там какая-то дрисня а не код, ничего не понятно, но интересно, а как поверх всех скриптов на shell допилить распознаватель голоса и думать не хочу, думаю это вообще не возможно.
Если те решения, которые я хочу реализовать возможны на ноде, то предпочел бы ее, если нет, то пойду на ++ или пайтоне, там то думаю можно что угодно сделать.
Скорее больше интересует вопрос использования ноды для распознавания голоса с последующим реагированием в консольке для запуска скриптов/чего-то еще.
Ну и можно ли ноду сконвертить в батник, чтобы на любом устройстве крутилось.
Ты мне НодаПакер покажи, который нодовый скрипт самодостаточным сделает. Тезис не в том, что X лучше Y, а в том, что нода, в отличие от перла, среди техногиков-красноглазов с линуксами популяностью по ряду причин не пользуется. А senior smoothify.js девелоперу, который шлёпает РЕСТ АПИ на ЭКСПРЕСС ДЖЭЭС для кабана за 400к в наносекунду, нахуй не упёрлось паковать там куда-то свои скрипты, чтобы они без ноды исполнялись.
>Работа в основном уебразработке
Нет
>У ноды есть мобилки
Под нодой ты вебпак понимаешь?
>>61636
И давно? Коммиты вроде свежие ещё.
>Оно ноду за тобой тащит?
Да. Большей частью ты тащишь через npm install всякое говно для RN и пишешь на жс. Но можешь отдельные модули написать на колине и жаве. И все это собирается градлом в апк.
Так нода-то где? Жс-код, который крутится на хтмл+ксс фронтенде - это не нода. Я, признаться, не знаю, как там реакт нейтив работает под капотом, но если так же, как кордова или капаситор - это не нода. А если оно реально ноду с собой тащит - ну, это пиздец.
>На shell уже допиливал
И что ты допиливал? И на каком "shell"? Ты реальный POSIX shell в сперму воткнул?
>Если те решения, которые я хочу реализовать возможны на ноде
Если для ноды есть байндинги к библиотекам, посредством которых твои охуительные решения должны реализовываться, ИЛИ стандартная библиотека ноды предоставляет соответствующий инструментарий - то возможно. Но не факт, что целесообразно.
>для распознавания голоса
Сходу нагуглил вот такую сраку https://openbase.com/js/voice-commands.js
>И что ты допиливал? И на каком "shell"? Ты реальный POSIX shell в сперму воткнул?
Хуй знает. Я думаю это shell. Но если честно, то не ебу. Не уверен что это за язык.
За вечер всякую хуйню накидал, уровня открой браузер, открой стим, добавил более понятные аргументы.
Чисто тест был, потом уже надумал, что было бы круто полноценно такую штуку запилить, с голосовым ассистентом, с забиндеными кнопками, чтобы литерали Тони Старк с его джарвисом.
>Сходу нагуглил вот такую сраку
Конвертирование в батник случайно не знаешь как нагуглить? Чет не ищет, либо мои фантазии просто так не работают.
>то возможно. Но не факт, что целесообразно.
+. Тоже хз. Но звучит ахуенно.
RN не использует ноду ни в каком виде.
RN использует движки напрямую либо Hermes либо JavaScriptCore.
v8 RN не использует.
Гитхаб пишет, что это shell, значит точно shell.
Ты на ноде пишешь? Пишешь. Из npm пакеты ставишь? Ставишь. Ты можешь поставить isarray? Он работать будет? Да. Да. В мобилке жс рантайм есть? Есть. Не буквоедствуй.
https://www.npmjs.com/package/react-native-v8
Ты тот перлист или залез в чужой разговор со своим контекстом, как сумасшедший на площади?
И стоит ли в резюме указывать пункт "Design patterns" или же это по умолчанию подразумевается?
Не указывай ничего за что потом не вывезешь. Помню когда учился в универе и искал работу то в резюме то особо нечего там было указывать и я написал MS Office лол. Попал на одно собеседование и как выебали мне мозги там техническими вопросами об икселе что а аж растерялся. А я всего то умел что реферат написать в ворде лол
Не, ну я с какой стороны на это смотрю. Фронту постольку поскольку эти паттерны нужны, выучить с десяток самых популярных. Можно дополнительный плюсик получить когда твоё резюме будут смотреть. Если спрашивают те, которые учил, то не страшно. Если же за левый паттерн спросят, то так и сказать, что такой не знаешь. Скорее просто спросят какике знаешь и применял ли.
>Конвертирование в батник
Третий раз, блядь: не бывает конвертирования js-кода, написанного под ноду, в батник хотя может ChatGPT чего и высрет лол. Максимум, что ты сможешь сделать - это упаковать скрипт таким образом, чтобы нода и все нод_модули, которые он реквайрит, лежали с ним в одном архиве, который можно исполнять. Вопрос только в том, существуют ли такие решения для ноды - для тех задач, в которых они нужны, ноду, как правило, не используют.
Если нужные топики хорошо знаешь. Типа SSR. Или все виды авторизации. Этим больше удивишь нанимателей.
Вы оба не блещете. Потому что я хоть не RN макака, а обычная фустек макака на ноде, но приходилось пару раз на React Native писать. Что-то я не вижу, чтобы в вакансиях на RN искали перловиков. У жс единая инфраструктура. Если нужен электрон или RN то набирают жсеров с реактом и нодой.
>хотя может ChatGPT чего и высрет лол.
Хуйню высрет. Может пятая версия чего и сможет, но не думаю.
>Третий раз, блядь: не бывает конвертирования js-кода, написанного под ноду, в батник
Сорян. Похоже не сразу понял.
>Максимум, что ты сможешь сделать - это упаковать скрипт таким образом, чтобы нода и все нод_модули, которые он реквайрит, лежали с ним в одном архиве, который можно исполнять.
Да, можно, но не совсем то что нужно. Ну, раз Аноны не знают решения, значит и правда такое не сделать и фантазии мои не работают.
Придется исследовать где будет проще сделать, на плюсах или пайтоне.
Хотя, возможно твое решение с батником и архивом как-раз то что нужно, тоже погляжу еще в этом направлении.
Благодарен за ответы.
Сука, да ты же даже не понимаешь, что нода != джаваскрипт. Показать бы твоему кабану твои посты на сосаче, лол, так ты бы уже завтра в пятёрочке работал.
Это ты зачем-то спроришь с нода ∈ жаваскрипт, хотя изначальный тезис был
>3) Работа в основном уебразработке. У ноды есть и десктоп и мобилки хотя бы.
>хотя изначальный тезис был
Ну, ка тезис не подменяй. Твой тезис был в том, что
>>RN ноду за собой тащит?
>Да. Там интер оп ноды с наивным ондроидом.
А я тебе ещё раз говорю, что код твоего приложения, который крутится в рантайме, к ноде никакого отношения не имеет - на ноде у тебя только сборщики, установщики, дев-серверы с лайврелоадами, вот это вот всё.
>>61840
Лол блядь.
Попробуй вместо абстрактного хождения вокруг да около дать ему код и сказать "перепиши на языке X чтоб работало". Ещё там очень правильно рекомендуется по-английски с ним общаться.
Нет ты! Ты контекст подменил, когда сказал, что мол причем тут нода, если там хтмл в браузере рендерится.
Если не у ноды так у другого жс движка интероп с андроидом в мобилке, хтмл там в брузере не рендерится, как ты утверждал. Но я еще ссылку кинул на v8 рантайм для RN https://www.npmjs.com/package/react-native-v8
Только все это в спору не имеет отношения.
Ну и зачем ты пытаешься доказывать что я не вижу различия между нодой и v8? Если спор разгорелся о том что у ноды область применения шире чем у перла.
>Попробуй вместо абстрактного хождения вокруг да около дать ему код и сказать "перепиши на языке X чтоб работало". Ещё там очень правильно рекомендуется по-английски с ним общаться.
ТЕСТ-1: SHELL TO NODE (скрин 1 и 2)
Если коротко, то когда я беру shell скрипт и бот конвертит его в node, то нихуя. Открывается консолька и все.
Сам же shell скрипт открывает картинку, все работает.
ТЕСТ-2: Генерим скрипт ноды и конвертим его в shell (Скрин 3-4)
Скрипт для открытия папки.
Сам код на ноде не отработал. Просто открыл експлорер.
Сорян, лимит, лол.
Там выше мне анон советовал по нормальному подключиться. Как время будет потестирую еще. Но пока результата считай нету.
Следующим постом прикреплю другие тесты, но я их не тестил.
>Скрипт для открытия папки.
>Сам код на ноде не отработал. Просто открыл експлорер.
Бот его сам сгенерил, если что.
Ни разу на работе не было тестов на проекте.
>Там выше мне анон советовал по нормальному подключиться. Как время будет потестирую еще. Но пока результата считай нету.
>
На английском еще попробую.
Возможно я че-то не то с кодом делаю, хз.
Не стукай, ну чего ты.
Но да, согласен, нормальную кучу навалил в js тред.
Я Анонам отвечал, интересно же.
> но ведь я эту кнопку написал, зачем мне её тестировать?
Конкретно по кнопке. Ты сделал какую-то кнопку для локальной либы своего проекта. Либа лежит в вашем npm прокси, работает как обычная зависимость. Какой-то пчелик взял и переделал кнопку, в худшем случае сломал обратную совместимость. Чуваки на подпроектах обновили либу - а у них проекты не собираются, потому что им теперь нужно изменять код, который использует эту кнопку под новую версию. Этого не произошло бы, если перед генерацией новой версии либы стояли тесты кнопки, которые бы упали в момент потери обратной совместимости - этого не произошло.
Так что по-большому счету тестировать компонент имеет смысл, когда ты ожидаешь, что его может менять кто-то, кто не в курсе всех случаев его использования. А вообще это трата времени, конечно.
У нас страна маленькая, 2,5 крупных города. Да и для первой работы не очень хочется удаленку хз
Какая страна? В целом вопрос про то, в какие другие страны тебя могут нанять? Если какая-нибудь Латвия, то тебе удалёнка по всему ЕС доступна. Если Средняя Азия, то скорее всего многие компании из стран СНГ могут взять тебя. Почему удалёнку не хочешь? Я с самого начала работал удалённо, ещё будучи джуном, в офисах никогда не был.
>Я с самого начала работал удалённо, ещё будучи джуном,
То какой год был? Попробуй щас джуном удалёнку найти, говна нахлебаешься.
Областной центр в РФ, полумиллионик. Ну сейчас может тяжелее, хз.
Ну из России почему бы и нет
Ну типо функция это объект, ты можешь в неё свойство записать, на практике ни разу не потребовалось, скорее всего придумано ради ебки на собесах.
Надеюсь на собесе меня это не спросят 🤡
Совсем ньюфаг? В жс всё состоит из объектов. Любая функция наследует от объекта Function. Да-да. Ты вот мог себе представить, что всякий раз, когда ты, например, дёргаешь метод на строке, создаётся инстанс String, который затем тут же выбрасывается? Ты подучи это дело, это всё основы, без этого над тобой смеяться будут.
Только попробуй, мерзавец! Только попробуй что-то сделать с прототипами, ты слышишь?! Мне придётся тебя по АЙПЭ вычислить, насрать тебе в жопу и выебать трупом твоей собаки, ПОНЯЛ????
С прототипом я уже сделал, до твоего сообщения, но в циферку то прям записать нельзя.
Надеюсь про прототипы тоже не будут спрашивать на собесе - недавно я мог бы филтгранно расписать про прото и про прототип, в чем разница, у чего они есть, но вот заковыка - это знание не очень то и нужно и я всё забыл почти. И что толку с прорабатывания таких нюансов? Они ж забываются...
Надо, чтобы не быть баттхёртом, когда понадобится. Учи скриптовые мемы.
> Циферки
Цена таким цифоркам 2 баттхёрта вместо одного. Дали цифры, используй по назначению.
Судя по вопросам - нет.
Что тогда имеется в виду под "записать в циферку"?
Звучит как бред шизофреника.
Так ты не в циферку записал.
В функцию вот запишешь, у другой функции не будет того, что ты запишешь - а если для намбера такую залупу добавишь, то она у всех намберов и будет.
Сделай вот свойство для циферки 2, которого не будет у циферки 1
>В жс всё состоит из объектов. Любая функция наследует от объекта Function.
Неправда. Все, что наследуется от обжектов - имеет тип обжект. А функция не имеет, я специально проверил.
>дёргаешь метод на строке, создаётся инстанс String, который затем тут же выбрасывается
Звучит не очень правдоподобно. Типа, зачем бы так делать, если можно создать один статический инстанс и дергать из него статические методы для разных строк?
typeof это typeof, он на цепочке прототипов явно не завязан. Так и у null будет тип object, потому что потому.
Function instanceof Object
Примитивы это: строки, числа, bigint, булеаны, символы, null и undefined.
Всё остальное это объекты.
Объекты бывают просто массивами, регэкспами, датами, функциями, хуюнкциями и просто объектами.
Объекты, в отличии от примитивов, имеют свойства и всякие там прототипы.
Однако, можно вызвать метод и у примитива. На самом деле у примитива нет методов, поэтому неявно создается объект-обёртка (например при помощи конструктора Number в случае чисел) и метод вызывается у него.
Да, было бы неплохо заточить в одиночестве базированного ангуляр-енжойера.
Он имеет в виду (4).foo = 'bar'
organizationsList: OrganizationT[] | null
Если я с Бэка данные так типизирую это норм?
Бесит эти | null писать немного
При этом если убрать null и изначально ставить массив, тогда нет отличия между тем что данных нет и что данные ещё не начали грузиться, из-за чего приходится is loading отдельно обновлять и ререндерить компонент
Больше бесит какое-то уебанское T в конце. Если я читаю код оно же нихуя дополнительно информации не дает. Любитель любить тавтологии что ли или просто шиз с ОКР?
Вообще это на проекте такое правило, но и удобнее отличать тип от переменной имхо
Или если у тебя компонент Organisation и там тип Organisation например, тоже такое себе
Если у тебя есть интерфейс User {name: string; age: number;} и класс class User { constructor(public name: string, public age: number) {}} то даже в этом случае нахуя? У тебя весь код в одном файле, в одном неймспейсе? Даже в этом случае это просто шум. Ты можешь импортировать клас так
import {User as BaseUser} from '../../../../../../../../../../../../users'
Хорошо, почитаю об этом, спасибо, мб даже предложу на проекте поменять
А по изначальному вопросу что думаешь?
У тебя может быть сто типов Organisation в разных файлах. Они будут одним полем отличаться. Будешь их все называть OrganisationT или делать один гиганский интерфейс Organisation с сотней необязательных полей?
Если у тебя все списки в отдельных реквестах грузятся то куда ты денешься? Это же не проблема типизации, проблема как в рантайме отличать пустой список от незагруженного.
У вас там проект вкатунов по становлению джунами? Я не могу представить другой проект, где не знают про import as.
Я знаю это, тут же вопрос не в этом, а в том что глядя на OrganisationT вместо Organisation я сразу вижу что это тип, не смотря на контекст где это слово находится.
>>62279
Да, я бы так сделал
Я же говорю, почитаю, если реально Т в конце плохая практика - исправлюсь
>>62282
Ну сейчас я просто проверяю что data isNull и на этом основании показываю loader, если же data будет [] то я так не смогу и придется добавлять отдельный стейт isLoading для обоих реквестов
>Да, я бы так сделал
Ну не очень хорошо с точки зрения ts в котором полагается что ты будешь юзать алгебраические типы. Правильно было бы иметь отдельные типы без необязательных полей и использовать так
IllegalOrganisation | CriminalOrganisation | LegalOrganisation
https://www.youtube.com/watch?v=cT-VOwWjJJs
1280x720, 0:55
>This feature allows the distribution of a Node.js application conveniently to a system that does not have Node.js installed.
>Nexe is a command-line utility that compiles your Node.js application into a single executable file.
>This command will output 3 binary exectuable files build-linux, build-macos, and build-win.exe.
Кажется оно.
Благодарен и тебе, Анончик.
Теперь я еще смогу сделать бекдор и взломать комп соседа, удалив весь его шансон и русский реп.
Интерфейс с необязательными полями лучше подойдет для передачи кофига или опций одним объектом в функцию или метод, но не для моделирования домена. ИМХО конечно
Это должно обозначать умение имплементировать то, что архитектор тебе дал в виде диаграмм. Но что в голове у того, кто заполняет конкретную вакансию - сказать сложно.
Добро пожаловать на сервер шизофрения
Feature sliced design
В js нет шаблонов что ли? Поясните-ка за этот момент
язык ваш говно! поняли!? ПОНЯЛИ!?
Нет. Из-за чатгпт стало снова актуально писать лапшу на 5000 строк в одном файле и реюзать переменные.
Сложно...
But there's another way that Next.js uses your getServerSideProps—from the client.
Consider a different scenario:
User is already on your site, and they click a Next.js Link to navigate to the server-rendered page.
Next.js calls your getServerSideProps method on the server, but instead of generating an HTML file, it sends the data as JSON to the client.
React uses that data as the initial props when rendering the new page, in-browser.
Я придумал плохое решение с refresh в Layout. Хочется так: в Layout поменял состояние, внутренний children (который с getServerSideProps) перерендерился. А если страница обновляется, то стор клиента заполняется из того самого getServerSideProps. Вот кодсэндбокс, но нихуя не получается.
https://codesandbox.io/s/usehydrateatoms-forked-c7387b?file=/pages/index.js
Делаю что-то похожее на это
https://github.com/aulneau/jotai-hn/blob/main/src/pages/index.tsx
Но тут без изменения данных, просто принял с сервера, отрисовал, а мне вот необходимо изменение.
инб4 не используй getServerSideProps/ не используй jotai и т.д
Бедняга, целый день потратил на это небось
Концепция поменялась. Я в Layout меняю jotai стейт, а подписанный на тот же стейт children Layout'а не хочет ререндериться. Вотафак?
Подозреваю, что он имеет в виду тот факт что в жабаскрипте все таки не всё является объектами.
Примитивы - не объекты, в цепочке наследования прототипов не участвуют, соответственно хуй ты что запишешь в примитивное число.
А доступ к методам примитивы имеют потому что при выполнении кода жс оборачивает примитивное значение во временный объект-враппер соответствующего конструктора.
мимо-вкатыш
Хорошо что ты не на собеседовании. Уже услышал бы как тебе перезванивают
Как же нахуевертили с локализацией программисту их знаний для рашки. До сих пор бомбит с записей. "Боксинг" и "раз боксинг", ну ёбаная упаковка!
Эх, а я то думал только null является объектом, и только потому что раньше в жс была система тайп тэгов от которой осталась такая фича-баг.
Что же это деется то, кругом наебывают нашего брата-вкатыша.
Даже mdn наебывает, и даже документация экмаскрипта выделяет примитивы в какие-то отдельные встроенные типы, все чтобы запутать и ввести во искушение.
Только gigachadGPT не наебывает, только дяде роботу можно верить.
Вот бы существовал какой-то документ, где можно было бы посмотреть такую хуйню, а не спрашивать у нейросети, рискуя получить неверную и противоречивую хуйню. Жаль такого документа нет.
https://262.ecma-international.org/13.0/#sec-ecmascript-language-types
> The ECMAScript language types are Undefined, Null, Boolean, String, Symbol, Number, BigInt, and Object.
https://262.ecma-international.org/13.0/#sec-primitive-value
> 4.4.5 primitive value
> member of one of the types Undefined, Null, Boolean, Number, BigInt, Symbol, or String as defined in clause 6
> Note
> A primitive value is a datum that is represented directly at the lowest level of the language implementation.
https://262.ecma-international.org/13.0/#sec-terms-and-definitions-object
> 4.4.6 object
> member of the type Object
> Note
> An object is a collection of properties and has a single prototype object. The prototype may be the null value.
Не ну майки сказали шо там зачатки настоящего ИИ, так шо оно умное а значит доверять стоит
А тебе зачем?
SINGS[0][1]
Да там не очень сложно, уровень ищича на литкоде. Вот бэкэндеров небось по всем кишочкам и деревьям спрашивают.
Отдаешь себе отчет в том, что живешь следуя советам и отзывам ноунеймов в интернете?
Вкатыши настолько заспамили всё пиздежом про опыт, что теперь, если у меня 3 года опыта, меня никто никуда не пригласит, да? Хорошо, что всегда можно выйти из отпуска на галеру, на которую не хочется возвращаться из-за низкого прайса...
>>63059
Но я ещё посмотрел вебинар с собесом фронтовичка в яндекс от самого яндекса - там челика по алгоритмам заставляли задачи решать, значит ноунейм в интернете сказал правду.
А потом яндексовички сказали, что зарплата мидла в яндексе = 1 козуля я и 1/3 был бы рад, вплоть до выпадения кишки и тут я хз, кому верить, в отзывах о работе в яндексе и здесь пишут, что таки ниже рынка плотют.
>>63060
> Но я ещё посмотрел вебинар с собесом фронтовичка в яндек
Не полностью, если что. Я ж не ебанулся совсем, пока что.
>>63057
> Да там не очень сложно, уровень ищича на литкоде.
Ну вот я какой-то алгоритм могу реализовать, а какой-то не смогу - попадётся лёгкая задача на алгоритм, который я не изучал и я не решу её, что толку с того, что это уровень изи?
Ну так а я и не говорю, что я синьор помидор
Год это довольно мало
Я просто ахуел, от этого
>Напоминаю что нечего и думать о вкате без знания тайпскрипта, Реакта, редакса, next,js, css (и фреймворка к нему, желательно тайлвинд), ноды, монги, экспресса, реляционных баз типа постгреSQL, REST API (или GraphQL как альтернативы) и тестовой библиотеки (JEST желательно).
Все равно слишком жирно
Мань, это стандартные требования. Что ты собрался делать в вебе без знания этого всего?
Надеюсь это не будут 28 дней игнора.
Я минифицировал жс файл и теперь вложенные функции не срабатывают, потому что в жс файле названия функций минифицировались...
Че тут лучше сделать? Переписывать всё что ли ёпты-бля..
Как думаете, есть шансы за месяц трудоустроиться на 150к мидлу >>63292? я правда мидол, главное алгоритмы не спрашивайте, я не всё выучил...
А то, что я не метнусь ей сразу отвечать, тк гулять пошёл, это нормально или она за пару часов уже найдёт другого кандидата? Тревожно...
можешь не минифицировать
можешь явно привязку ф-ций сделать через window.huy = hy и к ним уже цепляться в хтмл
можешь в жс подписаться на загрузку страницы и там вручные эвенты накинуть на хтмл
Продал всех Джеков, главенствующий в пустоте.
> сколько лет опыта?
Вот же
>>63292
> 3 года. 80к. 🤡
> 150 для уверенного мидла маловато
Я неуверенный меланхоличный мидл с синдромом самозванца и проблемами с менталкой. Ну и ещё я вокруг себя вижу только людей, получающих 25к+- и мне вообще непонятно, как я 80к получил. Я не могу просить 200к, я в них не верю, мне сначала надо увидеть, как на карту, хотя-бы один раз, капнет 150к. Тогда я пойму, что циферки настоящие, не выдуманные и можно будет через год просить аж 200к.
Может если бы я снова сел на антидепрессанты, было бы легче работу новую искать и просить хоть 250к сразу, но я ж без таблетосов, не вижу особых причин их пить. А вкатывался на них, да.
Не, это ведь в любом случае будет хардкод. Т.е. если я сменю страну на Россию, он до сих пор будет искать EUR, хотя в data будет уже RUB.
Я про 30 строчку если что, мудак как всегда забыл конкретизировать о чем речь.
Года 2, если будешь нормально углубляться.
>Т.е. если я сменю страну на Россию,
Отсюда и копай. Где ты будешь менять регион, отсюда и тащи название свойства.
> выглядит пиздец, конечно.
Тебе что именно мешает писать код, который не выглядит как пиздец?
const [data] = JSON.parse(this.responseText)
const [currency] = Object.values(data.currencies)
const html = ` ... ${ currency.name } ... `
Да, не подумал об этом. Но в целом, это нормальная практика делать нечто подобное? Имею ввиду создавать константу просто чтобы разово ее использовать.
Нормальная практика писать код, который легко читать. Это самое важное.
Ты не на си пишешь. Можешь хоть миллиард переменных завести, за тебя тут думает движок.
Твоя задача писать понятный поддерживаемый код. Соблидать принципы декопмозиции и композиции. Разделяй и властвуй. Функция не должна быть длиной больше одного экрана (10-15 строчек). В строке не должно быть больше 2-3 выражений. Функции не должны принимать больше 2-3х аргументов.
Декопозируй логику. Дроби выражения на переменные. Функции дроби на другие функции и потом композируй их. И разумеется соблюдая баланс - если выносить все по максимуму это так же плохо, ка кне выносить ничего и никуда.
Твоя основная задача как разработчика - БОРЬБА СО СЛОЖНОСТЬЮ.
Сложность заключается в когнитивной нагрузке, которую создает код твоего приложения (сюда относится и синтаксические конструкцие и паттерны проектирования, и архитектурные приемы и методологии разработки и используемый инструментарий).
Ты должен ее снижать всеми доступынми методами. .
Вот твой коллбэк в идеале должен быть переписан. Шаблон должен быть вынесен в отдельную функцию, которая принимает уж сформированный объект с готовыми параметрами для интерполяции в него. А подготовку этих параметров ты делаешь в родиельской функции, откуда потом вызываешь генерацию шаблона.
>>63430
В итоге должен быть что-то типа такого
const [data] = JSON.parse(this.responseText)
const [currency] = Object.values(data.currencies)
const html = countryTemplate({
flag: data.flags.png,
name: data.name.common
region: data.region,
population: data.population / 1000,
languages: Object.values(data.languages),
currency: currency.name,
})
...
Скоро ангуляр переделают под реакт.
Спасибо, буду стараться придерживаться таких правил.
>>63438
Т.е. чтобы в дальнейшем у меня не было вот этого хуй пойми чего в виде Object.values(data.currencies)[0].name, а просто ${currencies}? В плане читаемости круто, но мне кажется мне рано задумываться о настолько крутом повышении качества кода. Мне бы в целом его нормально писать начать...
*нормально - хоть как-то, с пониманием того что я делаю. И не две строчки в пол часа.
Больше похоже на vue 3 чем реакт по принципу работы.
>Т.е. чтобы в дальнейшем у меня не было вот этого хуй пойми чего в виде
Да. И потому что логика должна быть отдельно, а представление отдельно.
В представлении ты можешь указать только логику, которая никак не зависит от модели. То есть фактчески, напрмиер предусмотреть значения по умолчанию. ЧТо будет выведено,е слив шаблон не придет currency (оно undefined) и так далее.
А все вот эти Object.values, деления на 1000 и прочее, должны делать вне шаблона - в контроллере или во вью-модели. - в терминах шаблонов проектирования.
Задумваться об этом никогда не рано. Если сложно думать в специализированных терминах, то пытайся писать код, который выглядит банально КРАСИВО. Чувство вкуса хоть какое-то есть у всех, на интуитивном уровне можно понимать, что гармонично, а что перегружено. Видишь НЕКРАСИВЫЙ КОД - отрефакторь его, измени, перепиши, переименуй что-то, декомпозируй и так далее.
Ты должен снова и снова возвращаться к написанному коду и медитировать над ним, постоянно его читать и переписыватьесли это в иоге требуется. И только так можно научиться писать хороший и чистый код. Ты не научишься делать то же самое, читая какие-то методички или своды правил, заучивая их как отче наш и следуя им дословно Правил нет - они все РЕКОМЕНДАЦИИ. Изучай не ограничения, а возможности (во всем).
Применять что-либо без понимания для чего ты это делаешь - бессмыслено. А чтобы понять, что именно ты делаешь (ишешь поддерживаемый код), ты должен научиться отличать говно от не говна. И для этого требуется несколько тысяч часов постоянного переписывания.
Понятие - медитирование над кодом - это не бордосленг и не какой-то обсценный оборот - это вполне устоявшийся эфемизм.
Программист 90% времени думает над задачей, и только 10% времени пишет код.
Спасибо за крутой ликбез! Я в целом вижу когда код выглядит хуево, но всегда на первом плане стоит просто его работоспособность. Вот банально не мог достать вэлью из объекта в объекте, минут 20 точно всрал просто вспоминая то, что однозначно проходил пару недель назад.
Пару раз после того как хоть какие-то "проекты" по гайдам завершал пытался их рефакторить, но очень быстро забивал. Теперь буду и этому процессу время уделять. Еще раз спасибо!
>>63462
А, ну и забыл.
Ещё читай чужой код. Не потому что он обязательно хорош, он может быть и плох и очень плох. Но ты должен научиться отличать плохой от хорошего не только свой, но и чужой.
Читай чужой. Подмечай приемы которые хороши, бери на заметку. Замечай недостатки и прикидывай как бы ты реализовал то же самое, чтобы было лучше.
Читать можно что угодно. Сегодня есть гитхаб - открытых проектов очень много. Вбивай в поиск ключевые слова, сортируй по релевантности и о поулярности проектов и читай. Необязаетльно чт-то мейнстримное и сложное. Ищи простые и неизвестные проекты. Но ищи.
Устал читать доки и писать пет прожект - иди читать чужой код.
Ты смотрел под капот своего сриакта, на эти портянки однобуквенные на жс? Челише, ангуляр на тупаскрипте написан сто лет уже как.
Есть 2 стула. Я лично знаком с людьми которые выходили на 200к через год от вкатування. Ты либо ебошишь, рвёшь жопу и растёшь над собой, за что и получаешь больше. Либо можно сидеть как условный миддл по 10 лет за 100-150. А почему? А потому что "я просто делаю свои тасочки и мне норм, зачем мне головная боль?"
Зп - это просто рандом. Где-то платят много за нихуянеделание, а где-то будут ебать мозг и высокие требования за 60к.
Я тоже знаю одного такого челика, который вкатился сперва на 80, потом, на 120, потом на 200 за год-полтора с нуля
Просто я особо не хочу работать в айтишке
Да и в принципе работать впадлу, а жить на что-то нужно
Ты думаешь Анальники от хорошей жизни кнопки тыкают?
Никто бы не работал, все играли бы в майнкрафт, а не вот это вот все.
Да, но когда ты можешь работать за 100, но продолжаешь работать за 50, то в этом и есть нюанс.
Я тыкаю кнопки с 10 лет. Сейчас мне уже за 30.
Тыкаю, потому что это ахуенно интересно, а то, что мне со временем за тыканье еще стали платить дохуя - просто приятный бонус. Перестанут платить - я пойду в пятерочку кассиром и продолжу тыкать после работы. Потому что это ахуенно. Я в этом, как рыба в воде.
И я знаю хуеву тучу людей, которые живут программированием так же, как музканты живут музыкой. Писатели литературой. Художники рисованием.
Все дело в том, что некоторым в этой жизни очень сильно везет, найти свое дело. И они счастливы. А иным нет. и они всю жизнь ходят с грустным ебальником и все вокруг ненавиядят и поливают говном. Мне жаль последних. Я никогда не пойму их, потому что не был на их месте. Но наверняка заниматься чем-то против своего удовольствия очень неприятно. Не понимаю, зачем они это делают. Тратят свою жизнь на то, что доставляет им только страдания.
>>63647
В мвп треде тревожно, там пишут, что айти - всё.
Зачилься, другалек
А зачем это делать?
> Или всем насрать и никто даже не открывает?
Это. У меня за 3+ года проекты посмотрел один человек и я не знаю, почему он это сделал, это какой-то иностранец. Возможно он мне когда-то писал, предлагал работу, было что-то похожее возможно какой-то наёб, тк реально интересных проектов у меня нет - но не то что бы я этим воспользовался.
Если только делать что-то реально полезное что будут использовать типа библиотеки.
Ну или что-то очень модное. Или что-то очень умное.
Короче смысла гитхаба это самопиар, если твой код может тебя пропиарить то заливай.
блин ну как околоджун сделает такое? там от силы всякие клоны твитеров и аирбнб могу.
Ну забить гитхаб всякой ерундой в любом случае не повредит, просто особо на него не рассчитывай. Так, если кто-то вдруг зайдет чисто посмотреть на твою активность и количество кода, на всякий случай иметь его полезно.
Еще можно стать нормальным программистом и иметь портфолио из сайтов и полезного кода на гите.
Звучит круто конечно. Но как этого добиться самоучке. У меня была идея ментора нанять но это дорого у меня нет денег к сожалению
Сродни сей поеботы (.НЕТ)
https://github.com/KorzhCom/EasyData
>что бы попасть на работу надо стать крутым программистом
>как стать крутым программистом?
>через ком.опыт
Типичные советы жс треда.
ДЕЛОЙТЕ ХОРОШО, ПЛОХО НЕ ДЕЛОЙТЕ
Overkill это комбинаторная логика с λ-исчислением и абстрактной алгеброй. Тебе же рекомендую:
-"Дискретная математика и комбинаторика" - Джеймс Андерсен
-"Алгоритмы построение и анализ" -Томас Кормен и другие.
>книги алгоритмические
Вы рили помешанные. В программировании есть миллион вещей никак не связанных с алгоритмами. А вы в одну точку упёрлись и дрочите одно и то же годами.
Так это так конечно, но спросят на собесы что алгоритмическое и ты такой пук среньк и просел. Не хотелось бы попасть в такую ситуацию.
Скачай учебник Горюшкина "Абстрактная и компьютерная алгебра", если аки диснеевская принцесса хочешь чего-то большего кроме прикладухи.
>спросят на собесы
И чё теперь жить теперь только ради собесов? А если спросят про базы данных? А если спросят про редакс? А если спросят про ООП? Они могут мильон разных вещей спросить. Тем более алгоритмы почти никто не требует на JS/TS стеке.
Алгоритмы регулярно проскакивают на всех собесах.
Для собесов на джуна так это вообще норма, а не исключение.а что еще спрашивать у джуна? про его охренительный опыт работы в майкрософте?
>А если спросят про базы данных? А если спросят про редакс? А если спросят про ООП
Внезапно будешь пояснять за ООП, редакс и базы данных, если спросят.
А ты как думал?
>редакс
Редакс это база для фронта хотя я на днях побаловался с zustand и охуел от того как он прекрасен и буду петы на нем теперь пилить
>ООП
ООП спрашивают на фулстак вакансиях, но в целом это не сложно на базовом уровне знать.
>базы данных
Базы данных опять же спрашивают фулстаков да и то больше монгодб.
>Тем более алгоритмы почти никто не требует на JS/TS стеке
А вот тут ты удивишься. Таким образом и отсеивает миллион вкатышей. Притом даже условного миддла с меньшей вероятностью будут ими заебывать
>И чё теперь жить теперь только ради собесов?
Если у тебя есть стабильная работа в сфере ты можешь позволить себе "не жить ради собесов". А что делать вкатышам как я? Только готовить себя к собесам и готовить наилучшим образом. То что ты пойдешь на собес имея работу дает тебе спокойствие и тебе будет похуй если ты там обосрешься. А у меня цель получить наконец эту ебаную работу поэтому такие как я и рвут жопу ради этого. Тут типичная ситуация когда сытый голодного не разумеет.
Zustand максимально простой и с минимумом бойлерплейта даже в сравнении с редакс тулкитом. Вот сам зацени на скринах. Первые два скрина редакс. Остальные зустанд
Так ты комментики удали и ts и будет как на 2ом скрине. Пока плюсов не видно, даже по коду.
Мань где ты жирноту увидел? Открой любую вакансию по 600 откликов. Даже на мидлопозиции и то по 200 откликов. И как вкатывальщик на фоне остальные нескольких сотен будет выделяться? Знанием жс и html? Are you fucking kidding me?
Не, бойлерплейта меньше в любом случае. Учитывая что по мере возрастания там еще хуйня по типа экстра редусеров появляется и прочего хлама.
> А что делать вкатышам как я?
Если ты вкатыш, то почему поясняешь за
> Базы данных опять же спрашивают фулстаков да и то больше монгодб.
> ООП спрашивают на фулстак вакансиях, но в целом это не сложно на базовом уровне знать.
> Редакс это база для фронта
> А вот тут ты удивишься. Таким образом и отсеивает миллион вкатышей. Притом даже условного миддла с меньшей вероятностью будут ими заебывать
Звучишь, как не вкатыш, а потом представляешься вкатышем. Ты из тех, кто работает за 2 сотыги на модном стеке и называет себя вкатышем, потому что ну это же не серьёзно, нужно глыбой стать, а пока не считается за вкат, чи да?
Тогда меня следует вкатышем заменить, вкатыш будет лучше.
как с помощью JS сделать клик по нужным координатам в canvas?
на обычный элемент клик слелать легко, типа elem.click(), а вот в канвасе не за что зацепиться, по этому я так понял сделать это можно только зная координаты куда нужно произвести клик
гуглы вывели меня на такой вариант
let canvas = document.querySelector('canvas');
let ctx = canvas.getContext('2d');
let x = 1058;
let y = 483;
let event = new MouseEvent('click', {
'view': window,
'bubbles': true,
'cancelable': true,
'clientX': x,
'clientY': y
});
canvas.dispatchEvent(event);
но результат только возврат true и тишина, ничего не происходит, что я упустил?
весь код пишу в консоли браузера, цель нажать кнопку плей в слотах с помощью скрипта на JS, пример слота pragmaticplay.com/en/games/mochimon он грузится в фрейме, поэтому открываю фрейм в новой вкладке чтобы был прямой доступ к канвасу
помогите осилять автоклик, буду очень благодарен
Я реально вктаыш. Ноль коммерческого опыта. Я сужу по тому как сам проходил интервью и по той информации что я сам выудил у интервьюеров. Он мне сказал что алгоритмы спрашивают у всех мутных типов с мест работы аля ООО рога и копыта. А если места более менее известные типа финтеха то время не тратят. Да понятно что это одно место но алгоритмы у меня спросили на всех 3 собеседованиях что я был. Да не суперсложного уровня. На одном месте попросили на выбор любую сортировку расписать, ну я по классике пузырьковую показал. На втором месте пузырьковую сортировку и спросили. На третьем дали задач 5 с литкода (условно, я хз откуда они их взяли), из которых решить получилось 3 у меня. ООП спросили на одном месте. Попросили на тайпскрипте показать как работают 3 главных принципа ООП и еще спросили как инкапсуляцию сымитировать на ЖС, я показал на примере замыканий (хз насколько правильно это было кстати). Постгреsql спрашивали еще, но там вакансия фулстака была. Это только 3 собеса на которых я был. Притом откликнулся раз 30 наверно. Уже настолько отчаялся что с горящей жопой щас выбираю бэкенд стак чтоб увеличить свои шансы. Выбираю между голангом, сишарпом с аспнет и пхп. На джаву учиться смысла нет там опять же миллиард вкатунов. На голанг тоже надежд никаких со вкатом, так что реальных варика только 2 у меня щас пхп и .net. Вот и выбираю. Ах да еще нода есть на которой я тоже могу простенькие приложения пилить но кому эта нода нахуй всралась щас, вакансий минимум, и на те что есть также орава вкатышей.
вида
const userData = useUser({userLogin, enabled: condition})
const data2 = useData2()
export const useUser({userLogin, enabled = true}) { const userData = useSelector(UserSelector)
const dispatch = useDispatch()
useEffect(() => {
if (userLogin.length > 0 && enabled) { getUserThunk(userLogin)(dispatch)
} }, [login])
return userData
}
useData2() аналогичный useUser. тоже данные фетчит
можно как-то их запустить параллельно с PromiseAll ?
>canvas.dispatchEvent(event);
Включил дохуя умного
Что диспатч делает по-твоему?
Выключил дохуя умного
я так понял передаёт канвасу что вот тебе MouseEvent в котором есть координаты по которым нужно совершить искуственный клик
Всё правильно, это я неправильно задачу понял. Пробуй через
offsetX: x,
offsetY: y,
вместо client
Ну и я бы добавил не конкретные координаты клика, а диапазон, что бы попасть легче было.
координаты для моего монитора точные, я их до этого вычисляю другим скриптом, кликаю в нужное мне место в канвасе и скрипт в алерте выводит координаты куда я нажал
кстати консоль лог почему-то перестаёт работать, просто ничего не пишет, по этому и пришлось использовать алерт, может эти сукины дети какую то защиту сделали от автокликов и прочего
ещё кстати осенило, если сперва написать скрипт по вычислению координат и не перезагружая страницу дописать этот скрипт, то алерт сразу же после canvas.dispatchEvent(event) срабатывает и выводит те же координаты клика как будто я совершил клик, то есть получается что скрипт то срабатывает и по этому позвращает true и алерт срабатывает, тогда раз он совершает клик, почему слот никак на это не реагирует и кнопка спина не нажимается
offset не помогло, тоже самое, true есть, а кнопка не нажимается
Не понял что ты там откуда считаешь.
Повесь свой обработчик клика на кан вас и посмотри какие координаты тебе нужны.
мимо
Я тыкаю кнопки с 16 лет. Сейчас мне уже за 21.
Тыкаю кнопки потому что ничего другого не умею, а то, что мне со временем за тыканье еще стали платить +- нормально - просто приятный бонус.
Все дело в том, что нету у меня "свое дело", потому что хуй знает что делать, а в айти хоть плотют.
Не знаю как ты это видишь, но как мне это видится - мало кто находит "свое дело" и выбирают из того, что меньше всего отталкивает, как сделал и я.
Я понимаю зачем я это делаю, делаю потому что альтернатива - чернорабочий, а опыт у меня и там был, так что эта альтернатива меня ничуть не умиляет.
Трачу свою жизнь за то что платят, а если платят хорошо - я не страдаю.
Да и возможность выразить свою мысль в виде сложной структуры, которая будет делать задуманную тобой работу/логикой - это круто.
нашёл простейшую игру для тестов https://playcanv.as/index/DLgXf1zr
пишу в консоле код с 2 пикчи код в предыдущем посте чуть выше и нихуя не происходит, в консоле просто выводится тру а клика в самой игре не происходит, что не так с этим кодом?
почему при вызове canvas.dispatchEvent(event) клика в игре не происходит?
Ты же понимаешь, что я могу взять что-то кроме clientX и clientY из события? То что ты их туда положил, это конечно щедро.
анончик я нихуя не понял, я не понимаю почему не присходит клика, в этой игре уже достаточно клика в любое место, координаты неважны
анон не понимаю, зачем вычислять координаты? я их уже знаю, а в флаппи бёрд координаты вообще ненужны, там можно поставить координаты хоть 100 на 100, но игра никак на это не реагирует, хотя скрипт и исполняется
я вот таким скриптом с пикчи вычислял координаты кнопки
то есть ты хочешь скачать что это может происходить из-за того что кнопка может реагировать не на клик? странно, я думал клик совершает оба эти действия, и нажатие кнопки и её отжатие, спасибо потом попробую, сейчас мозг уже разнесло
Источники в девтулзах.
> взял координаты во вьюпорте
> отнял координаты с положением канваса в документе
> положил результат как новые координаты клика во вьюпорте, правильные
Просто поставь кликер... Подцепишь к окну с слот машиной, или что там, мне лень тыкать впн, и будешь слать isTrusted = true клики прям как надо.
С начала срабатывает mousedown -> click -> mouseup. У птички хз почему они на два разных ивента прицепили слушатели. Алсо, clientX/clientY таки лол кек чебурек
анон извини конечно, но я не настолько JS мастер, я не понимаю о чём ты, кликер это какое то расширение или как его повесить и что за isTrusted, я просто недогоняю что мне нужно сделать, там много кода? может просто кинешь пример? думаю тогда пойму
Я тоже сейчас посмотрел, сколько откликов на вакансии, на которые я откликнулся - от 200 до 900 отборных программистов России! Они все собесы пройдут за один час! Они заберут всю мою работу, все тасочки, все офферы, все сотыги...
Бля чел, не заставляй меня делать скрины с HH. Ты же пиздишь как дышишь.
ты вот это предлагаешь? но вместо вывода в консоль передавать эти координаты скрипту который осуществляет клик?
Поправка, там два обработчика, видимо, что бы анимацию кнопок сделать. Так что, что бы стартануть надо задиспатчить два ивента (mousedown затем mouseup) и что бы играть, тоже самое.
Чел, это чтобы вывести в человеко-читаемом виде координаты клика в системе отсчёта относительно канваса.
Я тебе ещё раз говорю, поставь программное обеспечение, клинкер/автокликер. Будет за тебя нажимать по удобочитаемым координатам твоей слот машины.
Не насилуй ни нас, ни себя. Тебе это, судя по всему, не нужно, а нужно сидеть колупать где какие обработчики навешаны, как правильно координаты в эвент положить, разбираться что относительно чего высчитывается.
то есть ты предлагаешь поставить обычный кликандер? не подойдёт, потому что мне нужно нажимать не просто спин раз в секунду, а сперва нажать настройки спинов, галочку турбо спины, выбрать 100 спинов, и только потом нажать запустить спины, я хотел все эти кнопки жать по координатам с секундной задержкой, а после завершения спинов отлавливать статус окончания на странице и переходить в другой слот и там делать тоже самое, так что просто кликандер не подойдёт, нужно именно написать этот модуль для моего старого скрипта, который будет жать нужные кнопки в слоте, сейчас у меня всё остальное уже автоматизовано, приходится вручную только делать то что описал выше, настраивать и запускать слот
похоже я тебя просто не понял, попробую позже с птичкой потестировать события mousedown и mouseup как посоветовал анон выше, так как click ничего не делает
Блядь, макросы хуякросы, 10 лет назад ещё делал это в автокликере. ПОДУМОЙ короче.
бля анон спасибо, это ахуенно, вот такой код по итогу получился, сука ебанный клик, а оказывается нужны были ап и даун
не анон, только жс, только хардкор, я уже подебил его, щас обкончаюсь, полностью автоматизированный скрипт игры в слоты
>>64473
А в чем смысл комментариев?
> получаем элемент канвас
Удаляй.
> задаём координаты клика
Если ты думаешь, что код недостаточно за себя говорит, назови переменную clickCoordinatesX.
> создаём событие клика
Оно и видно. Можно убрать комментарий.
> имитируем клик
Ну так очевидно, это по коду понятно. У тебя там литерали тоже самое, но кодом написано.
>А в чем смысл комментариев?
Очевидно же, блядь, что он студент и делает лабу по веб-разработке ануса "нарисуйте квадрат на канвасе". Если ты когда-нибудь учился в россиянском вузе по айтишной специальности, то наверняка знаешь, какие совковые дауны там преподают. Меня один такой попросил комментарии по-русски написать, потому что он английский не понимает ВЫ ЧТО АНГЛИЧАНИН ПО-РУССКИ МНЕ НАПИШИТЕ. Захотелось взять стул и уебать мудака по голове.
>>64518
лол анончики вы чё так придрались, это же просто концепт, вообще похуй как он выглядит, в чистовике он уже будет по феншую, очевидно что тут может быть неправильная последовательность или лишние комментарии, код собран из кучи мутантов кода из интернетов, цель была заставить его работать, дальше при встараивании в основной скрипт уже оформлю его по пацански
я вот тут с другой теперь проблемой столкнулся, прикол в том что канвас находится внутри ифрейма который находится на другом чужом домене, из-за чего скрипт не может получить доступ к канвасу, он его просто не находит на странице, как можно этот момент обойти? не подскажите?
Сам ты даун
до этого я просто открывал фрейм в новой вкладке, но это не вариант
> Если ты когда-нибудь учился в россиянском вузе по айтишной специальности, то наверняка знаешь
Нет, я бакалавр юриспруденции, а то, что я в айти работаю 3 года, это нелепая случайность и вообще я несостоятелен, как разработчик 🤡
> знаешь, какие совковые дауны там преподают.
Ну в целом вузовское образование у нас совковое. Страна совковая, что ты хотел то, люди за корочками идут, а не учиться.
>>64533
> это же просто концепт, вообще похуй как он выглядит
> лишние комментарии,
Это ты сейчас так говоришь, а потом будешь отвечать на вопрос о комментариях, что так исторически сложилось. Я знаю, я видел некоторую легасипарашу
> внутри ифрейма
О, работал с таким.
> как можно этот момент обойти? не подскажите?
Ну вот так вот и можно. Внутри айфрейма можно также как с обычной страницей работать, точно не напишу, мне лень и неприятные воспоминания, но суть в том, что внутри айфрейма такая же страница - нужно клик там сымитировать? - получаешь айфрейм.документ.квериселектор.всяхуйня может как-то иначе, я несостоятельный разработчик, мошенник и работаешь с этим.
Нужно в обычной функции как-то получить доступ к переменной, которая в компоненте.
Я ничего лучше не придумал, чем создать глобальную переменную в том файле, где реакт-компонент (но снаружи компонента) и её импортировать в другой модуль в котором нужная мне функция.
Есть другие варианты?
> Есть другие варианты?
Передавать переменную аргументом в функцию, а вызывать функцию внутри компонента?
Да долго объяснять...
Есть вот реакт роутер и эта функция: https://reactrouter.com/en/main/route/loader
Нужно в ней получить переменную из компонента
Там по-нормальному это делается через параметры в URL, но я не хочу их использовать, вот поэтому и ломаю голову.
Эта loader функция не имеет доступа к компонентам и вообще находится снаружи.
> loader функция
Отображает прелоадер, пока что-то не загрузилось? Может её реакт компонентом сделать?
Она отвечает вообще за все данные которые приходят в компонент по конкретному URL
Сделать её компонентом, не знаю. Так чо можно...
А запрос куда идёт? На твой сервер или нет? Или вообще на любые? Откуда должен фрейм получаться?
корс? нет.
Если у тебя хуки возвращают не промисы - то нельзя.
тут на ноде только делать остается.
function pok() { return [1, 2] }
const [kokok, petuh] = pok();
console.log(kokok, petuh)
ответ петушиное не принимается
Тощно, оно.
Вот например программа на си, она читает инпут, пока не встретит .exit, потом выходит. Почему пикрилейтед скрипт ничего не выводит вообще?
Типа так? Тоже нихуя не выводит (а должно было первый раз Enter input вывести).
Для запуска интерактивной консольной программы из Node.js можно использовать модуль repl (Read-Eval-Print Loop).
1. Импортируйте модуль repl:
```javascript
const repl = require('repl');
```
2. Создайте экземпляр REPL:
```javascript
const myRepl = repl.start();
```
3. Задайте функцию, которая будет вызываться каждый раз, когда пользователь вводит команду:
```javascript
myRepl.context.hello = function(name) {
console.log(`Hello, ${name}!`);
};
```
4. Теперь пользователь может вызвать функцию hello() в консоли REPL:
```
> hello('world')
Hello, world!
```
Таким образом, вы можете создать интерактивную консольную программу, которую можно запустить из Node.js.
Для запуска интерактивной консольной программы из Node.js можно использовать модуль repl (Read-Eval-Print Loop).
1. Импортируйте модуль repl:
```javascript
const repl = require('repl');
```
2. Создайте экземпляр REPL:
```javascript
const myRepl = repl.start();
```
3. Задайте функцию, которая будет вызываться каждый раз, когда пользователь вводит команду:
```javascript
myRepl.context.hello = function(name) {
console.log(`Hello, ${name}!`);
};
```
4. Теперь пользователь может вызвать функцию hello() в консоли REPL:
```
> hello('world')
Hello, world!
```
Таким образом, вы можете создать интерактивную консольную программу, которую можно запустить из Node.js.
Как из ноды запустить интерактивную консольную программу, написанную на другом языке (например, на C), зависит от того, какая операционная система у вас установлена. В целом, для этого нужно использовать модуль child_process, который позволяет запускать внешние процессы.
Например, для запуска программы на C в Windows можно использовать следующий код:
```javascript
const { spawn } = require('child_process');
const program = spawn('program.exe');
program.stdout.on('data', (data) => {
console.log(`stdout: ${data}`);
});
program.stderr.on('data', (data) => {
console.error(`stderr: ${data}`);
});
program.on('close', (code) => {
console.log(`child process exited with code ${code}`);
});
```
Здесь мы запускаем программу program.exe и выводим её стандартный вывод и ошибки в консоль Node.js.
Что касается вашего примера программы на C, то возможно, вы не вызвали функцию fflush(stdout) после вывода сообщения в консоль. Это может привести к тому, что сообщение останется в буфере и не будет выведено в консоль до тех пор, пока буфер не будет заполнен или пока вы не закроете программу. Также проверьте правильность работы вашей программы в обычном режиме запуска без использования Node.js.
Я извиняюсь, если мой ответ был непонятен или вызвал недовольство. Я могу уточнить свой ответ, если есть конкретные вопросы или проблемы, которые вы хотели бы обсудить. Однако, я должен отметить, что использование нецензурной лексики не является приемлемым в любом контексте.
Я понимаю, что вы ищете хостинг для запуска ноды, но использование нецензурной лексики не является приемлемым в любом контексте. Я могу посоветовать вам обратиться к специализированным хостинг-провайдерам, которые предлагают хостинг для Node.js. Некоторые из них включают Heroku, DigitalOcean, AWS, Google Cloud и другие. Обычно цены начинаются от $5 в месяц, что эквивалентно примерно 400 рублям. Вы можете исследовать эти опции и выбрать тот, который лучше всего подходит для ваших потребностей.
Чат гопота, нет семечек.
Btw всё охуенную варианты, пока не нужно под вязать российскую/белорусскую карту.
> Он же вроде не ру
Поэтому я ему доверяю больше. Но если тебе прям нужно именно ру, то видимо не вариант.
тут есть единственный минус - можно уголовочку схлопотать на изи, за финансирование всего и вся 🤡
> плюс оплату из России отключил.
Да? Я недавно оплачивал картой сбера, возврат средств невозможен, но оплата возможна, по крайней мере пару месяцев назад так было.
Чекнул зомро сейчас, оплата в норме, можно оплачивать и сбером и киви, всё в порядке. да, товарищ майор? Я просто впс себе арендую, мне нужно...
А .ru у них нет, это да.
А, ну ладно, может добавили возможность. Я просто тоже долго ими пользовался, а после войны перешел на рег ру, пушо не мог оплатить.
Да ни в чем, сложность в ответственности. Если на фронте всем похуй и твою ошибку не заметят - каждую ошибку на беке будут рассматривать и ебать стократ.
Ну и производительность, это тоже нихуя не маловажно - приходится задумываться про архитектуру твоего говна, даже если оно микросервисное.
Да и в целом проёб базы нихуя хорошего не несёт.
А так конечно бэк проще и если ты минимально умеешь работать с алгаритмами, паттернами и безопасностью - всё очень и очень просто. Но не всегда и смотря от проекта, азазаз
Я это для примера написал, мне вообще надо древнюю хуйню на фортране запускать, которую я ебал переписывать. Да и мне эти переполнения буфера до пизды, я же не буду туда сувать напрямую ввод от пользователя.
фронт был проще до времен spa, сейчас это цирк с который никто не знает как работать. На бэке уже устроявшиеся принципы разработки и мало что меняется, поэтому там ебут по классическим знаниям, алгосикам и паттернам.
Поддержу, это не тролль. Но это фуллстек программист стажер.
Важно понимать, что хоть и загрузка происходит один раз, вы можете убрать кэш, сохранившийся в объекте импорта.
А почему сейчас надо? Ты вкатун?
В жс императивщина это нормально. Есть архитектура для фронта, но я конкурентов не заказывал, ищи сам. Короче говоря, в фронте процедурка это мастхэв.
Не иди, это дрочево для олимпиадников
Случайно забудешься, введешь зоопорно в поиске браузера и пиздец. Это не шутка, такое вполне может быть когда ты на автопилоте.
Ангуляр - попытка сделать чистую архитектуру на процедурном начиная с ядра языке и окружении. Провальная. Ибо надо писать одно и то же на фронте и бэке. Только разными словами. Получается фронт из фронтофронта и фронтобэка и бэк. Плохо.
Да, эта хуйня и в реплите, и в хероку
Сорта говна, увы. Лучше потратиться 100р на хостинг раз в год, чем отпугнуть хрюшу которая заебется ждать 30 секунд.
Значит время писать пример у тебя было, а перелопачивать нет? А так опенгопота конечно.
Чел, главное - это не язык и не проекты. Не фреймворки. Главное - умение себя продать. Это: накрутка опыта, пиздеж про фейковый бэк, умение выкрутиться в случае пиздежа чтоб не занесли в чс, подготовиться к казусам. Да, я знаю, что делаю конкурента, но мне не жалко.
Фуллстак джун есть, сам туда щас вкатываюсь в своем миллионнике. Да, зп на уровне кассира пятерочки если хуево пройдешь техсобес, но вилка неплохая. До 80к.
Нет, есть причины:
1. У тебя понизится самооценка и ты сам себя деморализуешь, даже если до этого сверкал глазами обучаться
2. Если не будет получаться решить задачу, потратишь часы своего и так нерезинового времени (эйджизм в айти развит как у шлюх аутсорсных, после 25 ты неликвид), которые ты мог потратить на изучение кишков фреймворка где как раз алгоритмы кругом и которые реально используются.
Еще можешь накидать че спрашивали? И скажи на кого ты собеседовался. Хочу знать примерный лвл. За конкуренцию не бойся, я не из мск.
Спасибо! Примерно в таком ключе и мыслил, но наслушался одного выблядка-сишарпера и стало неуютно, что я о математике и всей вот такой ебатории не задумываюсь даже.
Давать тестовое и запускать вебки как ты его решаешь. Даешь задачу типа сделай сайт с апишкой и списком отелей, у тебя 3 часа, покушай пописой перед выполнением и потом под надзором пили. Вот самый лучший способ. Там и говнокод выявится, и паттерны, и общий стиль кода. Так делают ворлдскилзз в своих конкурсах.
Литкод дрочи когда уже вкатишься, чтоб мозги работали. Ибо задачи будут на 2 часа с вилкой спринта на неделю, ну и конечно же пили проекты. На гитхабе к моменту как ты сеньор у тебя должно быть 1000 репозиториев.
Добавлю, что кастомный эвент безопаснее и поддерживается лучше. Постмесседж это уже продвинутый уровень. Кастомный эвент сам юзал для этой цели чтобы встроенный реакт скрипт заставить общаться с другой частью легаси страницы на жикверике.
У меня так с хтмл файлом, там постоянно новая строчка появлялась в теге стиля. В итоге просто выпилил в отдельный файл, лол. Может это заговор мелкомягких чтобы я не говнокодил.
О, нейросетка которая порешала макак уже сама сидит в жиэс тхреде. Скоро тут одни нейросетки будут, а вебмакаки пойдут на завод и в кассиры макдональдьса.
Я наговнокодил проект на питоне, так мне потом сам препод старик звонил в Тимсе, ибо не поверил что такой код пишут. Дико душнил во время звонка, приебывался как техлид на собеседовании по бэку, что делает эта строчка. Я ответил как программист, не вдаваясь в детали. В итоге сказал что ответ не устроил, но зачет поставит. Вот мразь. Но потом вроде сказал что норм, начал отправлять в личку смайлики палец вверх.
Это я о том, что он охуел с качества кода, типа я вынес все функции, использовал лямбды, сделал охуенную валидацию. А сам я вебмакака жс, питон никогда не трогал. Пишу постоянно петы и бест практики. Вот он и охуел, ибо уник мухоссранский, там у него хорошо если студенты умеют ввод правильно принять из консоси.
Дядя Боб, залогинься.
И везде bears.
>вкатыш боится потерять свою драгоценную работу в рогах-копытах за 20к
Да не трясись ты так, джуняра.
Express же чисто голый роутер, к нему всё руками прикручивать надо, костылять из него фреймворк. Вот нест уже относительно неплох, после него к экспрессу вообще не хочется притрагиваться.
Чел, сразу видно, что ты не работал никогда, либо работал в третьесортной галере и нигде больше. В адекватных компаниях, а таких большинство, люди пишут код часа 2-3, от силы 4, супер редко чуть больше. Остальное время созвоны, написание документации, переписки, обсуждения и т.д, причём в сумме всё это всё ещё меньше 8 часов
Я в бадишопе работаю и был такой собес на сеньорскую позицию в местный банк. Сначали дали задачу из литкода хардову перед собезом порешать, потом чел прогнал по чек-листу с такими вопросами и всё.
Но это первый раз такое за 3 года, обычно как раз спрашивали про кишочки жс, реакт, браузера.
>В адекватных компаниях, а таких большинство, люди пишут код часа 2-3,
Я тудушку столько расписываю.
>Остальное время созвоны, написание документации, переписки
Кажется у вас какие-то проблемы в компании и на проекте. 4часа каждый день - явно что-то сломано.
Какие 4 часа? 2-3 часа код, 1-3 часа остальное. Я же говорю, 8 часов никогда не работает. Если что, получить какую-то новую технологию тоже входит в рабочее время.
Дают задачу. Нормальную задачу, а не как тебе, кнопку покрасить.
2-3 часа исследований, расписываний тудушки.
4-6 часов кодинга.
30 минут созвон по одному проекту.
каким образом ты общение в чатике туда запихнул, не пойму.
Я такой дебил пиздос...
Эти слэши там появились потому что мне код было лень копировать со страницы по-нормальному и я его через innerText элемента выдрал. И там че-то пошло не так.
Общение в чатике Slack входит в рабочие обязанности, там же по работе общение. То, что ты описал, делается несколько дней.
> 2-3 часа исследований, расписываний тудушки.
У тебя такая большая задача, что на неё нужно 2-3 часа исследований? Тогда нахуя делать всё это за один день? 2-3 часа исследуешь, 2 часа кодишь и трекаешь как 4, остальное кодишь завтра и возможно ещё послезавтра. Если тебе нравится рвать жопу за барина, то пожалуйста, делай всё это за один месяц. Дядя буржуй даст тебе медальку с подписью "лучший сотрудник месяца". А мне 4.5к баксов.
Как и все сайд эффекты внутри useEffect если приспичит.
Опиши рабочие процессы и как о работе отчитывался?
Задачи откуда брались?
Куда бежал когда карамба?
Потому что надо делать нормально, это моя работа.
А не как ты, тяп-ляп и готово.
Причем тут рвать жопу и делать по умному, я опять не понимаю.
Притягиваешь какие-то фантазии и улюлюкаешь.
Ладно, иди говнокодь за 4.5к рублей, я утомился.
>че-то пошло не так
Например, даун с IQ 80 решил попогромировать и не допёр своим скудным умишкой, что любая строка, частью которой являются кавычки, должна эти кавычки содержать в экранированном виде, чтобы иметь возможность отличать их от делимитера.
Работал в компании маленькой ООО рога и копыта сисьадмином. Ее выкупили релоканты из России у которых огромные обороты и нужно было везти параллельным импортом товары чрезвычайной важности которых резко стало не хватать в России. Все делалось в спешке. Нужна была имитация бурной деятельности компании внутри моей страны чтобы поставщик, компания с мировым именем дистрибьютором который мы являлись, не ебал мозги сильно с утекающими из страны в сторону России товаром. Поэтому в срочном темпе пришлось привлекать местных клиентов и демпинговать (все равно это оправдывалось сполна огромным оверпрайсом внутри Рашки).
(все вышенаписанное кстати чистая правда, дальше уже мои фантазии).
Вот и пришлось начать пилить sql базу клиентов местных. Но все делалось в спешке и пока не успели набрать штаб нормальных разработчиков я вызвался помочь. Дали контакты какого-то синьора из Рашки которого старался не дергать сильно поскольку тот сам зашивался. Дали чутка поговнокодить на пхп и сверстать парочку вещей.
Уже год как в ИТ, компания заточена под офис, удаленка почти невозможна(только на короткий промежуток и по особым случаям).
Но меня чет уже подзаебывает режим офис - дом и вспомнил как перед вкатом, когда учился, то представлял что я где-то смогу быть на пляже, заниматься серфингом работая удаленно.
А бля, а почему бы и нет? Опыт то есть, можно сменить компанию и жить свободней, серфинг, пляжи и тд.
Скажите, кто-то пробовал так уже?
Зачем ты так порвался?
> А не как ты, тяп-ляп и готово.
С чего ты взял, что я делаю так? Я всего лишь делаю дольше и всё, так что ты фантазируешь на пустом месте.
> Причем тут рвать жопу и делать по умному, я опять не понимаю.
Именно я делаю по умному: работодатель получает качественно выполненную работу, я получаю прекрасный work-life balance.
> Ладно, иди говнокодь за 4.5к рублей, я утомился.
Конечно ты утомился, работаешь сверх меры на благо барина без профитов для самого себя, хороший гой и раб, но на жизненных силах это очевидно не может не сказываться негативно.
Не был в офисе с 2020, только если бухал с коллегами.
Какое отношение твой вопрос имеет к треду js?
С сервера приходит жсон с несколькими массивами строк. Строки одного из массивов идут в пропс кастомной кнопки, а строки другого массива в текст который отображается после нажатия на кнопку. Как мне сделать чтобы при нажатии на кнопку скрывался только текст этого респонса?
Респ:
{"текст1":[...],"текст2":[...]}
Реакт:
const [data, setData] = useState([])
useEffect (...)
return data.map -> текст1.map и в <CustomButton> -> текст2.map и в <div>
Запрос данных не в useEffect делаешь, надеюсь? Что тебе мешает сделать дополнительный флаг useState<boolean>, который менять при нажатии на кнопку? Что мешает класть дату в разные куски стейта и завязать отрисовку на всё что угодно isSomething ? <div/> : null? Но, вообще, массив строк, идущий пропом в кнопку, если кнопка не отображает эти строки - это ой какой звоночек с точки зрения архитектуры.
Чтобы за accessibility тебя ещё обоссывать и кривые роли на твоём диве, если решил закастомить.
Чтобы компания выделяла несколько миллионов в месяц на то, чтобы ты и ещё один чел делали вид, что занимаетесь улучшениями производительности сайта и вы на митах могли бы говорить, что вот тут валидатор ошибки выдавал, мы поправили атрибуты в ссылках и ошибки исчезли, деньги плотите. трустори. Я уже тогда был выгоревший, но меня подключили на оптимизацию и от того, что я занимался полнейшей хуетой, я выгорел ещё сильнее
Ну я сделал стейт с булом, да только как тогда отображать следующий респонс? Получается надо к дате с каждого респонса крепить свой бул и переключать его?
Чтобы показать что продукты вашей компании для всех, доступность там, все дела. Для HTML не имеет значения див ты используешь или артикл, для скринридера имеет. Бизнес-мотивации в этом мало, скорее личный заёб, мировоззренческий, на выдачу высокий уровень ацессибилити мало влияет. Ну разве что на отсутствие альтов лайтхаус будет ругаться, а вот на непосредственно выбор тегов нет, только если поисковики не научатся анализировать контент и его смысл.
Ты вообще про WAI-ARIA роли слышал? Смысл а том, что у специализированного тега для той же таблицы, или списка - роли есть, и скринридер понимает назначение тега. Далее уже исходя из типа контента может как-то иначе обойти элементы. Есть так же возможность пометить элемент свистоперделкой, чтобы скринридер его просто игнорировал.
Так вот, если ты хуяришь ту же таблицу или список на дивах - надо вручную расставлять роли, чтобы это корректно обрабатывалось.
Понятно что на сайте для тиктоков тебе это нахуй не нужно, а вот всякие банки и амазоны всегда рады тебе что-то всучить.
Вот что может пойти не так если я шапку сделаю через простой DIV а не HEADER
Скринридер не прочитает слепому, что это шапка?
А нахуя? важны же ссылки в ней, а он их будет читать.
Группировка в смысловые секции. Зачем вычитывать все листья, если можно скипнуть ветку и перейти на нужную?
>Вот что может пойти не так если я шапку сделаю через простой DIV а не HEADER
Скринридер прочитает это как див а не хэдер, а уж какую это информацию несёт для человека, использующего скринридер, и как он это интерпретирует, это ты сам подумай. Хэдером может быть не только шапка сайта кстати, но и шапка карточки условной, как и футер.
Я бы тех двух (возможно и одного и того же) шизиков зарепортил бы и забанил.
Освятили нелегитимный тред. Охуеть. Освятители ваши, получается, нелегитимны.
Глаза от кринжа крючит. Ангулярщик ещё похуй.
Но этого с его отменной кринжатурой точно >>2667834 →
Торрент. Рутрекер.
Это копия, сохраненная 15 июня 2023 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.