Dağ Kulübelerinin Stabil URL'leri: 42 Bin Yer İçin Çözüm
Peter Hoffmann, Alpine dağ kulübelerini ve zirveleri haritalaştıran biwak.info projesinde 42 bin yeri erişilebilir hale getirdi. Sorun basit görünse de, aynı adla birçok yer var ve bir URL paylaşıldıktan sonra, altındaki veriler değişse bile aynı yeri göstermeye devam etmesi gerekiyordu.
Önceden sadece #Name şeklinde hash bağlantıları vardı; adı eşleşmezse arama yapıyordu. Şimdi biwak.info/p/matterhorn gibi gerçek URL'ler kullanılıyor ve sohbet uygulamalarında ön izleme kartı gösterilebiliyor.
Altlık, OpenStreetMap'ten gelen 9 bin 429 kulübe ve bivuak ile 33 bin 437 adlandırılmış zirve. İlk adım basit: Almanca umlaut'lar yazılıyor (ä ae), her şey ASCII'ye çevrilip küçültülüyor, art arda gelen özel karakterler tek tire haline geliyor.
1GERMAN_TRANSLIT = str.maketrans({"ä": "ae", "ö": "oe", "ü": "ue", "Ä": "Ae", "Ö": "Oe", "Ü": "Ue", "ß": "ss", "ẞ": "ss"})23def slugify(text):4text = text.translate(GERMAN_TRANSLIT)5text = text.encode('ascii', 'ignore').decode('ascii')6return text.lower()Ancak gerçek zorluk adlandırma çakışmalarında yatıyor. Aynı isimli birden fazla yer olduğunda, bir sayı eklenerek (matterhorn, matterhorn-2) ya da coğrafi bağlam kullanılarak ayırt ediliyor. Bir kez paylaşılan URL, veri güncellendiğinde de aynı yeri göstermeli, bu da veritabanında kalıcı ID'ler ve slug tarihçesi gerektiriyor.
0 yorum