Mod62

Artık kısaltılmış linklerin rastgele kodları o kadar da anlamsız gelmiyor.
Mod62 Sınıfı GitHub Deposunda hepsi anlatılıyor.

Orman’ı geliştirdiğim sırada şöyle bir not aldım;
“Kullanıcının sonuçlarına pratik biçimde ulaşabileceği yapı tasarlanmalı.”

Kolları sıvadım, kayıtları barındırabileceğim tablo hazırladım. Test edebileceğim sonuç kayıtları oluşturdum ve her sonucu temsil eden benzersiz değerler karşımda duruyordu. Kayıtlara erişim yöntemleri geliştirmeden önce zihnimdeki belirsizliği netleştirmem gerekiyordu. “Kısaltılmış link nasıl oluşturulur?” sorusuna hala bir cevabım yoktu.

Sonuç linkini paylaşan biri gözünden bakmaya çalıştım. Uzun, anlamsız, karmakarışık, rahatsız edici, çirkin bağlantıları hayal ettim. Paylaşım yaptığım platformlar üzerindeki metin kutularına yapıştırdığımda içimde oluşan huzursuzluğu hatırladım ve kesinlikle ne yapmamam gerektiğine karar verdim. Elbette ki bağlantıların uzun olmasında derin anlamlar vardı. Fakat bir kullanıcı olarak bu anlamlar benim umurumda bile değildi. İşimi görebilecek kadar pratik, rahatsız etmeyen, nazik bir kaç karakter neden olmasındı ki? En azından metin kutusuna yapıştırıldığında en fazla bir, bilemedin iki satırı işgal etmeliydi. Kısaltılmış linklerin nasıl oluştuğunu kesinlikle bulmalıydım. Kararımı verdim ve bunu Google amcaya sordum…

Aradığım yerlerde link kısaltma hizmetlerinin nasıl kullanacağı anlatılıyordu. Elbette her hangi bir hizmete adapte olmak daha pratik biçimde beni sonuca ulaştırabilirdi. Merakım bir defa kamçılanmış, zihnimde canlanan “Nasıl çalışıyor acaba?” sorusuna cevap aramaya çoktan başlamıştım. Artık çok geçti… Ama çok da geçmedi ki Stack Overflow üzerinde How do I create a URL shortener? başlığına rastladım. Yalın bir dil ile işlemin modüler aritmetik ile ilgisi anlatılmıştı. Şanslıydım ki başlık altında ihtiyacım olan PHP kodları verilmemişti. Bildiğim matematik ile işlem adımlarını belirledim, PHP dilinde “mod62()” fonksiyonunu yazdım. Orman’ın yapısına dahil ettim. Zaman içinde kullanım kolaylığı sağlamak adına kendisini sınıfa evirdim. Durmaksızın yeni deneyimler edindiğim programlama öğrenim maceralarımda “Mod62 sınıfı” epey vaktimi harcadığım bir işlem oldu. Ulaştığım sonuca harcadığım vakitten tasarruf etmek istersen bu yazının girişindeki bağlantıdan depoya ulaşabilirsin.