1 puan yazan GN⁺ 2025-05-30 | Henüz yorum yok. | WhatsApp'ta paylaş
  • Compiler Explorer, paylaşılan bağlantıların uzun süre yaşaması için 2012’den beri depolama biçimini değiştirdi; ancak goo.gl’nin kapanması, geçmişteki godbolt.org/g/abc123 bağlantılarını korumayı acil hale getirdi
  • Başta tüm derleyici durumunu URL’ye koyuyordu; 2014’te Google URL kısaltma servisini ekledi, 2016’da Stack Overflow’un kısa URL yasağından sonra godbolt.org/g/abc123 yönlendirme bağlantılarını oluşturdu
  • URL uzunluğu sınırının daha büyük bir sorun haline geldiği 2018’den itibaren durumu S3’te JSON belgeleri olarak saklayan ve kısa hash ile tam yol eşlemesini DynamoDB ile yöneten kendi yöntemine geçti
  • Google, goo.gl bağlantılarını Ağustos 2025’te kapattığında mevcut goo.gl tabanlı bağlantıları çözümlemek zorlaşacağından, açık web ve loglarda bulunan yaklaşık 12.000 g bağlantısını ve yönlendirme hedeflerini kendi veritabanında topluyor
  • Eski Compiler Explorer bağlantıları olan kullanıcılar bu bağlantıları şimdi ziyaret ederse koruma listesine girme olasılığı artar; uzun süre kalması gereken paylaşılan bilgi, temel altyapı doğrudan sahiplenildiğinde daha güvenlidir

Compiler Explorer bağlantı depolama yönteminin değişimi

  • 2012’de Compiler Explorer tüm durumunu URL’nin içinde saklıyordu
  • Tüm derleyici durumunu URL’ye kodlama yöntemi uzunluk nedeniyle yönetilmesi zor hale geldi ve Mart 2014’te Google’ın goo.gl kısa URL desteği eklendi
  • O dönemde kısa bağlantılar goo.gl/abc123 biçimindeydi; tıklandığında Compiler Explorer sitesindeki tam URL’ye yönlendiriliyor, ardından URL içindeki durum çözümleniyordu

Stack Overflow yasağından sonraki dolaylı bağlantılar

  • 2016’da Stack Overflow, gerçek hedefi gizleyebildiği gerekçesiyle bağlantı kısaltma servislerini yasakladı
  • Bu adım Compiler Explorer bağlantılarını da etkiledi; o dönemde kullanıcı verilerini doğrudan saklama niyeti yoktu
  • Çözüm, goo.gl’yi kullanmaya devam edip kullanıcılara godbolt.org/g/abc123 biçiminde bağlantılar sunmaktı
    • abc123, goo.gl’nin benzersiz ID’siydi
    • /g/abc123 erişimi goo.gl/abc123 adresine yönlendiriliyordu
    • goo.gl de tekrar durumu içeren tam godbolt.org URL’sine yönlendiriyordu
  • Daha sonra, birden fazla adımdan oluşan yönlendirme zincirinden kaçınmak için Google API kullanıldı

2018’de kendi depolama sistemine geçiş

  • 2018’de URL uzunluğu sınırı daha büyük bir sorun haline geldi ve URL içindeki veriler zaten sıkıştırılıyordu
  • Compiler Explorer, durumu doğrudan saklayan bir yapıya geçti
    • Girdi hash’leniyor
    • Durum S3 üzerinde JSON belgesi olarak saklanıyor
    • Hash’in kısa biçimi godbolt.org/z/hashbit URL’si olarak sunuluyor
    • Kısa hash ile tam yolun eşlemesi DynamoDB ile saklanıyor
  • Kısa bağlantı hash’inde rahatsız edici kelimeler olup olmadığı da kontrol ediliyor
    • Rahatsız edici bir kelime çıkarsa farklı bir hash oluşması için belgeye kasıtlı olarak ek bilgi konuyor
    • Bu davranış bug #1297 ile sonuçlandı

goo.gl’nin kapanmasının yarattığı koruma sorunu

  • Compiler Explorer hâlâ godbolt.org/g/abc123 bağlantılarını destekliyor
  • Google, mevcut bağlantıların amaçlanan hedefe yönlendirilmeye devam edeceğini söylemişti; ancak goo.gl birkaç yıl önce salt okunur hale geldi ve Ağustos 2025’te tamamen kapatılması planlanıyor
  • Kapanıştan sonra goo.gl tabanlı bağlantılar artık çözümlenemeyecek
  • Gerçek goo.gl bağlantılarının kendisi Compiler Explorer tarafında çözülemez; ancak godbolt.org/g/abc123 bağlantıları kendi veritabanıyla korunabilir

Mevcut bağlantıların toplanması ve kendi veritabanı

  • Son birkaç gündür herkese açık çeşitli kaynaklardan mevcut bağlantılar ve onların yönlendirme hedef URL’leri toplanıyor
  • Şimdiye kadar yaklaşık 12.000 bağlantı bulundu
    • Google web arama API’si
    • GitHub API’si
    • Kendi web logları
    • archive.org üzerindeki Stack Overflow veri dökümü
    • Archive.org’un arşivlediği web sayfası listeleri
  • İçeride goo.gl yerine kendi veritabanını önceliklendirecek şekilde değişiklik yapıldı
  • Veritabanında henüz olmayan yeni g bağlantıları da izleniyor
  • Yerelde bir sqlite veritabanı, production tarafında ise Dynamo kullanılıyor

Kullanıcıların yardımcı olmak için yapabilecekleri

  • Eski godbolt.org/g/abc123 bağlantılarını ayrıca saklıyorsanız, şimdi her bir bağlantıyı ziyaret etmeniz yardımcı olur
  • Bağlantı ziyaret edildiğinde web loglarına düşer ve daha sonra veritabanına eklenebilir
  • Aksi halde Ağustos 2025’ten sonra ilgili bağlantı çalışmayabilir
  • Bu örnek, önemli altyapıyı üçüncü taraf servislere bağımlı kılmanın riskini gösteriyor
  • “Sonsuza kadar süren URL” vaadini tutmak için tüm yığına doğrudan sahip olmak gerekir

Henüz yorum yok.

Henüz yorum yok.