- Internet (IP, DNS, Proxy, domain)
- World Wide Web
- Client-Server Architecture
- Web Page vs Website vs Web Server vs Web browser
- Static Websites vs Dynamic Websites
- HTTP/S Protocol (Request Methods, Headers, Cache, Cookies, Compression, CORS, CSP, Response codes), FTP
- Browsers (Rendering Engines, JavaScript Engines)
- Browser Search Engines (Google)
- Character Encodings
- Licenses (Open Source vs Closed Source, CC, MIT, Apache, GPL, LGPL)
- Semantic Versioning
- UI/UX (Prototype/ Wireframes)
- API
- Web Standards (W3C, WHATWG, ECMAScript)
- i18n, Localization
- Polyfill
- Environment Variables
- Regular Expressions
- Splash screen
- 12 Factors
- HTML5, Semantics, Accessibility(A11y)
- Vector graphics to the Web (SVG)
CSS - Styling (UI/UX)
- CSS3, Responsive Web Design (Media Queries, Relative units), Animations, UI-Lazy loading
- CSS Box model, Grid, Flexbox
- JavaScript
- script async vs defer,
- Async programming
- Understanding functions, context and binding in JavaScript
- Intersection Observer
- ESNext (ECMAScript), Modules
- Babel
- Module system (CommonJS vs AMD vs UMD vs ESM)
- virtual DOM
- JSX
- DOM Manipulation (jQuery)
- Device APIs
- Communication APIs
- Data management APIs
- Fetch
- AJAX (XMLHttpRequest)
- Cookies vs Sessions
- JSON
- XML
- Protobuf (Protocol Buffers by Google)
- 2D (Canvas, SVG)
- 3D (WebGL)
- Video/Audio
- WebRTC
- SEO Friendly URLs (Slug)
- SASS
- BEM
- Styles components
- CSS modules
- Jest, Enzyme, Cypress
- Lighthouse, DevTools
- WASM
- WASI (Lucet, wasmer, wasmtime), https://bytecodealliance.org
- AWS Lambda/ Azure functions/ Google Cloud functions
- Node.js (Event Loop, Modules, Native node modules (N-API))
- Express.js (Middlewares, Sessions, Streaming the response from Node.js Server)
- Spring (Java)
- MongoDB & MongoDB Atlas
- dgraph or Neo4j
- Redis, MemCached
- Basic
- Token Auth
- JWT
- OAuth 2.0
- OpenID Connect
- Single Sign-On (Kerberos, SAML)
- RabbitMQ or Kafka
- ElasticSearch
- Markdown
- JSDoc
- Swagger (https://app.swaggerhub.com/)
-
OWASP (SQL injection, XSS, Broken auth/session management, CSRF)
-
HTTPS, Transport Layer Security (TLS)
-
Content-Security-Policy (CSP)
-
CORS
-
Subresource Integrity (SRI)
-
Hash passwords (
MD5,SHA-1, Use Argon2, PBKDF2, scrypt or bcrypt)
- Measuring performance (RAIL)
- Tools (Lighthouse, WebPageTest, PageSpeed Insights, Chrome dev tools)
- Code splitting, Lazy loading
- instant loading with the PRPL pattern
- Source code protection
- pkg
- Docker, Kubernetes, Unikernels
- Web Servers (Apache, Nginx)
- https (letsencrypt)
- netlify, Github pages
- GIT
- Tunnels (Ngrok)
- Proxy, VPN
- CDN
- CMS
- Logging (morgan, winston)
- Load balancing
- Backups
- Web Components (HTML Templates, Custom elements, Shadow DOM)
- Single Page Apps (SPA) vs MPA (traditional)
- CSR / SSR (Next.js, sapper) / Hydration, Pre-Rendering
- GatsbyJS
- App shell
- Latest Web APIs
- SSE
- Web sockets
- Service workers (Workbox)
- Push notifications
-
OOP (Polymorphism, Inheritance, Encapsulation, Abstraction, Aggregation and Composition)
-
Event Sourcing
-
CQRS
- Web Scrapping
- Deno
- Bot
- Web Hooks
- Web bundle
- gRPC
- QUIC
- HTTP/2, HTTP/3
- Web Components (Custom Elements, Shadow DOM)
- React Native. For alternatives ReactNative-alternatives
- electron. For alternatives electron-alternatives
- Map of Computer Science
- Programming (Binary, Pointers, Dynamic memory allocation, Memory leak, Garbage collection, Recursion, Concurreny, Parallelism, Multi-threading, Asynchronous, Compile vs interpret vs transpile, JIT, AOT, Exception Handling )
- Software Engineering (SDLC, UML, Blackbox vs Whitebox Testing)
- Operating Systems (Boot process, System Calls, Process, Threads, CPU Scheduling, IPC, Concurrency, Synchronization, Deadlock, Memory management, Disk management, File systems)
- Database Systems (ER model, Normalization, Indexing, Query Optimization,Transactions, ACID, Replication, Sharding)
- Computer Networks, Data Communication (OSI Layer, ISP) & Informaion Security (cryptography- encryption, Hash, TLS, Digital signatures,certificates, Firewalls)
- Computer Organization & Architecture, Digital electronics (Combinational vs Sequential circuits), Microprocessors (ASM), Microcontrollers (Memory hierarchy, Number System)
- Data Science (Big data, Artificial Intelligence/Machine Learning)
- Data Structures
- Algorithms (Searching, Sorting, Hashing)
- Algorithm Design Techniques (Greedy, Divide & Conquery, Dynamic programming)
- Asymptotic worst case time and space complexity analysis
- Theory of Computation, Compiler design (Optional)
- Distributed Systems
- Cloud Computing & Virtualization
- Internet of Things (Optional)
- Mathematics, Statistics (As applicable to CS)