Python ileri düzey görevler
Performans, eşzamanlılık, ayrıştırma ve güvenli kodlama becerilerini sınayan zorlu görevleri rehbersiz çözersin.
Seviye 401 · 15 ders · 18 pratik lab
Dersler
Ayrıştırma ve algoritma
- Görev: dört işlem yapan ifade çözümleyici
- Görev: satır tabanlı fark aracı
- Görev: önek ağacıyla otomatik tamamlama
- Görev: bağımlılık grafiğinde döngü bul
- Kısa görev: basit kural motoru
Sistem görevleri
- Görev: lab ağında eşzamansız servis envanteri
- Görev: dönen günlüğü kaçırmadan izle
- Görev: 100 MB bellekle 5 GB veriyi özetle
- Görev: dosya tabanlı dağıtık kilit
- Kısa görev: bağımlılıkları olan iş zamanlayıcı
Güvenlik görevleri
- Görev: kod tabanındaki beş güvenlik hatasını bul
- Görev: imzalı belirteç sistemi
- Görev: güvenli yapılandırma yorumlayıcı
- Kısa görev: açıklı servise yama ve gerileme testi
Bitirme
- Bitirme görevi: dosyaya yazan küçük anahtar-değer veritabanı
Pratik lablar
- Ters Polonya gösterimini hesaplamak: Boşlukla ayrılmış ters Polonya ifadesini yığınla hesaplayan, eksik işlenende anlaşılır hata veren fonksiyonu yaz.
- Mantıksal süzgeç ifadesi ayrıştırıcısı: ve, veya, değil ve parantez içeren süzgeç ifadelerini öncelik kurallarıyla ağaca çevir ve kayıt sözlükleri üzerinde değerlendir.
- Döngü ve koşullu küçük şablon dili: Değişken, koşul ve döngü etiketleri olan küçük şablon dilini eval kullanmadan yorumla; iç içe bloklar ve hatalı etiket testlerini geç.
- Önek ağacıyla şehir önerisi: Şehir adlarını önek ağacına yerleştir ve yazılan öneke uyan ilk beş adı alfabetik sırayla döndür.
- Derleme sırasını bağımlılıklardan çıkarmak: Paket bağımlılıklarından geçerli bir kurulum sırası üret; döngü varsa döngüyü oluşturan paketleri sırasıyla raporla.
- Üç yönlü ayar birleştirme: Ortak ata ile iki değiştirilmiş ayar dosyasını satır bazında birleştir; çakışan bölgeleri işaretle ve rastgele üretilmiş sürümlerle testleri geç.
- Dev dosyayı parça parça saymak: Belleğe sığmayan dosyanın satır ve bayt sayısını sabit boyutlu parçalarla, parça sınırındaki satırı bozmadan hesapla.
- Dönen günlüğü satır kaçırmadan izlemek: Günlük dosyası yeniden adlandırılıp yenisi açıldığında eski dosyanın kalanını bitirip yenisine geçen izleyiciyi yaz ve kayıp satır olmadığını kanıtla.
- Lab ağının hizmet envanterini çıkarmak: İzin listesindeki lab adreslerinin açık hizmetlerini ve karşılama satırlarını eşzamanlılık sınırı ve zaman aşımıyla topla, JSON envanteri üret.
- Belirteç karşılaştırmasını sabit zamanlı yapmak: Belirteçleri == ile karşılaştıran doğrulama fonksiyonunu hmac.compare_digest ile değiştir ve boş belirtecin reddedildiğini test et.
- Süreli ve anahtar kimlikli imzalı belirteç: HMAC imzalı belirtece son kullanma zamanı ve anahtar kimliği ekle; anahtar değişiminden sonra eski belirteçlerin süresi dolana dek doğrulandığını göster.
- Kusurlu hizmete yama ve regresyon testi: Poyrazlı Enerji'nin sayaç hizmetinde başkasının kaydını döndüren yetki kusurunu bul, kapat ve kusur geri gelirse kırılacak testi yaz.
- Bağımlılık döngülerini bulup raporlamak: Paket bağımlılık çizgesindeki döngüleri bul, her döngü için en kısa yolu yazdır ve döngüden etkilenen tüm paketleri listele; binlerce düğümde süre sınırı aşılmasın.
- Belleğe sığmayan dosyayı sıralamak: Bellek sınırından büyük bir kayıt dosyasını parçalara bölüp sırala ve parçaları tembel birleştirerek tek sıralı çıktı üret; geçici dosyalar iş bitince silinsin.
- İç içe ayarları derinlemesine birleştirmek: İki iç içe ayar sözlüğünü derinlemesine birleştiren fonksiyonu yaz; ikinci sözlük öncelikli olsun, listeler değiştirilsin ve girdiler bozulmasın.
- İki ayar arasındaki farkı çıkarıp uygulamak: İki iç içe ayar sözlüğü arasındaki eklenen, silinen ve değişen yolları fark listesi olarak çıkar ve bu listeyi eski sözlüğe uygulayınca yenisinin elde edildiğini göster.
- Lab hedefinde açık portu asenkron denetlemek: Lab hedefindeki verilen port listesine asyncio ile zaman aşımlı bağlantı dene ve açık, kapalı ve yanıtsız portları ayrı ayrı raporla.
- Lab servislerinin karşılama satırlarını sınırlı eşzamanlılıkla toplamak: Lab ağındaki servislerin karşılama satırlarını aynı anda en çok on bağlantıyla topla; yanıt vermeyen servisler işi bekletmesin ve sonuçlar adrese göre sıralı dönsün.
Kurs hakkında
Performans, eşzamanlılık, ayrıştırma ve güvenli kodlama becerilerini sınayan zorlu görevleri rehbersiz çözersin.
Ne öğreneceksin
- Ayrıştırma ve algoritma
- Sistem görevleri
- Güvenlik görevleri
- Bitirme
Ö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 ve ona bağlı özel bir lab ağında geçer. Kurulum gerekmez.
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.