TLDR Web Dev

TLDR WEB DEV 2023-10-30

5 sections12 entrieslinks blockcomplete parse

Parse notes

  • Subscription/account footer truncated before parsefooter_truncated

01ARTICLES & TUTORIALS

HOW GRAB CATEGORIZES TENS OF MILLIONS OF USERS IN MILLISECONDS

Grab operates a Segmentation Platform to categorize users, drivers, and restaurants into segments for various purposes, such as experimentation, blacklisting, and marketing. This platform handles substantial workloads, with impressive performance metrics of up to 12,000 reads per second, 36,000 writes per second, and a low P99 latency of 40 milliseconds. It consists of two key subsystems: Segment Creation, powered by Apache Spark, and Segment Serving, supported by Go services and ScyllaDB for efficient data storage and retrieval.

blog.quastor.org9 min read

TAO OF REACT - SOFTWARE DESIGN, ARCHITECTURE & BEST PRACTICES

This article dives into best practices for React application structure and design, with general rules for building a productive codebase. It covers various aspects, including components, state management, application structure, performance, testing, styling, and data fetching. The article advocates favoring functional components, maintaining consistency in component styles, and using meaningful component names. It also suggests organizing helper functions outside the component definition, avoiding hard-coded repetitive markup, and managing component size effectively.

alexkondov.com20 min read

THE SYSTEM DESIGN CHEAT SHEET: API STYLES

A well-designed API can enhance performance, while a poorly designed API can cause a multitude of issues, such as bottlenecks and security vulnerabilities. Different API styles include REST, GraphQL, WebSocket, Webhook, RPC (gRPC), and SOAP. This article breaks down different API styles and explores the key features and drawbacks of each API type. For example, GraphQL offers flexibility by allowing clients to specify their data requirements and is suitable for scenarios with complex frontend needs.

hackernoon.com14 min read

02OPINIONS & ADVICE

7 TYPES OF DIFFICULT COWORKERS AND HOW TO DEAL WITH THEM

This article explains the 7 types of difficult coworkers you may encounter, why they’re difficult, and how to turn situations with them into wins for both of you. The author is a tech lead at Meta and has over 10 years of industry experience. An example is the risk-averse coworker: they want to avoid risks and tend to push back on new initiatives because they want to make sure you have done your research. The key to working with them is recognizing what they’re doing is good for you - they are a forcing function for ensuring your plans are well thought out.

careercutler.substack.com13 min read

WHEN TO START WRITING TESTS (REDDIT POST)

An engineering team built a product that grew fast without writing any tests. However, the product is now starting to have flakiness and bugs from its lack of tests, so a Reddit user asked when the right time to start writing tests is. Commenters respond with advice, such as writing unit tests to make sure functionality doesn’t change over time. They advise selling the idea of taking time to write tests to management by using a perspective of risk.

reddit.com

03LAUNCHES & TOOLS

OPENSIGN

OpenSign is an open-source document e-signing solution. It ensures document security through advanced cryptographic algorithms, features a user-friendly interface for all users, and supports various browsers and devices. OpenSign also allows collaboration among team members, maintains detailed audit trails, generates completion certificates, and offers API support for integration with other software and services.

github.comGitHub repository

SCRATCHDB

ScratchDB is a Clickhouse wrapper that enables users to input arbitrary JSON data and conduct analytical queries effortlessly. It automatically generates tables and columns as new data is introduced.

github.comGitHub repository

04MISCELLANEOUS

THE THREE CS: 🤝 CONCATENATE, 🗜️ COMPRESS, 🗳️ CACHE

There are a number of different things we need to take into consideration in order to balance ergonomics, performance, and effectiveness when serving and storing files on the web. This post breaks these processes down into three parts: concatenating files on the server, compressing them over the network, and caching static assets.

csswizardry.com12 min read

WHEN TO USE CSS TEXT-WRAP:BALANCE VS TEXT-WRAP:PRETTY

Two new values for the text-wrap property were recently introduced: balance and pretty. This article explores when and why you should use them, with code samples to help you visualize their effects.

blog.stephaniestimac.com3 min read