PowerShell ileri düzey: performans, runspace ve araç tasarımı
Büyük veride performansı ölçer, runspace ile eşzamanlılığı yönetir, .NET'i doğrudan kullanır ve yayına hazır, güvenli PowerShell araçları tasarlarsın.
Seviye 401 · 13 ders · 15 pratik lab
Dersler
Performans
- Measure-Command ile ölçmek ve darboğaz bulmak
- Boru hattı mı döngü mü: büyük veride fark
- Dizi büyütmenin bedeli: List ve StringBuilder
- Kısa görev: bir saatlik raporu beş dakikaya indir
Eşzamanlılık ve .NET
- Runspace havuzlarıyla eşzamanlılık
- İş parçacığı güvenliği ve paylaşılan veri
- .NET sınıflarını doğrudan kullanmak
- Kısa görev: yüz uç noktayı sınırlı eşzamanlılıkla yokla
Araç tasarımı
- Doğru çıktı: tür adları ve biçim dosyaları
- Dinamik parametreler ve argüman tamamlayıcılar
- Güvenli araç: girdi doğrulama, imzalama ve en az yetki
- Modül yayın hattı: test, imza, yayın
- Bitirme görevi: hızlı ve test edilmiş bir denetim modülü yayınla
Pratik lablar
- Yavaş betiğin darboğazını ölç: Rapor betiğinin bölümlerini Measure-Command ile ölç ve en çok zaman alan bölümü cevap olarak gir.
- Büyüyen diziyi List ile değiştir: Döngüde += ile dizi büyüten kodu List ve StringBuilder ile yeniden yaz ve hız kazancını ölç.
- Bir saatlik raporu beş dakikaya indir: Büyük CSV'yi iç içe döngülerle eşleyen raporu karma tablo aramasıyla yeniden yaz ve sonucun aynı kaldığını doğrula.
- Büyük dosyada boru hattı ile döngüyü karşılaştır: Aynı süzmeyi boru hattı, foreach ve .NET okuyucuyla yap, süreleri ve bellek kullanımını tabloya yaz.
- Ölçümü yineleyerek güvenilir kıyaslama yap: İki dizgi birleştirme yöntemini Measure-Command ile onar kez ölç, ilk çalıştırmanın ısınma etkisini ayır ve ortalama ile en kötü süreyi tabloya dök.
- Sürenin girdi boyutuyla nasıl büyüdüğünü çıkar: Üç arama yöntemini bin, on bin ve yüz bin kayıtla ölçen yeniden kullanılabilir bir kıyaslama işlevi yaz; süre ve bellek sonuçlarını nesne olarak döndür ve hangi boyuttan sonra hangi yöntemin öne geçtiğini raporla.
- Var olan Pester testlerini çalıştır ve sonucu oku: Denetim modülünün test klasörünü Invoke-Pester ile çalıştır, başarısız olan testin adını ve beklenen ile gelen değeri cevap dosyasına yaz.
- İşleve Pester testleri yaz: Denetim modülündeki bir işlev için geçerli girdi, hatalı girdi ve boş girdi durumlarını sınayan Pester testleri yaz ve hepsini geçir.
- Denetim modülünü testli sürüm olarak yayımla: Modülü test eden, çözümleyiciden geçiren, sürümünü artıran ve yerel depoya yayımlayan bir yayın betiği yaz.
- Uç noktaları sınırlı eşzamanlılıkla yokla: Yerel uç nokta listesini aynı anda en çok on istekle yokla ve yanıt vermeyenleri listele.
- Paralel sayaçtaki yarış durumunu düzelt: Paralel çalışınca yanlış toplam veren sayacı iş parçacığı güvenli bir koleksiyonla düzelt.
- Runspace havuzuyla dosya özetlerini hesapla: Binlerce dosyanın özetini runspace havuzuyla hesaplayan, hataları toplayan ve havuzu düzgün kapatan fonksiyon yaz.
- Çıktıya tür adı ve varsayılan görünüm ver: Fonksiyonun döndürdüğü nesnelere tür adı ekle ve varsayılan olarak dört sütunlu tablo gösteren biçim dosyası yaz.
- Parametreye bağlama duyarlı tamamlama ekle: Servis adı parametresine, çalışan servisleri öneren bir argüman tamamlayıcı ekle.
- Aracı girdi doğrulaması ve en az yetkiyle sıkılaştır: Yol parametresiyle dizin dışına çıkılabilen aracı girdi doğrulamasıyla kapat ve yalnızca gereken yetkiyle çalıştır.
Kurs hakkında
Büyük veride performansı ölçer, runspace ile eşzamanlılığı yönetir, .NET'i doğrudan kullanır ve yayına hazır, güvenli PowerShell araçları tasarlarsın.
Ne öğreneceksin
- Performans
- Eşzamanlılık ve .NET
- Araç tasarımı
Ön koşullar
Aynı yolun 301 düzeyine kadar olan konularını uygulamış olmalısın.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde geçer. Kurulum gerekmez; lab her derste temiz başlar.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 401 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.