BACKEND DEVELOPER
CHEATSHEET (±3500
karakter)
1. Fundamental Concepts
Pahami siklus request–response: client → router → controller → service →
repository → DB → response.
Gunakan struktur modular & clean architecture untuk memisahkan logic
bisnis.
Prioritaskan keamanan, konsistensi, dan observability.
2. HTTP & API Design
HTTP Methods:
GET (ambil data)
POST (buat)
PUT/PATCH (update)
DELETE (hapus)
Status Code Penting:
200 OK, 201 Created, 400 Bad Request, 401 Unauthorized,
403 Forbidden, 404 Not Found, 409 Conflict, 500 Server Error.
Best Practices:
Gunakan endpoint konsisten & predictable:
/api/v1/users/:id
Struktur response:
{ "success": true, "data": {...}, "message": "OK" }
Pagination standar: ?page=1&limit=10
Validasi input di middleware/layer service.
3. Authentication & Authorization
JWT untuk API stateless.
Refresh token untuk sesi panjang.
RBAC/role-based authorization.
Hindari menyimpan password mentah, gunakan bcrypt/argon2.
4. Database & Query
SQL (MySQL/PostgreSQL)
Gunakan index untuk query sering digunakan.
Pahami SELECT, JOIN, GROUP BY, HAVING.
Hindari N+1 queries.
Gunakan transaksi untuk operasi multi-step:
BEGIN;UPDATE ...;INSERT ...;COMMIT;
NoSQL (MongoDB)
Cocok untuk dokument yang fleksibel.
Desain schema berdasarkan akses data, bukan normalisasi.
ORM:
Eloquent, Prisma, TypeORM, Sequelize, SQLAlchemy.
5. Caching
Redis untuk response caching, session, rate limiting.
Pola umum:
Cache-aside (paling umum)
o
o
Write-through
o
o
Write-behind
Pastikan cache invalidation benar agar data tidak basi.
6. Queues & Background Jobs
Gunakan: RabbitMQ, Redis Queue, Kafka (streaming).
Use case:
Email, notification
File export/import
Webhook handler
Data processing berat
Implement retry + dead letter queue (DLQ).
7. Security Essentials
Input validation (Zod/Joi/Marshmallow).
CORS configuration yang aman.
Rate limit API (IP based).
Gunakan prepared statements (hindari SQL Injection).
HTTPS + secure headers.
8. Logging & Monitoring
Gunakan log terstruktur (JSON) agar mudah dibaca tool.
Level log: ERROR, WARN, INFO, DEBUG.
Gunakan tools:
ELK Stack (Elasticsearch + Logstash + Kibana)
o
o
Grafana + Loki
o
o
Prometheus untuk metrics
Catat: request time, user agent, user id, error stack.
9. Testing
Unit test: test business logic.
Integration test: test endpoint + DB.
E2E: test alur penuh.
Mock DB external API untuk isolasi.
10. DevOps Basics
Docker:
Base image minimal.
Multi-stage build.
Semua config via environment variable (.env).
CI/CD:
Pipeline standar:
o
Lint → Test → Build → Deploy
Tools: GitHub Actions, GitLab CI, Jenkins.
Deployment:
VPS, Docker Swarm, Kubernetes (Deployment, Service).
Blue/Green atau Rolling Update.
11. Clean Architecture Pattern
controller → service → repository → database ↑ middleware
Controller: parsing request.
Service: logic utama.
Repository: akses database.
Middleware: auth, logging, validation.
12. Tools Wajib Backend Developer
Git CLI
Postman/Insomnia
Docker Desktop
DB GUI: TablePlus, Beekeeper, DBeaver
Monitoring: Grafana, Prometheus
Message broker: RabbitMQ, Kafka
13. Best Practices
Selalu dokumentasi API (Swagger/OpenAPI).
Buat error handler global.
Gunakan UUID untuk ID publik.
Pisahkan environment (dev/staging/prod).
Tulis kode simpel & mudah ditest.