[GO] Der durch Chillen erstellte Übersetzungsbefehl (TUI) ist zu bequem, verwenden Sie ihn also!

Ich habe ein Übersetzungstool (TUI-Befehl) geschrieben, das GAS in Go-Sprache umschließt. tran_1.gif

Zielgruppe

Es kann sich für diejenigen lohnen, die:

Inhaltsverzeichnis

1. Zuallererst

Ich kann nicht gut Englisch, daher kann ich Wörterbuch- und Übersetzungsseiten beim Lesen und Schreiben von Dokumenten nicht loslassen. Normalerweise arbeite ich im Terminal, aber es ist stressig, weil ich zwischen dem Webbrowser und der Terminalsoftware hin und her gehe.

Eines Tages hatte ich GAS (Google Apps Script) noch nie berührt, daher habe ich beschlossen, es für ein späteres Studium auszuprobieren, und einen einfachen Übersetzungsbefehl erstellt, der LanguageApp umschließt.

Anfangs wollte ich es auf modische Weise machen, aber ich fand es überraschend bequem zu verwenden, deshalb möchte ich es in einem Artikel vorstellen.

Der Befehl wird im folgenden Repository veröffentlicht.

Ein ähnliches Tool ist translate-shell. Ich bin sicher, dass viele von Ihnen es verwenden, aber später in diesem Artikel werde ich auf die Unterschiede zwischen go-tran und translate-shell eingehen.

2. Übersicht über go-tran

Unterstütztes Betriebssystem

Wir haben den Betrieb unter Linux und Windows bestätigt. (Ich denke, es funktioniert auf dem Mac)

Interaktive Schnittstelle

Wenn Sie den Befehl tran ohne Argumente ausführen, wird eine interaktive Shell gestartet.

Übersetzen

Standardmäßig wird es in die Sprache des aktuellen Gebietsschemas der Ausführungsumgebung übersetzt. Sie müssen also nur die Fremdsprache eingeben, die Sie übersetzen möchten. Im Folgenden finden Sie Beispiele für die Übersetzung von Englisch, Französisch, Italienisch, Spanisch, Koreanisch und Chinesisch ins Japanische. tran_1.gif Im obigen Bild lautet die Eingabeaufforderung `: ja>`. Es hat das Format `(Quelle): (Ziel)>`, die Ausgangssprache ist Auto und die Zielsprache ist Japanisch (ja). ist was es bedeutet. Wenn Sie beispielsweise vom Japanischen ins Englische übersetzen, wird `ja: en>` angezeigt.

Sprachen wechseln

Geben Sie den zweistelligen Sprachcode (ISO639-1) ein, um die Zielsprache zu wechseln. Das Folgende ist ein Beispiel für die Übersetzung von Japanisch in Englisch (en), Französisch (fr), Italienisch (it), Spanisch (es), Koreanisch (ko) und Chinesisch (zh) beim Umschalten der Zielsprache. ist. tran_2.gif

Wenn Sie den Sprachcode nicht kennen

Wenn Sie den Sprachcode nicht kennen, können Sie ihn mit dem Befehl l (l: Sprachcodes) nachschlagen.

Der Befehl l zeigt eine Liste der eingegebenen Zeichenfolgen an, die mit dem ISO639-1-Code identisch sind oder teilweise mit dem Namen der ISO-Sprache (englischer Name) übereinstimmen. Wenn Sie dies auch nicht finden, können Sie es intern in Englisch konvertieren und dann erneut suchen, sodass Sie den gewünschten Sprachcode auch mit dem Namen, den Sie beispielsweise auf Japanisch eingegeben haben, relativ leicht finden können.

Das Folgende ist "l Befehl, der" nor "," nese "," deutsch "," kurdisch "," Zulu "enthält, und die Liste wurde angezeigt, aber" kambrisch " Wurde nicht gefunden. " tran_3.gif

Batch-Schnittstelle

Wenn Sie im Befehlszeilenargument einen Dateinamen angeben oder eine Verbindung zur Standardeingabe des Befehls per Pipe oder Umleitung herstellen, wird dieser als Stapelbefehl ausgeführt.

Dateispezifikation

Wenn Sie den Pfadnamen der Datei als Argument übergeben und go-tran ausführen, wird die Datei übersetzt. Auch hier wird die Konvertierungszielsprache (Standardwert) durch das aktuelle Gebietsschema der Ausführungsumgebung bestimmt. tran_5.gif

Pipes und Weiterleitungen

Wenn der Standardeingang kein Terminal ist, wird go-tran im Batch-Modus ausgeführt.

In meiner Ubuntu-Umgebung wird man beispielsweise auf Japanisch angezeigt, es gibt jedoch einige Befehle, für die kein japanisches Handbuch verfügbar ist. Es ist nicht so japanisch wie die Befehle, die Sie nicht oft verwenden. Als ich in der Vergangenheit auf ein englisches Wort stieß, das ich nicht kannte, musste ich einen Webbrowser öffnen, um es nachzuschlagen.

Aber von nun an müssen Sie nur noch den Mann zum Go-Tran umleiten. tran_4.gif

3. Wie benutzt man go-tran?

Installation

** Wenn Sie eine Go-Umgebung haben **

install go-tran


$ go get -u github.com/y-bash/go-tran
$ cd $GOPATH/src/github.com/y-bash/go-tran
$ go install ./...

** Wenn Sie keine Go-Umgebung haben und nur den Quellcode erhalten **

get source code


$ git clone https://github.com/y-bash/go-tran.git

Wenn Sie keine Go-Umgebung haben, aber eine Binärdatei verwenden möchten, können Sie sich gerne an uns wenden, da wir eine Methode in Betracht ziehen.

Interaktiv verwenden

anfangen

Die ausführbare Datei heißt tran.

$ tran
Welcome to the GO-TRAN!
...

Befehlsbeschreibung

Die von Ihnen eingegebenen Zeichen werden im Allgemeinen wie folgt beurteilt.

String Erläuterung
Ein Charakter Als Befehl beurteilt.
2 Buchstaben Umschalten der Zielsprache.
3 Zeichen oder mehr Übersetzen Sie den eingegebenen Text gemäß dem aktuellen Modus.

Die Arten von Befehlen sind wie folgt.

Befehl Erläuterung Beispiel
h Hilfe anzeigen.
l [str] Zeigt eine Liste der Sprachcodes und Namen an.
(Sprachcode ist ISO639-1)
  • Wenn str angegeben ist
    Zeigen Sie eine Liste der übereinstimmenden Sprachcodes an
  • Wenn str weggelassen wird
    Alle Code(184 Fälle)Show
  • Im Code Name"en"Einschließlich
    l en
  • Im Namen"nor"Einschließlich
    l nor
  • Englischer Name im Namen"Welsh"Einschließlich
    l Walisisch
s [str] Ausgangssprache(Source)Umschalten.
  • Wenn str angegeben ist
    Wechseln Sie zur passenden Sprache
  • Wenn str weggelassen wird
    Auto (In den automatischen Modus wechseln)
    * Normalerweise gibt es kein Problem mit Auto.
  • Ins Englische
    s en
  • Nach Spanisch
    s spanish
  • Nach Portugiesisch
    s Portugiesisch
  • Auto(Automatikmodus)Was
    s
[t] code

t [str]
Zielsprache(Target)Umschalten.
  • Wenn t weggelassen wird
    2-stelliger Code(ISO639-1)damit
    Wechseln Sie in die angegebene Sprache
  • Wenn str nach t angegeben wird
    Wechseln Sie zur passenden Sprache
  • Wenn str nach t weggelassen wird
    Aktuelles Gebietsschema der Ausführungsumgebung
    Wechseln zu
  • Zum aktuellen Gebietsschema
    t
  • Ins Englische
    t en
  • Nach Latein
    t Latein
  • Zur C-Sprache
    c
q Ende

Tastenbedienung

Die Hauptschlüsselbindungen sind: (Bash kompatibel)

Bewegen Sie den Cursor

Schlüssel Erläuterung 代替Schlüssel
Ctrl-a Gehen Sie zum Anfang der Zeile Home
Ctrl-e Gehen Sie zum Zeilenende End
Ctrl-b 1 Zeichen rückwärts
Ctrl-f 1 Zeichen vorwärts

Zeichen löschen

Schlüssel Erläuterung 代替Schlüssel
Ctrl-h Löschen Sie das Zeichen vor der Cursorposition Back
space
Ctrl-d Löschen Sie das Zeichen an der Cursorposition Delete
Ctrl-k Löschen Sie von der Cursorposition bis zum Ende der Zeile
Ctrl-u Löschen Sie vom Zeilenanfang bis kurz vor die Cursorposition

Verlaufsoperation

Die von Ihnen eingegebenen Befehle und Texte werden im Verlauf gespeichert und können mit Tastenanschlägen verfolgt werden.

Schlüssel Erläuterung 代替Schlüssel
Ctrl-p Gehen Sie zurück in den Eingabeverlauf
Ctrl-n Gehen Sie den Eingabeverlauf durch
Ctrl-r Inkrementelle Suche im Eingabeverlauf

Als Batch-Befehl verwenden

Format

Das Format des Befehls ist wie folgt.

format


tran [options] [path...]

Möglichkeit

[12. Oktober 2020] -a Option und -e Option hinzugefügt

Die Optionen sind:

option Erläuterung Beispiel
-a Registrieren Sie sich beim GAS-Projekt des Benutzers
Zeigen Sie das Skript an. Eingetragen
Skript-URL in der Konfigurationsdatei
Erstellen Sie Ihren eigenen API-Server, indem Sie ihn auflisten
Sie können es nennen.
Diese Option ist nur für den Stapelmodus verfügbar.
$ tran -a
-e Der Originaltext und der übersetzte Text werden abwechselnd zeilenweise ausgegeben.
Diese Option ist nur für den Stapelmodus verfügbar.
```$tran -e english.txt
-h Hilfe anzeigen.
Diese Option ist nur für den Stapelmodus verfügbar.
$ tran -h
-l Liste der Sprachcodes und Namen(184 Fälle)Es wird angezeigt.
(Sprachcode ist ISO639-1)
Diese Option ist nur für den Stapelmodus verfügbar.
$ tran -l
-s code Ausgangssprache(Source)Zu
Sprachcode (ISO639-Geben Sie in 1) an.
Wenn nicht angegeben, wird dies automatisch ermittelt.
$ tran -s en
-t code Zielsprache(Target)Zu
Sprachcode (ISO639-Geben Sie in 1) an.
Wenn nicht angegeben, wird es in das aktuelle Gebietsschema konvertiert.
$ tran -t en

###Pfad

Die Methode zum Festlegen des Pfads lautet wie folgt.

path Erläuterung Beispiel
Bezeichnung Bezeichnungしたファイルを翻訳して標準出力へ出力します。 $ tran a.txt b.txt
Kürzung
  • Wenn der Standardeingang Terminal ist
    Beginnen Sie interaktiv
  • Wenn die Standardeingabe eine Pipe oder Umleitung ist
    Geben Sie das übersetzte Ergebnis in die Standardausgabe aus
  • Übersetze Mann für SS-Befehl
    $ man ss|tran|less
  • Übersetze Go-Kompilierungsfehler
    $ go build . 2>&1|tran
  • Dateien umleiten
    $ tran < a.txt

* In der Zelle"|"Ist ein Zeichen voller Breite.
Bitte seien Sie beim Kopieren vorsichtig.

###Anwendungsbeispiel

Bestätigen Sie schnell schwierige englische Wörter

python


$ echo "penpineappleapplepen" | tran
 Stift Ananas Apfelstift

Konvertieren Sie japanische Dateien in Englisch

python


$ tran -t en Japanese.txt
this is a pen.

Speichern Sie japanische Dateien in Latein

python


$ tran -t la Japanese.txt > Latin.txt

Geben Sie das Ergebnis der automatischen Übersetzung ins Japanische zurück und prüfen Sie, ob es gut passt

python


 $ echo "Ich liebe Äpfel" | tran -t en | tran
 Ich liebe Äpfel

strings.Builder (Golang)Machen Sie alle Kommentarzeilen im Quellcode von

python


 $ grep '^\s*//' ./builder.go | sed -e 's/^\s*..\s*//' | tran
 Copyright 2017 The Go Autoren. Alle Rechte vorbehalten.
 Die Verwendung dieses Quellcodes unterliegt dem BSD-Stil
 Die Lizenz in der LIZENZ-Datei.
 Builder wird verwendet, um Zeichenfolgen mithilfe der Write-Methode effizient zu erstellen.
...

Ändern Sie die Fehlerzeile aller Protokolldateien im aktuellen Verzeichnis in Japanisch

python


 $ find . -name '*.log' | xargs grep 'error:' | tran
 ./tool/vim/src/auto/config.log:conftest.c:154:12: Fehler: 'GETACLCNT' ist nicht deklariert (erste Verwendung in dieser Funktion)
 ./tool/vim/src/auto/config.log:conftest.c:154:26: Fehler: 'NULL' ist nicht deklariert (erste Verwendung in dieser Funktion)
...

##Einstellungsdatei [Hinzugefügt am 12. Oktober 2020]

Version 1.0.In diesem Abschnitt wird beschrieben, wie Sie die in 1 unterstützte Einstellungsdatei verwenden.

###Pfad der Konfigurationsdatei

Der Pfad der Konfigurationsdatei lautet wie folgt. (Abhängig vom Betriebssystem)

OS Pfad
POSIX $HOME/.config/y-bash/config.toml
Windows %AppData%\y-bash\tran\config.toml

###Elemente, die eingestellt werden können

Tabelle Schlüssel Erläuterung Ursprünglicher Wert
[default] source Quellcode(ISO639-1)Standardwert für. ""
[default] target Sprachcode des Konvertierungsziels(ISO639-1)Standardwert für. Aktuelles Gebietsschema beim ersten Start.
[api] endpoint GAS (Google Apps Script)Projekt-URI. Sie können Ihren eigenen API-Server angeben, indem Sie den URI eines vom Benutzer erstellten GAS-Projekts festlegen. Das in GAS einzustellende Skript ist-Kann mit der Option a angezeigt werden.
[Beispiel] tran-a
Wie vorher.
[api] limit_n_chars Maximale Anzahl von Zeichen, die in einem einzelnen API-Aufruf gesendet werden. Wenn die Anzahl der Zeichen im Quelltext diesen Wert überschreitet, wird die API mehrmals aufgerufen. 4000
[colors] info Textfarbe der Informationsnachricht "#80a0d0"
[colors] info Textfarbe der Statusänderungsnachricht "#60c060"
[colors] error Textfarbe der Fehlermeldung "#d04040"
[colors] result Textfarbe des konvertierten Textes "#ffc864"

4. translate-Vergleich mit Shell

Eigentlich übersetze ich-Ich habe etwas über Muschel gelernt, geh-Nachdem ich angefangen habe tran zu machen. Die Funktionen sind fast ähnlich und die Befehlsnamen sind gleich.transIch war überrascht, weil es war. (Zuerst gehen-Es hieß trans)

Darüber hinaus übersetzen-Shell ist sehr funktional, z. B. zum Anzeigen zusätzlicher Informationen wie Teilwörtern und zum Anzeigen mehrerer Bedeutungen eines Wortes.

Aber nachdem Sie es ein wenig benutzt haben, gehen Sie-geh zu tran-Allmählich wurde mir klar, dass Tran gut ist.

translate-Vorteile der Schale

translate-Die Shell zeigt nicht nur das Übersetzungsergebnis an, sondern auch die folgenden zusätzlichen Informationen.

*Ausgangssprache *Zielsprache *Wortteil (bei Wörtern) *Mehrfachbedeutungen (für Wörter)

translate-Ausführungsbeispiel der Shell translate-shell_1.gif

Da es wie ein Wörterbuch verwendet werden kann, kann es für das englische Schreiben praktisch sein. Wenn Sie jedoch ein solides englisches Dokument schreiben müssen, benötigen Sie ein solideres Wörterbuch.

go-Vorteile von tran

translate-Gehe zur Muschel-Die Vorteile von tran sind:

*einfach
Es ist leicht zu erkennen, da keine zusätzlichen Informationen ausgegeben werden.
Zusätzliche Informationen wie Teiltexte können manchmal stören. *Farbbildschirm
Über das Farbdisplay können Sie das gewünschte Teil sofort identifizieren. *Sprachcode-Suchfunktion
go-Mit tran können Sie den Sprachcode leicht finden.
translate-Die Shell muss sich den Sprachcode merken oder sich die Dokumentation ansehen. *
go-
translate- *
go-
-tran ist einfach, Zeichen zu bearbeiten. Es scheint, dass die Shell nur Standardeingaben liest und es schwierig ist, Zeichen zu bearbeiten. Die Verlaufsfunktion tran kann zuvor eingegebene Befehle und Texte erneut anzeigen, bearbeiten und ausführen. Dies ist auch eine Funktion, die translateshell nicht hat. *Windows native Unterstützung
go-Sie können tran an der Windows-Eingabeaufforderung ausführen.
translate-Es scheint, dass die Shell eine UNIX-kompatible Umgebung wie Cygwin erfordert.

go-Bild der Verwendung von tran tran_1.gif

5.Einfach zu machen

GAS (Google Apps Script)Mit Go erstellte Web-APIs und mit Go erstellte Clients sind sehr einfach.

##Erstellen Sie eine Web-API mit GAS

tanabeeIch bezog mich auf Mr.s populären Artikel.

Die folgende Verarbeitung wird dem Code hinzugefügt, der als Referenz verwendet wurde.

*Kehre mit json zurück

Der Code ist unten.

Translate.gs


 // Gemeinsame Verarbeitung
 // param e event
function process(e) {
 let body // Antwortkörper
    try {
 const p = e.parameter // Anforderungsparameter
 const s = LanguageApp.translate (p.text, p.source, p.target) // Übersetzen
 body = {code: 200, text: s} // Erstellt einen Antworttext
 } catch (e) {// param e Ausnahme
 // Übersetzung fehlgeschlagen
        try {
 const msg = LanguageApp.translate (e.toString (), "", "en") // Fehlermeldung an Englisch senden
 body = {code: 400, message: msg} // Erstellt einen Antworttext
 } catch (e) {// param e Ausnahme
 // Wenn Sie dies nicht tun, ist dies ein interner Fehler
 body = {code: 500, message: e.toString ()} // Erstellt einen Antworttext
        }
    }
 let resp = ContentService.createTextOutput () // Antwort
 resp.setMimeType (ContentService.MimeType.JSON) // Setzt den MIME-Typ auf das JSON-Format
 resp.setContent (JSON.stringify (body)) // Konvertiert den Antworttext in eine JSON-formatierte Zeichenfolge
 return resp; // gib die Antwort zurück
}

// GET
 // param e event
function doGet(e) {
 Rückgabeprozess (e) // Gemeinsamen Prozess aufrufen
}

// POST
 // param e event
function doPost(e) {
 Rückgabeprozess (e) // Gemeinsamen Prozess aufrufen
}

Mit dem obigen Code verarbeiten(e)Und zwei Fänge(e)Wenn Sie Bedenken haben, eine Variable mit demselben Namen zu verwenden, ändern Sie den Variablennamen.

Nach dem Ändern des SkriptsProject versionZuNewIch wusste nicht, dass es sich nicht im Produkt widerspiegeln würde, wenn ich es nicht tun würde, also machte ich mir etwa 20 Minuten lang Sorgen darüber.

##Machen Sie einen Kunden mit Go

Die clientseitigen Funktionen (Go-Sprache), die die in GAS erstellte Web-API umschließen, lauten wie folgt.

tran.go


package tran

import (
        "encoding/json"
        "errors"
        "io/ioutil"
        "net/http"
        "net/url"
        "strings"
)

 const gURL = "https://script.google.com/macros/s/@@[email protected]@/exec" // @@ script @@ Korrektur erforderlich

 // Struktur, die den JSON der Antwort abbildet
type TransData struct {
 Code int `json:" code "` // Antwortstatus
 Textzeichenfolge `json:" text "` // Übersetzungsergebnis
 Meldungszeichenfolge `json:" message "` // Fehlermeldung
}

 // Übersetzung
func Translate(text, source, target string) (string, error) {
 // Parameter erstellen
        v := url.Values{}
 v.Add ("text", text) // Quellzeichenfolge
 v.Add ("Quelle", Quelle) // Ausgangssprache (ISO639-1)
 v.Add ("Ziel", Ziel) // Zielsprache (ISO639-1)

 // Anforderung an die Übersetzungs-API per POST
        resp, err := http.PostForm(gURL, v)
        if resp != nil {
                defer resp.Body.Close()
        }
        if err != nil {
                return "", err
        }
 // Den Antworttext in den Puffer einlesen
        buf, err := ioutil.ReadAll(resp.Body)
        if err != nil {
                return "", err
        }
 // Antworttext (JSON-Format) der Struktur zuordnen
        var td TransData
        if err := json.Unmarshal(buf, &td); err != nil {
                return "", err
        }
 // Antwortstatus überprüfen
        if td.Code != 200 {
 // Fehlerbehandlung (Präfix "Exception:" entfernen)
                msg := td.Message
                prefix := "exception:"
                if strings.HasPrefix(strings.ToLower(msg), prefix) {
                        msg = string(msg[len(prefix):])
                        msg = strings.TrimSpace(msg)
                }
                return "", errors.New(msg)
        }
 // Normale Verarbeitung
 return td.Text, nil // Extrahiere die konvertierte Zeichenfolge aus der Struktur und gib sie zurück
}

Machen Sie nichts Schwieriges, HTTP-Anfrage auf einfachste Weise(POST)Ich werfe nur, aber bitte beachten Sie die folgenden Punkte.

*Vom obigen Code@@[email protected]@@Muss für jedes GAS-Projekt geändert werden. *Nachrichtenpräfix, wenn ein Fehler auftritt"Exception: "Ich mache den Prozess des Entfernens, aber ich denke, dass dies je nach Situation unnötig ist.

Für anderen CodeHierBitte wende dich an die.

6. go-tran Herausforderungen

Im Moment gibt es die folgenden Probleme, aber ich denke nicht, dass es so schwierig sein wird, sie zu verbessern.

*Reaktionszeit
Derzeit verwendet die Serverseite den kostenlosen Plan von GAS, sodass es möglich ist, dass die Antwort aufgrund von Zugriffsbeschränkungen bei konzentriertem Datenverkehr schlecht ist.
Aus diesem Grund möchte ich zulassen, dass die Konfigurationseinstellungen des Befehls eine benutzerspezifische URL angeben. Dies erhöht die Belastung für Benutzer, GAS-Skripte in ihrem Google-Konto zu registrieren. Im Gegenzug sollten sie jedoch Befehle verwenden können, ohne sich um andere sorgen zu müssen.
[Aktualisiert am 12. Oktober 2020]
Dieses Problem ist Version 1.0.Es wurde in 1 gelöst. Sie können den URI Ihres eigenen GAS-Projekts in der Konfigurationsdatei festlegen. Detail istHierBitte wende dich an die.

*Stapelausgabeformat
Wenn Sie Protokolldateien und Dokumente übersetzen, möchten Sie diese dennoch mit dem Originaltext vergleichen.
Zu diesem Zweck planen wir die Option, den Originaltext und den übersetzten Text abwechselnd zeilenweise auszugeben. Wahrscheinlich nicht schwer zu handhaben.
[Aktualisiert am 12. Oktober 2020]
Dieses Problem ist Version 1.0.Es wurde in 1 gelöst.-Der Originaltext und der übersetzte Text können abwechselnd ausgegeben werden, indem sie mit der Option e ausgeführt werden. Detail istHierBitte wende dich an die.

*Zeichenbegrenzung
Ich habe festgestellt, dass beim Einfügen von viel Text in die GAS LanguageApp ein Fehler aufgetreten ist. In diesem Zusammenhang können wir den Maximalwert für die Anzahl der Zeichen festlegen, die gleichzeitig in die API eingegeben werden können, und das Programm so ändern, dass bei einer großen Textmenge diese separat übersetzt wird.
[Aktualisiert am 12. Oktober 2020]
Dieses Problem ist Version 1.0.Es wurde in 1 gelöst. Dateilimit für Einstellungen_n_chars (Der Anfangswert kann mit 4000 eingestellt werden). Detail istHierBitte wende dich an die.

7.abschließend

In diesem Artikel ein Übersetzungstool in Go-Sprache(TUI-Befehl)Ich stellte die Geschichte des Machens und die Verwendung des Befehls vor. Ich habe auch kurz vorgestellt, wie man es macht. Ich schrieb auch, dass ich herausgefunden habe, dass es bereits ein ähnliches Tool gibt, und war zunächst enttäuscht, aber nach und nach begann ich zu denken, dass meine eigenen Befehle nicht schlecht waren.

Die Übersetzungs-API von GAS ist einfach zu bedienen und allen bekannt. Zuerst dachte ich, dass ein Produkt, das eine solche API verwendet, nicht besonders interessant wäre, aber als ich es tatsächlich herstellte, konnte ich etwas überraschend Praktisches herstellen (es ist natürlich, weil es eine alte Spezifikation ist). …).

Wenn ich meine eigenen mache, kann ich auch die Vor- und Nachteile beliebter Tools erkennen.

Es gibt so viele bekannte Lösungen wie Sterne. Aber diese Erfahrung ist eines dieser Dinge

*Es sieht so aus, als wäre es eine Ware, aber es gibt Anwendungen, die noch niemand bemerkt hat. *Es ist zum De-facto-Standard geworden, aber es gibt Verbesserungen, die noch niemand bemerkt hat.

Es war eine Gelegenheit, solche Dinge wieder zu erkennen.

Na dann!

Recommended Posts

Der durch Chillen erstellte Übersetzungsbefehl (TUI) ist zu bequem, verwenden Sie ihn also!
Der Befehl zum Generieren des RFC-Bibtex ist praktisch. Geben Sie ihn daher an alle X-Schüler weiter
Mir wurde klar, dass es Unsinn ist, es ohne nachzudenken zu verwenden, weil das Modul praktisch ist
Ich habe eine Funktion zum Trimmen des Bildes von Python openCV erstellt. Verwenden Sie sie daher bitte.
Verwenden Sie den Befehl pushd, der bequemer als der Befehl cd ist, um sofort zum ursprünglichen Verzeichnis zurückzukehren.
[Python] Was ist Pip? Erläutern Sie die Befehlsliste und deren Verwendung anhand aktueller Beispiele