Илья Зыкин. Pro Жизнь
137 subscribers
1.1K photos
45 videos
4 files
95 links
Download Telegram
AI rules, Storybook

День четвертый.

Был час позаниматься моим мини проектом.

1️⃣ Как только был установлен Storybook для UI — мгновенно всплыло несколько моментов по реализации компонентов. Сделал фиксы. Переработал подходы.

И это на самом первом, даже нулевом этапе.

Затягивать с установкой и использованием линтеров, чекеров, форматтеров, тестов и прочих сторибуков нельзя. Это важная часть технологического процесса.

Чуть запоздал — и все. Будешь плавать в мало поддерживаемом коде. Будет больно и тоскливо. А нам этого не надо.

2️⃣ Подразобрался с правилами для AI.

Тема совсем новая. В среднем все актуальные публикации месячной давности.

По новому формату правил — буквально неделя. О работоспособной практике мало кто рассказывает. Так что я вовремя заскакиваю в этот поезд.

Пока остальные ребята будут раскачиваться, я хочу наработать правила для AI и обкатать их.

Будет весело, если вы там, по ту сторону экрана уже построили свой IT отдел на основе GPT ботов, а я тут вкатываюсь в тему 🤣 А как у вас?
👍3
Mini App

День 5-ый


Времени катастрофические не хватает, но некоторые результаты есть. Были запущены

✔️ Vite
✔️ React / TypeScript
✔️React Router
✔️ SCSS / BEM
✔️ Docker/Compose/DevContainer
✔️ Jest / React Testing Lib
✔️ ESlint
✔️ Prettier
✔️ Storybook
✔️ Holy Grail Layout (React)
✔️ Простая базовая верстка
✔️ I18n
✔️ Базовые AI rules

Главные блокеры:

🔻i18next в тестах
🔻ENV переменные в тестах

Чтобы тесты нормально работали нужно вальсировать с разнородными опциями TypeScript в согласии с Vite / RTL для разных окружений. Отваливается то одно, то другое.

Надо прыгать по версиям и подбирать параметры чтобы все работало. Или искать обходные пути, которые тоже есть.

AI тут не помогает. В зоопарке и непредсказуемости поведения и взаимодействия разнородных решений помогает или удача, или trade offs и workarounds.

Будет время — поразбираюсь.
👍2
Composer Agent | Cursor, Claude Sonnet

Ну вот и я нашел причину запустить Composer Agent

- Я создал пустой каталог
- Я закинул в каталог Докер компоуз файл и DevContainer файл
- Перешел в режим Composer Agent

Запросы формата:

1️⃣ Создай мне Vite / React / TS / Yarn приложение

Агент работает до получения результата.

2️⃣ Добавь i18n

Агент работает до получения результата.

3️⃣ Добавь несколько тестовых страниц с интернационализацией

Агент работает до получения результата.

4️⃣ Поставь Jest и RTL и напиши тесты

Агент работает до получения результата.

🎉 За 30 минут агент сам писал код и реагировал на ошибки в консоли.

Только несколько раз я подсказывал что нужно сделать.

Агент наткнулся на ошибку, которая была для меня блокером и нашел для нее решение.

Я это решение перенесу в основной проект. Несколько находок тоже перенесу.

Работа в режиме агента мне понравилась. Даже если за деньги, то ДА!
👍3
Мнение достопочтенных джентельменов

Тред от 11 февраля. Сегодня 13.

Что я вам имею сказать.

Буст нереальный. Как бы я не ныл о слабых сторонах AI — если принять эту новую парадигму работы и научиться ей пользоваться, то результат впечатляющий.

Я говорю именно о практике написания кода. Те когда ты натурально имеешь виденье того, как код должен быть устроен, как он должен функционировать и знаешь как построить методологию использования AI.

Другое дело, что пока никто эту самую методологию не знает и мы все похожи на слепых котят, которые пытаются сделать свои первые робкие шаги и нащупать дорожку.

Если вы знаете каналы где рассказывают о рутинной практике использования AI — дайте знать.

Если вы сами активно используете — тоже дайте знать. Расскажите о своей практике.

Забавно. Человек, который меня толкнул на эту скользкую дорожку, кажется несколько отстал от меня в плане наработки практики использования AI и новых подходов.
👍6
MiniApp
👍1
Mini App

День 6.

Для того небольшого времени, что я уделяю мини проекту - результаты отличные.

Вырисовывается прототип проекта.

Много решений приходится тщательно выверять.

Иногда AI угадывает что нужно. Иногда безбожно тупит.

В любом случае количество сгенерированного, приличного качества кода очень радует.

Сам AI не способен что-то серьезное реализовывать, но как экскаватор против лопаты выдает отличные объемы.

Что и куда копать, он конечно не знает и не понимает.

Постепенно вырисовывается прототип.

Технические задачи решаются. AI работает.

Я никуда не тороплюсь. У меня никаких дедлайнов.

Где-то я иду на сделку и принимаю "плохой код", где-то я чищу руками, где-то трачу время на отладку правил.
🔥4
А что там в интернетах пишут в каналах достопочтенных коллег?!

Ахахаха!

Вечер в хату, господа арестанты!
Старый дракон сломал зуб

Несколько постов выше я рассказывал вам про интеграцию Vite в Ruby/Rails приложение.

Это правда не сложно:
1️⃣ сделать авто запуск Vite при запуске Rails
2️⃣ Модифицировать rake assets:precompile для проды
3️⃣ Написать пару хелперов для вставки ассетов на страницу в Dev и Prod режимах.
4️⃣ Для особо упоротых типа меня сделать Proxy Middleware, чтобы все выглядело так, словно работает на одном хосте и порту.

Я довольно быстро сделал это все. До момента вывода в продакшн все было идеально.

На последнем этапе я выяснил, что разбор манифеста это не очень-то хорошо описаный процесс. И к нему есть вопросики.

Мне показалось, что моя реализация этого разбора на сложном проекте может быть довольно опасным занятием.

Качественный разбор Vite манифеста — это дело практики и тестирования. А времени на это у меня нет.

Мне достаточно хорошо платят, чтобы я вовремя предупреждал о возможных ограничениях и проблемах там, где у меня нет уверенности в хорошем результате. А тут у меня ее не было.
👍2
Как разрулить?

1️⃣ с клиентом мы договорились, что в условиях ограниченного времени нам нужен план B. И если не удастся использовать кастомную интаграцию, то мы всегда сможем вернуться к популярному решению.

2️⃣ Из кастомной интеграции не было уверенности только в хелперах вставки кода на страницу. Чем переизобретать велосипед, лучше взять готовое решение. Это и сделаем.

Итого:

Только один фрагмент задачи (да, важный) — придется на какое-то время использовать из ViteRuby.

Все остальное в чистом виде фронтового инструментария.

Разбор Vite манифеста в ViteRuby в традиции Ruby/Rails экосистемы неоправданно переусложнен.

Я даже написал на него свои тесты, но явно, чтобы учесть все детали нескольких дней может быть не достаточно. Вернусь к задаче, когда будет ресурс и потребность.

Будет интересно довести ее до конца.

Я не ожидал, что разбор Vite манифеста нужно делать руками. в Webpack было проще. Но это было много лет назад.
👍2
Что не так c Vite манифестом?

В условиях ограниченного времени я не стал рисковать и взял готовое решение по интеграции ассетов на страницу прямо из ViteRuby.

Опасения у меня вызвала вот эта логика, которая собирает массив зависимостей, сплющивает, почему-то удаляет пустые значения (откуда они там вообще?) еще и удаляет дубликаты.

Что у вас тут вообще происходит? Разве это все не должно быть уже посчитано?

Разве не должно быть описано в документации по интеграции?

В общем, я так подумал, что миллионы леммингов не могут ошибаться и не нужно пренебрегать их опытом.

Нужно просто взять готовые хелперы и использовать их, а глубоко разобраться с вопросом позже.

На тему парсинга и сбора Vite ассетов можно сделать мини расследование и написать статью.

Обратите внимание на прекрасную новую фишку гитхаба — он теперь не плохо рассказывает что происходит в коде. Вот это чудеса!
👍1
https://www.oreilly.com/radar/the-end-of-programming-as-we-know-it/

Программирование не исчезает, а трансформируется – На протяжении истории программирование неоднократно менялось: от физического соединения цепей к машинному коду, затем к ассемблеру, высокоуровневым языкам и интерпретируемым языкам. Каждый новый уровень абстракции не уничтожал программистов, а увеличивал их количество и изменял их роль.

Каждое упрощение программирования создавало новых программистов, а не убирало старых – Например, Windows упростил доступ к низкоуровневому программированию, а появление веба и мобильных устройств потребовало еще больше специалистов. Аналогично, API и облачные сервисы упростили разработку, но не уменьшили спрос на программистов.

Искусственный интеллект изменит задачи программистов, но не заменит их – AI-инструменты позволяют создавать код быстрее и удобнее, но все равно требуют контроля со стороны людей. Программисты превращаются в менеджеров цифровых сотрудников (ИИ-систем), создавая, настраивая и поддерживая их.

"Гибель упрямого разработчика" – Те, кто не адаптируется к новым инструментам (например, к ИИ в программировании), могут потерять конкурентоспособность. Но те, кто освоит новые технологии, останутся востребованными.

Опытные программисты используют ИИ эффективнее, чем новички – Хотя начинающие могут легко создать прототип с помощью AI, без глубоких знаний они не смогут исправлять ошибки и дорабатывать сложные проекты. Опытные разработчики, использующие AI, будут более продуктивными.
👍2🔥1
https://www.oreilly.com/radar/the-end-of-programming-as-we-know-it/

Программирование становится ближе к естественному языку – Вместо написания кода программисты будут формулировать задачи на естественном языке. Однако управление ИИ-программистами и интеграция их решений в реальные системы останутся сложными задачами.

"Кодинг с AI" – новая парадигма программирования – Мы находимся в начале эры AI-ориентированного программирования (CHOP – Chat-Oriented Programming). AI-инструменты будут помогать в кодинге, но их использование потребует новых навыков.

Будущее программирования – создание и управление AI-агентами – AI-агенты станут ключевым цифровым интерфейсом компаний, а роль программистов сместится к созданию и настройке этих агентов.

Те, кто освоит AI, останутся в профессии – Будущее за теми, кто научится использовать ИИ в программировании, а не за теми, кто сопротивляется новым технологиям.

Автоматизация не снижает потребность в специалистах, а создает новые задачи – Как и в индустриальной революции, автоматизация освобождает людей для более сложных и творческих задач, а не делает их ненужными.
👍2
Атомарность, Атомарность, Атомарность

Пока коллеги по цеху спорят, есть ли шанс у кодинга c AI или нет шансов. Есть ли буст в разработке или нет — я работаю учителем-методистом для AI.

Лет 5 назад, мои супер профессиональные коллеги, которые управляли процессом и культурой разработки в топовой технологической компании, решили сделать великую организационную революцию.

Все правила разработки и оформления кода педантично и фанатично описали в документации.

Благодаря этому компания из сотен разработчиков работала как единый организм. Нельзя было написать код, который бы не следовал правилам.

То, что случайно не попадало в документ — при первом же случае туда вносилось.

Любой комментарий на код-ревью всегда был подкреплен ссылкой на документ с правилами.

Безумно? Но это работало чтобы удерживать высочайшее качество кода в огромной компании.

Сегодня — я тоже самое делаю для AI.

Требования из книги правил и рецептов надо применять точечно. Иначе AI делает дичь.

АТОМАРНОСТЬ!
🔥4