Курилка

Анна

Well-known member
ух!
Пожаловаюсь маленько на жизнь.
Псевдоразумы так-то крепко вошли в обиход.
Сама я их использую. В том числе в работе.
И вот задачка сейчас. Наладить синхронизацию навигации в двух проектах через iFrame. Крупный проект переписывается полностью с нуля на новый, но, поскольку он живой, постоянно вносятся изменения, остановка прода недопустима и всё такое, переписывание ведём по методике strangler fig. Первоначальная интеграция была написана джуном на скорую руку. В общем работало, потому я приняла. Надо было уже срочно. Но при каждом изменении маршрута внедрённый легаси перегружается полностью. И некрасиво, мелькает лишнее, и дольше, и в разы больше запросов к бэкенду, а запросы могут быть и тяжёлыми.
В общем, надо это переписать получше. Причём, я даже в общем представляю как. Но решила посоветоваться с псевдоразумом.
Ох чего он мне только не советовал! Уже всего и не упомню. Но отдельная точка входа там была, а открытие нужной страницы по команде через таймаут. То есть, пользователю ждать лишнюю секунду, но не факт, что этой секунды хватит всегда. Списки обновлённых страниц в легаси-проекте предлагал. Хотя это жесточайшее раздолье для багов. Мегапротокол с десятком типов сообщений и согласованием в несколько этапов предлагал. Хотя это всё делается ровно двумя сообщениями. Дублирование запросов предлагал, хотя это даже не антипаттерн, а просто тупость.
А ведь кто-то не задумывается, а просто слепо верит и копипастит такое в свой проект.
Антропик и ОпенАИ хвастаются, что у них 100% кода пишет эта шайтан-машина.
Может в этом и дело? Может там не только дрессировка имеет значение, а и код тоже как-то влияет?
Я сейчас начинаю сильно бояться.
Точно знаю, что у меня одна девочка активно это добро пользует. А я её МР смотрю давно уже в полглаза. Вижу — работает как надо. Линтеры, тесты — всё проходит. При беглом просмотре ничего в глаза не бросается. Сама она умная и шарит.
Но теперь думаю: а вдруг?
Страшно.
 

Veronise

Well-known member
ух!
Пожаловаюсь маленько на жизнь.
Псевдоразумы так-то крепко вошли в обиход.
Сама я их использую. В том числе в работе.
И вот задачка сейчас. Наладить синхронизацию навигации в двух проектах через iFrame. Крупный проект переписывается полностью с нуля на новый, но, поскольку он живой, постоянно вносятся изменения, остановка прода недопустима и всё такое, переписывание ведём по методике strangler fig. Первоначальная интеграция была написана джуном на скорую руку. В общем работало, потому я приняла. Надо было уже срочно. Но при каждом изменении маршрута внедрённый легаси перегружается полностью. И некрасиво, мелькает лишнее, и дольше, и в разы больше запросов к бэкенду, а запросы могут быть и тяжёлыми.
В общем, надо это переписать получше. Причём, я даже в общем представляю как. Но решила посоветоваться с псевдоразумом.
Ох чего он мне только не советовал! Уже всего и не упомню. Но отдельная точка входа там была, а открытие нужной страницы по команде через таймаут. То есть, пользователю ждать лишнюю секунду, но не факт, что этой секунды хватит всегда. Списки обновлённых страниц в легаси-проекте предлагал. Хотя это жесточайшее раздолье для багов. Мегапротокол с десятком типов сообщений и согласованием в несколько этапов предлагал. Хотя это всё делается ровно двумя сообщениями. Дублирование запросов предлагал, хотя это даже не антипаттерн, а просто тупость.
А ведь кто-то не задумывается, а просто слепо верит и копипастит такое в свой проект.
Антропик и ОпенАИ хвастаются, что у них 100% кода пишет эта шайтан-машина.
Может в этом и дело? Может там не только дрессировка имеет значение, а и код тоже как-то влияет?
Я сейчас начинаю сильно бояться.
Точно знаю, что у меня одна девочка активно это добро пользует. А я её МР смотрю давно уже в полглаза. Вижу — работает как надо. Линтеры, тесты — всё проходит. При беглом просмотре ничего в глаза не бросается. Сама она умная и шарит.
Но теперь думаю: а вдруг?
Страшно.
Ничего не понял, но с выводом соглащусь. Бездумное следование информации, полученной от шайтан-машины до добра не доведёт
 
Я сейчас начинаю сильно бояться.
Точно знаю, что у меня одна девочка активно это добро пользует. А я её МР смотрю давно уже в полглаза. Вижу — работает как надо. Линтеры, тесты — всё проходит. При беглом просмотре ничего в глаза не бросается. Сама она умная и шарит.
Но теперь думаю: а вдруг?
Страшно.
Конкурентка?
 

Severnight

Well-known member
Я тоже с первого раза мало что понял. Чтобы понять больше, пришлось взять в помощники Гугл и советоваться с дружеским псевдоразумом Qwen3-Max Кстати, а чего это он псевдо-разум? В некоторых вопросах он очень даже шарит. Всяко лучше, чем я. А то, что иногда тупит... Так это и истинно-разумным тоже очень свойственно.

Делюсь результатами расследования с теми, кто, как и я, в этой области ни ухом, ни рылом.

iFrame - тег из HTML, с помощью которого можно встраивать в ваш сайт/web-приложение чужую web-страничку/приложение. Об этом теге: iFrame: что это за тег и зачем он нужен, его свойства, атрибуты, примеры использования, ограничения, чем заменить — Топвизор–Журнал
Исчерпывающий путеводитель по тегу iframe / Хабр

Strangler fig - стратегия постепенного перехода от монолита - это когда все, что нужно для обеспечения работы живет в одном приложении, в котором собраны все функции, к микросервисной архитектуре - это когда все разбито на множество максимально независимых мелких приложений, каждое из которых выполняет свою функцию, хранит только свои данные и может разрабатываться отдельным коллективом программистов. Целостность системы достигается тем, что эти маленькие приложения т.н. называемые микросервисы, умеют обмениваться друг с другом информацией по определенным правилам. О Strangler fig: Основные паттерны микросервисной архитектуры: Strangler Fig, API Gateway, Service Mesh и другие / Хабр

Джун (junior) — это уровень квалификации программиста, соответствующий начальной стадии профессионального развития.

Фразу "Но при каждом изменении маршрута внедрённый легаси перегружается полностью" любезно перевел на русский добрый китайский разум Qwen:
Эта фраза описывает техническую проблему в архитектуре веб-приложения, особенно характерную для одностраничных приложений (SPA). Разберём её по частям:

Что означают термины:
  • «Изменение маршрута» — переход между разными страницами/разделами в SPA (например, при клике на ссылку в приложении на React, Vue или Angular) без полной перезагрузки страницы.
  • «Легаси» (legacy) — устаревший код, компонент или система, интегрированный в современное приложение. Часто написан на старых технологиях (jQuery, vanilla JS) и не соответствует архитектуре современного фреймворка.
  • «Внедрённый легаси» — легаси-код, который каким-то образом «встроен» в приложение (например, через dangerouslySetInnerHTML в React или манипуляции с DOM).
Суть проблемы:
При каждой навигации между маршрутами этот легаси-код полностью пересоздаётся: заново инициализируется, подгружаются скрипты, перестраивается DOM. Вместо эффективного переиспользования или частичного обновления происходит «тяжёлая» перезагрузка.
Ясно, да?

Бэкенд (этот термин мне знаком, поскольку сам занимался тем, что непосредственно связано с "задним концом" систем) - серверная часть приложения. О фронтэнде и бэкенде ("переднице"и "заднице" приложений) можно почитать здесь: Что такое бэкенд и фронтенд, а также в чем между ними разница | by Prostudio Digital Agency | Medium

МР - тут нам опять приходит на помощь добрый китайский неестественный разум:
В данном контексте «МР» означает Merge Request (запрос на слияние) — термин из систем контроля версий, особенно распространённый в GitLab. В GitHub и некоторых других системах аналогичный механизм называется Pull Request (PR).
Что происходит в описанной ситуации:
Руководитель говорит, что он доверяет разработчику («она умная и шарит») и поэтому делает поверхностное ревью её мерж-реквестов («смотрю в полглаза», «беглый просмотр»), но при этом:
  • Код проходит все автоматические проверки (линтеры, тесты),
  • Визуально нет явных проблем («ничего в глаза не бросается»),
  • Функциональность работает корректно.
Что такое Merge Request:
Это запрос на объединение изменений из рабочей ветки (например, feature/login) в основную ветку проекта (например, main). Перед слиянием МР обычно проходит:
  1. Код-ревью — проверка коллегами или руководителем,
  2. CI/CD-пайплайн — запуск линтеров, тестов, сборки,
  3. Обсуждение изменений — комментарии, предложения по улучшению.
Почему руководитель может «смотреть в полглаза»:
Это признак высокого доверия к разработчику — её код стабильно качественный, она соблюдает стандарты, пишет покрытие тестами, поэтому руководителю не нужно тратить много времени на детальное ревью. Это нормальная практика в зрелых командах с сильными инженерами.
 

Severnight

Well-known member
Пожаловаюсь маленько на жизнь.
Псевдоразумы так-то крепко вошли в обиход.
Сама я их использую. В том числе в работе.
...
Но теперь думаю: а вдруг?
Страшно.
Из моего опыта использования ИИ. Его очень удобно юзать, когда ты точно знаешь, что именно ты хочешь сделать и в голове у тебя уже сложилась вся картина - все разбилось на модули, классы, процедуры и ты хорошо представляешь как это все должно взаимодействовать.
Тогда он просто делает за тебя всю рутинную работу. Не надо самому много и нудно барабанить по клавишам, все это кодируя, а можно просто сказать помощнику "А сейчас добавим в этот класс метод с такими вот параметрами, который должен делать вот что". Бац-бац-бац, тебе остается только проверить, что написал твой юный трудолюбивый друг и не налажал ли он в каком-нибудь месте. ( Мне встречалось условие x == x под if-ом). Тут бы еще голосовой ввод прикрутить к AI IDE, но в условиях офиса это не очень актуально.

Пробовал привлечь ИИ к продумыванию архитектуры системы и кааак понеслось. Тут используем такой паттерн программирования, здесь сякой паттерн, и все, что можно сделать просто и ясно и коротко, превращается в запутанную хрень.
Может так и надо, и по-настоящему высококлассные программисты, когда глядят на такой код, видят не хрень, а такой паттерн, сякой паттерн и сразу все понимают. Но меня это только злит. Послал я своего жизнерадостного друга обратно процедуры писать.

Но! Слыхал я, что настоящие специалисты в области ИИ-кодирования, умеют так настраивать шайтан-машину, что в ней трудится целая шайка ИИ-агентов - одни задачи ставят, другие код пишут, третьи этот код проверяют на предмет соответствия, четвертые тесты мастерят, а пятые тесты запускают, проверяют, и, если что не так, то жалуются первым на вторых. А шестые пишут документацию по системе, очень дружественную юзерам. Вроде как правильно настроенная машина способна написать работающее приложение типа браузера за месяц или неделю вообще без участия человека.
 

Анна

Well-known member
Может так и надо
Вспоминается давний опыт, когда в рамках подработки слева я помогала одному парню доделать некоторый функционал на сайте, над которым он работал. Покопавшись во внутренностях этого творения, я ему честно сказала, что говнокод тут лютейший. На что он мне и ответил: "Вот! Понимаешь! Может аудитория Хабра и засмеёт, зато заказчик не сможет отказаться от моих услуг. Любой другой либо не сможет, либо обойдётся в разы дороже".

Слыхал я, что настоящие специалисты в области ИИ-кодирования, умеют так настраивать шайтан-машину
Я тоже такое слыхала. Но боюсь. После того, что иногда вижу, когда пробую воспользоваться этим чудом. Когда даже в очень простом случае они люто чудят, то как они будут чудить сложной системой агентов?
 

Patriot

Well-known member
Выходит Маяковский из кабака,окруженный стайкой девиц. Девицы начинают его охаживать:
-Владимир! А это правда, что Вы можете сочинить стихотворение прямо с ходу, на месте?
-Конечно! — говорит подвыпивший поэт революции, — Давайте тему!
-Ну, вон видите, в канаве пьяница валяется.
Маяковский, гордо выпрямившись,громогласно начинает:
-Лежит Безжизненное Тело На нашем Жизненном Пути...

Тут голос из канавы:
-Ну а тебе какое дело? Идёшь с блядями, и иди.
Маяковский:
-Пойдемте, девушки, это Есенин...
Слышал тоже самое про Пушкина. Тоже с девицами стоял и хвастался своим мастерством:
- Лежит безжизненное тело,
- Лежит - и некому поднять...
Тут тело поднимается и говорит:
- Тебе, мудак, какое дело?
- Иди бл@дей своих @бать!
Пушкин:
- Пойдёмте, девочки, это Миша Лермонтов...
 

Severnight

Well-known member
Вспоминается давний опыт, когда в рамках подработки слева я помогала одному парню доделать некоторый функционал на сайте, над которым он работал. Покопавшись во внутренностях этого творения, я ему честно сказала, что говнокод тут лютейший. На что он мне и ответил: "Вот! Понимаешь! Может аудитория Хабра и засмеёт, зато заказчик не сможет отказаться от моих услуг. Любой другой либо не сможет, либо обойдётся в разы дороже".
Время такое, что даже лютый говнокод от увольненья не спасет.
Одно из полезных применений ИИ, это как раз анализ чужого кода. Там, где раньше ты останавливался перед завалами и говорил себе "Не, я в эту кучу дальше не полезу", теперь можно пустить робота: "Проанализируй следующие модули, найди место, где... Фас!" И он лезет и даже находит.

Я тоже такое слыхала. Но боюсь. После того, что иногда вижу, когда пробую воспользоваться этим чудом. Когда даже в очень простом случае они люто чудят, то как они будут чудить сложной системой агентов?
Подумал, что эта проблема встает перед любым IT-менеджером высокого уровня. Непосредственно от кода ты отъехал, и имеешь дело со сложной системой агентов-программистов. А они тоже очень склонны чудить :)
 

Veronise

Well-known member
Я тоже такое слыхала. Но боюсь. После того, что иногда вижу, когда пробую воспользоваться этим чудом. Когда даже в очень простом случае они люто чудят, то как они будут чудить сложной системой агентов?
А это уже создание ОПГ с распределением ролей между её членами (агентами)
 
Top