recherche
MaisonJavajavaDidacticielPremière interaction avec l'Open Source

Introduction

Je n'ai jamais pensé que ma main toucherait un jour un logiciel open source, car cela me semblait inaccessible. Cependant, au début de ce semestre, j'ai choisi le cours intitulé "Développement Open Source" de David Humphrey, ne sachant pas ce qui m'attendait, mon attente était comme "Un autre cours ennuyeux pour réaliser mon programme", mais une fois que nous avons commencé, j'ai réalisé que ça allait être quelque chose de différent des autres cours. Lors de la première conférence, nous avons été chargés de créer un outil CLI simple qui nous permet d'utiliser n'importe quel point de terminaison d'API AI compatible afin de transformer des fichiers de manière utile. Probablement, cela a changé ma vie. Littéralement, je n'ai jamais été aussi passionné par la programmation, je n'ai jamais pensé que je n'appartenais pas à cette sphère, mais nous savons tous que la route n'est pas toujours droite, parfois elle est étroite. J'ai vu tellement d'élèves dans notre classe qui étaient si compétents, la seule pensée qui a ravivé mon amour pour le codage était : « Suis-je pire qu'eux ? Nahhh... Cela m'a tellement poussé, alors je suis assis la troisième semaine sans quitter mon ordinateur portable. J'ai choisi un langage complètement nouveau, j'ai commencé mes recherches et mes tests. Finalement, j'ai trouvé quelque chose de simple, mais intéressant qui m'a aidé à comprendre que je peux, littéralement, construire tout ce que je veux

.

PolyglotteCode

PolyglotCode est un outil de ligne de commande qui aide les développeurs à traduire leurs fichiers avec le code dans N'IMPORTE QUEL autre langage de programmation. Cet outil a été écrit en Java à l'aide du gestionnaire de dépendances Maven. Il prend simplement un fichier, la langue que l'utilisateur souhaite traduire, l'envoie sous forme de requête au point de terminaison de l'API et génère le matériel traduit sur le terminal ou l'écrit dans le fichier (au choix de l'utilisateur.) À l'avenir, je tiens à mentionner que j'ai utilisé l'IA v1 de Cohere. point final.

First Interaction With Open Source

J'ai mis en ligne une vidéo avec une démo détaillée de l'outil.

Commencer

Étape 1. Générez et fournissez la clé API Cohere dans la valeur par défaut de l'indicateur -a && --api-key à l'intérieur de la classe principale :

@Option(
        names = {"-a", "--api-key"},
        defaultValue = "YOUR_API-KEY",
        description = "Modifying api key manually"
)
private String api;

ou

Spécifiez l'appel et fournissez la clé API dans la ligne de commande, en utilisant les indicateurs (disponible uniquement après l'étape 3) :

./polyglot <file> <language> -a <your-api-key>
</your-api-key></language></file>

Étape 2. Rendre le script bash exécutable afin que l'utilisateur puisse utiliser la commande ./polyglot pour exécuter le code

chmod +x polyglot

Étape 3. Exécutez le package Maven pour compiler le code source

mvn package

Caractéristiques

Pour la raison, c'est la version v0.1, j'avais du mal à créer cet outil (en difficulté, je veux dire, cela a pris beaucoup de temps, je l'ai apprécié :D), il ne contient pas toutes les fonctionnalités que j'avais prévu d'implémenter . Cependant, il contient toujours certaines des fonctionnalités requises, je suivais simplement les exigences. Alors les voici :

Aide

Ce n'est pas le pic de programmation, (-h, --help) indicateurs. Ce drapeau aide l'utilisateur à apprendre l'utilisation et tous les drapeaux. Utilisation :

./polyglot -h

ou

./polyglot --help

First Interaction With Open Source

Version

Un autre sommet de la programmation est l'indicateur (-v, --version). Affiche la version actuelle de l'outil. Utilisation :

./polyglot -v

ou

./polyglot --version

First Interaction With Open Source

Clé API

Comme mentionné précédemment, l'utilisateur peut spécifier la clé Cohere-Api sans entrer dans le code, simplement en utilisant les indicateurs (-a, --api-key) Utilisation :

./polyglot <file> <language> -a <your-api>
</your-api></language></file>

ou

./polyglot <file> <language> --api-key <your-api>
</your-api></language></file>

URL de base

Il n'est pas recommandé de modifier la baseUrl de cette application, car cela pourrait produire un résultat inattendu ; cependant, cette option est toujours disponible pour l'utilisateur. Utilisation :

./polyglot <file> <language> -u <baseurl>
</baseurl></language></file>

ou

./polyglot <file> <language> --base-url <baseurl>
</baseurl></language></file>

First Interaction With Open Source

Sortir

Crée le fichier spécifié par l'utilisateur et y écrit le résultat. Il est fortement recommandé d'utiliser cette option avec un seul fichier à la fois. Utilisation :

./polyglot <file> <language> -o file.txt
</language></file>

ou

./polyglot <file> <language> --output file.txt
</language></file>

First Interaction With Open Source

À quoi ça ressemble dans le nouveau fichier :

First Interaction With Open Source

Les défis auxquels j'ai été confronté

Après avoir partagé toutes mes fonctionnalités avec vous, il est temps de parler des défis auxquels j'ai été confronté. L'un des défis était d'apprendre une nouvelle langue, ce n'était pas aussi difficile que je l'avais appris avant C/C. Le deuxième consistait à trouver un point de terminaison d'IA approprié, car beaucoup d'entre eux ne seraient pas développés pour répondre même à des questions simples, et mon objectif était de le trouver gratuitement :) Le troisième défi consistait à apprendre à utiliser picoCLI, un outil qui vous aide à configurer Outil CLI, au début j'ai créé un script bash pour m'aider, j'essayais d'éviter d'utiliser picoCLI, puis c'est devenu tellement gênant et j'ai décidé de mieux en apprendre davantage sur picoCLI.

Dans l'ensemble, ce projet m'a aidé à comprendre que tout est possible, si on travaille dur !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

Listes Sec

Listes Sec

SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

PhpStorm version Mac

PhpStorm version Mac

Le dernier (2018.2.1) outil de développement intégré PHP professionnel

Adaptateur de serveur SAP NetWeaver pour Eclipse

Adaptateur de serveur SAP NetWeaver pour Eclipse

Intégrez Eclipse au serveur d'applications SAP NetWeaver.

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel