Best of Backend DevelopmentAugust 2024

  1. 1
    Article
    Avatar of roadmaproadmap.sh·2y

    Projects are live on roadmap.sh! 🥳

    Roadmap.sh has introduced a new feature allowing users to access projects within their Backend Roadmap. The collection includes 18 project ideas, spanning from beginner to advanced levels, aimed at enhancing backend development skills. Additional features like solution submission and feedback requests are planned for future updates.

  2. 2
    Article
    Avatar of freecodecampfreeCodeCamp·2y

    How to Implement Message Queues in Your Backend Applications

    Message queuing is essential for backend development to address scalability issues and ensure orderly communication among services. This post explains the concept of message queues, its use cases in industries like fintech and healthcare, and popular tools such as RabbitMQ and Apache Kafka. A demo project using RabbitMQ with Node.js is also provided, illustrating how to build a message publisher and consumer for seamless communication.

  3. 3
    Article
    Avatar of supabaseSupabase·2y

    Snaplet is now open source

    Snaplet, a startup providing tools that help developers work with production-like data, has open-sourced its main products after closing down. The tools include Copycat for generating deterministic fake data, Snaplet Seed for creating realistic synthetic data from a database schema, and Snapshot for capturing and restoring database snapshots. The Snaplet team has joined Supabase, which will maintain the open-sourced tools. Peter Pistorius, Snaplet's founder, has returned to working on RedwoodJS.

  4. 4
    Article
    Avatar of communityCommunity Picks·2y

    Encore.ts — 9x faster than Express.js & 3x faster than Bun + Zod

    Encore.ts is an Open Source backend framework for TypeScript, boasting performance numbers 9x faster than Express.js and 3x faster than Bun with Zod. Its architecture leverages a multi-threaded event loop using Rust, and precomputes request schemas to optimize performance. With infrastructure integrations built in Rust, Encore.ts aims to off-load non-business logic from the JavaScript event loop, making backend applications highly optimized for speed and efficiency while maintaining compatibility with Node.js.

  5. 5
    Article
    Avatar of substackSubstack·2y

    Design a URL Shortener - System Design Interview

    A URL shortener service converts long URLs into shorter, unique aliases that redirect to the original URLs, useful for cleaner links on social media. The design involves high availability, low latency, scalability for millions of requests, and security measures. Key components include load balancers, application servers, a URL generation service, a redirection service, and a database. Capacity and storage estimations outline the service’s infrastructure needs. Various strategies for URL generation, custom aliasing, link expiration, and analytics tracking are discussed. Important considerations for scalability, availability, edge cases, and security are addressed.

  6. 6
    Article
    Avatar of communityCommunity Picks·2y

    The fullstack TypeScript development platform

    Convex is an open-source backend platform designed for application builders, offering product-centric APIs. It allows developers to fetch data, perform business logic with strong consistency, and manage data operations using TypeScript. It supports third-party service calls without affecting database performance and provides features for scheduling asynchronous jobs and controlling data flow.

  7. 7
    Article
    Avatar of javarevisitedJavarevisited·2y

    How to Design WhatsApp or Facebook Messenger? [Solved]

    Learn how to design a messaging application like WhatsApp or Facebook Messenger for a system design interview. This guide outlines the key steps, including requirements gathering, data storage choices, API design, and high-level system architecture. It also suggests tools and technologies such as MySQL, AWS S3, Redis, and WebSockets to efficiently build and scale the system. The post emphasizes the importance of a structured approach to leave a strong impression in interviews.

  8. 8
    Article
    Avatar of communityCommunity Picks·2y

    Build Redis from scratch

    This series guides you through building an in-memory database similar to Redis using Go. It focuses on low-level details involving databases, data structures, and algorithms. The project highlights include understanding RESP for command parsing, using goroutines for multiple connections, and implementing data persistence with the Append Only File (AOF) method. Suitable for developers familiar with Go and Redis commands.

  9. 9
    Article
    Avatar of freecodecampfreeCodeCamp·2y

    Build a Shopping Cart Backend with Spring Boot and Spring Security

    Master Spring Boot and Spring Security by developing a fully functional shopping cart backend application. This course covers project setup, entity class creation, CRUD operations, service and controller development, and security integration using JWT. Suitable for both beginners and experienced developers, it provides practical insights and skills for backend development.

  10. 10
    Video
    Avatar of communityCommunity Picks·2y

    6 Best Websites For Web Developers (2024)

  11. 11
    Article
    Avatar of communityCommunity Picks·2y

    Why you should use Rust on the backend

    Rust is becoming an increasingly popular choice for backend web development due to its low memory footprint, efficient concurrency handling, and strong memory safety guarantees. The article provides an example of a Rust web service using Axum and discusses how Rust optimizes for both performance and safety. Major companies like Amazon, Google, and Microsoft are adopting Rust, and its advantages are particularly significant for reducing costs and enhancing security. Additionally, DARPA is transitioning its C codebase to Rust, highlighting the language's growing impact.

  12. 12
    Article
    Avatar of hnasrHussein Nasser·2y

    Backend and Frontend Timeouts

    Timeouts play a critical role in both backend and frontend programming by breaking the wait when a party relies on an operation to complete. Various types of timeouts include connection timeout, request read timeout, wait timeout, processing timeout, and response timeout. Each type ensures that resources are used efficiently and systems are protected from performance issues like slow operations or DOS attacks. Managing these timeouts is essential for effective communication between clients and servers, especially in complex scenarios involving proxies.

  13. 13
    Article
    Avatar of communityCommunity Picks·2y

    Simplifying Your Tech Stack with PostgreSQL

    Simplifying your tech stack with PostgreSQL can streamline development, reduce operational complexity, and minimize moving parts. PostgreSQL can efficiently replace multiple technologies such as Kafka, RabbitMQ, MongoDB, and Redis, supporting functionalities like caching, message queuing, data warehousing, and full-text search. This approach enhances developer productivity, reduces cognitive load, and ensures robust performance and flexibility. Developers benefit from PostgreSQL's comprehensive support for JSON, geospatial queries, auditing, and more, providing a powerful and scalable backend solution.

  14. 14
    Video
    Avatar of beabetterdevBe A Better Dev·2y

    Learn Docker & Deploy to AWS - Beginner Tutorial

  15. 15
    Article
    Avatar of nordicapisNordic APIs·2y

    8 Tools To Automatically Generate API Documentation

    API documentation is crucial for communication between developers and end users. This post highlights top tools for automatically generating API documentation, including Swagger, Postman, DreamFactory, Apiary, Read the Docs, Theneo, Redocly, and ReadMe. Each tool offers unique features, integration options, and levels of automation, which can be selected based on specific API requirements and team workflows.

  16. 16
    Article
    Avatar of communityCommunity Picks·2y

    muneebhashone/typescript-backend-toolkit: TypeScript Backend Toolkit

    This robust TypeScript backend boilerplate emphasizes scalability, flexibility, and ease of development. It includes modern technologies and best practices such as MongoDB and Redis setup with Docker, comprehensive user management, file uploads with Multer and S3, Zod for data validation, and extensive middleware support. The setup guide covers Docker Services, dependency installation with PNPM, environment configuration, and running the development server. The toolkit also supports advanced features like JWT extraction, background job handling with BullMQ, email handling with Nodemailer, ESLint for code quality, and infrastructure management with AWS CDK.

  17. 17
    Article
    Avatar of tinybirdTinybird·2y

    Tinybird vs. ClickHouse

    ClickHouse is an open-source columnar database ideal for real-time analytics, while Tinybird is a data platform built on ClickHouse that simplifies management and speeds up deployment. Tinybird offers out-of-the-box tuning, API generation, and native connectors, reducing the need for deep expertise and infrastructure management. ClickHouse allows for more granular control and tuning, appealing to those willing to manage their own infrastructure. Both provide robust performance, but Tinybird is designed to minimize setup efforts and accelerate time to production.

  18. 18
    Article
    Avatar of lnLaravel News·2y

    Add Swagger UI to Your Laravel Application

    The Laravel Swagger UI package allows developers to easily integrate and display their project's Swagger (OpenAPI v3) file within a Laravel application. By placing the OpenAPI file in the specified directory and navigating to the correct URL, users can access the Swagger UI. The package also supports OAuth2 configuration and custom authorization logic for enhanced security.

  19. 19
    Article
    Avatar of astro_sourceAstro·2y

    Astro 4.15

    Astro 4.15 introduces the stable release of Astro Actions for type-safe backend functions, support for libSQL remotes in Astro DB, a new timeout option for client:idle, and enhanced swap helpers for ViewTransitions customizations. Users can upgrade their existing projects using the CLI tool or manually via their package manager.

  20. 20
    Article
    Avatar of milanjovanovicMilan Jovanović·2y

    5 EF Core Features You Need To Know

    Discover five crucial EF Core features that can significantly improve your development process: Query Splitting to avoid performance issues with large datasets, Bulk Updates and Deletes for efficient data manipulation, Raw SQL Queries to work with unmapped types, Query Filters for reusable filtering logic, and Eager Loading to prefetch related data in a single query. These tools are designed to streamline your database management and boost performance.

  21. 21
    Article
    Avatar of hnHacker News·2y

    Just use Postgres

    When developing a new application requiring persistent data storage, Postgres should be the default choice, especially for web applications. SQLite is suitable for desktop or mobile apps but not ideal for websites. NoSQL databases like DynamoDB, MongoDB, Cassandra, and others offer performance benefits if the access patterns are well-defined beforehand but are less flexible when handling evolving access needs. Redis is efficient for caching but can be used as a primary database with some trade-offs. Datomic and XTDB present innovative approaches with specific benefits and challenges. While advanced databases like Kafka and ElasticSearch excel in niche tasks, Postgres often suffices for general needs, potentially complemented by simpler built-in search functions.

  22. 22
    Article
    Avatar of monkeyuserMonkeyuser·2y

    Corr(upt)ect Results

    Explores the issues related to data corruption and its impact on software systems. Discusses potential causes and solutions to maintain data integrity, highlighting tools for detection and prevention.

  23. 23
    Article
    Avatar of lobstersLobsters·2y

    Working with Protobuf in 2024

    Protocol Buffers (protobuf), a data serialization tool from Google, has become integral in software development for its compact data structuring. Traditional workflows involving manual compilation and error-prone build steps have seen improvements with new tooling. Innovations like JSON to Proto, Protobuf Pal, and Buf CLI simplify protobuf development, offering features such as automated code generation, dependency management, and consistent code formatting. Tools like Buf Studio, Postman, Insomnia, and k6 further enhance testing capabilities. FauxRPC allows developers to create realistic mock gRPC services for faster prototyping. These advancements collectively streamline protobuf workflows and improve productivity.

  24. 24
    Article
    Avatar of communityCommunity Picks·2y

    gRPC From Scratch: Part 1 - Client

    An in-depth exploration of the gRPC protocol, explaining its structure and underlying mechanisms. The post covers the basics of creating a gRPC client in Go, detailing how requests and responses are encoded and decoded at a byte level. It also briefly touches on the topic of gRPC streaming and provides a simple example to get started.

  25. 25
    Article
    Avatar of gleamGleam·2y

    Welcome Lambda! – Gleam

    Lambda, a diverse tech company involved in machine learning, crypto infrastructure, video games, and animation, has become the primary sponsor of Gleam, a type-safe and scalable language for Erlang VM and JavaScript runtimes. Lambda utilizes various BEAM languages and has an extensive open-source portfolio, including their latest mobile game, Champions of Mirra. They plan to use Gleam for future backend iterations, underscoring their commitment to the Gleam ecosystem.