Ich entwickle ein JavaScript-/TypeScript-Framework für Baekjoon
(github.com/lumirlumir)Hallo!
Um verschiedene Unannehmlichkeiten zu lösen, die ich beim Lösen von Baekjoon-Algorithmusproblemen mit JavaScript und TypeScript erlebt habe, entwickle ich derzeit ein Open-Source-Framework speziell für Baekjoon mit JavaScript/TypeScript namens „Banana“.
Früher im Bachelorstudium habe ich Probleme hauptsächlich mit C++ gelöst, daher war die Baekjoon-Umgebung für mich nicht besonders unbequem. Als ich dann jedoch als Frontend-Entwickler arbeiten begann und Probleme mit JavaScript und TypeScript lösen wollte, merkte ich beim Einstieg schnell, dass es viele große und kleine Einschränkungen gab, etwa die jedes Mal umständliche Eingabeverarbeitung, Beschränkungen bei moderner Syntax und fehlende Testbarkeit.
Um diese Unannehmlichkeiten zu verbessern, habe ich mich von der Implementierungsweise von Next.js und den verschiedenen CLI-Befehlen des Projekts boj-cli inspirieren lassen und wollte selbst eine kompakte und intuitive Umgebung zum Lösen von Algorithmusproblemen schaffen, die zur JavaScript-Ökosphäre passt.
Auf Grundlage meiner Erfahrungen aus direkten Beiträgen zu verschiedenen Frontend-Open-Source-Projekten wie React, ESLint und Next.js arbeite ich mit möglichst viel Liebe zum Detail daran und möchte ein Werkzeug schaffen, das auch JavaScript-/TypeScript-Nutzern in der Praxis wirklich hilft.
Die wichtigsten Funktionen, die ich bisher umgesetzt habe, sind folgende.
- Unterstützung für JavaScript und TypeScript.
- Unterstützung für die Modulsysteme ESM und CommonJS.
- Unterstützung für moderne Syntax wie ES16/ES2025, unabhängig von der Baekjoon-Node.js-Umgebung.
- Unterstützung für das Einbinden benutzerdefinierter Module und externer Bibliotheken wie
lodash. - Unterstützung dafür, wie bei Programmers nur mit einer einzigen
solution-Funktion zu starten. - Unterstützung für das Schreiben und Ausführen von Testfällen.
- Unterstützung für den Einstieg mit
create-bananass. - Unterstützung für schnellere Ein- und Ausgabe mit dem Modul
fs. - Unterstützung für verschiedene CLI-Befehle zur besseren Bedienbarkeit.
- Eigene Unterstützung für ESLint und Prettier.
Derzeit arbeite ich vor der offiziellen Veröffentlichung noch an Testcode und Dokumentation und plane, bald eine Beta-Version zu veröffentlichen.
Falls ihr beim Lösen von Baekjoon-Problemen mit JavaScript oder TypeScript Unannehmlichkeiten erlebt habt oder Ideen habt wie „So eine Funktion wäre nützlich“, hinterlasst sie gern frei als GitHub-Issue oder in Discussions oder auch als Kommentar zu diesem Beitrag!
Auch kleine Rückmeldungen helfen wirklich sehr! Ich möchte sie nach Möglichkeit aktiv einfließen lassen, damit wir gemeinsam eine bessere Umgebung zum Lösen von Problemen schaffen können.
Links zum Projekt
-
Offizielle Dokumentation: https://bananass.lumir.page
Noch keine Kommentare.