Advanced
materials
Explore advanced programming techniques and concepts with detailed breakdowns and complex projects.
Advanced materials
Carefully selected articles for your level
Event Loop in Python: How asyncio Enables Concurrent Execution
Event loop is the heart of asyncio. It doesn't run code in parallel across multiple threads. Instead, it switches between...
pytest-django: Testing Django
Covered topics: Installation, @pytest.mark.djangodb, Fixtures, Testing views.
Async Context Managers: async with and @asynccontextmanager
Async context managers manage resources in async code β connections, files, transactions.
asyncio: Timeouts, Task Cancellation and Graceful Shutdown
Three things you absolutely need in production async code.
asyncio: Queue, Lock, Semaphore β Synchronization Without Threads
In async code multiple coroutines run concurrently in a single thread. Race conditions can still happen β and asyncio provides...
Password Hashing with Argon2 and pwdlib
If a database is leaked, strong password hashing prevents immediate recovery of plaintext passwords and makes offline guessing expensive. It...
Async Generators and Async Iterators in Python
Async generators are a way to lazily produce data in an async context. Perfect for streaming, pagination and processing large...
asyncio.gather, create_task and TaskGroup: Concurrency in Practice
Three ways to run multiple coroutines concurrently. Each has its own niche.
AI Agents: ReAct Loop and Autonomous Actions
A chatbot answers questions. An agent takes action: it calls tools, retrieves real data, and uses that data in its...
AsyncAnthropic: Async Client for the Claude API
AsyncAnthropic is the asynchronous version of the Anthropic client. It uses async/await and integrates with the asyncio event loop.
Embeddings: Coordinates of Text in Semantic Space
An embedding is a numerical vector that represents a piece of text. Texts that are similar in meaning get vectors...
Tool Use in the Claude API: Agents with Tools
Tool use lets Claude call functions in your code β fetching weather, reading files, running searches. Claude decides when to...
Other difficulty levels
Choose the level that suits you
For beginners
Simple and clear materials for programming beginners
Medium level
In-depth materials for developing practical skills
Expert level
Advanced technologies and architectural solutions
Keep developing
Study materials of different levels and gradually improve your skills