Best of Performance2024

  1. 1
    Article
    Avatar of devtoDEV·2y

    REST API Design Rules

    Importance of clean REST API designs for usability, maintainability, security, performance, development time, scalability, reusability, and documentation. URI rules include plural collections, singular/singletons, no trailing forward slashes, hyphen use, lowercase letters, no file extensions, and avoiding CRUD function names. HTTP method rules for creating, reading, updating, deleting, and patching resources. Versioning for maintaining backward compatibility and consistent API design.

  2. 2
    Article
    Avatar of substackSubstack·2y

    System Design: How to Scale a Database

    Scaling a database is essential as an application grows to maintain optimal performance. Strategies include: vertical scaling, adding resources to one server; indexing, creating indexes on frequently queried columns; sharding, splitting data across different servers; vertical partitioning, separating columns into smaller tables; caching, storing frequently accessed data in a faster storage layer; replication, creating copies of the database in different regions; materialized views, pre-computing and storing complex query results; and data denormalization, introducing redundancy to optimize reads by combining tables. Each method has trade-offs and can be combined based on application needs.

  3. 3
    Article
    Avatar of dailydevworlddaily.dev World·1y

    We made daily.dev faster ⚡️ See how we did it

    Over the last two weeks, daily.dev optimized its performance, focusing on improvements for low-end mobile devices, upgrading infrastructure with newer CPUs and spot nodes, and refining content pipelines and ML models. Enhancements included reducing JavaScript bundle sizes, optimizing image loading, and reducing fields in feed requests. These changes resulted in up to 50% faster page load times, especially on mobile devices.

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

    8 Strategies for Reducing Latency

    High latency can render an application unusable, frustrating users and negatively impacting business outcomes. Developers need to understand low-latency strategies such as caching, using Content Delivery Networks (CDNs), load balancing, asynchronous processing, database indexing, data compression, pre-caching, and utilizing keep-alive connections to mitigate these issues and improve performance.

  5. 5
    Video
    Avatar of communityCommunity Picks·2y

    Stop using COUNT(id) to count rows

    Counting rows using COUNT(*) in MySQL is not slow as often believed. It is actually optimized to be the fastest way to count rows.

  6. 6
    Article
    Avatar of communityCommunity Picks·1y

    10 Data Structures That Make Databases Fast and Scalable

    Modern databases achieve high speed and efficiency through the use of advanced data structures and indexing techniques. This includes hash indexes for fast insertion and lookup, B-Trees for optimized reads and writes, skip lists for fast operations on dynamic datasets, memtables for efficient writes, and SSTables for optimized storage of key-value pairs. Additional structures like inverted indexes, Bloom filters, bitmap indexes, R-trees, and Write-Ahead Logs further enhance performance and reliability by improving search capabilities, reducing memory usage, speeding up complex queries, and ensuring data consistency even during crashes.

  7. 7
    Article
    Avatar of devtoDEV·2y

    Async vs Defer in JavaScript: Which is Better?🤔

    Learn about the async and defer attributes used when including external JavaScript files in HTML documents. Understand their differences, how they affect script execution, and when to use them.

  8. 8
    Article
    Avatar of medium_jsMedium·2y

    Javascript Optimization Techniques

    This post covers various optimization techniques for JavaScript and React applications, including debouncing, throttling, memoization, pure components, lazy loading, virtualization, error boundaries, and the avoidance of inline functions.

  9. 9
    Article
    Avatar of communityCommunity Picks·2y

    Get the Best Performance on Your Next.js App

    Learn how to optimize performance on your Next.js app with tips like loading only the necessary JavaScript and CSS, lazy loading dependencies, using the Next.js Image component for image optimization, preferring CSS over JavaScript, avoiding loaders at the beginning, utilizing font optimization, optimizing scripts, removing unused packages, checking bundle size, and using server components for improved rendering and caching.

  10. 10
    Article
    Avatar of communityCommunity Picks·2y

    Reviewing Zed: An IDE of the Future

    Zed is a new, open-source IDE that is faster than Sublime Text and provides powerful features out of the box. It is currently in beta and supports Mac devices, with support for Windows and Linux coming soon. Zed aims to compete with VSCode as the king of code editors.

  11. 11
    Article
    Avatar of communityCommunity Picks·2y

    Stop Using UUIDs in Your Database

    This post discusses the performance issues and storage impact of using UUIDs as keys in a database.

  12. 12
    Article
    Avatar of communityCommunity Picks·2y

    Free Image Optimization Toolkit

    Easily optimize and compress up to 20 images (up to 10 MB each) for free to improve performance using imgto.xyz, leveraging Cloudinary's Image API. Convert images to modern, efficient formats for reduced file sizes.

  13. 13
    Article
    Avatar of communityCommunity Picks·2y

    The Dark Side of 'Foreach()' : Why You Should Think Twice Before Using It

    Learn about the limitations of forEach() function in JavaScript, including performance issues, inability to escape the loop, and incompatibility with async functions. Discover better options for working with arrays, such as map(), reduce(), and filter().

  14. 14
    Video
    Avatar of communityCommunity Picks·1y

    12 Logging BEST Practices in 12 minutes

    Effective logging is crucial for troubleshooting and maintaining system health. Key practices include having a clear plan, understanding log levels (info, warning, error, fatal), using structured logging, capturing detailed log entries, implementing log sampling to reduce storage costs, using canonical log lines, centralizing logs, setting retention policies, securing sensitive data, and choosing efficient logging libraries to minimize performance impact. Additionally, metrics should be used alongside logs for real-time monitoring.

  15. 15
    Article
    Avatar of devtoDEV·2y

    Image Lazy Loading

    The post introduces image lazy loading as a technique to improve React application performance. It highlights advantages such as faster initial load times, reduced bandwidth usage, smoother scrolling, and improved search engine ranking. It provides an example using both native lazy loading attributes and the `react-lazy-load-image-component` npm package. The author advises caution for certain use cases like carousels and above-the-fold images.

  16. 16
    Article
    Avatar of bytebytegoByteByteGo·2y

    EP132: Big O Notation 101: The Secret to Writing Efficient Algorithms

    Understanding Big O Notation is essential for building efficient algorithms, ranging from constant time operations (O(1)) to factorial complexities (O(n!)). Common forms include linear (O(n)), quadratic (O(n^2)), and logarithmic (O(log n)) notations, each with distinct performance implications. The post also covers key aspects of Domain-Driven Design and NoSQL database use cases.

  17. 17
    Article
    Avatar of lobstersLobsters·2y

    Online CSS Code Quality Analyzer

    Use the CSS Code Quality analyzer to analyze your CSS and get recommendations for performance, maintainability, and complexity.

  18. 18
    Article
    Avatar of phProduct Hunt·1y

    React Scan - Scan your React app for problematic renders and performance

    React Scan is a new open-source developer tool designed to identify and address problematic renders and performance issues in React applications. It made its first launch on November 15th, 2024, and aims to help developers optimize their React apps.

  19. 19
    Article
    Avatar of communityCommunity Picks·2y

    Vite 5.1 is out!

    Vite 5.1 has been released with improvements in support for .css files, the addition of the Vite Runtime API, and various performance improvements.

  20. 20
    Article
    Avatar of itnextITNEXT·2y

    Frontend Performance Love Story

    Discover innovative methods to enhance frontend performance, focusing on optimizing the initial load and fast page navigation. Learn about the Neo client approach using small JavaScript HTML-generators, avoiding server-side rendering (SSR) and hydration complexities. Explore the challenges of bundling tools with apps that allow user-generated code at runtime, and how to run development and production versions concurrently. Interactive multi-window views and upcoming performance boosts are also discussed.

  21. 21
    Article
    Avatar of communityCommunity Picks·2y

    How to reduce unused JavaScript in your code?

    Reducing unused JavaScript is crucial for optimizing modern websites. This guide covers techniques like code splitting, tree shaking, minifying JavaScript, loading scripts asynchronously, dynamic imports, and lazy loading to help improve web performance by cutting down on unnecessary code.

  22. 22
    Article
    Avatar of itnextITNEXT·2y

    Optimizing Web Backends

    The post discusses common techniques for optimizing web backend performance, focusing on issues related to high response times. It categorizes optimization strategies into three main layers: Application, Database, and Infrastructure. Key methods include optimizing algorithms, using asynchronous functions, leveraging concurrency, indexing databases, scaling databases, data compression, using CDNs, upgrading to HTTP/2 or HTTP/3, and replicating infrastructure. Continuous measurement and testing are emphasized to ensure effectiveness.

  23. 23
    Article
    Avatar of communityCommunity Picks·2y

    Optimizing our post page performance

    daily.dev optimized post page performance by addressing issues with excessive DOM size and JavaScript execution on pages with heavy user interactions and comments. They utilized Chrome's content-visibility property and lazy rendering comments with the IntersectionObserver API to improve page responsiveness and reduce main thread work, resulting in enhanced user experience and SEO.

  24. 24
    Article
    Avatar of communityCommunity Picks·2y

    Typesense

    Typesense is a privacy-friendly, open-source search engine optimized for high performance and ease-of-use. It employs advanced search algorithms, corrects typos, offers flexible ranking, and supports a variety of search features such as synonym recognition, filtering, and geographic searches. Typesense can handle multiple users' data, sort records dynamically, and provide resilient, production-grade search services with simple setup steps.

  25. 25
    Article
    Avatar of freecodecampfreeCodeCamp·2y

    How to Use React Developer Tools – Explained With Examples

    Learn how to use React Developer Tools to inspect and debug React applications efficiently. Install the extension, navigate the interface, and explore component state and props. Debug errors and analyze performance using React DevTools.