5 puan yazan beenzinozino 2025-04-18 | Henüz yorum yok. | WhatsApp'ta paylaş

Merhaba!

Baekjoon algoritma problemlerini JavaScript ve TypeScript ile çözerken hissettiğim çeşitli rahatsızlıkları gidermek için, bananass adlı Baekjoon’a özel açık kaynaklı bir JavaScript/TypeScript framework’ü geliştiriyorum.

Lisans yıllarımda sorunları çoğunlukla C++ ile çözdüğüm için Baekjoon ortamı bana çok rahatsız edici gelmiyordu. Ancak frontend geliştiricisi olarak çalışırken problemleri JavaScript ve TypeScript ile çözmek istemeye başladım; işe koyulunca da her seferinde karmaşık girdi işleme, güncel sözdizimi kısıtları ve test edememe gibi büyük küçük pek çok sınırlamayla karşılaştım.

Bu yüzden bu rahatsızlıkları iyileştirmek adına, Next.js’in uygulama yaklaşımından ve boj-cli projesindeki çeşitli CLI komutlarından ilham alarak, JavaScript ekosistemine uygun yalın ve sezgisel bir algoritma çözüm ortamını doğrudan kendim oluşturmak istedim.

React, ESLint, Next.js gibi çeşitli frontend açık kaynak projelerine bizzat katkı yaparken edindiğim deneyimlere dayanarak bunu olabildiğince detaylı hazırlıyorum ve JavaScript/TypeScript kullanıcıları için gerçekten faydalı bir araç olmasını istiyorum.

Şu ana kadar hayata geçirdiğim başlıca özellikler şunlar:

  • JavaScript ve TypeScript desteği.
  • ESM (ECMAScript Module) ve CommonJS modül sistemi desteği.
  • Baekjoon’un Node.js ortamından bağımsız olarak ES16/ES2025 gibi güncel sözdizimi desteği.
  • Kullanıcı tanımlı modüller ve lodash gibi harici kütüphaneleri içe aktarma desteği.
  • Programmers’daki gibi tek bir solution fonksiyonuyla başlama desteği.
  • Test case yazma ve çalıştırma desteği.
  • create-bananass ile başlama desteği.
  • fs modülü kullanarak daha hızlı girdi/çıktı desteği.
  • Kullanım kolaylığı için çeşitli CLI komutları desteği.
  • Yerleşik ESLint ve Prettier desteği.

Şu anda resmi sürüm öncesinde test kodları ve dokümantasyon üzerinde çalışıyorum; yakında beta sürümünü yayımlamayı planlıyorum.

Eğer JavaScript veya TypeScript ile Baekjoon problemleri çözerken yaşadığınız rahatsızlıklar ya da “şöyle bir özellik olsa iyi olurdu” dediğiniz fikirler varsa, GitHub issue veya discussions üzerinden ya da bu yazıya yorum olarak rahatça paylaşabilirsiniz!

Küçük fikirler bile gerçekten çok yardımcı oluyor! Mümkün olduğunca aktif biçimde yansıtıp birlikte daha iyi bir problem çözme ortamı oluşturmak istiyorum.

Proje bağlantıları

Henüz yorum yok.

Henüz yorum yok.