Алгоритм работы с AI (Vibe coding PRO)
— Сохраняюсь в Git, чтобы видеть и контролировать все новые правки
— Прошу реализовать форму с нужными полями + прикладываю пример уже готовой формы
— Проверяю базовую работоспособность
— Внимательное ревью
— Прошу раскидать большой массив кода на части
— Проверяю базовую работоспособность
— Прохожу по каждой детали и прошу внести правки
— Проверяю базовую работоспособность
— Запускаю тесты
— Пытаюсь понять что идет не так на не работающих кейсах
— Прошу исправить и Запускаю тесты, пока не станут зелеными
— Проверка сторибука
— Запуск, отладка существующих тестов / Исключение регрессии
— Рефекторинг и формирование общих решений
— Запуск, отладка существующих тестов / Исключение регрессии
— Сохраняю в Git текущую порцию результата
На что обращаю внимание:
— декомпозиция
— валидация данных
— локализация
— нейминг
— консистентность
— типизация
— отсутствие случайных и ненужных деталей
— присутствие важных деталей
— Сохраняюсь в Git, чтобы видеть и контролировать все новые правки
— Прошу реализовать форму с нужными полями + прикладываю пример уже готовой формы
— Проверяю базовую работоспособность
— Внимательное ревью
— Прошу раскидать большой массив кода на части
— Проверяю базовую работоспособность
— Прохожу по каждой детали и прошу внести правки
— Проверяю базовую работоспособность
— Запускаю тесты
— Пытаюсь понять что идет не так на не работающих кейсах
— Прошу исправить и Запускаю тесты, пока не станут зелеными
— Проверка сторибука
— Запуск, отладка существующих тестов / Исключение регрессии
— Рефекторинг и формирование общих решений
— Запуск, отладка существующих тестов / Исключение регрессии
— Сохраняю в Git текущую порцию результата
На что обращаю внимание:
— декомпозиция
— валидация данных
— локализация
— нейминг
— консистентность
— типизация
— отсутствие случайных и ненужных деталей
— присутствие важных деталей
👍1
Прорабатываю интерфейсы.
— Обкатываю UI-kit.
— Готовлю материалы для будущей интеграции.
— Растаскиваю код на части, рефакторю, организую структуру проекта
— Обкатываю UI-kit.
— Готовлю материалы для будущей интеграции.
— Растаскиваю код на части, рефакторю, организую структуру проекта
🔥2
Локализация (ч 1)
Допустим, мы взяли популярную библиотеку, чтобы в React приложении менять языки (локали)
Для простоты грузим все языки при загрузке приложения.
Так же можно поступать и в storybook, и в тестах.
В какой-то момент локалей становится больше и ты хочешь грузить их по необходимости. Переключил пользователь язык — загрузил условный китайский и приложение мгновенно его начало использовать.
Это значит, что для одного из окружений надо сделать асинхнонную подгрузку. Поменять конфиг, поменять подход загрузки приложения, чтобы оно вовремя знало что и как показывать.
В этот момент начинаются разногласия в окружениях, потому-что тебе не надо делать тоже самое для тестов. Там достаточно одной локали. В крайнем случае 2 если надо проверить переключение языков.
В этот момент оказывается, что при разных подходах загрузки, конфигурация странно влияет на хелперы трансляции и надо изобретать обертки, чтобы с этим справится.
Ну ладно. Это еще пол беды.
Допустим, мы взяли популярную библиотеку, чтобы в React приложении менять языки (локали)
Для простоты грузим все языки при загрузке приложения.
Так же можно поступать и в storybook, и в тестах.
В какой-то момент локалей становится больше и ты хочешь грузить их по необходимости. Переключил пользователь язык — загрузил условный китайский и приложение мгновенно его начало использовать.
Это значит, что для одного из окружений надо сделать асинхнонную подгрузку. Поменять конфиг, поменять подход загрузки приложения, чтобы оно вовремя знало что и как показывать.
В этот момент начинаются разногласия в окружениях, потому-что тебе не надо делать тоже самое для тестов. Там достаточно одной локали. В крайнем случае 2 если надо проверить переключение языков.
В этот момент оказывается, что при разных подходах загрузки, конфигурация странно влияет на хелперы трансляции и надо изобретать обертки, чтобы с этим справится.
Ну ладно. Это еще пол беды.
🔥1
Локализация (ч 2)
Теперь, когда с настройкой и внезапной унификацией хелперов и окружений разобрались начинается следующая часть проблем.
Раньше (при синхронной загрузке) правильно инициализировались валидации, тк валидации хочется тоже показывать на языке пользователя.
Однако при асинхронном способе загрузке локалей теперь в момент инициализации схемы валидации не известно какой язык текущий. И идет фолбек на дефольтный.
И получается, что какой бы язык не выбрал пользователь — ошибки валиадции на дефолтном языке. Те на английском (в моем случае)
Исправить поведение можно передачей функции трансляции в момент инициализации компонент и схемы валидации. При использовании разных языков компонеты будут перерисовываться с учетом языка и инициализировать схему валидаций под текущий язык;
Поймать и понять и скорректировать такое поведение с учетом новых требований — это ресурс нескольких дней/недель в рамках работы в компании.
AI тут не помогает, тк он
1) не знает всех деталей желаемого
2) передача этих деталей невозможна в разовом формате, тк недостаточно информации о поведении системы
3) AI не знает особенностей поведения инструментов в разных окружениях
4) AI начинает зацикливаться и не может полностью "почувствовать задачу"
Итого:
1) чтобы получить итоговый результат, надо сформулировать задачу.
2) Чтобы сформулировать задачу — надо провести исследование.
3) Исследование для формулирования задачи приводит к фактическому решению задачи.
AI в таком процессе фактически бесполезен.
Теперь, когда с настройкой и внезапной унификацией хелперов и окружений разобрались начинается следующая часть проблем.
Раньше (при синхронной загрузке) правильно инициализировались валидации, тк валидации хочется тоже показывать на языке пользователя.
Однако при асинхронном способе загрузке локалей теперь в момент инициализации схемы валидации не известно какой язык текущий. И идет фолбек на дефольтный.
И получается, что какой бы язык не выбрал пользователь — ошибки валиадции на дефолтном языке. Те на английском (в моем случае)
Исправить поведение можно передачей функции трансляции в момент инициализации компонент и схемы валидации. При использовании разных языков компонеты будут перерисовываться с учетом языка и инициализировать схему валидаций под текущий язык;
Поймать и понять и скорректировать такое поведение с учетом новых требований — это ресурс нескольких дней/недель в рамках работы в компании.
AI тут не помогает, тк он
1) не знает всех деталей желаемого
2) передача этих деталей невозможна в разовом формате, тк недостаточно информации о поведении системы
3) AI не знает особенностей поведения инструментов в разных окружениях
4) AI начинает зацикливаться и не может полностью "почувствовать задачу"
Итого:
1) чтобы получить итоговый результат, надо сформулировать задачу.
2) Чтобы сформулировать задачу — надо провести исследование.
3) Исследование для формулирования задачи приводит к фактическому решению задачи.
AI в таком процессе фактически бесполезен.
🔥1
Mercy
Я надеюсь, что это последнее изобретение, которое мне пришлось сделать и я наконец смогу сфокусироваться на проекте, как на продукте, а не как на площадке, на которой я собираю свой JavaScript фреймворк, реализующий c нуля и переосмысливая многие идеи экосистем Ruby и Ruby on Rails.
Я надеюсь, что это последнее изобретение, которое мне пришлось сделать и я наконец смогу сфокусироваться на проекте, как на продукте, а не как на площадке, на которой я собираю свой JavaScript фреймворк, реализующий c нуля и переосмысливая многие идеи экосистем Ruby и Ruby on Rails.
Как фильтровать bullshit
Твиттер уже не так сильно, но все еще полыхает.
Чувак сделал майнкрафт на 5 часов на Клауди!
Лидер мнений в AI сфере сделал приложение-будильник за 3 запроса!
Все это — собачья чушь.
20 лет назад автор фреймворка Ruby on Rails заявлял, что теперь каждый может сделать за 15 минут блог на его гениальном фреймворке.
20 лет спустя ни одна CMS на Rails ни занимает ни одного процента рынка.
WordPress занимает 40-70%.
AI открывает нереальные просторы для создания сервисов и приложений!!!!
Ну и где? Где где эта лавина коммерческих продуктов и сервисов?
Нигде. И не будет этой лавины.
Ровно потому, что из 1.000.000 самых талантливых программистов, которыми заполнен наш мир, только единицы смогли создать свой продукт и стать коммерчески успешными.
Создание продукта это не просто кодинг. Это совершенно другая деятельность, где никакой AI никогда не поможет.
AI это хороший помощник. Но творческих и морально-волевых качеств он не прибавит.
Инструмент это всего лишь инструмент.
Твиттер уже не так сильно, но все еще полыхает.
Чувак сделал майнкрафт на 5 часов на Клауди!
Лидер мнений в AI сфере сделал приложение-будильник за 3 запроса!
Все это — собачья чушь.
20 лет назад автор фреймворка Ruby on Rails заявлял, что теперь каждый может сделать за 15 минут блог на его гениальном фреймворке.
20 лет спустя ни одна CMS на Rails ни занимает ни одного процента рынка.
WordPress занимает 40-70%.
AI открывает нереальные просторы для создания сервисов и приложений!!!!
Ну и где? Где где эта лавина коммерческих продуктов и сервисов?
Нигде. И не будет этой лавины.
Ровно потому, что из 1.000.000 самых талантливых программистов, которыми заполнен наш мир, только единицы смогли создать свой продукт и стать коммерчески успешными.
Создание продукта это не просто кодинг. Это совершенно другая деятельность, где никакой AI никогда не поможет.
AI это хороший помощник. Но творческих и морально-волевых качеств он не прибавит.
Инструмент это всего лишь инструмент.
👍1
AI и UI ❤️
С помощью AI можно легко, непринужденно и даже немного весело создавать свои UI-киты.
☑️ Story book как площадка для разработки элементов
☑️ SCSS как удобный инструмент написания CSS и работы с переменными.
☑️ CSS переменные, для жонглирования темами и стилями.
☑️ AI массово пишет примеры в storybook. Выполняет рутинную работу и позволяет мгновенно получать результат.
Создание и поддержание UI кита это обычно занятие скучное, рутинное и подверженное бесконечным неточностям.
AI позволяет радикально, драматически улучшить этот процесс.
С помощью AI можно легко, непринужденно и даже немного весело создавать свои UI-киты.
☑️ Story book как площадка для разработки элементов
☑️ SCSS как удобный инструмент написания CSS и работы с переменными.
☑️ CSS переменные, для жонглирования темами и стилями.
☑️ AI массово пишет примеры в storybook. Выполняет рутинную работу и позволяет мгновенно получать результат.
Создание и поддержание UI кита это обычно занятие скучное, рутинное и подверженное бесконечным неточностям.
AI позволяет радикально, драматически улучшить этот процесс.
AI / UI / Кастомные скины
Говорят, что в играх продают скины. Жалкие 10$ и можно выбрать цветовую схему автомата с которым ты бегаешь по локации.
Мой эксперементальный pet проект легко и непринужденно обзавелся цветовыми темами.
Да, конечно, настраивать цвета можно и нужно для каждой по отдельности.
Но я не дизайнер. AI просто сделал мне обычную, темную и золотую схемы.
В компаниях такую работу делают отделы дизайна в связке с программистами месяцами. Вкладывают десятки тысяч долларов, а потом тратят на отладку и корректировки.
Я "правильно" заложил основу проекта и теперь наслаждаюсь результатами. Сделал работу за 10 запросов.
Not bad. Not bad.
Говорят, что в играх продают скины. Жалкие 10$ и можно выбрать цветовую схему автомата с которым ты бегаешь по локации.
Мой эксперементальный pet проект легко и непринужденно обзавелся цветовыми темами.
Да, конечно, настраивать цвета можно и нужно для каждой по отдельности.
Но я не дизайнер. AI просто сделал мне обычную, темную и золотую схемы.
В компаниях такую работу делают отделы дизайна в связке с программистами месяцами. Вкладывают десятки тысяч долларов, а потом тратят на отладку и корректировки.
Я "правильно" заложил основу проекта и теперь наслаждаюсь результатами. Сделал работу за 10 запросов.
Not bad. Not bad.
🔥3
UI + AI = Love
В моем микро UI kit не хватало только чекбоксов. И еще хотелось модных переключателей в виде кнопочки.
Если правильно организовать код, то темизация приложения — это всего лишь замена CSS переменных.
AI в таких простых рутинных задачах, как формирования UI кита — справляется идеально.
Недавно ко мне приходил клиент с запросом на создание UI кита для их компании. Надо было организовать процесс.
Пару моих предложений забрали и начали активно использовать, но я ввязываться в эту историю не захотел, тк было много личных дел.
Теперь, в принципе, текущий опыт по формированию Mini UI kit для клиента я могу продавать буквально как продукт-услугу.
Вся картинка понятна и ясна. Все подходы обкатаны. Есть прекрасный пример как это все работает с минимальными усилиями и объемом кода.
AI в этом процесса работает превосходно. Берите на заметку. Пользуйтесь. Зарабатывайте.
В моем микро UI kit не хватало только чекбоксов. И еще хотелось модных переключателей в виде кнопочки.
Если правильно организовать код, то темизация приложения — это всего лишь замена CSS переменных.
AI в таких простых рутинных задачах, как формирования UI кита — справляется идеально.
Недавно ко мне приходил клиент с запросом на создание UI кита для их компании. Надо было организовать процесс.
Пару моих предложений забрали и начали активно использовать, но я ввязываться в эту историю не захотел, тк было много личных дел.
Теперь, в принципе, текущий опыт по формированию Mini UI kit для клиента я могу продавать буквально как продукт-услугу.
Вся картинка понятна и ясна. Все подходы обкатаны. Есть прекрасный пример как это все работает с минимальными усилиями и объемом кода.
AI в этом процесса работает превосходно. Берите на заметку. Пользуйтесь. Зарабатывайте.
👍2