Золотое оно только для тех, кто привык думать своей головой,
Ну ну) Я из тех кто привык и думает исключительно своей головой и вот уже как полтора года не могу найти работу. А направление самое банальное - senior frontend developer, всего лишь с 13 годами опыта за плечами. Причем я ни ставлю даже никаких условий, мне пофиг что будет адский говнокод и легаси, в таких условиях я согласен на всё, но даже это не даёт никаких плодов, 1 собеседование за 3 месяца это уже успех.
Может исключительно в вашем конкретном единичном сценарии) В моём сценарии React.js фронт или node.js бэк их стало раз в 15-20 меньше. Плюс уже 2 года мне ни разу ни один рекрутер сам не написал и не предложил какую нибудь вакансию) С 2017 по 2020 в среднем 1-2 раза предлагали в неделю вакансии САМИ, в 2021 понятно, там по 5-7 вакансий в день предлагали, ну а с 2023 по сей день просто 0 =)
Зачем просто так её публиковать, платить и т.д.?
Нужно создавать иллюзию что якобы вакансии есть, чтобы вкатывальщики думали что дверь ещё открыта и охотнее покупали курсы за сотни тысяч рублей.
е) Я сам с деревни, где 100 тыщ богатый, 160 сельский олигарх. Поэтому демпинговать могу. Но я ж не один такой
Вот вот, работодатели демпенгуют(потому что могут и хотят) и соискатели демпенгуют(от безисходности разумеется). Ну и в таких условиях понятное дело уже всем насрать на качество разработки, на разработку как искусство и т.п.
Из которых 9995 это студенты и люди, которые окончили 3-х месячные курсы. Или вы думали, что это 10000 профессионалов?
Это не имеет значения: a) Ваше резюме в любом случае никто не видит. b) У них резюме будет в 95% случаев более привлекательное чем ваше. с) Фейковый опыт тоже никто не отменял. d) Ещё сейчас модный тренд это отсеивать overcvalified людей, потому что им якобы будет скучно и не интересно. И это значит что люди у которых 10+ опыта вообще нафиг не нужны ибо они overcvalified. А нужные люди желательно 25 лет с 2-3 годами опыта. e) Даже если вас увидят и даже если каким-то чудом дело дойдет до собеседования, то всё равно 99.9% дальше этого дело не зайдет и никакого офера не будет. Потому с вероятностью примерно 99% будет специалист не хуже вас, а то и лучше, плюс готовый работать за ЗП в 2 раза ниже, ну как бы потому что бешеная конкуренция, рынок все дела, а он уже и так последние 24 месяца ищет работу и никак не найдет. Или просто собеседующему ваш голос не понравится или тон, или всё что угодно. Ему вообще пофиг, ведь таких же как вы ещё в очереди стоят тысячи, выбирай сколько влезет, а когда надоест можно просто сказать рандомному человеку вы приняты. Вот и все дела.
P.S. 1) Кол-во реальных вакансий сократилось раз в 10-20 это минимум 2) Кол-во профессионалов в худшем случае при этом осталось прежним, а реальном увеличилось раза 3 за период 2021-2026. Или вы думаете что 100% людей кто начал путь в 2021 или чуть раньше полные нули чтоли?) Нет уж, да 90% из них нули, но 10% нет, они реальные конкуренты. И 10% это не какие-то копейки, это 10% от минимум миллиона, а то 2-3х млн людей который начали в 2020 году учиться программистам, а это сотни тысяч людей. 3) Даже если магическим образом оставить на рынки исключительно профессионалов, то все равно конкуренция среди них будет бешеная и 95% просто будут безработными, ибо реальных вакансий крайне мало, а реальных профессионалов крайней много на одну вакансию.
Сами то пробовали? Не так то просто создать акк работодателя. Нужно подтверждение и оплата.
Да, я смотрел с аккаунта знакомого, у него мелкая SEO контора была. Мы создавали вакансию React разработчика и Node.js разработчика, это было ещё в конце 2024, и нас засыпали тысячами откликов в этот же день, не помню точно, утром выложили, к вечеру было порядка 5 тыс откликов на React и порядка 2-3тыс на Node.js бэк. Я это чувствовал и без этого, судя потому что примерно 0 выхлопа от поиска работы, но провести такой эксперимент всегда хотел, вот теория и подтвердилась. Вот прям какие средние цифры на сегодняшний день я уже не знаю, но я думаю больше раза в 2-3 и проверить бесплатно не могу, потому что контора моего знакомого уже загнулась и больше не функционирует) Но в целом мне уже проверять повторно нет смысла, с того момента стало сильно хуже, поэтому и так всё понятно.
Фронт мертв уже 3 года, последние полтора года мертв вообще капитально, и каждый день умирает только сильнее и сильнее. Но дело не только фронте, вообще вся разработка, бэкенд тоже умер(по сравнению с фронтом он немного живее). Более того, специалисты уровня junior вообще никому не нужны, даже middle, потому что ИИ прямо сегодня намного сильнее чем junior и middle, остаётся только разумным нанимать Senior/Lead, но тут опять же смешно, на 1 вакансию 10000 желающих, поэтому тут тоже без шансов. Плюс ваканасии которые вы сейчас видите на hh минимум в 60-70% случаев фейковые, мало того что их очень мало, так ещё и из этого мизерного числа 70% просто фейк, вот и остается на 1 вакансию 10-20тыс желающих, если не верите, создайте аккаунт работодателя на hh и создайте вакансию разработчика на фронт и бэк, и вы просто будете в шоке от того сколько тысяч откликов вы получите в первый час размещения этой вакансии, я уж не говорю скажем про то, что эта вакансия будет висеть неделю. Короче говоря, ваше резюме и ваш отклик в принципе в 99.9999% случаев просто не увидят даже среди десятков тысяч таких же, готовы ли вы заниматься этой фигней в таких условиях и тратить годы только на то, чтобы случай но найти работу(и то далеко не факт), чтобы просто тупо набраться реального коммерческого опыта) Но и тут облом, за последний год ИИ сильно круче стал, подумайте что будет в 2027 году.
С того момента как начали из всех утюгов рекламировать курсы и кричать что в IT якобы дифицит кадров я сразу понял что ещё 2-3 года и труда) Ну оно было сразу очевидно, а тут ещё ИИ навалился со всей силы, поэтому собралось гипер кобмо против разработчиков.
Ну тогда возьмите меня переводчиком между гендиром и ИИ :). Эникейщики где-то тоже нужны, они называются "промт-инженеры" :)
А таких халявщиков ещё больше, разумеется и конкуренция среди них ещё сильнее) Неужто вы думаете что вкусные места будут простаивать дольше 1 наносекунды?) Если о них знаете вы, значит о них уже знают все) И да, а если быть ещё более реальным, то "должности" этих самых "промп-инженеров" просто занимаюсь уже работающие в компании менеджеры, вот и всё. Тем более предпочтение всегда в таких областях отдадут скорее тем кому 22-27 лет, а это ещё один стоп фактор в копилку нереальности входа. Вход в IT в любом виде закрыт уже много лет, т.е. получить оффер это как выиграть в лотерею, у 1 из 100тыс это займет 2 недели, а у остальных годы без результатов. А строить надежды и плана опираясь на принцип "ошибка выжившего" (как раз тот счастливчик 1 из 100тыс который получил оффер), это так себе перспектива) Самый беспроигрышный вариант это работать там, где работаете и между делом смотреть вакансии разные именно "промт-инженера" , вдруг шара повернётся к вам и вас наймут в конечном счете) Но дальше будет другой квест) Сколько вы там продержитесь до увольнения/банкротства фирмы) И что будете делать когда вас уволят, искать опять работу в IT? Ну шанс что удала 2 раза к вам повернётся лицом уж точно нулевой) Поэтому опять возвращаться в ту сферу где вы сейчас или в условные такси/курьеры всегда надо быть готовым.
ну тут же вумные люди, сэр)). Зачем с ним тягаться, водитель такси не пытается своего корейца перегнать, он старается с ним дружить. А Усейн Болт не станет на своей спине возить клиентов.
Ну тогда вопрос, какой смысл вас на работу вообще нанимать?) Как бы 17$ в месяц подписки на ИИ дешевле) Тем более сейчас на одну вакансию таких умников вкатывающихся 10тыс, и это не фигура речи, это реальность, т.е. реально на 1 вакансию разработчика именно 10тыс соискателей. Т.е. ваш шанс найти работу в обозримом будущем 1-2 года около нулевой при любых раскладах, даже если вы уже 5 лет проработали до этого.
Но всё просто, если вы не можете это осознать и понять, тогда просто пройдите этот путь как уже прошла куча людей, потратили много денег, времени и нервов, а итоге никаких офферов разумеется они не получили, и всё, дальше классика ушли в таксисты/курьеры и т.п. Где реально можно найти работу и люди реально требуются. В 2021 году закончилась потребность в разработчиках в РФ. Начиная с 2022 они уже не нужны, их как бы сказать тысячи на 1 вакансию, про 2026 году уж вообще молчу.
Судя по всему вы не в курсе, что в IT последние 2+ года, и даже больше найти работу нереально, тем более тем, кто вкатывается и не имеет реального опыта хотя бы 7 лет+. Даже для тех кто 10 лет + в разработке сейчас просто нет вакансий именно реальных, фейковые висят, т.е. из 30 вакансий которые вы увидите, в лучшем случае будет 3-5 реальных. Вы просто потратите время и деньги, но гарантированно(99%) не найдете работу в течении следующего года.
Ну так что, по объективным критериям оценивать будем?)
Объективные критерии в реальной жизни: 1) Код работает? Да/Нет 2) Код легко читаемый, логичный и понятный? Да/Нет 3) Насколько без болезненно можно вносить в код правки? от 1 до 10 (При выполнении пункта 2, автоматически можно считать что 10) 4) Код следует принципам KISS? (Опять же всё так же прямая зависимость от пункта 2)
По сути только пункты 1 и 2 самые важные критерии.
Всё остальное не несет практической пользы. Всем начхать на инверсию зависимостей, ведь нет разницы, что без нее все работает, что с ней, что без нее все можно протестировать, что с ней, и т.д. и т.п.
А ваши нездоровые фиксации и фантазии можете оставить в своих пет проектах)
В очередной раз вы пургу несете, не разобравшись) Ну бывает, запутался в одной строчке))
И где ответы оператора после того как он должен "подключиться"? У меня есть, где обработка сообщения которое ввел пользователь(пусть фигурирует в ответах бота как у меня)? Пусть ещё при вводе fail llm фейлится. У меня всё это есть. Дополните хотя бы этим и ссылку скиньте
Давайте просто сравним наш с вами код по объективным метрикам
Ну очередной бред, у меня прототип написанный на скорую руку, в нем уже функционала больше чем в вашей лапше, добавить в него дополнительные кейсы по обработке ошибок и т.п. всё это не составляет труда. Просто это не имеет отношения к делу.
Более того ваш говнокод не реализовывает даже ваше ТЗ которое вы мне писали и которое реализовывает мой прототип. Стоит только попасть в ветку где llm должен вернуть ошибку так все, у вас просто на этом всё заканчивается и никаких сообщений об ошибках никаких подключений операторов и т.п. нет. Т.е. у вас даже код специально с выкинутым функционал, чтобы казаться чуть менее ущербным. А если вы реально реализуете то же, что уже реализовано у меня в прототипе, то все станет ещё страшнее.
Сдаётся мне вы его подредактировали после того как я на него первый раз посмотрел и выкинули оттуда часть говнокода) Хотя может и изначально вы даже это всё не реализовали, зато с пеной у рта говорили что у меня не все по вашему тз))
Так ещё и вашей симуляции llm даже сообщение от пользователя никак не обрабатывается, хотя бы для виду бы просто оно извлекалось и добавлялось в ответах, как это сделано у меня. Но боюсь даже эта базовая операция уже навернет много лапшекода)
Ваш единственный аргумент "вырвиглаз" и "противоестественность"
Это сразу на корню перечёркивает вообще всё что связанно с effect. Поэтому как бы да, какая разница что в него встроили, если пользоваться этим безобразим максимально противно. Просто месиво из лапши и вся она кишит Effect.*
Вы написали сложнотестируемый гавнокод для такой простой задачи
Смешно) Вы и тестировать не умеете оказывается, оно и видно, тотальная зависимость от чужих библиотек на каждый чих.
Вы ничего про Effect не знаете, кроме того, что там используют генераторы и пытаетесь как-то о чем-то рассуждать
Не надо пробовать на вкус коровью лепешку, чтобы понять что это будет отвратительно, достаточно просто на нее взглянуть или учуять запах который от нее исходит. То же самое и Effect, просто смотришь на код который надо писать используя его его и всё, сразу всё понятно, только и успевай кровь из глаз останавливать. И самое смешно что взамен он не даёт ничего, ну разве что только реализацию элементарных вещей, которые для вас экстремально сложные почему-то.
Я считаю лишней тратой времени решать то, что уже решено за меня и хорошо работает.
Ну да ну да) Я умный, просто мне лень решать эту задачу, а так я конечно же знаю как её решить. Поэтому без решебника никуда.
позволяет писать хороший код, не будучи system design гением
Хороший?)) Вы сделали много ошибок в слове плохой и лапша.
Ну вот вы опять обнажаете что базовые вещи для обычного разработчика, типо debounce, race condition, отмена запроса, очередь и т.п. Для вас это system design гений)
ну, во-первых, иногда отмены все таки реально нужны
Там где они вдруг реально нужны 1 из 10000, как бы так же легко это реализуется как и все остальное я реализовал.
во-вторых, у вас уж больно много внутренней имплементации протекает в бизнес логику, какие-то непонятные queue.next(), queue.abort(), await succesDebounced(1000), await queue.withForQueue()
Непонятные?) Во первых там есть есть комментарии, плюс их можно дополнительно расставить, во вторых с чего вдруг Effect.* понятнее стали? :D
в-третьих, ваш код ну вообще никак не поддерживаемый. добавить новый источник сообщений-это целый челлендж
Что правда?)
Заменить функцию на другую или внутри llmRequest вызвать другой источник
тестировать этот код будет очень сложно (скорее всего настолько, что никто этого делать не будет), дебажить и фиксить баги так, чтобы ничего другого не сломать тоже надо постараться.
Что правда?)) Прям вообще у меня такое месиво из кода и вообще не ничего не понятно, он же не читается сверху вниз слева направо да?)
Вы так говорите как будто добавить одну строчку чтобы не делать ретраи при достижении rate limit и сделать некий cooldown в N секунд/минут прежде чем по новой начать отправлять запросы это сложно)))) Это так же элементарно как и все остальное. Но видимо не для вас, раз вы не в состоянии такие вещи решать если их за вас не решила библиотека. А если для чего-то нет библиотеки, то значит для вас эта задача невыполнима)
Короче вы уже увидели что все ваши "сложные" сценарии элементарно решаются нормальными методами, поэтому начинаете уже рандомные "аргументы" не имеющие отношения к реальности вбрасывать.
А в сухом остатке: - Вы реализуете логику используя противоестественный вырвиглазный говнокод. Прям месиво. - Я реализовываю тоже самое, просто традиционными способами, с помощью человеческого кода, который легко читается для всех.
И на выходе просто либо вырвиглазный говнокод, либо просто код) Т.е. никаких киллер фич(и уж тем более реальных киллер фич) нету у вашего Effect, все они легко и просто реализовываются используя обычный код, который намного красивее и проще в восприятии.
А как вы отличаете гавнокод от кода, который вы просто не понимаете?
Если я смотрю на код и его не понимаю, но он не выглядит противоестественным и вырви глазным, то это просто код который я не понимаю, а если этот код выглядит противоестественно, то это говнокод.
Пример не связанный с Effect, RxJs и прочей вырви глазной ересью:
// Говно код
const rating = user.role === 'admin' ? 100 : user.role === 'editor' ? 80 : 50;
// Код здорового человека
let rating = 50;
if (user.role === 'admin') {
rating = 100;
} else if (user.role === 'editor') {
rating = 80;
}
Это всё более чем доступно при подходе здорового человека, написал 1 раз хэлпер функции/классы/плагины и всё дела. А писать говнокод который вы предлагаете, увольте)
Ну напечатал, и что это дает? Ну напечатал он ответ, дальше то что? Где киллер фичи недоступные коду здорового человека? Более того, весь код это просто грязное месиво на которое без слез не взглянешь. Представим что он бы работал в 5 раз быстрее, жрал в 5 раз меньше памяти, и даже этих реально весомых аргументов даже близко не достаточно, чтобы писать такой отвратительный код. Он просто тупо противоестественный, это все равно что ходить всегда задом наперед, или выгибать колени в другую сторону)
Вот я повторил поведение из вашей ссылке которое я вижу глазами:
У вас плохо сформулированные бизнес требования, то нужно отменять, то не нужно и все ответы нужно показывать пользователю. Если нужно все ответы показывать пользователю, то просто ничего не отменяется и не игнорируется, показывается всё, в чем проблема) А про отмену это не отмазка, это реальный факт, я никогда не делаю отмен, ибо они не нужны, если ответ не актуальный, он игнорируется. Это стандартное решение для race condinition. А если и правда хотите конструктивно, то не надо кидать код, который работает и перейдя по ссылке сразу воспроизведется.
Плюс их можно совместить вместе. А вообще я ещё в 2020 году написал плагин для Vite который сам добавляет всю разметку в коде для борьбы с race condition и debounce, я просто помечаю нужный метод декоратором и всё, весь код остается чистым, а на этапе сборки в него инжектятся хэлперы для асинхронщины. Там кстати даже и сетевые запросы отменяются с AbortController, но это я уже так, ради баловства добавил, а не ради надобности.
Всё нормально там с кодом, если у вас извращенная фиксация на никому не нужных отменах, это сугубо ваша проблема) Тем более реализовать отмену легко, AbortController на это есть)
Ну ну) Я из тех кто привык и думает исключительно своей головой и вот уже как полтора года не могу найти работу. А направление самое банальное - senior frontend developer, всего лишь с 13 годами опыта за плечами. Причем я ни ставлю даже никаких условий, мне пофиг что будет адский говнокод и легаси, в таких условиях я согласен на всё, но даже это не даёт никаких плодов, 1 собеседование за 3 месяца это уже успех.
Как бы MobX уже 10 лет назад решил все эти нюансы и проблемы и прекрасно их решает по сей день.
Может исключительно в вашем конкретном единичном сценарии) В моём сценарии React.js фронт или node.js бэк их стало раз в 15-20 меньше. Плюс уже 2 года мне ни разу ни один рекрутер сам не написал и не предложил какую нибудь вакансию) С 2017 по 2020 в среднем 1-2 раза предлагали в неделю вакансии САМИ, в 2021 понятно, там по 5-7 вакансий в день предлагали, ну а с 2023 по сей день просто 0 =)
Нужно создавать иллюзию что якобы вакансии есть, чтобы вкатывальщики думали что дверь ещё открыта и охотнее покупали курсы за сотни тысяч рублей.
Вот вот, работодатели демпенгуют(потому что могут и хотят) и соискатели демпенгуют(от безисходности разумеется). Ну и в таких условиях понятное дело уже всем насрать на качество разработки, на разработку как искусство и т.п.
Это не имеет значения:
a) Ваше резюме в любом случае никто не видит.
b) У них резюме будет в 95% случаев более привлекательное чем ваше.
с) Фейковый опыт тоже никто не отменял.
d) Ещё сейчас модный тренд это отсеивать overcvalified людей, потому что им якобы будет скучно и не интересно. И это значит что люди у которых 10+ опыта вообще нафиг не нужны ибо они overcvalified. А нужные люди желательно 25 лет с 2-3 годами опыта.
e) Даже если вас увидят и даже если каким-то чудом дело дойдет до собеседования, то всё равно 99.9% дальше этого дело не зайдет и никакого офера не будет. Потому с вероятностью примерно 99% будет специалист не хуже вас, а то и лучше, плюс готовый работать за ЗП в 2 раза ниже, ну как бы потому что бешеная конкуренция, рынок все дела, а он уже и так последние 24 месяца ищет работу и никак не найдет. Или просто собеседующему ваш голос не понравится или тон, или всё что угодно. Ему вообще пофиг, ведь таких же как вы ещё в очереди стоят тысячи, выбирай сколько влезет, а когда надоест можно просто сказать рандомному человеку вы приняты. Вот и все дела.
P.S.
1) Кол-во реальных вакансий сократилось раз в 10-20 это минимум
2) Кол-во профессионалов в худшем случае при этом осталось прежним, а реальном увеличилось раза 3 за период 2021-2026. Или вы думаете что 100% людей кто начал путь в 2021 или чуть раньше полные нули чтоли?) Нет уж, да 90% из них нули, но 10% нет, они реальные конкуренты. И 10% это не какие-то копейки, это 10% от минимум миллиона, а то 2-3х млн людей который начали в 2020 году учиться программистам, а это сотни тысяч людей.
3) Даже если магическим образом оставить на рынки исключительно профессионалов, то все равно конкуренция среди них будет бешеная и 95% просто будут безработными, ибо реальных вакансий крайне мало, а реальных профессионалов крайней много на одну вакансию.
Да, я смотрел с аккаунта знакомого, у него мелкая SEO контора была. Мы создавали вакансию React разработчика и Node.js разработчика, это было ещё в конце 2024, и нас засыпали тысячами откликов в этот же день, не помню точно, утром выложили, к вечеру было порядка 5 тыс откликов на React и порядка 2-3тыс на Node.js бэк. Я это чувствовал и без этого, судя потому что примерно 0 выхлопа от поиска работы, но провести такой эксперимент всегда хотел, вот теория и подтвердилась. Вот прям какие средние цифры на сегодняшний день я уже не знаю, но я думаю больше раза в 2-3 и проверить бесплатно не могу, потому что контора моего знакомого уже загнулась и больше не функционирует) Но в целом мне уже проверять повторно нет смысла, с того момента стало сильно хуже, поэтому и так всё понятно.
Фронт мертв уже 3 года, последние полтора года мертв вообще капитально, и каждый день умирает только сильнее и сильнее. Но дело не только фронте, вообще вся разработка, бэкенд тоже умер(по сравнению с фронтом он немного живее). Более того, специалисты уровня junior вообще никому не нужны, даже middle, потому что ИИ прямо сегодня намного сильнее чем junior и middle, остаётся только разумным нанимать Senior/Lead, но тут опять же смешно, на 1 вакансию 10000 желающих, поэтому тут тоже без шансов. Плюс ваканасии которые вы сейчас видите на hh минимум в 60-70% случаев фейковые, мало того что их очень мало, так ещё и из этого мизерного числа 70% просто фейк, вот и остается на 1 вакансию 10-20тыс желающих, если не верите, создайте аккаунт работодателя на hh и создайте вакансию разработчика на фронт и бэк, и вы просто будете в шоке от того сколько тысяч откликов вы получите в первый час размещения этой вакансии, я уж не говорю скажем про то, что эта вакансия будет висеть неделю. Короче говоря, ваше резюме и ваш отклик в принципе в 99.9999% случаев просто не увидят даже среди десятков тысяч таких же, готовы ли вы заниматься этой фигней в таких условиях и тратить годы только на то, чтобы случай но найти работу(и то далеко не факт), чтобы просто тупо набраться реального коммерческого опыта) Но и тут облом, за последний год ИИ сильно круче стал, подумайте что будет в 2027 году.
С того момента как начали из всех утюгов рекламировать курсы и кричать что в IT якобы дифицит кадров я сразу понял что ещё 2-3 года и труда) Ну оно было сразу очевидно, а тут ещё ИИ навалился со всей силы, поэтому собралось гипер кобмо против разработчиков.
А таких халявщиков ещё больше, разумеется и конкуренция среди них ещё сильнее) Неужто вы думаете что вкусные места будут простаивать дольше 1 наносекунды?) Если о них знаете вы, значит о них уже знают все) И да, а если быть ещё более реальным, то "должности" этих самых "промп-инженеров" просто занимаюсь уже работающие в компании менеджеры, вот и всё. Тем более предпочтение всегда в таких областях отдадут скорее тем кому 22-27 лет, а это ещё один стоп фактор в копилку нереальности входа. Вход в IT в любом виде закрыт уже много лет, т.е. получить оффер это как выиграть в лотерею, у 1 из 100тыс это займет 2 недели, а у остальных годы без результатов. А строить надежды и плана опираясь на принцип "ошибка выжившего" (как раз тот счастливчик 1 из 100тыс который получил оффер), это так себе перспектива) Самый беспроигрышный вариант это работать там, где работаете и между делом смотреть вакансии разные именно "промт-инженера" , вдруг шара повернётся к вам и вас наймут в конечном счете) Но дальше будет другой квест) Сколько вы там продержитесь до увольнения/банкротства фирмы) И что будете делать когда вас уволят, искать опять работу в IT? Ну шанс что удала 2 раза к вам повернётся лицом уж точно нулевой) Поэтому опять возвращаться в ту сферу где вы сейчас или в условные такси/курьеры всегда надо быть готовым.
Ну тогда вопрос, какой смысл вас на работу вообще нанимать?) Как бы 17$ в месяц подписки на ИИ дешевле) Тем более сейчас на одну вакансию таких умников вкатывающихся 10тыс, и это не фигура речи, это реальность, т.е. реально на 1 вакансию разработчика именно 10тыс соискателей. Т.е. ваш шанс найти работу в обозримом будущем 1-2 года около нулевой при любых раскладах, даже если вы уже 5 лет проработали до этого.
Но всё просто, если вы не можете это осознать и понять, тогда просто пройдите этот путь как уже прошла куча людей, потратили много денег, времени и нервов, а итоге никаких офферов разумеется они не получили, и всё, дальше классика ушли в таксисты/курьеры и т.п. Где реально можно найти работу и люди реально требуются. В 2021 году закончилась потребность в разработчиках в РФ. Начиная с 2022 они уже не нужны, их как бы сказать тысячи на 1 вакансию, про 2026 году уж вообще молчу.
Что в принципе нереально для джуна) Да и не каждый мидл сможет с ИИ тягаться)
Судя по всему вы не в курсе, что в IT последние 2+ года, и даже больше найти работу нереально, тем более тем, кто вкатывается и не имеет реального опыта хотя бы 7 лет+. Даже для тех кто 10 лет + в разработке сейчас просто нет вакансий именно реальных, фейковые висят, т.е. из 30 вакансий которые вы увидите, в лучшем случае будет 3-5 реальных. Вы просто потратите время и деньги, но гарантированно(99%) не найдете работу в течении следующего года.
Объективные критерии в реальной жизни:
1) Код работает? Да/Нет
2) Код легко читаемый, логичный и понятный? Да/Нет
3) Насколько без болезненно можно вносить в код правки? от 1 до 10 (При выполнении пункта 2, автоматически можно считать что 10)
4) Код следует принципам KISS? (Опять же всё так же прямая зависимость от пункта 2)
По сути только пункты 1 и 2 самые важные критерии.
Всё остальное не несет практической пользы. Всем начхать на инверсию зависимостей, ведь нет разницы, что без нее все работает, что с ней, что без нее все можно протестировать, что с ней, и т.д. и т.п.
А ваши нездоровые фиксации и фантазии можете оставить в своих пет проектах)
И где ответы оператора после того как он должен "подключиться"? У меня есть, где обработка сообщения которое ввел пользователь(пусть фигурирует в ответах бота как у меня)? Пусть ещё при вводе fail llm фейлится. У меня всё это есть. Дополните хотя бы этим и ссылку скиньте
Вот тесты:
https://stackblitz.com/edit/typescript-p2ctgemi?file=helpers.test.ts,sendToBot.test.ts,vitest.config.ts
Ну очередной бред, у меня прототип написанный на скорую руку, в нем уже функционала больше чем в вашей лапше, добавить в него дополнительные кейсы по обработке ошибок и т.п. всё это не составляет труда. Просто это не имеет отношения к делу.
Более того ваш говнокод не реализовывает даже ваше ТЗ которое вы мне писали и которое реализовывает мой прототип.
Стоит только попасть в ветку где llm должен вернуть ошибку так все, у вас просто на этом всё заканчивается и никаких сообщений об ошибках никаких подключений операторов и т.п. нет. Т.е. у вас даже код специально с выкинутым функционал, чтобы казаться чуть менее ущербным. А если вы реально реализуете то же, что уже реализовано у меня в прототипе, то все станет ещё страшнее.
Сдаётся мне вы его подредактировали после того как я на него первый раз посмотрел и выкинули оттуда часть говнокода) Хотя может и изначально вы даже это всё не реализовали, зато с пеной у рта говорили что у меня не все по вашему тз))
Так ещё и вашей симуляции llm даже сообщение от пользователя никак не обрабатывается, хотя бы для виду бы просто оно извлекалось и добавлялось в ответах, как это сделано у меня. Но боюсь даже эта базовая операция уже навернет много лапшекода)
Это сразу на корню перечёркивает вообще всё что связанно с effect. Поэтому как бы да, какая разница что в него встроили, если пользоваться этим безобразим максимально противно. Просто месиво из лапши и вся она кишит Effect.*
Смешно) Вы и тестировать не умеете оказывается, оно и видно, тотальная зависимость от чужих библиотек на каждый чих.
Не надо пробовать на вкус коровью лепешку, чтобы понять что это будет отвратительно, достаточно просто на нее взглянуть или учуять запах который от нее исходит. То же самое и Effect, просто смотришь на код который надо писать используя его его и всё, сразу всё понятно, только и успевай кровь из глаз останавливать. И самое смешно что взамен он не даёт ничего, ну разве что только реализацию элементарных вещей, которые для вас экстремально сложные почему-то.
Ну да ну да) Я умный, просто мне лень решать эту задачу, а так я конечно же знаю как её решить. Поэтому без решебника никуда.
Хороший?)) Вы сделали много ошибок в слове плохой и лапша.
https://effect.website/play#9b6d502ad956
Ну это прям дичь:
Скрытый текст
Скрытый текст
Скрытый текст
Ну вот вы опять обнажаете что базовые вещи для обычного разработчика, типо debounce, race condition, отмена запроса, очередь и т.п. Для вас это system design гений)
Там где они вдруг реально нужны 1 из 10000, как бы так же легко это реализуется как и все остальное я реализовал.
Непонятные?) Во первых там есть есть комментарии, плюс их можно дополнительно расставить, во вторых с чего вдруг Effect.* понятнее стали? :D
Что правда?)
Что правда?)) Прям вообще у меня такое месиво из кода и вообще не ничего не понятно, он же не читается сверху вниз слева направо да?)
И что? И где тут проблема?
Вы так говорите как будто добавить одну строчку чтобы не делать ретраи при достижении rate limit и сделать некий cooldown в N секунд/минут прежде чем по новой начать отправлять запросы это сложно)))) Это так же элементарно как и все остальное. Но видимо не для вас, раз вы не в состоянии такие вещи решать если их за вас не решила библиотека. А если для чего-то нет библиотеки, то значит для вас эта задача невыполнима)
Короче вы уже увидели что все ваши "сложные" сценарии элементарно решаются нормальными методами, поэтому начинаете уже рандомные "аргументы" не имеющие отношения к реальности вбрасывать.
А в сухом остатке:
- Вы реализуете логику используя противоестественный вырвиглазный говнокод. Прям месиво.
- Я реализовываю тоже самое, просто традиционными способами, с помощью человеческого кода, который легко читается для всех.
И на выходе просто либо вырвиглазный говнокод, либо просто код) Т.е. никаких киллер фич(и уж тем более реальных киллер фич) нету у вашего Effect, все они легко и просто реализовываются используя обычный код, который намного красивее и проще в восприятии.
Вот, там и ретраи и очередь и чанки
https://stackblitz.com/edit/typescript-qthapefa?file=index.ts
И с точки зрения бизнес кода (полезной нагрузки) почти ничего не изменилось
Если я смотрю на код и его не понимаю, но он не выглядит противоестественным и вырви глазным, то это просто код который я не понимаю, а если этот код выглядит противоестественно, то это говнокод.
Пример не связанный с Effect, RxJs и прочей вырви глазной ересью:
Это всё более чем доступно при подходе здорового человека, написал 1 раз хэлпер функции/классы/плагины и всё дела. А писать говнокод который вы предлагаете, увольте)
Ну напечатал, и что это дает? Ну напечатал он ответ, дальше то что? Где киллер фичи недоступные коду здорового человека? Более того, весь код это просто грязное месиво на которое без слез не взглянешь. Представим что он бы работал в 5 раз быстрее, жрал в 5 раз меньше памяти, и даже этих реально весомых аргументов даже близко не достаточно, чтобы писать такой отвратительный код. Он просто тупо противоестественный, это все равно что ходить всегда задом наперед, или выгибать колени в другую сторону)
Вот я повторил поведение из вашей ссылке которое я вижу глазами:
https://stackblitz.com/edit/typescript-yzz55zpm?file=helpers.ts,index.ts
Там и debaunce и отмена(в данном случае просто игнор)
И весь код при этом максимально просто и понятный для всех кто просто тупо знаком с JS.
У вас плохо сформулированные бизнес требования, то нужно отменять, то не нужно и все ответы нужно показывать пользователю. Если нужно все ответы показывать пользователю, то просто ничего не отменяется и не игнорируется, показывается всё, в чем проблема) А про отмену это не отмазка, это реальный факт, я никогда не делаю отмен, ибо они не нужны, если ответ не актуальный, он игнорируется. Это стандартное решение для race condinition. А если и правда хотите конструктивно, то не надо кидать код, который работает и перейдя по ссылке сразу воспроизведется.
Например вот так игнорируется неактуальный ответ:
https://stackblitz.com/edit/typescript-bracpfqe?file=helpers.ts,index.ts
Или вот так debounce:
https://stackblitz.com/edit/typescript-ycuccy9d?file=helpers.ts,index.ts
Плюс их можно совместить вместе. А вообще я ещё в 2020 году написал плагин для Vite который сам добавляет всю разметку в коде для борьбы с race condition и debounce, я просто помечаю нужный метод декоратором и всё, весь код остается чистым, а на этапе сборки в него инжектятся хэлперы для асинхронщины. Там кстати даже и сетевые запросы отменяются с AbortController, но это я уже так, ради баловства добавил, а не ради надобности.
Какой правде? Отмена нафиг не нужна, просто игнорируется ненужный ответ и всё. Ради ненужной отмены писать лютый говнокод, нет, спасибо)
Всё нормально там с кодом, если у вас извращенная фиксация на никому не нужных отменах, это сугубо ваша проблема) Тем более реализовать отмену легко, AbortController на это есть)
skill issue