Knowledgebase

Articles

API Development: Everything That Matters, Briefly The summary.NEVER CHANGE STATE WITH A RETRIEVALA link, an image or a crawler can trigger... API Versioning and Compatibility Changing without breaking clients.WHY IT MATTERSOnce something consumes your API, changing it... Achieving Deployment Without Downtime Continuous availability.WHAT IT REQUIRESSeveral instances A load balancer Graceful shutdown... Asynchronous Patterns in Node Working without blocking.WHAT THE PATTERNS ARECallbacks, the original approach Promises The... Backend Architecture: Everything That Matters, Briefly The summary.KEEP BUSINESS RULES INDEPENDENT OF DELIVERY AND STORAGEThey can then be tested... Backend Development: Common Mistakes What goes wrong repeatedly.TRUSTING THE CLIENTPrices, quantities, identifiers and permissions... Backend Development: Everything That Matters, Briefly The whole category in one page.THE CLIENT IS UNDER THE USER'S CONTROLPrices, permissions,... Backend Development: Where to Start Learning A path into the work.WHAT TO LEARN FIRSTOne language, properlyHow HTTP works: methods, status... Backend Fundamentals: Everything That Matters, Briefly The summary.EVERYTHING IN THE CLIENT IS UNDER THE USER'S CONTROLPrices, permissions, validation... Backend Security: Everything That Matters, Briefly The summary.AUTHENTICATION WITHOUT AUTHORISATION IS THE COMMONEST SERIOUS FAULTA role says what... Backend Testing Strategy Verifying server code.WHAT TO TEST AT EACH LEVELUnit: business rules, without... Backing Up Application Data Protecting what matters.WHAT TO BACK UPThe database Uploaded files Configuration Anything not... Building APIs With Express The established framework.WHAT IT PROVIDESRouting Middleware Request and response helpersWHAT IT... Building APIs With FastAPI The modern typed framework.WHAT IT PROVIDESRouting Validation and serialisation from type... Building APIs With Flask The minimal framework.WHAT IT PROVIDESRouting Request and response handling Templating Little... Building Services in Go Practical development.WHAT THE STANDARD LIBRARY PROVIDESHTTP serving and routing JSON handling... Building Services in Rust Practical development.WHAT THE ECOSYSTEM PROVIDESAsynchronous runtimes Web frameworks of varying... Caching in Backend Systems Avoiding repeated work.WHAT TO CACHEExpensive computations Frequently repeated queries External... Choosing Between REST, GraphQL and gRPC Which approach suits.CHOOSE REST WHENThe API is public Consumers are varied and unknown Caching... Communication Between Services How services talk.WHAT THE APPROACHES ARESynchronous request and response Asynchronous... Configuration and Secrets Management Keeping settings out of code.WHAT BELONGS OUTSIDE THE CODECredentials API keys Endpoints... Connections, Pooling and Resource Limits Managing finite resources.WHAT A CONNECTION POOL ISA set of database connections reused across... Data Consistency Across Services The hardest problem.WHAT IS LOSTTransactions spanning services.WHYEach service has its own... Database Design for Backend Applications Structuring data.WHAT TO ESTABLISHWhat entities exist How they relate What must be unique What... Debugging Production Problems Diagnosing live systems.WHAT TO ESTABLISH FIRSTWhat exactly is failing For whom Since when... Defining Service Boundaries Where to divide.WHAT DETERMINES A GOOD BOUNDARYData ownership Rate of change Team ownership... Deploying Backend Applications Safely Getting changes live.WHAT THE SEQUENCE USUALLY ISBack up Deploy the artefact Install dependencies... Deploying and Operating Services Running many services.WHAT CHANGESDeployment becomes many deployments Configuration multiplies... Designing Access Control Deciding who may do what.WHAT THE MODELS ARERole-based: permissions attached to roles, roles to... Designing REST APIs Resource-oriented interfaces.WHAT THE APPROACH ISResources identified by addresses, acted on with... Designing for Scale Handling more load.WHAT TO ESTABLISH FIRSTWhat the actual load is, and where the limit is.WHYMost... Documenting APIs Making them usable.WHAT DOCUMENTATION MUST COVEREvery endpoint What each does Required and... Documenting Backend Systems Records that help.WHAT TO DOCUMENTHow to set the project up from nothing How to run it How to... Domain Modelling Representing the business.WHAT A DOMAIN MODEL ISCode representing the concepts and rules of the... Error Handling and Logging Knowing what went wrong.WHAT TO DISTINGUISHExpected failures: invalid input, not found, not... Estimating Backend Work Predicting effort.WHY ESTIMATES ARE WRONGUnknowns are discovered during the work.WHAT TO DO ABOUT... Event-Driven Architecture Systems reacting to events.WHAT AN EVENT ISA record that something happened, in the past... Finding Backend Performance Problems Diagnosing slowness.WHAT TO ESTABLISH FIRSTWhich operation is slow, specifically Whether it is... Go and Rust: Everything That Matters, Briefly The summary.BOTH COMPILE TO BINARIES WITH NO RUNTIME TO INSTALLDeployment becomes copying one... Handling Authentication Tokens Safely Issuing and verifying credentials.WHAT A TOKEN REPRESENTSAn assertion that someone has... Handling Production Incidents When something breaks.WHAT TO DO FIRSTEstablish scope: what is affected, and how many.WHAT TO DO... Handling Time, Dates and Scheduling A persistent source of bugs.WHAT TO STORETimestamps in universal time, always.WHYLocal times are... Java, .NET and Ruby: Everything That Matters, Briefly The summary.THESE FRAMEWORKS TRADE FLEXIBILITY FOR CONSISTENCYStrong conventions, dependency... Layered and Clean Architecture Separating concerns.WHAT LAYERING PROVIDESEach concern in one place, testable and... Load Testing Backend Services Measuring capacity.WHAT IT ESTABLISHESHow much load the service handles before degrading Where... Managing Background Workers Across Stacks Running work outside requests.WHAT EVERY STACK NEEDSA queue Worker processes consuming it A... Managing Database Migrations in Deployment Schema changes safely.WHAT A MIGRATION ISA versioned, repeatable schema change, committed with... Managing Dependencies in Node Projects The package ecosystem.WHAT TO COMMITThe manifest declaring dependencies The lock file recording... Microservices: Everything That Matters, Briefly The summary.THEY TRADE ONE SIMPLE PROBLEM FOR SEVERAL HARDER ONESNetwork calls where there were... Monitoring Backend Services Knowing what is happening.WHAT TO MONITORAvailability, from outside Error rate Response time... Node.js and Express: Everything That Matters, Briefly The summary.THE EVENT LOOP EXCELS AT CONNECTIONS, NOT COMPUTATIONBlocking it stalls every... Observability in Distributed Systems Understanding what is happening.WHY IT IS HARDEROne user action touches several services, and no... Optimising Database Access The usual bottleneck.WHAT TO FIND FIRSTSlow queries, from the database's own reporting.WHAT TO... PHP Frameworks: Everything That Matters, Briefly The summary.PHP RUNS ON ESSENTIALLY ALL SHARED HOSTING, WHICH MATTERS WHERE THAT IS THE... PHP as a Backend Language Today The current state.WHAT HAS CHANGEDSubstantially improved performanceModern language features:... Performance and Operations: Everything That Matters, Briefly The summary.MEASURE THE DISTRIBUTION, NOT THE AVERAGEAverages conceal the experience of the... Preparing a Backend for Production Before it serves real traffic.WHAT TO VERIFY IN CONFIGURATIONDebug disabled Errors logged, not... Preventing Injection in Server Code Input treated as instruction.WHERE IT OCCURSDatabase queries Operating system commands Template... Protecting Application Data Storage and handling.WHAT TO MINIMISEWhat you collect.WHYData you do not hold cannot be... Python Backends: Everything That Matters, Briefly The summary.ALWAYS USE AN ISOLATED ENVIRONMENT WITH PINNED DEPENDENCIESOtherwise projects... Python for Backend Work The language on the server.WHY IT IS USEDReadable and quick to write An enormous ecosystem Strong... Queues, Jobs and Scheduling in Laravel Work outside the request.WHAT TO MOVE TO A QUEUESending mail Processing images and files Calling... Rate Limiting and Abuse Prevention Controlling usage.WHY IT MATTERSWithout limits, one client can consume all capacity, deliberately... Receiving File Uploads on the Server A common vulnerability.WHAT THE RISKS AREExecutable content stored and then served Files... Reviewing Backend Code What to examine.CORRECTNESSDoes it do what it claims?Are edge cases handled: empty, missing, very... Running Node in Production Operating the runtime.WHAT TO USEA process manager, restarting on failure and on server... Securing APIs Protecting endpoints.WHAT TO REQUIREEncryption, on every request Authentication, on everything... Securing PHP Applications Framework-level protections.WHAT FRAMEWORKS PROVIDE BY DEFAULTEscaping in templates Cross-site... Securing Third-Party Integrations Connections to other systems.WHAT TO ESTABLISH FOR EACHWhat data is sent What is received How it... Selecting a Backend Stack Making the decision.WHAT TO ASSESSWhat the application actually requires What the team knows What... Server-Side Session Handling Server-side session handling.WHAT A SESSION ISServer-held state, referenced by an identifier the... Structuring Backend Code Organisation that lasts.WHAT THE COMMON LAYERS ARERouting, mapping addresses to handlers... Structuring NestJS Applications Modules and providers.WHAT A MODULE ISA grouping of related controllers and providers, with... Surviving Sudden Load Sudden load.WHAT CAUSES THEMMarketing activity Being featured somewhere Seasonal events Automated... Technical Debt in Backend Codebases Accumulated compromise.WHAT IT ISConsequences of decisions taken for speed, now costing time.WHAT... The Request and Response Cycle What happens on every request.THE SEQUENCEA request arrives at the server It is routed to a... Threat Modelling for Backend Services Thinking about what could go wrong.WHAT IT ISSystematically identifying what an attacker might... Understanding ASP.NET The Microsoft framework.WHAT IT PROVIDESRouting Dependency injection, built in Middleware... Understanding Concurrency Models How servers handle many requests.WHAT THE MODELS AREA process or thread per request An event loop... Understanding Django The full framework.WHAT IT PROVIDESAn ORM Migrations An administrative interface, generated from... Understanding Go for Backend Work A language built for services.WHY IT IS USEDSimple language, quickly learned Excellent... Understanding GraphQL Query-driven APIs.WHAT IT ISA query language where the client specifies exactly what data it... Understanding Java Spring Boot The dominant Java framework.WHAT IT PROVIDESDependency injection Auto-configuration based on what... Understanding Laravel The dominant PHP framework.WHAT IT PROVIDESRouting An ORM Migrations and seeding Validation... Understanding Microservices Splitting an application.WHAT THEY AREAn application built as several small services, each... Understanding NestJS Structured Node applications.WHAT IT ISA framework providing structure and conventions on top of... Understanding Node.js JavaScript outside the browser.WHAT IT ISA runtime executing JavaScript on the server.WHY IT IS... Understanding Ruby on Rails Convention over configuration.WHAT ITS PRINCIPLE ISSensible defaults, so that following... Understanding Rust for Backend Work Performance with safety.WHY IT IS USEDPerformance comparable to the fastest languages Memory... Understanding Symfony Components and structure.WHAT IT ISA framework, and a set of independent components used widely... Understanding gRPC Efficient service-to-service communication.WHAT IT ISA framework for calling procedures on... Validating Input on the Server The non-negotiable step.WHAT TO VALIDATEEvery value arriving from outside.WHAT COUNTS AS... What Backend Development Is Responsible For The server's role.WHAT IT HANDLESReceiving and responding to requests Business logic and rules... Working With Eloquent and the Database Layer Data access in Laravel.WHAT THE ORM PROVIDESModels mapping to tables, with relationships... Working With Frontend Teams Collaboration across the boundary.WHAT TO AGREE EARLYThe API contract: endpoints, shapes,... Working With Message Queues and Brokers Asynchronous infrastructure.WHAT A BROKER PROVIDESReliable delivery of messages between producers... Working With Spring Boot Effectively Practical use.WHAT TO LEARN FIRSTDependency injection and component scanning Controllers and... Working With the Django ORM Data access.WHAT IT PROVIDESModels defining tables, with relationships and constraints.WHAT... Working as a Backend Developer: Everything That Matters, Briefly The summary.IN AN UNFAMILIAR CODEBASE, START WITH THE ROUTING DEFINITIONSThey are the map of what... Working in an Existing Codebase Joining a project.WHAT TO DO FIRSTGet it running locally.WHYNothing else is possible until you...
Back

Are you happy with your experience? Leave us a review on Trustpilot.


Trustpilot