ICT-App Dev Specialist FA cheat sheet
ICT-App Dev Specialist FA · Keep the key ideas within reach.
App Development
App development life cycle: requirements → design → implementation → testing → deployment → maintenance; each phase produces artifacts that feed the next, and defects found later cost more to fix.
Client-server model: the client sends requests over HTTP(S), the server processes them and returns responses; statelessness means each request must carry enough context (session token, API key) to be understood alone.
REST design rules: resources are nouns in URLs (/users/42), HTTP verbs express actions (GET read, POST create, PUT/PATCH update, DELETE remove), and status codes communicate outcome (200 OK, 201 Created, 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 500 Server Error).
Idempotency: GET, PUT, and DELETE should produce the same server state when repeated; POST is generally non-idempotent, so retries of POST need idempotency keys to avoid duplicate records.
Authentication vs authorization: authentication verifies identity (login, token, certificate); authorization decides permitted actions (roles, scopes, ACLs). A 401 means unauthenticated; a 403 means authenticated but not allowed.
Token-based auth: after credential check the server issues a signed token (e.g. JWT) containing claims and an expiry; the client sends it in the Authorization header, and the server validates signature and expiry on every request.
Input validation and output encoding: validate on the server (never trust the client), use parameterized queries to prevent SQL injection, and encode output by context (HTML, attribute, URL, JavaScript) to prevent cross-site scripting.
State management on the client: local component state for ephemeral UI data, shared/global store for cross-screen data, and server cache for remote data; keep a single source of truth and derive rather than duplicate values.
Testing levels: unit tests isolate a function or class, integration tests exercise modules together, end-to-end tests drive the real UI and backend; the test pyramid favors many fast unit tests and few slow E2E tests.