Mein vierter und letzter Beitrag zum Hacktoberfest wurde in einem Repository erstellt, zu dem ich in der Vergangenheit beigetragen habe, DiceDB. Im Mittelpunkt des Projekts steht die Idee, ein In-Drop-Ersatz für Redis zu sein und gleichzeitig optimierter zu sein.
Zuvor hatte ich zu diesem Repository beigetragen, indem ich ein Problem im Zusammenhang mit dem Testen eines bestimmten Datenbankvorgangs gelöst habe, um sicherzustellen, dass die Funktionalität mit der Dokumentation übereinstimmt, und bei Bedarf Änderungen an der Dokumentation vorzunehmen.
Dieses Mal wollte ich zur Codebasis beitragen. Zum einen wollte ich GoLang lernen, zum anderen wollte ich mir einen Überblick darüber verschaffen, wie Tools/Software wie DiceDB aufgebaut sind und was die Intuition für so etwas ist Design.
So habe ich ein Problem gefunden, das zunächst nicht allzu schwer zu verstehen war, mir aber auch dabei helfen würde, die zuvor genannten Ziele zu erreichen.
Das Problem drehte sich um die Idee, eine bestimmte Fehlermeldung zu lösen und zu beheben und in geeigneten Situationen die richtige Fehlermeldung auszugeben
Die Idee bestand darin, zuerst das Problem zu finden und es dann zu lösen
Da ich so gut wie keine Ahnung hatte, wie GoLang funktioniert, habe ich mir zunächst die entsprechenden Dokumente angesehen, mich mit den ersten Prinzipien und der Syntax von GoLang vertraut gemacht und bin dann zurückgegangen, um das Problem zu lösen
Da dieses Projekt umfangreich war, habe ich die Suchfunktion von VSCode genutzt, um herauszufinden, wo der Fehler protokolliert wurde und welche Funktionen mit der Fehlermeldung verknüpft waren.
Nachdem ich den Point-of-Interests für mich gefunden hatte, isolierte ich das Problem von den anderen Teilen der Codebasis, machte die aktuelle Logik für mich sinnvoll, trennte die Fehlermeldung und fügte dann die Korrekturen hinzu für das Gleiche.
Nachdem ich das Problem gelöst hatte, habe ich eine PR geöffnet, um meine Änderungen genehmigen und in den Hauptzweig einbinden zu lassen, aber es stellte sich heraus, dass jemand anderes die Änderungen in den Hauptzweig eingebunden hatte, sodass es zu Konflikten kam
Ich musste dann den Befehl „rebase“ verwenden, um meinen Topic-Zweig auf die neuen Änderungen anzupassen, die in „main“ zusammengeführt wurden
git rebase main
Danach gab es keine Konflikte mehr und bald wurde die PR vom Betreuer zur Einbindung in das Repo genehmigt
Zum Abschluss meiner Hacktoberfest-Beiträge konnte ich durch die Arbeit an DiceDB tiefer in Go eintauchen und aus erster Hand erfahren, wie eine Redis-Alternative aufgebaut ist. Die Lösung eines Fehlerbehandlungsproblems hat mir geholfen, die Syntax und das Debuggen von Go in einer realen Codebasis zu verstehen.
Das obige ist der detaillierte Inhalt vonMein vierter und letzter Beitrag zum Hacktoberfest. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!