Loading...

Skip to content
MemonaIQ
ToolsLearnCompany
Sign in
ToolsLearnCompanyBrowse all tools
HomeKnowledge CenterSoftware Engineering
Software Engineering

Software Engineering

Design principles, architecture, dependency injection, concurrency, queues and testing, with trade-offs rather than rules.

8
Guides
35 min
Reading

Start here

First read5 min read

SOLID principles explained, with practical examples

What each of the five SOLID principles means, the change problem it addresses, a short example of each, and when applying them rigidly makes code worse.

Read guide

Beginner

2 guides

DRY, KISS and YAGNI: clean code principles in practice

What DRY, KISS and YAGNI mean, why DRY is about knowledge rather than similar code, how naming helps, and when an abstraction costs more than duplication.

4 min read

The test pyramid: unit, integration and end-to-end tests

What the test pyramid recommends and why, how unit, integration and end-to-end tests differ, what makes tests flaky, and which tests to automate in CI first.

4 min read

Intermediate

3 guides

Dependency injection explained, with TypeScript examples

What dependency injection is, how constructor injection works in TypeScript, how it relates to IoC and DI containers, and when a function argument is enough.

4 min read

Monolith vs microservices: trade-offs and when to split

How monoliths and microservices differ in deployment, data ownership, teams and operating cost, why a modular monolith is a middle path, and when to split.

4 min read

Message queues and event-driven architecture explained

Queues vs pub/sub, why at-least-once delivery needs idempotent consumers, how ordering, retries and dead-letter queues work, and when to avoid events.

5 min read

Advanced

2 guides

Clean architecture: the dependency rule, ports and adapters

How clean architecture keeps business rules free of frameworks: the dependency rule, use cases, ports and adapters, folder layout and when it is overkill.

4 min read

Race conditions: causes, examples and how to prevent them

What a race condition is, concurrency vs parallelism, a lost-update example, and the fixes: atomic updates, locks, isolation levels and idempotency keys.

5 min read

Tools for this topic

Try what these guides describe on your own URLs, domains, code or files.

API Contract & Breaking Change Analyzer

Compare two versions of a service's OpenAPI document and see which changes could break existing callers.

Open tool

Other topics

NetworkingDNS & DomainsHTTP & The WebTLS & Web Security
All Knowledge Center topics
MemonaIQ

Focused tools for everyday digital work.

  • 18 focused tools
  • 9 run in your browser
Browse all tools Get help

Featured tools

URL Intelligence PlatformImage CompressorInvoice StudioDNS LookupAI Token Counter

Explore

All toolsKnowledge CenterGuidesResourcesCompany

Support

HelpContactSecurity

Legal

PrivacyTermsCookies

© 2026 MemonaIQ. Made in Colombo.

Back to top

MemonaIQ