Как сделать так, чтобы люди, не умеющие программировать, могли писать полноценные приложения с помощью Windsurf
Не верьте новостям в Интернете о "человеке, который не умеет программировать и зарабатывает миллион долларов в месяц с помощью Windsurf", возможно, он действительно не умеет программировать, но его отец умеет. Если вы не знаете ни капли программирования или даже английского языка, написать полноценную программу очень сложно. В интернете полно людей, которые умеют программировать и научат вас, как использовать Windsurf в реальной жизни, а людям, которые не умеют программировать, трудно использовать Windsurf в реальной жизни, и многие новости говорят, что даже если вы не умеете программировать, вы можете использовать Windsurf для написания приложений, это просто рашомон... В таком случае, я не знаю программирования, я могу попробовать...
В данной работе за 2 дня и не менее 500 раундов диалога реализован набор приложений для расчета курса валют, включая фронт- и бэк-энд. Вся реализация использует только Виндсерфинг Диалог. Эта статья посвящена тому, как люди, не умеющие программировать, могут писать полноценные приложения.то, чему учатся на своих ошибкахНе является полной процедурой эксплуатации.
Основные реализованные функции следующие:
- Полная фронтальная страница (адаптация для разных устройств)
- ГлавнаяМножество стратегий получения значений курсов валют (получение из базы данных, альтернативное получение через API, получение последнего обновления курса в базе данных)
- Чтение и запись баз данных (запросы к конкатенированным таблицам)
- Несколько скриптов задач с таймером для сбора данных о курсах валют и новостей для записи в базу данных (и реализации логики блокировки файлов)
- Инкапсулируйте API запроса обменного курса, инкапсулируйте методы вызова общих функций
- Механизм кэширования документов
- Поиск локальных текстовых файлов
- Подробная регистрация ошибок в файлах
- Псевдостатическая страница

Адрес для демонстрации: https://huilv.aisharenet.com/
Научно-популярный компонент
Кто должен использовать Windsurf?
- Непрограммистам, если программистам рекомендуется использовать Курсор .
- Знайте основные технические термины, например, база данных, таблица, поле, API, кэш, класс, фронт-энд, доменное имя и т.д..
- Участвовал в полном процессе создания веб-сайта: не ограничиваясь техническим обслуживанием передней и задней части, операциями, продуктом, маркетингом, тестированием и т.д..
- Имеют базовое понятие "область" и могут хорошо обобщить знания в области своей специализации и описать их в письменном виде.
Для чего еще можно использовать Windsurf, кроме написания приложений?
- Благодаря автоматическому чтению локальных файлов и возможностям агента, Windsurf можно использовать в качестве отличного инструмента для обобщения локальных текстов и пакетной обработки.
- Напишите автоматические сценарии, необходимые для выполнения различных локальных задач, например, напишите bat-скрипт и выполните его автоматически.
- Лучший наставник для изучения программирования, представляющий требования к программированию, а затем информирующий вас о задачах на каждом этапе и о том, как их решить.
- Нестандартные автоматизированные тесты для технических специалистов или тестировщиков могут импортировать код, а затем позволить Windsurf отследить функцию или прочитать весь код, чтобы написать план тестирования и выполнить тестовые случаи полуавтоматически.
Как научиться основным операциям в виндсерфинге?
Китайский учебник по Windsurf, установка и использование Windsurf
Поищите туториалы, связанные с "vscode", поскольку Windsurf - это модифицированная версия vscode, основная логика работы похожа.
В чем самая большая разница между виндсерфингом и копилотом?
В режиме записи по умолчанию Windsurf выполняет задачи проактивно и дискретно, скорее как сотрудник, который активно ищет решения для завершения работы после того, как начальник поднимает основную проблему. Конечно, Windsurf в Каскаде подходит и для друзей, которые могут читать и понимать код, мы здесь не обсуждаем.
Копилот - это скорее молчаливый и непрошеный помощник, он будет молчать, пока вы не дадите четкое задание, но при наличии четкой необходимости он отлично справится с работой.
Нужно ли мне покупать платную версию Windsurf, чтобы использовать ее?
Чтобы приобрести платную версию, недавно обновленная бесплатная версия плана позволяет использовать только базовую модель, которая менее эффективна. Даже покупка платной версии в настоящее время ограничивает использование.
Бесплатная версия не подходит для тех, кто не знаком с программой, из-за ограниченных возможностей базовой модели.
Два режима виндсерфинга?
Write отвечает за написание/исполнение кода; Chat отвечает за диалог и не пишет никакого кода, что очень важно.

Среда программирования для начинающих виндсерферов-компаньонов
При использовании Windsurf для написания кода необходимо иметь поддерживающую среду программирования, чтобы Windsurf мог выполнять различные типы операций, а также позволял просматривать реализацию кода в режиме реального времени.
Так как вы новичок, вы наверняка не знаете, как построить среду программирования, или следуете учебнику, который очень сложно построить. Самая неприятная проблема при создании среды заключается в том, что большинство людей, использующих систему windows для создания среды программирования локально, столкнутся с большим количеством исключений, а также с бесконечной отладкой всех видов зависимых ресурсов.
Еще страшнее то, что вы не можете доверить Windsurf управление своим компьютером - выполнение локальных команд. Это может подвергнуть ваш личный компьютер непредвиденным проблемам.
Решение, которое я предложил, следующее:
Купите сервер, автоматизируйте развертывание панели Pagoda и запомните учетную запись root и пароль для подключения по SSH. Если вы явно используете комбинацию PHP+MYSQL, то создайте ее заранее в панели Pagoda (не позволяйте Windsurf создавать базовое окружение).
Здесь, если вы не можете самостоятельно развернуть вышеуказанную базовую среду, рекомендуется использовать собственную среду Baidu.
Запустите Windsurf, чтобы создать свой первый проект
1. Если вы успешно установили Windsurf, вы можете загрузить китайский плагин:Codeium Windsurf устанавливает китайский интерфейс с помощью одного плагина расширения для китайского языка.
2. в панели pagoda создайте веб-каталог, здесь я выбираю комбинацию PHP + MYSQL

3. Используйте SSH для подключения к соответствующему веб-каталогу удаленного сервера.
Чтобы подключиться к удаленному серверу: Запустите программу, выберите Connetc, а затем SHH Host...

4. Введите учетную запись SSH (обычно root) и адрес сервера.

5. введите пароль, соответствующий учетной записи root, и нажмите Enter для подтверждения.

6. Неудивительно, что "каталог", на который вы ссылаетесь по умолчанию, не тот, и вы не можете увидеть здесь ранее созданную папку.

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

7. Выберите: Файл - Использовать профиль Новое окно - Новый профиль
Нажмите на кнопку Создать (также возможно добавление каталога по умолчанию).

8. нажмите Добавить папку и введите адрес каталога: www/wwwroot/huilv.haoai.us.kg, наведите курсор для подтверждения.

9. Выберите Открыть в новом окне (вам будет предложено ввести пароль еще раз)

10. в нужную директорию, после чего мы можем официально написать код проекта!
(Это каталог, в котором написан код, по умолчанию каталог должен быть пустым или просто показывать бесполезный файл конфигурации, который не нужно удалять)

Подготовка к официальному оформлению заявки
задавать вопросы
Вполне можно использовать другие инструменты диалога с большими моделями для процесса опроса, что избавит Windsurf от необходимости генерировать код, но использование Windsurf для нескольких раундов диалога позволяет обобщить более полезную историю.
1. Как получить информацию о курсах валют в режиме реального времени
2. Помогите мне придумать, как создать веб-сайт с запросом обменного курса.
3. Разработка архитектуры сайта в соответствии с PHP+MYSQL
...
Организуйте документы
1. Пароль учетной записи базы данных, организованный в виде .md-файла
2.вопрос в доступном API запроса обменного курса и KEY и документ описания интерфейса, собранный в виде документа .md
3. фронтенд-архитектура сайта, полученная в вопросе, организована в виде документа .md (бекенд-архитектуру я вообще не умею проектировать, не могу ясно мыслить, поэтому не создавал документ)
Эти документы можно использовать для написания контекста Windsurf или для указания документа в качестве контекста Windsurf, чтобы помочь в написании кода.

Проверка минимальной функциональной логики реализации
Тест 1: Используйте доступ к API для получения полного названия валюты интерфейса обменного курса, занесенного в базу данных.
Тест 2: Используйте доступ к API, чтобы получить название валюты из базы данных, запросить обменный курс для этой валюты и сохранить его в базе данных.
Тест 3: ...
В подсказке говорится, что это простой тест, который создает минимальные функциональные тестовые случаи и выполняет их один раз, а финальным критерием успешности проверки является запрос к базе данных с проверенными данными.
Требование обобщить основную функциональность после тестирования: обобщите основной код выполнения, который вы получите в результате успешного тестирования каждой минимальной функциональности (я не очень понимаю смысл каждого куска кода)
После успешного тестирования необходимо очистить весь сгенерированный код и базу данных. Это можно сделать с помощью диалога.Способность Windsurf выполнять любые команды удаленной работы сервера - важная особенность для новичков.
Описание:
На самом деле я провел много тестирования, чтобы получить минимальный функционал, работающий соответственно, так как я не знаю кода, все интерфейсы, разработанный функционал были неправдоподобны для меня, до такой степени, что я не хотел писать полный набор фронт- и бэк-энд кода для визуальной проверки, так как генерация слишком большого количества кода мешала проекту правильно двигаться вперед.
В то же время я документировал логику выполнения (методы, запрашиваемые API) в минимальной функциональности, а также таблицы базы данных, которые были построены, дополнены и организованы в моей документации.
Официальная подготовка заявок
Я не просил Виндсерфа создавать весь фронт-энд или даже главную страницу фронт-энда, хотя заранее подготовил четкие инструкции, которые я мог бы предоставить Виндсерфу, чтобы он смог точно их реализовать.
Вывод 1: Важно, с какой функциональной точки вы начинаете строить код.
Написать визуальный внешний интерфейс для основной функциональности (API запроса курса валют), поля этого интерфейса должны соответствовать базе данных, поля должны быть максимально детализированы, даже если визуальная внешняя страницаОна не предназначена для посетителейСделайте его первым.
Если страница доступна нормально, это означает, что метод, использованный в коде, корректен, и данные в базе данных также корректны, что может быть использовано в качестве ссылки для последующих реальных ссылок на страницу. После завершения создания этой страницы все приложение может быть удалено.
Таким образом, я получаю следующие две страницы:

Пример адреса: https://huilv.aisharenet.com/currencies/

Пример адреса: https://huilv.aisharenet.com/AED/
Совет 2: Используйте способ "цитирования" документов, чтобы задавать вопросы
Исходя из понимания 1, не стоит строить полный проект в самом начале, а инициатива Windsurf слишком сильна, поэтому в вопрос предлагается добавить подсказку "отображение списка страниц, только отображение полей: XX\XX\XX".

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

Вывод 3: задавайте хорошие вопросы
Это страница, созданная в предыдущем шаге, и у меня есть несколько вопросов

Вопрос 1: Скажите, могу ли я добавить больше контента
Вопрос 2: Расскажите мне о проблемах эффективности кода
Вопрос 3: Расскажите о методе реализации
Вопрос 4: Скажите, есть ли какие-либо предложения по оптимизации на основе моего требования "This is a list of captured currency exchange rates"?
Вынос 4: Отличные способы эффективного управления кодом и уменьшения количества спама
Ссылаясь на инструкции в совете 2, добавьте предложение: Помогите мне создать отдельный подкаталог, чтобы хранить код для этой страницы отдельно.
Протестируйте и внедрите функциональность по отдельности во вновь созданной поддиректории и, наконец, при необходимости сделайте ссылки на этот код в других файлах.

Вывод 5: Абстрагируйте возможности многократного использования при проектировании меньшего количества функций: стили, методы, классы, интерфейсы и т. д.
Будьте осторожны, чтобы не извлечь слишком много кода многоразовых файлов; слишком раздутый, чрезмерный объем кода многоразовых файлов, скорее всего, запутает память Windsurf при последующей разработке проекта. Если вы не помните явную функцию каждого многоразового файла и не просите Windsurf ссылаться на нее, то на практике это нецелесообразно.
Код, повторно используемый в этом проекте: API для запроса курсов валют, файл подключения к данным, правила кэширования и заголовочный навигационный файл. Помните, что все это было абстрагировано при создании второй страницы; при создании первой страницы я не слишком задумывался о том, какую функциональность должен выполнять этот проект.

Вывод 6: Вспомните соответствующие воспоминания, а затем выполните задание (и попросите Windsurf выполнить серверную операцию).
Ссылаясь на понимание 2, можно отметить общность методов. Это основной способ реализации сложной функциональности и повторного использования существующего кода.
Помните повторяющуюся тему "минимальной функциональности"? При создании сложной функциональной страницы я часто вспоминаю код из уже работающей минимальной функциональности и использую его для реализации сложной функциональной страницы.
Такую сложную страницу я обычно реализую частями, сначала ввожу минимальную функцию A, отлаживаю один раз, затем ввожу минимальную функцию B, отлаживаю один раз, и так далее... В итоге вы можете сделать очень сложную страницу, как будто складывая блоки.

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

Я собираюсь модифицировать скрипт обновления таймера обменного курса, который я уже создал: ExchangeRateService.php. На этом этапе мне нужно заранее вспомнить соответствующие воспоминания:
Читая код, выясняется, что ExchangeRateService.php не отвечает за регулярное обновление курса, я ошибся...
Перед тем как вносить изменения в код, стоит прочитать его, чтобы знать, что этот файл не отвечает за регулярное обновление курса обмена, настоящий файл скрипта обновления: update_exchange_rates.php

В итоге я задал новый вопрос, чтобы сделать контекстную память более точной: "Поскольку update_exchange_rates.php - это скрипт, который получает курсы валют через регулярные промежутки времени, файл ExchangeRateService.php по-прежнему полезен?"
Более точным "воспоминанием" является то, что недавно было повторено в диалоге.
Вывод 7: документируйте наименьшую особенность ветвления в каждой реализации в ранее созданном документе
Когда функция полностью реализована, она должна быть отражена в документации. Заставьте Windsurf обновить данные в документе описания через диалог.

Неплохо бы составить контрольный список разработки функций, чтобы точно фиксировать ход выполнения задач:

Так много информации, которую необходимо записать, смешивать в описании документа явно нецелесообразно, в этот момент вы можете записать важное описание документа отдельно, сосредоточившись на ссылке до тех пор, пока не появится диалоговое окно для ввода@
Просто напомните о документе.
Вывод 8: Создайте "тестовый" режим для каждой основной функции
Некоторые функции могут разрушить код после выполнения, уничтожить официальные данные базы данных, не могут проверить сообщение об ошибке или одно время выполнения слишком долго, код требует введения "тестового" режима, легко отладить различные проблемы. Например, мой скрипт обновления с таймером занимает много времени на выполнение, поэтому я добавил тестовый режим.
Вы верите, что код работает правильно, пока вы можете видеть его визуально, но есть некоторые функции, которые вы не можете видеть непосредственно визуально, что требует от Windsurf активного заявления "результатов фактической реализации", что требует "тестового образца".

Вывод 9: Используйте больше запасных вариантов
Если сохраненный код вас не устраивает, нажмите Ctrl+Z, чтобы вернуться назад и сгенерировать диалог заново. Это не просто "перерисовка", так как память о предыдущем раунде диалога сохраняется, и повторная генерация будет более точной.
Вывод 10: сдавайтесь, если не можете получить функцию, соответствующую вашим ожиданиям, в ходе нескольких раундов диалога.
Здесь функция означает "минимальная функция", удалите директорию минимальной функции и файлы в ней, попробуйте открыть новое диалоговое окно, удалите сохраненные воспоминания, а затем начните переписывать функцию XXX с командой: Forget the previous code.
Вынос 11: Часто используемые слова в диалоге
добавлять, удалять, изменять, предлагать, оптимизировать, объяснять, ссылаться, игнорировать, зависеть, ссылаться, завершать логику выполнения, тестировать, объединять (если вы не можете понять смысл этих слов, спросите у ChatGPT, что означает каждое из слов XXX в контексте программирования)
Вывод 12: старайтесь использовать зрелые языки программирования с простыми зависимостями от окружения
Поэтому я выбрал панель pagoda на PHP+MYSQL. Я бы не стал выбирать более современный front-end фреймворк и базу данных, опасаясь, что в больших моделях меньше знаний и понимания типа бизнеса.
Будучи "старым" языком программирования, PHP должен иметь множество зрелых решений для всех видов бизнеса и стать учебным знанием для крупных моделей.
На самом деле Pythonye хорош, но его недостаток в том, что он опирается на слишком большое количество "библиотек", так что окружение зависит от итерации проекта, постепенно становится неконтролируемым, и не подходит для совершенно не знающих процедуры бекапов.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...