Hallo! Mein Name ist Peter, und falls Sie mich nicht kennen: Ich bin Informatikstudent und belege derzeit den Kurs „Topics in Open Source 2024“ von Professor David Humphrey.
Seit September 2024 arbeite ich daran, meine Präsenz in der Open-Source-Community aufzubauen. Wenn Sie meine Reise verfolgen möchten, finden Sie mich auf GitHub:
Full-Stack-Entwickler | Spiele- und KI-Enthusiast - Peterdanwan
Erster Schritt: verstehen, womit ich arbeite. expressjs.com ist die offizielle Dokumentationsseite für Express, eines der beliebtesten Web-Frameworks für Node.js. Obwohl dies auf der wunderschön gestalteten Website schnell zu erkennen war, hatte die Reise gerade erst begonnen.
Express ist ein schnelles, unabhängiges und minimalistisches Web-Framework für Node.js, das eine Reihe robuster Funktionen für Web- und mobile Anwendungen bietet.
Nachdem ich mich mit dem Projekt in seiner jetzigen Form vertraut gemacht hatte, suchte ich nach einem Problem, das ich angehen konnte. Ich habe dieses hier gefunden:
Die folgenden Links sind defekt _includes/header/header-id.html
_includes/header/header-th.html
Änderung vorschlagen an: Änderungsprotokoll veröffentlichen
Fehlende Seite verursacht Konsolenfehler in der UZ-Sprache: /css/langs/uz.css
Schlagen Sie vor, diese Seite hinzuzufügen.
Ich habe mich für dieses Problem entschieden, weil es sich um HTML und CSS handelte – Technologien, mit denen ich vertraut und vertraut bin. Was jedoch einfach aussah, lehrte mich tatsächlich eine wichtige Lektion über die Open-Source-Entwicklung:
Selbst vertraut aussehende Aufgaben können unbekanntes Terrain beinhalten.
Das Repository verwendete Technologien, die ich noch nie zuvor berührt hatte, und hier begann das eigentliche Lernen. Es hat ungefähr eine Stunde gedauert, bis ich mich entschieden habe, ob ich mich an diesem Problem versuchen soll – im Nachhinein vielleicht zu lange. Ich zögerte, weil das Projekt Ruby verwendete, was für mich völlig neu war.
Spoiler-Alarm: Ruby einzurichten war... ein Abenteuer.
Das Einrichten Ihrer lokalen Entwicklungsumgebung ist oft einer der lehrreichsten Teile eines Open-Source-Beitrags.
Ich habe ein wenig über Ruby und Jekyll gelernt, indem ich einfach versucht habe, expressjs.com lokal auszuführen.
So verlief meine Reise:
Anfängliche Verwirrung: Ich habe damit begonnen, Ruby direkt unter Windows zu installieren. Obwohl es funktionierte, war es nicht ideal, da ich Probleme damit hatte, dass die von mir installierte Version sich von der im Projekt verwendeten unterschied. Die Versionsverwaltung unter Windows hat keinen Spaß gemacht. Daher habe ich meine Installation von Ruby unter Windows und seinen anderen Abhängigkeiten deinstalliert und nach einer alternativen Lösung gesucht.
Die WSL-Entdeckung: Meine Recherche führte mich zu dem Schluss, dass ich Ruby auf dem Windows-Subsystem für Linux (WSL) ausführen sollte, da es eine viel bessere Entwicklungsumgebung und Zugriff darauf bietet leistungsstarker Ruby Version Manager (RVM), der es mir ermöglichen würde, an Projekten zu arbeiten, die verschiedene Versionen von Ruby verwenden. Für mich war die Installation von RVM ein ganz ähnliches Gefühl, da ich nvm-windows verwende, um zwischen verschiedenen Knotenversionen wechseln zu können.
Lernkurve für Versionsverwaltung: Wieder einmal habe ich etwas über RVM und seine Ähnlichkeit mit dem NVM von Node.js gelernt. Dadurch habe ich gelernt, wie wichtig das Versionsmanagement in Entwicklungsumgebungen ist.
Im Folgenden sind die tatsächlichen Befehle aufgeführt, mit denen ich meine Entwicklungsumgebung vorbereitet habe:
## 1. Installing RVM (Ruby Version Manager) # First, import GPG keys needed to verify RVM installation gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB # Download and install RVM \curl -sSL https://get.rvm.io | bash -s stable # Verify RVM is installed and get its path which rvm # Load RVM into your current shell session source /home/peter/.rvm/scripts/rvm ## 2. Installing Ruby # Install Ruby version 3.3.5 (latest stable as of early 2024) rvm install 3.3.5 # Set 3.3.5 as your default Ruby version rvm use 3.3.5 # Verify RVM and Ruby installations rvm -v ruby -v ## 3. Setting up Jekyll # Install Jekyll and Bundler gems gem install bundler jekyll # Install project dependencies from Gemfile (must be within the target directory with the Gemfile) bundle install # Start the Jekyll server with live reload and external access # --host 0.0.0.0 allows access from other devices on your network # --livereload automatically refreshes your browser when files change bundle exec jekyll serve --host 0.0.0.0 --livereload
Nachdem meine Entwicklungsumgebung konfiguriert war, konnte ich mit der Lösung des vorliegenden Problems beginnen, nämlich einfach die
zu aktualisieren
Ankertags mit defekten Links zu einer englischen Version des Links (da die englische Version des Links nicht defekt ist).
Das war der einfachste Teil dieses ganzen Beitrags.
Ich habe auch darauf geachtet, mir einige Protokolle anzusehen, um zu sehen, ob es Fehler gibt, die behoben werden müssen. Ich habe vorgeschlagen, eine weitere Datei css/id.css hinzuzufügen, die dem gleichen folgt
Codierungsformat von Dateien, die bereits hinzugefügt wurden, da ich eine Ahnung hatte, wie einige der Fehlerprotokolle behoben werden könnten.
Chris Del, einer der Betreuer von expressjs.com, gab sehr umgehend Feedback und erklärte, dass dies der richtige Weg sei (danke Chris!).
Daher habe ich diese Änderung auch zu meiner Pull-Anfrage hinzugefügt.
Vor diesem Hintergrund warten die von mir vorgenommenen Änderungen nun darauf, in den Hauptzweig von expressjs.com integriert zu werden.
Es wurde eine Folgeausgabe erstellt, um die Standards der Website expressjs.com zu besprechen. Das heißt:
Sollte ein Benutzer zu einer funktionierenden englischen Seite weitergeleitet werden und nicht zu einem defekten Link in der richtigen Sprache?
Das kann nicht ich entscheiden, aber ich wollte Teil der Diskussion sein. Sie können die Diskussion hier verfolgen.
Was als einfache HTML/CSS-Korrektur begann, entwickelte sich zu einer Reise, die mir wertvolle Lektionen über die Open-Source-Entwicklung beibrachte:
Die Komfortzone verlassen: Während ich mich für ein Thema entschieden habe, bei dem es um bekannte Technologien (HTML/CSS) ging, lernte ich am Ende einen völlig neuen Tech-Stack (Ruby/Jekyll) kennen. Dadurch habe ich gelernt, dass Wachstum dann geschieht, wenn wir bereit sind, das Unbekannte in Angriff zu nehmen.
Technisches Wachstum: Das Einrichten von Entwicklungsumgebungen, das Verwalten von Versionen und die Arbeit mit neuen Tools sind entscheidende Fähigkeiten. Jede Herausforderung macht es einfacher, die nächste anzugehen.
Community-Engagement: Durch Diskussionen wie die Sprachumleitungsdiskussion habe ich gelernt, dass es bei Open Source nicht nur um Code geht – es geht um die Teilnahme an sinnvollen Diskussionen, die Projektentscheidungen beeinflussen.
Mit Blick auf die Zukunft habe ich vor, mich zu verbessern durch:
Am wichtigsten ist, dass ich gelernt habe, dass es bei einem effektiven Open-Source-Entwickler nicht darum geht, alles zu wissen, sondern dass man bereit ist, alles zu lernen. Jeder Beitrag, egal wie klein, ist eine Chance zu wachsen und einen positiven Einfluss auf die Projekte zu haben, die uns am Herzen liegen.
Wenn Sie erwägen, sich bei Open Source zu engagieren, denken Sie daran: Fangen Sie klein an, seien Sie neugierig und haben Sie keine Angst davor, nach und nach dazuzulernen. Die Community ist hier, um Ihnen beim Wachstum zu helfen.
Das obige ist der detaillierte Inhalt vonBeitrag zu expressjs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!