Skip to main content

149 docs tagged with "middle"

View all tags

Accessibility in React Native

VoiceOver and TalkBack, accessibility props and their aria-* forms, grouping and hiding, focus and announcements, font scaling, touch targets, reduce motion, testing

Algorithms and Data Structures

Big O, Omega and Theta, complexity classes, abstract data types, arrays, linked lists, stacks, queues, hash tables, trees, heaps, graphs, sorting, search and common algorithmic techniques

Animated API

Animated values, timing / spring / decay, interpolate, composition, the native driver, LayoutAnimation, why not to animate with setState

App Lifecycle and Background Work

AppState states and events, refresh on return, hiding content in the app switcher, why JS stops in the background, expo-background-task, Headless JS, foreground services

App Router

File conventions of the app/ directory, segments, route groups, parallel and intercepting routes

Arrays

Array methods by group, mutating and non-mutating, common pitfalls

Authentication in React Native

OAuth and OIDC in the system browser, expo-auth-session and react-native-app-auth, native Apple and Google sign-in, token lifecycle and refresh, biometric login

Best Practices

Naming, DRY / KISS / YAGNI and when DRY hurts, Clean Code principles, code smells

Box Model

Content, padding, border and margin, box-sizing, margin collapsing, block vs inline, block formatting context, overflow, logical properties

Browser Storage

Cookies vs localStorage vs sessionStorage, cookie attributes and security

Child Process Module

exec, execFile, spawn and fork, buffered vs streamed output, shell injection, IPC with fork

CI/CD

CI vs continuous delivery vs continuous deployment, pipeline stages, caching, preview environments, a GitHub Actions example, CI/CD for mobile apps

Classes

Class syntax, inheritance, private fields and static methods

Client Components

'use client' as a boundary, Server Components as children, serializable props, context providers

Closures

A function that remembers the variables of the scope it was created in

Code Review

Why code review exists, what to look at, how to give and receive feedback

Common Coding Tasks

An index of live-coding tasks - bind, call/apply, Promise.all, debounce, deep copy, memoize, flat, event emitter, LRU cache - and where each is solved

Content Security Policy (CSP)

Content-Security-Policy header, directives and source values, strict CSP with nonces and strict-dynamic, Report-Only, frame-ancestors

Core Web Vitals

LCP, INP and CLS, thresholds, field vs lab data, how to improve each metric

CSS Custom Properties

CSS variables, var() with a fallback, cascade and inheritance, invalid at computed-value time, @property, theming with light-dark() and color-mix(), vs Sass variables

CSS Grid

Tracks and fr, repeat() with auto-fill vs auto-fit, line placement and grid areas, implicit grid, subgrid, Grid vs Flexbox

CSS Transitions and Animations

Transitions vs keyframe animations, why to animate transform and opacity, will-change, CSS vs JavaScript animations, reduced motion

Data Fetching

getStaticProps, getStaticPaths, getServerSideProps, ISR and on-demand revalidation, client-side fetching

Data Fetching Patterns

Fetching in Server Components, waterfalls, parallel requests, streaming, preload, passing a promise to the client

Debounce and Throttle

Debounce vs throttle, where to use each, an implementation of both and how to use them in React

Debugging React Native

React Native DevTools and its panels, LogBox, native logs from Xcode and logcat, crash reporting in production with source maps

Deep Linking

Custom URL schemes vs Universal Links and App Links, linking config, cold start vs a running app, opening a screen from a notification

Design Patterns

Creational, structural and behavioral design patterns with frontend examples, Observer vs Pub/Sub, Factory Method vs Simple Factory

DOM Events

Capturing and bubbling, target vs currentTarget, delegation, listener options

Enums

Numeric, string and const enums, and why unions often replace them

Environment Variables

NEXT_PUBLIC_ variables inlined at build time vs server variables read at runtime, .env file order, one Docker image for several environments

Error Boundaries

What error boundaries catch and what they don't, where to place them, how to reset them and react-error-boundary

Error Handling

throw, try...catch...finally, custom errors and errors in async code

Error Handling in Node.js

Operational vs programmer errors, system errors and codes, error handling in callbacks, promises and EventEmitter, unhandled errors, Express middleware

ES Modules

import and export, live bindings, modules in the browser, dynamic import, top-level await, import maps and import attributes

Event Loop

Call stack, tasks and microtasks, and the order of execution

Event Loop in Node.js

libuv event loop phases, process.nextTick and microtasks, setImmediate vs setTimeout, timers in Node.js

Events Module

EventEmitter, synchronous listeners, the special error event, once and promises, listener leaks, EventEmitter vs EventTarget

Fastlane

What fastlane automates for iOS and Android releases, lanes, match, fastlane vs EAS

Flexbox

Main and cross axes, container and item properties, flex-grow / shrink / basis and flex 1, gap and wrapping, the min-width trap, order

Functional Programming

Pure functions, side effects, referential transparency, immutability, higher-order functions, closures, currying vs partial application, composition, functors and monads

Functions

Function Declarations, Function Expressions, and Arrow Functions

Generics

Type parameters, constraints, defaults and generic React components

Gestures

Gesture Responder System, Pressable, PanResponder, React Native Gesture Handler and gesture composition

History API

pushState and replaceState, the popstate event, hash vs history routing, and the Navigation API

Hooks

Built-in hooks at a glance, the Rules of Hooks and custom hooks

HTTP

Methods, status codes, caching, HTTP versions and requests with fetch

HTTP Module

Creating an HTTP server with node:http, request and response as streams, reading the body, headers, making requests with fetch

Indexes

What an index is, B-tree and other index types, composite, partial and expression indexes, when an index is not used, EXPLAIN

Keyboard Handling

KeyboardAvoidingView per platform, Android adjustResize / adjustPan, keyboardShouldPersistTaps, Keyboard API, react-native-keyboard-controller, moving to the next field

Lists and key

Rendering lists with map, choosing a key, an index as a key, resetting state with a key

Merge vs Rebase

Merge vs rebase, fast-forward and merge commits, squash, interactive rebase, cherry-pick and conflicts

Metadata and SEO

Metadata API (metadata vs generateMetadata, merging, title templates), OG images, sitemap and robots, viewport, streaming metadata

Mobile App Security

Threat model of a mobile app, OWASP MASVS and Mobile Top 10, what the bundle reveals, HTTPS and SSL pinning, root detection vs attestation, sensitive data on screen and in logs, WebView

Module System in Node.js

CommonJS vs ES modules in Node.js, how Node.js picks the module type, require(esm), module.exports vs exports, resolution and caching

NoSQL Databases

NoSQL data models (key-value, document, wide-column, graph), SQL vs NoSQL, transactions and consistency, CAP theorem, when to choose which

Objects

Cloning objects, accessing properties, iterating, Object static methods

Offline Support

NetInfo and expo-network, isConnected vs isInternetReachable, cached reads, queued writes, offline-first, TanStack Query onlineManager and focusManager, conflicts and idempotent requests

OOP Principles

Encapsulation, inheritance, polymorphism and abstraction with TypeScript examples, composition over inheritance

Over-the-Air (OTA) Updates

What over-the-air updates can change without the store, EAS Update, runtime versions, what happened to CodePush, store rules

Performance in React Native

Why a React Native app lags, the frame budget of the JS and UI threads, measuring in release builds, common causes and fixes, startup time

Permissions

Runtime permissions on iOS and Android, permission statuses, blocked permissions and settings, libraries

Portals

createPortal, event bubbling through portals, modal accessibility

Positioning and z-index

position values, containing block, why sticky does not stick, stacking context and z-index, top layer, anchor positioning, ways to center an element

Promises and async/await

Promise states and chaining, Promise.all vs allSettled vs race vs any, async/await, errors and cancellation

Proxy (Middleware)

What Proxy (formerly Middleware) is, where it runs in a request, matcher, NextResponse, what it is for and not for

Publishing and Distribution

Publishing to the App Store and Google Play, signing, provisioning profiles, Play App Signing, test tracks, review and staged rollout

Push Notifications

How push notifications work, device tokens, notification vs data messages, foreground / background / quit behavior, APNs keys, libraries

React Context

createContext, providers, useContext and use, re-renders of consumers

React Router

React Router modes, nested routes, navigation hooks, loaders and protected routes

Reanimated

Reanimated 4 shared values, worklets and the UI thread, animated styles, layout animations, CSS animations, why it is faster than Animated

Redux

Store, actions and reducers, Redux Toolkit slices, React Redux hooks and memoized selectors

Refs

useRef, DOM refs, callback refs, ref as a prop and useImperativeHandle

Relationships Between Tables

One-to-one, one-to-many and many-to-many relationships, how each is built with foreign keys, junction tables, querying with JOIN

Responsive Design

Mobile-first media queries and range syntax, CSS units, clamp() / min() / max(), container queries, srcset and sizes vs picture, user preference queries

REST vs GraphQL

REST vs GraphQL - over- and under-fetching, caching, errors, N+1, versioning, and where tRPC fits

Route Handlers

route.ts, HTTP methods, dynamic segments, Route Handler vs Server Action

Safe Area and Edge-to-Edge

Insets for the notch, status bar and navigation bar, react-native-safe-area-context, edge-to-edge on Android 15+, navigators and insets

Server Actions

'use server', forms and useActionState, validation, revalidation, why an action is a public endpoint

Server Components

RSC vs SSR, what Server Components can't do, static and dynamic rendering, streaming, hydration

Server State: TanStack Query

Server state with TanStack Query, query keys, staleTime and gcTime, mutations, invalidation and optimistic updates

Service Workers

Service worker as a network proxy, registration and scope, lifecycle and updates, caching strategies, offline and PWA

Side Effects

useEffect dependencies, cleanup order, StrictMode, race conditions and useLayoutEffect

Socket.IO

Socket.IO vs WebSocket, transports, events and acknowledgements, rooms and namespaces, scaling with adapters

SOLID Principles

The five SOLID principles with frontend interpretations and TypeScript examples

Specificity and the Cascade

Cascade order, specificity, :is() / :where() / :has(), nesting, @layer, inheritance and the inherit / initial / unset / revert keywords

State

useState and useReducer, state as a snapshot, batching, immutable updates

Storing Data on the Device

AsyncStorage, MMKV, SecureStore and SQLite, where each kind of data goes on the device, tokens in Keychain / Keystore, persisting app state

Stream Module

Readable, Writable, Duplex and Transform streams, backpressure, pipeline vs pipe, async iteration, stream events

Synthetic Events

Event handlers, SyntheticEvent, event delegation on the root and differences from DOM events

Testing

Types of tests, pyramid vs trophy, test doubles, coverage, AAA, TDD and BDD, test runners and E2E tools

Transactions in SQL

ACID, BEGIN / COMMIT / ROLLBACK and savepoints, isolation levels and read anomalies, how PostgreSQL actually implements them, lost updates and locking

tsconfig and Strict Mode

What strict enables, useful flags beyond strict, new defaults in TypeScript 6 and a config for an app with a bundler

Type Assertions

The as syntax, as const, satisfies, non-null assertion and when a type guard is safer

Type Operators

keyof, typeof, indexed access, mapped, conditional and template literal types, infer

Type vs Interface

Declaration merging, extends vs intersection, implicit index signatures and which one to choose

Typing React

Props, children, events, hooks, context, wrapping native elements and ref as a prop in React 19

URL and Encoding

Parts of a URL, new URL and URLSearchParams, percent-encoding, encodeURI vs encodeURIComponent

Utility Types

Partial, Required, Readonly, Pick, Omit, Record, Exclude, Extract, NonNullable, ReturnType, Parameters, Awaited and NoInfer

Variables

var, let and const, hoisting and the temporal dead zone

Web Accessibility

WCAG and its levels, semantic HTML, accessible names, keyboard and focus, ARIA rules, contrast, testing

Web Components and Shadow DOM

Custom elements, Shadow DOM, templates and slots, what crosses the shadow boundary, Declarative Shadow DOM, forms, Web Components with frameworks

Web Workers

Dedicated and shared workers, postMessage and structured clone, transferable objects, SharedArrayBuffer, when a worker helps

What's New in React 19

Actions, use, ref as a prop and other changes of React 19 and its minor versions; removed APIs and migration

Where to Keep State

Kinds of state and where each belongs, client vs server state, when a store is needed, Zustand

Worker Threads

Worker threads for CPU-heavy work, messaging and shared memory, thread pools, worker_threads vs cluster and child_process

Working with Forms

Controlled and uncontrolled inputs, form Actions in React 19, form libraries