Oprogramowanie
Podstawy, narzędzia i najlepsze praktyki w tworzeniu oraz utrzymaniu systemów komputerowych. Zobacz, jakie warstwy oprogramowania współgrają ze sprzętem oraz jak podążać za nowymi technologiami.
Systemy operacyjne
Co to jest OS?
System operacyjny zarządza zasobami sprzętowymi, udostępniający programom interfejsy API oraz zapewniający bezpieczeństwo i stabilność.
- Windows: najpopularniejszy w środowisku biurowym i gier.
- Linux (Ubuntu, Fedora): otwarty, elastyczny, szerokie wsparcie dla serwerów.
- macOS: zoptymalizowany pod ekosystem Apple.
Programowanie
Języki programowania
Wybór języka zależy od zadania: C/C++ – systemy niskopoziomowe, Python – szybkie prototypowanie, JavaScript – front‑end oraz Node.js.
- IDE / Edytory: VS Code, IntelliJ IDEA, PyCharm, Eclipse.
- Kontrola wersji: Git + GitHub/GitLab/Bitbucket.
- Automatyzacja: Makefile, CMake, npm scripts, Docker.
Bazy danych
Relacyjne vs Nie‑relacyjne
Relacyjne (MySQL, PostgreSQL) – strukturę tabel i kluczy. NoSQL (MongoDB, Redis) – elastyczność schematu i skalowalność.
- ORM: SQLAlchemy, Hibernate, Entity Framework.
- Backup & Recovery: regularne kopie zapasowe, walidacja integralności.
CI / CD (Continuous Integration & Delivery)
Dlaczego warto?
Automatyczne testy, budowanie i wdrażanie minimalizuje błędy oraz przyspiesza rozwój.
- Narzędzia: GitHub Actions, GitLab CI, Jenkins, Travis CI.
- Konteneryzacja: Docker + Kubernetes / OpenShift.
- Monitoring: Prometheus, Grafana, ELK stack.