Search
Lessons (40)
- Meaningful Names
… Learn simple rules for naming variables, functions and classes so code explains itself. The big idea A name …
- Services & Ingress
… Prefix backend: { service: { name: orders-api, port: { number: 80 } } } - path: /products pathType: Prefix backend: { service: { name: catalog-api …
- Helm, kubectl Cheat Sheet & Best Practices
… name: {{ .Release.Name }} spec: replicas: {{ .Values.replicaCount }} template: spec: containers: - name: api image: "{{ .Values.image.repository }}:{{ .Values.image …
- DRY: Don't Repeat Yourself
… Merging them couples things that should change independently. js // These look identical… const validateProductName = (name) = name.length 0 …
- ConfigMaps, Secrets & Storage
… containers: - name: api image: registry.example.com/shop-api:1.9.0 envFrom: - configMapRef: { name: shop-api-config …
- Kubernetes Cluster Architecture
… virtual clusters A namespace is a folder inside the cluster that groups resources and scopes names, permissions and …
- Normalization & Denormalization
… We will normalize one deliberately bad order table: order id customer name customer email product id product name …
- Structural Patterns: How to Connect Objects
… each wraps a function and returns a function with the same shape const withLogging = (fn, name) = async (...args …
- Frontend Testing Strategy
… One behaviour per test, with a name that reads like a sentence. Component tests with Testing Library ⭐ Testing …
- Small Functions That Do One Thing
Short, focused functions are easy to name, test and reuse. Learn how to spot a function doing too …
- Pods
… containers: - name: web image: nginx:1.27 ports: - containerPort: 80 bash kubectl apply -f pod.yaml kubectl get …
- I — Interface Segregation Principle
… string; name: string }) { return <img src={src} alt={name} / ; } <Avatar src={user.avatarUrl} name={user.displayName} / <Avatar src …
- Microkernel (Plugin) Architecture
… this { if (this.plugins.some((p) = p.name === plugin.name)) throw new Error( Plugin ${plugin.name} already registered …
- What Are Design Patterns?
Design patterns are named, reusable solutions to problems that keep coming up in software design. Meet the three …
- React Fundamentals
… cart, products"] -- products, onAdd PL[ProductList] PL -- name, price, onAdd PC1[ProductCard] PL -- name, price, onAdd PC2[ProductCard …
- SQL vs NoSQL Databases
… 17, name: "Ana", email: "ana@mail.com" }, items: [ { productId: 5, name: "Keyboard", qty: 1, priceCents: 4999 }, { productId: 9 …
- What Is Clean Code?
… subtotal; } What changed? 1. Names explain intent: calc became orderTotal , and a[i].s === 1 became item.inStock …
- System Design Interview Framework
… 4. Model data and name each source of truth. 5. Define APIs with authorization and idempotency. 6. Deep …
- SQL Interview Query Drills
… Find repeated rows SELECT name, section, COUNT( ) AS copies FROM students GROUP BY name, section HAVING COUNT( ) 1 …
- S — Single Responsibility Principle
… split by actor js // ✅ One reason to change each class Employee { constructor(id, name, hourlyRate) { Object.assign(this …
- React Hooks in Practice
… order changes between renders if (user) { const [name, setName] = useState(user.name); } // ✅ Always call it; put the condition …
- Deployments, ReplicaSets & Rollouts
… containers: - name: api image: registry.example.com/shop-api:1.8.0 ports: [{ containerPort: 3000 }] resources: requests: { cpu …
- JavaScript Essentials: Event Loop, Closures & this
… plain call setTimeout(() = console.log(this.name), 0); // ✅ "Ana": arrow inherits this }, }; user.greet(); // "Hi, Ana" const greet …
- Comments & Formatting
… Comments that replace a good name js // ❌ // check if the user can get a discount if (user.orders …
- TypeScript Essentials
… number; name: string; email: string; avatarUrl?: string; // optional readonly createdAt: Date; // can't be changed after creation } type …
- Behavioral Patterns II: Chain, Template, Iterator, Mediator, Memento, Visitor
… offline ); target.receive(from.name, text); } } class User { constructor(name) { this.name = name; } send(to, text) { this.room …
- REST API Design
… resource naming, methods, status codes, pagination, versioning, errors and idempotency. The big idea A good API is like …
- Onion Architecture & Clean vs Hexagonal vs Onion
… domain model → domain services → application services The Dependency Rule + named layers, use cases as first-class objects, crossing …
- Scaling & Health Probes
… Deployment, name: shop-api } minReplicas: 3 maxReplicas: 30 metrics: - type: Resource resource: name: cpu target: { type: Utilization, averageUtilization …
- Why Kubernetes?
… containers: - name: api image: registry.example.com/shop-api:1.8.0 ports: [{ containerPort: 3000 }] bash kubectl apply …
- Docker & Containers
… docker run -d -p 3000:3000 --name api -e DATABASE URL=postgres://… shop-api:1.0 docker logs …
- Topics, Partitions & Offsets
… b@new.com"] end Before -- After bash kafka-configs.sh --alter --entity-type topics --entity-name user-profiles …
- DSA Interview Patterns Cheat Sheet
… 4. Optimise: "The bottleneck is the inner search… a hash map makes that O(1)." Name the pattern …
- Finding Service Boundaries with DDD
… Ordering stores the product ID, name and price at the time of ordering , not the full catalogue entry …
- Domain-Driven Design: Tactical Patterns
… identity matters"] E1["Customer cus 7<br/ name: Ana, city: Porto"] -- "moves city" E2["Customer cus 7<br …
- Clean Error Handling
… Error { constructor(message, statusCode) { super(message); this.name = this.constructor.name; this.statusCode = statusCode; } } class ValidationError extends AppError …
- How a Web Request Works
… You know the person's name, but you need their address → DNS turns shop.com into an IP …
- REST vs GraphQL vs gRPC
… 42) { name avatarUrl posts(limit: 3) { title likes } followers { totalCount } } } json { "data": { "user": { "name": "Ana", "avatarUrl": "https://…/ana …
- Hexagonal Architecture (Ports & Adapters)
… wires adapters to ports Naming ports well Cockburn suggests naming ports after their purpose , as "For…ing": Side …
- Views, Triggers & Stored Procedures
… Transaction-control and return-value capabilities vary by engine, so name the product in an interview.