Best of Backend DevelopmentOctober 2024

  1. 1
    Video
    Avatar of awegoAwesome Go·2y

    Complete Backend Engineering Course in Go

    This course offers a comprehensive guide to backend engineering in Go, covering the creation of a RESTful API from scratch to deployment. It spans from basic concepts like creating a low-level TCP server to advanced topics like authentication, authorization, caching, logging, CI/CD, and deployment to Google Cloud. The course emphasizes understanding core principles, design patterns, and best practices for API development, including the repository pattern, clean architecture, optimistic concurrency control, and more. A free, initial module is available, along with a GitHub repository for further exploration.

  2. 2
    Article
    Avatar of collectionsCollections·2y

    Databases In-Depth – Complete Course

    A comprehensive course on database architecture and optimization, designed by Keerti Purswani and available on freeCodeCamp.org's YouTube channel. It covers transaction management, storage engines, advanced indexing techniques, an in-depth look at SQLite, and understanding MongoDB and PostgreSQL. Suitable for both beginners and experienced engineers, the course aims to equip learners with the skills to manage and optimize data systems efficiently.

  3. 3
    Video
    Avatar of communityCommunity Picks·2y

    20 System Design Concepts Explained in 10 Minutes

    To advance from a Junior Developer and build scalable applications or pass system design interviews, one must understand 20 essential system design concepts related to networking, API patterns, databases, and more. Topics cover vertical vs. horizontal scaling, the use of load balancers and CDNs, caching mechanisms, and communication protocols like TCP/IP, HTTP/HTTPS, and WebSockets. Additional insights include database management through SQL, NoSQL, sharding, replication, and the use of message queues for data processing efficiency.

  4. 4
    Video
    Avatar of dreamsofcodeDreams of Code·2y

    SQLc is the perfect tool for those who don't like ORMs

    SQLc is an efficient tool for developers who prefer writing raw SQL queries over using ORMs. It allows for type-safe SQL query generation, fitting neatly within the repository design pattern. SQLc supports multiple programming languages (TypeScript, Kotlin, Python, and Go) and SQL engines (Postgres, MySQL, SQLite). It eliminates boilerplate code, making database interactions more manageable and reusable across codebases. By using SQLc, developers can maintain full control over queries while ensuring type safety and reducing development time.

  5. 5
    Article
    Avatar of communityCommunity Picks·1y

    Things to do after a fresh laravel install

    When setting up a fresh Laravel installation, consider using the Laravel installer for a streamlined process, including selecting a starter kit such as Inertia/React or Livewire Volt with Class. Recommended packages for enhancing your Laravel setup include Laravel-error-solutions, laravel-schedule-monitor, laravel-env-keys-checker, and tighten/duster. Configuration tips include addressing the n+1 query problem and ensuring JSON responses for API routes in Laravel 11 and above. Example configurations for tlint, pint, and package.json are shared for better project setup.

  6. 6
    Video
    Avatar of fireshipFireship·2y

    Appwrite in 100 Seconds

    Appwrite is a free, open-source backend platform designed to streamline the development of web and mobile applications. It offers essential backend services like server hosting, relational databases, file storage, secure authentication, and real-time notifications. With SDKs for multiple platforms, including major JavaScript frameworks, React Native, Flutter, Android, and iOS, developers can quickly implement features such as user authentication with minimal code. Appwrite also provides a robust admin dashboard and supports running server-side code for custom backend functionality.

  7. 7
    Article
    Avatar of communityCommunity Picks·2y

    gRPC

    gRPC is a high-performance, open-source RPC framework that connects services across data centers and to backend services from devices, mobile apps, and browsers. It uses Protocol Buffers for service definitions, supports quick scaling, works across various languages and platforms, and offers bi-directional streaming with integrated authentication.

  8. 8
    Article
    Avatar of itnextITNEXT·2y

    Why is gRPC so much faster than a JSON-based REST API?

    gRPC is faster than a JSON-based REST API primarily due to its use of HTTP/2 and Protobuf. HTTP/2 reduces request wait times through asynchronous requests and connection reuse. Protobuf, being binary-based, is more compact and faster during serialization/deserialization compared to JSON. While gRPC offers significant performance benefits, it also introduces complexities in load distribution, troubleshooting, and managing contracts. It's recommended for scenarios needing high performance and capable of handling its complexities, though REST + JSON remains a viable option.

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

    DevOps Project Ideas are Live on roadmap.sh

    Roadmap.sh has added 21 new project ideas to their DevOps roadmap, complete with learning objectives, requirements, and tips. They now offer project ideas for frontend, backend, and DevOps. More project ideas for other roadmaps are coming soon.

  10. 10
    Article
    Avatar of francofernandoThe Polymathic Engineer·2y

    Protobuf

    Binary encodings like Protobuf offer a compact and efficient way to serialize data, addressing the verbosity and parsing complexities of formats like JSON and XML. Protobuf, created by Google, uses a schema-driven approach to ensure both backward and forward compatibility, making it ideal for performance-critical applications. The process involves defining data structures in .proto files, which are then compiled into code for serialization and deserialization. Proper handling of fields and types in Protobuf protects against breaking changes in evolving schemas.

  11. 11
    Video
    Avatar of TechWithTimTech With Tim·2y

    4 Software Developer Roadmaps For 2024+

    A software engineer emphasizes the importance of having a roadmap to succeed in the field. The author breaks down essential core skills such as programming, data structures and algorithms, command line navigation, version control with git, and coding best practices. The post then presents four specific roadmaps: data science/machine learning, frontend development, backend development, and mobile development, providing detailed guidance on the essential skills, frameworks, and tools needed for each path.

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

    JS Libraries, SVG Tools, JSON, Databases

    Issue #585 covers various JavaScript libraries and frameworks, including Edge, WelsonJS, Boa, Omlet, DeshiJS, and UIX. It also explores media tools like Mixwave, Iconify, and CleanSnap, as well as JSON tools and databases such as Qustar, jnv, sq, and pgweb. The post also features commercial apps and classifieds like Mind Visuals and Jsonify, and offers insights from Anthony Fu on making progress in any project.

  13. 13
    Article
    Avatar of devtoDEV·2y

    Back-End Development: Definition, Stats, & Trends To Follow In 2024

    Back-end development now serves as a stand-alone solution, encouraging businesses to migrate applications server-side. Key trends for 2024 include AI and Machine Learning for smarter applications, containerization and orchestration for reliable deployment, Backend-as-a-Service (BaaS) for scalable app development, event-driven architecture for extensible systems, serverless architecture for faster deployment, API-first development for reusable APIs, microservice architecture for resilient applications, cloud-native development for multi-cloud environment flexibility, and serverless apps for cost-efficient cloud operations.

  14. 14
    Article
    Avatar of awegoAwesome Go·2y

    Go and Postgres Listen/Notify or: How I Learned to Stop Worrying and Love PubSub

    This post explains how to implement PubSub functionality using PostgreSQL's Listen/Notify feature in Golang applications. Unlike traditional PubSub systems that rely on message brokers like Redis, PostgreSQL's Listen/Notify allows for an efficient, single-system solution. The author discusses the use of pgx for connection management, introduces a custom Notifier package, and provides code examples illustrating how to set up a listener, notifier, and subscription system efficiently. Key points include handling notifications, managing subscriptions, and dealing with blocking calls.

  15. 15
    Article
    Avatar of collectionsCollections·2y

    Understanding Backends for Frontends (BFF) Pattern

    Backends for Frontends (BFF) is an architectural pattern that assigns specific backends to different client types, optimizing API design for enhanced user experience. This approach improves performance, scalability, security, and simplifies frontend development by acting as a middleware layer. It uses gateways and orchestrators to manage diverse workflows and access modes, though it introduces complexity in sharing common functionalities and maintenance.

  16. 16
    Article
    Avatar of p99confP99 Conf·2y

    14 Books by P99 CONF Speakers: Latency, Wasm, Databases & More

    P99 CONF features over 60 speakers sharing insights on performance topics like distributed databases, Rust, C++, Go, Wasm, and more. The post highlights 14 books authored by the speakers, providing a rich resource for attendees. Registrants get a 30-day access to O’Reilly’s library and discounts from Manning publications. The highlighted books cover diverse topics such as data-intensive applications, technical writing, latency reduction, distributed systems, and eBPF.

  17. 17
    Article
    Avatar of freecodecampfreeCodeCamp·2y

    How to Pass Additional Arguments to Next.js Server Actions

    Learn how to pass additional arguments to Next.js server actions, which are asynchronous functions that execute on the server. The guide walks through handling extra arguments programmatically using the bind() method in JavaScript, avoiding security issues associated with hidden form fields. It includes an example of creating a form and a working server action, showing how to enhance the form to include additional parameters securely.

  18. 18
    Article
    Avatar of newstackThe New Stack·2y

    My 5 Favorite Command Line Tools

    Discover five essential command-line tools to boost your productivity: SDKMAN for managing multiple SDKs, eza for an enhanced ls experience, ffmpeg for comprehensive audio and video processing, pueue for managing long-running tasks, and find for efficient file searching and processing. Learn how to install and use each tool with practical examples.

  19. 19
    Video
    Avatar of communityCommunity Picks·2y

    Learn NestJS – Complete Course

    Learn the fundamentals of NestJS by building a back end for a Spotify clone. NestJS, built on Node.js, ExpressJS, and TypeScript, embraces Angular concepts to organize and structure server-side applications. The guide covers database design, REST API creation, and deployment. Key components like controllers, providers, modules, middleware, exception filters, and decorators are explained to help manage complex applications. The tutorial walks through setting up a project, creating routes, handling requests with controllers, using services for business logic, and connecting to databases with TypeORM.

  20. 20
    Article
    Avatar of communityCommunity Picks·2y

    sq

    sq is an open-source, versatile data wrangling tool designed for inspecting, querying, joining, importing, and exporting various types of data. It's easy to install on platforms like macOS, Windows, and Linux via package managers like Homebrew, scoop, apt, yum, and more. Key features include diffing database tables, importing Excel worksheets into databases, viewing metadata, exporting tables to CSV, and querying JSONL files. Its command-line interface supports a range of database operations.

  21. 21
    Article
    Avatar of freecodecampfreeCodeCamp·2y

    How to Build a CRUD Application using React and Convex

    Learn how to build a CRUD application using React and Convex, featuring a book collection project where users can add books and update their status. The guide covers setting up Convex and React, creating a schema, building a UI, and implementing CRUD functions in the backend using Convex's built-in methods.

  22. 22
    Article
    Avatar of logrocketLogRocket·2y

    Using the built-in SQLite module in Node js

    Node.js v22.5.0 has introduced a native SQLite module, albeit in an experimental phase. This module allows developers to create databases either in memory or in a specified file without requiring external dependencies. The post provides a comprehensive guide to using this built-in SQLite module, including building a simple to-do app with Express.js, bcrypt, and nanoid. While the module offers a lightweight, embedded database solution, it currently supports only synchronous queries and lacks custom build options and extensions. It highlights the module's ease of use compared to third-party packages like node-sqlite3 and better-sqlite3.

  23. 23
    Article
    Avatar of awegoAwesome Go·2y

    Writing raw SQL easier with pgx and sqlc in Go

    Combine pgx, a PostgreSQL driver and toolkit for Golang, with sqlc, a tool that generates type-safe Go code from SQL queries, to streamline database interactions. While ORMs can be limiting for complex queries, pgx and sqlc offer more control and type safety. Using sqlc for CRUD operations and simple queries, and pgx for more complex queries, provides a balanced approach. The post outlines how to set up and use these tools in a Go project.

  24. 24
    Article
    Avatar of hnHacker News·2y

    ravachol/kew: A terminal music player for Linux.

    kew is a terminal-based music player for Linux, supporting various audio formats like MP3, FLAC, AAC, and more. It allows users to search, play, and manage music libraries directly from the terminal. Kew offers gapless playback, playlist control, and privacy with no data collection. It is available for several Linux distributions and can be installed via package managers or a shell script. Dependencies include FFmpeg, FFTW, and other libraries. The app includes features like customizable key bindings and visualizations, and it is optimized to work well with sixel-capable terminals.

  25. 25
    Article
    Avatar of communityCommunity Picks·2y

    A video course on PostgreSQL

    Mastering Postgres is a comprehensive video course designed to enhance your skills with PostgreSQL, covering fundamentals to advanced topics like indexes and data types. Learn to use full text search capabilities, create efficient indexes, and optimize your database performance. The course is taught by Aaron Francis, a seasoned software developer and database educator, and offers real-world examples to help you understand core principles. The course includes 4K resolution videos with both light and dark modes, and offers a satisfaction guarantee with refund options.