Best of Backend Development β December 2024
- 1
- 2
- 3
Hacker NewsΒ·1y
Introducing Limbo: A complete rewrite of SQLite in Rust
Turso has announced Limbo, a complete rewrite of SQLite in Rust, aiming for robust memory safety and modern architecture while maintaining full compatibility with SQLite's language and file format. Limbo leverages deterministic simulation testing for higher reliability and ensures asynchronous operations from the ground up. Initial benchmarks show promising performance improvements, and the project continues to grow with community contributions.
- 4
LobstersΒ·1y7 Databases in 7 Weeks for 2025
This post discusses seven databases that are worth exploring in 2025, each offering unique capabilities and use cases. It covers PostgreSQL, SQLite, DuckDB, ClickHouse, FoundationDB, TigerBeetle, and CockroachDB, highlighting their key features and suggesting practical experiments to deepen understanding. This mix includes both well-established and emerging technologies, offering insights into client-server models, embedded databases, analytics, financial transaction processing, and globally distributed databases.
- 5
Backend DeveloperΒ·1y
π Master RabbitMQ: Build Efficient Message Queues! ππ©
Learn how RabbitMQ can help decouple microservices, handle asynchronous tasks, and build resilient systems. The tutorial covers setting up RabbitMQ with Docker and creating producers and receivers to eliminate bottlenecks in your backend architecture.
- 6
YouTubeΒ·1y
Master Microservices with Real-Life UBER Project | Advanced Backend
Learn how to effectively use microservices by working on a real-life project inspired by Uber. This guide explains the challenges with monolithic architectures and demonstrates how microservices can solve scalability issues. You will see specific coding examples of setting up a backend, breaking applications into smaller services, and handling high-traffic scenarios by scaling individual components.
- 7
Community PicksΒ·1y
SQL Cheat Sheet: The Ultimate Guide to All Types of SQL JOINS
SQL joins are essential for combining data from multiple tables based on common columns. This guide covers various types of joins such as INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN, SELF JOIN, and CROSS JOIN, explaining their syntax and usage. Understanding these joins is crucial for effective data retrieval and integration in relational databases.
- 8
Laravel NewsΒ·1y
Automatic speech recognition and transcription
Whisper.php is a PHP wrapper for whisper.cpp, a C/C++ port of OpenAI's Whisper model, created by Kyrian Obikwelu. Recently released in version 1.0.0, it facilitates fully local and API-free transcription with features like high and low-level APIs, model auto-downloading, support for various audio formats, and multiple output formats. It requires the FFI extension in PHP and relies on platform-specific shared libraries, downloaded automatically during the first initialization. Whisper.php currently supports Linux and macOS, with Windows support in development.
- 9
gitconnectedΒ·1y
PostgreSQL Shared Buffer, What Backend Developers Should Know
For backend developers, understanding and configuring PostgreSQL shared_buffers is critical. Shared buffers are a key part of PostgreSQL's architecture, acting as an intermediary between the database and the disk rather than a simple cache. Proper configuration typically involves allocating around 25% of RAM to shared_buffers and monitoring their performance using tools like pgbuffercache and pginspect. Optimizing shared_buffers can significantly enhance read and write operations, reducing the need for frequent disk access.
- 10
YouTubeΒ·1y
SQL Full Course 2025 | Complete SQL Course For Beginners | Learn SQL in 11 Hours | Intellipaat
An in-depth guide to learning SQL, highlighting its importance in the tech industry and its widespread use in data management by major companies. The course includes topics from basic queries to advanced SQL scripts and hands-on projects, aiming to build a strong foundation for beginners and professionals. SQL is touted as a critical skill for data professionals, offering career growth and competitive salaries.
- 11
Quastor DailyΒ·1y
The Architecture of Stripe's Document Database
Stripe built DocDB, an internal document database service on top of MongoDB, to efficiently manage large-scale data operations. DocDB facilitates dynamic rebalancing of data shards, ensuring data consistency and operational control. Key features include handling petabytes of data, zero-downtime data migrations, and fine-grained data distribution control.
- 12
LobstersΒ·1yCollection of insane and fun facts about SQLite
SQLite is the world's most deployed and used database, maintained by just three people without outside contributions. It originated from a need for a serverless database on a US warship. SQLite is in the public domain and has an extensive test suite, partly proprietary, ensuring reliability. It has unique traits such as a single writer model, weak typing, and no foreign keys by default. Despite its quirks, SQLite has strong backward compatibility and diverse applications, even outperforming filesystems in some cases.
- 13
GoΒ·1y
Go Protobuf: The new Opaque API
Go Protobuf has introduced a new Opaque API to improve performance and memory efficiency by decoupling the generated code API from the in-memory representation. This change hides struct fields and replaces direct field access with getter and setter methods. The Opaque API supports lazy decoding and reduces pointer-related bugs. Migration to the Opaque API is recommended for new development, with a hybrid option available for existing codebases.
- 14
Hussein NasserΒ·1y
When can Kernel can slow down the backend?
Network latency in applications is often attributed to user app logic, but sometimes the kernel plays a role. For instance, TCP configurations, such as enabling TCP_NODELAY, can improve network latency. This is because the kernel buffers data to send full-size TCP segments for efficiency, which may delay small data transmissions. Adjusting settings like TCP_NODELAY can reduce these delays and enhance performance for both backend and frontend applications.
- 15
YouTubeΒ·1y
Donβt let backend developers write frontend code π
A backend engineer discusses their experience of letting backend developers handle frontend tasks. The result was a poorly designed sign-up page with several usability issues, including a generated username, impractical password restrictions, and non-intuitive UI elements. The writer plans to fix these issues and then introduce some backend changes as a follow-up.
- 16
Awesome Java NewsletterΒ·1y
Quick and Easy: How to Test RESTful APIs in Java
Testing RESTful APIs is crucial for backend development but switching between IDEs and tools like Postman can reduce efficiency. The Apidog Fast Request plugin for IntelliJ IDEA simplifies this process by enabling API testing directly within the development environment. It supports Java and Kotlin projects, automatically generates API documentation, and syncs endpoint info for team collaboration. Install it from IntelliJ's plugin marketplace for streamlined testing with a single click.
- 17
Community PicksΒ·1y
I spent 2 years rebuilding my algorithmic trading platform in Rust. I have no regrets.
The author shares their experience of rebuilding their algorithmic trading platform in Rust after initially facing significant challenges. Although Rust's steep learning curve was frustrating compared to languages like TypeScript and Go, the author ultimately appreciates Rust for its speed, maintainability, and unique features. The platform's performance improved significantly, and the author provides tips for mastering Rust.
- 18
Hacker NewsΒ·1y
Server-Sent Events (SSE) Are Underrated
Server-Sent Events (SSE) provide a simpler alternative to WebSockets for one-way, server-to-client communication. They leverage standard HTTP protocols, are resource-efficient, and work well with existing HTTP infrastructure like load balancers and proxies. SSEs automatically handle reconnections and are ideal for real-time applications such as news feeds, stock tickers, and collaborative editing. While primarily text-based, they require separate requests for client-to-server communication and may need polyfills for older browser support.
- 19
CerbosΒ·1y
CRDTs and collaborative playground
Cerbos simplifies authorization logic for developers with tools like their collaborative IDE, the Playground. The Playground leverages CRDTs (Conflict-Free Replicated Data Types) for real-time collaboration, ensuring data synchronization without complex conflict resolution. Tools like Yjs and Automerge support this functionality, allowing developers to build and test access control systems efficiently. The architecture involves Node.js backend for communication and IndexedDB for browser storage, ensuring robust and scalable collaborative experiences.
- 20
Tech With TimΒ·1y
frontend first, or dive straight into backend?
Choosing between front-end and back-end development depends on personal interests and strengths. Visual learners might find front-end more appealing due to its visual nature, while those interested in logic and reasoning might prefer back-end. Experimenting with both areas can help determine which path aligns better with one's preferences.
- 21
We Are .NETΒ·1y
The Right Way To Build Async APIs in ASP.NET Core
Learn how to build asynchronous REST APIs in ASP.NET Core where requests get an immediate response, while the detailed work happens in the background. The post provides an example of a thumbnail generation service, which processes image resizing asynchronously using the Channel class and background services. It discusses how to improve user experience by decoupling slow processing from the main request-response cycle and offers insights into managing asynchronous tasks effectively.
- 22
- 23
- 24
Atomic SpinΒ·1y
LINQ Expressions: LINQuistics of C#
LINQ expressions in C# enhance coding efficiency by simplifying complex SQL queries and allowing powerful data manipulation. They offer a concise and readable way to retrieve and sort data, applicable both within SQL contexts and with general collections in C#. Examples include accessing specific messages from databases, sorting unique IDs from templates, and creating mock data for testing. LINQ helps in making code more efficient and easier to manage.
- 25
YouTubeΒ·1y
How I built an AI Teacher with Vector Databases and ChatGPT
Learn how to build an AI teacher using vector databases and ChatGPT. The process involves using OpenAI's APIs and vector databases to store and retrieve relevant data from video and PDF transcripts. Neon vector database, integrated with PostgreSQL, offers efficient handling of similar content for AI-driven responses. Tools such as AWS Transcribe aid in converting video content to text. This setup aims to provide quick, contextually accurate responses to user queries.