Best of Backend DevelopmentSeptember 2024

  1. 1
    Article
    Avatar of communityCommunity Picks·2y

    Cheatsheets for Developers

    Cheatsheets for developers are quick reference guides summarizing key concepts, commands, and syntax for various programming languages and technologies. Resources like OverAPI.com, Awesome-Cheatsheets, and Bootstrap 4 Cheat Sheet offer aggregated and detailed cheatsheets for technologies like JavaScript, Python, HTML, CSS, and more. These tools assist developers in enhancing their productivity and understanding of complex concepts.

  2. 2
    Article
    Avatar of communityCommunity Picks·2y

    Top 50 System Design Terminologies You Must Know

    Master key system design terminologies essential for acing interviews with practical examples and additional learning resources. Concepts covered include scalability, load balancing, microservices, CAP theorem, sharding, latency, throughput, and many more crucial for building efficient and scalable systems.

  3. 3
    Article
    Avatar of mememondayMeme Monday·2y

    Frontend v/s Backend Dev

    Backend developers often work behind the scenes, ensuring systems run smoothly and efficiently, while their contributions may not always be visible to others.

  4. 4
    Article
    Avatar of freecodecampfreeCodeCamp·2y

    Skills You Need to Become a Backend Developer – A Roadmap for Beginners

    This guide outlines the essential skills needed to become a backend developer, providing a step-by-step roadmap for beginners. Key areas covered include understanding the role of a backend developer, mastering databases and server-side programming languages, building and integrating APIs, and deploying applications to the cloud. The guide also recommends tools and software commonly used in backend development, such as SQL databases, frameworks, web servers, and security protocols.

  5. 5
    Video
    Avatar of youtubeYouTube·2y

    Complete Backend Engineering Course in Go

    This post introduces a comprehensive backend engineering course in Go, designed to take learners from basic to advanced topics. The course aims to teach how to build RESTful APIs and other backend systems, applying the knowledge to microservices as well. The curriculum includes 21 modules, covering areas such as TCP and HTTP server development, routing, clean layered architecture, database management using the repository pattern, CRUD operations, user authentication and authorization, caching, performance optimization, and CI/CD deployment workflows. The course materials and code are available on GitHub, and the instructor emphasizes understanding concepts over mere code replication.

  6. 6
    Article
    Avatar of communityCommunity Picks·2y

    Generate PDFs dynamically in NodeJs/NestJs

    This post describes the author's experience of dynamically generating PDFs using NodeJs and NestJs. Initially struggling with ineffective libraries, the author eventually chose jsPDF and its extension jspdf-autotable for creating features like graphs, charts, tables, images, table of contents, and automatic page numbers. The article includes detailed code snippets for setting up and using these libraries in a NestJs service, including handling installation issues for the canvas library on M-series Apple chips and rendering charts as images with the help of puppeteer.

  7. 7
    Article
    Avatar of communityCommunity Picks·2y

    Things I Wished More Developers Knew About Databases

    Effective database management involves understanding numerous critical concepts such as ACID properties, network reliability, transaction isolation levels, optimistic locking, and the impact of auto-incrementing IDs. Appreciating the complexity of database design helps in predicting potential issues like dirty reads, data loss, and write skews. Additionally, proper handling of latency, sharding, and clock skews can prevent operational surprises. It's essential to evaluate performance requirements per transaction, avoid nested transactions, and understand query planners for optimized database performance. Navigating online migrations smoothly ensures minimal downtime and accurate data migration.

  8. 8
    Article
    Avatar of medium_jsMedium·2y

    The 7 Levels of Laravel Optimization: From Rookie to Optimization Overlord — with Benchmark — 98% reduction

    This post guides you through seven levels of optimizing Laravel applications, from basic eager loading to advanced techniques like lazy collections and chunking. It details each step with code examples and benchmarks, showing significant resource savings at each level.

  9. 9
    Article
    Avatar of communityCommunity Picks·2y

    PGlite - run Postgres everywhere

    PGlite is a WASM-based Postgres database that works in various JavaScript runtimes, including NodeJS, BUN, Deno, and browsers. It's lightweight, supports popular Postgres extensions, and is ideal for local-first applications, prototypes, local caches, and CI pipelines. The database can be easily installed via npm and used with regular SQL queries.

  10. 10
    Article
    Avatar of phProduct Hunt·2y

    Undb - Open source Airtable alternative & backend as a service

    Undb is an open-source Airtable alternative that functions as a backend as a service. Launched on April 14th, 2023, it was featured in the Developer Tools and No-Code categories on September 3rd, 2024.

  11. 11
    Article
    Avatar of systemdesigncodexSystem Design Codex·2y

    Polling Vs Webhooks

    Polling involves repeatedly requesting data from a server, which can be resource-intensive and inefficient. Webhooks, on the other hand, offer a real-time, push-based approach where a server notifies a client when new data is available. Polling can lead to missed real-time updates, while webhooks are more efficient and suitable for scenarios requiring immediate notifications. Each approach has use cases: polling for frequent but non-real-time data updates, and webhooks for scenarios where real-time data is crucial.

  12. 12
    Article
    Avatar of bytebytegoByteByteGo·2y

    How Shopify Manages its Petabyte Scale MySQL Database

    Shopify handles its petabyte-scale MySQL database using innovative techniques to ensure zero downtime, maintain read consistency, and implement efficient backup and restore processes. Shard balancing is used to distribute traffic loads efficiently across database instances. Ghostferry, an in-house tool, assists in database migration with minimal disruption. Data replication is managed to minimize lag, ensuring time-sensitive reads are accurate. Finally, Shopify leverages Google Cloud Platform's persistent disk snapshots for fast and reliable database backups and restores.

  13. 13
    Video
    Avatar of youtubeYouTube·2y

    Complete Backend Software Engineer Mind Map - Everything You Need to Know (2 HOURS!)

    The post explores the essential technologies and frameworks necessary for a backend software engineer. It emphasizes the significance of understanding various backend frameworks, the importance of selecting widely used and supported technologies, and the utility of ORMs for database management. Key programming languages like Python, JavaScript, and Java are discussed alongside their popular frameworks such as Django, Flask, and Express. The post also highlights the importance of choosing the right framework based on project requirements and team preferences.

  14. 14
    Article
    Avatar of communityCommunity Picks·2y

    How Indexing Enhances Query Performance

    Indexes play a crucial role in enhancing database query performance by allowing quick data retrieval without scanning the entire dataset. The post explores various types of indexes like primary, secondary, clustered, and non-clustered, and provides examples of their implementation in Spring Boot applications using JPA annotations. It also discusses scenarios where indexing is beneficial, such as high-volume read operations, frequent filtering, sorting, and join operations. Moreover, it highlights when not to use indexes, such as in low-volume tables or columns with low cardinality, and delves into how indexes operate behind the scenes, including index creation and maintenance.

  15. 15
    Article
    Avatar of planetscalePlanetScale·2y

    B-trees and database indexes

    B-trees and B+ trees are essential for efficient data lookups in database management systems like MySQL, Postgres, and MongoDB. They are structured to store key/value pairs in a way that optimizes search operations. MySQL's InnoDB engine relies heavily on B+ trees, where the choice of primary key significantly impacts performance. B-trees are well-suited for large data volumes that need persistent disk storage, and B+ trees offer advantages like storing all values at the leaf level and having linked lists for faster sequential access. Sequential keys generally improve performance over random or UUID keys.

  16. 16
    Article
    Avatar of postgresPostgreSQL·2y

    PostgreSQL 17 Released!

    PostgreSQL 17 has been released, offering significant performance boosts, including improved memory management, better I/O processing, enhanced query execution, and optimizations for high concurrency workloads. It introduces new developer features like the SQL/JSON `JSON_TABLE` command and enhancements in logical replication that streamline high availability management and major version upgrades. It also includes updates in partition management, foreign data wrappers, and built-in collation providers for consistent text-based queries across platforms.

  17. 17
    Article
    Avatar of webtoolsweeklyWeb Tools Weekly·2y

    CSS Tools, JSON, Databases, Uncats

    Discover the genesis and rise in popularity of the htmx project from its creator's perspective, along with a curated list of CSS & HTML tools, JSON & database tools, and uncategorizable utilities. Highlights include Tailwind generators, a Node.js script for obsolete HTML detection, a minimal GraphQL client, and innovative platforms like Fair Source and Fonts Ninja.

  18. 18
    Article
    Avatar of semaphoreSemaphore·2y

    API Security Best Practices: Protecting Your Data in Transit

    APIs are essential for modern web development, making them prime targets for cyberattacks. Securing APIs involves best practices such as encrypting communication via HTTPS, authenticating endpoints, using API gateways, enforcing fine-grained access control, and implementing rate limiting. Regular audits, penetration tests, and the use of security tools like linters, SCA, and SAST tools are also crucial. Following established security standards, such as those from OWASP, can further fortify API security.

  19. 19
    Article
    Avatar of lobstersLobsters·2y

    gRPC: 5 Years Later, Is It Still Worth It?

    The post reflects on the decision to use gRPC and Protobuf instead of OpenAPI/Swagger for Torq's technology stack, highlighting the enhanced backward compatibility, enforceable standards, and streamlined development process it provided. It covers advancements in code generation with tools like buf.build, improved module dependency management with Buf Schema Registry (BSR), and discusses the benefits and challenges of using gRPC-web for frontend development. The author affirms gRPC as their preferred protocol, bolstered by robust tool support and the use of service meshes like linkerd for better load balancing and security.

  20. 20
    Article
    Avatar of lnLaravel News·2y

    A Deep Dive into Sessions in Laravel

    Sessions in Laravel are crucial for persisting data across multiple requests, such as user authentication status and temporary data. Laravel offers various session drivers like cookies, databases, and cache stores. This post explores common pitfalls, such as typos in session keys, session key clashes, and unknown data types. It suggests using session classes for better session management, incorporating methods to generate session keys and adding type hints. Testing session data is vital, and both unit and feature tests are recommended to ensure correct functionality.

  21. 21
    Article
    Avatar of bytebytegoByteByteGo·2y

    How Uber Scaled Cassandra for Tens of Millions of Queries Per Second?

    Uber's Cassandra database service supports tens of millions of queries per second, petabytes of data, and tens of thousands of nodes, ensuring high reliability and low latency for mission-critical workloads. The dedicated Cassandra team manages daily operations, implements new features, and ensures 99.99% availability. Uber's custom framework and service discovery mechanisms enable efficient lifecycle management and real-time node discovery. Key challenges tackled include unreliable node replacement, lightweight transaction errors, and data inconsistency issues, which were addressed through various engineering improvements.

  22. 22
    Article
    Avatar of communityCommunity Picks·2y

    Do You Really Need Redis? How to Get Away with Just PostgreSQL

    Redis is often used for job queuing, distributed locking, and pub/sub mechanisms in web services. However, PostgreSQL has features like `SKIP LOCKED`, advisory locks, and the `LISTEN/NOTIFY` statements that can achieve these tasks effectively. This can help simplify your architecture by using just PostgreSQL and reduce operational costs associated with maintaining multiple data services.

  23. 23
    Video
    Avatar of codeheimcodeHeim·2y

    #55 Golang - Get Started with gRPC in Golang – Server & Client

    Explore how gRPC, a high-performance RPC framework, allows seamless communication between services in Golang. Learn about its benefits over REST, how to set up gRPC and protocol buffers in a Go project, and see an example project structure implementing CRUD operations with gRPC.

  24. 24
    Article
    Avatar of freecodecampfreeCodeCamp·2y

    API Testing with Postman: A Step-by-Step Guide Using the Spotify API

    This guide provides a comprehensive introduction to using Postman for API development and testing, focusing on the Spotify API. It covers setting up a Postman workspace, creating collections and HTTP requests, and employing variables for streamlined testing. The guide also explains the process of adding authorization for making API requests, specifically how to generate an access token for Spotify. This foundational knowledge equips users to explore more advanced API functionalities and testing methodologies.

  25. 25
    Article
    Avatar of cybertec_postgresqlCYBERTEC PostgreSQL·2y

    Why "SELECT * FROM table" is NOT a read

    A SELECT operation might not always be a read-only action, which has significant implications for load balancing and replication strategies in databases. The application must be aware of whether it is performing read or write operations to correctly execute load balancing. Additionally, synchronous replication does not guarantee immediate visibility of data changes on replicas, highlighting the complexity in designing effective replication and load balancing solutions.