Feb 19 · 3 min read · As software developers, we often focus on making things work. But as systems grow, teams expand, and requirements change, a more important question arises: Can this code survive change? This is where design principles come into play. Design princip...
Join discussion
Feb 12 · 11 min read · Why Traditional OOP Approaches Fail in Modern Systems The object-oriented programming taught in computer science curricula often emphasizes inheritance hierarchies and tight coupling—patterns that create brittle systems in distributed environments. W...
Join discussionJan 27 · 13 min read · In software development, particularly object-oriented programming and design, object creation is a common task. And how you manage this process can impact your app's flexibility, scalability, and maintainability. Creational design patterns govern how...
Join discussion
Jan 26 · 5 min read · Even if we say that humans are made of information structures, few people would believe it. After all, the human body is entirely a physical structure. However, consider a person introducing themselves. Is the content of that introduction a descripti...
Join discussionJan 13 · 5 min read · Definition Conceptual abstraction is a long-standing principle in software design—one that appears wherever systems are expected to survive change. When conceptual abstraction is discussed in the context of REST, it can sometimes feel like a REST-spe...
Join discussion
Jan 6 · 5 min read · Up to this point, Django’s authorization system has been deliberately conservative. — Permissions are static.— They are model-scoped.— They express capability, not context. If permissions were meant to answer every authorization question, they would ...
Join discussion
Jan 5 · 5 min read · By the time a system reaches any meaningful size, the question is no longer whether authorization exists, but where complexity is allowed to live. Django’s permission system is deliberately narrow. It refuses context. It refuses state. It refuses to ...
Join discussion
Jan 4 · 4 min read · Up to this point, permissions have been discussed as concepts and conventions. They have been named, generated, and reasoned about—but not yet observed. This part removes the abstraction layer. Here, authorization becomes concrete. It becomes rows, f...
Join discussion
Jan 3 · 4 min read · By this point in the series, several foundations are already in place. Permissions are not logic. They are data. ContentTypes exist to provide stable, database-level model identity. Authorization in Django depends on identifiers, not Python object...
Join discussion