Skip to content

A bunch of my dev notes, blog posts, and things I've learned while building stuff. Questions, thoughts, and comments are always welcome, let’s chat!

License

Notifications You must be signed in to change notification settings

hevalhazalkurt/dev-notes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 

Repository files navigation

Dev-Notes

You can check my personal blog for a better reading experience.


Python

Article Tags
Shallow vs Deep Copies in Python, What You Think You Know (but Might Not) copy, shallow copy, deep copy
Trash Talk: Understanding Python’s Garbage Collector gc module, memory, performance
The Power of yield from in Python Generators generators, yield from, fastapi
How Async/Await Evolved from Generator-Based Coroutines generators, async , asyncio
How Order Changes Behavior in Chained Decorators generators, async, decorators, order, auth, logging, retry
Creating Declarative APIs with Class Decorators in Python class, class decorators, declarative api, decorators, metaclass
Keys to Mastering Python Method Decorators class, method decorators, classmethod, staticmethod, property, factory methods, registry
The Danger of Overusing is Instead of == in Python equality, comparison
Behind the Underscores EP01: Understanding Python’s Special Methods Conceptually class, oop, special methods, dunder methods
Behind the Underscores EP02: Object Initialization and Construction Methods (__new__, __init__, __del__) class, oop, special methods, dunder methods, initialization, construction
Behind the Underscores EP03: String Representation Methods (__str__, __repr__, __format__) class, oop, special methods, dunder methods, string, representation
Behind the Underscores EP04: Arithmetic Methods (__add__, __sub__, __mul__) class, oop, special methods, dunder methods, math
Behind the Underscores EP05: Comparison Methods (__eq__, __lt__, __gt__) class, oop, special methods, dunder methods, comparison
Behind the Underscores EP06: Bitwise Methods (__and__, __or__, __xor__) class, oop, special methods, dunder methods, bitwise
Behind the Underscores EP07: Container protocol (__getitem__, __setitem__, __delitem__) class, oop, special methods, dunder methods, container
Behind the Underscores EP08: Length and iteration Methods (__len__, __iter__, __next__, __contains__) class, oop, special methods, dunder methods, iteration, length
Behind the Underscores EP09: Attribute Access (__getattr__, __getattribute__, __setattr__, __delattr__) class, oop, special methods, dunder methods, attribute access
Behind the Underscores EP10: Context Management (__enter__, __exit__) class, oop, special methods, dunder methods, context management
Behind the Underscores EP11: Callable Objects: __call__ class, oop, special methods, dunder methods, callable
Behind the Underscores EP12: Descriptor Protocol (__get__, __set__, __delete__) class, oop, special methods, dunder methods, descriptor protocol
Behind the Underscores EP13: Metaprogramming Methods (__class__, __bases__, __mro__, __instancecheck__) class, oop, special methods, dunder methods, metaprogramming
Understanding Async Context Managers in Python async, context manager, asyncio, connection pool, contextlib, fastapi
Implementing Singleton with Async/Await in Python async, singleton, design pattern, fastapi
How the GIL Affects Real Python Workloads gil, performance, asyncio, threading, multiprocessing, fastapi
Slotted classes with __slots__ in Python class, oop, special methods, dunder methods, memory, performance, dataclasses
The Art of Scope Management in Modular Python Design scope, sqlalchemy, fastapi, dependency injection
Designing Retryable Asynchronous APIs Using functools.partial and Custom Decorators rest api, async, fastapi, functools, decorators, retry, partial
Dataclasses vs Pydantic vs TypedDict vs NamedTuple in Python class, data model, dataclass, pydantic, typeddict, namedtuple, fastapi
Why Composition Beats Inheritance in Large-Scale Python Systems class, inheritance, composition, fastapi, payment
Encapsulation and Domain-Driven Design in Python Projects class, encapsulation, domain driven design (ddd), order
Instance vs Class vs Static Methods in Python class, instance, instance method, classmethod, staticmethod, function
Combining Abstract Classes with Factory and Strategy Patterns in Python class, abstract class, abc, abstractmethod, payment, notification, factory class
Architecting a Multithreaded Log Monitor in Python threading, gil, memory, performance, queue, logging
Advanced Shared State Management in Python Multiprocessing multiprocessing, shared states, context manager, shared memory
Mastering Task Lifecycle in Python’s asyncio asyncio, task, taskgroup, fastapi

Database & ORM

Article Tags
Designing Robust Transaction Management with Nested Transactions and Savepoints in SQLAlchemy sqlalchemy, transaction, savepoint, nested, commit, rollback, retry
Optimistic vs. Pessimistic Locking in ORMs locking, sqlalchemy, row-level, table-level, advisory-level
Designing Reusable and Scalable ORM Models with Declarative Base and Mixins sqlalchemy, declarative base, mixin, declared_attr, registry, soft delete, uuid, timestamp, audit
How to Defeat the N+1 Problem with joinedload, selectinload, and subqueryload sql, sqlalchemy, relationships, n+1, performance, query, lazy loading, joinedload, selectinload, subqueryload, bookstore
Handling Data in Alembic Migrations When Schema Changes Aren’t Enough sql, migration, alembic, data model, schema, enum, denormalization
Building Secure and Scalable Multitenant Systems Basics for B2B SaaS sql, sqlalchemy, multitenant, saas, data schema, data model, event listener, user roles
Database Schema Design Patterns for Building Scalable E-commerce Applications sqlalchemy, relationships, data schema, one-to-many, many-to-many, normalize, denormalize, polymorphic, e-commerce
The Art of Not Losing Your Data (or Your Mind) with Isolation Levels sql, sqlalchemy, isolation, acid, serializable, phantom read
Explicit vs Implicit Transaction Management in ORMs sqlalchemy, transaction, session, async, acid, context manager, fastapi, savepoint, nested, retry, event listener
The Ultimate Guide to Full Text Search and Filter Implementation with PostgreSQL and SQLAlchemy postgresql, sqlalchemy, full text search, filter, sql function, TSVector, TSQuery, __table_args__, film
Connection Pooling Deep Dive with SQLAlchemy sqlalchemy, connection pool, fastapi, QueuePool, event listener, prometheus_client, gunicorn, asyncpg
Managing Bidirectional Relationships in SQLAlchemy with backref and back_populates sqlalchemy, relationships, backref, back_populates, blog
When to Choose NoSQL Over SQL sql, nosql
Designing Scalable Order Systems with SQLAlchemy Hybrid & Column Properties sqlalchemy, column property, hybrid property, expression, hybrid method, relationships, e-commerce, order
Queries Taking Forever? Partitioning Might Be Your Answer postgresql, sqlalchemy, partitioning, e-commerce
A Pythonic Approach to Scaling PostgreSQL From Monolith to Shards postgresql, sqlalchemy, sharding
Putting Your Backend on Autopilot with SQLAlchemy Events postgresql, sqlalchemy, events, user

Design Patterns and Architecture

Article Tags
One Menu, Two Baristas: Handling SQL & NoSQL with the Repository Pattern repository pattern, design pattern, architecture, postgresql, sqlalchemy, mongodb, sql, nosql
Webhooks: “Don't Call Us, We'll Call You” webhooks, fastapi, api, event, design pattern

Frameworks

Article Tags
FastAPI Middleware vs. Dependencies, A Guide to Choosing the Right Tool fastapi, depends, middleware

Tests

Article Tags
Optimizing Your Tests with Pytest Scopes pytest, fixtures, scopes, performance

About

A bunch of my dev notes, blog posts, and things I've learned while building stuff. Questions, thoughts, and comments are always welcome, let’s chat!

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published