Advanced #
- Multi Threading
- Panduan lengkap multi threading di Python — membuat thread, menghindari race condition dengan Lock, komunikasi antar thread dengan Event, Semaphore, ThreadPoolExecutor, dan kapan threading efektif digunakan.
- Multi Process
- Panduan lengkap multiprocessing di Python — perbedaan proses vs thread, Process Pool, komunikasi antar proses dengan Queue dan Pipe, shared state dengan Manager, dan kapan multiprocessing lebih tepat dari threading.
- Context Manager
- Panduan lengkap context manager di Python — cara kerja protokol __enter__ dan __exit__, membuat context manager kustom dengan kelas dan @contextmanager, menangani eksepsi di dalam konteks, dan penggunaan ExitStack untuk manajemen sumber daya dinamis.
- Decorator
- Panduan lengkap decorator di Python — cara kerja fungsi sebagai first-class object, decorator dasar, penggunaan @wraps, decorator berargumen, decorator untuk kelas, stacking decorator, dan decorator bawaan Python seperti @property, @staticmethod, dan @classmethod.
- Socket
- Panduan lengkap socket di Python — cara kerja TCP dan UDP, lifecycle koneksi, server multi-klien dengan threading, penanganan error dan timeout, SO_REUSEADDR, serta kapan memilih TCP vs UDP.
- Web Socket
- Panduan lengkap WebSocket di Python — perbedaan dengan HTTP, proses handshake, server echo dan broadcast multi-klien, pengiriman JSON, penanganan disconnect, keepalive dengan ping/pong, dan kapan WebSocket lebih tepat dari alternatif lain.
- Web Server
- Panduan lengkap web server di Python — http.server untuk development, Flask untuk REST API ringan, FastAPI dengan type hints dan validasi otomatis, Django untuk aplikasi full-featured, perbandingan WSGI vs ASGI, dan panduan memilih framework yang tepat.
- Unit Test
- Panduan lengkap unit testing di Python — struktur test case dengan unittest, assertions yang tepat, fixtures setUp dan tearDown, menguji eksepsi dengan assertRaises, subTest untuk banyak input, organisasi file test, dan menjalankan test dari command line.
- Mocking
- Panduan lengkap mocking di Python — Mock vs MagicMock, patch path yang benar, patch.object, parameter spec untuk type safety, return_value vs side_effect, mock assertions, dan anti-pattern mocking yang harus dihindari.