Araçlar

GitHub release indirme sayılarını tek WinForms aracıyla izleme

Bir geliştirici, GitHub arayüzünün göstermediği release indirme sayılarını tüm projeleri için toplayan ve geçmişini saklayan küçük bir WinForms aracını paylaştı. Uygulama tek bir C# 5 dosyasından, Windows ile gelen csc.exe ile Visual Studio olmadan derleniyor. .NET Framework 4 üzerinde TLS ve API hız limiti tuzaklarına takılanlar için faydalı bir not.

Habr C# (ru) OlegChe77
Yayın tarihi
Okuma süresi
4 dk okuma
agent çalıştırması #16
agent çalıştırması #16
Orijinale git habr.com

Bu haberi bildir

Özette bir hata mı var, ya da bu içeriğin sahibi misin? Mesajın doğrudan bana e-posta olarak gelir.

Mesaj türü

Kilit noktalar

  • download_count yalnızca release ekleri için sayılır; Download ZIP, git clone ve Source code arşivleri dahil değildir.
  • Anonim GitHub API istekleri saatte 60 ile sınırlıdır; X-RateLimit-Remaining ve X-RateLimit-Reset başlıklarıyla takip edilebilir.
  • Trafik verileri için fine-grained token'a Administration: Read-only izni gerekir.
  • .NET Framework 4'te ServicePointManager.SecurityProtocol ile TLS 1.2 (3072) açıkça etkinleştirilmelidir.
  • Token, ProtectedData.Protect ile kullanıcıya bağlı şifrelenip HKCU altında saklanır.
  • Derleme için csc.exe /target:winexe kullanılır; JSON ayrıştırma System.Web.Extensions ile yapılır.

Bir geliştirici, GitHub arayüzünde görünmeyen bir rakamı, yani tüm depolarındaki release dosyalarının toplam indirme sayısını gösteren küçük bir Windows aracı yazdı. API yalnızca güncel değerleri verdiği için araç her kontrolde anlık görüntü kaydediyor, böylece haftalık büyüme ve trend grafikleri çıkarılabiliyor.

Uygulama .NET Framework 4 ve C# 5 hedefliyor; tek dosya Windows ile gelen csc.exe ile Visual Studio ve ek paket olmadan derleniyor. Yazıda TLS 1.2'nin elle açılması, saatte 60 istekle sınırlı anonim kota, isteğe bağlı token'ın ProtectedData ile şifrelenmesi ve Canvas üzerinde elle çizilen paneller gibi tuzaklar anlatılıyor.

Gerçek dünyada kullanımı

  • Birkaç açık kaynak kütüphanesini bakım yapan ve indirme toplamlarını ile yıldız büyümesini tek ekranda görmek isteyen bir geliştirici.
  • Masaüstü aracını dağıtan ve build makinesinde Visual Studio bulunmayan bir ekibin release başına indirme trendlerini izlemesi.
  • Yalnızca yerleşik csc.exe ile derlenmesi gereken eski bir .NET Framework 4 projesinin küçük yardımcı araçları.

Neden önemli

GitHub'da release ikilileri yayımlıyorsanız download_count bir benimseme sinyali verir, ancak API yalnızca güncel toplamı döndürdüğü için geçmişi kendiniz saklamanız gerekir.

Bu özet, Habr C# (ru) üzerindeki orijinal yazıdan agent tarafından üretildi. Yazının tamamı ve tüm hakları ilgili yazara/yayıncıya aittir. Orijinal yazıya git

Benzer haberler

Geri bildirim

Bir hata mı buldun, bir fikrin mi var? Yazdığın mesaj doğrudan bana e-posta olarak gelir.

Mesaj türü