Przejdź do treści głównej
Powrót do hubu kwalifikacji INF.04
INF.04Słownik pojęć

Słownik pojęć: Projektowanie, programowanie i testowanie aplikacji

Kluczowe pojęcia z kwalifikacji INF.04 pogrupowane tematycznie — definicje, przykłady i wyjaśnienia przydatne na egzaminie CKE.

Liczba pojęć176 pojęć
Reklama

Algorytmika i Struktury Danych(28)

Algorytm Euklidesa (NWD)

Klasyczny algorytm wyznaczania największego wspólnego dzielnika (NWD) dwóch liczb całkowitych za pomocą operacji reszty z dzielenia (modulo) lub odejmowania.

Zobacz definicję

Algorytmy Najkrótszej Ścieżki w Grafie (Dijkstra, Bellman-Ford)

Algorytmy wyznaczające trasę o najmniejszej sumarycznej wadze krawędzi między wierzchołkami w grafie ważonym (np. algorytm Dijkstry dla wag nieujemnych).

Zobacz definicję

Binarne Drzewo Poszukiwań (BST)

Hierarchiczna struktura danych, w której każdy węzeł ma co najwyżej dwoje dzieci, a wartości w lewym poddrzewie są mniejsze, zaś w prawym większe od węzła.

Zobacz definicję

Kod uzupełnień do dwóch (U2)

Standardowy sposób reprezentacji liczb całkowitych ze znakiem w systemach cyfrowych, gdzie najstarszy bit (MSB) ma ujemną wagę pozycji (-2^(n-1)).

Zobacz definicję

Kolejka FIFO i operacje: Push, Pop, Peek, IsEmpty

Liniowa struktura danych działająca w trybie FIFO (First-In, First-Out), w której nowe elementy dodawane są na końcu, a pobierane z początku, obsługiwana standardowymi metodami.

Zobacz definicję

Lista powiązana (Linked List)

Dynamiczna struktura danych złożona z węzłów (Node), gdzie każdy węzeł zawiera przechowywaną wartość oraz wskaźnik na kolejny element.

Zobacz definicję

Metody Heurystyczne i Problem Komiwojażera (TSP)

Praktyczne podejście algorytmiczne znajdujące wystarczająco dobre (suboptymalne) rozwiązanie w akceptowalnym czasie dla problemów trudnych obliczeniowo (np. problem komiwojażera TSP).

Zobacz definicję

Numer PESEL i Algorytm Weryfikacji

11-cyfrowy identyfikator ewidencji ludności w Polsce, zawierający zakodowaną datę urodzenia, numer serii, oznaczenie płci oraz cyfrę kontrolną obliczaną z wagami modulo 10.

Zobacz definicję

Odwrotna Notacja Polska (ONP / RPN)

Beznawiasowy sposób zapisu wyrażeń arytmetycznych, w którym symbol operatora umieszczany jest po swoich operandach (zapis postfiksowy).

Zobacz definicję

Paradygmat Dziel i Zwyciężaj (Divide and Conquer)

Wiodąca technika projektowania algorytmów polegająca na rekurencyjnym podziale problemu na mniejsze podproblemy tego samego typu, ich rozwiązaniu i scaleniu wyników.

Zobacz definicję

Pojęcie i Cechy Algorytmu

Uporządkowany, skończony i jednoznaczny ciąg instrukcji i kroków postępowania prowadzący do rozwiązania określonego problemu obliczeniowego dla poprawnych danych wejściowych.

Zobacz definicję

Przeszukiwanie grafu: DFS i BFS

Dwa podstawowe algorytmy przeszukiwania grafów: DFS eksploruje ścieżki w głąb przy użyciu stosu/rekurencji, a BFS warstwami przy użyciu kolejki FIFO.

Zobacz definicję

Przeszukiwanie grafów: W głąb (DFS) i Wszerz (BFS)

Fundamentalne algorytmy przechodzenia wierzchołków grafu: DFS eksploruje ścieżkę jak najgłębiej przy użyciu stosu/rekurencji, a BFS bada warstwami sąsiadów przy użyciu kolejki FIFO.

Zobacz definicję

Rekurencja (Recursion)

Technika programistyczna polegająca na wywoływaniu przez funkcję samej siebie w celu rozwiązania mniejszego podproblemu, wymagająca warunku stopu.

Zobacz definicję

Rekurencja (Rekursja)

Technika programistyczna polegająca na bezpośrednim lub pośrednim wywoływaniu funkcji przez samą siebie, wymagająca określonego warunku bazowego (stopu) zapobiegającego przepełnieniu stosu.

Zobacz definicję

Sito Eratostenesa (Liczby pierwsze)

Wydajny algorytm wyznaczania wszystkich liczb pierwszych w przedziale od 2 do n poprzez cykliczne wykreślanie wielokrotności znalezionych liczb pierwszych.

Zobacz definicję

Sortowanie bąbelkowe (Bubble Sort)

Prosty algorytm sortowania o złożoności O(n^2), wielokrotnie porównujący sąsiednie elementy i zamieniający je miejscami, jeśli są w złej kolejności.

Zobacz definicję

Sortowanie przez scalanie (Merge Sort)

Stabilny algorytm sortowania dzielący tablicę na połowy, sortujący je rekurencyjnie i scalający dwa posortowane ciągi w czasie O(n log n).

Zobacz definicję

Sortowanie przez wstawianie (Insertion Sort)

Algorytm sortowania budujący posortowany ciąg element po elemencie poprzez wstawianie każdego nowego elementu na właściwą pozycję.

Zobacz definicję

Sortowanie przez wybieranie (Selection Sort)

Algorytm sortowania polegający na znajdowaniu najmniejszego elementu w nieposortowanej części tablicy i zamianie go z elementem na początku.

Zobacz definicję

Sortowanie przez zliczanie (Counting Sort) i Kubełkowe (Bucket Sort)

Nieporównaniowe algorytmy sortowania o liniowej złożoności czasowej O(n+k), opierające się na zliczaniu wystąpień kluczy lub podziale liczb na kubełki w znanym przedziale.

Zobacz definicję

Sortowanie szybkie (Quicksort)

Wydajny algorytm sortowania oparty na paradygmacie 'dziel i zwyciężaj', wykorzystujący element osiowy (pivot) do partycjonowania tablicy.

Zobacz definicję

Stos (LIFO) i Kolejka (FIFO)

Liniowe struktury danych: Stos działa według zasady LIFO (ostatni wchodzi, pierwszy wychodzi), a Kolejka według FIFO (pierwszy wchodzi, pierwszy wychodzi).

Zobacz definicję

System szesnastkowy (Hexadecimal / HEX)

Pozycyjny system liczbowy o podstawie 16, używający cyfr 0-9 oraz liter A-F (odpowiadających wartościom 10-15), powszechny w adresowaniu pamięci i kolorach RGB.

Zobacz definicję

Tablica asocjacyjna / Słownik (Map & Dictionary)

Abstrakcyjna struktura danych przechowująca pary unikalny klucz-wartość, umożliwiająca natychmiastowe wyszukiwanie, wstawianie i modyfikację w średnim czasie O(1).

Zobacz definicję

Wyszukiwanie binarne (Binary Search)

Algorytm wyszukiwania w posortowanej tablicy o złożoności O(log n), porównujący szukaną wartość ze środkowym elementem i odrzucający połowę zbioru.

Zobacz definicję

Wyszukiwanie liniowe i z wartownikiem (Linear Search)

Podstawowy algorytm przeszukiwania tablicy sprawdzający elementy kolejno od początku do końca o złożoności O(n), nie wymagający posortowania danych.

Zobacz definicję

Złożoność obliczeniowa (Big O Notation)

Formalna miara efektywności algorytmu określająca zapotrzebowanie na czas procesora lub pamięć w funkcji rozmiaru danych wejściowych (n).

Zobacz definicję

Aplikacje Desktopowe (GUI)(5)

Aplikacje Mobilne(10)

.NET MAUI i Aplikacje Wieloplatformowe

Nowoczesny wieloplatformowy framework firmy Microsoft umożliwiający tworzenie natywnych aplikacji na Androida, iOS, macOS i Windows z jednego kodu źródłowego w C#/XAML.

Zobacz definicję

Cykl życia Aktywności (Android Activity Lifecycle)

Zestaw metod wywoływanych przez system Android w trakcie życia ekranu aplikacji (onCreate, onStart, onResume, onPause, onStop, onDestroy).

Zobacz definicję

Framework Xamarin / Xamarin.Forms

Wieloplatformowy framework firmy Microsoft umożliwiający tworzenie natywnych aplikacji na systemy Android, iOS i Windows przy użyciu języka C# i deklaratywnego języka XAML.

Zobacz definicję

Intencja (Intent) w systemie Android

Obiekt komunikacyjny w systemie Android służący do uruchamiania nowych aktywności, serwisów lub wysyłania komunikatów rozgłoszeniowych.

Zobacz definicję

Programowanie Natywne vs Wieloplatformowe

Podejście do tworzenia aplikacji dedykowanych pod jedną konkretną platformę sprzętowo-systemową przy użyciu jej oficjalnych narzędzi i kompilacji do kodu maszynowego lub bajtowego.

Zobacz definicję

SharedPreferences w Androidzie

Wbudowany w system Android prosty magazyn par klucz-wartość (XML) do trwałego przechowywania ustawień użytkownika i stanu aplikacji.

Zobacz definicję

Sklep Google Play (Google Play Store)

Oficjalny sklep z aplikacjami i platforma dystrybucji cyfrowej dla systemu Android, zarządzana przez firmę Google z poziomu panelu Google Play Console.

Zobacz definicję

System operacyjny Android

Mobilny system operacyjny z otwartym kodem źródłowym oparty na jądrze Linuksa, rozwijany przez Google i konsorcjum OHA, przeznaczony na smartfony, tablety i telewizory.

Zobacz definicję

System operacyjny iOS

Zamknięty mobilny system operacyjny firmy Apple dla urządzeń iPhone i iPad, oparty na jądrze Darwin/XNU, z aplikacjami tworzonymi w językach Swift lub Objective-C w środowisku Xcode.

Zobacz definicję

Układy widoków w Androidzie (Layouts)

Kontenery widoków w plikach XML definiujące rozmieszczenie elementów na ekranie smartfona (LinearLayout, ConstraintLayout, RecyclerView).

Zobacz definicję

Aplikacje Webowe (Frontend & Backend)(15)

Aplikacja Jednostronicowa (Single Page Application - SPA)

Aplikacja internetowa ładująca pojedynczy dokument HTML i dynamicznie aktualizująca zawartość strony bez konieczności przeładowywania całego dokumentu.

Zobacz definicję

Architektura REST API i protokół HTTP

Styl architektury oprogramowania oparty na bezstanowym protokole HTTP, operujący na zasobach identyfikowanych przez URI za pomocą metod GET, POST, PUT, DELETE.

Zobacz definicję

Biblioteka JavaScript jQuery

Popularna biblioteka języka JavaScript ułatwiająca manipulację drzewem DOM, obsługę zdarzeń, animacje oraz asynchroniczne żądania AJAX przy użyciu selektorów CSS i symbolu $.

Zobacz definicję

Biblioteka React (React.js)

Deklaratywna biblioteka języka JavaScript stworzona przez firmę Meta, służąca do budowy interfejsów użytkownika w aplikacjach Single Page Application (SPA) w oparciu o komponenty i Virtual DOM.

Zobacz definicję

Format JSON (JavaScript Object Notation)

Lekki, tekstowy format wymiany danych oparty na podzbiorze składni języka JavaScript, niezależny od języka programowania i czytelny dla człowieka.

Zobacz definicję

Format wymiany danych JSON

Lekki, tekstowy format wymiany danych oparty na notacji obiektów JavaScript, powszechnie stosowany w komunikacji REST API i plikach konfiguracyjnych.

Zobacz definicję

Framework Angular

Kompletny, oparty na języku TypeScript framework frontendowy rozwijany przez firmę Google, przeznaczony do budowy skalowalnych aplikacji SPA w architekturze komponentowej.

Zobacz definicję

Framework CSS Bootstrap

Popularny framework CSS ułatwiający tworzenie responsywnych stron internetowych (RWD) w oparciu o 12-kolumnowy system siatki (Grid System) i gotowe komponenty.

Zobacz definicję

Framework PHP Symfony

Wiodący obiektowy framework języka PHP oparty na wzorcu MVC i architekturze modułowej, wykorzystujący system szablonów Twig oraz mapowanie obiektowo-relacyjne Doctrine ORM.

Zobacz definicję

Mechanizmy Sesji i Ciasteczek (Sessions & Cookies)

Mechanizmy podtrzymywania stanu w bezstanowym protokole HTTP: Ciasteczka przechowywane są w przeglądarce klienta, a Sesje po stronie serwera.

Zobacz definicję

Metoda HTTP POST (Żądania Web)

Metoda protokołu HTTP służąca do przesyłania danych z formularzy lub zapytań API w ciele żądania (Request Body) w celu utworzenia lub przetworzenia zasobu na serwerze.

Zobacz definicję

Model barw RGB (Red, Green, Blue)

Addytywny model przestrzeni barw, w którym kolory powstają przez nakładanie wiązek światła o trzech składowych: czerwonej (R), zielonej (G) i niebieskiej (B) w zakresie 0-255.

Zobacz definicję

Semantyczny kod HTML5

Stosowanie znaczników HTML5 jednoznacznie opisujących znaczenie i rolę elementu w strukturze strony (np. header, nav, main, article, section, footer).

Zobacz definicję

Technologie i Architektura aplikacji WEB

Zbiór technologii, standardów i protokołów (HTML5, CSS3, JS, HTTP/HTTPS, REST API, WebSocket) tworzących nowoczesne aplikacje działające w architekturze klient-serwer.

Zobacz definicję

Wzorzec MVC (Model-View-Controller)

Wzorzec architektoniczny dzielący aplikację na trzy niezależne warstwy: Model (dane i logika biznesowa), Widok (interfejs użytkownika) oraz Kontroler (obsługa żądań i sterowanie).

Zobacz definicję

Bazy Danych i Zarządzanie Danymi (SQL & ORM)(10)

Funkcje agregujące w SQL (COUNT, SUM, AVG, MIN, MAX)

Standardowe funkcje języka SQL wykonujące obliczenia na zbiorze wartości kolumny i zwracające pojedynczą wartość podsumowującą.

Zobacz definicję

Indeksy w bazach danych (B-Tree Index)

Struktura danych (zazwyczaj B-drzewo) drastycznie przyspieszająca operacje wyszukiwania i sortowania SELECT kosztem dłuższego czasu operacji zapisu INSERT/UPDATE.

Zobacz definicję

Klauzule DISTINCT, ORDER BY i LIMIT w SQL

DISTINCT eliminuje duplikaty w wynikach, ORDER BY sortuje wiersze rosnąco (ASC) lub malejąco (DESC), a LIMIT / TOP ogranicza liczbę zwracanych rekordów.

Zobacz definicję

Klauzule GROUP BY i HAVING w SQL

GROUP BY grupuje wiersze o identycznych wartościach w celu wykonania agregacji, a HAVING filtruje zagregowane grupy (w przeciwieństwie do WHERE filtrującego pojedyncze wiersze).

Zobacz definicję

Klucz główny (Primary Key) i Klucz obcy (Foreign Key)

Podstawa relacyjnych baz danych: Klucz główny jednoznacznie identyfikuje rekord w tabeli (UNIQUE + NOT NULL), a Klucz obcy wskazuje na klucz główny innej tabeli.

Zobacz definicję

Mapowanie Obiektowo-Relacyjne (ORM)

Technologia programistyczna automatycznie odwzorowująca tabele relacyjnej bazy danych na klasy obiektowe w kodzie aplikacji (np. Entity Framework w .NET, Hibernate w Javie).

Zobacz definicję

Normalizacja bazy danych (1NF, 2NF, 3NF)

Proces projektowania relacyjnej bazy danych eliminujący redundancję (nadmiarowość) danych oraz anomalie przy wstawianiu, aktualizacji i usuwaniu rekordów.

Zobacz definicję

Polecenia SQL: DDL, DML i DQL

Strukturalny język zapytań podzielony na podzbiory: DDL (definicja struktur), DML (modyfikacja danych), DQL (odpytywanie) oraz DCL/TCL (uprawnienia i transakcje).

Zobacz definicję

Transakcje i Właściwości ACID

Cechy gwarantujące niezawodne przetwarzanie operacji w bazach danych: Atomicity (Wszystko albo nic), Consistency (Spójność), Isolation (Izolacja) oraz Durability (Trwałość).

Zobacz definicję

Złączenia tabel w SQL (JOIN)

Operacje łączące wiersze z dwóch lub więcej tabel na podstawie powiązanych kolumn (klucz obcy -> klucz główny).

Zobacz definicję

Inżynieria Oprogramowania, Bezpieczeństwo i BHP(52)

Ataki XSS i CSRF

Ataki webowe: XSS wstrzykuje złośliwy skrypt JavaScript uruchamiany w przeglądarce ofiary, a CSRF wymusza wykonanie nieautoryzowanej akcji w imieniu zalogowanego użytkownika.

Zobacz definicję

Bezpieczne przechowywanie haseł (Haszowanie i Sól)

Standard bezpieczeństwa zakazujący przechowywania haseł jawnym tekstem; hasła są haszowane funkcją kryptograficzną z unikalną losową solą (Salt).

Zobacz definicję

BHP i Ergonomia Stanowiska Komputerowego

Zasady bezpiecznej i ergonomicznej pracy przy komputerze: odległość oczu od ekranu (40-75 cm), kąt obserwacji oraz obowiązkowe 5 minut przerwy po każdej godzinie pracy.

Zobacz definicję

Cofanie zmian: git reset, git revert i git status

Narzędzia inspekcji i cofania: git status pokazuje stan plików, git reset cofa wskaźnik HEAD (z flagami --soft, --mixed, --hard), a git revert tworzy nowy commit odwracający błędy.

Zobacz definicję

Cykl życia oprogramowania: Kaskadowy, Spiralny, Fry'ego

Modele inżynierii oprogramowania (SDLC) opisujące etapy tworzenia systemów IT: od analizy wymagań, przez projektowanie, implementację, testy, aż po wdrożenie i utrzymanie.

Zobacz definicję

Diagram Gantta

Graficzne narzędzie zarządzania projektami przedstawiające harmonogram zadań w postaci poziomych pasków na osi czasu z uwzględnieniem zależności i kamieni milowych.

Zobacz definicję

Drukarka (Urządzenie wyjściowe)

Peryferyjne urządzenie wyjściowe komputera przenoszące cyfrowy tekst i grafikę na fizyczny nośnik (papier, etykiety, folie).

Zobacz definicję

Dysk HDD (Hard Disk Drive)

Magnetyczny dysk twardy wykorzystujący wirujące talerze magnetyczne i ruchome głowice elektromagnetyczne do trwałego zapisu i odczytu danych.

Zobacz definicję

Dysk SSD (Solid-State Drive)

Półprzewodnikowy nośnik pamięci masowej oparty na kościach pamięci Flash NAND, cechujący się bardzo krótkim czasem dostępu i brakiem ruchomych części mechanicznych.

Zobacz definicję

Dysk twardy i Pamięć masowa

Urządzenia i nośniki przeznaczone do trwałego, nieulotnego przechowywania dużych zbiorów danych, systemów operacyjnych i programów użytkowych.

Zobacz definicję

Framework testowy Jasmine (JavaScript BDD)

Framework do testowania jednostkowego kodu JavaScript w metodyce BDD (Behavior-Driven Development), niewymagający przeglądarki ani bibliotek zewnętrznych.

Zobacz definicję

Funkcja skrótu MD5 (Message-Digest Algorithm 5)

Kryptograficzna funkcja haszująca generująca 128-bitowy skrót (32 znaki HEX); podatna na kolizje, obecnie stosowana głównie do weryfikacji integralności plików.

Zobacz definicję

Gałęzie i scalanie: git branch, git checkout i git merge

Zarządzanie równoległymi liniami rozwoju: git branch tworzy gałęzie, git checkout/switch przełącza aktywną gałąź, a git merge łączy zmiany z innej gałęzi.

Zobacz definicję

Ignorowanie plików i Historia: .gitignore i git log

Plik .gitignore definiuje wzorce plików i katalogów pomijanych przez Git (np. /bin, node_modules), a git log wyświetla pełną historię zatwierdzonych rewizji.

Zobacz definicję

Jednostki pamięci: Bit, Bajt, KB, MB, GB, TB

Hierarchia jednostek określających ilość informacji i pojemność nośników danych w systemie binarnym (mnożnik 1024) oraz dziesiętnym (mnożnik 1000).

Zobacz definicję

Karta graficzna (GPU - Graphics Processing Unit)

Dedykowana karta rozszerzeń i procesor graficzny (GPU) wyposażony we własną pamięć VRAM, odpowiedzialny za renderowanie grafiki 2D/3D oraz obliczenia równoległe.

Zobacz definicję

Kryptografia asymetryczna RSA

Powszechny algorytm kryptografii z kluczem publicznym (asymetryczny), oparty na matematycznej trudności faktoryzacji iloczynu dwóch dużych liczb pierwszych.

Zobacz definicję

Kryptografia: Szyfrowanie Symetryczne i Asymetryczne

Dziedzina ochrony danych: Szyfrowanie symetryczne (np. AES) używa jednego wspólnego klucza, a asymetryczne (np. RSA) pary klucz publiczny / klucz prywatny.

Zobacz definicję

Magistrala systemowa (System Bus)

Zespół linii transmisyjnych łączący procesor z pamięcią operacyjną i urządzeniami wejścia-wyjścia, podzielony na magistralę danych, adresową i sterującą.

Zobacz definicję

Metodyka RAD (Rapid Application Development)

Zwinna metodyka wytwarzania oprogramowania kładąca główny nacisk na błyskawiczne prototypowanie, iteracyjny rozwój i ścisłą współpracę z użytkownikiem zamiast żmudnego planowania.

Zobacz definicję

Metodyka Scrum i Podejście Agile

Zwinna (Agile) metodyka wytwarzania oprogramowania oparta na iteracyjnych cyklach (Sprintach trwających 1-4 tygodnie) i samoorganizujących się zespołach.

Zobacz definicję

Model Kaskadowy (Waterfall)

Sekwencyjny model wytwarzania oprogramowania, w którym każda kolejna faza (Wymagania -> Projekt -> Implementacja -> Testy -> Wdrożenie) rozpoczyna się dopiero po całkowitym zakończeniu poprzedniej.

Zobacz definicję

Narzędzia programistyczne: Kompilator, Interpreter, Debuger

Fundamentalne narzędzia wytwarzania oprogramowania: kompilator przekształca cały kod w plik binarny, interpreter wykonuje kod linia po linii, a debugger pozwala śledzić błędy w czasie działania.

Zobacz definicję

Ochrona przeciwporażeniowa i Bezpieczeństwo elektryczne

Środki techniczne chroniące przed porażeniem prądem i pożarem w pracowni informatycznej: wyłączniki RCD (30 mA), uziemienie PE oraz gaśnice śniegowe CO2 do urządzeń pod napięciem.

Zobacz definicję

Okna dialogowe: Modalne vs Niemodalne

Typy okien dialogowych w GUI: okno modalne blokuje interakcję z oknem nadrzędnym do momentu jego zamknięcia (np. ShowDialog()), a okno niemodalne pozwala na równoległą pracę w obu oknach (Show()).

Zobacz definicję

Pamięć RAM (Random Access Memory)

Pamięć operacyjna o dostępie swobodnym, przechowująca aktualnie uruchomione programy i ich dane robocze; jest pamięcią ulotną, która traci zawartość po odłączeniu zasilania.

Zobacz definicję

Pamięć USB Flash (Pendrive)

Przenośny nośnik pamięci masowej oparty na kościach pamięci Flash EEPROM, podłączany do portu USB i obsługujący technologię Plug and Play.

Zobacz definicję

Podatność Path Traversal (Directory Traversal)

Krytyczna luka bezpieczeństwa polegająca na braku walidacji ścieżki pliku (np. sekwencji '../'), pozwalająca atakującemu odczytać lub nadpisać poufne pliki systemowe poza katalogiem głównym aplikacji.

Zobacz definicję

Pojęcie Frameworku (Inversion of Control)

Rozbudowany szkielet programistyczny definiujący architekturę i przepływ sterowania aplikacji (Inversion of Control - framework wywołuje kod programisty, a nie odwrotnie).

Zobacz definicję

Porty sieciowe (TCP/UDP)

16-bitowe liczby całkowite (0-65535) w warstwie transportowej (TCP/UDP), służące do identyfikacji i rozróżniania procesów i usług sieciowych na pojedynczym hoście.

Zobacz definicję

Prawa autorskie i Licencje oprogramowania

Przepisy prawne chroniące kod źródłowy i programy komputerowe jak utwory literackie, dzielące się na niezbywalne prawa osobiste i zbywalne prawa majątkowe, regulowane licencjami.

Zobacz definicję

Prawo autorskie i Licencje oprogramowania

Zasady prawne chroniące twórców oprogramowania: Autorskie prawa osobiste (niezbywalne) i majątkowe oraz warunki licencji (własnościowych i Open Source).

Zobacz definicję

Procesor (CPU - Central Processing Unit)

Główny układ scalony i jednostka centralna komputera, odpowiedzialna za pobieranie, dekodowanie i wykonywanie instrukcji programowych oraz sterowanie pracą pozostałych podzespołów.

Zobacz definicję

Protokół SSH (Secure Shell)

Zaszyfrowany protokół sieciowy działający na porcie 22 TCP, służący do bezpiecznego zdalnego logowania do konsoli serwera i wykonywania poleceń.

Zobacz definicję

Resuscytacja Krążeniowo-Oddechowa (RKO)

Zespół czynności ratujących życie przy nagłym zatrzymaniu krążenia: sekwencja 30 uciśnięć klatki piersiowej na głębokość 5-6 cm i 2 wdechy ratownicze (30:2) w tempie 100-120/min.

Zobacz definicję

RODO i Ochrona Danych Osobowych

Ogólne rozporządzenie UE o ochronie danych osobowych nakładające obowiązki na administratorów danych i gwarantujące prawa użytkownikom.

Zobacz definicję

Rodzaje testów: Jednostkowe, Wydajnościowe, Kompatybilności, Wdrożeniowe

Klasyfikacja poziomów i typów testów oprogramowania sprawdzających poprawność logiki, stabilność pod obciążeniem, zgodność z platformami sprzętowymi oraz gotowość produkcyjną.

Zobacz definicję

Standard dostępności cyfrowej WCAG

Zbiór międzynarodowych wytycznych (Web Content Accessibility Guidelines) określających zasady projektowania stron i aplikacji dostępnych dla osób z niepełnosprawnościami.

Zobacz definicję

Synchronizacja z serwerem: git push, git pull i git fetch

git push wysyła lokalne commity na serwer zdalny, git fetch pobiera informacje o zmianach, a git pull pobiera i natychmiast scala je z lokalną gałęzią.

Zobacz definicję

System kontroli wersji Git (VCS)

Rozproszony system kontroli wersji śledzący zmiany w plikach źródłowych i ułatwiający zespołową pracę programistów nad projektem.

Zobacz definicję

Systemy śledzenia błędów: Jira i Bugzilla

Specjalistyczne systemy typu Bug Tracker / Issue Tracker służące do ewidencji, zgłaszania, kategoryzacji, przydzielania i monitorowania cyklu życia błędów oraz zadań programistycznych.

Zobacz definicję

Szyfrowanie symetryczne AES (Rijndael)

Współczesny światowy standard symetrycznego szyfrowania blokowego o wielkości bloku 128 bitów i długości klucza 128, 192 lub 256 bitów, powszechnie stosowany w HTTPS, Wi-Fi i dyskach.

Zobacz definicję

Szyfrowanie symetryczne DES i 3DES

Klasyczny symetryczny szyfr blokowy o 56-bitowym kluczu efektywnym, obecnie uznany za przestarzały i podatny na atak siłowy (brute-force); zastąpiony przez standard AES.

Zobacz definicję

Technologia WPF (Windows Presentation Foundation)

Podsystem graficzny środowiska .NET służący do tworzenia aplikacji desktopowych dla systemu Windows z interfejsem definiowanym deklaratywnie w języku XAML i logiką w C#.

Zobacz definicję

Tworzenie repozytoriów Git: git init i git clone

Polecenia tworzące repozytorium: git init inicjalizuje nowe puste repozytorium lokalne (.git), a git clone pobiera pełną kopię zdalnego repozytorium na komputer.

Zobacz definicję

Uwierzytelnianie (Authentication) vs Autoryzacja (Authorization)

Dwa filary bezpieczeństwa: Uwierzytelnianie weryfikuje tożsamość użytkownika (Kim jesteś?), a Autoryzacja sprawdza jego uprawnienia (Co możesz zrobić?).

Zobacz definicję

Wirus komputerowy i Szkodliwe Oprogramowanie

Złośliwy program komputerowy zdolny do samoczynnego powielania się (samoreplikacji) i dołączania swojego kodu do innych plików wykonywalnych, niosący szkodliwy ładunek (payload).

Zobacz definicję

Wstrzykiwanie SQL (SQL Injection)

Krytyczna luka bezpieczeństwa polegająca na wstrzyknięciu złośliwego fragmentu kodu SQL do zapytania przez niezwalidowane pole formularza użytkownika.

Zobacz definicję

Zatwierdzanie zmian w Git: git add i git commit

git add dodaje pliki do poczekalni (staging area), a git commit -m 'opis' trwale zatwierdza przygotowane zmiany w historii lokalnego repozytorium.

Zobacz definicję

Zintegrowane Środowisko Programistyczne (IDE)

Kompleksowy pakiet oprogramowania łączący w jednym programie zaawansowany edytor kodu, kompilator/interpreter, debugger oraz narzędzia do automatyzacji budowania projektu.

Zobacz definicję

Złośliwe oprogramowanie Keylogger

Złośliwe oprogramowanie lub urządzenie sprzętowe działające w tle, rejestrujące naciśnięcia klawiszy użytkownika w celu przechwycenia haseł, loginów i danych kart płatniczych.

Zobacz definicję

Złośliwe oprogramowanie Rootkit

Zaawansowane złośliwe oprogramowanie zaprojektowane w celu uzyskania uprawnień administratora (root) oraz aktywnego ukrywania swojej obecności i innych procesów przed systemem i antywirusami.

Zobacz definicję

Języki i Składnia Programowania(24)

Bajt (Byte – 8 bitów)

Podstawowa jednostka pamięci cyfrowej złożona z 8 bitów, mogąca przyjąć jedną z 256 unikalnych kombinacji (wartości od 0 do 255 bez znaku lub od -128 do 127 ze znakiem).

Zobacz definicję

Delegaty i Zdarzenia w C#

Delegat to bezpieczny typowo wskaźnik na metodę, a Zdarzenie (event) to mechanizm powiadamiania subskrybentów o zajściu określonej akcji.

Zobacz definicję

Funkcje, Metody i Przekazywanie Parametrów

Wydzielone, nazwane bloki kodu realizujące określone zadanie, przyjmujące parametry wejściowe i opcjonalnie zwracające wartość wyniku za pomocą instrukcji return.

Zobacz definicję

Garbage Collector (Odśmiecacz pamięci)

Moduł środowiska uruchomieniowego (.NET CLR, Java JVM) automatycznie monitorujący stertę i zwalniający pamięć zajmowaną przez obiekty, do których nie ma referencji.

Zobacz definicję

Instrukcje w językach programowania

Podstawowe elementy składniowe języka programowania nakazujące procesorowi wykonanie określonej czynności: deklaracji, przypisania, rozgałęzienia lub powtórzenia.

Zobacz definicję

Inteligentne Wskaźniki w C++ (Smart Pointers)

Klasy szablonowe w C++11 zarządzające cyklem życia pamięci dynamicznej zgodnie z paradygmatem RAII, zapobiegające wyciekom pamięci bez ręcznego 'delete'.

Zobacz definicję

Język PostScript (PDL)

Stosowy, wektorowy język programowania i format opisu strony (PDL) stworzony przez firmę Adobe, interpretowany bezpośrednio przez procesor rastrowy (RIP) w drukarkach.

Zobacz definicję

Język programowania C# (.NET)

Wieloparadygmatowy, obiektowy język programowania stworzony przez firmę Microsoft dla platformy .NET, cechujący się silnym typowaniem, automatycznym odśmiecaniem pamięci (GC) i bogatą składnią.

Zobacz definicję

Język programowania C++

Wieloparadygmatowy, kompilowany bezpośrednio do kodu maszynowego język programowania ogólnego przeznaczenia, oferujący bezpośrednie zarządzanie pamięcią i najwyższą wydajność.

Zobacz definicję

Język programowania Java

W pełni obiektowy język programowania kompilowany do kodu bajtowego (bytecode), wykonywanego przez Wirtualną Maszynę Javy (JVM) zgodnie z regułą WORA ('Napisz raz, uruchamiaj wszędzie').

Zobacz definicję

Język programowania PHP

Interpretowany, skryptowy język programowania wykonywany po stronie serwera (Server-Side), stworzony głównie do dynamicznego generowania stron internetowych i integracji z bazami danych SQL.

Zobacz definicję

Język programowania Python

Wysokopoziomowy język programowania ogólnego przeznaczenia o dynamicznym typowaniu i czytelnej składni opartej na wcięciach blokowych, wykonywany przez interpreter.

Zobacz definicję

Język TypeScript

Język programowania opracowany przez Microsoft, stanowiący ścisły nadzbiór JavaScriptu, wzbogacający go o opcjonalne statyczne typowanie, interfejsy i typy generyczne.

Zobacz definicję

Komentarze w językach programowania

Niewykonywane fragmenty kodu źródłowego ignorowane przez kompilator i interpreter, służące do opisu działania programu, dokumentacji API lub tymczasowego wyłączania instrukcji.

Zobacz definicję

LINQ (Language Integrated Query) w C#

Zestaw rozszerzeń języka C# umożliwiający jednolite, deklaratywne przeszukiwanie i przetwarzanie kolekcji obiektów, baz danych (EF) i dokumentów XML.

Zobacz definicję

Niezmienność String i Klasa StringBuilder

Obiekty typu string są niezmienne (immutable). Klasa StringBuilder służy do wydajnego łączenia i modyfikowania tekstu w pętlach bez alokowania setek zbędnych obiektów.

Zobacz definicję

Obsługa wyjątków: try, catch, throw, finally

Mechanizm sterowania przepływem programu w sytuacjach awaryjnych (błędach czasu wykonania) przy użyciu bloków try, catch (przechwytywanie), throw (rzucanie) i finally (zwalnianie zasobów).

Zobacz definicję

Pakowanie i rozpakowywanie (Boxing & Unboxing)

Boxing to konwersja typu wartościowego (np. int, struct) na typ referencyjny (object na stercie), a Unboxing to odwrotna konwersja z rzutowaniem.

Zobacz definicję

Podstawowe Typy Danych: int, float, char, bool

Wbudowane w język programowania elementarne typy danych (całkowite, zmiennoprzecinkowe, znakowe i logiczne) określające format pamięci i dozwolone operacje.

Zobacz definicję

Podstawowe typy i struktury w Pythonie

Podstawowe kolekcje Pythona: Listy [mutowalne], Krotki (niemutowalne), Słowniki {klucz: wartość} oraz Zbiory set() o unikalnych elementach.

Zobacz definicję

Wielowątkowość i Programowanie Asynchroniczne (async/await)

Równoległe lub asynchroniczne wykonywanie kodu: Wątki (Thread) wykorzystują wielordzeniowość CPU, a słowa async/await zapobiegają blokowaniu interfejsu GUI podczas operacji We/Wy.

Zobacz definicję

Wskaźnik i Referencja w C++

Wskaźnik przechowuje adres w pamięci operacyjnej (*ptr), a referencja stanowi bezpieczny alias (drugą nazwę) dla istniejącej zmiennej (&ref).

Zobacz definicję

Wskaźnik i Zarządzanie Pamięcią (Pointers)

Zmienna przechowująca adres innej komórki pamięci RAM zamiast bezpośredniej wartości, operująca za pomocą operatora pobrania adresu (&) i dereferencji (*).

Zobacz definicję

Zmienne i Stałe w programowaniu

Nazwane obszary pamięci operacyjnej przechowujące dane robocze programu; zmienne pozwalają na modyfikację wartości podczas działania, podczas gdy stałe mają wartość niezmienną.

Zobacz definicję

Programowanie Obiektowe i Paradygmaty (OOP)(24)

Dziedziczenie (Inheritance w OOP)

Mechanizm programowania obiektowego pozwalający klasie pochodnej (podrzędnej) na przejęcie pól i metod z klasy bazowej (nadrzędnej) oraz ich rozszerzenie lub modyfikację.

Zobacz definicję

Dziedziczenie (Inheritance)

Mechanizm OOP umożliwiający klasie pochodnej przejęcie pól i metod klasy bazowej oraz ich rozszerzenie lub modyfikację (relacja 'jest rodzajem').

Zobacz definicję

Hermetyzacja (Enkapsulacja w OOP)

Jeden z fundamentalnych filarów programowania obiektowego, polegający na ukrywaniu wewnętrznego stanu obiektu (pól prywatnych) i udostępnianiu kontrolowanego dostępu przez publiczne metody/właściwości.

Zobacz definicję

Hermetyzacja / Enkapsulacja (Encapsulation)

Filar OOP polegający na ukrywaniu wewnętrznego stanu obiektu przed bezpośrednim dostępem z zewnątrz i udostępnianiu kontrolowanych metod (getterów/setterów).

Zobacz definicję

Interfejs (Interface)

Czysty kontrakt określający zestaw sygnatur metod i właściwości bez pól stanu, który klasa implementująca musi w całości zrealizować.

Zobacz definicję

Klasa abstrakcyjna (Abstract Class)

Klasa bazowa, z której nie można bezpośrednio utworzyć obiektu, służąca jako wzorzec dla klas pochodnych i mogąca zawierać metody abstrakcyjne oraz zaimplementowane.

Zobacz definicję

Klasa i Obiekt (Class & Object)

Podstawowe pojęcia OOP: Klasa to szablon/definicja pól i metod, a Obiekt to konkretna instancja powołana w pamięci operacyjnej.

Zobacz definicję

Konstruktor i Destruktor

Specjalne metody klasy: Konstruktor inicjalizuje stan nowo tworzonego obiektu, a Destruktor zwalnia zasoby przed jego usunięciem.

Zobacz definicję

Konstruktor kopiujący i Kopiowanie obiektów

Konstruktor tworzący nowy obiekt jako kopię istniejącego. Płytka kopia kopiuje wskaźniki/referencje, a głęboka alokuje nowe niezależne zasoby.

Zobacz definicję

Modyfikatory dostępu (Access Modifiers)

Słowa kluczowe definiujące widoczność i zakres dostępności składowych klasy (pól, metod, właściwości).

Zobacz definicję

Obsługa wyjątków (Exception Handling)

Mechanizm kontrolowanego wychwytywania i reagowania na błędy wykonania programu przy użyciu bloków try, catch, finally oraz instrukcji throw.

Zobacz definicję

Polimorfizm (Polymorphism)

Zdolność obiektów różnych klas powiązanych hierarchią dziedziczenia do reagowania na to samo wywołanie metody w specyficzny dla siebie sposób.

Zobacz definicję

Polimorfizm (Wielopostaciowość w OOP)

Cecha programowania obiektowego pozwalająca na jednakowe traktowanie obiektów różnych klas pochodnych za pośrednictwem wspólnego interfejsu lub klasy bazowej z różną implementacją zachowań.

Zobacz definicję

Szablony w C++ i Typy Generyczne (Generics)

Mechanizm parametryzacji typem w C++, C# i Javie, zapewniający bezpieczeństwo typów w czasie kompilacji oraz eliminujący kosztowne rzutowanie i boxing/unboxing.

Zobacz definicję

Wzorce projektowe (Design Patterns GoF)

Sprawdzone, uniwersalne i wielokrotnie wykorzystywane schematy rozwiązań typowych, powtarzających się problemów architektonicznych w programowaniu obiektowym.

Zobacz definicję

Wzorzec Adapter (Adapter Pattern)

Strukturalny wzorzec projektowy umożliwiający współpracę klasom o niekompatybilnych interfejsach poprzez przekształcenie interfejsu jednej klasy na oczekiwany przez klienta.

Zobacz definicję

Wzorzec Budowniczy (Builder Pattern)

Kreacyjny wzorzec projektowy oddzielający konstrukcję złożonego obiektu od jego reprezentacji, pozwalający na etapowe konfigurowanie parametrów (Fluent API).

Zobacz definicję

Wzorzec Dekorator (Decorator Pattern)

Strukturalny wzorzec projektowy pozwalający na dynamiczne dodawanie nowych odpowiedzialności i zachowań do istniejącego obiektu bez modyfikowania jego kodu źródłowego.

Zobacz definicję

Wzorzec Fabryka (Factory Pattern)

Kreacyjny wzorzec projektowy delegujący proces tworzenia obiektów do wyspecjalizowanej metody lub klasy fabrycznej na podstawie przekazanych parametrów.

Zobacz definicję

Wzorzec Fasada (Facade Pattern)

Strukturalny wzorzec projektowy udostępniający uproszczony, jednolity interfejs wysokiego poziomu do złożonego podsystemu wielu klas i bibliotek.

Zobacz definicję

Wzorzec Obserwator (Observer Pattern)

Czynnościowy wzorzec projektowy definiujący zależność jeden-do-wielu: gdy stan obiektu obserwowanego (Subject) ulega zmianie, wszyscy zarejestrowani obserwatorzy są automatycznie powiadamiani.

Zobacz definicję

Wzorzec Singleton (Singleton Pattern)

Kreacyjny wzorzec projektowy gwarantujący, że klasa ma tylko jedną instancję w całej aplikacji oraz zapewniający do niej globalny punkt dostępu.

Zobacz definicję

Wzorzec Strategia (Strategy Pattern)

Czynnościowy wzorzec projektowy definiujący rodzinę wymiennych algorytmów, zamykający każdy z nich w osobnej klasie i umożliwiający ich zamianę w czasie działania programu.

Zobacz definicję

Zasady SOLID

Pięć fundamentalnych zasad projektowania obiektowego: SRP, OCP, LSP, ISP oraz DIP, zwiększających czytelność, elastyczność i łatwość utrzymania kodu.

Zobacz definicję

Testowanie, Jakość i Dokumentacja Oprogramowania(8)

Asercje i Frameworki Testowe (Assert)

Instrukcje sprawdzające warunki logiczne w testach jednostkowych (np. NUnit, JUnit, xUnit), których niespełnienie powoduje zgłoszenie błędu testu.

Zobacz definicję

Atrapy i Zaślepki w testach (Mocks & Stubs)

Obiekty zastępcze (Test Doubles) symulujące zachowanie rzeczywistych zależności (np. bazy danych, zewnętrznego API), umożliwiające pełną izolację testów jednostkowych.

Zobacz definicję

Diagramy UML (Unified Modeling Language)

Znormalizowany język modelowania graficznego używany do specyfikowania, wizualizowania i dokumentowania architektury systemów oprogramowania.

Zobacz definicję

Poziomy testowania oprogramowania

Hierarchia poziomów weryfikacji oprogramowania: Testy jednostkowe -> Testy integracyjne (współpraca modułów) -> Testy systemowe (cała aplikacja) -> Testy akceptacyjne (UAT).

Zobacz definicję

Raportowanie Błędów i Defektów (Bug Tracking)

Proces rejestracji defektów w systemach śledzenia (Jira, Bugzilla, Redmine) zawierający kroki do odtworzenia, rezultat oczekiwany vs faktyczny oraz ocenę wagi (Severity) i priorytetu (Priority).

Zobacz definicję

Test-Driven Development (TDD)

Metodyka wytwarzania oprogramowania, w której programista najpierw pisze test jednostkowy (który nie przechodzi), następnie kod spełniający test, a na końcu refaktoryzuje rozwiązanie.

Zobacz definicję

Testowanie Black-box i White-box

Dwa główne podejścia do testowania: Testy czarnoskrzynkowe weryfikują działanie wg specyfikacji bez wglądu w kod, a białoskrzynkowe badają wewnętrzną strukturę kodu i ścieżki wykonania.

Zobacz definicję

Testy jednostkowe (Unit Tests)

Zautomatyzowane testy weryfikujące poprawność działania najmniejszych izolowanych fragmentów kodu (pojedynczych metod lub klas) w oparciu o wzorzec AAA.

Zobacz definicję