Einführung
Ich hätte nie gedacht, dass meine Hand jemals eine offene Quelle berühren würde, da es für mich wie etwas Unerreichbares klang. Zu Beginn dieses Semesters entschied ich mich jedoch für den Kurs „Open Source Development“ von David Humphrey, da ich nicht wusste, was mich erwartete, meine Erwartung war wie „Ein weiterer langweiliger Kurs, um mein Programm zu erfüllen“, aber als wir anfingen, wurde mir klar, dass es klappt etwas anderes sein als andere Kurse. In der ersten Vorlesung hatten wir die Aufgabe, ein einfaches CLI-Tool zu erstellen, das es uns ermöglicht, jeden kompatiblen AI-API-Endpunkt zu verwenden, um Dateien auf hilfreiche Weise zu transformieren. Wahrscheinlich hat es mein Leben verändert. Im wahrsten Sinne des Wortes war ich noch nie so begeistert vom Programmieren und dachte, ich gehöre nicht zu dieser Sphäre, aber wir alle wissen, dass der Weg nicht immer gerade ist, sondern manchmal eng. Ich habe in unserer Klasse so viele Schüler gesehen, die so geschickt waren, dass der einzige Gedanke, der meine Liebe zum Programmieren wiederbelebte, war: „Bin ich schlimmer als sie? Nein... Es hat mich so sehr unter Druck gesetzt, dass ich die dritte Woche sitze, ohne meine zu verlassen.“ Ich habe mich für eine völlig neue Sprache entschieden, mit der Recherche und den Tests begonnen und bin schließlich auf etwas Einfaches, aber Interessantes gestoßen, das mir dabei geholfen hat zu verstehen, dass ich im wahrsten Sinne des Wortes alles bauen kann, was ich will
PolyglotCodePolyglotCode ist ein Befehlszeilentool, das Entwicklern hilft, ihre Dateien mit dem Code in JEDER anderen Programmiersprache zu übersetzen. Dieses Tool wurde in Java mit dem Maven-Abhängigkeitsmanager geschrieben. Es braucht einfach eine Datei, die Sprache, die der Benutzer übersetzen möchte, sendet sie als Abfrage an den API-Endpunkt und gibt übersetztes Material an das Terminal aus oder schreibt es in die Datei (Wahl des Benutzers). Im Folgenden möchte ich erwähnen, dass ich die KI v1 von Cohere verwendet habe Endpunkt.
Erste Schritte
Schritt 1. Generieren und stellen Sie den Cohere-API-Schlüssel im Standardwert des Flags -a && --api-key innerhalb der Hauptklasse bereit:
@Option( names = {"-a", "--api-key"}, defaultValue = "YOUR_API-KEY", description = "Modifying api key manually" ) private String api;oder
Geben Sie den Aufruf an und geben Sie den API-Schlüssel mithilfe von Flags in die Befehlszeile ein (nur nach Schritt 3 verfügbar):
./polyglot <file> <language> -a <your-api-key> </your-api-key></language></file>Schritt 2. Machen Sie das Bash-Skript ausführbar, damit der Benutzer den Befehl ./polyglot zum Ausführen von Code verwenden kann
chmod +x polyglotSchritt 3. Führen Sie Maven Package aus, um den Quellcode zu kompilieren
mvn packageMerkmale
Aus dem Grund, dass es sich um Version v0.1 handelt, hatte ich Schwierigkeiten, dieses Tool zu erstellen (es war schwierig, ich meine, es hat viel Zeit gekostet, es hat mir Spaß gemacht :D), es enthält nicht alle Funktionen, die ich implementieren wollte . Es enthält jedoch immer noch einige der erforderlichen Funktionen, ich habe mich lediglich an die Anforderungen gehalten. Hier sind sie also:
Helfen
Ist nicht der Höhepunkt der Programmierung, (-h, --help) Flags. Dieses Flag hilft dem Benutzer, die Verwendung und alle Flags kennenzulernen. Verwendung:
./polyglot -hoder
./polyglot --help
Ein weiterer Höhepunkt der Programmierung ist das Flag (-v, --version). Zeigt die aktuelle Version des Tools an. Verwendung:
./polyglot -voder
./polyglot --version
Wie bereits erwähnt, kann der Benutzer den Cohere-Api-Schlüssel angeben, ohne auf den Code einzugehen, indem er einfach Flags (-a, --api-key) verwendet. Verwendung:
./polyglot <file> <language> -a <your-api> </your-api></language></file>oder
./polyglot <file> <language> --api-key <your-api> </your-api></language></file>BaseUrl
Es wird nicht empfohlen, die Basis-URL dieser Anwendung zu ändern, da dies zu einer unerwarteten Ausgabe führen kann. Diese Option steht dem Benutzer jedoch weiterhin zur Verfügung. Verwendung:
./polyglot <file> <language> -u <baseurl> </baseurl></language></file>oder
./polyglot <file> <language> --base-url <baseurl> </baseurl></language></file>
Erstellt die vom Benutzer angegebene Datei und schreibt das Ergebnis dorthin. Es wird dringend empfohlen, diese Option jeweils nur für eine Datei zu verwenden. Verwendung:
./polyglot <file> <language> -o file.txt </language></file>oder
./polyglot <file> <language> --output file.txt </language></file>
Herausforderungen, denen ich gegenüberstand
Nachdem ich alle meine Funktionen mit Ihnen geteilt habe, ist es an der Zeit, über die Herausforderungen zu sprechen, denen ich gegenüberstand. Eine der Herausforderungen bestand darin, eine neue Sprache zu lernen. Es war nicht so schwer wie vor C/C. Die zweite Herausforderung bestand darin, einen geeigneten KI-Endpunkt zu finden, da viele von ihnen nicht so weit entwickelt waren, dass sie auch nur einfache Fragen beantworten konnten, und mein Ziel war es, ihn kostenlos zu finden :) Die dritte Herausforderung bestand darin, die Verwendung von picoCLI zu erlernen, einem Tool, das Ihnen bei der Einrichtung hilft CLI-Tool, zuerst habe ich ein Bash-Skript erstellt, um mir dabei zu helfen. Ich habe versucht, die Verwendung von picoCLI zu vermeiden, aber dann wurde es soooo unbequem und ich beschloss, mich besser mit picoCLI vertraut zu machen.
Insgesamt hat mir dieses Projekt geholfen zu verstehen, dass alles möglich ist, wenn man hart arbeitet!
Das obige ist der detaillierte Inhalt vonErste Interaktion mit Open Source. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

In dem Artikel werden Maven und Gradle für Java -Projektmanagement, Aufbau von Automatisierung und Abhängigkeitslösung erörtert, die ihre Ansätze und Optimierungsstrategien vergleichen.

In dem Artikel werden benutzerdefinierte Java -Bibliotheken (JAR -Dateien) mit ordnungsgemäßem Versioning- und Abhängigkeitsmanagement erstellt und verwendet, wobei Tools wie Maven und Gradle verwendet werden.

In dem Artikel wird in der Implementierung von mehrstufigem Caching in Java mithilfe von Koffein- und Guava-Cache zur Verbesserung der Anwendungsleistung erläutert. Es deckt die Einrichtungs-, Integrations- und Leistungsvorteile sowie die Bestrafung des Konfigurations- und Räumungsrichtlinienmanagements ab

In dem Artikel werden mit JPA für Objektrelationszuordnungen mit erweiterten Funktionen wie Caching und faulen Laden erläutert. Es deckt Setup, Entity -Mapping und Best Practices zur Optimierung der Leistung ab und hebt potenzielle Fallstricke hervor. [159 Charaktere]

Mit der Klassenbelastung von Java wird das Laden, Verknüpfen und Initialisieren von Klassen mithilfe eines hierarchischen Systems mit Bootstrap-, Erweiterungs- und Anwendungsklassenloadern umfasst. Das übergeordnete Delegationsmodell stellt sicher


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

mPDF
mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

EditPlus chinesische Crack-Version
Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion