Чуть ближе к Джарвис

Всем привет!

Сегодня хочу поделиться своим опытом использования IDE Cursor и мыслями о том, куда всё это движется.

Во-первых — вот сам сайт

https://fomichevms.ru — полноценный, многостраничный, SEO-оптимизированный сайт, сделанный на HTML, CSS, JavaScript, PHP с интеграцией Telegram-бота для приёма сообщений.

Он на 100% создан через промпты в Cursor. Я немного корректировал код вручную, но скорее профилактически — чуть поправить стили или текст.

Что значит «сделал через промпты»?

  • Ставлю общую задачу словами, задавая контекст для проекта.
  • Выбираю стек технологий — тоже словами.
  • Определяю структуру сайта.
  • Дожидаюсь генерации всех страниц.
  • Начинаю точечные корректировки — либо по каждой странице, либо массово.
  • Определяю тексты — если что-то не нравится, меняю прямо в коде.
  • Описываю, какие действия происходят и через какие технологии (например, как работает отправка формы).

Первые 50 бесплатных запросов ушли у меня за полтора часа — и уже тогда результат был неплохой. Чтобы завершить проект, я оформил подписку и спокойно довёл дело до конца.

Ощущения от процесса

Честно говоря, я немного заскучал. Это удивительно — ты просто говоришь, а машина делает. Но в какой-то момент захотелось всё же «похрустеть пальчиками по клавиатуре». 😄

Конечно, можно в любой момент перехватить управление и писать руками. Но возникает вопрос: зачем?

Плюсы Cursor:

  • Интересный и необычный опыт
  • Супер-замена джуну на ранних этапах
  • Отличный IDE для тестов и создания MVP
  • Прекрасный инструмент для изучения технологий

Минусы Cursor:

  • Это урезанный VS Code — насколько его удобно использовать в долгую, неясно
  • Иногда затираются участки кода, если не следить — можно потерять важные данные
  • Микроменеджмент бывает утомительным
  • Сложно работает с большими проектами: медленно индексирует, путается, делает лишние правки

Вывод

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

Что касается страхов насчёт того, что AI отнимут работу — пока этого не видно. Скорее наоборот: AI помогает, ускоряет, дополняет. Меняется не профессия, а её формат.

И это не страшно. Этому нужно учиться и пользоваться по максимуму.

Спасибо за внимание! До новых встреч!

Под другим углом

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

Все достаточно просто. Допустим, стоит перед вами не простая задача: «Написать новый сложный модуль», «Привести 100 клиентов за неделю», «Повысить конверсию на 200%» и много еще каких вариантов проблем и задач подобного рода. Как мы привыкли их решать? Берем и делаем сразу же самым понятным и простым способом, не смотря на то что вопрос не простой, просто потому что горит! Потратив силы на простой способ (точнее сказать, очевидный способ) нам начинает казаться, что задача не решаема, особенно, в озвученные сроки. Поверьте, такого не бывает. Любую, абсолютно любую задачу можно решить в адекватный срок, предварительно проработав ее со всех сторон и выбрав максимально правильный вариант решения. Как же это сделать правильно, давайте рассмотрим.

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

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

Второе — составить список предполагаемых решений.

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

Третье — пообщайтесь с профессионалами в этой области.

Профессионалы помогут накинуть в ваш заготовленный список решений еще больше вариантов реализации. В процессе, вы обсудите доступные способы, и решение станет более прозрачным.

Четвертое — пообщайтесь с НЕ профессионалами в этой области.

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


Два последних варианта изменить угол взгляда на решение задачи я называю «слепой ментор». Возможно, этому есть официальное название, но слепой ментор может даже ничего не отвечать и никак не помогать, но задавая вопрос ему вы сами находите новое решение, новый подход.

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

А какие способы используете вы?

Лень в программировании

Вообще, я не ленивый человек, но с опытом разработки в 15 с лишним лет, я пришёл к выводу, что на простые операции требующие проверки, мозг просто не желает тратить время. В итоге, страдает часть процессов.

Ну, например. Делал я тут недавно автоматический deployer сайтов на WordPress. Задача не сложная, но интересная:

  1. Сервер — родитель имеет свой репозиторий с архивом WordPress и дампом базы данных. Мы даём ему сигнал скопировать все это дело на удаленный сервер.
  2. Файлы копируются в определенную папку на удаленный сервак.
  3. Архив разархивируется по ssh.
  4. По ssh идёт замена строк с названием сайта в дампе, а также в файлах-конфигах и в robots.txt.
  5. По ssh разворачивается дамп базы.
  6. Все установщики удаляются.

Все это в автомате! Круто? Здорово!

Потом я лезу руками в админку и делаю замены названия сайта, имени пользователя, надписи в футере и так далее! Меня это бесит! Я хочу автоматизировать, но мне лень. Это же слишком просто! Найти параметр — unserialize, потом изменение, serialize и запись в базу данных. Мозгу лень заниматься этой простотой, потому что он знает, что при создании удаленного инструмента по смене этих элементов, придётся сделать много рутинных тестов. Но, чтобы сохранить нервную систему, я должен это сделать. Обещаю!

А у вас как с ленью?