Repository files navigation
General (Refer the Computer Science section also)
Internet (IP, DNS, Proxy, domain)
World Wide Web
Client-Server Architecture vs Peer-Peer (P2P)
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-Blink, Gecko, Webkit, JavaScript Engines-V8, SpiderMonkey, JavascriptCore)
Browser Search Engines (Google)
Character Encodings (UTF, ASCII)
Licenses (Open Source vs Closed Source, CC, MIT, Apache, GPL, LGPL)
Semantic Versioning
UI/UX (Prototype/ Wireframes)
API
Web Standards (W3C, WHATWG, ECMAScript, TC39)
Internationalization(i18n), Localization
Polyfill
Environment Variables
Regular Expressions
Splash screen
Input validation
12 Factors
Data exchange formats (JSON, XML, Protobuf (Protocol Buffers by Google))
CDN (Content Delivery Network)
Terminal/CMD usage (Basic Commands)
Version control & Repo hosting (Git, Github)
Developer Tools & Utilities, Code editor vs IDE, API Clients, Debuggers
CSS3, Responsive Web Design (Media Queries, Relative units), Animations, UI-Lazy loading
CSS Box model, Grid, Flexbox, Positioning
CSS Pre-processors (SASS)
JavaScript (Syntax, Concepts like hoisting, closure, generators)
Module system (CommonJS vs AMD vs UMD vs ESM)
ESNext (ECMAScript - Rest/Spread, Destructuring, Template Literals, let/const, for-await, for-of)
script async vs defer
Async programming (Callbacks, Promises, Async/Await, Error handling)
OOP (Objects, Prototypes, Classes)
Understanding functions, context and binding in JavaScript
Events (Bubbling)
Web/Browser APIs (DOM, BOM)
DOM Manipulation
Device APIs
Communication APIs
Data management APIs (localstorage, sessionstorage, webSQL, indexeddb)
Fetch vs AJAX (XMLHttpRequest)
Cookies vs Sessions
Intersection Observer
WebVR, WebSpeech, WebXR, WebUSB, WebBluetooth, WebAuth, Creds, Native FS, Share)
Graphics (WebAnimations, 2D (Canvas, SVG), 3D (WebGL), Video/Audio, WebAudio WebRTC)
Streams
Vanilla JS vs. jQuery vs. Modern Frontend Frameworks
DOM vs virtual DOM vs shadow DOM
JSX
Web Components (HTML Templates, Custom elements, Shadow DOM)
Front End Frameworks (SPA)
Styles components
CSS modules
JavaScript Flavors, Type Checkers, Polyfills, Transpilers, Compilers
JAMStack (Static site generator,..)
Module bundler, Minification, Obfuscation
Server Side Languages/Runtimes (Javascript | Java | Go | Rust | Python | C# | PHP | Ruby)
Node.js (Event Loop, Modules, Cluster, Native node modules (N-API), Neon (RUST- wasm-pack))
Deno
Express.js (Middlewares, Sessions, Streaming the response from Node.js Server)
Client-side : HTTP Cache
Server-side : Redis, MemCached
CDN
Functions (AWS Lambda/ Azure functions/ Google Cloud functions)
Databases (Firebase cloud firestore, Amazon aurora, Azure Data lake, Google cloud datastore)
Authentication / Authorization
Cookies
Basic
Token Auth
JWT
OAuth 2.0 (Proof Key for Code Exchange (PKCE))
OpenID Connect
Active directory, LDAP, NTLM, Kerberos, SAML, Single Sign-On
Certificates
Performance (Loading vs Rendering)
Measuring performance (RAIL)
Tools (Lighthouse, WebPageTest, PageSpeed Insights, Chrome dev tools)
Code splitting, Lazy loading
instant loading with the PRPL pattern
Test (Unit vs functional vs integration) & Optimization
Jest, Enzyme, Cypress
Lighthouse, DevTools
Search Engine Optimization (SEO)
Deployment (Hosting), Containers, Virtualization & Scaling
CI/CD
Source code protection
pkg
Docker, Kubernetes, Unikernels
Web Servers (Apache, Nginx)
https (letsencrypt)
Static hosting (Netlify, Github pages)
GIT
Tunnels (Ngrok)
Proxy, VPN
CDN
CMS
Logging (morgan, winston)
Load balancing
Backups
Domain registration (Namecheap, Google domains), cPanel
Managed hosting (InMotion, Hostgator, Bluehost)
Programming Paradigms (OOP, functional, reactive)
OOP (Polymorphism, Inheritance, Encapsulation, Abstraction, Aggregation and Composition)
Architectural styles (Monolith, SOA, Microservices, Serverless, Event Sourcing, CQRS)
Design patterns Gang of Four (GoF) -> (Creational vs Structural vs Behavioral)
Architectural patterns (MVC, MVVM, MVP, Flux, Redux)
Design principles (SOLID, YAGNI, KISS, DIY, SSOT, SoC, TDA, DRY)
Mobile App Development using Web Technologies
Desktop App Development using Web Technologies
Map of Computer Science
Programming (Binary, Pointers, Dynamic memory allocation, Memory leak, Garbage collection, Recursion, Concurrency, 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, POSIX (stdin, stdout, stderr, pipes), I/O)
Database Systems (ER model, Normalization, Indexing,(sparse,dense,multilevel,clustered) B,B+, Query Optimization, Transactions, ACID, Replication, Sharding, CAP theorem, N+1 Problem)
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)
About
To learn & implement things
Topics
Resources
Stars
Watchers
Forks
You can’t perform that action at this time.