Best of Backend DevelopmentDecember 2023

  1. 1
    Article
    Avatar of bytebytegoByteByteGo·2y

    6 More Microservices Interview Questions

    Explore microservices interview questions including API Gateway, differences between REST and RPC, and more.

  2. 2
    Article
    Avatar of livecycleLivecycle·2y

    8 Docker Extensions to Use in 2024

    Discover 8 Docker Extensions that can improve your productivity and overall developer experience, including Livecycle for sharing docker-compose apps, JMeter for load testing, ContainerWatch for monitoring container usage, Docketeer for detailed metrics, PGAdmin for Postgres database management, Portainer for easy container management, Snyk for security checks, and Excalidraw for local drawing.

  3. 3
    Article
    Avatar of communityCommunity Picks·2y

    Introducing Loco: The Rails of Rust

    Loco.rs is a Rust web backend framework inspired by Ruby on Rails. It aims to provide a batteries-included experience for Rust developers. To get started with Loco, you can use their CLI tool and generate a new project. The routing in Loco is based on Axum and allows you to use familiar concepts like middleware. Models in Loco are implemented using sea_orm and can be easily generated. Loco also supports job processing with sidekiq-rs. You can deploy your Loco application using Docker or Shuttle.

  4. 4
    Article
    Avatar of bitBits and Pieces·2y

    How To Build a Web API using Express.js, Bun and MongoDB?

    Learn how to build a high-performing Express.js API backed by MongoDB using Bun. This article provides step-by-step instructions for setting up the application, installing the necessary tools, designing the MongoDB schema, defining business logic in controllers, adding routes, and configuring MongoDB. It also covers adding monitoring to Express.js applications with logging and data validation using express-validator.

  5. 5
    Article
    Avatar of communityCommunity Picks·2y

    Getting Started with Axum - Rust's Most Popular Web Framework

    Axum is a popular web framework for building REST APIs in Rust. It is simple to use and has hyper-compatibility with Tower, a library for building network applications. Axum follows the style of REST-style APIs like Express, where you can create handler functions and attach them to Axum's `Router` type. It supports various extractors for handling request data, such as JSON, forms, and headers. Axum also provides support for adding middleware, serving static files, and managing app state. It is recommended to use Shuttle for deployment, as it simplifies the process.

  6. 6
    Article
    Avatar of communityCommunity Picks·2y

    Building an event-driven system in Go using Pub/Sub

    Building an event-driven system in Go using Pub/Sub. Compares the benefits of Pub/Sub to traditional API implementation and provides a guide on how to build an event-driven application with Go using Pub/Sub.

  7. 7
    Article
    Avatar of devtoDEV·2y

    How Modern SQL Databases Are Changing Web Development - #4 Into the AI Era

    Explore how modern SQL databases are reshaping web development and enabling easier development of AI-powered applications.

  8. 8
    Article
    Avatar of bitBits and Pieces·2y

    Implementing a Microservices Application with CQRS (Command Query Responsibiltiy Segregation)

    Implementing a microservices application with CQRS (Command Query Responsibility Segregation) involves separating the responsibilities of reading data and writing data into different components. This pattern improves performance and scalability by using different models for updating and reading information in a system.

  9. 9
    Article
    Avatar of flydotioFly.io·2y

    Rethinking Serverless with FLAME

    FLAME is a pattern for elastically scaling applications without the need to manage servers or rewrite the entire application. It allows you to wrap existing app code in a function and run it in a temporary copy of your app. FLAME can be implemented in different languages, but the Elixir flame library is specifically mentioned in the article. The library includes features like process placement and remote monitoring to handle pool scale-up and scale-down logic and to optimize resource usage. FLAME removes the complexities and layers of communication associated with traditional FaaS solutions.

  10. 10
    Article
    Avatar of infoqInfoQ·2y

    Why LinkedIn chose gRPC+Protobuf over REST+JSON: Q&A with Karthik Ramgopal and Min Chen

    LinkedIn explains why they chose gRPC and Protocol Buffers over REST and JSON for inter-service communication in their microservices platform. They observed significant latency improvements and are advising Rest.li users to migrate to gRPC.

  11. 11
    Article
    Avatar of ghblogGitHub Blog·2y

    Upgrading GitHub.com to MySQL 8.0

    GitHub upgraded its fleet of 1200+ MySQL hosts to MySQL 8.0 over the course of a year. The upgrade was motivated by the end of life of MySQL 5.7, the desire for the latest features and security patches, and the need to maintain service level objectives. GitHub prepared for the upgrade by determining infrastructure requirements, ensuring application compatibility, and communicating the upgrade plan. During the upgrade process, challenges such as replication delay and query failures were encountered and addressed. The lessons learned from the upgrade will inform future upgrade processes.

  12. 12
    Article
    Avatar of hnHacker News·2y

    SQL as API

    Using SQL in the API can be a viable solution for complex filtering and adding flexibility to the API. It involves validating and sanitizing the SQL input and allows for easy modification and customization. However, it requires careful documentation, has performance considerations, and may lead to vendor lock-in.

  13. 13
    Article
    Avatar of stackovStack Overflow Blog·2y

    What is UI 2.0? Netlify CEO Matt Biilmann explains

    Developers are integrating AI into their workflow for automation, knowledge sharing, and productivity. However, AI experimentation comes with challenges such as incorrect answers, security issues, lack of regulation, and decreased code quality. UI 2.0 is a concept of customizing app UIs for each user.

  14. 14
    Article
    Avatar of dailydaily.dev·2y

    Under the Hood: daily.dev weekly digest

    daily.dev's Weekly Digest feature sends personalized emails with recommended articles to users. The feature has configurable sending options, personalized content based on user interests, and AB testing for email templates. daily.dev uses technologies like GraphQL and Sendgrid to implement this feature effectively.

  15. 15
    Article
    Avatar of medium_jsMedium·2y

    Databases 101

    Choosing the right database is crucial for the success of a project. Different databases excel at different tasks and it is important to consider factors such as data type and usage. There are three main types of databases - user-facing databases, databases for analytics, and databases for operations. User-facing databases include relational databases and NoSQL databases. Analytical databases are used for analyzing data and include data warehouses and data lakes. Operational databases are used for internal operations and include key-value stores, time series databases, and logs/search databases.

  16. 16
    Article
    Avatar of medium_jsMedium·2y

    Low-Code Development: A Comprehensive Guide for Tech Enthusiasts and Beginners

    Low-code development is a visual approach that uses less code and drag-and-drop interfaces. It allows more people to get into software development without extensive coding knowledge. Building an app with low code is usually simpler and faster, but there are limitations in terms of customization and cost.

  17. 17
    Article
    Avatar of medium_jsMedium·2y

    Golang: Easy Fetch Millions of Data using Concurrent

    This article discusses the challenges of fetching huge amounts of data, including performance concerns, resource utilization, network bandwidth, and data filtering and sorting. It presents a case study of fetching data from a third-party API and suggests using concurrent running to improve performance. It provides an example implementation using Golang and explains the concept of concurrency.

  18. 18
    Article
    Avatar of hnHacker News·2y

    Gobs of data

    The gob package in Go provides an easy-to-use and efficient encoding system for transmitting data structures across a network or storing them in a file. It offers a Go-specific environment for communication between servers written in Go. Gobs work with the language in a way that other encodings cannot, and they also take inspiration from existing systems like Google's protocol buffers.