PowerShell ile araç geliştirme
Sınıflar, .NET, paralel işler ve ikili modüllerle ekibinin her gün kullanacağı, sürümlenmiş ve belgeli araçlar üretirsin.
Seviye 501 · 13 ders · 12 pratik lab
Dersler
Dil derinliği
- Sınıflar ve enum’lar
- .NET türlerini doğrudan kullanmak
- ForEach-Object -Parallel ve runspace’ler
- REST API’lerle çalışmak: Invoke-RestMethod
- Hata kayıtları ve araç içi günlükleme
- Kısa görev: yüz sunucuyu paralel denetleyen fonksiyon yaz
Ürünleştirmek
- Modül klasör düzeni ve derleme betiği
- Yardım belgelerini otomatik üretmek
- Sürümleme, değişiklik günlüğü ve iç depo
- Windows ve Linux’ta aynı aracın çalışması
- Aracın hızını ölçmek ve iyileştirmek
- Kısa görev: modülünü sürümle ve iç depoya yayımla
Kapanış
- Bitirme görevi: ekip için uçtan uca yönetim aracı yaz ve yayımla
Pratik lablar
- Durumu enum olan kayıt sınıfı: Destek kaydı için durum enum’u ve doğrulama yapan bir sınıf yaz; geçersiz durum atamasının hata verdiğini ve nesnenin okunaklı bir metne dönüştüğünü göster.
- IP adreslerini doğru sırala: Metin olarak yanlış sıralanan IP adresi listesini .NET türlerini kullanarak sayısal sıraya koy, yinelenenleri ayıkla ve geçersiz adresleri ayrı bir listeye al.
- Sıralanabilen ve güzel görünen nesneler: Sürüm numarası sınıfını Sort-Object ile doğru sıralanacak şekilde karşılaştırılabilir yap ve tabloda yalnızca seçili sütunları gösteren özel bir biçim görünümü ekle.
- Sayfalı API’den toplam: Lab’daki yerel envanter API’sini Invoke-RestMethod ile sayfa sayfa dolaş, tüm kayıtları topla ve duruma göre sayıları raporla.
- Paralel çalışınca eksilen sonuçlar: Paralel döngüde sonuçları kaybeden betiği dış değişken kullanımı ve iş parçacığı güvenli koleksiyonla düzelt, eşzamanlılık sınırı koy ve sonuç sayısının girdi sayısına eşit olduğunu göster.
- Sınırlayan ve oturumu düşüren API: Hız sınırı ve süresi dolan belirteç hatalarında artan bekleme ile yeniden deneyen ve belirteci yenileyen paralel bir istemci yaz ve tüm kayıtların eksiksiz ve yinelenmeden alındığını kanıtla.
- Büyüdükçe yavaşlayan döngü: Diziye her turda ekleme yaptığı için yavaşlayan döngüyü uygun koleksiyonla yeniden yaz ve Measure-Command ile öncesi/sonrası süreyi karşılaştır.
- Aracın düzgün günlüğü: Araca düzeyli ve satır başına bir JSON nesnesi yazan günlükleme ekle; hata kayıtlarının ayrıntılarıyla günlüğe girdiğini ve ayrıntı akışlarının yalnızca istendiğinde göründüğünü göster.
- On kat hızlanması gereken araç: Demirhan Makine’nin rapor aracındaki üç darboğazı ölçerek bul (döngü içi süzme, yinelenen dosya okuma, metin birleştirme), çıktıyı değiştirmeden gider ve hedef hızlanmaya ulaştığını ölçümle kanıtla.
- Yardımı belgelere dönüştür: Modüldeki yorum tabanlı yardımdan her komut için bir belge sayfası üret, eksik örneği olan komutları bul ve tamamla.
- Tek komutla derlenen modül: Fonksiyon dosyalarını tek modül dosyasında birleştiren, bildirimdeki sürümü artıran, değişiklik günlüğünü güncelleyen ve testler geçerse çıktıyı klasöre koyan bir derleme betiği yaz.
- Linux’ta çalışmayan araç: Yol ayırıcıları, büyük-küçük harf duyarlılığı ve yalnızca Windows’ta bulunan komutlar yüzünden Linux’ta bozulan aracı iki sistemde de çalışır hâle getir ve ön sürüm olarak iç depoya yayımla.
Kurs hakkında
Sınıflar, .NET, paralel işler ve ikili modüllerle ekibinin her gün kullanacağı, sürümlenmiş ve belgeli araçlar üretirsin.
Ne öğreneceksin
- Dil derinliği
- Ürünleştirmek
- Kapanış
Ön koşullar
Aynı yolun 401 düzeyine kadar olan konularında deneyimli 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 501 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.