- What are operating systems?
- How operating systems run on hardware
- Windows
- Unix / Linux
- Mac
- Desktop
- Web
- Mobile
- Hybrid
- Embedded
- High level – high abstractions, lower detailed to hardware, focused building applications (JavaScript, Python, Go)
- Low level – closer to hardware (Assembly, C, C++, Java, C#)
- Compiled and Interpreted languages
- Syntax error
- Logic error
- Runtime error
- Debugging skill
- Libraries – application might depend from 3rd party libraries
- CORS – cross origin resource sharing. When connecting backend with frontend with http protocol
- XSS – cross site scripting. Application should validate user input before displaying it.
- DDOS – distributed denial of service attack. Huge amount of requests to the system where server becomes overloaded.
- SQL injection – it lets attackers manipulate database queries by injecting malicious input which often leads to data leaks, account takeover
- CSRF – cross-site request forgery
- Local threats
- 2 Factor Authentication – security process which requires user to provide two different type of verification. It protects against stolen or weak passwords and blocks phishing attack.
- Application layer - HTTP
- Presentation layer - Encryption
- Session layer
- Transport Layer – TCP / UDP
- Network layer - IP
- Data Links
- Physical layer
- http – hyper text transfer protocol
- https – hyper text transfer protocol secured
- ssl/tls – certificates
- AES enryption
- Docker container orchestration is the automated management, coordination, and scheduling of multiple containers that run applications across clusters of machines.
In simple terms: When you have many Docker containers (for example, web servers, databases, APIs) running across several servers, orchestration tools help you manage them — making sure they start, stop, scale, and communicate properly.
Docker Compose is a tool for defining and running multi-container Docker Application using simple YAML configuration file.
Docker Images contained software not running snap shot blue print Instanstiated -> container
DDL - Creating Structure [ CREATE, ALTER, DROP ] DML - Querying data [SELECT, UPDATE, DELETE INSERT ]
1:1 one-to-one 1:m one-to-many m:m many-to-many