Илья Зыкин. Pro Жизнь
137 subscribers
1.1K photos
45 videos
4 files
95 links
Download Telegram
В это пасмурное Стамбульское утро я не придумал ничего лучше, чем взять паузу и отправиться себя немного порадовать.

Не все же решать Ruby, JavaScript задачки. Надо давать себе передышку.
👍3🔥2
Главный секрет AI

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

С AI страшная и болезненная рутина написания тестов превратилась практически в бесплатное удовольствие.

По крайней мере, для JS/React/Ruby/Rails кода.

По крайней мере, там, где сам код написан более менее приемлемо. Хоть и без тестов.

Если вы начальник программистов — требуйте полного долива пива высокой степени покрытия.

Это теперь очень дешевая операция. Я пользуюсь. И вам настоятельно советую.

А там где есть тесты — код на порядок и лучше и чище. Это аксиома.
👍4
Oops!... I Did It Again 😬
👍2🤯1
Тесты и AI

Я утверждаю:

1️⃣ Тесты это единственное, что позволяет при разработке с помощью AI получать работоспособный продукт. Это просто вынужденная необходимость.

- Тесты удерживают контекст.
- Тесты исключают регрессии.

2️⃣ Тесты при работе с AI стали "дешевыми". Пару часов в чате с AI и вы способны покрыть тестами большую часть вашего нетестированного кода. Никакой головной боли. Тимлиды — ликуйте. Разработчики — плачьте.

❓Коллеги спрашивают

Как доверить AI написание тестов? Он же сделает это плохо!

Это, конечно, исключительно позиция разработчика. Вера в то, что только разработчик умеет хорошо.

Если вы посмотрите на ситуацию со стороны технического менеджера — то ситуация выглядит немного иначе.

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

Возьмите команду из 3 человек и любой спринт. Сколько качественных тестов там будет написано и какое покрытие?

Да, конечно, именно в вашей команде все боги тестирования. Я не сомневаюсь.
👍1
MiniApp

День 8

Сегодня успел сделать несколько простых но нужных вещей.

1. Тостер — так обычно называют функцию/модуль, которые будут показывать сообщения пользователю.

2. EventEmitter. Простейшая реализация Pub/Sub, которая часто позволяет развязать React компоненты.

Зачем? Есть же много готовых решений.

✔️ Во-первых, минимальный объем. Вместо универсальных комбайнов на сотни килобайт и тысячи строк - 4-5 методов.

✔️ Во-вторых, продолжается изучение пользы AI в разработке.

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

Немного чистки, проверки результатов и можно будет постепенно переходить к backend.
🔥2
Илья, как там дела с AI кодингом?

Да нормально все.

Главная боль — наработка кодовой базы с примерами для AI.

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

Инфраструктурные настройки и согласование всех инструментов надо с вниманием к каждой мелкой детали произвести.

Поставил ты роутер, i18n, jest, vite и storybook.

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

Полировка, полировка, полировка.

Пока не наработана эта основа и фундамент — движение дальше, это движение вслепую и 100% к неприятностям и техническом долгу.

Работаем. Кажется почти все подготовлено.
👍1
В Стамбуле первый снег. ❄️

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

В Стамбуле снег идет только несколько дней. Обычно в феврале, редко в начале марта. И это прямо событие.
🔥3
AI, AI, AI. Тесты, Тесты, Тесты

Сегодняшний прогресс весь связан с тестами.

Всегда важно ответить на вопрос: Зачем?

Тестирование, и даже 100% покрытие тестами не показывает полезность проекта и то, что он вообще корректно функционирует.

Зачем я уже несколько дней с фанатизмом занимаюсь только тестами. Да еще и на фронтовую часть проекта?

Моя главная цель — наработать инструментарий и набор решений.

Во многом мастера определяет инструмент.

Мои инструменты — это подходы, концепции, способ и формат декомпозиции, мышления, и (в том числе) технические наработки.

Каждый новый тест — это новый кейс и новые ограничения / особенности поведения системы.

Чем больше я сделаю наработок сейчас — тем проще двигаться будет потом.

🎞 https://www.youtube.com/watch?v=JXcND_gOaw8
👍2
AI vs Модальные окна

Только не смейтесь, это не смешно.

Сделать модальное окно на React, да и вообще в целом в web это не тривиальная задача.

Я далеко не все учел и в некоторой точке должен просто остановиться, тк если погружаться в это — то можно зависнуть натурально на месяц.

Обеспечить нормальный Дизайн модального окна и предусмотреть большое количество кейсов и их комбинаций — это вызов.

Я использовал пару GPT/Курсор — базового желаемого результата достиг, но еще много есть над чем работать — пока ставим на паузу — с текущим решением можно работать.

Под моим руководством AI реализовал задачу за пару часов.

Good Enough.
👍2
Mini App

День 14

Каждый день я уделяю мини проекту немного времени. У меня нет возможности сесть и делать pet проект целый день, поэтому единственный вариант — размазывать нагрузку на большой интервал по времени.

В этом есть большой образовательный момент — я фиксирую для себя и показываю вам движение на долгой дистанции.

Весь интернет завален историями 3-х дневного успеха и проектов сделанных AI за 3 запроса.


2 недели, около 190 коммитов, 230+ юнит тестов, мини UI-kit, настройка линтеров и окружений тестирования, кастомный тостер и EventEmitter, роутер, контейнеры, локализация, формы и их валидация. И куча еще всего разного.

И это только начало Frontend части.

Следующий этап — тонкий тюнинг поведения форм. Дебаг, чистка, полировка.

И, возможно, интеграция с библиотекой запросов. Наверное это будет ReactQuery.

Наверное еще 3-4 дня уйдет на это. Надо сразу отладить все — с качественным примером будет легче работать над другими проектами.

И потом уже буду фокусироваться на бэке.
🔥4
Мы с вами в одинаковых позициях

Пока мои молодые коллеги пытаются войти в ИТ, через изучение основ Ruby, JavaScript, TypeScript, Python и прочее, я пытаюсь войти в AI разработку. Я такой же джуниор в этой новой сфере как и те, кто изучает циклы и массивы и типы переменных.

Какие действия я предпринимаю, чтобы вкатиться в ИТ 2.0?

1️⃣ Практика. Я не знаю, правильно ли я решаю задачи с AI — но я их решаю. Каждый день я сталкиваюсь с новыми кейсами и ищу решения. Даже если я делаю неправильно — как только кто-то даст намек на то, как делать "правильно" у меня уже будет достаточно контекста, чтобы мгновенно перенять знания и использовать.

2️⃣ Заточка инструментов. Ведьмак не одолеет Ведьму с Болот, если у него будет тупой меч. Через Практику я формирую свой инструментарий, который мне поможет успешно справляться с будущими задачами.

3️⃣ Насмотренность и отсев шума. В океане хайпа и маркетинговой чуши, я нахожу микро-авторов, которые тоже следят за AI и разработкой. Читаю их посты и соображения. Насматриваюсь.
🔥3
Человеческий язык как ограничение в работе с AI

Есть несколько неочевидных фактов, которыми я хочу поделиться.

1️⃣ Мысли словами формулировать очень тяжело и медленно.

Иногда знаешь как надо сделать и это надо объяснить AI. И понимаешь, что очень не хватает нейроинтерфейса прямо в мозг. Потому что описать все, что хочешь словами, просто сформулировать — это очень сложно и долго.

2️⃣ «Мысль изреченная есть ложь» Попробуй кому-то объяснить что-то, что для тебя кажется простым и очевидным.

Сперва надо подобрать нужные контексту слова, подумать, поймут ли тебя на той стороне. И пока наложишь все этим фильтры и ограничения — окажется, что ты сказал уже совсем не то, что думал.

3️⃣ "Была задача прочитать, а не понять"
Фундаментальная проблема передачи, получения и интерпретации информации никуда не делась.

Даже если ты все правильно сформулировал и написал — совсем не факт, что тебя поймут. В работе с AI это проявляется довольно часто.
👍1