24 puan yazan xguru 2021-08-03 | 5 yorum | WhatsApp'ta paylaş

Terminalde çeşitli programları kullanırken bazen komutu yanlış yazdığımızda programın hata gösterdiği olur. Ancak Git veya npm gibi bazı programlar, yanlış yazdığım komuta benzeyen komutları önerebilir ya da yazım hatasını doğrudan düzelterek uygun şekilde devam edebilir. Peki bu özellik tam olarak nasıl çalışır? Benzer komutları öneren bir özelliği benzer şekilde uygulayarak bunun arkasındaki mantığa bakıyoruz.

  • Problemi tanımlamak

→ Benzer komut bulma problemi, "iki stringin benzerliğini ölçme problemi"ne dönüştürülebilir.

  • Düzenleme mesafesi (Edit distance)

→ Levenshtein mesafesi (Levenshtein distance)

  • Problemi çözmek

5 yorum

 
roxie 2021-08-03

Bu repodan bahsetmeden geçmek olmaz.

https://github.com/nvbn/thefuck#how-it-works

 
sduck4 2021-08-03

En üstteki örneği görünce uzun süre güldüm haha

Sadece ben yanlış yapmıyormuşum..

 
eyelove 2021-08-03

İlginç bir hikayeydi. Levenshtein mesafesi... yeni bir şey öğrenmiş oldum.

 
nicewook 2021-08-03

Keyifle okudum.

Ama git’in gerçekten bu şekilde uygulanıp uygulanmadığını merak ediyorum.

İstatistiksel olarak kullanıcı deneyimini toplayıp işleyen bir yöntem de mümkün gibi görünüyor.

 
sangheestyle 2021-08-03

git, Levenshtein mesafesini kullanır. Aşağıdaki bağlantıdaki git bölümünde, git’in ilgili kısım kaynak kodu da yer alıyor. :)

https://vishnubharathi.codes/blog/levenshtein-distance/

İstatistiksel olarak kullanıcının deneyiminden yararlanan bir yöntem de ilginç olabilir; ancak a) git komutlarının uzunluğu kısa ve b) sayıları sınırlı olduğu için, Levenshtein ile isteneni gerçekleştirmek için yeterli görünüyor.