Comment faire en sorte que les personnes qui ne savent pas programmer puissent écrire des applications complètes à l'aide de Windsurf ?
Ne croyez pas les nouvelles sur Internet concernant "un homme qui ne sait pas programmer et qui gagne un million de dollars par mois avec Windsurf", il ne sait peut-être pas vraiment programmer, mais son père le savait. Si vous ne connaissez pas un peu la programmation ou même l'anglais, il est vraiment difficile d'écrire un programme complet. L'internet est plein de gens qui savent programmer et qui vous apprennent à utiliser Windsurf dans la vie réelle, et il est difficile pour les gens qui ne savent pas programmer d'utiliser Windsurf dans la vie réelle, et beaucoup de nouvelles disent que même si vous ne savez pas programmer, vous pouvez utiliser Windsurf pour écrire des applications, donc c'est juste comme la porte de Rashomon... Dans ce cas, je ne sais pas programmer, je peux essayer...
Ce document prend 2 jours et pas moins de 500 tours de dialogue pour mettre en œuvre un ensemble d'applications de calcul de taux de change, y compris l'avant et l'arrière-plan. L'ensemble de la mise en œuvre n'utilise que Planche à voile Dialogue. Cet article explique comment les personnes qui ne savent pas programmer peuvent écrire des applications complètes.ce que l'on apprend de ses erreursne constitue pas un mode opératoire complet.
Les principales fonctions réalisées sont les suivantes :
- Page frontale complète (adaptation multi-appareils)
- HomeMulti-stratégie pour obtenir les valeurs des taux de change (obtention de la base de données, obtention d'une API alternative, obtention de la dernière mise à jour des taux de change dans la base de données)
- Lecture et écriture de bases de données (requêtes de tables concaténées)
- Plusieurs scripts de tâches temporisées pour collecter les taux de change et les données d'actualité à écrire dans la base de données (et mettre en œuvre la logique de verrouillage des fichiers).
- Encapsuler l'API d'interrogation sur les taux de change, encapsuler les méthodes d'appel de fonctions communes
- Mécanisme de mise en cache des documents
- Recherche de fichiers texte locaux
- Enregistrement détaillé des erreurs de fichiers
- Page pseudo-statique

Adresse de démonstration : https://huilv.aisharenet.com/
Composante de vulgarisation scientifique
A qui s'adresse le Windsurf ?
- Les non-programmeurs, s'il est recommandé aux programmeurs d'utiliser l'option Curseur .
- Connaître les termes techniques de base, par exemple base de données, table, champ, API, cache, classe, front-end, nom de domaine, etc...
- Participation à l'ensemble du processus de création du site web : techniciens frontaux et dorsaux, opérations, produits, marketing, tests, etc...
- Avoir une notion de base du "domaine" et pouvoir résumer les connaissances de leur domaine de spécialisation et les décrire par écrit.
À quoi peut servir Windsurf en dehors de la rédaction d'applications ?
- Basé sur la lecture automatique de fichiers multiples locaux et sur les capacités de l'agent, Windsurf peut être utilisé comme un excellent outil de résumé de texte local et de traitement par lots.
- Écrire des scripts d'exécution automatisés nécessaires à la réalisation de diverses tâches locales, telles que l'écriture d'un script bat et son exécution automatique.
- Le meilleur mentor pour l'apprentissage de la programmation, qui présente les exigences de la programmation et vous informe ensuite des tâches à accomplir à chaque étape et de la manière de les réaliser.
- Les tests automatisés non standard, qu'ils soient destinés aux techniciens ou aux testeurs, peuvent être importés dans le code et permettre à Windsurf de tracer une fonctionnalité ou de lire le code complet afin d'écrire un plan de test et d'exécuter semi-automatiquement les cas de test.
Comment apprendre les opérations de base du Windsurf ?
Windsurf tutoriel chinois, Windsurf méthode d'installation et d'utilisation
Recherchez des tutoriels liés à "vscode", car Windsurf est une version modifiée de vscode, la logique de fonctionnement de base est similaire.
Quelle est la plus grande différence entre la planche à voile et le copilote ?
Le mode d'écriture par défaut de Windsurf exécute les tâches de manière proactive et discrète, plus comme un employé qui est proactif dans la recherche de solutions pour terminer le travail après que le patron ait soulevé un problème de base. Bien entendu, Windsurf in the Cascade convient également aux amis qui savent lire le code, nous n'en parlerons pas ici.
Le copilote est plutôt un assistant silencieux et non sollicité, il restera silencieux jusqu'à ce que vous lui donniez une tâche claire, mais s'il a un besoin clair, il fera du bon travail.
Dois-je acheter une version payante de Windsurf pour l'utiliser ?
Pour acheter la version payante, la version gratuite du plan, récemment mise à jour, ne permet d'utiliser que le modèle de base, qui est moins efficace. Même l'achat de la version payante limite actuellement l'utilisation.
La version gratuite ne convient pas à ceux qui ne connaissent pas le programme en raison des capacités limitées du modèle de base.
Deux modes de planche à voile ?
Write est responsable de l'écriture/exécution du code ; Chat est responsable du dialogue et n'écrit pas de code, ce qui est important.

Environnement de programmation pour les novices de la planche à voile
Lorsque vous utilisez Windsurf pour écrire du code, il est nécessaire de disposer d'un environnement de programmation qui permette à Windsurf d'effectuer différents types d'opérations et de visualiser la mise en œuvre du code en temps réel.
Comme vous êtes un novice, vous ne saurez certainement pas comment construire un environnement de programmation, ou vous ne saurez pas suivre un tutoriel très difficile pour le construire. Le problème le plus gênant lors de la construction de l'environnement est que la plupart des personnes qui utilisent le système Windows pour construire l'environnement de programmation localement rencontreront plus d'exceptions, ainsi qu'un débogage sans fin de toutes sortes de ressources dépendantes.
Ce qui est encore plus effrayant, c'est qu'on ne peut pas vous faire confiance pour laisser Windsurf utiliser votre ordinateur - exécuter des commandes locales. Cela peut exposer votre ordinateur privé à des problèmes imprévus.
La solution que j'ai donnée est la suivante :
Achetez un serveur, automatisez le déploiement du panneau Pagoda, et souvenez-vous du compte root et du mot de passe pour vous connecter à SSH. Si vous utilisez explicitement un combo PHP+MYSQL, créez-le à l'avance dans le panneau Pagoda (ne laissez pas Windsurf créer l'environnement de base).
Si vous ne pouvez pas déployer l'environnement de base ci-dessus par vous-même, il est recommandé d'utiliser votre propre Baidu.
Démarrez Windsurf pour créer votre premier projet
1) Si vous avez installé Windsurf avec succès, vous pouvez télécharger le plug-in chinois :Codeium Windsurf met en place une interface chinoise avec un seul plugin d'extension chinois.
2. dans le panneau pagoda pour créer un répertoire web, je choisis ici la combinaison PHP + MYSQL

3) Utiliser SSH pour se connecter au répertoire web correspondant du serveur distant.
Pour se connecter à un serveur distant : Démarrer le logiciel, sélectionner Connetc puis SHH Host...

4) Saisir le compte SSH (généralement root) et l'adresse du serveur

5) Entrez le mot de passe correspondant au compte root et appuyez sur Enter pour confirmer.

6) Sans surprise, le "répertoire" auquel vous êtes lié par défaut n'est pas le bon, et vous ne pouvez pas voir le dossier précédemment créé ici.

7. localisez l'emplacement du dossier
Ici, le modèle gratuit de petite taille est choisi pour poser des questions afin d'éviter de consommer des crédits et d'obtenir la position absolue du catalogue.

7. choisissez : Fichier - Utiliser le profil Nouvelle fenêtre - Nouveau profil
Cliquez sur Créer (il est également possible d'ajouter un répertoire à Défaut).

8) Cliquez sur Ajouter un dossier et entrez l'adresse du répertoire : www/wwwroot/huilv.haoai.us.kg, pointez pour confirmer.

9. sélectionnez Ouvrir dans une nouvelle fenêtre (il vous sera demandé de saisir à nouveau votre mot de passe)

10. dans le bon répertoire, nous pouvons alors formellement écrire le code du projet !
(C'est le répertoire où le code a été écrit, par défaut votre répertoire devrait être vide ou montrer un fichier de configuration inutile qui n'a pas besoin d'être supprimé).

Préparation de la préparation formelle de la demande
poser des questions
Il est possible d'utiliser d'autres outils de dialogue à grand modèle pour le processus de questionnement, ce qui évite à Windsurf de générer du code, mais l'utilisation de Windsurf pour plusieurs cycles de dialogue permet de résumer un historique plus utile.
1. comment obtenir des informations sur les taux de change en temps réel
2. m'aider à réfléchir à la manière de concevoir un site web de demande de renseignements sur les taux de change
3. concevoir l'architecture du site web selon PHP+MYSQL
...
Organiser les documents
1. mot de passe du compte de base de données organisé sous forme de fichier .md
2.question dans l'API de recherche de taux de change disponible et dans le document de description de la clé et de l'interface, rassemblés sous forme de document .md
3. l'architecture frontale du site obtenu dans la question est organisée sous la forme d'un document .md (l'architecture dorsale, je ne peux pas la concevoir du tout, je ne peux pas penser clairement, donc je n'ai pas créé de document)
Ces documents peuvent être utilisés pour écrire le contexte de Windsurf ou pour spécifier un document comme contexte de Windsurf afin de faciliter l'écriture du code.

Vérifier la logique de mise en œuvre fonctionnelle minimale
Test 1 : utiliser l'accès API pour obtenir le nom complet de la devise de l'interface de taux de change, déposé dans la base de données.
Test 2 : utiliser l'accès API pour obtenir un nom de devise dans la base de données, demander le taux de change de cette devise et le stocker dans la base de données.
Test 3 : ...
Le mot-clé indique qu'il s'agit d'un test simple qui crée des cas de test fonctionnels minimaux et les exécute une fois, le critère de réussite de la validation finale étant une requête à la base de données avec des données validées.
Nécessité de résumer la fonctionnalité de base après les tests : résumer le code d'exécution de base que vous obtenez après avoir testé avec succès chaque fonctionnalité minimale (je ne comprends pas vraiment la signification de chaque morceau de code).
Après un test réussi, il est demandé d'effacer tout le code généré et la base de données. La capacité de Windsurf à exécuter n'importe quelle commande d'opération de serveur à distance est une caractéristique importante pour les novices.
Description :
En fait, j'ai fait beaucoup de tests pour que la fonctionnalité minimale fonctionne respectivement, parce que je ne connais pas le code, toutes les interfaces, les fonctionnalités conçues ne sont pas crédibles pour moi, au point que je ne voulais pas écrire un ensemble complet de code front et back end pour le valider visuellement, parce que générer trop de code empêche le projet d'avancer correctement.
Parallèlement, j'ai documenté la logique d'exécution (méthodes demandées par l'API) dans la fonctionnalité minimale, ainsi que les tables de la base de données qui ont été construites, complétées et organisées dans ma documentation.
Préparation formelle des demandes
Je n'ai pas demandé à Windsurf de créer l'ensemble du front-end, ni même la page d'accueil du front-end, même si j'avais préparé à l'avance des instructions claires que je pouvais fournir à Windsurf pour qu'il puisse les mettre en œuvre avec précision.
Enseignement 1 : la fonction à partir de laquelle vous commencez à construire votre code a de l'importance
Rédiger une interface visuelle frontale pour la fonctionnalité de base (API d'interrogation sur les taux de change), les champs de cette interface doivent être cohérents avec la base de données, champs aussi détaillés que possible, même si la page visuelle frontaleIl n'est pas destiné à être mis à la disposition des visiteursFaites-le aussi en premier.
Si la page est accessible normalement, cela signifie que la méthode utilisée dans le code est correcte et que les données de la base de données sont également correctes, ce qui peut servir de référence pour les références de pages réelles ultérieures. L'ensemble de l'application peut être supprimé une fois la construction de cette page terminée.
J'obtiens donc les deux pages suivantes :

Exemple d'adresse : https://huilv.aisharenet.com/currencies/

Exemple d'adresse : https://huilv.aisharenet.com/AED/
Conseil n° 2 : utiliser à bon escient le document "citation" pour poser des questions
Sur la base de l'intuition 1, il ne faut pas construire un projet complet au début, et l'initiative de Windsurf est trop forte, c'est pourquoi la question suggère d'ajouter l'invite "page list display, only display display fields : XX\XX\XX".

proposé@
Les fonctions sont très utiles, vous pouvez rapidement faire référence à des dossiers, des fichiers, des classes

Enseignement 3 : Poser de bonnes questions
Voici la page générée à l'étape précédente, et j'ai quelques questions à poser

Question 1 : Dites-moi si je peux ajouter du contenu
Question 2 : Parlez-moi des questions relatives à l'efficacité des codes
Question 3 : Parlez-moi de la méthode de réalisation
Question 4 : Pouvez-vous m'indiquer s'il existe des suggestions d'optimisation basées sur mon exigence "Il s'agit d'une liste de taux de change saisis" ?
À emporter 4 : De bonnes façons de gérer efficacement le code et de réduire la génération de code indésirable
En vous référant aux instructions de l'astuce 2, ajoutez la phrase : Aidez-moi à créer un sous-répertoire distinct pour stocker séparément le code de cette page.
Testez et mettez en œuvre la fonctionnalité individuellement dans un sous-répertoire nouvellement créé, et envisagez enfin de référencer ce code dans d'autres fichiers si nécessaire.

Enseignement 5 : abstraire les capacités hautement réutilisables lors de la conception de fonctionnalités moins nombreuses : styles, méthodes, classes, interfaces, etc.
Veillez à ne pas extraire trop de code de fichier réutilisable ; des quantités excessives de code de fichier réutilisable sont plus susceptibles d'embrouiller la mémoire de Windsurf lors du développement ultérieur du projet. À moins de se souvenir de la fonction explicite de chaque fichier réutilisable et de demander à Windsurf de s'y référer, cette méthode n'est pas pratique.
Code réutilisé dans ce projet : l'API pour l'interrogation des taux de change, le fichier de connexion des données, les règles de mise en cache et le fichier de navigation de l'en-tête. N'oubliez pas que tout cela a été abstrait lors de la construction de la deuxième page ; je n'ai pas trop réfléchi à la fonctionnalité de ce projet lors de la construction de la première page.

Enseignement 6 : se remémorer les souvenirs pertinents, puis exécuter la tâche (et demander à Windsurf d'exécuter l'opération du serveur).
Si l'on se réfère à l'idée 2, il existe une communauté de méthodes. C'est le principal moyen de mettre en œuvre des fonctionnalités complexes et de réutiliser le code existant.
Vous vous souvenez du thème récurrent de la "fonctionnalité minimale" ? Lorsque je construis une page fonctionnelle complexe, je rappelle souvent le code de la fonctionnalité minimale qui fonctionne déjà et je l'utilise pour mettre en œuvre une page fonctionnelle complexe.
Cette page complexe, j'ai tendance à l'implémenter par morceaux, en introduisant d'abord une fonction minimale A, en la déboguant une fois, puis en introduisant une fonction minimale B, en la déboguant une fois, et ainsi de suite... En fin de compte, vous pouvez faire une page très complexe comme si vous empiliez des blocs.

Cette fois, j'ai eu de la chance en devinant les noms de table et de champ corrects et en construisant la page sans manipulation directe de la base de données. Cela peut s'expliquer par le fait que l'historique du contexte généré précédemment conserve les informations sur les champs de la base de données.
Forçons l'interrogation d'une base de données à n'être effectuée qu'une seule fois, afin qu'elle soit conservée en tant que mémoire récente, ce qui permet d'effectuer des tâches de suivi plus précises :

Je vais modifier le script de mise à jour de la minuterie du taux de change que j'ai déjà créé : ExchangeRateService.php. À ce stade, je dois me remémorer les souvenirs pertinents à l'avance :
En lisant le code, il s'avère que ExchangeRateService.php n'est pas responsable de la mise à jour régulière du taux de change, je me suis trompé...
Il est bon d'essayer de lire le code avant de le modifier pour savoir que ce fichier n'est pas responsable de la mise à jour du taux de change sur une base régulière, le vrai fichier de script de mise à jour est : update_exchange_rates.php

J'ai fini par poser une nouvelle question pour rendre la mémoire contextuelle plus précise : "Puisque update_exchange_rates.php est le script qui obtient les taux de change à intervalles réguliers, le fichier ExchangeRateService.php est-il encore utile ?"
Un "souvenir" plus précis est celui qui a été répété récemment dans un dialogue.
7ème leçon à retenir : documenter la plus petite caractéristique de ramification de chaque mise en œuvre dans un document créé au préalable.
Lorsqu'une fonctionnalité est entièrement mise en œuvre, elle doit être décrite dans la documentation. Obtenez de Windsurf qu'il mette à jour les éléments du document de description par le biais d'un dialogue.

Il est conseillé d'établir une liste de contrôle pour le développement des fonctionnalités afin d'enregistrer avec précision l'état d'avancement des tâches :

À ce stade, vous pouvez enregistrer séparément la description importante du document, en vous concentrant sur la référence tant que la boîte de dialogue permettant d'entrer dans le document s'affiche.@
Il suffit de rappeler le document.
Enseignement 8 : créer un mode "test" pour chaque fonctionnalité de base
Certaines fonctions peuvent détruire le code après exécution, détruire les données de la base de données officielle, ne pas vérifier le message d'erreur ou un temps d'exécution unique trop long, le code nécessite l'introduction d'un mode "test", facile à déboguer une variété de problèmes. Par exemple, mon script de mise à jour temporisée prend beaucoup de temps à s'exécuter, j'ai donc ajouté un mode test.
Vous pensez que le code est conçu pour fonctionner correctement tant que vous pouvez le voir visuellement, et il y a certaines caractéristiques que vous ne pouvez pas voir directement visuellement et qui exigent que Windsurf énonce activement les "résultats de la mise en œuvre réelle", ce qui nécessite un "modèle de test".

Neuvième enseignement : utiliser davantage de solutions de repli
Si vous n'êtes pas satisfait du code sauvegardé, appuyez sur Ctrl+Z pour revenir en arrière et re-générer le dialogue. Il ne s'agit pas d'un simple "redessin", car la mémoire du dialogue précédent est conservée et la nouvelle génération sera plus précise.
Enseignement 10 : Abandonnez si vous ne parvenez pas à obtenir une fonction qui réponde à vos attentes au terme de plusieurs cycles de dialogue.
Ici, la fonction signifie "fonction minimale", effacez le répertoire de la fonction minimale et les fichiers qu'il contient, essayez d'ouvrir une nouvelle fenêtre de dialogue, effacez les mémoires stockées, puis commencez à réécrire la fonction XXX avec la commande : Oubliez le code précédent.
À retenir 11 : Les mots de dialogue les plus courants
ajouter, supprimer, modifier, suggérer, optimiser, expliquer, renvoyer, ignorer, dépendre, référencer, compléter la logique d'exécution, tester, fusionner (si vous ne comprenez pas le sens de ces mots, demandez à ChatGPT ce que chacun des mots XXX signifie dans un contexte de programmation).
Conseil 12 : Essayez d'utiliser un langage de programmation mature avec des dépendances environnementales simples.
Je n'aurais pas choisi un cadre frontal et une base de données plus modernes, craignant une connaissance et une compréhension moins pertinentes du type d'entreprise dans le modèle plus large.
En tant que "vieux" langage de programmation, PHP devrait disposer d'un grand nombre de solutions matures pour tous les types d'entreprises et devenir un outil de formation pour les grands modèles.
En fait, Pythonye est bon, mais l'inconvénient est qu'il s'appuie sur trop de "bibliothèques", de sorte que l'environnement dépend de l'itération du projet est progressivement incontrôlable, et n'est pas adapté à la méconnaissance totale de la procédure du blanc.
© déclaration de droits d'auteur
L'article est protégé par le droit d'auteur et ne doit pas être reproduit sans autorisation.
Articles connexes
Pas de commentaires...