deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak Vercel blog

Vercel Flags, zaman aralıklı hedefleme için timestamp öznitelikleri ekledi

Vercel Flags artık varlıklarda timestamp özniteliklerini kabul ediyor; böylece ekipler, kampanya dönemleri veya kayıt son tarihleri gibi tarih aralıklarına göre flag kurallarını hedefleyebiliyor — uygulama kodunda özel zaman mantığı yazmaya gerek kalmadan.

Vercel Flags, zaman aralıklı hedefleme için timestamp öznitelikleri ekledi

Vercel Flags timestamp öznitelikleri kazandı

Vercel, feature flag servisi Flags'a timestamp öznitelikleri ekledi; böylece hedefleme kuralları, uygulama koduna yazılmış özel saat mantığına dayanmak yerine tarih ve saatleri karşılaştırabiliyor. Flag'in değerlendirildiği varlıklar — kullanıcılar, ekipler, cihazlar veya istekler — artık timestamp tipinde öznitelikler taşıyabiliyor ve flag kuralları bu değerleri sabit tarihlerle karşılaştırabiliyor.

Vercel blog'una göre tipik kullanımlar arasında bir kampanya sayfasını yalnızca belirlenen bir aralıkta göstermek, Black Friday gibi zaman sınırlı bir promosyon yürütmek veya son tarihten önce kayıt olan kullanıcıları hedeflemek yer alıyor.

Özniteliğin yapılandırılması

Öznitelik dashboard üzerinden veya CLI ile tanımlanabilir. Dashboard'da Flags'ı açın, Entities'yi seçin, bir varlık oluşturun veya seçin, ardından veri tipi timestamp olarak ayarlanmış bir öznitelik ekleyin. CLI karşılıkları:

vercel flags entities create system --label System --attribute time:timestamp vercel flags entities update system --add-attribute time:timestamp

İlk komut öznitelikle birlikte yeni bir varlık oluşturur; ikincisi ise mevcut bir varlığa özniteliği ekler.

Değeri uygulama sağlıyor

Dikkat edilmesi gereken bir ayrıntı: Vercel mevcut zamanı kendiliğinden enjekte etmiyor. Uygulama, bir flag her değerlendirildiğinde özniteliğin değerini sağlamak zorunda; varlık ve öznitelik adları yapılandırmayla eşleşmeli ve değer milisaniye cinsinden bir Unix epoch timestamp olmalı.

Vercel'in yayınladığı Flags SDK örneğinde mevcut zaman Date.now() ile sağlanıyor — bu zaten milisaniye döndürüyor — ve aynı istek sırasında değerlendirilen her flag aynı timestamp'i görsün diye dedupe() içine sarılıyor:

ts const identify = dedupe(async () => ({ system: { time: Date.now() }, }));

Dedupe adımı, ayrı flag okumalarının biraz farklı zamanlara kaymasına izin vermek yerine, değerlendirmeleri tek bir istek içinde tutarlı kılıyor.

Zamana dayalı kuralların yazılması

Öznitelik bir kez oluşturulduğunda, flag üzerindeki bir hedefleme kuralı, uygulamanızın sağladığı değeri seçtiğiniz bir tarih ve saatle karşılaştırır. Dört operatör destekleniyor: is after, is at or after, is before ve is at or before. Dashboard'un tarih ve saat seçicisi yerel zaman diliminizde çalışır; bu, farklı bölgelere yayılmış ekipler için akılda tutulmaya değer.

CLI aynı operatörleri after, at-or-after, before ve at-or-before olarak sunar ve koşullar zincirlenerek bir aralık oluşturulabilir:

vercel flags rules add promotion --environment production
--condition system.time:at-or-after:2026-09-02T13:00:00Z
--condition system.time:before:2026-09-16T22:00:00Z
--variant on

Bu kural, 2 Eylül 2026'dan 16 Eylül 2026'ya kadar "on" varyantını sunar. Vercel ayrıca okuyucuları, kodda varlık sağlamaya ve bir flag'i belirli bir zamanda yayınlamaya ilişkin dokümantasyonuna yönlendiriyor.

Neden önemli

Zamanlanmış feature release'ler genellikle iki geçici çözümden birini gerektiriyordu: her flag okumasının etrafında saati kontrol eden uygulama kodu ya da belirlenen bir anda flag yapılandırmasını değiştiren zamanlanmış bir iş. Her iki yaklaşım da takvimi flag sisteminin dışına taşır; orada ise diğer hedefleme kurallarıyla birlikte incelenemez, sürümlendirilemez veya geri alınamaz.

Zamanı birinci sınıf bir öznitelik yapmak bunu değiştiriyor. Bir tarih aralığı, diğer koşullarla birleşen bildirimsel bir kurala dönüşüyor; böylece iki tarih arasında bir hedef kitleye yönelik çalışan bir promosyon, kod artı yapılandırma yerine tek bir kural oluyor. Bir kampanyayı erken bitirmek ya da uzatmak, yeniden deploy veya mesai dışı bir script yerine dashboard'da bir kural düzenlemesine dönüşüyor. Zaten Flags SDK kullanan ekipler için bu ek özellik fiilen bedava: gereken tek kod değişikliği, identify adımında milisaniye cinsinden bir timestamp geçmek.

  • #vercel
  • #feature-flags
  • #cloud
  • #developer-tools

İlgili yazılar