SOCKET PROGRAMMING IN PYTHON: ADVANCED TOPICS EĞİTİMİ

Python ile ölçeklenebilir ağ uygulamaları yazın

Çok istemcili sunucular, kendi protokolünüz, TLS ve proxy gibi ileri düzey soket uygulamaları geliştirin.

Bu eğitim temel soket bilgisini ileri uygulamalara taşır: thread, selectors ve asyncio ile çok istemcili sunucular, TCP akışı üzerinde uzunluk önekli mesaj çerçeveleme, kendi uygulama protokolünüzün tasarımı, ssl modülüyle TLS, TCP proxy, ham soket ve Wiresha…

2 gün İleri Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Soket programlamayı eşzamanlılık, protokol ve güvenlik düzeyinde derinleştirin.

Bu eğitim temel soket bilgisini ileri uygulamalara taşır: thread, selectors ve asyncio ile çok istemcili sunucular, TCP akışı üzerinde uzunluk önekli mesaj çerçeveleme, kendi uygulama protokolünüzün tasarımı, ssl modülüyle TLS, TCP proxy, ham soket ve Wireshark ile ağ trafiği analizi uygulamalı olarak işlenir.

Süre ve Format

2 Gün. Her gün dört modül; sabah teknik ve kod, öğleden sonra uygulama ve Wireshark analizi; ikinci gün sohbet/proxy projesi.

Seviye

İleri Seviye — eşzamanlı sunucular, mesaj çerçeveleme, TLS ve ağ araçları geliştirme ile ileri soket programlama

Öğrenme Metodu

Her uygulama sunucu ve istemci olarak iki terminalde yazılır, Wireshark ile trafik gözlemlenerek doğrulanır.

Neden Bu Eğitim?

🎯Eşzamanlılık

Thread, select ve asyncio modellerinin ölçeklenme farkını ölçerek görürsünüz.

🛠️Protokol Tasarımı

TCP bayt akışı üzerinde güvenilir mesaj sınırları olan protokoller tasarlarsınız.

📈Güvenli Ağ

TLS ve girdi doğrulama ile güvenli soket uygulamaları yazarsınız.

Anahtar Konular

Python socket programlamaasyncio sunucuTCP sunucu Pythonssl TLS Pythonmesaj çerçevelemeselectors epollağ programlamaWireshark Python
“Ağı anlayan, uygulamasını da anlar.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Temel soketler

TCP istemci/sunucu mantığı ve socket modülü bilinmelidir.

2
Python

Sınıf, thread ve temel asyncio bilgisi gerekir.

3
Ağ bilgisi

TCP/IP, port ve DNS kavramlarına aşinalık beklenir.

4
Ortam

Python 3.10+, Wireshark ve iki terminal penceresi yeterlidir.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı çok istemcili sunucu yazar ve kendi mesaj protokolünü tasarlar.
Modül 1
Çoklu İstemci: Thread, select ve asyncio
  • threading ile istemci başına iş parçacığı modeli
  • socketserver.ThreadingTCPServer kullanımı
  • select ve selectors (epoll/kqueue) ile olay döngüsü
  • asyncio.start_server, StreamReader ve StreamWriter
  • Eşzamanlılık modellerinin ölçeklenebilirlik karşılaştırması
  • Yarış koşulları ve Lock ile paylaşılan durum koruması
Modül 2
Mesaj Çerçeveleme ve Protokol Tasarımı
  • TCP'nin bayt akışı doğası ve kısmi okuma problemi
  • Uzunluk önekli (struct.pack) mesaj çerçeveleme
  • Sınırlayıcı tabanlı (newline) protokoller
  • JSON ve pickle ile veri serileştirme, pickle güvenlik riski
  • Sürüm alanı, başlık yapısı ve hata kodlu protokol
  • Basit dosya aktarım protokolü uygulaması
Modül 3
Eşzamanlılık: threading, multiprocessing, asyncio
  • GIL'in anlamı ve CPU-bound/IO-bound ayrımı
  • threading, Lock ve concurrent.futures.ThreadPoolExecutor
  • multiprocessing.Pool ve ProcessPoolExecutor
  • asyncio: async/await, gather, create_task ve aiohttp
  • Kuyruk tabanlı üretici–tüketici deseni
  • Zaman ölçümü ve profilleme ile model karşılaştırması
Modül 4
İleri Python: Dekoratör, Generator, Tip Sistemi
  • Birinci sınıf fonksiyonlar, closure ve dekoratör yazımı (functools.wraps)
  • Generator, yield from ve itertools
  • Bağlam yöneticisi (contextlib) ve özel __enter__/__exit__
  • typing: Optional, Union, Protocol, TypedDict ve generics
  • Veri sınıfları, dataclass(frozen=True) ve Enum
  • Dunder metotlar ve operatör aşırı yükleme
Günün hedefiKatılımcı TLS'li ve proxy içeren ağ uygulamaları geliştirir ve trafik analizi yapar.
Modül 1
SSL/TLS, Güvenlik ve Hata Ayıklama
  • ssl.create_default_context ile TLS istemci/sunucu
  • Sertifika doğrulama, kendi imzalı sertifika ve openssl komutları
  • Zaman aşımı (settimeout), non-blocking mod ve keepalive
  • Girdi doğrulama ve servis reddi risklerine karşı sınırlar
  • Wireshark ile TCP el sıkışması ve payload inceleme
  • Nagle algoritması, TCP_NODELAY ve tampon boyutu ayarı
Modül 2
Gelişmiş Ağ Uygulamaları: Proxy, Raw Socket, Sohbet
  • TCP proxy ve port yönlendirme aracı
  • SOCK_RAW ile ham paket okuma ve ICMP (yetki gereksinimi)
  • Basit HTTP sunucusu ve istemcisi sıfırdan
  • Oda tabanlı çok kullanıcılı sohbet sunucusu
  • Kalp atışı (heartbeat) ve yeniden bağlanma mantığı
  • UNIX domain socket ve süreçler arası iletişim
Modül 3
UDP Soketleri ve Ağ Adresleme
  • SOCK_DGRAM, sendto ve recvfrom ile datagram iletişimi
  • TCP ile UDP arasındaki güvenilirlik ve akış farkı
  • Broadcast ve multicast (IP_ADD_MEMBERSHIP) örnekleri
  • socket.gethostbyname, getaddrinfo ve DNS çözümleme
  • IPv4 ve IPv6 (AF_INET6) desteği, ipaddress modülü
  • Basit port tarayıcı ve ping benzeri araç yazımı
Modül 4
Python ile Birim Test ve Kalite
  • pytest fixture, parametrize ve assert yapısı
  • unittest.mock ile bağımlılıkları taklit etme
  • Kapsam ölçümü: coverage.py ve pytest-cov
  • Tip ipuçları (type hints) ve mypy ile statik denetim
  • ruff/flake8 ve black ile otomatik biçimlendirme
  • pre-commit ve GitHub Actions ile test otomasyonu

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Eşzamanlı sunucular

thread, selectors ve asyncio ile çok istemcili sunucu yazabilirsiniz

⚙️
Protokol tasarımı

TCP akışı üzerinde mesaj sınırlarını yöneten kendi protokolünüzü tasarlayabilirsiniz

🔍
Python eşzamanlılığı

GIL'i dikkate alarak thread, process ve asyncio arasında doğru seçim yapabilirsiniz

📊
İleri Python

dekoratör, generator ve tip ipuçlarını kullanarak idiomatik Python yazabilirsiniz

🧩
Güvenli soketler

ssl modülüyle şifreli bağlantı kurup soket uygulamalarını Wireshark ile ayıklayabilirsiniz

🚀
Ağ uygulamaları

proxy ve çok kullanıcılı sohbet gibi gerçekçi ağ uygulamaları geliştirebilirsiniz

🔒
UDP ve adresleme

UDP datagram ve yayın (broadcast) iletişimini TCP ile kıyaslayarak uygulayabilirsiniz

📦
Python kod kalitesi

pytest ile test yazıp kod kalitesini araçlarla denetleyebilirsiniz

Kimler İçin Uygundur?

  • Ağ programcıları
  • backend geliştiricileri
  • siber güvenlik
  • sistem uzmanları

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Ağ programcıları, backend geliştiricileri, siber güvenlik ve sistem uzmanları. Ön bilgi beklentileri için eğitimin ön koşullar bölümüne bakabilirsiniz.
Giriş seviyesi eğitimi almam şart mı?
Temel TCP istemci/sunucu bilgisi yeterlidir; ileri konulara hızlıca geçilir.
Web çerçevelerinden farkı nedir?
Burada HTTP üstü çerçeve yerine doğrudan TCP/UDP katmanında çalışılır; protokol ve eşzamanlılık kontrolü sizdedir.
Eğitim sonunda sertifika verilir mi?
Katılım ve başarı koşullarını yerine getiren katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.
Eğitim uygulamalı mı ilerliyor?
Her uygulama sunucu ve istemci olarak iki terminalde yazılır, Wireshark ile trafik gözlemlenerek doğrulanır. Süre 2 gündür; her gün dört modül işlenir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Socket Programming in Python: Advanced Topics Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre2 gün
Seviyeİleri Seviye
FormatOnline / Yüz Yüze / Hibrit
KonuPython
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

PythonComplex Data Types in Python: Working with Lists & Tuples in Python Eğitimi
Yazılım Geliştirme Eğitimleri

Complex Data Types in Python: Working with Lists & Tuples in Python Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

Python liste ve tuple eğitimi: indeksleme, dilimleme, sort/sorted, comprehension, tuple unpacking, namedtuple, deque ve bellek-hız karşılaştırmaları.

Detayları Gör →
PythonConditional Statements & Loops: Advanced Operations Using for Loops in Python Eğitimi
Yazılım Geliştirme Eğitimleri

Conditional Statements & Loops: Advanced Operations Using for Loops in Python Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

Python ileri for döngüleri eğitimi: iç içe döngüler, enumerate, zip, comprehension, generator, itertools ve performans karşılaştırmalı uygulamalar.

Detayları Gör →
PythonConditional Statements & Loops: If-else Control Structures in Python Eğitimi
Yazılım Geliştirme Eğitimleri

Conditional Statements & Loops: If-else Control Structures in Python Eğitimi

2 günBaşlangıçOnline / Yüz Yüze / Hibrit

Python if-else eğitimi: if, elif, else, karşılaştırma ve mantıksal operatörler, truthiness, match-case ve kullanıcı girdisiyle karar verme uygulamaları.

Detayları Gör →
PythonConditional Statements & Loops: The Basics of for Loops in Python Eğitimi
Yazılım Geliştirme Eğitimleri

Conditional Statements & Loops: The Basics of for Loops in Python Eğitimi

2 günBaşlangıçOnline / Yüz Yüze / Hibrit

Python for döngüleri temel eğitimi: range, liste, string ve sözlük dolaşımı, enumerate, zip, break, continue ve iç içe döngülerle uygulamalı alıştırmalar.

Detayları Gör →
PythonConditional Statements & Loops: While Loops in Python Eğitimi
Yazılım Geliştirme Eğitimleri

Conditional Statements & Loops: While Loops in Python Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

Python while döngüleri eğitimi: sayaç ve biriktirici, break, continue, while-else, girdi doğrulama, sonsuz döngü ayıklama ve dosya/kuyruk işleme uygulamaları.

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn